Merge branch 'seeddms-4.3.9' into develop

Conflicts:
	views/bootstrap/class.Bootstrap.php
This commit is contained in:
Uwe Steinmann 2014-07-03 12:07:27 +02:00
commit 579946d455
40 changed files with 482 additions and 124 deletions

View File

@ -18,6 +18,9 @@
document list (ViewFolder and Search)
- critical ajax calls require form token to be set
- fix drag and drop from clipboard
- much improved document handling
- list mandatory approvers/reviewers on AddDocument and UpdateDocument page (Bug #154)
₋ search in attributes of folders
--------------------------------------------------------------------------------
Changes in version 4.3.8

View File

@ -585,5 +585,50 @@ class SeedDMS_Core_AttributeDefinition { /* {{{ */
return true;
} /* }}} */
/**
* Get all documents and folder by a given attribute value
*
* @param string $attrvalue value of attribute
* @param integer $limit limit number of documents/folders
* @return array array containing list of documents and folders
*/
public function getObjects($attrvalue, $limit) { /* {{{ */
$db = $this->_dms->getDB();
$result = array('docs'=>array(), 'folders'=>array(), 'contents'=>array());
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_document) {
$queryStr = "SELECT * FROM tblDocumentAttributes WHERE attrdef=".$this->_id." AND value=".$db->qstr($attrvalue);
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
if($resArr) {
foreach($resArr as $rec) {
if($doc = $this->_dms->getDocument($rec['document'])) {
$result['docs'][] = $doc;
}
}
}
}
if($this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_all ||
$this->_objtype == SeedDMS_Core_AttributeDefinition::objtype_folder) {
$queryStr = "SELECT * FROM tblFolderAttributes WHERE attrdef=".$this->_id." AND value=".$db->qstr($attrvalue);
if($limit)
$queryStr .= " limit ".(int) $limit;
$resArr = $db->getResultArray($queryStr);
if($resArr) {
foreach($resArr as $rec) {
if($folder = $this->_dms->getFolder($rec['folder'])) {
$result['folders'][] = $folder;
}
}
}
}
return $result;
} /* }}} */
} /* }}} */
?>

View File

