diff --git a/CHANGELOG b/CHANGELOG index bfd4b2045..ca1a4d85d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,11 +1,17 @@ -------------------------------------------------------------------------------- Changes in version 4.2.0 -------------------------------------------------------------------------------- +- sqlite3 database can be updated +- use awesome font for icons +- currently logged in user can be changed temporarily if being admin - count documents/folders recursively for output in folder list (Bug #43) - remove multiple log files at once (Bug #35) - return to same tab on LogManagement page as before removing a log file (Bug #30) - new bootstrap datepicker with localization (Bug #36) +- users can be assigned to a group when edited or added (Bug #39) +- place a message on ViewDocument page if the document needs an action + in the workflow (Bug #4) -------------------------------------------------------------------------------- Changes in version 4.1.3 diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 572eb8540..5a8c8abf0 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -243,7 +243,7 @@ class SeedDMS_Core_DMS { $this->convertFileTypes = array(); $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '4.1.3'; + $this->version = '4.2.0'; } /* }}} */ function getDB() { /* {{{ */ diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index f50d78cbf..65d36b083 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -3610,6 +3610,31 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return $workflowlog; } /* }}} */ + /** + * Check if the document content needs an action by a user + * + * This method will return true if document content is in a transition + * which can be triggered by the given user. + * + * @param SeedDMS_Core_User $user + * @return boolean true is action is needed + */ + function needsWorkflowAction($user) { /* {{{ */ + $needwkflaction = false; + if($this->_workflow) { + if (!$this->_workflowState) + $this->getWorkflowState(); + $workflowstate = $this->_workflowState; + $transitions = $this->_workflow->getNextTransitions($workflowstate); + foreach($transitions as $transition) { + if($this->triggerWorkflowTransitionIsAllowed($user, $transition)) { + $needwkflaction = true; + } + } + } + return $needwkflaction; + } /* }}} */ + } /* }}} */ diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index b1abfc574..818489229 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,8 +12,8 @@ uwe@steinmann.cx yes - 2013-04-16 - + 2013-04-22 + 4.2.0 4.2.0 diff --git a/inc/inc.Authentication.php b/inc/inc.Authentication.php index eaffe5402..d72572c4c 100644 --- a/inc/inc.Authentication.php +++ b/inc/inc.Authentication.php @@ -36,6 +36,11 @@ if(!$resArr = $session->load($dms_session)) { /* Load user data */ $user = $dms->getUser($resArr["userID"]); +if($user->isAdmin()) { + if($resArr["su"]) { + $user = $dms->getUser($resArr["su"]); + } +} if (!is_object($user)) { setcookie("mydms_session", $dms_session, time()-3600, $settings->_httpRoot); //delete cookie header("Location: " . $settings->_httpRoot . "out/out.Login.php?referuri=".$refer); diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index 394c5cca4..03542d798 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -77,7 +77,7 @@ class SeedDMS_Session { if (!$this->db->getResult($queryStr)) return false; $this->id = $id; - $this->data = array('userid'=>$resArr[0]['userID'], 'theme'=>$resArr[0]['theme'], 'lang'=>$resArr[0]['language'], 'id'=>$resArr[0]['id'], 'lastaccess'=>$resArr[0]['lastAccess'], 'flashmsg'=>''); + $this->data = array('userid'=>$resArr[0]['userID'], 'theme'=>$resArr[0]['theme'], 'lang'=>$resArr[0]['language'], 'id'=>$resArr[0]['id'], 'lastaccess'=>$resArr[0]['lastAccess'], 'flashmsg'=>'', 'su'=>$resArr[0]['su']); if($resArr[0]['clipboard']) $this->data['clipboard'] = json_decode($resArr[0]['clipboard'], true); else @@ -89,15 +89,15 @@ class SeedDMS_Session { * Create a new session and saving the given data into the database * * @param array $data data saved in session (the only fields supported - * are userid, theme, language) + * are userid, theme, language, su) * @return string/boolean id of session of false in case of an error */ function create($data) { /* {{{ */ $id = "" . rand() . time() . rand() . ""; $id = md5($id); $lastaccess = time(); - $queryStr = "INSERT INTO tblSessions (id, userID, lastAccess, theme, language) ". - "VALUES ('".$id."', ".$data['userid'].", ".$lastaccess.", '".$data['theme']."', '".$data['lang']."')"; + $queryStr = "INSERT INTO tblSessions (id, userID, lastAccess, theme, language, su) ". + "VALUES ('".$id."', ".$data['userid'].", ".$lastaccess.", '".$data['theme']."', '".$data['lang']."', 0)"; if (!$this->db->getResult($queryStr)) { return false; } @@ -105,6 +105,7 @@ class SeedDMS_Session { $this->data = $data; $this->data['id'] = $id; $this->data['lastaccess'] = $lastaccess; + $this->data['su'] = $su; $this->data['clipboard'] = array('docs'=>array(), 'folders'=>array()); return $id; } /* }}} */ @@ -188,6 +189,47 @@ class SeedDMS_Session { return $this->data['lang']; } /* }}} */ + /** + * Substitute user of session + * + * @param integer $su user id + */ + function setSu($su) { /* {{{ */ + /* id is only set if load() was called before */ + if($this->id) { + $queryStr = "UPDATE tblSessions SET su = " . (int) $su . " WHERE id = " . $this->db->qstr($this->id); + if (!$this->db->getResult($queryStr)) + return false; + $this->data['su'] = (int) $su; + } + return true; + } /* }}} */ + + /** + * Reset substitute user of session + * + * @param integer $su user id + */ + function resetSu() { /* {{{ */ + /* id is only set if load() was called before */ + if($this->id) { + $queryStr = "UPDATE tblSessions SET su = 0 WHERE id = " . $this->db->qstr($this->id); + if (!$this->db->getResult($queryStr)) + return false; + $this->data['su'] = 0; + } + return true; + } /* }}} */ + + /** + * Get substituted user id of session + * + * @return integer substituted user id + */ + function getSu() { /* {{{ */ + return $this->data['su']; + } /* }}} */ + /** * Set clipboard of session * diff --git a/inc/inc.Version.php b/inc/inc.Version.php index b3d600c09..c80d812bc 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -1,4 +1,3 @@ -<<<<<<< HEAD -======= -_string .", ". $this->_number; - } -} -?> ->>>>>>> seeddms-4.1.3 diff --git a/install/update-4.1.0/update-sqlite3.sql b/install/update-4.1.0/update-sqlite3.sql new file mode 100644 index 000000000..6cc1c4ed1 --- /dev/null +++ b/install/update-4.1.0/update-sqlite3.sql @@ -0,0 +1,5 @@ +BEGIN; + +UPDATE tblVersion set major=4, minor=1, subminor=0; + +COMMIT; diff --git a/install/update-4.1.0/update.sql b/install/update-4.1.0/update.sql new file mode 100644 index 000000000..2bbf180ef --- /dev/null +++ b/install/update-4.1.0/update.sql @@ -0,0 +1,5 @@ +START TRANSACTION; + +UPDATE tblVersion set major=4, minor=1, subminor=0; + +COMMIT; diff --git a/install/update-4.1.0/update.txt b/install/update-4.1.0/update.txt new file mode 100644 index 000000000..652878d4a --- /dev/null +++ b/install/update-4.1.0/update.txt @@ -0,0 +1,6 @@ +Directory for language files +============================ + +This version uses different names for the directories containing the +language files. Users should explicitly set the language the next time +they log in in order to update their user preferences. diff --git a/install/update-4.2.0/update-sqlite3.sql b/install/update-4.2.0/update-sqlite3.sql new file mode 100644 index 000000000..70ea78a65 --- /dev/null +++ b/install/update-4.2.0/update-sqlite3.sql @@ -0,0 +1,8 @@ +BEGIN; + +ALTER TABLE tblSessions ADD COLUMN `su` INTEGER DEFAULT NULL; + +UPDATE tblVersion set major=4, minor=2, subminor=0; + +COMMIT; + diff --git a/install/update-4.2.0/update.sql b/install/update-4.2.0/update.sql new file mode 100644 index 000000000..6b45d5563 --- /dev/null +++ b/install/update-4.2.0/update.sql @@ -0,0 +1,8 @@ +START TRANSACTION; + +ALTER TABLE tblSessions ADD COLUMN `su` INTEGER DEFAULT NULL; + +UPDATE tblVersion set major=4, minor=2, subminor=0; + +COMMIT; + diff --git a/install/update.php b/install/update.php index 55905e5bd..afc7e3e46 100644 --- a/install/update.php +++ b/install/update.php @@ -41,6 +41,7 @@ UI::htmlStartPage('Database update'); UI::contentHeading("SeedDMS Installation for version ".$_GET['version']); UI::contentContainerStart(); +$sqlfile = "update.sql"; switch($settings->_dbDriver) { case 'mysql': case 'mysqli': @@ -49,6 +50,8 @@ switch($settings->_dbDriver) { break; case 'sqlite': $dsn = $settings->_dbDriver.":".$settings->_dbDatabase; + if(file_exists('update-'.$_GET['version'].'/update-sqlite3.sql')) + $sqlfile = "update-sqlite3.sql"; break; } $db = new PDO($dsn, $settings->_dbUser, $settings->_dbPass); @@ -61,22 +64,26 @@ $res = $db->query('select * from tblVersion'); if($rec = $res->fetch(PDO::FETCH_ASSOC)) { if($_GET['version'] > $rec['major'].'.'.$rec['minor'].'.'.$rec['subminor']) { - $queries = file_get_contents('update-'.$_GET['version'].'/update.sql'); - $queries = explode(";", $queries); + if(file_exists('update-'.$_GET['version'].'/'.$sqlfile)) { + $queries = file_get_contents('update-'.$_GET['version'].'/'.$sqlfile); + $queries = explode(";", $queries); - // execute queries - if($queries) { - echo "

Updating database schema

"; - foreach($queries as $query) { - $query = trim($query); - if (!empty($query)) { - echo $query."
"; - if(false === $db->exec($query)) { - $e = $db->ErrorInfo(); - $errorMsg .= $e[2] . "
"; + // execute queries + if($queries) { + echo "

Updating database schema

"; + foreach($queries as $query) { + $query = trim($query); + if (!empty($query)) { + echo $query."
"; + if(false === $db->exec($query)) { + $e = $db->ErrorInfo(); + $errorMsg .= $e[2] . "
"; + } } } } + } else { + echo "

SQL file for update missing!

"; } } else { echo "

Database schema already up to date.

"; diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 941525e19..10cabffb1 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -399,6 +399,7 @@ $text = array( 'my_account' => "Mein Profil", 'my_documents' => "Meine Dokumente", 'name' => "Name", +'needs_workflow_action' => "Diese Dokument erfordert eine Aktion. Bitte schauen Sie auf den Workflow-Reiter.", 'new_attrdef' => "Neue Attributdefinition", 'new_default_keyword_category' => "Neue Kategorie", 'new_default_keywords' => "Neue Vorlage", @@ -475,6 +476,7 @@ $text = array( 'refresh' => "Aktualisieren", 'rejected' => "abgelehnt", 'released' => "freigegeben", +'remove_marked_files' => "Markierte Dateien löschen", 'removed_workflow_email_subject' => "[sitename]: [name] - Workflow von Dokumentenversion", 'removed_workflow_email_body' => "Workflow von Dokumentenversion entfernt\r\nDokument: [name]\r\nVersion: [version]\r\nWorkflow: [workflow]\r\nElternordner: [folder_path]\r\nBenutzer: [username]\r\nURL: [url]", 'removed_approver' => "ist von der Freigeber-Liste entfernt worden.", @@ -654,10 +656,14 @@ $text = array( 'settings_enableLanguageSelector_desc' => "Zeige Auswahl der verfügbaren Sprachen nachdem man sich angemeldet hat. Dies hat keinen Einfluss auf die Sprachauswahl auf der Anmeldeseite.", 'settings_enableLargeFileUpload_desc' => "Wenn dies gesetzt ist, dann ist ebenfalls der Upload von Dokumenten durch ein java applet mit Namen 'jumploader' ohne Begrenzung der maximalen Dateigröße möglich. Auch das Hochladen mehrerer Dokumente in einem Schritt wird dadurch ermöglicht.", 'settings_enableLargeFileUpload' => "Hochladen von sehr großen Dateien ermöglichen", +'settings_maxRecursiveCount' => "Max. Anzahl Anzahl rekursiver Dokumente/Ordner.", +'settings_maxRecursiveCount_desc' => "Dies ist die maximale Anzahl der Dokumente und Ordner die auf Zugriffsrechte geprüft werden, wenn rekursiv gezählt wird. Wenn diese Anzahl überschritten wird, wird die Anzahl der Dokumente und Unterordner in der Ordner Ansicht geschätzt.", 'settings_enableOwnerNotification_desc' => "Setzen Sie diese Option, wenn der Besitzer eines Dokuments nach dem Hochladen in die Liste der Beobachter eingetragen werden soll.", 'settings_enableOwnerNotification' => "Besitzer als Beobachter eintragen", 'settings_enablePasswordForgotten_desc' => "Setzen Sie diese Option, wenn Benutzer ein neues Password per E-Mail anfordern dürfen.", 'settings_enablePasswordForgotten' => "Passwort-Vergessen Funktion einschalten", +'settings_enableRecursiveCount_desc' => "Wenn diese Option eingeschaltet ist, wird die Anzahl der Dokumente und Ordner in der Ordner-Ansicht rekursiv, unter Berücksichtigung der Zugriffsrechte ermittelt.", +'settings_enableRecursiveCount' => "Rekursive Dokumenten-/Ordner-Zählung", 'settings_enableUserImage_desc' => "Foto der Benutzer ein-/ausschalten", 'settings_enableUserImage' => "Benutzerbilder einschalten", 'settings_enableUsersView_desc' => "Gruppen- und Benutzeransicht für alle Benutzer ein-/ausschalten", @@ -767,6 +773,7 @@ $text = array( 'signed_in_as' => "Angemeldet als", 'sign_in' => "Anmelden", 'sign_out' => "Abmelden", +'sign_out_user' => "Benutzer abmelden", 'space_used_on_data_folder' => "Benutzter Plattenplatz", 'status_approval_rejected' => "Entwurf abgelehnt", 'status_approved' => "freigegeben", @@ -787,6 +794,7 @@ $text = array( 'submit_userinfo' => "Daten setzen", 'sunday' => "Sonntag", 'sunday_abbr' => "So", +'switched_to' => "Gewechselt zu", 'theme' => "Aussehen", 'thursday' => "Donnerstag", 'thursday_abbr' => "Do", diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index a18773a46..f8d4270b4 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -399,6 +399,7 @@ $text = array( 'my_account' => "My Account", 'my_documents' => "My Documents", 'name' => "Name", +'needs_workflow_action' => "This document requires your attention. Please check the workflow tab.", 'new_attrdef' => "Add attribute defintion", 'new_default_keyword_category' => "Add category", 'new_default_keywords' => "Add keywords", @@ -772,6 +773,7 @@ $text = array( 'signed_in_as' => "Signed in as", 'sign_in' => "Sign in", 'sign_out' => "Sign out", +'sign_out_user' => "Sign out user", 'space_used_on_data_folder' => "Space used on data folder", 'status_approval_rejected' => "Draft rejected", 'status_approved' => "Approved", @@ -790,8 +792,10 @@ $text = array( 'submit_password_forgotten' => "Start process", 'submit_review' => "Submit review", 'submit_userinfo' => "Submit info", +'substitute_user' => "Substitute User", 'sunday' => "Sunday", 'sunday_abbr' => "Su", +'switched_to' => "Switched to", 'theme' => "Theme", 'thursday' => "Thursday", 'thursday_abbr' => "Th", diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index da9d76392..10a227efc 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -28,6 +28,7 @@ $text = array( 'access_mode_read' => "Permesso di lettura", 'access_mode_readwrite' => "Permesso di lettura e scrittura", 'access_permission_changed_email' => "Permessi cambiati", +'according_settings' => "Settaggio accordi", 'actions' => "Azioni", 'add' => "Aggiungi", 'add_doc_reviewer_approver_warning' => "Nota: i documenti saranno automaticamente distinti come rilasciati se non esiste approvazione o revisione", @@ -36,19 +37,21 @@ $text = array( 'add_event' => "Aggiungi evento", 'add_group' => "Aggiungi nuovo gruppo", 'add_member' => "Aggiungi un membro", -'add_multiple_documents' => "Add multiple documents", +'add_multiple_documents' => "Aggiungi documenti multipli", 'add_multiple_files' => "Aggiungi documenti multipli (il nome del file verrà usato come nome del documento)", 'add_subfolder' => "Aggiungi sottocartella", 'add_user' => "Aggiungi nuovo utente", +'add_user_to_group' => "Aggiungi utente al gruppo", 'admin' => "Amministratore", 'admin_tools' => "Amministrazione", -'all_categories' => "All categories", +'all' => "Tutto", +'all_categories' => "Tutte le categorie", 'all_documents' => "Tutti i documenti", 'all_pages' => "Tutte", 'all_users' => "Tutti gli utenti", 'already_subscribed' => "L'oggetto è già stato sottoscritto", 'and' => "e", -'apply' => "Apply", +'apply' => "Applica", 'approval_deletion_email' => "Cancellata la richiesta di approvazione", 'approval_group' => "Gruppo approvazione", 'approval_request_email' => "Richiesta di approvazione", @@ -64,6 +67,17 @@ $text = array( 'assign_reviewers' => "Assegna Revisori", 'assign_user_property_to' => "Assegna le proprietà dell'utente a", 'assumed_released' => "Rilascio Acquisito", +'attrdef_management' => "Gestione Definizione Attributi", +'attrdef_exists' => "Definizione di Attributo esistente", +'attrdef_in_use' => "Definizione di Attributo ancora in uso", +'attrdef_name' => "Nome", +'attrdef_multiple' => "Permetti valori multipli", +'attrdef_objtype' => "Tipo oggetto", +'attrdef_type' => "Tipo", +'attrdef_minvalues' => "Numero di valori Min.", +'attrdef_maxvalues' => "Numero di valori Max.", +'attrdef_valueset' => "Set di valori", +'attributes' => "Attributi", 'august' => "Agosto", 'automatic_status_update' => "Modifica automatica dello stato", 'back' => "Ritorna", @@ -75,20 +89,25 @@ $text = array( 'cancel' => "Annulla", 'cannot_assign_invalid_state' => "Non è possibile modificare le assegnazioni di un documento già in stato finale", 'cannot_change_final_states' => "Attenzione: Non si può modificare lo stato dei documenti rifiutati, scaduti o in lavorazione", -//$text["cannot_delete_yourself"] = "Cannot delete yourself", +'cannot_delete_yourself' => "Non puoi cancellare la tua stessa utenza", 'cannot_move_root' => "Impossibile spostare la cartella di root", 'cannot_retrieve_approval_snapshot' => "Impossibile visualizzare lo stato di approvazione per questa versione di documento", 'cannot_retrieve_review_snapshot' => "Impossibile visualizzare lo stato di revisione per questa versione di documento", 'cannot_rm_root' => "Impossibile cancellare la cartella di root", -'category' => "Category", -'category_filter' => "Only categories", -'category_in_use' => "This category is currently used by documents.", -'categories' => "Categories", +'category' => "Categoria", +'category_exists' => "Categoria esistente.", +'category_filter' => "Solo categorie", +'category_in_use' => "Questa categoria è attualmente in uso in alcuni documenti.", +'category_noname' => "Non è stato attribuito un nome alla categoria.", +'categories' => "Categorie", 'change_assignments' => "Modifica le Assegnazioni", +'change_password' => "Cambia password", +'change_password_message' => "La tua password è stata cambiata.", 'change_status' => "Modifica lo Stato", +'choose_attrdef' => "Scegli attributo", 'choose_category' => "Seleziona", 'choose_group' => "--Seleziona gruppo--", -'choose_target_category' => "Choose category", +'choose_target_category' => "Selezione categoria", 'choose_target_document' => "Seleziona documento", 'choose_target_folder' => "Seleziona cartella", 'choose_user' => "--Seleziona utente--", @@ -110,12 +129,13 @@ $text = array( 'confirm_rm_version' => "Vuoi veramente eliminare la versione [version] del documento \"[documentname]\"?
Attenzione: L'operazione è irreversibile", 'content' => "Cartelle", 'continue' => "Continua", -'create_fulltext_index' => "Create fulltext index", -'create_fulltext_index_warning' => "You are to recreate the fulltext index. This can take a considerable amount of time and reduce your overall system performance. If you really want to recreate the index, please confirm your operation.", +'create_fulltext_index' => "Crea indice fulltext", +'create_fulltext_index_warning' => "Stai creando un indice fulltext. Questo può occupare un tempo considerevole e ridurre le prestazioni del sistema. Sei sicuro di voler ricreare l'indice, prego conferma l'operazione.", 'creation_date' => "Data creazione", +'current_password' => "Password corrente", 'current_version' => "Ultima versione", -'daily' => "Daily", -'databasesearch' => "Database search", +'daily' => "Giornaliero", +'databasesearch' => "Ricerca nel Database", 'december' => "Dicembre", 'default_access' => "Permesso di default", 'default_keywords' => "Parole chiave disponibili", @@ -123,6 +143,7 @@ $text = array( 'details' => "Dettagli", 'details_version' => "Dettagli versione: [version]", 'disclaimer' => "Questa è un'area riservata. L'accesso è consentito solo al personale autorizzato. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.", +'do_object_repair' => "Repaira tutte le cartelle e i documenti.", 'document_already_locked' => "Questo documento è già bloccato", 'document_deleted' => "Documento rimosso", 'document_deleted_email' => "Documento cancellato", @@ -136,6 +157,7 @@ $text = array( 'documents' => "Documenti", 'documents_in_process' => "Documenti in lavorazione", 'documents_locked_by_you' => "Documenti bloccati da te", +'documents_only' => "Solo documenti", 'document_status_changed_email' => "Modifica stato del documento", 'documents_to_approve' => "Documenti in attesa della tua approvazione", 'documents_to_review' => "Documenti in attesa della tua revisione", @@ -151,6 +173,7 @@ $text = array( 'dump_creation_warning' => "Con questa operazione è possibile creare un file di dump del contenuto del database. Dopo la creazione il file viene salvato nella cartella dati del server.", 'dump_list' => "List dei dump presenti", 'dump_remove' => "Cancella il dump file", +'edit_attributes' => "Edit attributi", 'edit_comment' => "Modifica il commento", 'edit_default_keywords' => "Modifica parole chiave", 'edit_document_access' => "Modifica permessi", @@ -167,11 +190,14 @@ $text = array( 'edit_user_details' => "Gestione dettagli utente", 'edit_user' => "Modifica utente", 'email' => "Email", +'email_error_title' => "Nessuna email immessa", 'email_footer' => "Puoi cambiare le tue preferenze utilizzando le funzioni del menu 'Account personale'", 'email_header' => "Questo è un messaggio automatico inviato dal server DMS", +'email_not_given' => "Devi inserire un indirizzo email valido.", 'empty_notify_list' => "Nessun record", -'error_no_document_selected' => "No document selected", -'error_no_folder_selected' => "No folder selected", +'error' => "Errore", +'error_no_document_selected' => "Nessun documento selezionato", +'error_no_folder_selected' => "Nessuna cartella selezionata", 'error_occured' => "Si verificato un errore", 'event_details' => "Dettagli evento", 'expired' => "Scaduto", @@ -194,11 +220,12 @@ $text = array( 'folder_title' => "Cartella '[foldername]'", 'friday' => "Venerdì", 'from' => "Da", -'fullsearch' => "Full text search", -'fullsearch_hint' => "Use fulltext index", -'fulltext_info' => "Fulltext index info", +'fullsearch' => "Ricerca Full text", +'fullsearch_hint' => "Usa l'indice fulltext", +'fulltext_info' => "Info indice Fulltext", +'global_attributedefinitions' => "Definizione attributi", 'global_default_keywords' => "Categorie parole chiave globali", -'global_document_categories' => "Categories", +'global_document_categories' => "Categorie", 'group_approval_summary' => "Dettaglio approvazioni di gruppo", 'group_exists' => "Il gruppo è già esistente", 'group' => "Gruppo", @@ -209,10 +236,11 @@ $text = array( 'guest_login_disabled' => "Login ospite è disabilitato", 'guest_login' => "Login come ospite", 'help' => "Aiuto", -'hourly' => "Hourly", +'hourly' => "Ogni ora", 'human_readable' => "Archivio per uso esterno", 'include_documents' => "Includi documenti", 'include_subdirectories' => "Includi sottocartelle", +'index_converters' => "Indice di conversione documenti", 'individuals' => "Singoli", 'inherits_access_msg' => "E' impostato il permesso ereditario.", 'inherits_access_copy_msg' => "Modifica la lista degli accessi ereditati", @@ -229,7 +257,7 @@ $text = array( 'invalid_folder_id' => "ID cartella non valido", 'invalid_group_id' => "ID gruppo non valido", 'invalid_link_id' => "ID di collegamento non valido", -'invalid_request_token' => "Invalid Request Token", +'invalid_request_token' => "Token di richiesta invalido", 'invalid_review_status' => "Stato revisione non valido", 'invalid_sequence' => "Valore di sequenza non valido", 'invalid_status' => "Stato del documento non valido", @@ -237,6 +265,7 @@ $text = array( 'invalid_target_folder' => "ID cartella selezionata non valido", 'invalid_user_id' => "ID utente non valido", 'invalid_version' => "Versione documento non valida", +'is_disabled' => "Disabilitato", 'is_hidden' => "Nascondi dalla lista utenti", 'january' => "Gennaio", 'js_no_approval_group' => "Si prega di selezionare un gruppo di approvazione", @@ -261,14 +290,17 @@ $text = array( 'keywords' => "Parole chiave", 'language' => "Lingua", 'last_update' => "Ultima modifica", -'link_alt_updatedocument' => "If you would like to upload files bigger than the current maximum upload size, please use the alternative upload page.", +'link_alt_updatedocument' => "Se vuoi caricare file più grandi del limite massimo attuale, usa la pagina alternativa di upload.", 'linked_documents' => "Documenti collegati", 'linked_files' => "File allegati", 'local_file' => "File locale", -'locked_by' => "Locked by", +'locked_by' => "Bloccato da", 'lock_document' => "Blocca", 'lock_message' => "Questo documento è bloccato da [username]. Solo gli utenti autorizzati possono sbloccare questo documento.", -'lock_status' => "Stato", +'lock_status' => "Stato bloccaggio", +'login' => "Login", +'login_disabled_text' => "Il tuo account è disabilitato, la causa probabile sono troppi login falliti.", +'login_disabled_title' => "L'Account è disabilitato", 'login_error_text' => "Errore nel login. ID utente o passord errati.", 'login_error_title' => "Errore di login", 'login_not_given' => "Non è stato inserito il nome utente", @@ -280,49 +312,66 @@ $text = array( 'max_upload_size' => "Dimensione massima caricabile per ogni file", 'may' => "Maggio", 'monday' => "Lunedì", -'month_view' => "Vista mese", -'monthly' => "Monthly", +'month_view' => "Vista mesile", +'monthly' => "Mensile", 'move_document' => "Sposta documento", 'move_folder' => "Sposta cartella", 'move' => "Sposta", 'my_account' => "Account personale", 'my_documents' => "Documenti personali", 'name' => "Nome", +'new_attrdef' => "Nuovo attributo", 'new_default_keyword_category' => "Aggiungi categoria", 'new_default_keywords' => "Aggiungi parole chiave", -'new_document_category' => "Add category", +'new_document_category' => "Aggiungi categoria", 'new_document_email' => "Nuovo documento", 'new_file_email' => "Nuovo file allegato", -//$text["new_folder"] = "New folder", +'new_folder' => "Nuova cartella", 'new' => "Nuovo", +'new_password' => "Nuova password", 'new_subfolder_email' => "Nuova sottocartella", 'new_user_image' => "Nuova immagine", 'no_action' => "Non è richiesto alcun intervento", 'no_approval_needed' => "No approval pending.", 'no_attached_files' => "No attached files", 'no_default_keywords' => "Nessuna parola chiave disponibile", -//$text["no_docs_locked"] = "No documents locked.", -//$text["no_docs_to_approve"] = "There are currently no documents that require approval.", -//$text["no_docs_to_look_at"] = "No documents that need attention.", -//$text["no_docs_to_review"] = "There are currently no documents that require review.", +'no_docs_locked' => "Nessun documento bloccato.", +'no_docs_to_approve' => "Non ci sono documenti che richiedano approvazione.", +'no_docs_to_look_at' => "Non ci sono documenti che richiedano attenzione.", +'no_docs_to_review' => "Non ci sono documenti che richiedano revisioni.", +'no_fulltextindex' => "Nessun indice fulltext disponibile", 'no_group_members' => "Questo gruppo non ha membri", 'no_groups' => "Nessun gruppo", 'no' => "No", -'no_linked_files' => "No linked files", +'no_linked_files' => "Nessun file collegato", 'no_previous_versions' => "Nessun'altra versione trovata", -'no_review_needed' => "No review pending.", +'no_review_needed' => "Nessuna revisione in sospeso.", 'notify_added_email' => "Sei stato aggiunto alla lista di notifica", 'notify_deleted_email' => "Sei stato eliminato dalla lista di notifica", 'no_update_cause_locked' => "Non è quindi possible aggiornarlo.", 'no_user_image' => "Nessuna immagine trovata", 'november' => "Novembre", +'now' => "Adesso", 'obsolete' => "Obsoleto", +'objectcheck' => "Controllo cartelle o documenti", 'october' => "Ottobre", 'old' => "Vecchio", 'only_jpg_user_images' => "Possono essere utilizzate solo immagini di tipo jpeg", 'owner' => "Proprietario", 'ownership_changed_email' => "Proprietario cambiato", 'password' => "Password", +'password_already_used' => "Password già in uso", +'password_repeat' => "Ripetere password", +'password_expiration' => "Password scaduta", +'password_expiration_text' => "La tua password è scaduta. Prego scegli una nuova password prima di continuare ad utilizzare OmecaDMS.", +'password_forgotten' => "Password dimenticata", +'password_forgotten_email_subject' => "Password dimenticata", +'password_forgotten_email_body' => "Caro utente di OmecaDMS,\n\nabbiamo ricevuto una richiesta di cambiamento della password.\n\nQuesto può farsi cliccando sul seguente link:\n\n###URL_PREFIX###out/out.ChangePassword.php?hash=###HASH###\n\nSe hai ancora problemi al login, allora contatta il tuo amministratore di sistema.", +'password_forgotten_send_hash' => "Le istruzioni su come procedere sono state inviate all'indirizzo e-mail dell'utente", +'password_forgotten_text' => "Compilare le informazioni seguenti e segui le istruzioni nell'e-mail che ti sarà inviata a breve.", +'password_forgotten_title' => "Password inviata", +'password_strength_insuffient' => "Efficacia della password insufficiente", +'password_wrong' => "Password errata", 'personal_default_keywords' => "Parole chiave personali", 'previous_versions' => "Versioni precedenti", 'refresh' => "Refresh", @@ -331,6 +380,7 @@ $text = array( 'removed_approver' => "Rimosso dalla lista degli approvatori.", 'removed_file_email' => "Rimosso file allegato", 'removed_reviewer' => "Rimosso dalla lista dei revisori.", +'repairing_objects' => "Riparazione documenti e cartelle in corso...", 'results_page' => "Pagina dei risultati", 'review_deletion_email' => "Cancellata la richiesta di revisione", 'reviewer_already_assigned' => "già è assegnato come revisore", @@ -342,6 +392,7 @@ $text = array( 'review_submit_email' => "Sottoposta revisione", 'review_summary' => "Dettaglio revisioni", 'review_update_failed' => "Errore nella variazione della revisione. Aggiornamento fallito.", +'rm_attrdef' => "Rimuovi definizione attributo", 'rm_default_keyword_category' => "Cancella categoria", 'rm_document' => "Rimuovi documento", 'rm_document_category' => "Delete category", @@ -350,22 +401,23 @@ $text = array( 'rm_group' => "Rimuovi questo gruppo", 'rm_user' => "Rimuovi questo utente", 'rm_version' => "Rimuovi versione", -//$text["role_admin"] = "Administrator", -//$text["role_guest"] = "Guest", -'role_user' => "User", -//$text["role"] = "Role", +'role_admin' => "Administrator", +'role_guest' => "Ospite", +'role_user' => "Utente", +'role' => "Ruolo", 'saturday' => "Sabato", 'save' => "Salva", -'search_fulltext' => "Search in fulltext", +'search_fulltext' => "Ricerca testo intero", 'search_in' => "Cerca in", 'search_mode_and' => "tutte le parole", 'search_mode_or' => "almeno una parola", 'search_no_results' => "Non ci sono documenti che contengano la vostra ricerca", 'search_query' => "Cerca per", -'search_report' => "Trovati [count] documenti", +'search_report' => "Trovati [doccount] documenti", +'search_report_fulltext' => "Trovati [doccount] documenti", 'search_results_access_filtered' => "La ricerca può produrre contenuti il cui accesso è negato.", 'search_results' => "Risultato ricerca", -//$text["search"] = "Search", +'search' => "Ricerca", 'search_time' => "Tempo trascorso: [time] sec.", 'selection' => "Selezione", 'select_one' => "Seleziona uno", @@ -376,82 +428,116 @@ $text = array( 'seq_start' => "Prima posizione", 'sequence' => "Posizione", 'set_expiry' => "Regola la scadenza", -//$text["set_owner_error"] = "Error setting owner", +'set_owner_error' => "Errore impostazione proprietario", 'set_owner' => "Conferma proprietario", -'settings_activate_module' => "Activate module", -'settings_activate_php_extension' => "Activate PHP extension", -'settings_adminIP' => "Admin IP", -'settings_adminIP_desc' => "If enabled admin can login only by specified IP addres, leave empty to avoid the control. NOTE: works only with local autentication (no LDAP)", +'set_password' => "Imposta Password", +'settings_install_welcome_title' => "Benvenuti nell'installazione di letoDMS", +'settings_install_welcome_text' => "

Per poter iniziare l'installazione di letoDMS è necessario creare un file 'ENABLE_INSTALL_TOOL' nella tua cartella di configurazione, altrimenti l'installazione non partir à. Con sistemi Unix-like questo può essere fatto rapidamente digitando da un terminale il comando 'touch conf/ENABLE_INSTALL_TOOL'. Dopo che l'installazione è stata completata cancellare il file per poter utilizzare letoDMS.

letoDMS ha requisiti di funzionamento minimi: è necessario unicamente un database mysql e un web server con php attivo. Per la funzione di ricerca fulltext di lucene, è necessario che sia installato anche il framework Zend e che sia visibile da php. A partire dalla versione 3.2.0 di letoDMS, la libreria ADOdb non sarà più parte della distribuzione. Per ottenere una copia fare riferimento al sito http://adodb.sourceforge.net, scaricare una copia ed installarla. Il path dell'installazione può essere impostato durante l'installazione.

Se preferisci creare il database prima dell'inizio dell'installazione, allora è necessario creare il database manualmente con il tuo tool di gestione preferito, opzionalmente creare un utente con l'accesso al database, e importare uno dei dump del database disponibili nella cartella di configurazione. Lo script di installazione può effettuare l'operazione in maniera automatica, ma necessita di un accesso al database con sufficienti diritti a creare database nuovi.

", +'settings_start_install' => "Inizio installazione", +'settings_sortUsersInList' => "Ordina gli utenti nella lista", +'settings_sortUsersInList_desc' => "Imposta se gli utenti nel menù di selezione sono ordinato secondo login o nome completo", +'settings_sortUsersInList_val_login' => "Ordina secondo login", +'settings_sortUsersInList_val_fullname' => "Ordina secondo nome completo", +'settings_stopWordsFile' => "Path del file con le parole proibite", +'settings_stopWordsFile_desc' => "Se la ricerca fulltext è abilitata, questo file conterrà le parole che verranno escluse nell'indicizzazione", +'settings_activate_module' => "Attivazione modulo", +'settings_activate_php_extension' => "Attivazione estensione PHP", +'settings_adminIP' => "IP Admin", +'settings_adminIP_desc' => "Se attivato l'admin si può loggare solo da un IP specifico, lasciare vuoto per evitare il controllo. NOTA: funzione solo con autenticazione locale (no LDAP)", 'settings_ADOdbPath' => "ADOdb Path", -'settings_ADOdbPath_desc' => "Path to adodb. This is the directory containing the adodb directory", -'settings_Advanced' => "Advanced", -'settings_apache_mod_rewrite' => "Apache - Module Rewrite", -'settings_Authentication' => "Authentication settings", -'settings_Calendar' => "Calendar settings", -'settings_calendarDefaultView' => "Calendar Default View", -'settings_calendarDefaultView_desc' => "Calendar default view", -'settings_contentDir' => "Content directory", -'settings_contentDir_desc' => "Where the uploaded files are stored (best to choose a directory that is not accessible through your web-server)", -'settings_contentOffsetDir' => "Content Offset Directory", +'settings_ADOdbPath_desc' => "Path di adodb. Questa è la cartella che contiene la cartella adodb", +'settings_Advanced' => "Avanzate", +'settings_apache_mod_rewrite' => "Apache - Mod Rewrite", +'settings_Authentication' => "Impostazioni di Autenticazione", +'settings_Calendar' => "Impostazioni Calendario", +'settings_calendarDefaultView' => "Vista di default del Calendario", +'settings_calendarDefaultView_desc' => "Vista di default del Calendario", +'settings_contentDir' => "Contenuto cartella", +'settings_contentDir_desc' => "Dove i file caricati sono immagazzinati (ideale scegliere una cartella che non è accessibile dal tuo web server)", +'settings_contentOffsetDir' => "Cartella con contenuti Offset", 'settings_contentOffsetDir_desc' => "To work around limitations in the underlying file system, a new directory structure has been devised that exists within the content directory (Content Directory). This requires a base directory from which to begin. Usually leave this to the default setting, 1048576, but can be any number or string that does not already exist within (Content Directory)", -'settings_coreDir' => "Core letoDMS directory", -'settings_coreDir_desc' => "Path to SeedDMS_Core (optional)", -'settings_luceneClassDir' => "Lucene SeedDMS directory", -'settings_luceneClassDir_desc' => "Path to SeedDMS_Lucene (optional)", -'settings_luceneDir' => "Lucene index directory", -'settings_luceneDir_desc' => "Path to Lucene index", +'settings_coreDir' => "Cartella di Core letoDMS", +'settings_coreDir_desc' => "Path per il pacchetto SeedDMS_Core (opzionale)", +'settings_loginFailure_desc' => "Account disabilitato dopo n tentativi di accesso falliti.", +'settings_loginFailure' => "Login fallita", +'settings_luceneClassDir' => "Cartella Lucene SeedDMS", +'settings_luceneClassDir_desc' => "Cartella del pacchetto SeedDMS_Lucene (opzionale)", +'settings_luceneDir' => "Cartella dell'indice Lucene", +'settings_luceneDir_desc' => "Cartella di memorizzazione dell'indice utilizzato da Lucene", +'settings_cannot_disable' => "Il file ENABLE_INSTALL_TOOL non può essere cancellato", +'settings_install_disabled' => "Il file ENABLE_INSTALL_TOOL è stato cancellato. Ora puoi effettuare il login in SeedDMS e fare ulteriori configurazioni.", 'settings_createdatabase' => "Create database", -'settings_createdirectory' => "Create directory", -'settings_currentvalue' => "Current value", -'settings_Database' => "Database settings", +'settings_createdirectory' => "Crea cartella", +'settings_currentvalue' => "Valore corrente", +'settings_Database' => "Impostazioni Database", 'settings_dbDatabase' => "Database", -'settings_dbDatabase_desc' => "The name for your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.", -'settings_dbDriver' => "Database Type", -'settings_dbDriver_desc' => "The type of database in use entered during the installation process. Do not edit this field unless you are having to migrate to a different type of database perhaps due to changing hosts. Type of DB-Driver used by adodb (see adodb-readme)", -'settings_dbHostname_desc' => "The hostname for your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.", -'settings_dbHostname' => "Server name", -'settings_dbPass_desc' => "The password for access to your database entered during the installation process.", +'settings_dbDatabase_desc' => "Il nome del tuo database da utilizzare durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, ad esempio nel trasferimento del database su un nuovo Host.", +'settings_dbDriver' => "Tipo Database", +'settings_dbDriver_desc' => "Il tipo di database da utilizzare durante il processo di installazione. Non modificare questo campo a meno che non si debba migrare a un differente tipo di database forse a causa di un cambiamento di Host. Questo tipo è utilizzato da ADOdb per identificare il tipo del DB-Driver (consultare il file adodb-readme)", +'settings_dbHostname_desc' => "Nome del Server dove risiede il database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.", +'settings_dbHostname' => "Nome del server o indirizzo IP del Server", +'settings_dbPass_desc' => "Password per l'accesso al tuo database da utilizzarsi durante il processo di installazione.", 'settings_dbPass' => "Password", -'settings_dbUser_desc' => "The username for access to your database entered during the installation process. Do not edit field unless absolutely necessary, for example transfer of the database to a new Host.", +'settings_dbUser_desc' => "Username per accedere al database da utilizzarsi durante il processo di installazione. Non modificare questo campo se non assolutamente necessario, per esempio nel caso di trasferimento del database su un nuovo Host.", 'settings_dbUser' => "Username", -'settings_delete_install_folder' => "To use SeedDMS, you must delete the install directory", -'settings_disableSelfEdit_desc' => "If checked user cannot edit his own profile", -'settings_disableSelfEdit' => "Disable Self Edit", -'settings_Display' => "Display settings", -'settings_Edition' => "Edition settings", +'settings_dbVersion' => "Schema del Database troppo vecchio", +'settings_delete_install_folder' => "Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione", +'settings_disable_install' => "Eliminare il ENABLE_INSTALL_TOOL se possibile", +'settings_disableSelfEdit_desc' => "L'utente selezionato non può modficare il proprio profilo", +'settings_disableSelfEdit' => "Disabilita Auto-Modifica", +'settings_Display' => "Impostazioni del display", +'settings_Edition' => "Impostazioni di edition", 'settings_enableAdminRevApp_desc' => "Uncheck to don't list administrator as reviewer/approver", 'settings_enableAdminRevApp' => "Enable Admin Rev App", -'settings_enableCalendar_desc' => "Enable/disable calendar", -'settings_enableCalendar' => "Enable Calendar", -'settings_enableConverting_desc' => "Enable/disable converting of files", -'settings_enableConverting' => "Enable Converting", +'settings_enableCalendar_desc' => "Abilita/disabilita la funzione calendario", +'settings_enableCalendar' => "Abilita calendario", +'settings_enableConverting_desc' => "Abilita/disabilita la conversione dei files", +'settings_enableConverting' => "Abilita conversione", +'settings_enableNotificationAppRev_desc' => "Check to send a notification to the reviewer/approver when a new document version is added", +'settings_enableNotificationAppRev' => "Enable reviewer/approver notification", +'settings_enableVersionModification_desc' => "Enable/disable modification of a document versions by regular users after a version was uploaded. Admin may always modify the version after upload.", +'settings_enableVersionModification' => "Enable modification of versions", +'settings_enableVersionDeletion_desc' => "Enable/disable deletion of previous document versions by regular users. Admin may always delete old versions.", +'settings_enableVersionDeletion' => "Enable deletion of previous versions", 'settings_enableEmail_desc' => "Enable/disable automatic email notification", 'settings_enableEmail' => "Enable E-mail", 'settings_enableFolderTree_desc' => "False to don't show the folder tree", 'settings_enableFolderTree' => "Enable Folder Tree", 'settings_enableFullSearch' => "Enable Full text search", +'settings_enableFullSearch_desc' => "Enable Full text search", 'settings_enableGuestLogin_desc' => "If you want anybody to login as guest, check this option. Note: guest login should be used only in a trusted environment", 'settings_enableGuestLogin' => "Enable Guest Login", +'settings_enableLargeFileUpload_desc' => "If set, file upload is also available through a java applet called jumploader without a file size limit set by the browser. It also allows to upload several files in one step.", +'settings_enableLargeFileUpload' => "Enable large file upload", +'settings_enableOwnerNotification_desc' => "Check for adding a notification for the owner if a document when it is added.", +'settings_enableOwnerNotification' => "Enable owner notification by default", +'settings_enablePasswordForgotten_desc' => "If you want to allow user to set a new password and send it by mail, check this option.", +'settings_enablePasswordForgotten' => "Enable Password forgotten", 'settings_enableUserImage_desc' => "Enable users images", 'settings_enableUserImage' => "Enable User Image", 'settings_enableUsersView_desc' => "Enable/disable group and user view for all users", 'settings_enableUsersView' => "Enable Users View", +'settings_encryptionKey' => "Encryption key", +'settings_encryptionKey_desc' => "This string is used for creating a unique identifier being added as a hidden field to a formular in order to prevent CSRF attacks.", 'settings_error' => "Error", -'settings_expandFolderTree_desc' => "Expand Folder Tree", -'settings_expandFolderTree' => "Expand Folder Tree", -'settings_expandFolderTree_val0' => "start with tree hidden", -'settings_expandFolderTree_val1' => "start with tree shown and first level expanded", -'settings_expandFolderTree_val2' => "start with tree shown fully expanded", -'settings_firstDayOfWeek_desc' => "First day of the week", -'settings_firstDayOfWeek' => "First day of the week", -'settings_footNote_desc' => "Message to display at the bottom of every page", -'settings_footNote' => "Foot Note", +'settings_expandFolderTree_desc' => "Espandi l'albero delle cartelle", +'settings_expandFolderTree' => "Espandi l'albero delle cartelle", +'settings_expandFolderTree_val0' => "Inizia con l'albero nascosto", +'settings_expandFolderTree_val1' => "Inizia con l'albero aperto e il primo livello espanso", +'settings_expandFolderTree_val2' => "Inizia con l'albero aperto e completamente espanso", +'settings_firstDayOfWeek_desc' => "Primo giorno della settimana", +'settings_firstDayOfWeek' => "Primo giorno della settimana", +'settings_footNote_desc' => "Messaggio da visualizzare alla fine di ogni pagina", +'settings_footNote' => "Pie di pagina", 'settings_guestID_desc' => "ID of guest-user used when logged in as guest (mostly no need to change)", 'settings_guestID' => "Guest ID", 'settings_httpRoot_desc' => "The relative path in the URL, after the domain part. Do not include the http:// prefix or the web host name. e.g. If the full URL is http://www.example.com/letodms/, set '/letodms/'. If the URL is http://www.example.com/, set '/'", 'settings_httpRoot' => "Http Root", 'settings_installADOdb' => "Install ADOdb", 'settings_install_success' => "The installation is completed successfully", +'settings_install_pear_package_log' => "Install Pear package 'Log'", +'settings_install_pear_package_webdav' => "Install Pear package 'HTTP_WebDAV_Server', if you intend to use the webdav interface", +'settings_install_zendframework' => "Install Zend Framework, if you intend to use the full text search engine", 'settings_language' => "Default language", 'settings_language_desc' => "Default language (name of a subfolder in folder \"languages\")", 'settings_logFileEnable_desc' => "Enable/disable log file", @@ -464,8 +550,25 @@ $text = array( 'settings_maxExecutionTime_desc' => "This sets the maximum time in seconds a script is allowed to run before it is terminated by the parse", 'settings_maxExecutionTime' => "Max Execution Time (s)", 'settings_more_settings' => "Configure more settings. Default login: admin/admin", -'settings_notfound' => "Not found", -'settings_partitionSize' => "Size of partial files uploaded by jumploader", +'settings_Notification' => "Impostazioni notifiche", +'settings_no_content_dir' => "Contenuto cartella", +'settings_notfound' => "Non trovato", +'settings_notwritable' => "La configurazione non può essere salvata perchè il file di configurazione può essere scritto.", +'settings_partitionSize' => "Partial filesize", +'settings_partitionSize_desc' => "Size of partial files in bytes, uploaded by jumploader. Do not set a value larger than the maximum upload size set by the server.", +'settings_passwordExpiration' => "Scadenza Password", +'settings_passwordExpiration_desc' => "The number of days after which a password expireÑ• and must be reset. 0 turns password expiration off.", +'settings_passwordHistory' => "Password history", +'settings_passwordHistory_desc' => "The number of passwords a user must have been used before a password can be reused. 0 turns the password history off.", +'settings_passwordStrength' => "Min. password strength", +'settings_passwordÐ…trength_desc' => "The minimum password strength is an integer value from 0 to 100. Setting it to 0 will turn off checking for the minimum password strength.", +'settings_passwordStrengthAlgorithm' => "Algorithm for password strength", +'settings_passwordStrengthAlgorithm_desc' => "The algorithm used for calculating the password strength. The 'simple' algorithm just checks for at least eight chars total, a lower case letter, an upper case letter, a number and a special char. If those conditions are met the returned score is 100 otherwise 0.", +'settings_passwordStrengthAlgorithm_valsimple' => "simple", +'settings_passwordStrengthAlgorithm_valadvanced' => "advanced", +'settings_perms' => "Permissions", +'settings_pear_log' => "Pear package : Log", +'settings_pear_webdav' => "Pear package : HTTP_WebDAV_Server", 'settings_php_dbDriver' => "PHP extension : php_'see current value'", 'settings_php_gd2' => "PHP extension : php_gd2", 'settings_php_mbstring' => "PHP extension : php_mbstring", @@ -492,7 +595,7 @@ $text = array( 'settings_smtpServer_desc' => "SMTP Server hostname", 'settings_smtpServer' => "SMTP Server hostname", 'settings_SMTP' => "SMTP Server settings", -'settings_stagingDir' => "Directory for partial uploads", +'settings_stagingDir' => "Cartella per upload parziali", 'settings_strictFormCheck_desc' => "Strict form checking. If set to true, then all fields in the form will be checked for a value. If set to false, then (most) comments and keyword fields become optional. Comments are always required when submitting a review or overriding document status", 'settings_strictFormCheck' => "Strict Form Check", 'settings_suggestionvalue' => "Suggestion value", @@ -501,12 +604,14 @@ $text = array( 'settings_theme_desc' => "Default style (name of a subfolder in folder \"styles\")", 'settings_titleDisplayHack_desc' => "Workaround for page titles that go over more than 2 lines.", 'settings_titleDisplayHack' => "Title Display Hack", +'settings_updateDatabase' => "Run schema update scripts on database", 'settings_updateNotifyTime_desc' => "Users are notified about document-changes that took place within the last 'Update Notify Time' seconds", 'settings_updateNotifyTime' => "Update Notify Time", 'settings_versioningFileName_desc' => "The name of the versioning info file created by the backup tool", 'settings_versioningFileName' => "Versioning FileName", 'settings_viewOnlineFileTypes_desc' => "Files with one of the following endings can be viewed online (USE ONLY LOWER CASE CHARACTERS)", 'settings_viewOnlineFileTypes' => "View Online File Types", +'settings_zendframework' => "Zend Framework", 'signed_in_as' => "Utente", 'sign_in' => "sign in", 'sign_out' => "Esci", @@ -524,7 +629,10 @@ $text = array( 'storage_size' => "Dimensione totale", 'submit_approval' => "Approvazione documento", 'submit_login' => "Login", -'submit_review' => "Revisione documento", +'submit_password' => "Impostazione nuova password", +'submit_password_forgotten' => "Inizio processo di recupero", +'submit_review' => "Invio revisione documento", +'submit_userinfo' => "Invio info utente", 'sunday' => "Domenica", 'theme' => "Tema", 'thursday' => "Giovedì", @@ -544,14 +652,14 @@ $text = array( 'unlock_document' => "Sblocca", 'update_approvers' => "Aggiornamento lista approvatori", 'update_document' => "Aggiorna", -'update_fulltext_index' => "Update fulltext index", +'update_fulltext_index' => "Aggiornamento indice fulltext", 'update_info' => "Aggiorna informazioni", 'update_locked_msg' => "Questo documento è bloccato.", 'update_reviewers' => "Aggiornamento lista revisori", 'update' => "Aggiorna", 'uploaded_by' => "Caricato da", 'uploading_failed' => "Upload fallito. Sei pregato di contattare l'amministratore.", -'use_default_categories' => "Use predefined categories", +'use_default_categories' => "Usare categoria predefinite", 'use_default_keywords' => "Usa le parole chiave predefinite", 'user_exists' => "Utente esistente", 'user_image' => "Immagine", diff --git a/op/op.Login.php b/op/op.Login.php index 773a47cf0..5789f252e 100644 --- a/op/op.Login.php +++ b/op/op.Login.php @@ -299,7 +299,7 @@ if (isset($referuri) && strlen($referuri)>0) { header("Location: http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'] . $referuri); } else { - header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=1")); + header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID)); } //_printMessage(getMLText("login_ok"), diff --git a/op/op.RemoveArchive.php b/op/op.RemoveArchive.php index 582afb39c..ff5ca117f 100644 --- a/op/op.RemoveArchive.php +++ b/op/op.RemoveArchive.php @@ -1,46 +1,46 @@ -isAdmin()) { - UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } - + /* Check if the form data comes for a trusted request */ if(!checkFormKey('removearchive')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } -if (!isset($_POST["arkname"]) || !file_exists($settings->_contentDir.$_POST["arkname"]) ) { - UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); +if (!isset($_POST["arkname"]) || !file_exists($settings->_contentDir.$_POST["arkname"]) ) { + UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } - -if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$_POST["arkname"])) { - UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); + +if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$_POST["arkname"])) { + UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } - -add_log_line("?arkname=".$_POST["arkname"]); + +add_log_line("?arkname=".$_POST["arkname"]); header("Location:../out/out.BackupTools.php"); - -?> + +?> diff --git a/op/op.ResetSu.php b/op/op.ResetSu.php new file mode 100644 index 000000000..ee519ce7d --- /dev/null +++ b/op/op.ResetSu.php @@ -0,0 +1,31 @@ +resetSu(); + +add_log_line(""); +header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID)); + +?> diff --git a/op/op.SubstituteUser.php b/op/op.SubstituteUser.php new file mode 100644 index 000000000..8d7b128dc --- /dev/null +++ b/op/op.SubstituteUser.php @@ -0,0 +1,39 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +if (!isset($_GET["userid"])) { + UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); +} + +$session->setSu($_GET['userid']); + +add_log_line("?userid=".$_GET["userid"]); +header("Location: ../".(isset($settings->_siteDefaultPage) && strlen($settings->_siteDefaultPage)>0 ? $settings->_siteDefaultPage : "out/out.ViewFolder.php?folderid=".$settings->_rootFolderID)); + +?> diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index f9f733bb1..ff3ce9edb 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -63,22 +63,28 @@ if ($action == "adduser") { $newUser = $dms->addUser($login, md5($pwd), $name, $email, $settings->_language, $settings->_theme, $comment, $role, $isHidden, $isDisabled, $pwdexpiration); if ($newUser) { + /* Set user image if uploaded */ if (isset($_FILES["userfile"]) && is_uploaded_file($_FILES["userfile"]["tmp_name"]) && $_FILES["userfile"]["size"] > 0 && $_FILES['userfile']['error']==0) { $userfiletype = $_FILES["userfile"]["type"]; $userfilename = $_FILES["userfile"]["name"]; $lastDotIndex = strrpos(basename($userfilename), "."); $fileType = substr($userfilename, $lastDotIndex); - if ($fileType != ".jpg" && $filetype != ".jpeg") - { + if ($fileType != ".jpg" && $filetype != ".jpeg") { UI::exitError(getMLText("admin_tools"),getMLText("only_jpg_user_images")); - } - else - { + } else { resizeImage($_FILES["userfile"]["tmp_name"]); $newUser->setImage($_FILES["userfile"]["tmp_name"], $userfiletype); } } + + /* Set groups if set */ + if(isset($_POST["groups"]) && $_POST["groups"]) { + foreach($_POST["groups"] as $groupid) { + $group = $dms->getGroup($groupid); + $group->addUser($newUser); + } + } } else UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); @@ -259,6 +265,26 @@ else if ($action == "edituser") { if (isset($_POST["grpApprovers"])) foreach ($_POST["grpApprovers"] as $appID) $editedUser->setMandatoryApprover($appID,true); + /* Updates groups */ + if(isset($_POST["groups"])) + $newgroups = $_POST["groups"]; + else + $newgroups = array(); + $oldgroups = array(); + foreach($editedUser->getGroups() as $k) + $oldgroups[] = $k->getID(); + + $addgroups = array_diff($newgroups, $oldgroups); + foreach($addgroups as $groupid) { + $group = $dms->getGroup($groupid); + $group->addUser($editedUser); + } + $delgroups = array_diff($oldgroups, $newgroups); + foreach($delgroups as $groupid) { + $group = $dms->getGroup($groupid); + $group->removeUser($editedUser); + } + add_log_line(".php&action=edituser&userid=".$userid); } @@ -271,19 +297,19 @@ function resizeImage($imageFile) { // and the output quality is low. Now uses the function imagecreatetruecolor(), // though, so at least the pictures are in colour. - // Originalbild einlesen + // read original image $origImg = imagecreatefromjpeg($imageFile); $width = imagesx($origImg); $height = imagesy($origImg); - // Thumbnail im Speicher erzeugen + // Create thumbnail in memory $newHeight = 150; $newWidth = ($width/$height) * $newHeight; $newImg = imagecreatetruecolor($newWidth, $newHeight); - // Verkleinern + // resize imagecopyresized($newImg, $origImg, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); - // In File speichern + // save to file imagejpeg($newImg, $imageFile); - // Aufräumen + // Clean up imagedestroy($origImg); imagedestroy($newImg); diff --git a/out/images/attention.gif b/out/images/attention.gif new file mode 100644 index 000000000..ae87ca9c6 Binary files /dev/null and b/out/images/attention.gif differ diff --git a/out/out.SubstituteUser.php b/out/out.SubstituteUser.php new file mode 100644 index 000000000..9dac363fa --- /dev/null +++ b/out/out.SubstituteUser.php @@ -0,0 +1,43 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +$allUsers = $dms->getAllUsers($settings->_sortUsersInList); + +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1]); +if($view) { + $view->setParam('dms', $dms); + $view->setParam('user', $user); + $view->setParam('allusers', $allUsers); + $view->show(); + exit; +} + +?> diff --git a/out/out.ViewFolder.php b/out/out.ViewFolder.php index 55229e0ff..43b2ed4f0 100644 --- a/out/out.ViewFolder.php +++ b/out/out.ViewFolder.php @@ -62,6 +62,7 @@ if($view) { $view->setParam('enableClipboard', false /*$settings->_enableClipboard */); $view->setParam('showtree', showtree()); $view->setParam('cachedir', $settings->_cacheDir); + $view->setParam('workflowmode', $settings->_workflowMode); $view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount); $view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount); $view->show(); diff --git a/styles/bootstrap/application.css b/styles/bootstrap/application.css index c35629855..f9675e25e 100644 --- a/styles/bootstrap/application.css +++ b/styles/bootstrap/application.css @@ -4,6 +4,18 @@ body { /* Add top padding for full-width layout */ img.mimeicon { } +.list-action a { + text-decoration: none; + color: #333; + padding: 2px; +} + +#admin-tools i { + font-size: 300%; + line-height: 110%; + min-height: 100px; +} + @media (max-width: 480px) { .nav-tabs > li { float:none; diff --git a/styles/bootstrap/font-awesome/css/font-awesome-ie7.min.css b/styles/bootstrap/font-awesome/css/font-awesome-ie7.min.css new file mode 100644 index 000000000..ae301609e --- /dev/null +++ b/styles/bootstrap/font-awesome/css/font-awesome-ie7.min.css @@ -0,0 +1,22 @@ +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */.icon-large{font-size:1.3333333333333333em;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px;vertical-align:middle}.nav [class^="icon-"],.nav [class*=" icon-"]{vertical-align:inherit;margin-top:-4px;padding-top:3px;margin-bottom:-4px;padding-bottom:3px}.nav [class^="icon-"].icon-large,.nav [class*=" icon-"].icon-large{vertical-align:-25%}.nav-pills [class^="icon-"].icon-large,.nav-tabs [class^="icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large{line-height:.75em;margin-top:-7px;padding-top:5px;margin-bottom:-5px;padding-bottom:4px}.btn [class^="icon-"].pull-left,.btn [class*=" icon-"].pull-left,.btn [class^="icon-"].pull-right,.btn [class*=" icon-"].pull-right{vertical-align:inherit}.btn [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large{margin-top:-0.5em}a [class^="icon-"],a [class*=" icon-"]{cursor:pointer}ul.icons{text-indent:-1.5em;margin-left:3em}.icon-glass{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-music{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-search{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-envelope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-heart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-user{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-film{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th-large{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-th-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-zoom-in{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-zoom-out{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cog{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-trash{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-home{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-file{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-time{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-road{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-download-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-inbox{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-play-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-repeat{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-refresh{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-flag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-headphones{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-off{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-volume-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-qrcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-barcode{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tag{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tags{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-book{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bookmark{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-print{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-camera{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-font{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bold{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-italic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-text-height{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-text-width{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-center{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-align-justify{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-indent-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-indent-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facetime-video{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-picture{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pencil{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-map-marker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-adjust{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tint{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-edit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-share{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-move{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-step-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fast-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-backward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-play{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pause{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-stop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fast-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-step-forward{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eject{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-minus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-question-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-info-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-screenshot{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-remove-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ok-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ban-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-share-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-full{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-small{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-minus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-asterisk{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-exclamation-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-gift{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-leaf{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fire{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eye-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-eye-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-warning-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plane{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-calendar{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-random{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comment{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-magnet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-chevron-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-retweet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-shopping-cart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-close{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-open{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-vertical{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-resize-horizontal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bar-chart{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-twitter-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facebook-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-camera-retro{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-key{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cogs{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comments{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-thumbs-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-thumbs-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-star-half{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-heart-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signout{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-linkedin-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pushpin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-external-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-signin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-trophy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-github-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-upload-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lemon{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-check-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bookmark-empty{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-phone-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-twitter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-facebook{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-github{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-unlock{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-credit-card{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-rss{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hdd{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bullhorn{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bell{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-certificate{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hand-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-arrow-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-globe{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-wrench{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tasks{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-filter{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-briefcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fullscreen{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-group{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-link{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-beaker{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cut{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-copy{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-paper-clip{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-save{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sign-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-reorder{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-ul{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-list-ol{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-strikethrough{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-underline{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-table{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-magic{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-truck{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pinterest{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-pinterest-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-google-plus-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-google-plus{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-money{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-caret-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-columns{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sort-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-envelope-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-linkedin{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-undo{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-legal{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-dashboard{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comment-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-comments-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bolt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-sitemap{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-umbrella{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-paste{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-lightbulb{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-exchange{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud-download{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-cloud-upload{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-user-md{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-stethoscope{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-suitcase{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-bell-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-coffee{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-food{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-file-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-building{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-hospital{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-ambulance{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-medkit{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-fighter-jet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-beer{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-h-sign{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-plus-sign-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-double-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-up{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-angle-down{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-desktop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-laptop{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-tablet{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-mobile-phone{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle-blank{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-quote-left{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-quote-right{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-spinner{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-circle{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-reply{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-github-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-close-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')}.icon-folder-open-alt{*zoom:expression(this.runtimeStyle['zoom'] = '1',this.innerHTML = '')} \ No newline at end of file diff --git a/styles/bootstrap/font-awesome/css/font-awesome.css b/styles/bootstrap/font-awesome/css/font-awesome.css new file mode 100644 index 000000000..887509896 --- /dev/null +++ b/styles/bootstrap/font-awesome/css/font-awesome.css @@ -0,0 +1,540 @@ +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */ +@font-face { + font-family: 'FontAwesome'; + src: url('../font/fontawesome-webfont.eot?v=3.0.1'); + src: url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), + url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'), + url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); + font-weight: normal; + font-style: normal; +} +/* Font Awesome styles + ------------------------------------------------------- */ +[class^="icon-"], +[class*=" icon-"] { + font-family: FontAwesome; + font-weight: normal; + font-style: normal; + text-decoration: inherit; + -webkit-font-smoothing: antialiased; + + /* sprites.less reset */ + display: inline; + width: auto; + height: auto; + line-height: normal; + vertical-align: baseline; + background-image: none; + background-position: 0% 0%; + background-repeat: repeat; + margin-top: 0; +} +/* more sprites.less reset */ +.icon-white, +.nav-pills > .active > a > [class^="icon-"], +.nav-pills > .active > a > [class*=" icon-"], +.nav-list > .active > a > [class^="icon-"], +.nav-list > .active > a > [class*=" icon-"], +.navbar-inverse .nav > .active > a > [class^="icon-"], +.navbar-inverse .nav > .active > a > [class*=" icon-"], +.dropdown-menu > li > a:hover > [class^="icon-"], +.dropdown-menu > li > a:hover > [class*=" icon-"], +.dropdown-menu > .active > a > [class^="icon-"], +.dropdown-menu > .active > a > [class*=" icon-"], +.dropdown-submenu:hover > a > [class^="icon-"], +.dropdown-submenu:hover > a > [class*=" icon-"] { + background-image: none; +} +[class^="icon-"]:before, +[class*=" icon-"]:before { + text-decoration: inherit; + display: inline-block; + speak: none; +} +/* makes sure icons active on rollover in links */ +a [class^="icon-"], +a [class*=" icon-"] { + display: inline-block; +} +/* makes the font 33% larger relative to the icon container */ +.icon-large:before { + vertical-align: -10%; + font-size: 1.3333333333333333em; +} +.btn [class^="icon-"], +.nav [class^="icon-"], +.btn [class*=" icon-"], +.nav [class*=" icon-"] { + display: inline; + /* keeps button heights with and without icons the same */ + +} +.btn [class^="icon-"].icon-large, +.nav [class^="icon-"].icon-large, +.btn [class*=" icon-"].icon-large, +.nav [class*=" icon-"].icon-large { + line-height: .9em; +} +.btn [class^="icon-"].icon-spin, +.nav [class^="icon-"].icon-spin, +.btn [class*=" icon-"].icon-spin, +.nav [class*=" icon-"].icon-spin { + display: inline-block; +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"] { + /* keeps button heights with and without icons the same */ + +} +.nav-tabs [class^="icon-"], +.nav-pills [class^="icon-"], +.nav-tabs [class*=" icon-"], +.nav-pills [class*=" icon-"], +.nav-tabs [class^="icon-"].icon-large, +.nav-pills [class^="icon-"].icon-large, +.nav-tabs [class*=" icon-"].icon-large, +.nav-pills [class*=" icon-"].icon-large { + line-height: .9em; +} +li [class^="icon-"], +.nav li [class^="icon-"], +li [class*=" icon-"], +.nav li [class*=" icon-"] { + display: inline-block; + width: 1.25em; + text-align: center; +} +li [class^="icon-"].icon-large, +.nav li [class^="icon-"].icon-large, +li [class*=" icon-"].icon-large, +.nav li [class*=" icon-"].icon-large { + /* increased font size for icon-large */ + + width: 1.5625em; +} +ul.icons { + list-style-type: none; + text-indent: -0.75em; +} +ul.icons li [class^="icon-"], +ul.icons li [class*=" icon-"] { + width: .75em; +} +.icon-muted { + color: #eeeeee; +} +.icon-border { + border: solid 1px #eeeeee; + padding: .2em .25em .15em; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.icon-2x { + font-size: 2em; +} +.icon-2x.icon-border { + border-width: 2px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +.icon-3x { + font-size: 3em; +} +.icon-3x.icon-border { + border-width: 3px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +.icon-4x { + font-size: 4em; +} +.icon-4x.icon-border { + border-width: 4px; + -webkit-border-radius: 6px; + -moz-border-radius: 6px; + border-radius: 6px; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +[class^="icon-"].pull-left, +[class*=" icon-"].pull-left { + margin-right: .3em; +} +[class^="icon-"].pull-right, +[class*=" icon-"].pull-right { + margin-left: .3em; +} +.btn [class^="icon-"].pull-left.icon-2x, +.btn [class*=" icon-"].pull-left.icon-2x, +.btn [class^="icon-"].pull-right.icon-2x, +.btn [class*=" icon-"].pull-right.icon-2x { + margin-top: .18em; +} +.btn [class^="icon-"].icon-spin.icon-large, +.btn [class*=" icon-"].icon-spin.icon-large { + line-height: .8em; +} +.btn.btn-small [class^="icon-"].pull-left.icon-2x, +.btn.btn-small [class*=" icon-"].pull-left.icon-2x, +.btn.btn-small [class^="icon-"].pull-right.icon-2x, +.btn.btn-small [class*=" icon-"].pull-right.icon-2x { + margin-top: .25em; +} +.btn.btn-large [class^="icon-"], +.btn.btn-large [class*=" icon-"] { + margin-top: 0; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x, +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-top: .05em; +} +.btn.btn-large [class^="icon-"].pull-left.icon-2x, +.btn.btn-large [class*=" icon-"].pull-left.icon-2x { + margin-right: .2em; +} +.btn.btn-large [class^="icon-"].pull-right.icon-2x, +.btn.btn-large [class*=" icon-"].pull-right.icon-2x { + margin-left: .2em; +} +.icon-spin { + display: inline-block; + -moz-animation: spin 2s infinite linear; + -o-animation: spin 2s infinite linear; + -webkit-animation: spin 2s infinite linear; + animation: spin 2s infinite linear; +} +@-moz-keyframes spin { + 0% { -moz-transform: rotate(0deg); } + 100% { -moz-transform: rotate(359deg); } +} +@-webkit-keyframes spin { + 0% { -webkit-transform: rotate(0deg); } + 100% { -webkit-transform: rotate(359deg); } +} +@-o-keyframes spin { + 0% { -o-transform: rotate(0deg); } + 100% { -o-transform: rotate(359deg); } +} +@-ms-keyframes spin { + 0% { -ms-transform: rotate(0deg); } + 100% { -ms-transform: rotate(359deg); } +} +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(359deg); } +} +@-moz-document url-prefix() { + .icon-spin { + height: .9em; + } + .btn .icon-spin { + height: auto; + } + .icon-spin.icon-large { + height: 1.25em; + } + .btn .icon-spin.icon-large { + height: .75em; + } +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.icon-glass:before { content: "\f000"; } +.icon-music:before { content: "\f001"; } +.icon-search:before { content: "\f002"; } +.icon-envelope:before { content: "\f003"; } +.icon-heart:before { content: "\f004"; } +.icon-star:before { content: "\f005"; } +.icon-star-empty:before { content: "\f006"; } +.icon-user:before { content: "\f007"; } +.icon-film:before { content: "\f008"; } +.icon-th-large:before { content: "\f009"; } +.icon-th:before { content: "\f00a"; } +.icon-th-list:before { content: "\f00b"; } +.icon-ok:before { content: "\f00c"; } +.icon-remove:before { content: "\f00d"; } +.icon-zoom-in:before { content: "\f00e"; } + +.icon-zoom-out:before { content: "\f010"; } +.icon-off:before { content: "\f011"; } +.icon-signal:before { content: "\f012"; } +.icon-cog:before { content: "\f013"; } +.icon-trash:before { content: "\f014"; } +.icon-home:before { content: "\f015"; } +.icon-file:before { content: "\f016"; } +.icon-time:before { content: "\f017"; } +.icon-road:before { content: "\f018"; } +.icon-download-alt:before { content: "\f019"; } +.icon-download:before { content: "\f01a"; } +.icon-upload:before { content: "\f01b"; } +.icon-inbox:before { content: "\f01c"; } +.icon-play-circle:before { content: "\f01d"; } +.icon-repeat:before { content: "\f01e"; } + +/* \f020 doesn't work in Safari. all shifted one down */ +.icon-refresh:before { content: "\f021"; } +.icon-list-alt:before { content: "\f022"; } +.icon-lock:before { content: "\f023"; } +.icon-flag:before { content: "\f024"; } +.icon-headphones:before { content: "\f025"; } +.icon-volume-off:before { content: "\f026"; } +.icon-volume-down:before { content: "\f027"; } +.icon-volume-up:before { content: "\f028"; } +.icon-qrcode:before { content: "\f029"; } +.icon-barcode:before { content: "\f02a"; } +.icon-tag:before { content: "\f02b"; } +.icon-tags:before { content: "\f02c"; } +.icon-book:before { content: "\f02d"; } +.icon-bookmark:before { content: "\f02e"; } +.icon-print:before { content: "\f02f"; } + +.icon-camera:before { content: "\f030"; } +.icon-font:before { content: "\f031"; } +.icon-bold:before { content: "\f032"; } +.icon-italic:before { content: "\f033"; } +.icon-text-height:before { content: "\f034"; } +.icon-text-width:before { content: "\f035"; } +.icon-align-left:before { content: "\f036"; } +.icon-align-center:before { content: "\f037"; } +.icon-align-right:before { content: "\f038"; } +.icon-align-justify:before { content: "\f039"; } +.icon-list:before { content: "\f03a"; } +.icon-indent-left:before { content: "\f03b"; } +.icon-indent-right:before { content: "\f03c"; } +.icon-facetime-video:before { content: "\f03d"; } +.icon-picture:before { content: "\f03e"; } + +.icon-pencil:before { content: "\f040"; } +.icon-map-marker:before { content: "\f041"; } +.icon-adjust:before { content: "\f042"; } +.icon-tint:before { content: "\f043"; } +.icon-edit:before { content: "\f044"; } +.icon-share:before { content: "\f045"; } +.icon-check:before { content: "\f046"; } +.icon-move:before { content: "\f047"; } +.icon-step-backward:before { content: "\f048"; } +.icon-fast-backward:before { content: "\f049"; } +.icon-backward:before { content: "\f04a"; } +.icon-play:before { content: "\f04b"; } +.icon-pause:before { content: "\f04c"; } +.icon-stop:before { content: "\f04d"; } +.icon-forward:before { content: "\f04e"; } + +.icon-fast-forward:before { content: "\f050"; } +.icon-step-forward:before { content: "\f051"; } +.icon-eject:before { content: "\f052"; } +.icon-chevron-left:before { content: "\f053"; } +.icon-chevron-right:before { content: "\f054"; } +.icon-plus-sign:before { content: "\f055"; } +.icon-minus-sign:before { content: "\f056"; } +.icon-remove-sign:before { content: "\f057"; } +.icon-ok-sign:before { content: "\f058"; } +.icon-question-sign:before { content: "\f059"; } +.icon-info-sign:before { content: "\f05a"; } +.icon-screenshot:before { content: "\f05b"; } +.icon-remove-circle:before { content: "\f05c"; } +.icon-ok-circle:before { content: "\f05d"; } +.icon-ban-circle:before { content: "\f05e"; } + +.icon-arrow-left:before { content: "\f060"; } +.icon-arrow-right:before { content: "\f061"; } +.icon-arrow-up:before { content: "\f062"; } +.icon-arrow-down:before { content: "\f063"; } +.icon-share-alt:before { content: "\f064"; } +.icon-resize-full:before { content: "\f065"; } +.icon-resize-small:before { content: "\f066"; } +.icon-plus:before { content: "\f067"; } +.icon-minus:before { content: "\f068"; } +.icon-asterisk:before { content: "\f069"; } +.icon-exclamation-sign:before { content: "\f06a"; } +.icon-gift:before { content: "\f06b"; } +.icon-leaf:before { content: "\f06c"; } +.icon-fire:before { content: "\f06d"; } +.icon-eye-open:before { content: "\f06e"; } + +.icon-eye-close:before { content: "\f070"; } +.icon-warning-sign:before { content: "\f071"; } +.icon-plane:before { content: "\f072"; } +.icon-calendar:before { content: "\f073"; } +.icon-random:before { content: "\f074"; } +.icon-comment:before { content: "\f075"; } +.icon-magnet:before { content: "\f076"; } +.icon-chevron-up:before { content: "\f077"; } +.icon-chevron-down:before { content: "\f078"; } +.icon-retweet:before { content: "\f079"; } +.icon-shopping-cart:before { content: "\f07a"; } +.icon-folder-close:before { content: "\f07b"; } +.icon-folder-open:before { content: "\f07c"; } +.icon-resize-vertical:before { content: "\f07d"; } +.icon-resize-horizontal:before { content: "\f07e"; } + +.icon-bar-chart:before { content: "\f080"; } +.icon-twitter-sign:before { content: "\f081"; } +.icon-facebook-sign:before { content: "\f082"; } +.icon-camera-retro:before { content: "\f083"; } +.icon-key:before { content: "\f084"; } +.icon-cogs:before { content: "\f085"; } +.icon-comments:before { content: "\f086"; } +.icon-thumbs-up:before { content: "\f087"; } +.icon-thumbs-down:before { content: "\f088"; } +.icon-star-half:before { content: "\f089"; } +.icon-heart-empty:before { content: "\f08a"; } +.icon-signout:before { content: "\f08b"; } +.icon-linkedin-sign:before { content: "\f08c"; } +.icon-pushpin:before { content: "\f08d"; } +.icon-external-link:before { content: "\f08e"; } + +.icon-signin:before { content: "\f090"; } +.icon-trophy:before { content: "\f091"; } +.icon-github-sign:before { content: "\f092"; } +.icon-upload-alt:before { content: "\f093"; } +.icon-lemon:before { content: "\f094"; } +.icon-phone:before { content: "\f095"; } +.icon-check-empty:before { content: "\f096"; } +.icon-bookmark-empty:before { content: "\f097"; } +.icon-phone-sign:before { content: "\f098"; } +.icon-twitter:before { content: "\f099"; } +.icon-facebook:before { content: "\f09a"; } +.icon-github:before { content: "\f09b"; } +.icon-unlock:before { content: "\f09c"; } +.icon-credit-card:before { content: "\f09d"; } +.icon-rss:before { content: "\f09e"; } + +.icon-hdd:before { content: "\f0a0"; } +.icon-bullhorn:before { content: "\f0a1"; } +.icon-bell:before { content: "\f0a2"; } +.icon-certificate:before { content: "\f0a3"; } +.icon-hand-right:before { content: "\f0a4"; } +.icon-hand-left:before { content: "\f0a5"; } +.icon-hand-up:before { content: "\f0a6"; } +.icon-hand-down:before { content: "\f0a7"; } +.icon-circle-arrow-left:before { content: "\f0a8"; } +.icon-circle-arrow-right:before { content: "\f0a9"; } +.icon-circle-arrow-up:before { content: "\f0aa"; } +.icon-circle-arrow-down:before { content: "\f0ab"; } +.icon-globe:before { content: "\f0ac"; } +.icon-wrench:before { content: "\f0ad"; } +.icon-tasks:before { content: "\f0ae"; } + +.icon-filter:before { content: "\f0b0"; } +.icon-briefcase:before { content: "\f0b1"; } +.icon-fullscreen:before { content: "\f0b2"; } + +.icon-group:before { content: "\f0c0"; } +.icon-link:before { content: "\f0c1"; } +.icon-cloud:before { content: "\f0c2"; } +.icon-beaker:before { content: "\f0c3"; } +.icon-cut:before { content: "\f0c4"; } +.icon-copy:before { content: "\f0c5"; } +.icon-paper-clip:before { content: "\f0c6"; } +.icon-save:before { content: "\f0c7"; } +.icon-sign-blank:before { content: "\f0c8"; } +.icon-reorder:before { content: "\f0c9"; } +.icon-list-ul:before { content: "\f0ca"; } +.icon-list-ol:before { content: "\f0cb"; } +.icon-strikethrough:before { content: "\f0cc"; } +.icon-underline:before { content: "\f0cd"; } +.icon-table:before { content: "\f0ce"; } + +.icon-magic:before { content: "\f0d0"; } +.icon-truck:before { content: "\f0d1"; } +.icon-pinterest:before { content: "\f0d2"; } +.icon-pinterest-sign:before { content: "\f0d3"; } +.icon-google-plus-sign:before { content: "\f0d4"; } +.icon-google-plus:before { content: "\f0d5"; } +.icon-money:before { content: "\f0d6"; } +.icon-caret-down:before { content: "\f0d7"; } +.icon-caret-up:before { content: "\f0d8"; } +.icon-caret-left:before { content: "\f0d9"; } +.icon-caret-right:before { content: "\f0da"; } +.icon-columns:before { content: "\f0db"; } +.icon-sort:before { content: "\f0dc"; } +.icon-sort-down:before { content: "\f0dd"; } +.icon-sort-up:before { content: "\f0de"; } + +.icon-envelope-alt:before { content: "\f0e0"; } +.icon-linkedin:before { content: "\f0e1"; } +.icon-undo:before { content: "\f0e2"; } +.icon-legal:before { content: "\f0e3"; } +.icon-dashboard:before { content: "\f0e4"; } +.icon-comment-alt:before { content: "\f0e5"; } +.icon-comments-alt:before { content: "\f0e6"; } +.icon-bolt:before { content: "\f0e7"; } +.icon-sitemap:before { content: "\f0e8"; } +.icon-umbrella:before { content: "\f0e9"; } +.icon-paste:before { content: "\f0ea"; } +.icon-lightbulb:before { content: "\f0eb"; } +.icon-exchange:before { content: "\f0ec"; } +.icon-cloud-download:before { content: "\f0ed"; } +.icon-cloud-upload:before { content: "\f0ee"; } + +.icon-user-md:before { content: "\f0f0"; } +.icon-stethoscope:before { content: "\f0f1"; } +.icon-suitcase:before { content: "\f0f2"; } +.icon-bell-alt:before { content: "\f0f3"; } +.icon-coffee:before { content: "\f0f4"; } +.icon-food:before { content: "\f0f5"; } +.icon-file-alt:before { content: "\f0f6"; } +.icon-building:before { content: "\f0f7"; } +.icon-hospital:before { content: "\f0f8"; } +.icon-ambulance:before { content: "\f0f9"; } +.icon-medkit:before { content: "\f0fa"; } +.icon-fighter-jet:before { content: "\f0fb"; } +.icon-beer:before { content: "\f0fc"; } +.icon-h-sign:before { content: "\f0fd"; } +.icon-plus-sign-alt:before { content: "\f0fe"; } + +.icon-double-angle-left:before { content: "\f100"; } +.icon-double-angle-right:before { content: "\f101"; } +.icon-double-angle-up:before { content: "\f102"; } +.icon-double-angle-down:before { content: "\f103"; } +.icon-angle-left:before { content: "\f104"; } +.icon-angle-right:before { content: "\f105"; } +.icon-angle-up:before { content: "\f106"; } +.icon-angle-down:before { content: "\f107"; } +.icon-desktop:before { content: "\f108"; } +.icon-laptop:before { content: "\f109"; } +.icon-tablet:before { content: "\f10a"; } +.icon-mobile-phone:before { content: "\f10b"; } +.icon-circle-blank:before { content: "\f10c"; } +.icon-quote-left:before { content: "\f10d"; } +.icon-quote-right:before { content: "\f10e"; } + +.icon-spinner:before { content: "\f110"; } +.icon-circle:before { content: "\f111"; } +.icon-reply:before { content: "\f112"; } +.icon-github-alt:before { content: "\f113"; } +.icon-folder-close-alt:before { content: "\f114"; } +.icon-folder-open-alt:before { content: "\f115"; } diff --git a/styles/bootstrap/font-awesome/css/font-awesome.min.css b/styles/bootstrap/font-awesome/css/font-awesome.min.css new file mode 100644 index 000000000..d4e45b3c9 --- /dev/null +++ b/styles/bootstrap/font-awesome/css/font-awesome.min.css @@ -0,0 +1,33 @@ +/*! + * Font Awesome 3.0.2 + * the iconic font designed for use with Twitter Bootstrap + * ------------------------------------------------------- + * The full suite of pictographic icons, examples, and documentation + * can be found at: http://fortawesome.github.com/Font-Awesome/ + * + * License + * ------------------------------------------------------- + * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL + * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License - + * http://opensource.org/licenses/mit-license.html + * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/ + * - Attribution is no longer required in Font Awesome 3.0, but much appreciated: + * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome" + + * Contact + * ------------------------------------------------------- + * Email: dave@davegandy.com + * Twitter: http://twitter.com/fortaweso_me + * Work: Lead Product Designer @ http://kyruus.com + */ + +@font-face{ + font-family:'FontAwesome'; + src:url('../font/fontawesome-webfont.eot?v=3.0.1'); + src:url('../font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'), + url('../font/fontawesome-webfont.woff?v=3.0.1') format('woff'), + url('../font/fontawesome-webfont.ttf?v=3.0.1') format('truetype'); + font-weight:normal; + font-style:normal } + +[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}a [class^="icon-"],a [class*=" icon-"]{display:inline-block}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}.btn [class^="icon-"],.nav [class^="icon-"],.btn [class*=" icon-"],.nav [class*=" icon-"]{display:inline}.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}li [class^="icon-"],.nav li [class^="icon-"],li [class*=" icon-"],.nav li [class*=" icon-"]{display:inline-block;width:1.25em;text-align:center}li [class^="icon-"].icon-large,.nav li [class^="icon-"].icon-large,li [class*=" icon-"].icon-large,.nav li [class*=" icon-"].icon-large{width:1.5625em}ul.icons{list-style-type:none;text-indent:-0.75em}ul.icons li [class^="icon-"],ul.icons li [class*=" icon-"]{width:.75em}.icon-muted{color:#eee}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}@-moz-document url-prefix(){.icon-spin{height:.9em}.btn .icon-spin{height:auto}.icon-spin.icon-large{height:1.25em}.btn .icon-spin.icon-large{height:.75em}}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope-alt:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"} \ No newline at end of file diff --git a/styles/bootstrap/font-awesome/font/FontAwesome.otf b/styles/bootstrap/font-awesome/font/FontAwesome.otf new file mode 100644 index 000000000..64049bf2e Binary files /dev/null and b/styles/bootstrap/font-awesome/font/FontAwesome.otf differ diff --git a/styles/bootstrap/font-awesome/font/fontawesome-webfont.eot b/styles/bootstrap/font-awesome/font/fontawesome-webfont.eot new file mode 100755 index 000000000..7d81019e4 Binary files /dev/null and b/styles/bootstrap/font-awesome/font/fontawesome-webfont.eot differ diff --git a/styles/bootstrap/font-awesome/font/fontawesome-webfont.svg b/styles/bootstrap/font-awesome/font/fontawesome-webfont.svg new file mode 100755 index 000000000..ba0afe5ef --- /dev/null +++ b/styles/bootstrap/font-awesome/font/fontawesome-webfont.svg @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/styles/bootstrap/font-awesome/font/fontawesome-webfont.ttf b/styles/bootstrap/font-awesome/font/fontawesome-webfont.ttf new file mode 100755 index 000000000..d46172476 Binary files /dev/null and b/styles/bootstrap/font-awesome/font/fontawesome-webfont.ttf differ diff --git a/styles/bootstrap/font-awesome/font/fontawesome-webfont.woff b/styles/bootstrap/font-awesome/font/fontawesome-webfont.woff new file mode 100755 index 000000000..3c89ae09b Binary files /dev/null and b/styles/bootstrap/font-awesome/font/fontawesome-webfont.woff differ diff --git a/views/bootstrap/class.AdminTools.php b/views/bootstrap/class.AdminTools.php index e33472c32..848ce3165 100644 --- a/views/bootstrap/class.AdminTools.php +++ b/views/bootstrap/class.AdminTools.php @@ -44,30 +44,58 @@ class SeedDMS_View_AdminTools extends SeedDMS_Bootstrap_Style { // $this->contentHeading(getMLText("admin_tools")); $this->contentContainerStart(); ?> - +

+
+
+
+
+
+

+
+
+
+ contentContainerEnd(); $this->htmlEndPage(); diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index 972937d00..1498aac68 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -225,7 +225,7 @@ function showAttributeDefinitions(selectObj) { - "> + diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index f6d6374ea..c38b74b66 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -39,6 +39,7 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { echo ''."\n"; echo ''."\n"; echo ''."\n"; + echo ''."\n"; echo ''."\n"; echo ''."\n"; if($this->extraheader) @@ -116,60 +117,66 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { echo " \n"; echo " params['rootfolderid']."\">".(strlen($this->params['sitename'])>0 ? $this->params['sitename'] : "SeedDMS")."\n"; if(isset($this->params['user']) && $this->params['user']) { - echo "
\n"; - echo " \n"; - echo " \n"; - echo "
"; - if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), "SeedDMS_Core_Folder")) { - echo " getID()."\" />"; - } - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - if($this->params['enablefullsearch']) { - echo " "; - } -// echo " "; - echo "
\n"; - echo "
\n"; + echo " \n"; + echo "
"; + if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), "SeedDMS_Core_Folder")) { + echo " getID()."\" />"; + } + echo " "; + echo " "; + echo " "; + echo " "; + echo " "; + if($this->params['enablefullsearch']) { + echo " "; + } + // echo " "; + echo "
\n"; + echo " \n"; } echo " \n"; echo " \n"; @@ -361,7 +368,7 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common { echo "