@ -541,7 +541,7 @@ class SeedDMS_Core_DMS {
* @param offset integer index of first item in result set
* @param logicalmode string either AND or OR
* @param searchin array() list of fields to search in
* 1 = keywords, 2=name, 3=comment
* 1 = keywords, 2=name, 3=comment, 4=attributes
* @param startFolder object search in the folder only (null for root folder)
* @param owner object search for documents owned by this user
* @param status array list of status
@ -616,6 +616,24 @@ class SeedDMS_Core_DMS {
}
}
// Check to see if the search has been restricted to a particular
// attribute.
$searchAttributes = array();
if ($attributes) {
foreach($attributes as $attrdefid=>$attribute) {
if($attribute) {
$attrdef = $this->getAttributeDefinition($attrdefid);
if($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_document) {
if($attrdef->getValueSet())
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value`='".$attribute."'";
else
$searchAttributes[] = "`tblFolderAttributes`.`attrdef`=".$attrdefid." AND `tblFolderAttributes`.`value` like '%".$attribute."%'";
} elseif($attrdef->getObjType() == SeedDMS_Core_AttributeDefinition::objtype_documentcontent) {
}
}
}
}
// Is the search restricted to documents created between two specific dates?
$searchCreateDate = "";
if ($creationstartdate) {

View File

@ -29,7 +29,7 @@ class SeedDMS_Lucene_Indexer {
*/
protected $indexname;
function open($luceneDir) { /* {{{ */
static function open($luceneDir) { /* {{{ */
try {
$index = Zend_Search_Lucene::open($luceneDir);
return($index);

View File

@ -24,6 +24,7 @@
<license uri="http://opensource.org/licenses/gpl-license">GPL License</license>
<notes>
field for original filename is treated as utf-8
declare SeeDMS_Lucene_Indexer::open() static
</notes>
<contents>
<dir baseinstalldir="SeedDMS" name="/">

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1064)
// Translators: Admin (1066)
$text = array(
'accept' => 'وافق',
@ -122,8 +122,8 @@ Parent folder: [folder_path]
User: [username]
URL: [url]',
'attribute_changed_email_subject' => '[sitename]: [name] - تم تغيير سمة',
'attribute_count' => '',
'attribute_value' => '',
'attribute_count' => 'ﻉﺩﺩ ﻡﺭﺎﺗ ﺍﻸﺴﺘﺧﺩﺎﻣ',
'attribute_value' => 'ﻖﻴﻣﺓ ﺎﻠﺴﻣﺓ',
'attr_no_regex_match' => '',
'at_least_n_users_of_group' => '',
'august' => 'أغسطس',
@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'ادارة ملفات السجلات',
'manager' => 'مدير',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'مارس',
'max_upload_size' => 'الحجم الاقصى للملف',

View File

@ -424,9 +424,13 @@ $text = array(
'log_management' => 'Gestió de fitxers de registre',
'manager' => 'Manager',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Març',
'max_upload_size' => 'Mida màxima de pujada de cada fitxer',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (610), kreml (429)
// Translators: Admin (613), kreml (429)
$text = array(
'accept' => 'Přijmout',
@ -76,7 +76,7 @@ URL: [url]',
'apply' => 'Použít',
'approval_deletion_email' => 'Zrušení schválení požadavku',
'approval_group' => 'Skupina schválení',
'approval_log' => '',
'approval_log' => 'Log schvalování',
'approval_request_email' => 'Schválení požadavku',
'approval_request_email_body' => 'Žádost o schválení
Dokument: [name]
@ -498,9 +498,13 @@ URL: [url]',
'log_management' => 'Správa LOG souborů',
'manager' => 'Správce',
'manager_of_group' => 'Jste správcem této skupiny',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => 'Stanovená skupina schvalovatelů \'[group]\' má nedostatečná přístupová práva.',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => 'Stanovený schvalovatel \'[user]\' má nedostatečná přístupová práva.',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => 'Stanovená skupina recenzentů \'[group]\' má nedostatečná přístupová práva.',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'Stanovený recenzent \'[user]\' má nedostatečná přístupová práva.',
'march' => 'Březen',
'max_upload_size' => 'Max. délka pro nahrání jednoho souboru',
@ -1023,8 +1027,8 @@ URL: [url]',
'splash_moved_clipboard' => 'Schránka přenesena do aktuální složky',
'splash_removed_from_clipboard' => 'Odstraněno ze schránky',
'splash_rm_attribute' => 'Atribut odstraněn',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => 'Dokument odstraněn',
'splash_rm_folder' => 'Složka smazána',
'splash_rm_group' => 'Skupina odstraněna',
'splash_rm_group_member' => 'Člen skupiny odstraněn',
'splash_rm_user' => 'Uživatel odstraněn',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1891)
// Translators: Admin (1895)
$text = array(
'accept' => 'Übernehmen',
@ -498,9 +498,13 @@ URL: [url]',
'log_management' => 'Management der Log-Dateien',
'manager' => 'Manager',
'manager_of_group' => 'Sie sind der Manager dieser Gruppe',
'mandatory_approvergroups' => 'Zwingende Gruppen von Freigebern',
'mandatory_approvergroup_no_access' => 'Zwingende Gruppe von Freigebern \'[group]\' hat unzureichende Zugriffsrechte.',
'mandatory_approvers' => 'Zwingende Freigeber',
'mandatory_approver_no_access' => 'Zwingender Freigeber \'[user]\' hat unzureichende Zugriffsrechte.',
'mandatory_reviewergroups' => 'Zwingende Gruppen von Prüfern',
'mandatory_reviewergroup_no_access' => 'Zwingende Gruppe von Prüfern \'[group]\' hat unzureichende Zugriffsrechte.',
'mandatory_reviewers' => 'Zwingende Prüfer',
'mandatory_reviewer_no_access' => 'Zwingender Prüfer \'[user]\' hat nicht ausreichende Zugriffsrechte.',
'march' => 'März',
'max_upload_size' => 'Maximale Dateigröße',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1030), netixw (14)
// Translators: Admin (1034), netixw (14)
$text = array(
'accept' => 'Accept',
@ -498,9 +498,13 @@ URL: [url]',
'log_management' => 'Log files management',
'manager' => 'Manager',
'manager_of_group' => 'You are the manager of this group',
'mandatory_approvergroups' => 'Mandatory Groups of approvers',
'mandatory_approvergroup_no_access' => 'Mandatory group of approvers \'[group]\' has insufficient access rights.',
'mandatory_approvers' => 'Mandatory approvers',
'mandatory_approver_no_access' => 'Mandatory approver \'[user]\' has insufficient access rights.',
'mandatory_reviewergroups' => 'Mandatory group of reviewers',
'mandatory_reviewergroup_no_access' => 'Mandatory group of reviewers \'[group]\' has insufficient access rights.',
'mandatory_reviewers' => 'Mandatory reviewers',
'mandatory_reviewer_no_access' => 'Mandatory reviewer \'[user]\' has insufficient access rights.',
'march' => 'March',
'max_upload_size' => 'Maximum upload size',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (917), angel (123), francisco (2)
// Translators: Admin (920), angel (123), francisco (2), jaimem (14)
$text = array(
'accept' => 'Aceptar',
@ -76,7 +76,7 @@ URL: [url]',
'apply' => 'Aplicar',
'approval_deletion_email' => 'Petición de aprobación eliminada',
'approval_group' => 'Grupo aprobador',
'approval_log' => '',
'approval_log' => 'Traza de aprovación',
'approval_request_email' => 'Petición de aprobación',
'approval_request_email_body' => 'Petición de aprobación
Documento: [name]
@ -134,7 +134,7 @@ URL: [url]',
'attr_no_regex_match' => 'El valor del atributo no concuerda con la expresión regular',
'at_least_n_users_of_group' => 'Al menos [number_of_users] usuarios de [group]',
'august' => 'Agosto',
'authentication' => '',
'authentication' => 'Autenticación',
'automatic_status_update' => 'Cambio automático de estado',
'back' => 'Atrás',
'backup_list' => 'Lista de copias de seguridad existentes',
@ -142,7 +142,7 @@ URL: [url]',
'backup_remove' => 'Eliminar fichero de copia de seguridad',
'backup_tools' => 'Herramientas de copia de seguridad',
'between' => 'entre',
'browse' => '',
'browse' => 'Listar',
'calendar' => 'Calendario',
'calendar_week' => 'Calendario semanal',
'cancel' => 'Cancelar',
@ -210,7 +210,7 @@ URL: [url]',
'creation_date' => 'Creación',
'cs_CZ' => 'Czech',
'current_password' => 'Contraseña actual',
'current_quota' => '',
'current_quota' => 'La cuota actual del sistema está habilitada [quota].',
'current_state' => 'Estado actual',
'current_version' => 'Versión actual',
'daily' => 'Diaria',
@ -226,7 +226,7 @@ URL: [url]',
'details_version' => 'Detalles de la versión: [version]',
'de_DE' => 'Aleman',
'disclaimer' => 'Esta es un área restringida. Se permite el acceso únicamente a personal autorizado. Cualquier intrusión se perseguirá conforme a las leyes internacionales.',
'discspace' => '',
'discspace' => 'Espacio en disco',
'document' => 'Documento',
'documents' => 'Documentos',
'documents_in_process' => 'Documentos en proceso',
@ -471,12 +471,12 @@ URL: [url]',
'js_select_user_or_group' => 'Seleccione al menos un usuario o un grupo',
'july' => 'Julio',
'june' => 'Junio',
'keep' => '',
'keep' => 'No cambiar',
'keep_doc_status' => 'Mantener estado del documento',
'keywords' => 'Palabras clave',
'keyword_exists' => 'La palabra clave ya existe',
'language' => 'Idioma',
'lastaccess' => '',
'lastaccess' => 'Último acceso',
'last_update' => 'Última modificación',
'legend' => 'Leyenda',
'linked_documents' => 'Documentos relacionados',
@ -498,9 +498,13 @@ URL: [url]',
'log_management' => 'Gestión de ficheros de registro',
'manager' => 'Administrador',
'manager_of_group' => 'Usted es el administrador de este grupo',
'mandatory_approvergroups' => 'Grupo obligatorio de aprobadores',
'mandatory_approvergroup_no_access' => 'El grupo obligatorio de aprobadores \'[group]\' no tiene suficiente nivel de acceso.',
'mandatory_approvers' => 'Aprobadores obligatorios',
'mandatory_approver_no_access' => 'El aprobador obligatorio \'[user]\' no tiene suficiente nivel de acceso.',
'mandatory_reviewergroups' => 'Grupo obligatorio de revisores',
'mandatory_reviewergroup_no_access' => 'El grupo obligatorio de revisores \'[group]\' no tiene suficiente nivel de acceso.',
'mandatory_reviewers' => 'Revisores obligatorios',
'mandatory_reviewer_no_access' => 'El revisor obligatorio \'[user]\' no tiene suficiente nivel de acceso.',
'march' => 'Marzo',
'max_upload_size' => 'Tamaño máximo de subida para cada fichero',
@ -614,8 +618,8 @@ URL: [url]',
'password_already_used' => 'La contraseña ya está en uso',
'password_expiration' => 'Caducidad de la contraseña',
'password_expiration_text' => 'Su contraseña ha caducado. Por favor seleccione una nueva para seguir usando SeedDMS.',
'password_expired' => '',
'password_expires_in_days' => '',
'password_expired' => 'Contraseña caducada',
'password_expires_in_days' => 'La contraseña caducará en %s días.',
'password_forgotten' => 'Recordar contraseña',
'password_forgotten_email_body' => 'Estimado usuario de SeedDMS,
@ -643,7 +647,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
'pt_BR' => 'Portuges (BR)',
'quota' => 'Cuota',
'quota_exceeded' => 'Su cuota de disco se ha excedido en [bytes].',
'quota_is_disabled' => '',
'quota_is_disabled' => 'La cuota está actualmente deshabilitada en las opciones. Establecer una cuota de usuario no tendrá efecto hasta que sea habilitada de nuevo.',
'quota_warning' => 'El máximo de uso de disco se ha excedido en [bytes]. Por favor eliminar documentos o versiones anteriores.',
'refresh' => 'Actualizar',
'rejected' => 'Rechazado',
@ -684,7 +688,7 @@ nURL: [url]',
'reviewer_already_removed' => 'Ya ha sido eliminado del proceso de revisión o ya ha enviado una revisión',
'review_deletion_email' => 'Petición de revisión eliminada',
'review_group' => 'Grupo de revisión',
'review_log' => '',
'review_log' => 'Traza de revisión',
'review_request_email' => 'Petición de revisión',
'review_status' => 'Estado de revisión',
'review_submit_email' => 'Revisión enviada',
@ -1029,8 +1033,8 @@ URL: [url]',
'splash_moved_clipboard' => 'Portapapeles movido a la carpeta actual',
'splash_removed_from_clipboard' => 'Eliminado del portapapeles',
'splash_rm_attribute' => 'Atributo eliminado',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => 'Documento eliminado',
'splash_rm_folder' => 'Carpeta eliminada',
'splash_rm_group' => 'Grupo eliminado',
'splash_rm_group_member' => 'Miembro eliminado del grupo',
'splash_rm_user' => 'Usuario eliminado',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (899), jeromerobert (50), lonnnew (9)
// Translators: Admin (910), jeromerobert (50), lonnnew (9)
$text = array(
'accept' => 'Accepter',
@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Gestion des fichiers Log',
'manager' => 'Responsable',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Mars',
'max_upload_size' => 'Taille maximum de fichier déposé',
@ -818,7 +822,7 @@ URL: [url]',
'settings_enableRecursiveCount_desc' => 'Si activé, le nombre de documents et répertoires dans un répertoire est calculé en comptant récursivement le contenu des sous-répertoires auxquels l\'utilisateur a accès.',
'settings_enableSelfRevApp' => 'Autoriser correction/approbbation pour l\'utilisateur actuel',
'settings_enableSelfRevApp_desc' => 'A autoriser pour avoir l\'utilisateur actuel désigné correcteur/approbateur et pour les transitions de workflow.',
'settings_enableThemeSelector' => '',
'settings_enableThemeSelector' => 'Sélection du thème',
'settings_enableThemeSelector_desc' => '',
'settings_enableUserImage' => 'Activer image utilisateurs',
'settings_enableUserImage_desc' => 'Activer les images utilisateurs',
@ -897,10 +901,10 @@ URL: [url]',
'settings_php_gd2' => 'PHP extension : php_gd2',
'settings_php_mbstring' => 'PHP extension : php_mbstring',
'settings_php_version' => '',
'settings_previewWidthDetail' => '',
'settings_previewWidthDetail_desc' => '',
'settings_previewWidthList' => '',
'settings_previewWidthList_desc' => '',
'settings_previewWidthDetail' => 'Largeur des vignettes (vue détaillée)',
'settings_previewWidthDetail_desc' => 'Largeur des vignettes affichées sur la vue détaillée',
'settings_previewWidthList' => 'Largeur des vignettes (vue liste)',
'settings_previewWidthList_desc' => 'Largeur des vignettes affichées dans les listes',
'settings_printDisclaimer' => 'Afficher la clause de non-responsabilité',
'settings_printDisclaimer_desc' => 'If true the disclaimer message the lang.inc files will be print on the bottom of the page',
'settings_quota' => 'Quota de l\'utilisateur',
@ -913,7 +917,7 @@ URL: [url]',
'settings_rootFolderID_desc' => 'ID du répertoire racine (la plupart du temps pas besoin de changer)',
'settings_SaveError' => 'Erreur de sauvegarde du fichier de configuration',
'settings_Server' => 'Paramètres serveur',
'settings_showMissingTranslations' => '',
'settings_showMissingTranslations' => 'Afficher les traductions manquantes',
'settings_showMissingTranslations_desc' => '',
'settings_Site' => 'Site',
'settings_siteDefaultPage' => 'Page par défaut du site',
@ -933,9 +937,9 @@ URL: [url]',
'settings_smtpUser_desc' => '',
'settings_sortFoldersDefault' => '',
'settings_sortFoldersDefault_desc' => '',
'settings_sortFoldersDefault_val_name' => '',
'settings_sortFoldersDefault_val_sequence' => '',
'settings_sortFoldersDefault_val_unsorted' => '',
'settings_sortFoldersDefault_val_name' => 'Par nom',
'settings_sortFoldersDefault_val_sequence' => 'Par séquence',
'settings_sortFoldersDefault_val_unsorted' => 'Non trié',
'settings_sortUsersInList' => 'Tri des utilisateurs',
'settings_sortUsersInList_desc' => 'Définit si les utilisateurs dans les menus de sélection sont triés par identifiant ou par nom complet',
'settings_sortUsersInList_val_fullname' => 'Tri par nom complet',
@ -998,8 +1002,8 @@ URL: [url]',
'splash_moved_clipboard' => 'Presse-papier déplacé dans le répertoire courant',
'splash_removed_from_clipboard' => '',
'splash_rm_attribute' => 'Attribut supprimé',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => 'Document supprimé',
'splash_rm_folder' => 'Dossier supprimé',
'splash_rm_group' => 'Groupe supprimé',
'splash_rm_group_member' => 'Membre retiré du groupe',
'splash_rm_user' => 'Utilisateur supprimé',

View File

@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Napló állományok kezelése',
'manager' => 'Kezelő',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Március',
'max_upload_size' => 'Legnagyobb feltölthető méret',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (700)
// Translators: Admin (709)
$text = array(
'accept' => 'Accetta',
@ -116,7 +116,7 @@ $text = array(
'automatic_status_update' => 'Modifica automatica dello stato',
'back' => 'Ritorna',
'backup_list' => 'Lista dei backup presenti',
'backup_log_management' => '',
'backup_log_management' => 'Backup/Logging',
'backup_remove' => 'Elimina file di backup',
'backup_tools' => 'Strumenti di backup',
'between' => 'tra',
@ -249,7 +249,7 @@ $text = array(
'do_object_unlink' => '',
'draft_pending_approval' => 'Bozza in approvazione',
'draft_pending_review' => 'Bozza in revisione',
'drag_icon_here' => '',
'drag_icon_here' => 'Trascina qui l\'icona della cartella o del documento',
'dropfolder_file' => '',
'dump_creation' => 'Creazione DB dump',
'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.',
@ -424,9 +424,13 @@ $text = array(
'log_management' => 'Amministrazione log file',
'manager' => 'Manager',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Marzo',
'max_upload_size' => 'Dimensione massima caricabile per ogni file',
@ -434,8 +438,8 @@ $text = array(
'mimetype' => '',
'minutes' => '',
'misc' => 'Varie',
'missing_checksum' => '',
'missing_filesize' => '',
'missing_checksum' => 'Checksum sconosciuto',
'missing_filesize' => 'Dimensione sconosciuta',
'missing_transition_user_group' => '',
'monday' => 'Lunedì',
'monday_abbr' => '',
@ -529,7 +533,7 @@ Se hai ancora problemi al login, allora contatta il tuo amministratore di sistem
'password_repeat' => 'Ripetere password',
'password_send' => '',
'password_send_text' => '',
'password_strength' => '',
'password_strength' => 'Sicurezza password',
'password_strength_insuffient' => 'Efficacia della password insufficiente',
'password_wrong' => 'Password errata',
'personal_default_keywords' => 'Parole chiave personali',
@ -878,7 +882,7 @@ Se hai ancora problemi al login, allora contatta il tuo amministratore di sistem
'splash_add_user' => '',
'splash_cleared_clipboard' => '',
'splash_document_edited' => '',
'splash_document_locked' => '',
'splash_document_locked' => 'Documento bloccato',
'splash_document_unlocked' => '',
'splash_edit_attribute' => '',
'splash_edit_group' => '',
@ -889,7 +893,7 @@ Se hai ancora problemi al login, allora contatta il tuo amministratore di sistem
'splash_moved_clipboard' => '',
'splash_removed_from_clipboard' => '',
'splash_rm_attribute' => '',
'splash_rm_document' => '',
'splash_rm_document' => 'Documento rimosso',
'splash_rm_folder' => '',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
@ -946,7 +950,7 @@ Se hai ancora problemi al login, allora contatta il tuo amministratore di sistem
'unknown_keyword_category' => 'Categoria sconosciuta',
'unknown_owner' => 'ID proprietario sconosciuto',
'unknown_user' => 'ID utente sconosciuto',
'unlinked_content' => '',
'unlinked_content' => 'Contenuto inappropriato',
'unlinked_documents' => '',
'unlinked_folders' => '',
'unlinking_objects' => '',

View File

@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Logbestanden beheer',
'manager' => 'Beheerder',
'manager_of_group' => 'U bent beheerder van deze groep',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => 'De verplichte groep \'[group]\' heeft onvoldoende rechten.',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => 'De verplichte gebruiker \'[user]\' heeft onvoldoende rechten.',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => 'De verplichte groep \'[group]\' heeft onvoldoende rechten.',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'De verplichte gebruiker \'[user]\' heeft onvoldoende rechten.',
'march' => 'maart',
'max_upload_size' => 'Maximale upload omvang voor ieder bestand',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (675), netixw (84), romi (93), uGn (112)
// Translators: Admin (676), netixw (84), romi (93), uGn (112)
$text = array(
'accept' => 'Akceptuj',
@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Zarządzanie plikami dziennika',
'manager' => 'Zarządca',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Marzec',
'max_upload_size' => 'Maksymalny rozmiar pliku',
@ -1008,7 +1012,7 @@ URL: [url]',
'splash_moved_clipboard' => 'Schowek został przeniesiony do bieżącego folderu',
'splash_removed_from_clipboard' => 'Usunięto ze schowka',
'splash_rm_attribute' => 'Usunięto atrybut',
'splash_rm_document' => '',
'splash_rm_document' => 'Dokument usunięto',
'splash_rm_folder' => '',
'splash_rm_group' => 'Grupę usunięto',
'splash_rm_group_member' => 'Usunięto członka grupy',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (545), flaviove (627), lfcristofoli (334)
// Translators: Admin (547), flaviove (627), lfcristofoli (334)
$text = array(
'accept' => 'Aceitar',
@ -497,9 +497,13 @@ URL: [url]',
'log_management' => 'Arquivos de Log',
'manager' => 'Gerente',
'manager_of_group' => 'Você é o gerente deste grupo',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => 'Grupo obrigatória de aprovadores \'[group]\' tem direitos de acesso insuficientes.',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => 'Obrigatória \'[usuário]\' aprovador tem direitos de acesso insuficientes.',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => 'Grupo obrigatória de revisores \'[group]\' tem direitos de acesso insuficientes.',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'Obrigatória revisor \'[usuário]\' tem direitos de acesso insuficientes.',
'march' => 'Março',
'max_upload_size' => 'Tamanho máximo de cada arquivo',
@ -1026,8 +1030,8 @@ URL: [url]',
'splash_moved_clipboard' => 'Área de transferência movida para a pasta corrente',
'splash_removed_from_clipboard' => 'Remover da área de transferência',
'splash_rm_attribute' => 'Atributo removido',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => 'Documento removido',
'splash_rm_folder' => 'Pasta excluida',
'splash_rm_group' => 'Grupo removido',
'splash_rm_group_member' => 'Membro do grupo removido',
'splash_rm_user' => 'Usuário removido',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1226)
// Translators: Admin (1228)
$text = array(
'accept' => 'Принять',
@ -158,13 +158,13 @@ URL: [url]',
'change_password' => 'Изменить пароль',
'change_password_message' => 'Пароль изменён',
'change_status' => 'Изменить статус',
'charts' => '',
'charts' => 'Диаграммы',
'chart_docsaccumulated_title' => '',
'chart_docspercategory_title' => '',
'chart_docspermimetype_title' => '',
'chart_docspermonth_title' => '',
'chart_docsperstatus_title' => '',
'chart_docsperuser_title' => '',
'chart_docsperuser_title' => 'Документы на пользователя',
'chart_selection' => '',
'chart_sizeperuser_title' => '',
'choose_attrdef' => 'Выберите атрибут',
@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Управление журналами',
'manager' => 'Менеджер',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => 'Обязательная группа утверждающих «[group]» не имеет достаточных прав доступа.',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => 'Обязательный утверждающий «[user]» не имеет достаточных прав доступа.',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => 'Обязательная группа рецензентов «[group]» не имеет достаточных прав доступа.',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'Обязательный рецензент «[user]» не имеет достаточных прав доступа.',
'march' => 'Март',
'max_upload_size' => 'Ограничение размера файла',

View File

@ -424,9 +424,13 @@ $text = array(
'log_management' => 'Správa protokolov',
'manager' => 'Manager',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => 'Marec',
'max_upload_size' => 'Maximálna veľkosť každého súboru',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1075), tmichelfelder (106)
// Translators: Admin (1077), tmichelfelder (106)
$text = array(
'accept' => 'Godkänn',
@ -491,9 +491,13 @@ URL: [url]',
'log_management' => 'Loggfilshantering',
'manager' => 'Manager',
'manager_of_group' => 'Du är förvaltaren av denna grupp',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => 'Obligatorisk grupp \'[group]\' som ska godkänna har inga rättigheter.',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => 'Obligatorisk person som godkänner \'[user]\' har inga rättigheter.',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => 'Obligatorisk grupp \'[group]\' som ska granska har inga rättigheter.',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => 'Obligatorisk person som granskar \'[user]\' ar inga rättigheter.',
'march' => 'mars',
'max_upload_size' => 'Maximal storlek för uppladdning',
@ -1014,8 +1018,8 @@ URL: [url]',
'splash_moved_clipboard' => 'Urklipp flyttades till aktuella katalogen',
'splash_removed_from_clipboard' => 'Borttagen från urklipp',
'splash_rm_attribute' => 'Attribut har tagits bort',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => 'Dokument borttaget',
'splash_rm_folder' => 'Mapp raderad',
'splash_rm_group' => 'Grupp har tagits bort',
'splash_rm_group_member' => 'Gruppmedlem har tagits bort',
'splash_rm_user' => 'Användare har tagits bort',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (511), fengjohn (5)
// Translators: Admin (523), fengjohn (5)
$text = array(
'accept' => '接受',
@ -76,7 +76,7 @@ URL: [url]',
'apply' => '',
'approval_deletion_email' => '审核请求已被删除',
'approval_group' => '审核组',
'approval_log' => '',
'approval_log' => '审批记录',
'approval_request_email' => '审核请求',
'approval_request_email_body' => '',
'approval_request_email_subject' => '',
@ -140,7 +140,7 @@ URL: [url]',
'category' => '分类',
'category_exists' => '',
'category_filter' => '指定分类',
'category_in_use' => '',
'category_in_use' => '已有文件使用此分类',
'category_noname' => '',
'ca_ES' => '加泰罗尼亚语',
'change_assignments' => '分配变更',
@ -168,7 +168,7 @@ URL: [url]',
'choose_workflow_action' => '',
'choose_workflow_state' => '',
'clear_clipboard' => '',
'clipboard' => '',
'clipboard' => '剪切板',
'close' => '关闭',
'comment' => '说明',
'comment_for_current_version' => '版本说明',
@ -253,14 +253,14 @@ URL: [url]',
'do_object_unlink' => '',
'draft_pending_approval' => '待审核',
'draft_pending_review' => '待校对',
'drag_icon_here' => '',
'drag_icon_here' => '拖动图标到这里',
'dropfolder_file' => '',
'dump_creation' => '转储数据',
'dump_creation_warning' => '通过此操作,您可以创建一个您数据库的转储文件,之后可以将转储数据保存到您服务器所在的数据文件夹中',
'dump_list' => '存在转储文件',
'dump_remove' => '删除转储文件',
'edit' => '编辑',
'edit_attributes' => '',
'edit_attributes' => '编辑属性',
'edit_comment' => '编辑说明',
'edit_default_keywords' => '编辑关键字',
'edit_document_access' => '编辑访问权限',
@ -428,9 +428,13 @@ URL: [url]',
'log_management' => '日志管理',
'manager' => '管理员',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => '三 月',
'max_upload_size' => '最大上传文件大小',
@ -457,7 +461,7 @@ URL: [url]',
'new_attrdef' => '添加属性',
'new_default_keywords' => '添加关键字',
'new_default_keyword_category' => '添加类别',
'new_document_category' => '',
'new_document_category' => '增加分类',
'new_document_email' => '添加新文档',
'new_document_email_body' => '',
'new_document_email_subject' => '',
@ -575,7 +579,7 @@ URL: [url]',
'rm_attrdef' => '',
'rm_default_keyword_category' => '删除类别',
'rm_document' => '删除文档',
'rm_document_category' => '',
'rm_document_category' => '删除分类',
'rm_file' => '删除文件',
'rm_folder' => '删除文件夹',
'rm_from_clipboard' => '',
@ -874,8 +878,8 @@ URL: [url]',
'splash_add_user' => '',
'splash_cleared_clipboard' => '',
'splash_document_edited' => '',
'splash_document_locked' => '',
'splash_document_unlocked' => '',
'splash_document_locked' => '文档已被锁定',
'splash_document_unlocked' => '已解锁的文档',
'splash_edit_attribute' => '',
'splash_edit_group' => '',
'splash_edit_user' => '',
@ -885,8 +889,8 @@ URL: [url]',
'splash_moved_clipboard' => '',
'splash_removed_from_clipboard' => '',
'splash_rm_attribute' => '',
'splash_rm_document' => '',
'splash_rm_folder' => '',
'splash_rm_document' => '文档已被移除',
'splash_rm_folder' => '已删除的文件夹',
'splash_rm_group' => '',
'splash_rm_group_member' => '',
'splash_rm_user' => '',
@ -973,7 +977,7 @@ URL: [url]',
'user_management' => '用户管理',
'user_name' => '全名',
'use_comment_of_document' => '',
'use_default_categories' => '',
'use_default_categories' => '默认分类',
'use_default_keywords' => '使用预定义关键字',
'version' => '版本',
'versioning_file_creation' => '创建版本文件',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1)
// Translators: Admin (15)
$text = array(
'accept' => '',
@ -61,7 +61,7 @@ $text = array(
'add_workflow_action' => '',
'add_workflow_state' => '',
'admin' => '',
'admin_tools' => '',
'admin_tools' => '管理工具',
'all' => '',
'all_categories' => '',
'all_documents' => '',
@ -338,7 +338,7 @@ $text = array(
'group_review_summary' => '',
'guest_login' => '',
'guest_login_disabled' => '',
'help' => '',
'help' => '幫助',
'hourly' => '',
'hours' => '',
'human_readable' => '',
@ -401,7 +401,7 @@ $text = array(
'keep_doc_status' => '',
'keywords' => '',
'keyword_exists' => '',
'language' => '',
'language' => '語言',
'lastaccess' => '',
'last_update' => '',
'legend' => '',
@ -424,9 +424,13 @@ $text = array(
'log_management' => '',
'manager' => '',
'manager_of_group' => '',
'mandatory_approvergroups' => '',
'mandatory_approvergroup_no_access' => '',
'mandatory_approvers' => '',
'mandatory_approver_no_access' => '',
'mandatory_reviewergroups' => '',
'mandatory_reviewergroup_no_access' => '',
'mandatory_reviewers' => '',
'mandatory_reviewer_no_access' => '',
'march' => '',
'max_upload_size' => '',
@ -446,7 +450,7 @@ $text = array(
'move_document' => '',
'move_folder' => '',
'my_account' => '',
'my_documents' => '',
'my_documents' => '我的文件',
'name' => '',
'needs_workflow_action' => '',
'new' => '',
@ -593,7 +597,7 @@ $text = array(
'saturday' => '',
'saturday_abbr' => '',
'save' => '',
'search' => '',
'search' => '尋找',
'search_fulltext' => '',
'search_in' => '',
'search_mode_and' => '',
@ -622,7 +626,7 @@ $text = array(
'seq_end' => '',
'seq_keep' => '',
'seq_start' => '',
'settings' => '',
'settings' => '設定',
'settings_activate_module' => '',
'settings_activate_php_extension' => '',
'settings_adminIP' => '',
@ -859,7 +863,7 @@ $text = array(
'set_workflow' => '',
'signed_in_as' => '',
'sign_in' => '',
'sign_out' => '',
'sign_out' => '登出',
'sign_out_user' => '',
'sk_SK' => '',
'space_used_on_data_folder' => '',

View File

@ -230,9 +230,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
$userfiletype = $_FILES["userfile"]["type"][$file_num];
$userfilename = $_FILES["userfile"]["name"][$file_num];
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex) $fileType = ".";
else $fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if ((count($_FILES["userfile"]["tmp_name"])==1)&&($_POST["name"]!=""))
$name = $_POST["name"];

View File

@ -57,11 +57,7 @@ $userfiletmp = $_FILES["userfile"]["tmp_name"];
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex)
$fileType = ".";
else
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
$res = $document->addDocumentFile($name, $comment, $user, $userfiletmp,
basename($userfilename),$fileType, $userfiletype );

View File

@ -68,11 +68,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) {
$name = $userfilename;
$comment = $_POST["comment"];
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex)
$fileType = ".";
else
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
$res = $document->addDocumentFile($name, $comment, $user, $userfiletmp,
basename($userfilename),$fileType, $userfiletype );

View File

@ -172,9 +172,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) {
$userfiletype = $_FILES[ $file_param_name ]["type"];
$userfilename = $_FILES[ $file_param_name ]["name"];
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex) $fileType = ".";
else $fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if(isset($_POST["name"]) && $_POST["name"] != "")
$name = $_POST["name"];

View File

@ -96,11 +96,7 @@ if ($_FILES['userfile']['error'] == 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("identical_version"));
}
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex)
$fileType = ".";
else
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
// Get the list of reviewers and approvers for this document.
$reviewers = array();

View File

@ -71,11 +71,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) {
$userfiletype = $_FILES[ $file_param_name ]["type"];
$userfilename = $_FILES[ $file_param_name ]["name"];
$lastDotIndex = strrpos(basename($userfilename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex)
$fileType = ".";
else
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
// Get the list of reviewers and approvers for this document.
$reviewers = array();

View File

@ -77,8 +77,7 @@ if ($action == "adduser") {
{
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$lastDotIndex = strrpos(basename($userfilename), ".");
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if ($fileType != ".jpg" && $filetype != ".jpeg") {
UI::exitError(getMLText("admin_tools"),getMLText("only_jpg_user_images"));
} else {
@ -269,8 +268,7 @@ else if ($action == "edituser") {
{
$userfiletype = $_FILES["userfile"]["type"];
$userfilename = $_FILES["userfile"]["name"];
$lastDotIndex = strrpos(basename($userfilename), ".");
$fileType = substr($userfilename, $lastDotIndex);
$fileType = ".".pathinfo($userfilename, PATHINFO_EXTENSION);
if ($fileType != ".jpg" && $filetype != ".jpeg") {
UI::exitError(getMLText("admin_tools"),getMLText("only_jpg_user_images"));
}

View File

@ -23,6 +23,7 @@ include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"]<1)) {
@ -41,9 +42,13 @@ if ($document->getAccessMode($user) < M_READWRITE) {
UI::exitError(getMLText("document_title", array("documentname" => htmlspecialchars($document->getName()))),getMLText("access_denied"));
}
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'strictformcheck'=>$settings->_strictFormCheck, 'enablelargefileupload'=>$settings->_enableLargeFileUpload));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
exit;
}

View File

@ -23,6 +23,7 @@ include("../inc/inc.Utils.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
/**
@ -63,9 +64,13 @@ if ($latestContent->getVersion()==$version->getVersion()) {
$folder = $document->getFolder();
/* Create object for checking access to certain operations */
$accessop = new SeedDMS_AccessOperation($document, $user, $settings);
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'version'=>$version, 'viewonlinefiletypes'=>$settings->_viewOnlineFileTypes, 'enableversionmodification'=>$settings->_enableVersionModification, 'previewwidthdetail'=>$settings->_previewWidthDetail, 'cachedir'=>$settings->_cacheDir));
if($view) {
$view->setParam('accessobject', $accessop);
$view->show();
exit;
}

View File

@ -269,10 +269,23 @@ function createFolder($id) { /* {{{ */
}
$parent = $dms->getFolder($id);
if($parent) {
if($folder = $parent->addSubFolder($app->request()->post('name'), '', $userobj, 0)) {
if($name = $app->request()->post('name')) {
$comment = $app->request()->post('comment');
$attributes = $app->request()->post('attributes');
$newattrs = array();
foreach($attributes as $attrname=>$attrvalue) {
$attrdef = $dms->getAttributeDefinitionByName($attrname);
if($attrdef) {
$newattrs[$attrdef->getID()] = $attrvalue;
}
}
if($folder = $parent->addSubFolder($name, $comment, $userobj, 0, $newattrs)) {
$rec = array('id'=>$folder->getId(), 'name'=>$folder->getName());
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$rec));
$rec = array('id'=>$folder->getId(), 'name'=>$folder->getName(), 'comment'=>$folder->getComment());
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$rec));
} else {
echo json_encode(array('success'=>false, 'message'=>'', 'data'=>''));
}
} else {
echo json_encode(array('success'=>false, 'message'=>'', 'data'=>''));
}
@ -678,6 +691,66 @@ function doSearch() { /* {{{ */
}
} /* }}} */
/**
* Search for documents/folders with a given attribute=value
*
*/
function doSearchByAttr() { /* {{{ */
global $app, $dms, $userobj;
$attrname = $app->request()->get('name');
$query = $app->request()->get('value');
if(!$limit = $app->request()->get('limit'))
$limit = 50;
$attrdef = $dms->getAttributeDefinitionByName($attrname);
$entries = array();
if($attrdef) {
$resArr = $attrdef->getObjects($query, $limit);
if($resArr['folders']) {
foreach ($resArr['folders'] as $entry) {
if ($entry->getAccessMode($userobj) >= M_READ) {
$entries[] = $entry;
}
}
}
if($resArr['docs']) {
foreach ($resArr['docs'] as $entry) {
if ($entry->getAccessMode($userobj) >= M_READ) {
$entries[] = $entry;
}
}
}
}
$recs = array();
foreach ($entries as $entry) {
if(get_class($entry) == 'SeedDMS_Core_Document') {
$document = $entry;
$lc = $document->getLatestContent();
$recs[] = array(
'type'=>'document',
'id'=>$document->getId(),
'date'=>$document->getDate(),
'name'=>$document->getName(),
'mimetype'=>$lc->getMimeType(),
'version'=>$lc->getVersion(),
'comment'=>$document->getComment(),
'keywords'=>$document->getKeywords(),
);
} elseif(get_class($entry) == 'SeedDMS_Core_Folder') {
$folder = $entry;
$recs[] = array(
'type'=>'folder',
'id'=>$folder->getId(),
'name'=>$folder->getName(),
'comment'=>$folder->getComment(),
'date'=>$folder->getDate(),
);
}
}
$app->response()->header('Content-Type', 'application/json');
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>$recs));
} /* }}} */
//$app = new Slim(array('mode'=>'development', '_session.handler'=>null));
$app = new \Slim\Slim(array('mode'=>'development', '_session.handler'=>null));
@ -704,6 +777,7 @@ $app->post('/login', 'doLogin');
$app->get('/logout', 'doLogout');
$app->get('/account', 'getAccount');
$app->get('/search', 'doSearch');
$app->get('/searchbyattr', 'doSearchByAttr');
$app->get('/folder/:id', 'getFolder');
$app->post('/folder/:id/move', 'moveFolder');
$app->delete('/folder/:id', 'deleteFolder');

View File

@ -76,6 +76,14 @@ input[readonly] {
cursor: text !important;
}
div.mandatories {
font-size: 90%;
font-style: italic;
color: #888;
}
div.mandatories span {
font-weight: bold;
}
@media (max-width: 480px) {
.nav-tabs > li {
float:none;

View File

@ -149,9 +149,7 @@ if(is_readable($filename)) {
if(!$mimetype) {
$mimetype = $finfo->file($filename);
}
$lastDotIndex = strrpos(basename($filename), ".");
if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = ".";
else $filetype = substr($filename, $lastDotIndex);
$filetype = "." . pathinfo($filename, PATHINFO_EXTENSION);
} else {
echo "File has zero size\n";
exit(1);

View File

@ -262,9 +262,11 @@ $(document).ready(function() {
<div class="cbSelectTitle"><?php printMLText("individuals");?>:</div>
</td>
<td>
<select class="chzn-select span9" name="indReviewers[]" multiple="multiple" data-placeholder="<?php printMLText('select_ind_reviewers'); ?>">
<?php
$res=$user->getMandatoryReviewers();
?>
<select class="chzn-select span9" name="indReviewers[]" multiple="multiple" data-placeholder="<?php printMLText('select_ind_reviewers'); ?>">
<?php
foreach ($docAccess["users"] as $usr) {
if (!$enableselfrevapp && $usr->getID()==$user->getID()) continue;
$mandatory=false;
@ -276,6 +278,22 @@ $(document).ready(function() {
?>
</select>
<?php
/* List all mandatory reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory reviewer without access */
foreach($res as $r) {
if($r['reviewerUserID']) {
@ -311,6 +329,21 @@ $(document).ready(function() {
?>
</select>
<?php
/* List all mandatory groups of reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory reviewer group without access */
foreach($res as $r) {
if ($r['reviewerGroupID']) {
@ -355,6 +388,22 @@ $(document).ready(function() {
?>
</select>
<?php
/* List all mandatory approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory approvers without access */
foreach($res as $r) {
if($r['approverUserID']) {
@ -391,6 +440,22 @@ $(document).ready(function() {
?>
</select>
<?php
/* List all mandatory groups of approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory approver groups without access */
foreach($res as $r) {
if ($r['approverGroupID']) {

View File

@ -87,10 +87,11 @@ function checkForm()
</div>
<?php
$this->contentContainerStart();
// $this->addFooterJS("$('#fileupload').fileupload();");
?>
<form action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" onsubmit="return checkForm();">
<input type="Hidden" name="documentid" value="<?php print $document->getId(); ?>">
<form action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="fileupload" onsubmit="return checkForm();">
<input type="hidden" name="documentid" value="<?php print $document->getId(); ?>">
<table class="table-condensed">
<tr>
<td><?php printMLText("local_file");?>:</td>

View File

@ -54,6 +54,8 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
echo '<link href="../styles/'.$this->theme.'/chosen/css/chosen.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/jqtree/jqtree.css" rel="stylesheet">'."\n";
echo '<link href="../styles/'.$this->theme.'/application.css" rel="stylesheet">'."\n";
// echo '<link href="../styles/'.$this->theme.'/jquery-ui-1.10.4.custom/css/ui-lightness/jquery-ui-1.10.4.custom.css" rel="stylesheet">'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/jquery/jquery.min.js"></script>'."\n";
if($this->extraheader)
echo $this->extraheader;
@ -64,6 +66,25 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/jqtree/tree.jquery.js"></script>'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/jquery-cookie/jquery.cookie.js"></script>'."\n";
/*
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/jquery-ui-1.10.4.custom/js/jquery-ui-1.10.4.custom.js"></script>'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/fileupload/jquery.iframe-transport.js"></script>'."\n";
echo '<script type="text/javascript" src="../styles/'.$this->theme.'/fileupload/jquery.fileupload.js"></script>'."\n";
echo "
<script>
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
done: function (e, data) {
$.each(data.result.files, function (index, file) {
$('<p/>').text(file.name).appendTo(document.body);
});
}
});
});
</script>
";
*/
echo '<link rel="shortcut icon" href="../styles/'.$this->theme.'/favicon.ico" type="image/x-icon"/>'."\n";
if($this->params['session'] && $this->params['session']->getSu()) {
?>
@ -795,12 +816,17 @@ $(document).ready(function () {
<div class="input-append">
<input type="text" class="form-control" readonly>
<span class="btn btn-default btn-file">
<?php printMLText("browse");?>&hellip; <input type="file" name="<?php echo $varname; ?>"<?php if($multiple) echo " multiple"; ?><?php if($accept) echo " accept=\"".$accept."\""; ?>>
<?php printMLText("browse");?>&hellip; <input id="<?php echo $varname; ?>" type="file" name="<?php echo $varname; ?>"<?php if($multiple) echo " multiple"; ?><?php if($accept) echo " accept=\"".$accept."\""; ?>>
</span>
</div>
</div>
</div>
<?php
/*
<script>
$('#<?php echo $varname; ?>').fileupload();
</script>
*/
} /* }}} */
function printDateChooser($defDate = -1, $varName) { /* {{{ */
@ -1519,7 +1545,7 @@ $('#delete-folder-btn-".$folderid."').popover({
$content .= '<span style="padding: 2px; color: #CCC;"><i class="icon-remove"></i></span>';
}
if($document->getAccessMode($user) >= M_READWRITE) {
$content .= '<a href="../out/out.EditDocument.php?documentid='.$docID.'"><i class="icon-edit"></i></a>';
$content .= '<a href="../out/out.EditDocument.php?documentid='.$docID.'" title="'.getMLText("edit_document_props").'"><i class="icon-edit"></i></a>';
} else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="icon-edit"></i></span>';
}
@ -1591,7 +1617,7 @@ $('#delete-folder-btn-".$folderid."').popover({
$content .= '<span style="padding: 2px; color: #CCC;"><i class="icon-remove"></i></span>';
}
if($subFolder->getAccessMode($user) >= M_READWRITE) {
$content .= '<a class_="btn btn-mini" href="../out/out.EditFolder.php?folderid='.$subFolder->getID().'"><i class="icon-edit"></i></a>';
$content .= '<a class_="btn btn-mini" href="../out/out.EditFolder.php?folderid='.$subFolder->getID().'" title="'.getMLText("edit_folder_props").'"><i class="icon-edit"></i></a>';
} else {
$content .= '<span style="padding: 2px; color: #CCC;"><i class="icon-edit"></i></span>';
}

View File

@ -37,7 +37,7 @@ class SeedDMS_View_KeywordChooser extends SeedDMS_Bootstrap_Style {
$categories = $this->params['categories'];
$form = $this->params['form'];
$this->htmlStartPage(getMLText("use_default_keywords"));
// $this->htmlStartPage(getMLText("use_default_keywords"));
?>
<script language="JavaScript">
var targetObj = document.<?php echo $form ?>.keywords;
@ -196,7 +196,7 @@ myTA.focus();
</script>
<?php
// $this->htmlEndPage();
echo "</body>\n</html>\n";
// echo "</body>\n</html>\n";
} /* }}} */
}
?>

View File

@ -314,7 +314,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
}
print "<div class=\"alert\">".getMLText("search_report", array("doccount" => $totaldocs, "foldercount" => $totalfolders, 'searchtime'=>$searchTime))."</div>";
$this->pageList($pageNumber, $totalpages, "../op/op.Search.php", $urlparams);
$this->contentContainerStart();
// $this->contentContainerStart();
print "<table class=\"table\">";
print "<thead>\n<tr>\n";
@ -484,7 +484,7 @@ class SeedDMS_View_Search extends SeedDMS_Bootstrap_Style {
}
}
print "</tbody></table>\n";
$this->contentContainerEnd();
// $this->contentContainerEnd();
$this->pageList($pageNumber, $totalpages, "../op/op.Search.php", $_GET);
} else {
$numResults = $doccount + $foldercount;

View File

@ -203,6 +203,21 @@ function checkForm()
?>
</select>
<?php
/* List all mandatory reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerUserID'] > 0) {
$u = $dms->getUser($r['reviewerUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_reviewers').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory reviewer without access */
foreach($res as $r) {
if($r['reviewerUserID']) {
@ -238,6 +253,22 @@ function checkForm()
?>
</select>
<?php
/* List all mandatory groups of reviewers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['reviewerGroupID'] > 0) {
$u = $dms->getGroup($r['reviewerGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_reviewergroups').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory reviewer group without access */
foreach($res as $r) {
if ($r['reviewerGroupID']) {
@ -280,6 +311,22 @@ function checkForm()
?>
</select>
<?php
/* List all mandatory approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverUserID'] > 0) {
$u = $dms->getUser($r['approverUserID']);
$tmp[] = htmlspecialchars($u->getFullName().' ('.$u->getLogin().')');
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_approvers').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory approvers without access */
foreach($res as $r) {
if($r['approverUserID']) {
@ -315,6 +362,22 @@ function checkForm()
?>
</select>
<?php
/* List all mandatory groups of approvers */
if($res) {
$tmp = array();
foreach ($res as $r) {
if($r['approverGroupID'] > 0) {
$u = $dms->getGroup($r['approverGroupID']);
$tmp[] = htmlspecialchars($u->getName());
}
}
if($tmp) {
echo '<div class="mandatories"><span>'.getMLText('mandatory_approvergroups').':</span> ';
echo implode(', ', $tmp);
echo "</div>\n";
}
}
/* Check for mandatory approver groups without access */
foreach($res as $r) {
if ($r['approverGroupID']) {