diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..072c0c22b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +trim_trailing_whitespaces = true +indent_style = tab +indent_size = 2 diff --git a/.htaccess b/.htaccess index 80d7e878f..d83443d97 100644 --- a/.htaccess +++ b/.htaccess @@ -1,3 +1,5 @@ +Options -Indexes + RewriteEngine On RewriteRule ^favicon.ico$ styles/bootstrap/favicon.ico [L] @@ -6,6 +8,10 @@ RewriteRule ^favicon.ico$ styles/bootstrap/favicon.ico [L] RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$ RewriteRule ^.*$ - [E=CWD:%2] +# Do not allow access on the other directories in www +RewriteRule "^utils/.*$" "" [F] +RewriteRule "^doc/.*$" "" [F] + # Anything below the following dirs will never be rewritten RewriteRule "^pdfviewer/.*$" "-" [L] RewriteRule "^views/bootstrap/images.*$" "-" [L] diff --git a/CHANGELOG b/CHANGELOG index 840b0b31f..d21cdff07 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,41 @@ +-------------------------------------------------------------------------------- + Changes in version 5.1.14 +-------------------------------------------------------------------------------- +- allow mimetype to specify documents which can be edited online +- show number of indexing tasks in progress bar +- fix comparison of last indexing time with creation date of document content +- new hooks leftContentPre and leftContentPost +- minimize sql queries when fetching sub folders and documents of a folder +- custom attributes can be validated in a hook +- document attributes comment, keywords, categories, expiration date, and sequence + can be turned off in the configuration +- workflows can be turned off completely +- Extension can be enabled/disabled in the extension manager, the previously + used method by setting a parameter in the extension's config file will no + longer work. +- clean up code for managing extensions +- fix renaming of folders via webdav +- fix list of expired documents on MyDocuments page +- pass showtree to ViewDocument (Closes: #462) +- fix upgrade script for sqlite3 + +-------------------------------------------------------------------------------- + Changes in version 5.1.13 +-------------------------------------------------------------------------------- +- make use of backup dir, do not allow backup if backup dir is not set +- the referer parameter in op/op.Settings.php is turned into an url before used + for redirect +- Import from filesystem can read a file with metadata +- drop folder chooser can be put multiple times on a page +- add section in README.Install.md on how to secure the configuration +- fix php error when removing a version of a document +- major rework of ViewFolder page, most parts of the page are now loaded by ajax +- do not set mandatory reviewer when document is uploaded and workflow mode is + set to 'traditional without review'. +- turn off auto complete for date fields +- new hook pageNavigationBar in bootstrap, preContent, postContent in ViewDocument +- major update of italian translation + -------------------------------------------------------------------------------- Changes in version 5.1.12 -------------------------------------------------------------------------------- @@ -27,10 +65,10 @@ -------------------------------------------------------------------------------- - fix for CVE-2019-12744 (Remote Command Execution through unvalidated file upload), add .htaccess file to data directory, better documentation - for installing seeddms + for installing seeddms - fix for CVE-2019-12745 (Persistent or Stored XSS in UsrMgr) and CVE-2019-12801 (Persistent or Stored XSS in GroupMgr), propperly escape - strings used in Select2 js library used by UsrMgr and GroupMgr + strings used in Select2 js library used by UsrMgr and GroupMgr - do not show attributes in search results in extra column anymore - fix setting language during login (Closes #437) - fix indexing documents even if no preIndexDocument hook is set (Closes #437) diff --git a/SeedDMS_Core/Core.php b/SeedDMS_Core/Core.php index 5006e3777..13cf1d142 100644 --- a/SeedDMS_Core/Core.php +++ b/SeedDMS_Core/Core.php @@ -26,6 +26,11 @@ else */ require_once('Core/inc.ClassDMS.php'); +/** + * @uses SeedDMS_Decorator + */ +require_once('Core/inc.ClassDecorator.php'); + /** * @uses SeedDMS_Object */ @@ -90,3 +95,8 @@ require_once('Core/inc.AccessUtils.php'); * @uses SeedDMS_File */ require_once('Core/inc.FileUtils.php'); + +/** + * @uses SeedDMS_File + */ +require_once('Core/inc.ClassIterator.php'); diff --git a/SeedDMS_Core/Core/inc.ClassDMS.php b/SeedDMS_Core/Core/inc.ClassDMS.php index 0538a4231..5692511d3 100644 --- a/SeedDMS_Core/Core/inc.ClassDMS.php +++ b/SeedDMS_Core/Core/inc.ClassDMS.php @@ -87,6 +87,13 @@ class SeedDMS_Core_DMS { */ protected $classnames; + /** + * @var array $decorators list of decorators for objects being instanciate + * by the dms + * @access protected + */ + protected $decorators; + /** * @var SeedDMS_Core_User $user reference to currently logged in user. This must be * an instance of {@link SeedDMS_Core_User}. This variable is currently not @@ -376,20 +383,20 @@ class SeedDMS_Core_DMS { $this->callbacks = array(); $this->version = '@package_version@'; if($this->version[0] == '@') - $this->version = '5.1.12'; + $this->version = '5.1.13'; } /* }}} */ /** - * Return class name of instantiated objects + * Return class name of classes instanciated by SeedDMS_Core * * This method returns the class name of those objects being instantiated * by the dms. Each class has an internal place holder, which must be * passed to function. * * @param string $objectname placeholder (can be one of 'folder', 'document', - * 'documentcontent', 'user', 'group' + * 'documentcontent', 'user', 'group') * - * @return string/boolean name of class or false if placeholder is invalid + * @return string/boolean name of class or false if object name is invalid */ function getClassname($objectname) { /* {{{ */ if(isset($this->classnames[$objectname])) @@ -421,6 +428,44 @@ class SeedDMS_Core_DMS { return $oldclass; } /* }}} */ + /** + * Return list of decorators + * + * This method returns the list of decorator class names of those objects + * being instantiated + * by the dms. Each class has an internal place holder, which must be + * passed to function. + * + * @param string $objectname placeholder (can be one of 'folder', 'document', + * 'documentcontent', 'user', 'group') + * + * @return array/boolean list of class names or false if object name is invalid + */ + function getDecorators($objectname) { /* {{{ */ + if(isset($this->decorators[$objectname])) + return $this->decorators[$objectname]; + else + return false; + } /* }}} */ + + /** + * Add a decorator + * + * This method adds a single decorator class name to the list of decorators + * of those objects being instantiated + * by the dms. Each class has an internal place holder, which must be + * passed to function. + * + * @param string $objectname placeholder (can be one of 'folder', 'document', + * 'documentcontent', 'user', 'group') + * + * @return boolean true if decorator could be added, otherwise false + */ + function addDecorator($objectname, $decorator) { /* {{{ */ + $this->decorators[$objectname][] = $decorator; + return true; + } /* }}} */ + /** * Return database where meta data is stored * diff --git a/SeedDMS_Core/Core/inc.ClassDecorator.php b/SeedDMS_Core/Core/inc.ClassDecorator.php new file mode 100644 index 000000000..9450d5fef --- /dev/null +++ b/SeedDMS_Core/Core/inc.ClassDecorator.php @@ -0,0 +1,42 @@ + + * @copyright Copyright (C) 2010, Uwe Steinmann + * @version Release: @package_version@ + */ + + +/** + * Class which implements a simple decorator pattern + * + * @category DMS + * @package SeedDMS_Core + * @version @version@ + * @author Uwe Steinmann + * @copyright Copyright (C) 2010, Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_Core_Decorator { + protected $o; + + public function __construct($object) { + $this->o = $object; + } + + public function __call($method, $args) + { + if (!method_exists($this->o, $method)) { + throw new Exception("Undefined method $method attempt."); + } + /* In case the called method returns the object itself, then return this object */ + $result = call_user_func_array(array($this->o, $method), $args); + return $result === $this->o ? $this : $result; + } +} + diff --git a/SeedDMS_Core/Core/inc.ClassDocument.php b/SeedDMS_Core/Core/inc.ClassDocument.php index 96b2355c7..06fd32e4e 100644 --- a/SeedDMS_Core/Core/inc.ClassDocument.php +++ b/SeedDMS_Core/Core/inc.ClassDocument.php @@ -222,6 +222,15 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $this->_content = null; } /* }}} */ + /** + * Check if this object is of type 'document'. + * + * @param string $type type of object + */ + public function isType($type) { /* {{{ */ + return $type == 'document'; + } /* }}} */ + /** * Return an array of database fields which used for searching * a term entered in the database search form @@ -256,6 +265,22 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ return $searchFields; } /* }}} */ + /** + * Return a folder by its database record + * + * @param array $resArr array of folder data as returned by database + * @param SeedDMS_Core_DMS $dms + * @return SeedDMS_Core_Folder|bool instance of SeedDMS_Core_Folder if document exists + */ + public static function getInstanceByData($resArr, $dms) { /* {{{ */ + $classname = $dms->getClassname('document'); + /** @var SeedDMS_Core_Document $document */ + $document = new $classname($resArr["id"], $resArr["name"], $resArr["comment"], $resArr["date"], $resArr["expires"], $resArr["owner"], $resArr["folder"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr['lock'], $resArr["keywords"], $resArr["sequence"]); + $document->setDMS($dms); + $document = $document->applyDecorators(); + return $document; + } /* }}} */ + /** * Return an document by its id * @@ -267,7 +292,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ public static function getInstance($id, $dms) { /* {{{ */ $db = $dms->getDB(); - $queryStr = "SELECT * FROM `tblDocuments` WHERE `id` = " . (int) $id; +// $queryStr = "SELECT * FROM `tblDocuments` WHERE `id` = " . (int) $id; + $queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lock` FROM `tblDocuments` LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id` = `tblDocumentLocks`.`document` WHERE `id` = " . (int) $id; $resArr = $db->getResultArray($queryStr); if (is_bool($resArr) && $resArr == false) return false; @@ -276,24 +302,48 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $resArr = $resArr[0]; // New Locking mechanism uses a separate table to track the lock. + /* $queryStr = "SELECT * FROM `tblDocumentLocks` WHERE `document` = " . (int) $id; $lockArr = $db->getResultArray($queryStr); if ((is_bool($lockArr) && $lockArr==false) || (count($lockArr)==0)) { // Could not find a lock on the selected document. - $lock = -1; + $resArr['lock'] = -1; } else { // A lock has been identified for this document. - $lock = $lockArr[0]["userID"]; + $resArr['lock'] = $lockArr[0]["userID"]; } +*/ + $resArr['lock'] = !$resArr['lock'] ? -1 : $resArr['lock']; +// print_r($resArr);exit; + + return self::getInstanceByData($resArr, $dms); $classname = $dms->getClassname('document'); /** @var SeedDMS_Core_Document $document */ - $document = new $classname($resArr["id"], $resArr["name"], $resArr["comment"], $resArr["date"], $resArr["expires"], $resArr["owner"], $resArr["folder"], $resArr["inheritAccess"], $resArr["defaultAccess"], $lock, $resArr["keywords"], $resArr["sequence"]); + $document = new $classname($resArr["id"], $resArr["name"], $resArr["comment"], $resArr["date"], $resArr["expires"], $resArr["owner"], $resArr["folder"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr['lock'], $resArr["keywords"], $resArr["sequence"]); $document->setDMS($dms); + $document = $document->applyDecorators(); return $document; } /* }}} */ + /** + * Apply decorators + * + * @return object final object after all decorators has been applied + */ + function applyDecorators() { /* {{{ */ + if($decorators = $this->_dms->getDecorators('document')) { + $s = $this; + foreach($decorators as $decorator) { + $s = new $decorator($s); + } + return $s; + } else { + return $this; + } + } /* }}} */ + /** * Return the directory of the document in the file system relativ * to the contentDir @@ -441,7 +491,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $db = $this->_dms->getDB(); if(!$this->_categories) - self::getCategories(); + $this->getCategories(); $catids = array(); foreach($this->_categories as $cat) @@ -543,7 +593,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ * @return SeedDMS_Core_Folder parent folder */ function getParent() { /* {{{ */ - return self::getFolder(); + return $this->getFolder(); } /* }}} */ function getFolder() { /* {{{ */ @@ -650,7 +700,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $this->_defaultAccess = $mode; if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ @@ -684,7 +734,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $this->_inheritAccess = ($inheritAccess ? "1" : "0"); if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ @@ -861,7 +911,7 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ unset($this->_accessList); if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ @@ -1443,6 +1493,8 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ $version = $resArr[0]['m']+1; } + if($fileType == '.') + $fileType = ''; $filesize = SeedDMS_Core_File::fileSize($tmpFile); $checksum = SeedDMS_Core_File::checksum($tmpFile); @@ -1612,7 +1664,10 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */ if(!$content) return false; - /* Check if $user, $orgFileName, $fileType and $mimetype are the same */ + if($fileType == '.') + $fileType = ''; + + /* Check if $user, $orgFileName, $fileType and $mimeType are the same */ if($user->getID() != $content->getUser()->getID()) { return false; } @@ -2720,20 +2775,31 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ /** * Recalculate the status of a document + * * The methods checks the review and approval status and sets the * status of the document accordingly. - * If status is S_RELEASED and version has workflow set status - * to S_IN_WORKFLOW - * If status is S_RELEASED and there are reviewers set status S_DRAFT_REV - * If status is S_RELEASED or S_DRAFT_REV and there are approvers set + * + * If status is S_RELEASED and the version has a workflow, then set + * the status to S_IN_WORKFLOW + * If status is S_RELEASED and there are reviewers => set status S_DRAFT_REV + * If status is S_RELEASED or S_DRAFT_REV and there are approvers => set * status S_DRAFT_APP - * If status is draft and there are no approver and no reviewers set + * If status is draft and there are no approver and no reviewers => set * status to S_RELEASED * The status of a document with the current status S_OBSOLETE, S_REJECTED, * or S_EXPIRED will not be changed unless the parameter * $ignorecurrentstatus is set to true. + * + * This method may not be called after a negative approval or review to + * recalculated the status, because + * it doesn't take a defeating approval or review into account. It will + * just check for a pending workflow, approval or review and set the status + * accordingly, e.g. after the list of reviewers or appovers has been + * modified. If there is not pending workflow, approval or review the + * status will be set to S_RELEASED. + * * This method will call {@see SeedDMS_Core_DocumentContent::setStatus()} - * which checks if the state has actually changed. This is, why this + * which checks if the status has actually changed. This is, why this * function can be called at any time without harm to the status log. * * @param boolean $ignorecurrentstatus ignore the current status and @@ -2751,6 +2817,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ unset($this->_workflow); // force to be reloaded from DB $hasworkflow = $this->getWorkflow() ? true : false; + /* $pendingReview will be set when there are still open reviews */ $pendingReview=false; unset($this->_reviewStatus); // force to be reloaded from DB $reviewStatus=$this->getReviewStatus(); @@ -2762,6 +2829,8 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } } } + + /* $pendingApproval will be set when there are still open approvals */ $pendingApproval=false; unset($this->_approvalStatus); // force to be reloaded from DB $approvalStatus=$this->getApprovalStatus(); @@ -2774,8 +2843,8 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } } - unset($this->_workflow); // force to be reloaded from DB - if ($this->getWorkflow()) $this->setStatus(S_IN_WORKFLOW,$msg,$user); + /* First check for a running workflow or open reviews or approvals. */ + if ($hasworkflow) $this->setStatus(S_IN_WORKFLOW,$msg,$user); elseif ($pendingReview) $this->setStatus(S_DRAFT_REV,$msg,$user); elseif ($pendingApproval) $this->setStatus(S_DRAFT_APP,$msg,$user); else $this->setStatus(S_RELEASED,$msg,$user); @@ -2792,7 +2861,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $this->_orgFileName = $orgFileName; $this->_fileType = $fileType; $this->_mimeType = $mimeType; - $this->_dms = $document->_dms; + $this->_dms = $document->getDMS(); if(!$fileSize) { $this->_fileSize = SeedDMS_Core_File::fileSize($this->_dms->contentDir . $this->getPath()); } else { @@ -2803,6 +2872,15 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $this->_workflowState = null; } /* }}} */ + /** + * Check if this object is of type 'documentcontent'. + * + * @param string $type type of object + */ + public function isType($type) { /* {{{ */ + return $type == 'documentcontent'; + } /* }}} */ + function getVersion() { return $this->_version; } function getComment() { return $this->_comment; } function getDate() { return $this->_date; } @@ -2818,14 +2896,23 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ function getUser() { /* {{{ */ if (!isset($this->_user)) - $this->_user = $this->_document->_dms->getUser($this->_userID); + $this->_user = $this->_document->getDMS()->getUser($this->_userID); return $this->_user; } /* }}} */ + /** + * Return path of file on disk relative to the content directory + * + * Since version 5.1.13 a single '.' in the fileType will be skipped. + * On Windows a file named 'name.' will be saved as 'name' but the fileType + * will contain the a single '.'. + * + * @return string path of file on disc + */ function getPath() { return $this->_document->getDir() . $this->_version . $this->_fileType; } function setDate($date = false) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$date) $date = time(); @@ -2855,7 +2942,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ if($filesize === false) return false; - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentContent` SET `fileSize` = ".$filesize." where `document` = " . $this->_document->getID() . " AND `version` = " . $this->_version; if (!$db->getResult($queryStr)) return false; @@ -2876,7 +2963,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ if($checksum === false) return false; - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentContent` SET `checksum` = ".$db->qstr($checksum)." where `document` = " . $this->_document->getID() . " AND `version` = " . $this->_version; if (!$db->getResult($queryStr)) return false; @@ -2886,7 +2973,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function setComment($newComment) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentContent` SET `comment` = ".$db->qstr($newComment)." WHERE `document` = " . $this->_document->getID() . " AND `version` = " . $this->_version; if (!$db->getResult($queryStr)) @@ -2920,7 +3007,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array latest record from tblDocumentStatusLog */ function getStatus($limit=1) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!is_numeric($limit)) return false; @@ -2954,7 +3041,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array list of status changes */ function getStatusLog($limit=0) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!is_numeric($limit)) return false; @@ -2989,7 +3076,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true on success, otherwise false */ function setStatus($status, $comment, $updateUser, $date='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!is_numeric($status)) return false; @@ -3036,7 +3123,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true on success, otherwise false */ function rewriteStatusLog($statuslog) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr= "SELECT `tblDocumentStatus`.* FROM `tblDocumentStatus` WHERE `tblDocumentStatus`.`documentID` = '". $this->_document->getID() ."' AND `tblDocumentStatus`.`version` = '". $this->_version ."' "; $res = $db->getResultArray($queryStr); @@ -3095,7 +3182,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return integer either M_NONE or M_READ */ function getAccessMode($u) { /* {{{ */ - $dms = $this->_document->_dms; + $dms = $this->_document->getDMS(); /* Check if 'onCheckAccessDocumentContent' callback is set */ if(isset($this->_dms->callbacks['onCheckAccessDocumentContent'])) { @@ -3205,7 +3292,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array list of review status */ function getReviewStatus($limit=1) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!is_numeric($limit)) return false; @@ -3265,7 +3352,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true on success, otherwise false */ function rewriteReviewLog($reviewers) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr= "SELECT `tblDocumentReviewers`.* FROM `tblDocumentReviewers` WHERE `tblDocumentReviewers`.`documentID` = '". $this->_document->getID() ."' AND `tblDocumentReviewers`.`version` = '". $this->_version ."' "; $res = $db->getResultArray($queryStr); @@ -3333,7 +3420,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array list of approval status */ function getApprovalStatus($limit=1) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!is_numeric($limit)) return false; @@ -3393,7 +3480,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true on success, otherwise false */ function rewriteApprovalLog($reviewers) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr= "SELECT `tblDocumentApprovers`.* FROM `tblDocumentApprovers` WHERE `tblDocumentApprovers`.`documentID` = '". $this->_document->getID() ."' AND `tblDocumentApprovers`.`version` = '". $this->_version ."' "; $res = $db->getResultArray($queryStr); @@ -3454,7 +3541,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function addIndReviewer($user, $requestUser) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $userID = $user->getID(); @@ -3505,7 +3592,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function addGrpReviewer($group, $requestUser) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $groupID = $group->getID(); @@ -3583,7 +3670,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return integer new review log id */ function setReviewByInd($user, $requestUser, $status, $comment, $file='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); // Check to see if the user can be removed from the review list. $reviewStatus = $user->getReviewStatus($this->_document->getID(), $this->_version); @@ -3635,7 +3722,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return integer new review log id */ function setReviewByGrp($group, $requestUser, $status, $comment, $file='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); // Check to see if the user can be removed from the review list. $reviewStatus = $group->getReviewStatus($this->_document->getID(), $this->_version); @@ -3674,7 +3761,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function addIndApprover($user, $requestUser) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $userID = $user->getID(); @@ -3723,7 +3810,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function addGrpApprover($group, $requestUser) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $groupID = $group->getID(); @@ -3805,7 +3892,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return integer 0 on success, < 0 in case of an error */ function setApprovalByInd($user, $requestUser, $status, $comment, $file='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); // Check to see if the user can be removed from the approval list. $approvalStatus = $user->getApprovalStatus($this->_document->getID(), $this->_version); @@ -3849,7 +3936,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * group instead of a user */ function setApprovalByGrp($group, $requestUser, $status, $comment, $file='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); // Check to see if the user can be removed from the approval list. $approvalStatus = $group->getApprovalStatus($this->_document->getID(), $this->_version); @@ -3887,7 +3974,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function delIndReviewer($user, $requestUser, $msg='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); // Check to see if the user can be removed from the review list. $reviewStatus = $user->getReviewStatus($this->_document->getID(), $this->_version); @@ -3917,7 +4004,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function delGrpReviewer($group, $requestUser, $msg='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $groupID = $group->getID(); @@ -3948,7 +4035,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function delIndApprover($user, $requestUser, $msg='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $userID = $user->getID(); @@ -3980,7 +4067,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ } /* }}} */ function delGrpApprover($group, $requestUser, $msg='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $groupID = $group->getID(); @@ -4016,7 +4103,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @param object $state */ function setWorkflowState($state) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if($this->_workflow) { $queryStr = "UPDATE `tblWorkflowDocumentContent` set `state`=". $state->getID() ." WHERE `workflow`=". intval($this->_workflow->getID()). " AND `document`=". intval($this->_document->getID()) ." AND version=". intval($this->_version) .""; @@ -4036,7 +4123,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * or false in case of error, e.g. the version has not a workflow */ function getWorkflowState() { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$this->_workflow) $this->getWorkflow(); @@ -4053,7 +4140,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ if (is_bool($recs) && !$recs) return false; $this->_workflowState = new SeedDMS_Core_Workflow_State($recs[0]['id'], $recs[0]['name'], $recs[0]['maxtime'], $recs[0]['precondfunc'], $recs[0]['documentstatus']); - $this->_workflowState->setDMS($this->_document->_dms); + $this->_workflowState->setDMS($this->_document->getDMS()); } return $this->_workflowState; } /* }}} */ @@ -4064,7 +4151,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @param object $workflow */ function setWorkflow($workflow, $user) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $this->getWorkflow(); if($workflow && is_object($workflow)) { @@ -4097,7 +4184,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * or false in case of error, e.g. the version has not a workflow */ function getWorkflow() { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if (!isset($this->_workflow)) { $queryStr= @@ -4109,8 +4196,8 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; if(!$recs) return false; - $this->_workflow = new SeedDMS_Core_Workflow($recs[0]['id'], $recs[0]['name'], $this->_document->_dms->getWorkflowState($recs[0]['initstate'])); - $this->_workflow->setDMS($this->_document->_dms); + $this->_workflow = new SeedDMS_Core_Workflow($recs[0]['id'], $recs[0]['name'], $this->_document->getDMS()->getWorkflowState($recs[0]['initstate'])); + $this->_workflow->setDMS($this->_document->getDMS()); } return $this->_workflow; } /* }}} */ @@ -4126,7 +4213,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true on success, otherwise false */ function rewriteWorkflowLog($workflowlog) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $db->startTransaction(); @@ -4163,7 +4250,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * or false in case of error */ function rewindWorkflow() { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $this->getWorkflow(); @@ -4204,7 +4291,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * or false in case of error */ function removeWorkflow($user, $unlink=false) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $this->getWorkflow(); @@ -4249,7 +4336,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @param object $subworkflow */ function getParentWorkflow() { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); /* document content must be in a workflow */ $this->getWorkflow(); @@ -4268,7 +4355,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; if($recs[0]['parentworkflow']) - return $this->_document->_dms->getWorkflow($recs[0]['parentworkflow']); + return $this->_document->getDMS()->getWorkflow($recs[0]['parentworkflow']); return false; } /* }}} */ @@ -4279,7 +4366,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @param object $subworkflow */ function runSubWorkflow($subworkflow) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); /* document content must be in a workflow */ $this->getWorkflow(); @@ -4313,7 +4400,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @param string comment for the transition trigger */ function returnFromSubWorkflow($user, $transition=null, $comment='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); /* document content must be in a workflow */ $this->getWorkflow(); @@ -4343,8 +4430,8 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return false; } - $this->_workflow = $this->_document->_dms->getWorkflow($recs[0]['parentworkflow']); - $this->_workflow->setDMS($this->_document->_dms); + $this->_workflow = $this->_document->getDMS()->getWorkflow($recs[0]['parentworkflow']); + $this->_workflow->setDMS($this->_document->getDMS()); if($transition) { if(false === $this->triggerWorkflowTransition($user, $transition, $comment)) { @@ -4369,7 +4456,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return boolean true if user may trigger transaction */ function triggerWorkflowTransitionIsAllowed($user, $transition) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$this->_workflow) $this->getWorkflow(); @@ -4511,7 +4598,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * false in case of an error */ function triggerWorkflowTransition($user, $transition, $comment='') { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$this->_workflow) $this->getWorkflow(); @@ -4652,7 +4739,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array list of operations */ function getWorkflowLog($transition = null) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); /* if(!$this->_workflow) @@ -4672,8 +4759,8 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $workflowlogs = array(); for ($i = 0; $i < count($resArr); $i++) { - $workflow = $this->_document->_dms->getWorkflow($resArr[$i]["workflow"]); - $workflowlog = new SeedDMS_Core_Workflow_Log($resArr[$i]["id"], $this->_document->_dms->getDocument($resArr[$i]["document"]), $resArr[$i]["version"], $workflow, $this->_document->_dms->getUser($resArr[$i]["userid"]), $workflow->getTransition($resArr[$i]["transition"]), $resArr[$i]["date"], $resArr[$i]["comment"]); + $workflow = $this->_document->getDMS()->getWorkflow($resArr[$i]["workflow"]); + $workflowlog = new SeedDMS_Core_Workflow_Log($resArr[$i]["id"], $this->_document->getDMS()->getDocument($resArr[$i]["document"]), $resArr[$i]["version"], $workflow, $this->_document->getDMS()->getUser($resArr[$i]["userid"]), $workflow->getTransition($resArr[$i]["transition"]), $resArr[$i]["date"], $resArr[$i]["comment"]); $workflowlog->setDMS($this); $workflowlogs[$i] = $workflowlog; } @@ -4688,7 +4775,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ * @return array list of operations */ function getLastWorkflowTransition() { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$this->_workflow) $this->getWorkflow(); @@ -4705,7 +4792,7 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ $workflowlogs = array(); $i = 0; - $workflowlog = new SeedDMS_Core_Workflow_Log($resArr[$i]["id"], $this->_document->_dms->getDocument($resArr[$i]["document"]), $resArr[$i]["version"], $this->_workflow, $this->_document->_dms->getUser($resArr[$i]["userid"]), $this->_workflow->getTransition($resArr[$i]["transition"]), $resArr[$i]["date"], $resArr[$i]["comment"]); + $workflowlog = new SeedDMS_Core_Workflow_Log($resArr[$i]["id"], $this->_document->getDMS()->getDocument($resArr[$i]["document"]), $resArr[$i]["version"], $this->_workflow, $this->_document->getDMS()->getUser($resArr[$i]["userid"]), $this->_workflow->getTransition($resArr[$i]["transition"]), $resArr[$i]["date"], $resArr[$i]["comment"]); $workflowlog->setDMS($this); return $workflowlog; @@ -4737,6 +4824,49 @@ class SeedDMS_Core_DocumentContent extends SeedDMS_Core_Object { /* {{{ */ return $needwkflaction; } /* }}} */ + /** + * Checks the internal data of the document version and repairs it. + * Currently, this function only repairs a missing filetype + * + * @return boolean true on success, otherwise false + */ + function repair() { /* {{{ */ + $dms = $this->_document->getDMS(); + $db = $this->_dms->getDB(); + + if(file_exists($this->_dms->contentDir.$this->_document->getDir() . $this->_version . $this->_fileType)) { + if(strlen($this->_fileType) < 2) { + switch($this->_mimeType) { + case "application/pdf": + case "image/png": + case "image/gif": + case "image/jpg": + $expect = substr($this->_mimeType, -3, 3); + if($this->_fileType != '.'.$expect) { + $db->startTransaction(); + $queryStr = "UPDATE `tblDocumentContent` SET `fileType`='.".$expect."' WHERE `id` = ". $this->_id; + $res = $db->getResult($queryStr); + if ($res) { + if(!SeedDMS_Core_File::renameFile($this->_dms->contentDir.$this->_document->getDir() . $this->_version . $this->_fileType, $this->_dms->contentDir.$this->_document->getDir() . $this->_version . '.' . $expect)) { + $db->rollbackTransaction(); + } else { + $db->commitTransaction(); + } + } else { + $db->rollbackTransaction(); + } + } + break; + } + } + } elseif(file_exists($this->_document->getDir() . $this->_version . '.')) { + echo "no file"; + } else { + echo $this->_dms->contentDir.$this->_document->getDir() . $this->_version . $this->_fileType; + } + return true; + } /* }}} */ + } /* }}} */ @@ -4823,8 +4953,9 @@ class SeedDMS_Core_DocumentLink { /* {{{ */ * @return bool|SeedDMS_Core_User */ function getUser() { - if (!isset($this->_user)) - $this->_user = $this->_document->_dms->getUser($this->_userID); + if (!isset($this->_user)) { + $this->_user = $this->_document->getDMS()->getUser($this->_userID); + } return $this->_user; } @@ -4847,11 +4978,11 @@ class SeedDMS_Core_DocumentLink { /* {{{ */ * @return int either M_NONE or M_READ */ function getAccessMode($u, $source, $target) { /* {{{ */ - $dms = $this->_document->_dms; + $dms = $this->_document->getDMS(); /* Check if 'onCheckAccessDocumentLink' callback is set */ - if(isset($this->_dms->callbacks['onCheckAccessDocumentLink'])) { - foreach($this->_dms->callbacks['onCheckAccessDocumentLink'] as $callback) { + if(isset($dms->callbacks['onCheckAccessDocumentLink'])) { + foreach($dms->callbacks['onCheckAccessDocumentLink'] as $callback) { if(($ret = call_user_func($callback[0], $callback[1], $this, $u, $source, $target)) > 0) { return $ret; } @@ -5000,7 +5131,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @param string $newComment string new comment of document */ function setComment($newComment) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentFiles` SET `comment` = ".$db->qstr($newComment)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id; if (!$db->getResult($queryStr)) @@ -5023,7 +5154,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @return boolean true on success */ function setDate($date) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!$date) $date = time(); @@ -5070,7 +5201,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @param $newComment string new name of document */ function setName($newName) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentFiles` SET `name` = ".$db->qstr($newName)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id; if (!$db->getResult($queryStr)) @@ -5085,7 +5216,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ */ function getUser() { if (!isset($this->_user)) - $this->_user = $this->_document->_dms->getUser($this->_userID); + $this->_user = $this->_document->getDMS()->getUser($this->_userID); return $this->_user; } @@ -5107,7 +5238,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @param $newComment string new version of document */ function setVersion($newVersion) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); if(!is_numeric($newVersion) && $newVersion != '') return false; @@ -5131,7 +5262,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @param $newComment string new comment of document */ function setPublic($newPublic) { /* {{{ */ - $db = $this->_document->_dms->getDB(); + $db = $this->_document->getDMS()->getDB(); $queryStr = "UPDATE `tblDocumentFiles` SET `public` = ".($newPublic ? 1 : 0)." WHERE `document` = ".$this->_document->getId()." AND `id` = ". $this->_id; if (!$db->getResult($queryStr)) @@ -5153,7 +5284,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */ * @return integer either M_NONE or M_READ */ function getAccessMode($u) { /* {{{ */ - $dms = $this->_document->_dms; + $dms = $this->_document->getDMS(); /* Check if 'onCheckAccessDocumentLink' callback is set */ if(isset($this->_dms->callbacks['onCheckAccessDocumentFile'])) { diff --git a/SeedDMS_Core/Core/inc.ClassFolder.php b/SeedDMS_Core/Core/inc.ClassFolder.php index f0e1608a9..58f21a26d 100644 --- a/SeedDMS_Core/Core/inc.ClassFolder.php +++ b/SeedDMS_Core/Core/inc.ClassFolder.php @@ -129,6 +129,15 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $this->_notifyList = array(); } /* }}} */ + /** + * Check if this object is of type 'folder'. + * + * @param string $type type of object + */ + public function isType($type) { /* {{{ */ + return $type == 'folder'; + } /* }}} */ + /** * Return an array of database fields which used for searching * a term entered in the database search form @@ -168,6 +177,22 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { return $sql; } /* }}} */ + /** + * Return a folder by its database record + * + * @param array $resArr array of folder data as returned by database + * @param SeedDMS_Core_DMS $dms + * @return SeedDMS_Core_Folder|bool instance of SeedDMS_Core_Folder if document exists + */ + public static function getInstanceByData($resArr, $dms) { /* {{{ */ + $classname = $dms->getClassname('folder'); + /** @var SeedDMS_Core_Folder $folder */ + $folder = new $classname($resArr["id"], $resArr["name"], $resArr["parent"], $resArr["comment"], $resArr["date"], $resArr["owner"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr["sequence"]); + $folder->setDMS($dms); + $folder = $folder->applyDecorators(); + return $folder; + } /* }}} */ + /** * Return a folder by its id * @@ -186,14 +211,34 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { else if (count($resArr) != 1) return null; + return self::getInstanceByData($resArr[0], $dms); + $resArr = $resArr[0]; $classname = $dms->getClassname('folder'); /** @var SeedDMS_Core_Folder $folder */ $folder = new $classname($resArr["id"], $resArr["name"], $resArr["parent"], $resArr["comment"], $resArr["date"], $resArr["owner"], $resArr["inheritAccess"], $resArr["defaultAccess"], $resArr["sequence"]); $folder->setDMS($dms); + $folder = $folder->applyDecorators(); return $folder; } /* }}} */ + /** + * Apply decorators + * + * @return object final object after all decorators has been applied + */ + function applyDecorators() { /* {{{ */ + if($decorators = $this->_dms->getDecorators('folder')) { + $s = $this; + foreach($decorators as $decorator) { + $s = new $decorator($s); + } + return $s; + } else { + return $this; + } + } /* }}} */ + /** * Get the name of the folder. * @@ -448,7 +493,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $this->_defaultAccess = $mode; if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ @@ -481,7 +526,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $this->_inheritAccess = $inheritAccess; if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ @@ -574,9 +619,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { if (is_bool($resArr) && $resArr == false) return false; + $classname = $this->_dms->getClassname('folder'); $this->_subFolders = array(); for ($i = 0; $i < count($resArr); $i++) - $this->_subFolders[$i] = $this->_dms->getFolder($resArr[$i]["id"]); +// $this->_subFolders[$i] = $this->_dms->getFolder($resArr[$i]["id"]); + $this->_subFolders[$i] = $classname::getInstanceByData($resArr[$i], $this->_dms); } return $this->_subFolders; @@ -757,7 +804,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { $db = $this->_dms->getDB(); if (!isset($this->_documents)) { - $queryStr = "SELECT * FROM `tblDocuments` WHERE `folder` = " . $this->_id; + $queryStr = "SELECT `tblDocuments`.*, `tblDocumentLocks`.`userID` as `lock` FROM `tblDocuments` LEFT JOIN `tblDocumentLocks` ON `tblDocuments`.`id` = `tblDocumentLocks`.`document` WHERE `folder` = " . $this->_id; if ($orderby && $orderby[0]=="n") $queryStr .= " ORDER BY `name`"; elseif($orderby && $orderby[0]=="s") $queryStr .= " ORDER BY `sequence`"; elseif($orderby && $orderby[0]=="d") $queryStr .= " ORDER BY `date`"; @@ -774,9 +821,11 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { return false; $this->_documents = array(); + $classname = $this->_dms->getClassname('document'); foreach ($resArr as $row) { -// array_push($this->_documents, new SeedDMS_Core_Document($row["id"], $row["name"], $row["comment"], $row["date"], $row["expires"], $row["owner"], $row["folder"], $row["inheritAccess"], $row["defaultAccess"], isset($row["lockUser"])?$row["lockUser"]:NULL, $row["keywords"], $row["sequence"])); - array_push($this->_documents, $this->_dms->getDocument($row["id"])); + $row['lock'] = !$row['lock'] ? -1 : $row['lock']; +// array_push($this->_documents, $this->_dms->getDocument($row["id"])); + array_push($this->_documents, $classname::getInstanceByData($row, $this->_dms)); } } return $this->_documents; @@ -1224,7 +1273,7 @@ class SeedDMS_Core_Folder extends SeedDMS_Core_Object { unset($this->_accessList); if(!$noclean) - self::cleanNotifyList(); + $this->cleanNotifyList(); return true; } /* }}} */ diff --git a/SeedDMS_Core/Core/inc.ClassIterator.php b/SeedDMS_Core/Core/inc.ClassIterator.php new file mode 100644 index 000000000..3dd89148e --- /dev/null +++ b/SeedDMS_Core/Core/inc.ClassIterator.php @@ -0,0 +1,229 @@ + + * @copyright Copyright (C) 2010, Uwe Steinmann + * @version Release: @package_version@ + */ + +class DocumentIterator implements Iterator { + /** + * @var object folder + */ + protected $_folder; + + /** + * @var object dms + */ + protected $_dms; + + /** + * @var array documents + */ + protected $_documents; + + public function __construct($folder) { + $this->_folder = $folder; + $this->_dms = $folder->getDMS(); + $this->_documents = array(); + $this->_pointer = 0; + $this->_cache = array(); + $this->populate(); + } + + public function rewind() { + $this->_pointer = 0; + } + + public function valid() { + return isset($this->_documents[$this->_pointer]); + } + + public function next() { + $this->_pointer++; + } + + public function key() { + return $this->_folders[$this->_pointer]; + } + + public function current() { + if($this->_documents[$this->_pointer]) { + $documentid = $this->_documents[$this->_pointer]['id']; + if(!isset($this->_cache[$documentid])) { +// echo $documentid." not cached
"; + $this->_cache[$documentid] = $this->_dms->getdocument($documentid); + } + return $this->_cache[$documentid]; + } + return null; + } + + private function populate($orderby="", $dir="asc", $limit=0, $offset=0) { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = "SELECT `id` FROM `tblDocuments` WHERE `folder` = " . $this->_folder->getID(); + + if ($orderby && $orderby[0]=="n") $queryStr .= " ORDER BY `name`"; + elseif ($orderby && $orderby[0]=="s") $queryStr .= " ORDER BY `sequence`"; + elseif ($orderby && $orderby[0]=="d") $queryStr .= " ORDER BY `date`"; + if($dir == 'desc') + $queryStr .= " DESC"; + if(is_int($limit) && $limit > 0) { + $queryStr .= " LIMIT ".$limit; + if(is_int($offset) && $offset > 0) + $queryStr .= " OFFSET ".$offset; + } + + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + + $this->_documents = $resArr; + } /* }}} */ +} + +class FolderIterator implements Iterator { /* {{{ */ + /** + * @var object folder + */ + protected $_folder; + + /** + * @var object dms + */ + protected $_dms; + + /** + * @var array documents + */ + protected $_folders; + + public function __construct($folder) { /* {{{ */ + $this->_folder = $folder; + $this->_dms = $folder->getDMS(); + $this->_folders = array(); + $this->_pointer = 0; + $this->_cache = array(); + $this->populate(); + } /* }}} */ + + public function rewind() { /* {{{ */ + $this->_pointer = 0; + } /* }}} */ + + public function valid() { /* {{{ */ + return isset($this->_folders[$this->_pointer]); + } /* }}} */ + + public function next() { /* {{{ */ + $this->_pointer++; + } /* }}} */ + + public function key() { /* {{{ */ + return $this->_folders[$this->_pointer]; + } /* }}} */ + + public function current() { /* {{{ */ + if($this->_folders[$this->_pointer]) { + $folderid = $this->_folders[$this->_pointer]['id']; + if(!isset($this->_cache[$folderid])) { +// echo $folderid." not cached
"; + $this->_cache[$folderid] = $this->_dms->getFolder($folderid); + } + return $this->_cache[$folderid]; + } + return null; + } /* }}} */ + + private function populate($orderby="", $dir="asc", $limit=0, $offset=0) { /* {{{ */ + $db = $this->_dms->getDB(); + + $queryStr = "SELECT `id` FROM `tblFolders` WHERE `parent` = " . $this->_folder->getID(); + + if ($orderby && $orderby[0]=="n") $queryStr .= " ORDER BY `name`"; + elseif ($orderby && $orderby[0]=="s") $queryStr .= " ORDER BY `sequence`"; + elseif ($orderby && $orderby[0]=="d") $queryStr .= " ORDER BY `date`"; + if($dir == 'desc') + $queryStr .= " DESC"; + if(is_int($limit) && $limit > 0) { + $queryStr .= " LIMIT ".$limit; + if(is_int($offset) && $offset > 0) + $queryStr .= " OFFSET ".$offset; + } + + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && $resArr == false) + return false; + + $this->_folders = $resArr; + } /* }}} */ +} /* }}} */ + +/** + * The FolderFilterIterator checks if the given user has access on + * the current folder. + * FilterIterator uses an inner iterator passed to the constructor + * to iterate over the sub folders of a folder. + * + $iter = new FolderIterator($folder); + $iter2 = new FolderFilterIterator($iter, $user); + foreach($iter2 as $ff) { + echo $ff->getName()."
"; + } + */ +class FolderFilterIterator extends FilterIterator { /* {{{ */ + public function __construct(Iterator $iterator , $filter ) { + parent::__construct($iterator); + $this->userFilter = $filter; + } + public function accept() { /* {{{ */ + $folder = $this->getInnerIterator()->current(); + echo "accept() for ".$folder->getName()."
"; + return true; + } /* }}} */ +} /* }}} */ + +/** + $iter = new RecursiveFolderIterator($folder); + $iter2 = new RecursiveIteratorIterator($iter, RecursiveIteratorIterator::SELF_FIRST); + foreach($iter2 as $ff) { + echo $ff->getID().': '.$ff->getName()."
"; + } + */ +class RecursiveFolderIterator extends FolderIterator implements RecursiveIterator { /* {{{ */ + + public function hasChildren() { /* {{{ */ + $db = $this->_dms->getDB(); + $queryStr = "SELECT id FROM `tblFolders` WHERE `parent` = ".(int) $this->current()->getID(); + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) + return false; + return true; + } /* }}} */ + + public function getChildren() { /* {{{ */ + return new RecursiveFolderIterator($this->current()); + } /* }}} */ +} /* }}} */ + +class RecursiveFolderFilterIterator extends FolderFilterIterator { /* {{{ */ + public function hasChildren() { /* {{{ */ + $db = $this->_dms->getDB(); + $queryStr = "SELECT id FROM `tblFolders` WHERE `parent` = ".(int) $this->current()->getID(); + $resArr = $db->getResultArray($queryStr); + if (is_bool($resArr) && !$resArr) + return false; + return true; + } /* }}} */ + + public function getChildren() { /* {{{ */ + return new RecursiveFolderIterator($this->current()); + } /* }}} */ + +} /* }}} */ diff --git a/SeedDMS_Core/Core/inc.ClassObject.php b/SeedDMS_Core/Core/inc.ClassObject.php index e53d2416c..101f3bf2c 100644 --- a/SeedDMS_Core/Core/inc.ClassObject.php +++ b/SeedDMS_Core/Core/inc.ClassObject.php @@ -47,6 +47,15 @@ class SeedDMS_Core_Object { /* {{{ */ $this->_dms = null; } /* }}} */ + /** + * Check if this object is of a given type. + * + * This method must be implemened in the child class + * + * @param string $type type of object + */ + public function isType($type) {return false;} + /** * Set dms this object belongs to. * @@ -57,23 +66,27 @@ class SeedDMS_Core_Object { /* {{{ */ * * @param SeedDMS_Core_DMS $dms reference to dms */ - function setDMS($dms) { /* {{{ */ + public function setDMS($dms) { /* {{{ */ $this->_dms = $dms; } /* }}} */ + public function getDMS() { /* {{{ */ + return $this->_dms; + } /* }}} */ + /** * Return the internal id of the document * * @return integer id of document */ - function getID() { return $this->_id; } + public function getID() { return $this->_id; } /** * Returns all attributes set for the object * * @return array|bool */ - function getAttributes() { /* {{{ */ + public function getAttributes() { /* {{{ */ if (!$this->_attributes) { $db = $this->_dms->getDB(); @@ -113,7 +126,7 @@ class SeedDMS_Core_Object { /* {{{ */ * @return array|string value of attritbute or false. The value is an array * if the attribute is defined as multi value */ - function getAttribute($attrdef) { /* {{{ */ + public function getAttribute($attrdef) { /* {{{ */ if (!$this->_attributes) { $this->getAttributes(); } @@ -133,7 +146,7 @@ class SeedDMS_Core_Object { /* {{{ */ * @return array|string value of attritbute or false. The value is an array * if the attribute is defined as multi value */ - function getAttributeValue($attrdef) { /* {{{ */ + public function getAttributeValue($attrdef) { /* {{{ */ if (!$this->_attributes) { $this->getAttributes(); } @@ -171,7 +184,7 @@ class SeedDMS_Core_Object { /* {{{ */ * @return array|bool * even if the attribute is not defined as multi value */ - function getAttributeValueAsArray($attrdef) { /* {{{ */ + public function getAttributeValueAsArray($attrdef) { /* {{{ */ if (!$this->_attributes) { $this->getAttributes(); } @@ -194,7 +207,7 @@ class SeedDMS_Core_Object { /* {{{ */ * @return string value of attritbute or false. The value is always a string * even if the attribute is defined as multi value */ - function getAttributeValueAsString($attrdef) { /* {{{ */ + public function getAttributeValueAsString($attrdef) { /* {{{ */ if (!$this->_attributes) { $this->getAttributes(); } @@ -214,7 +227,7 @@ class SeedDMS_Core_Object { /* {{{ */ * must be an array * @return boolean true if operation was successful, otherwise false */ - function setAttributeValue($attrdef, $value) { /* {{{ */ + public function setAttributeValue($attrdef, $value) { /* {{{ */ $db = $this->_dms->getDB(); if (!$this->_attributes) { $this->getAttributes(); @@ -265,7 +278,7 @@ class SeedDMS_Core_Object { /* {{{ */ * @param SeedDMS_Core_AttributeDefinition $attrdef * @return boolean true if operation was successful, otherwise false */ - function removeAttribute($attrdef) { /* {{{ */ + public function removeAttribute($attrdef) { /* {{{ */ $db = $this->_dms->getDB(); if (!$this->_attributes) { $this->getAttributes(); diff --git a/SeedDMS_Core/Core/inc.FileUtils.php b/SeedDMS_Core/Core/inc.FileUtils.php index abc56fb86..dc6238063 100644 --- a/SeedDMS_Core/Core/inc.FileUtils.php +++ b/SeedDMS_Core/Core/inc.FileUtils.php @@ -25,50 +25,50 @@ * @version Release: @package_version@ */ class SeedDMS_Core_File { - /** - * @param $old - * @param $new - * @return bool - */ - static function renameFile($old, $new) { /* {{{ */ + /** + * @param $old + * @param $new + * @return bool + */ + static function renameFile($old, $new) { /* {{{ */ return @rename($old, $new); } /* }}} */ - /** - * @param $file - * @return bool - */ - static function removeFile($file) { /* {{{ */ + /** + * @param $file + * @return bool + */ + static function removeFile($file) { /* {{{ */ return @unlink($file); } /* }}} */ - /** - * @param $source - * @param $target - * @return bool - */ - static function copyFile($source, $target) { /* {{{ */ + /** + * @param $source + * @param $target + * @return bool + */ + static function copyFile($source, $target) { /* {{{ */ return @copy($source, $target); } /* }}} */ - /** - * @param $source - * @param $target - * @return bool - */ - static function moveFile($source, $target) { /* {{{ */ - /** @noinspection PhpUndefinedFunctionInspection */ - if (!@copyFile($source, $target)) + /** + * @param $source + * @param $target + * @return bool + */ + static function moveFile($source, $target) { /* {{{ */ + /** @noinspection PhpUndefinedFunctionInspection */ + if (!@copyFile($source, $target)) return false; - /** @noinspection PhpUndefinedFunctionInspection */ - return @removeFile($source); + /** @noinspection PhpUndefinedFunctionInspection */ + return @removeFile($source); } /* }}} */ - /** - * @param $file - * @return bool|int - */ - static function fileSize($file) { /* {{{ */ + /** + * @param $file + * @return bool|int + */ + static function fileSize($file) { /* {{{ */ if(!$a = fopen($file, 'r')) return false; fseek($a, 0, SEEK_END); @@ -77,22 +77,22 @@ class SeedDMS_Core_File { return $filesize; } /* }}} */ - /** - * @param $size - * @param array $sizes - * @return string - */ - static function format_filesize($size, $sizes = array('Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB')) { /* {{{ */ + /** + * @param $size + * @param array $sizes + * @return string + */ + static function format_filesize($size, $sizes = array('Bytes', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB')) { /* {{{ */ if ($size == 0) return('0 Bytes'); - /** @noinspection PhpIllegalArrayKeyTypeInspection */ - return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $sizes[$i]); + /** @noinspection PhpIllegalArrayKeyTypeInspection */ + return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . ' ' . $sizes[$i]); } /* }}} */ - /** - * @param $str - * @return bool|int - */ - static function parse_filesize($str) { /* {{{ */ + /** + * @param $str + * @return bool|int + */ + static function parse_filesize($str) { /* {{{ */ preg_replace('/\s\s+/', ' ', $str); if(strtoupper(substr($str, -1)) == 'B') { $value = (int) substr($str, 0, -2); @@ -115,32 +115,32 @@ class SeedDMS_Core_File { return $value; break; } - /** @noinspection PhpUnreachableStatementInspection */ - return false; + /** @noinspection PhpUnreachableStatementInspection */ + return false; } /* }}} */ - /** - * @param $file - * @return string - */ - static function checksum($file) { /* {{{ */ + /** + * @param $file + * @return string + */ + static function checksum($file) { /* {{{ */ return md5_file($file); } /* }}} */ - /** - * @param $old - * @param $new - * @return bool - */ - static function renameDir($old, $new) { /* {{{ */ + /** + * @param $old + * @param $new + * @return bool + */ + static function renameDir($old, $new) { /* {{{ */ return @rename($old, $new); } /* }}} */ - /** - * @param $path - * @return bool - */ - static function makeDir($path) { /* {{{ */ + /** + * @param $path + * @return bool + */ + static function makeDir($path) { /* {{{ */ if( !is_dir( $path ) ){ $res=@mkdir( $path , 0777, true); @@ -195,11 +195,11 @@ class SeedDMS_Core_File { */ } /* }}} */ - /** - * @param $path - * @return bool - */ - static function removeDir($path) { /* {{{ */ + /** + * @param $path + * @return bool + */ + static function removeDir($path) { /* {{{ */ $handle = @opendir($path); while ($entry = @readdir($handle) ) { @@ -220,12 +220,12 @@ class SeedDMS_Core_File { return @rmdir($path); } /* }}} */ - /** - * @param $sourcePath - * @param $targetPath - * @return bool - */ - static function copyDir($sourcePath, $targetPath) { /* {{{ */ + /** + * @param $sourcePath + * @param $targetPath + * @return bool + */ + static function copyDir($sourcePath, $targetPath) { /* {{{ */ if (mkdir($targetPath, 0777)) { $handle = @opendir($sourcePath); while ($entry = @readdir($handle) ) { @@ -247,26 +247,26 @@ class SeedDMS_Core_File { return true; } /* }}} */ - /** - * @param $sourcePath - * @param $targetPath - * @return bool - */ - static function moveDir($sourcePath, $targetPath) { /* {{{ */ - /** @noinspection PhpUndefinedFunctionInspection */ - if (!copyDir($sourcePath, $targetPath)) + /** + * @param $sourcePath + * @param $targetPath + * @return bool + */ + static function moveDir($sourcePath, $targetPath) { /* {{{ */ + /** @noinspection PhpUndefinedFunctionInspection */ + if (!copyDir($sourcePath, $targetPath)) return false; - /** @noinspection PhpUndefinedFunctionInspection */ - return removeDir($sourcePath); + /** @noinspection PhpUndefinedFunctionInspection */ + return removeDir($sourcePath); } /* }}} */ // code by Kioob (php.net manual) - /** - * @param $source - * @param bool $level - * @return bool|string - */ - static function gzcompressfile($source, $level=false) { /* {{{ */ + /** + * @param $source + * @param bool $level + * @return bool|string + */ + static function gzcompressfile($source, $level=false) { /* {{{ */ $dest=$source.'.gz'; $mode='wb'.$level; $error=false; diff --git a/SeedDMS_Core/package.xml b/SeedDMS_Core/package.xml index b659e7baf..2ff9423fa 100644 --- a/SeedDMS_Core/package.xml +++ b/SeedDMS_Core/package.xml @@ -12,11 +12,11 @@ uwe@steinmann.cx yes - 2019-07-01 - + 2020-02-17 + - 5.1.12 - 5.1.12 + 5.1.14 + 5.1.14 stable @@ -24,12 +24,7 @@ GPL License -- parameter $orderby passed to SeedDMS_Core_Folder::getDocuments() and SeedDMS_Core_Folder::getSubFolders() can be a string, but only the first char is evaluated -- SeedDMS_Core_DMS::search() excepts parameters as array, added orderby -- add SeedDMS_Core_Folder::hasSubFolderByName() -- fix SeedDMS_Core_Folder::hasDocumentByName() which returned an int > 0 if documents - has been loaded before and even if the document searching for was not among them. -- add new method SeedDMS_Core_Folder::empty() +- speed up SeedDMS_Core_Folder::getSubFolders() SeedDMS_Core_Folder::getDocuments() by minimizing the number of sql queries. @@ -82,6 +77,12 @@ + + + + + + @@ -1672,5 +1673,44 @@ add method SeedDMS_Core_DatabaseAccess::setLogFp() ??? + + 2019-07-01 + + + 5.1.12 + 5.1.12 + + + stable + stable + + GPL License + +- parameter $orderby passed to SeedDMS_Core_Folder::getDocuments() and SeedDMS_Core_Folder::getSubFolders() can be a string, but only the first char is evaluated +- SeedDMS_Core_DMS::search() excepts parameters as array, added orderby +- add SeedDMS_Core_Folder::hasSubFolderByName() +- fix SeedDMS_Core_Folder::hasDocumentByName() which returned an int > 0 if documents + has been loaded before and even if the document searching for was not among them. +- add new method SeedDMS_Core_Folder::empty() + + + + 2019-08-07 + + + 5.1.13 + 5.1.13 + + + stable + stable + + GPL License + +- add decorators +- add new methods SeedDMS_Core_Document::isType(), SeedDMS_Core_Folder::isType(), SeedDMS_Core_DocumentContent::isType(). Use them instead of checking the class name. +- skip a fileType with just a '.' + + diff --git a/SeedDMS_Lucene/Lucene/IndexedDocument.php b/SeedDMS_Lucene/Lucene/IndexedDocument.php index 237150097..df93e4a35 100644 --- a/SeedDMS_Lucene/Lucene/IndexedDocument.php +++ b/SeedDMS_Lucene/Lucene/IndexedDocument.php @@ -158,29 +158,31 @@ class SeedDMS_Lucene_IndexedDocument extends Zend_Search_Lucene_Document { } if($version && !$nocontent) { $path = $dms->contentDir . $version->getPath(); - $content = ''; - $mimetype = $version->getMimeType(); - $this->mimetype = $mimetype; - $cmd = ''; - $mimeparts = explode('/', $mimetype, 2); - if(isset($_convcmd[$mimetype])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } elseif(isset($_convcmd[$mimeparts[0].'/*'])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } elseif(isset($_convcmd['*'])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } - if($cmd) { - $this->cmd = $cmd; - try { - $content = self::execWithTimeout($cmd, $timeout); - if($content['stdout']) { - $this->addField(Zend_Search_Lucene_Field::UnStored('content', $content['stdout'], 'utf-8')); + if(file_exists($path)) { + $content = ''; + $mimetype = $version->getMimeType(); + $this->mimetype = $mimetype; + $cmd = ''; + $mimeparts = explode('/', $mimetype, 2); + if(isset($_convcmd[$mimetype])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } elseif(isset($_convcmd[$mimeparts[0].'/*'])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } elseif(isset($_convcmd['*'])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } + if($cmd) { + $this->cmd = $cmd; + try { + $content = self::execWithTimeout($cmd, $timeout); + if($content['stdout']) { + $this->addField(Zend_Search_Lucene_Field::UnStored('content', $content['stdout'], 'utf-8')); + } + if($content['stderr']) { + $this->errormsg = $content['stderr']; + } + } catch (Exception $e) { } - if($content['stderr']) { - $this->errormsg = $content['stderr']; - } - } catch (Exception $e) { } } } diff --git a/SeedDMS_Preview/Preview/Base.php b/SeedDMS_Preview/Preview/Base.php index da153b305..f34359e7e 100644 --- a/SeedDMS_Preview/Preview/Base.php +++ b/SeedDMS_Preview/Preview/Base.php @@ -50,6 +50,12 @@ class SeedDMS_Preview_Base { */ protected $xsendfile; + /** + * @var string $lastpreviewfile will be set to the file name of the last preview + * @access protected + */ + protected $lastpreviewfile; + function __construct($previewDir, $timeout=5, $xsendfile=true) { /* {{{ */ if(!is_dir($previewDir)) { if (!SeedDMS_Core_File::makeDir($previewDir)) { @@ -154,14 +160,14 @@ class SeedDMS_Preview_Base { return array_key_exists($mimetype, $this->converters) && $this->converters[$mimetype]; } /* }}} */ -/** - * Send a file from disk to the browser - * - * This function uses either readfile() or the xѕendfile apache module if - * it is installed. - * - * @param string $filename - */ + /** + * Send a file from disk to the browser + * + * This function uses either readfile() or the xѕendfile apache module if + * it is installed. + * + * @param string $filename + */ protected function sendFile($filename) { /* {{{ */ if($this->xsendfile && function_exists('apache_get_modules') && in_array('mod_xsendfile',apache_get_modules())) { header("X-Sendfile: ".$filename); @@ -173,5 +179,14 @@ class SeedDMS_Preview_Base { readfile($filename); } } /* }}} */ + + /** + * Return path of last created preview file + * + * @return string + */ + public function getPreviewFile() { /* {{{ */ + return $this->lastpreviewfile; + } /* }}} */ } diff --git a/SeedDMS_Preview/Preview/PdfPreviewer.php b/SeedDMS_Preview/Preview/PdfPreviewer.php index daae6a4ed..6ce557810 100644 --- a/SeedDMS_Preview/Preview/PdfPreviewer.php +++ b/SeedDMS_Preview/Preview/PdfPreviewer.php @@ -96,6 +96,7 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base { return false; if(!$target) $target = $this->previewDir.$dir.md5($infile); + $this->lastpreviewfile = $target.'.pdf'; if($target != '' && (!file_exists($target.'.pdf') || filectime($target.'.pdf') < filectime($infile))) { $cmd = ''; $mimeparts = explode('/', $mimetype, 2); @@ -110,6 +111,7 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base { try { self::execWithTimeout($cmd, $this->timeout); } catch(Exception $e) { + $this->lastpreviewfile = ''; return false; } } diff --git a/SeedDMS_Preview/Preview/Previewer.php b/SeedDMS_Preview/Preview/Previewer.php index b8df0ca1c..ba69b75a4 100644 --- a/SeedDMS_Preview/Preview/Previewer.php +++ b/SeedDMS_Preview/Preview/Previewer.php @@ -52,7 +52,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { * @param integer $width width of preview image * @return string file name of preview image */ - protected function getFileName($object, $width) { /* {{{ */ + public function getFileName($object, $width) { /* {{{ */ if(!$object) return false; @@ -105,6 +105,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { return false; if(!$target) $target = $this->previewDir.$dir.md5($infile).'-'.$width; + $this->lastpreviewfile = $target.'.png'; if($target != '' && (!file_exists($target.'.png') || filectime($target.'.png') < filectime($infile))) { $cmd = ''; $mimeparts = explode('/', $mimetype, 2); @@ -120,6 +121,7 @@ class SeedDMS_Preview_Previewer extends SeedDMS_Preview_Base { try { self::execWithTimeout($cmd, $this->timeout); } catch(Exception $e) { + $this->lastpreviewfile = ''; return false; } } diff --git a/SeedDMS_Preview/package.xml b/SeedDMS_Preview/package.xml index 753cf4768..47a068c53 100644 --- a/SeedDMS_Preview/package.xml +++ b/SeedDMS_Preview/package.xml @@ -11,11 +11,11 @@ uwe@steinmann.cx yes - 2019-02-11 - + 2020-02-17 + - 1.2.10 - 1.2.10 + 1.3.0 + 1.3.0 stable @@ -23,8 +23,7 @@ GPL License -new parameter for enabling/disabling xsendfile -fix creation of pdf preview if document content class is not SeedDMS_Core_DocumentContent +add new methode getPreviewFile() @@ -404,5 +403,22 @@ make sure list of converters is always an array usage of mod_sendfile can be configured + + 2019-02-11 + + + 1.2.10 + 1.2.10 + + + stable + stable + + GPL License + +new parameter for enabling/disabling xsendfile +fix creation of pdf preview if document content class is not SeedDMS_Core_DocumentContent + + diff --git a/SeedDMS_SQLiteFTS/SQLiteFTS/IndexedDocument.php b/SeedDMS_SQLiteFTS/SQLiteFTS/IndexedDocument.php index fb87503b8..5e9fb08a1 100644 --- a/SeedDMS_SQLiteFTS/SQLiteFTS/IndexedDocument.php +++ b/SeedDMS_SQLiteFTS/SQLiteFTS/IndexedDocument.php @@ -152,29 +152,31 @@ class SeedDMS_SQLiteFTS_IndexedDocument extends SeedDMS_SQLiteFTS_Document { } if($version && !$nocontent) { $path = $dms->contentDir . $version->getPath(); - $content = ''; - $mimetype = $version->getMimeType(); - $this->mimetype = $mimetype; - $cmd = ''; - $mimeparts = explode('/', $mimetype, 2); - if(isset($_convcmd[$mimetype])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } elseif(isset($_convcmd[$mimeparts[0].'/*'])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } elseif(isset($_convcmd['*'])) { - $cmd = sprintf($_convcmd[$mimetype], $path); - } - if($cmd) { - $this->cmd = $cmd; - try { - $content = self::execWithTimeout($cmd, $timeout); - if($content['stdout']) { - $this->addField('content', $content['stdout'], 'unstored'); + if(file_exists($path)) { + $content = ''; + $mimetype = $version->getMimeType(); + $this->mimetype = $mimetype; + $cmd = ''; + $mimeparts = explode('/', $mimetype, 2); + if(isset($_convcmd[$mimetype])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } elseif(isset($_convcmd[$mimeparts[0].'/*'])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } elseif(isset($_convcmd['*'])) { + $cmd = sprintf($_convcmd[$mimetype], $path); + } + if($cmd) { + $this->cmd = $cmd; + try { + $content = self::execWithTimeout($cmd, $timeout); + if($content['stdout']) { + $this->addField('content', $content['stdout'], 'unstored'); + } + if($content['stderr']) { + $this->errormsg = $content['stderr']; + } + } catch (Exception $e) { } - if($content['stderr']) { - $this->errormsg = $content['stderr']; - } - } catch (Exception $e) { } } } diff --git a/SeedDMS_SQLiteFTS/SQLiteFTS/Indexer.php b/SeedDMS_SQLiteFTS/SQLiteFTS/Indexer.php index 1116616a6..7cac5d7e9 100644 --- a/SeedDMS_SQLiteFTS/SQLiteFTS/Indexer.php +++ b/SeedDMS_SQLiteFTS/SQLiteFTS/Indexer.php @@ -96,9 +96,10 @@ class SeedDMS_SQLiteFTS_Indexer { if(!$this->_conn) return false; - $sql = "INSERT INTO docs (docid, title, comment, keywords, category, owner, content, mimetype, origfilename, created) VALUES(".$doc->getFieldValue('document_id').", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".time().")"; + $sql = "INSERT INTO docs (docid, title, comment, keywords, category, owner, content, mimetype, origfilename, created) VALUES(".$doc->getFieldValue('document_id').", ".$this->_conn->quote($doc->getFieldValue('title')).", ".$this->_conn->quote($doc->getFieldValue('comment')).", ".$this->_conn->quote($doc->getFieldValue('keywords')).", ".$this->_conn->quote($doc->getFieldValue('category')).", ".$this->_conn->quote($doc->getFieldValue('owner')).", ".$this->_conn->quote($doc->getFieldValue('content')).", ".$this->_conn->quote($doc->getFieldValue('mimetype')).", ".$this->_conn->quote($doc->getFieldValue('origfilename')).", ".$doc->getFieldValue('created')/*time()*/.")"; $res = $this->_conn->exec($sql); if($res === false) { + return false; var_dump($this->_conn->errorInfo()); } return $res; diff --git a/SeedDMS_SQLiteFTS/package.xml b/SeedDMS_SQLiteFTS/package.xml index ed2256393..fdac846ba 100644 --- a/SeedDMS_SQLiteFTS/package.xml +++ b/SeedDMS_SQLiteFTS/package.xml @@ -11,11 +11,11 @@ uwe@steinmann.cx yes - 2018-04-11 + 2019-11-28 - 1.0.10 - 1.0.10 + 1.0.11 + 1.0.11 stable @@ -23,7 +23,8 @@ GPL License -IndexedDocument() remembers cmd and mimetype +Set 'created' in index to creation date of indexed content (was set to current +timestamp) @@ -226,5 +227,21 @@ allow conversion commands for mimetypes with wildcards execWithTimeout() reads data from stderr and saves it into error msg + + 2018-04-11 + + + 1.0.10 + 1.0.10 + + + stable + stable + + GPL License + +IndexedDocument() remembers cmd and mimetype + + diff --git a/TODO b/TODO index 8a9ea6cb8..830548653 100644 --- a/TODO +++ b/TODO @@ -6,8 +6,6 @@ which has not the expected result. Show message on doc info page if documents expects an action like review, approval, etc. -Import and export of a workflow as xml. - Find a way to make the workflows adjustable when used for a document. e.g. a workflow shall be used for a number of document but the users of a transtion has to be altered for each document. This is basically reusing diff --git a/conf/.htaccess b/conf/.htaccess index d774f51c9..2e473b4ba 100644 --- a/conf/.htaccess +++ b/conf/.htaccess @@ -1,6 +1,10 @@ # Make sure settings.xml can not be opened from outside! -#Redirect /conf/settings.xml /index.php - -Order allow,deny -Deny from all - +# Deny all requests from Apache 2.4+. + + Require all denied + + +# Deny all requests from Apache 2.0-2.2. + + Deny from all + diff --git a/controllers/class.AddDocument.php b/controllers/class.AddDocument.php index ff61cafaf..2b9942c86 100644 --- a/controllers/class.AddDocument.php +++ b/controllers/class.AddDocument.php @@ -56,7 +56,40 @@ class SeedDMS_Controller_AddDocument extends SeedDMS_Controller_Common { $reqversion = $this->getParam('reqversion'); $version_comment = $this->getParam('versioncomment'); $attributes = $this->getParam('attributes'); + foreach($attributes as $attrdefid=>$attribute) { + if($attrdef = $dms->getAttributeDefinition($attrdefid)) { + if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) { + if($attribute) { + if(!$attrdef->validate($attribute)) { + $this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute); + return false; + } + } elseif($attrdef->getMinValues() > 0) { + $this->errormsg = array("attr_min_values", array("attrname"=>$attrdef->getName())); + return false; + } + } else { + if($ret === false) + return false; + } + } + } $attributes_version = $this->getParam('attributesversion'); + foreach($attributes_version as $attrdefid=>$attribute) { + if($attrdef = $dms->getAttributeDefinition($attrdefid)) { + if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) { + if($attribute) { + if(!$attrdef->validate($attribute)) { + $this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute); + return false; + } + } + } else { + if($ret === false) + return false; + } + } + } $workflow = $this->getParam('workflow'); $notificationgroups = $this->getParam('notificationgroups'); $notificationusers = $this->getParam('notificationusers'); diff --git a/controllers/class.AddSubFolder.php b/controllers/class.AddSubFolder.php index 0d6582855..539dcec12 100644 --- a/controllers/class.AddSubFolder.php +++ b/controllers/class.AddSubFolder.php @@ -40,6 +40,24 @@ class SeedDMS_Controller_AddSubFolder extends SeedDMS_Controller_Common { $comment = $this->getParam('comment'); $sequence = $this->getParam('sequence'); $attributes = $this->getParam('attributes'); + foreach($attributes as $attrdefid=>$attribute) { + if($attrdef = $dms->getAttributeDefinition($attrdefid)) { + if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) { + if($attribute) { + if(!$attrdef->validate($attribute)) { + $this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute); + return false; + } + } elseif($attrdef->getMinValues() > 0) { + $this->errormsg = array("attr_min_values", array("attrname"=>$attrdef->getName())); + return false; + } + } else { + if($ret === false) + return false; + } + } + } $notificationgroups = $this->getParam('notificationgroups'); $notificationusers = $this->getParam('notificationusers'); diff --git a/controllers/class.EditDocument.php b/controllers/class.EditDocument.php index 6d8714df4..d84ceae8d 100644 --- a/controllers/class.EditDocument.php +++ b/controllers/class.EditDocument.php @@ -116,22 +116,28 @@ class SeedDMS_Controller_EditDocument extends SeedDMS_Controller_Common { $oldattributes = $document->getAttributes(); if($attributes) { foreach($attributes as $attrdefid=>$attribute) { - $attrdef = $dms->getAttributeDefinition($attrdefid); - if($attribute) { - if(!$attrdef->validate($attribute)) { - $this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute); - return false; - } + if($attrdef = $dms->getAttributeDefinition($attrdefid)) { + if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) { + if($attribute) { + if(!$attrdef->validate($attribute)) { + $this->errormsg = getAttributeValidationError($attrdef->getValidationError(), $attrdef->getName(), $attribute); + return false; + } - if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) { - if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) + if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) { + if(!$document->setAttributeValue($dms->getAttributeDefinition($attrdefid), $attribute)) + return false; + } + } elseif($attrdef->getMinValues() > 0) { + $this->errormsg = array("attr_min_values", array("attrname"=>$attrdef->getName())); + } elseif(isset($oldattributes[$attrdefid])) { + if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid))) + return false; + } + } else { + if($ret === false) return false; } - } elseif($attrdef->getMinValues() > 0) { - $this->errormsg = getMLText("attr_min_values", array("attrname"=>$attrdef->getName())); - } elseif(isset($oldattributes[$attrdefid])) { - if(!$document->removeAttribute($dms->getAttributeDefinition($attrdefid))) - return false; } } } diff --git a/controllers/class.EditFolder.php b/controllers/class.EditFolder.php index f41399fe5..02c6d1163 100644 --- a/controllers/class.EditFolder.php +++ b/controllers/class.EditFolder.php @@ -51,6 +51,7 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common { if($attributes) { foreach($attributes as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); + if(null === ($ret = $this->callHook('validateAttribute', $attrdef, $attribute))) { if($attribute) { if(!$attrdef->validate($attribute)) { $this->errormsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute); @@ -67,6 +68,10 @@ class SeedDMS_Controller_EditFolder extends SeedDMS_Controller_Common { if(!$folder->removeAttribute($dms->getAttributeDefinition($attrdefid))) return false; } + } else { + if($ret === false) + return false; + } } } foreach($oldattributes as $attrdefid=>$oldattribute) { diff --git a/controllers/class.ExtensionMgr.php b/controllers/class.ExtensionMgr.php index 9cae083e4..e28f4dab7 100644 --- a/controllers/class.ExtensionMgr.php +++ b/controllers/class.ExtensionMgr.php @@ -36,7 +36,7 @@ class SeedDMS_Controller_ExtensionMgr extends SeedDMS_Controller_Common { $extmgr = $this->params['extmgr']; $extname = $this->params['extname']; - $filename = $extmgr->createArchive($extname, $GLOBALS['EXT_CONF'][$extname]['version']); + $filename = $extmgr->createArchive($extname, $extmgr->getExtensionConfiguration()[$extname]['version']); if(null === $this->callHook('download')) { if(file_exists($filename)) { @@ -78,4 +78,19 @@ class SeedDMS_Controller_ExtensionMgr extends SeedDMS_Controller_Common { return true; } /* }}} */ + public function toggle() { /* {{{ */ + $dms = $this->params['dms']; + $settings = $this->params['settings']; + $extmgr = $this->params['extmgr']; + $extname = $this->params['extname']; + + if($settings->extensionIsDisabled($extname)) + $settings->enableExtension($extname); + else + $settings->disableExtension($extname); + $settings->save(); + + return true; + } /* }}} */ + } diff --git a/controllers/class.Login.php b/controllers/class.Login.php index 01cd4f21a..3a66568e1 100644 --- a/controllers/class.Login.php +++ b/controllers/class.Login.php @@ -85,30 +85,35 @@ class SeedDMS_Controller_Login extends SeedDMS_Controller_Common { } /* Deprecated: Run any additional authentication implemented in a hook */ - if(!$user && isset($GLOBALS['SEEDDMS_HOOKS']['authentication'])) { + if(!is_object($user) && isset($GLOBALS['SEEDDMS_HOOKS']['authentication'])) { foreach($GLOBALS['SEEDDMS_HOOKS']['authentication'] as $authObj) { if(!$user && method_exists($authObj, 'authenticate')) { $user = $authObj->authenticate($dms, $settings, $login, $pwd); + if(false === $user) { + if(empty($this->errormsg)) + $this->setErrorMsg("authentication_failed"); + return false; + } } } } /* Authenticate against LDAP server {{{ */ - if (!$user && isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) { + if (!is_object($user) && isset($settings->_ldapHost) && strlen($settings->_ldapHost)>0) { require_once("../inc/inc.ClassLdapAuthentication.php"); $authobj = new SeedDMS_LdapAuthentication($dms, $settings); $user = $authobj->authenticate($login, $pwd); } /* }}} */ /* Authenticate against SeedDMS database {{{ */ - if(!$user) { + if(!is_object($user)) { require_once("../inc/inc.ClassDbAuthentication.php"); $authobj = new SeedDMS_DbAuthentication($dms, $settings); $user = $authobj->authenticate($login, $pwd); } /* }}} */ /* If the user is still not authenticated, then exit with an error */ - if(!$user) { + if(!is_object($user)) { $this->callHook('loginFailed'); $this->setErrorMsg("login_error_text"); return false; diff --git a/controllers/class.Preview.php b/controllers/class.Preview.php index 985d45dab..4ddd7b5cc 100644 --- a/controllers/class.Preview.php +++ b/controllers/class.Preview.php @@ -23,6 +23,7 @@ class SeedDMS_Controller_Preview extends SeedDMS_Controller_Common { public function run() { + global $theme; $dms = $this->params['dms']; $type = $this->params['type']; $settings = $this->params['settings']; @@ -57,7 +58,9 @@ class SeedDMS_Controller_Preview extends SeedDMS_Controller_Common { $previewer->setConverters($settings->_converters['preview']); $previewer->setXsendfile($settings->_enableXsendfile); if(!$previewer->hasPreview($content)) { + add_log_line(""); if(!$previewer->createPreview($content)) { + add_log_line("", PEAR_LOG_ERR); } } if(!$previewer->hasPreview($content)) { diff --git a/doc/README.Converters b/doc/README.Converters index 5256f0f89..784922b4c 100644 --- a/doc/README.Converters +++ b/doc/README.Converters @@ -1,5 +1,33 @@ -Conversion to pdf -================= +Conversion to text for fulltext search +======================================= + +text/plain +text/csv + cat '%s' + +application/pdf + pdftotext -nopgbrk %s - | sed -e 's/ [a-zA-Z0-9.]\{1\} / /g' -e 's/[0-9.]//g' + +application/vnd.openxmlformats-officedocument.wordprocessingml.document + docx2txt '%s' - + +application/msword + catdoc %s + +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet + xlsx2csv %s + +application/vnd.ms-excel + xls2csv %s + +text/html + html2text %s + +Many office formats + unoconv -d document -f txt --stdout '%s' + +Conversion to pdf for pdf preview +================================== text/plain text/csv @@ -22,8 +50,16 @@ application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet unoconv -d spreadsheet -f pdf --stdout -v '%f' > '%o' -Preview -======== +Conversion to png for preview images +===================================== + +If you have problems running convert on PDF documents then read this page +https://askubuntu.com/questions/1081895/trouble-with-batch-conversion-of-png-to-pdf-using-convert +It basically instructs you to comment out the line + + + +in /etc/ImageMagick-6/policy.xml image/jpg image/jpeg @@ -46,5 +82,5 @@ application/rtf application/vnd.ms-powerpoint text/csv application/vnd.wordperfect - /usr/bin/unoconv -d document -e PageRange=1 -f pdf --stdout -v '%f' | gs -dBATCH -dNOPAUSE -sDEVICE=pngalpha -dPDFFitPage -r72x72 -sOutputFile=- -dFirstPage=1 -dLastPage=1 -q - | convert -resize %wx png:- '%o' + unoconv -d document -e PageRange=1 -f pdf --stdout -v '%f' | gs -dBATCH -dNOPAUSE -sDEVICE=pngalpha -dPDFFitPage -r72x72 -sOutputFile=- -dFirstPage=1 -dLastPage=1 -q - | convert -resize %wx png:- '%o' diff --git a/doc/README.Hooks b/doc/README.Hooks index 361a8e8c9..91f8de0a5 100644 --- a/doc/README.Hooks +++ b/doc/README.Hooks @@ -59,6 +59,22 @@ AddDocument::preIndexDocument are the document and the indexed document. Returning false will prevent the document from being indexed. +EditDocument::editDocumentAttribute + Called for each custom document attribute + + This hook will be called for each custom attribute to ouput the form entry. + The parameters passed are the document and the attribute definition. + Returning an empty array will prevent the attribute from being show. + Returning an array with two elements will pass those element to the formField + method. A returned string will be output as is. + +EditDocument::addDocumentAttributes + Called after all custom document attributes has been output + + This hook will be called right after the document attributes have been shown. + The return value is either an array with two elements or a string. + The string will be output as is, the array will be passed to the method formField. + UpdateDocument::preUpdateDocument Called before a new document will be updated @@ -70,10 +86,10 @@ UpdateDocument::preUpdateDocument UpdateDocument::updateDocument Called when the document is to be updated - This hook can be used to replace the code for updating a document. In - that case it must return a document content or false. If - the hook returns null, the original code for adding the - document will be executed. + This hook can be used to replace the code for updating a document. In + that case it must return a document content or false. If + the hook returns null, the original code for adding the + document will be executed. UpdateDocument::postUpdateDocument Called after a new document has been updated diff --git a/doc/README.Install.md b/doc/README.Install.md index f7e987dc0..d70acd0fc 100644 --- a/doc/README.Install.md +++ b/doc/README.Install.md @@ -105,6 +105,17 @@ IndexIgnore * ``` +Securing the configuration file +--------------------------------- + +The configuration can be fully controlled by any administrator of SeedDMS. This +can be crucial for those configuration options where external commands are +being configured, e.g. for the full text engine or creating preview images. +As a hoster you may not want this configuration options being set by a SeedDMS +administrator. For now you need to make the configuration file `settings.xml` +unwritable for the web server. + + UPDATING FROM A PREVIOUS VERSION OR SEEDDMS ============================================= diff --git a/ext/example/class.example.php b/ext/example/class.example.php index af5b8eee9..7d19e4338 100644 --- a/ext/example/class.example.php +++ b/ext/example/class.example.php @@ -181,5 +181,3 @@ class SeedDMS_ExtExample_Task { public function execute() { } } - -?> diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index d4877ef69..af9dff37b 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -62,12 +62,12 @@ class SeedDMS_AccessOperation { * even if is disallowed in the settings. */ function mayEditVersion($vno=0) { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { if($vno) $version = $this->obj->getContentByVersion($vno); else $version = $this->obj->getLatestContent(); - if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes)) + if (!isset($this->settings->_editOnlineFileTypes) || !is_array($this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getFileType()), $this->settings->_editOnlineFileTypes) || !in_array(strtolower($version->getMimeType()), $this->settings->_editOnlineFileTypes)) return false; if ($this->obj->getAccessMode($this->user) == M_ALL || $this->user->isAdmin()) { return true; @@ -86,7 +86,7 @@ class SeedDMS_AccessOperation { * even if is disallowed in the settings. */ function mayRemoveVersion() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $versions = $this->obj->getContent(); if ((($this->settings->_enableVersionDeletion && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin() ) && (count($versions) > 1)) { return true; @@ -106,7 +106,7 @@ class SeedDMS_AccessOperation { * even if is disallowed in the settings. */ function mayOverwriteStatus() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && ($status["status"]==S_RELEASED || $status["status"]==S_OBSOLETE )) { @@ -127,7 +127,7 @@ class SeedDMS_AccessOperation { * settings. */ function maySetReviewersApprovers() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); $reviewstatus = $latestContent->getReviewStatus(); @@ -159,7 +159,7 @@ class SeedDMS_AccessOperation { * settings. */ function maySetWorkflow() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $workflow = $latestContent->getWorkflow(); if ((($this->settings->_enableVersionModification && ($this->obj->getAccessMode($this->user) == M_ALL)) || $this->user->isAdmin()) && (!$workflow || ($workflow->getInitState()->getID() == $latestContent->getWorkflowState()->getID()))) { @@ -176,7 +176,7 @@ class SeedDMS_AccessOperation { * expiration date is only allowed if the document has not been obsoleted. */ function maySetExpires() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); if ((($this->obj->getAccessMode($this->user) == M_ALL) || $this->user->isAdmin()) && ($status["status"]!=S_OBSOLETE)) { @@ -196,7 +196,7 @@ class SeedDMS_AccessOperation { * disallowed in the settings. */ function mayEditComment() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { if($this->obj->isLocked()) { $lockingUser = $this->obj->getLockingUser(); if (($lockingUser->getID() != $this->user->getID()) && ($this->obj->getAccessMode($this->user) != M_ALL)) { @@ -222,7 +222,7 @@ class SeedDMS_AccessOperation { * disallowed in the settings. */ function mayEditAttributes() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); $workflow = $latestContent->getWorkflow(); @@ -241,7 +241,7 @@ class SeedDMS_AccessOperation { * account here. */ function mayReview() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); if ($status["status"]==S_DRAFT_REV) { @@ -258,7 +258,7 @@ class SeedDMS_AccessOperation { * review and if it is allowed in the settings */ function mayUpdateReview($updateUser) { /* {{{ */ - if(get_class($this->obj) == 'SeedDMS_Core_Document') { + if($this->obj->isType('document')) { if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && !$this->obj->hasExpired()) { return true; } @@ -276,7 +276,7 @@ class SeedDMS_AccessOperation { * account here. */ function mayApprove() { /* {{{ */ - if(get_class($this->obj) == $this->dms->getClassname('document')) { + if($this->obj->isType('document')) { $latestContent = $this->obj->getLatestContent(); $status = $latestContent->getStatus(); if ($status["status"]==S_DRAFT_APP) { @@ -293,7 +293,7 @@ class SeedDMS_AccessOperation { * approval and if it is allowed in the settings */ function mayUpdateApproval($updateUser) { /* {{{ */ - if(get_class($this->obj) == 'SeedDMS_Core_Document') { + if($this->obj->isType('document')) { if($this->settings->_enableUpdateRevApp && ($updateUser == $this->user) && !$this->obj->hasExpired()) { return true; } diff --git a/inc/inc.ClassController.php b/inc/inc.ClassController.php index 04e70dca7..2092d9313 100644 --- a/inc/inc.ClassController.php +++ b/inc/inc.ClassController.php @@ -30,14 +30,14 @@ class Controller { * @return object an object of a class implementing the view */ static function factory($class, $params=array()) { /* {{{ */ - global $settings, $session, $EXT_CONF; + global $settings, $session, $extMgr; if(!$class) { return null; } $classname = "SeedDMS_Controller_".$class; $filename = ''; - foreach($EXT_CONF as $extname=>$extconf) { + foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { $filename = $settings->_rootDir.'ext/'.$extname.'/controllers/class.'.$class.".php"; if(file_exists($filename)) { break; diff --git a/inc/inc.ClassControllerCommon.php b/inc/inc.ClassControllerCommon.php index 7e5f33737..4c3749f54 100644 --- a/inc/inc.ClassControllerCommon.php +++ b/inc/inc.ClassControllerCommon.php @@ -54,6 +54,7 @@ class SeedDMS_Controller_Common { * @return mixed return value of called method */ function __invoke($get=array()) { + $this->callHook('preRun', isset($get['action']) ? $get['action'] : 'run'); if(isset($get['action']) && $get['action']) { if(method_exists($this, $get['action'])) { return $this->{$get['action']}(); @@ -63,6 +64,7 @@ class SeedDMS_Controller_Common { } } else return $this->run(); + $this->callHook('postRun', isset($get['action']) ? $get['action'] : 'run'); } function setParams($params) { @@ -188,12 +190,22 @@ class SeedDMS_Controller_Common { * null if no hook was called */ function callHook($hook) { /* {{{ */ + $tmps = array(); $tmp = explode('_', get_class($this)); - if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])])) { + $tmps[] = $tmp[2]; + $tmp = explode('_', get_parent_class($this)); + $tmps[] = $tmp[2]; + /* Run array_unique() in case the parent class has the same suffix */ + $tmps = array_unique($tmps); + foreach($tmps as $tmp) + if(isset($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)])) { $this->lasthookresult = null; - foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp[2])] as $hookObj) { + foreach($GLOBALS['SEEDDMS_HOOKS']['controller'][lcfirst($tmp)] as $hookObj) { if (method_exists($hookObj, $hook)) { switch(func_num_args()) { + case 4: + $result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2), func_get_arg(3)); + break; case 3: $result = $hookObj->$hook($this, func_get_arg(1), func_get_arg(2)); break; diff --git a/inc/inc.ClassEmailUtils.php b/inc/inc.ClassEmailUtils.php index a36672304..e1882290b 100644 --- a/inc/inc.ClassEmailUtils.php +++ b/inc/inc.ClassEmailUtils.php @@ -42,7 +42,7 @@ class SeedDMS_EmailUtils { return(str_replace( array('###SITENAME###', '###HTTP_ROOT###', '###URL_PREFIX###'), - array($settings->_siteName, $settings->_httpRoot, "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot), + array($settings->_siteName, $settings->_httpRoot, getBaseUrl().$settings->_httpRoot), $text)); } /* }}} */ diff --git a/inc/inc.ClassExtensionMgr.php b/inc/inc.ClassExtensionMgr.php index 6a4b56ac7..2d000b21c 100644 --- a/inc/inc.ClassExtensionMgr.php +++ b/inc/inc.ClassExtensionMgr.php @@ -190,6 +190,61 @@ class SeedDMS_Extension_Mgr { return $extensions; } /* }}} */ + static protected function Zip($source, $destination, $include_dir = false) { /* {{{ */ + + if (!extension_loaded('zip') || !file_exists($source)) { + return false; + } + + if (file_exists($destination)) { + unlink ($destination); + } + + $zip = new ZipArchive(); + if (!$zip->open($destination, ZIPARCHIVE::CREATE)) { + return false; + } + $source = str_replace('\\', '/', realpath($source)); + + if (is_dir($source) === true) { + $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); + + if ($include_dir) { + $arr = explode("/",$source); + $maindir = $arr[count($arr)- 1]; + + $source = ""; + for ($i=0; $i < count($arr) - 1; $i++) { + $source .= '/' . $arr[$i]; + } + + $source = substr($source, 1); + + $zip->addEmptyDir($maindir); + } + + foreach ($files as $file) { + $file = str_replace('\\', '/', $file); + + // Ignore "." and ".." folders + if( in_array(substr($file, strrpos($file, '/')+1), array('.', '..')) ) + continue; + + $file = realpath($file); + + if (is_dir($file) === true) { + $zip->addEmptyDir(str_replace($source . '/', '', $file . '/')); + } else if (is_file($file) === true) { + $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); + } + } + } else if (is_file($source) === true) { + $zip->addFromString(basename($source), file_get_contents($source)); + } + + return $zip->close(); + } /* }}} */ + /** * Create zip archive of an extension * @@ -203,8 +258,11 @@ class SeedDMS_Extension_Mgr { $tmpfile = $this->cachedir."/".$extname."-".$version.".zip"; - $cmd = "cd ".$this->extdir."/".$extname."; zip -r ".$tmpfile." ."; - exec($cmd); + if(!SeedDMS_Extension_Mgr::Zip($this->extdir."/".$extname, $tmpfile)) { + return false; + } +// $cmd = "cd ".$this->extdir."/".$extname."; zip -r ".$tmpfile." ."; +// exec($cmd); return $tmpfile; } /* }}} */ @@ -304,9 +362,9 @@ class SeedDMS_Extension_Mgr { break; default: $tmp = explode('-', $dval, 2); - if(isset($GLOBALS['EXT_CONF'][$dkey]['version'])) { - if(self::cmpVersion($tmp[0], $GLOBALS['EXT_CONF'][$dkey]['version']) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $GLOBALS['EXT_CONF'][$dkey]['version']) < 0)) - $this->errmsgs[] = sprintf("Incorrect version of extension '%s' (needs version '%s' but provides '%s')", $dkey, $dval, $GLOBALS['EXT_CONF'][$dkey]['version']); + if(isset($this->extconf[$dkey]['version'])) { + if(self::cmpVersion($tmp[0], $this->extconf[$dkey]['version']) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $this->extconf[$dkey]['version']) < 0)) + $this->errmsgs[] = sprintf("Incorrect version of extension '%s' (needs version '%s' but provides '%s')", $dkey, $dval, $this->extconf[$dkey]['version']); } else { $this->errmsgs[] = sprintf("Missing extension or version for '%s'", $dkey); } @@ -348,6 +406,10 @@ class SeedDMS_Extension_Mgr { public function updateExtension($file) { /* {{{ */ /* unzip the extension in a temporary directory */ $newdir = $this->cachedir ."/ext.new"; + /* First remove a left over from a previous extension */ + if(file_exists($newdir)) { + self::rrmdir($newdir); + } if(!mkdir($newdir, 0755)) { $this->errmsgs[] = "Cannot create temp. extension directory"; return false; @@ -375,7 +437,10 @@ class SeedDMS_Extension_Mgr { $this->rrmdir($this->extdir ."/". $extname); } /* Move the temp. created ext directory to the final location */ - rename($newdir, $this->extdir ."/". $extname); + if(!rename($newdir, $this->extdir ."/". $extname)) { + $this->rrmdir($this->extdir ."/". $extname); + return false; + } return true; } /* }}} */ diff --git a/inc/inc.ClassSession.php b/inc/inc.ClassSession.php index 9b15723f6..1bc98a1b3 100644 --- a/inc/inc.ClassSession.php +++ b/inc/inc.ClassSession.php @@ -295,10 +295,10 @@ class SeedDMS_Session { /* id is only set if load() was called before */ if($this->id) { $dms = $object->_dms; - if(get_class($object) == $dms->getClassname('document')) { + if($object->isType('document')) { if(!in_array($object->getID(), $this->data['clipboard']['docs'])) array_push($this->data['clipboard']['docs'], $object->getID()); - } elseif(get_class($object) == $dms->getClassname('folder')) { + } elseif($object->isType('folder')) { if(!in_array($object->getID(), $this->data['clipboard']['folders'])) array_push($this->data['clipboard']['folders'], $object->getID()); } @@ -318,11 +318,11 @@ class SeedDMS_Session { /* id is only set if load() was called before */ if($this->id) { $dms = $object->_dms; - if(get_class($object) == $dms->getClassname('document')) { + if($object->isType('document')) { $key = array_search($object->getID(), $this->data['clipboard']['docs']); if($key !== false) unset($this->data['clipboard']['docs'][$key]); - } elseif(get_class($object) == $dms->getClassname('folder')) { + } elseif($object->isType('folder')) { $key = array_search($object->getID(), $this->data['clipboard']['folders']); if($key !== false) unset($this->data['clipboard']['folders'][$key]); diff --git a/inc/inc.ClassSettings.php b/inc/inc.ClassSettings.php index 6eb59977d..c6d226963 100644 --- a/inc/inc.ClassSettings.php +++ b/inc/inc.ClassSettings.php @@ -70,6 +70,9 @@ class Settings { /* {{{ */ var $_defaultAccessDocs = ''; // Strict form checking var $_strictFormCheck = false; + // list of form fields which are visible by default but can be explixitly + // turn off (comment, keywords, categories, sequence, expiration, owner + var $_noDocumentFormFields = array(); // Path to where SeedDMS is located var $_rootDir = null; // Path to SeedDMS_Core @@ -125,6 +128,8 @@ class Settings { /* {{{ */ var $_enableConverting = false; // default style var $_theme = "bootstrap"; + // experimental one page mode for ViewFolder page + var $_onePageMode = false; // Workaround for page titles that go over more than 2 lines. var $_titleDisplayHack = true; // enable/disable automatic email notification @@ -311,7 +316,7 @@ class Settings { /* {{{ */ // Load config file if (!defined("SEEDDMS_INSTALL")) { if(!file_exists($configFilePath)) { - echo "You does not seem to have a valid configuration. Run the install tool first."; + echo "You do not seem to have a valid configuration. Run the install tool first."; exit; } } @@ -413,7 +418,7 @@ class Settings { /* {{{ */ * * @return true/false */ - function load($configFilePath) { /* {{{ */ + public function load($configFilePath) { /* {{{ */ $contents = file_get_contents($configFilePath); if(!$contents) { return false; @@ -433,6 +438,7 @@ class Settings { /* {{{ */ if(trim(strval($tab["availablelanguages"]))) $this->_availablelanguages = explode(',',strval($tab["availablelanguages"])); $this->_theme = strval($tab["theme"]); + $this->_onePageMode = Settings::boolVal($tab["onePageMode"]); if(isset($tab["previewWidthList"])) $this->_previewWidthList = intval($tab["previewWidthList"]); if(isset($tab["previewWidthMenuList"])) @@ -452,6 +458,8 @@ class Settings { /* {{{ */ $node = $xml->xpath('/configuration/site/edition'); $tab = $node[0]->attributes(); $this->_strictFormCheck = Settings::boolVal($tab["strictFormCheck"]); + if(trim(strval($tab["noDocumentFormFields"]))) + $this->_noDocumentFormFields = explode(',',strval($tab["noDocumentFormFields"])); $this->setViewOnlineFileTypesFromString(strval($tab["viewOnlineFileTypes"])); $this->setEditOnlineFileTypesFromString(strval($tab["editOnlineFileTypes"])); $this->_enableConverting = Settings::boolVal($tab["enableConverting"]); @@ -706,9 +714,16 @@ class Settings { /* {{{ */ foreach($extensions as $extension) { $tmp = $extension->attributes(); $extname = strval($tmp['name']); + if(isset($tmp['disable'])) + $disabled = strval($tmp['disable']); + else + $disabled = 0; + $this->_extensions[$extname]['__disable__'] = $disabled=='1' || $disabled == 'true' ? true : false; foreach($extension->children() as $parameter) { $tmp2 = $parameter->attributes(); - $this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter); + /* Do not read a parameter with the same name. Just a pre caution */ + if(strval($tmp2['name']) != '__disable__') + $this->_extensions[$extname][strval($tmp2['name'])] = strval($parameter); } } @@ -725,7 +740,7 @@ class Settings { /* {{{ */ * * @return true/false */ - function setXMLAttributValue($node, $attributName, $attributValue) { /* {{{ */ + protected function setXMLAttributValue($node, $attributName, $attributValue) { /* {{{ */ if (is_bool($attributValue)) { if ($attributValue) $attributValue = "true"; @@ -749,7 +764,7 @@ class Settings { /* {{{ */ * * @return SimpleXMLElement */ - function getXMLNode($rootNode, $parentNodeName, $name) { /* {{{ */ + protected function getXMLNode($rootNode, $parentNodeName, $name) { /* {{{ */ $node = $rootNode->xpath($parentNodeName . '/' . $name); if (empty($node)) { @@ -769,7 +784,7 @@ class Settings { /* {{{ */ * * @return true/false */ - function save($configFilePath=NULL) { /* {{{ */ + public function save($configFilePath=NULL) { /* {{{ */ if (is_null($configFilePath)) $configFilePath = $this->_configFilePath; @@ -786,6 +801,7 @@ class Settings { /* {{{ */ $this->setXMLAttributValue($node, "language", $this->_language); $this->setXMLAttributValue($node, "availablelanguages", implode(',', $this->_availablelanguages)); $this->setXMLAttributValue($node, "theme", $this->_theme); + $this->setXMLAttributValue($node, "onePageMode", $this->_onePageMode); $this->setXMLAttributValue($node, "previewWidthList", $this->_previewWidthList); $this->setXMLAttributValue($node, "previewWidthMenuList", $this->_previewWidthMenuList); $this->setXMLAttributValue($node, "previewWidthDetail", $this->_previewWidthDetail); @@ -798,6 +814,7 @@ class Settings { /* {{{ */ // XML Path: /configuration/site/edition $node = $this->getXMLNode($xml, '/configuration/site', 'edition'); $this->setXMLAttributValue($node, "strictFormCheck", $this->_strictFormCheck); + $this->setXMLAttributValue($node, "noDocumentFormFields", implode(',', $this->_noDocumentFormFields)); $this->setXMLAttributValue($node, "viewOnlineFileTypes", $this->getViewOnlineFileTypesToString()); $this->setXMLAttributValue($node, "editOnlineFileTypes", $this->getEditOnlineFileTypesToString()); $this->setXMLAttributValue($node, "enableConverting", $this->_enableConverting); @@ -1039,12 +1056,28 @@ class Settings { /* {{{ */ { // search XML node $extnode = $extnodes->addChild('extension'); - $this->setXMLAttributValue($extnode, 'name', $name); + $this->setXMLAttributValue($extnode, 'name', $name); + $this->setXMLAttributValue($extnode, 'disable', $extension['__disable__'] ? 'true' : 'false'); + /* New code saves all parameters of the extension which have been set + * in configuration form. + */ + foreach($extension as $fieldname=>$confvalue) { + if($fieldname != '___disable__' && $confvalue) { + $parameter = $extnode->addChild('parameter'); + $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; + $this->setXMLAttributValue($parameter, 'name', $fieldname); + } + } + /* Old code saves those parameters listed in the configuration + * of the extension. + */ + /* foreach($GLOBALS['EXT_CONF'][$name]['config'] as $fieldname=>$conf) { $parameter = $extnode->addChild('parameter'); $parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : ''; $this->setXMLAttributValue($parameter, 'name', $fieldname); } + */ } // foreach @@ -1057,7 +1090,7 @@ class Settings { /* {{{ */ * search and return Config File Path * @return NULL|string Config File Path */ - function searchConfigFilePath() { /* {{{ */ + protected function searchConfigFilePath() { /* {{{ */ $configFilePath = null; if($configDir = Settings::getConfigDir()) { @@ -1114,7 +1147,7 @@ class Settings { /* {{{ */ * * @return string */ - function curPageURL() { /* {{{ */ + protected function curPageURL() { /* {{{ */ $pageURL = 'http'; if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") { @@ -1139,7 +1172,7 @@ class Settings { /* {{{ */ * @param string $file name of file to search * @return string path where file was found */ - function findInIncPath($file) { /* {{{ */ + protected function findInIncPath($file) { /* {{{ */ $incarr = explode(PATH_SEPARATOR, ini_get('include_path')); $found = ''; foreach($incarr as $path) { @@ -1155,7 +1188,7 @@ class Settings { /* {{{ */ * * @return array */ - function check($minversion) { /* {{{ */ + public function check($minversion) { /* {{{ */ // suggestion rootdir if (file_exists("../inc/inc.Settings.php")) $rootDir = realpath ("../inc/inc.Settings.php"); @@ -1400,7 +1433,7 @@ class Settings { /* {{{ */ * @return array * */ - function checkSystem() { /* {{{ */ + public function checkSystem() { /* {{{ */ // result $result = array(); @@ -1487,6 +1520,43 @@ class Settings { /* {{{ */ return $result; } /* }}} */ + /** + * Check if extension is disabled + * + * @param string $extname name of extension + * @return true if extension is disabled + */ + public function extensionIsDisabled($extname) { /* {{{ */ + if(array_key_exists($extname, $this->_extensions)) + return $this->_extensions[$extname]['__disable__']; + + return false; + } /* }}} */ + + /** + * Set extension enabled + * + * @param string $extname name of extension + * @return + */ + public function enableExtension($extname) { /* {{{ */ + if(!array_key_exists($extname, $this->_extensions)) + $this->_extensions[$extname] = array(); + $this->_extensions[$extname]['__disable__'] = false; + } /* }}} */ + + /** + * Set extension enabled + * + * @param string $extname name of extension + * @return + */ + public function disableExtension($extname) { /* {{{ */ + if(!array_key_exists($extname, $this->_extensions)) + $this->_extensions[$extname] = array(); + $this->_extensions[$extname]['__disable__'] = true; + } /* }}} */ + } /* }}} */ ?> diff --git a/inc/inc.ClassUI.php b/inc/inc.ClassUI.php index a42fe9454..8f8ee5047 100644 --- a/inc/inc.ClassUI.php +++ b/inc/inc.ClassUI.php @@ -45,33 +45,58 @@ class UI extends UI_Default { * @return object an object of a class implementing the view */ static function factory($theme, $class='', $params=array()) { /* {{{ */ - global $settings, $session, $EXT_CONF; + global $settings, $session, $extMgr; if(!$class) { $class = 'Bootstrap'; $classname = "SeedDMS_Bootstrap_Style"; } else { $classname = "SeedDMS_View_".$class; } + /* Collect all decorators */ + $decorators = array(); + foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + if(!$settings->extensionIsDisabled($extname)) { + if($extMgr->checkExtension($extconf)) { + if(isset($extconf['decorators'][$class])) { + $filename = $settings->_rootDir.'ext/'.$extname.'/decorators/'.$theme."/".$extconf['decorators'][$class]['file']; + if(file_exists($filename)) { + $decorators[$extname] = $extconf['decorators'][$class]; + } + } + } + } + } /* Do not check for class file anymore but include it relative - * to rootDir or an extension dir if it has set the include path + * to rootDir or an extension dir if it has been set the include path */ $filename = ''; $httpbasedir = ''; - foreach($EXT_CONF as $extname=>$extconf) { - if(!isset($extconf['disable']) || $extconf['disable'] == false) { - $filename = $settings->_rootDir.'ext/'.$extname.'/views/'.$theme."/class.".$class.".php"; - if(file_exists($filename)) { - $httpbasedir = 'ext/'.$extname.'/'; - break; - } - $filename = ''; - if(isset($extconf['views'][$class])) { - $filename = $settings->_rootDir.'ext/'.$extname.'/views/'.$theme."/".$extconf['views'][$class]['file']; + foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + if(!$settings->extensionIsDisabled($extname)) { + if($extMgr->checkExtension($extconf)) { + /* Setting the 'views' element in the configuration can be used to + * replace an existing view in views/bootstrap/, e.g. class.ViewFolder.php + * without providing an out/out.ViewFolder.php. In that case $httpbasedir + * will not be set because out/out.xxx.php is still used. + */ + if(isset($extconf['views'][$class])) { + $filename = $settings->_rootDir.'ext/'.$extname.'/views/'.$theme."/".$extconf['views'][$class]['file']; + if(file_exists($filename)) { + // $httpbasedir = 'ext/'.$extname.'/'; + $classname = $extconf['views'][$class]['name']; + break; + } + } + /* New views are added by creating a file out/out.xx.php and + * views/bootstrap/class.xx.php, without setting the 'views' element + * in the configuration + */ + $filename = $settings->_rootDir.'ext/'.$extname.'/views/'.$theme."/class.".$class.".php"; if(file_exists($filename)) { $httpbasedir = 'ext/'.$extname.'/'; - $classname = $extconf['views'][$class]['name']; break; } + $filename = ''; } } } @@ -114,6 +139,12 @@ class UI extends UI_Default { $view->setParam('showmissingtranslations', $settings->_showMissingTranslations); $view->setParam('defaultsearchmethod', $settings->_defaultSearchMethod); $view->setParam('cachedir', $settings->_cacheDir); + $view->setParam('onepage', $settings->_onePageMode); + foreach($decorators as $extname=>$decorator) { + $filename = $settings->_rootDir.'ext/'.$extname.'/decorators/'.$theme."/".$decorator['file']; + require_once($filename); + $view = new $decorator['name']($view); + } return $view; } return null; diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 934bb403c..8ec9f69bf 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -43,6 +43,7 @@ class SeedDMS_View_Common { } public function __invoke($get=array()) { + $this->callHook('preRun', isset($get['action']) ? $get['action'] : 'show'); if(isset($get['action']) && $get['action']) { if(method_exists($this, $get['action'])) { $this->{$get['action']}(); @@ -51,6 +52,7 @@ class SeedDMS_View_Common { } } else $this->show(); + $this->callHook('postRun', isset($get['action']) ? $get['action'] : 'show'); } public function setParams($params) { @@ -97,10 +99,17 @@ class SeedDMS_View_Common { * function returns */ public function callHook($hook) { /* {{{ */ + $tmps = array(); $tmp = explode('_', get_class($this)); + $tmps[] = $tmp[2]; + $tmp = explode('_', get_parent_class($this)); + $tmps[] = $tmp[2]; + /* Run array_unique() in case the parent class has the same suffix */ + $tmps = array_unique($tmps); $ret = null; - if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp[2])])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp[2])] as $hookObj) { + foreach($tmps as $tmp) + if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)] as $hookObj) { if (method_exists($hookObj, $hook)) { switch(func_num_args()) { case 1: @@ -172,23 +181,32 @@ class SeedDMS_View_Common { * null if no hook was called */ public function hasHook($hook) { /* {{{ */ + $tmps = array(); $tmp = explode('_', get_class($this)); - if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp[2])])) { - foreach($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp[2])] as $hookObj) { - if (method_exists($hookObj, $hook)) { - return true; + $tmps[] = $tmp[2]; + $tmp = explode('_', get_parent_class($this)); + $tmps[] = $tmp[2]; + /* Run array_unique() in case the parent class has the same suffix */ + $tmps = array_unique($tmps); + $ret = null; + foreach($tmps as $tmp) { + if(isset($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['view'][lcfirst($tmp)] as $hookObj) { + if (method_exists($hookObj, $hook)) { + return true; + } } } } return false; } /* }}} */ - public function jsTranslations($keys) { + public function jsTranslations($keys) { /* {{{ */ echo "var trans = {\n"; foreach($keys as $key) { echo " '".$key."': '".str_replace("'", "\\\'", getMLText($key))."',\n"; } echo "};\n"; - } + } /* }}} */ } ?> diff --git a/inc/inc.Extension.php b/inc/inc.Extension.php index b5ba1c203..77f4b6eb6 100644 --- a/inc/inc.Extension.php +++ b/inc/inc.Extension.php @@ -17,26 +17,36 @@ require_once "inc.Version.php"; require_once "inc.Utils.php"; $extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir, $settings->_repositoryUrl); -$EXT_CONF = $extMgr->getExtensionConfiguration(); $version = new SeedDMS_Version; -foreach($EXT_CONF as $extname=>$extconf) { - if(!isset($extconf['disable']) || $extconf['disable'] == false) { +foreach($extMgr->getExtensionConfiguration() as $extname=>$extconf) { + if(!$settings->extensionIsDisabled($extname)) { + $disabled = true; + if($extMgr->checkExtension($extconf)) { + $disabled = false; + } else { + // echo $extMgr->getErrorMsg(); + } /* check for requirements */ + /* if(!empty($extconf['constraints']['depends']['seeddms'])) { $t = explode('-', $extconf['constraints']['depends']['seeddms'], 2); if(SeedDMS_Extension_Mgr::cmpVersion($t[0], $version->version()) > 0 || ($t[1] && SeedDMS_Extension_Mgr::cmpVersion($t[1], $version->version()) < 0)) - $extconf['disable'] = true; + $disabled = true; + else + $disabled = false; } - } - if(!isset($extconf['disable']) || $extconf['disable'] == false) { - $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; - if(file_exists($classfile)) { - include($classfile); - $obj = new $extconf['class']['name']; - if(method_exists($obj, 'init')) - $obj->init(); + */ + if(!$disabled) { + if(isset($extconf['class']) && isset($extconf['class']['file']) && isset($extconf['class']['name'])) { + $classfile = $settings->_rootDir."/ext/".$extname."/".$extconf['class']['file']; + if(file_exists($classfile)) { + include($classfile); + $obj = new $extconf['class']['name']; + if(method_exists($obj, 'init')) + $obj->init(); + } } if(isset($extconf['language']['file'])) { $langfile = $settings->_rootDir."/ext/".$extname."/".$extconf['language']['file']; @@ -53,5 +63,6 @@ foreach($EXT_CONF as $extname=>$extconf) { } } } + } } } diff --git a/inc/inc.Language.php b/inc/inc.Language.php index 820157666..5c5624c8c 100644 --- a/inc/inc.Language.php +++ b/inc/inc.Language.php @@ -263,39 +263,45 @@ function getOverallStatusText($status) { /* {{{ */ } /* }}} */ function getAttributeValidationText($error, $attrname='', $attrvalue='', $regex='') { /* {{{ */ + $arr = getAttributeValidationError($error, $attrname, $attrvalue, $regex); + + return getMLText($arr[0], $arr[1]); +} /* }}} */ + +function getAttributeValidationError($error, $attrname='', $attrvalue='', $regex='') { /* {{{ */ switch($error) { case 10: - return getMLText("attr_not_in_valueset", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_not_in_valueset", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 8: - return getMLText("attr_malformed_date", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_date", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 8: - return getMLText("attr_malformed_boolean", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_boolean", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 7: - return getMLText("attr_malformed_float", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_float", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 6: - return getMLText("attr_malformed_int", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_int", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 5: - return getMLText("attr_malformed_email", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_email", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 4: - return getMLText("attr_malformed_url", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_malformed_url", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 3: - return getMLText("attr_no_regex_match", array('attrname'=>$attrname, 'value'=>$attrvalue, 'regex'=>$regex)); + return array("attr_no_regex_match", array('attrname'=>$attrname, 'value'=>$attrvalue, 'regex'=>$regex)); break; case 2: - return getMLText("attr_max_values", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_max_values", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; case 1: - return getMLText("attr_min_values", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_min_values", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; default: - return getMLText("attr_validation_error", array('attrname'=>$attrname, 'value'=>$attrvalue)); + return array("attr_validation_error", array('attrname'=>$attrname, 'value'=>$attrvalue)); break; } } /* }}} */ diff --git a/inc/inc.Utils.php b/inc/inc.Utils.php index 82bc8c0fc..3173c93e4 100644 --- a/inc/inc.Utils.php +++ b/inc/inc.Utils.php @@ -589,6 +589,29 @@ function sendFile($filename) { /* {{{ */ } } /* }}} */ +/** + * Return protocol and host of url + * + * @return string + */ +function getBaseUrl() { /* {{{ */ + return "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST']; +} /* }}} */ + +function getToken($length){ + $token = ""; + $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + $codeAlphabet.= "abcdefghijklmnopqrstuvwxyz"; + $codeAlphabet.= "0123456789"; + $max = strlen($codeAlphabet); + + for ($i=0; $i < $length; $i++) { + $token .= $codeAlphabet[random_int(0, $max-1)]; + } + + return $token; +} + class SeedDMS_CSRF { protected $secret; diff --git a/inc/inc.Version.php b/inc/inc.Version.php index 9e1caf3d3..c4a50edfa 100644 --- a/inc/inc.Version.php +++ b/inc/inc.Version.php @@ -18,34 +18,69 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -class SeedDMS_Version { +class SeedDMS_Version { /* {{{ */ - public $_number = "5.1.12"; - private $_string = "SeedDMS"; + const _number = "5.1.14"; + const _string = "SeedDMS"; function __construct() { } - function version() { - return $this->_number; - } + function version() { /* {{{ */ + return self::_number; + } /* }}} */ - function majorVersion() { - $tmp = explode('.', $this->_number, 3); + function majorVersion() { /* {{{ */ + $tmp = explode('.', self::_number, 3); return (int) $tmp[0]; - } + } /* }}} */ - function minorVersion() { - $tmp = explode('.', $this->_number, 3); + function minorVersion() { /* {{{ */ + $tmp = explode('.', self::_number, 3); return (int) $tmp[1]; + } /* }}} */ + + function subminorVersion() { /* {{{ */ + $tmp = explode('.', self::_number, 3); + return (int) $tmp[2]; + } /* }}} */ + + function banner() { /* {{{ */ + return self::_string .", ". self::_number; } - function subminorVersion() { - $tmp = explode('.', $this->_number, 3); - return (int) $tmp[2]; - } - function banner() { - return $this->_string .", ". $this->_number; - } -} -?> + /** + * Compare two version + * + * This functions compares the current version in the format x.x.x with + * the passed version + * + * @param string $ver + * @return int -1 if _number < $ver, 0 if _number == $ver, 1 if _number > $ver + */ + static public function cmpVersion($ver) { /* {{{ */ + $tmp1 = explode('.', self::_number); + $tmp2 = explode('.', $ver); + if(intval($tmp1[0]) < intval($tmp2[0])) { + return -1; + } elseif(intval($tmp1[0]) > intval($tmp2[0])) { + return 1; + } else { + if(intval($tmp1[1]) < intval($tmp2[1])) { + return -1; + } elseif(intval($tmp1[1]) > intval($tmp2[1])) { + return 1; + } else { + if(intval($tmp1[2]) < intval($tmp2[2])) { + return -1; + } elseif(intval($tmp1[2]) > intval($tmp2[2])) { + return 1; + } else { + return 0; + } + } + } + } /* }}} */ + +} /* }}} */ + diff --git a/index.php b/index.php index 757176741..ee083d8a2 100644 --- a/index.php +++ b/index.php @@ -60,6 +60,21 @@ if(true) { } } + /* + $app->get('/out/[{path:.*}]', function($request, $response, $path = null) use ($app) { + $uri = $request->getUri(); + if($uri->getBasePath()) + $file = $uri->getPath(); + else + $file = substr($uri->getPath(), 1); + if(file_exists($file) && is_file($file)) { + $_SERVER['SCRIPT_FILENAME'] = basename($file); + include($file); + exit; + } + }); + */ + $app->run(); } else { diff --git a/install/update-5.1.0/update-sqlite3.sql b/install/update-5.1.0/update-sqlite3.sql index ac2c192a7..ed9b14600 100644 --- a/install/update-5.1.0/update-sqlite3.sql +++ b/install/update-5.1.0/update-sqlite3.sql @@ -1,34 +1,32 @@ BEGIN; -ALTER TABLE `tblVersion` RENAME TO `__tblVersion`; - -CREATE TABLE `tblVersion` ( +CREATE TABLE `new_tblVersion` ( `date` TEXT default NULL, `major` INTEGER, `minor` INTEGER, `subminor` INTEGER ); -INSERT INTO `tblVersion` SELECT * FROM `__tblVersion`; +INSERT INTO `new_tblVersion` SELECT * FROM `tblVersion`; -DROP TABLE `__tblVersion`; +DROP TABLE `tblVersion`; -ALTER TABLE `tblUserImages` RENAME TO `__tblUserImages`; +ALTER TABLE `new_tblVersion` RENAME TO `tblVersion`; -CREATE TABLE `tblUserImages` ( +CREATE TABLE `new_tblUserImages` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, `image` blob NOT NULL, `mimeType` varchar(100) NOT NULL default '' ); -INSERT INTO `tblUserImages` SELECT * FROM `__tblUserImages`; +INSERT INTO `new_tblUserImages` SELECT * FROM `tblUserImages`; -DROP TABLE `__tblUserImages`; +DROP TABLE `tblUserImages`; -ALTER TABLE `tblDocumentContent` RENAME TO `__tblDocumentContent`; +ALTER TABLE `new_tblUserImages` RENAME TO `tblUserImages`; -CREATE TABLE `tblDocumentContent` ( +CREATE TABLE `new_tblDocumentContent` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `document` INTEGER NOT NULL default '0' REFERENCES `tblDocuments` (`id`), `version` INTEGER unsigned NOT NULL, @@ -44,13 +42,13 @@ CREATE TABLE `tblDocumentContent` ( UNIQUE (`document`,`version`) ); -INSERT INTO `tblDocumentContent` SELECT * FROM `__tblDocumentContent`; +INSERT INTO `new_tblDocumentContent` SELECT * FROM `tblDocumentContent`; -DROP TABLE `__tblDocumentContent`; +DROP TABLE `tblDocumentContent`; -ALTER TABLE `tblDocumentFiles` RENAME TO `__tblDocumentFiles`; +ALTER TABLE `new_tblDocumentContent` RENAME TO `tblDocumentContent`; -CREATE TABLE `tblDocumentFiles` ( +CREATE TABLE `new_tblDocumentFiles` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `document` INTEGER NOT NULL default 0 REFERENCES `tblDocuments` (`id`), `userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`), @@ -63,17 +61,17 @@ CREATE TABLE `tblDocumentFiles` ( `mimeType` varchar(100) NOT NULL default '' ) ; -INSERT INTO `tblDocumentFiles` SELECT * FROM `__tblDocumentFiles`; +INSERT INTO `new_tblDocumentFiles` SELECT * FROM `tblDocumentFiles`; -DROP TABLE `__tblDocumentFiles`; +DROP TABLE `tblDocumentFiles`; + +ALTER TABLE `new_tblDocumentFiles` RENAME TO `tblDocumentFiles`; ALTER TABLE `tblDocumentFiles` ADD COLUMN `version` INTEGER unsigned NOT NULL DEFAULT '0'; ALTER TABLE `tblDocumentFiles` ADD COLUMN `public` INTEGER unsigned NOT NULL DEFAULT '0'; -ALTER TABLE `tblUsers` RENAME TO `__tblUsers`; - -CREATE TABLE `tblUsers` ( +CREATE TABLE `new_tblUsers` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `login` varchar(50) default NULL, `pwd` varchar(50) default NULL, @@ -92,39 +90,39 @@ CREATE TABLE `tblUsers` ( UNIQUE (`login`) ); -INSERT INTO `tblUsers` SELECT * FROM `__tblUsers`; +INSERT INTO `new_tblUsers` SELECT * FROM `tblUsers`; -DROP TABLE `__tblUsers`; +DROP TABLE `tblUsers`; -ALTER TABLE `tblUserPasswordRequest` RENAME TO `__tblUserPasswordRequest`; +ALTER TABLE `new_tblUsers` RENAME TO `tblUsers`; -CREATE TABLE `tblUserPasswordRequest` ( +CREATE TABLE `new_tblUserPasswordRequest` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, `hash` varchar(50) default NULL, `date` TEXT NOT NULL ); -INSERT INTO `tblUserPasswordRequest` SELECT * FROM `__tblUserPasswordRequest`; +INSERT INTO `new_tblUserPasswordRequest` SELECT * FROM `tblUserPasswordRequest`; -DROP TABLE `__tblUserPasswordRequest`; +DROP TABLE `tblUserPasswordRequest`; -ALTER TABLE `tblUserPasswordHistory` RENAME TO `__tblUserPasswordHistory`; +ALTER TABLE `new_tblUserPasswordRequest` RENAME TO `tblUserPasswordRequest`; -CREATE TABLE `tblUserPasswordHistory` ( +CREATE TABLE `new_tblUserPasswordHistory` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE, `pwd` varchar(50) default NULL, `date` TEXT NOT NULL ); -INSERT INTO `tblUserPasswordHistory` SELECT * FROM `__tblUserPasswordHistory`; +INSERT INTO `new_tblUserPasswordHistory` SELECT * FROM `tblUserPasswordHistory`; -DROP TABLE `__tblUserPasswordHistory`; +DROP TABLE `tblUserPasswordHistory`; -ALTER TABLE `tblDocumentReviewLog` RENAME TO `__tblDocumentReviewLog`; +ALTER TABLE `new_tblUserPasswordHistory` RENAME TO `tblUserPasswordHistory`; -CREATE TABLE `tblDocumentReviewLog` ( +CREATE TABLE `new_tblDocumentReviewLog` ( `reviewLogID` INTEGER PRIMARY KEY AUTOINCREMENT, `reviewID` INTEGER NOT NULL default 0 REFERENCES `tblDocumentReviewers` (`reviewID`) ON DELETE CASCADE, `status` INTEGER NOT NULL default 0, @@ -133,13 +131,13 @@ CREATE TABLE `tblDocumentReviewLog` ( `userID` INTEGER NOT NULL default 0 REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ); -INSERT INTO `tblDocumentReviewLog` SELECT * FROM `__tblDocumentReviewLog`; +INSERT INTO `new_tblDocumentReviewLog` SELECT * FROM `tblDocumentReviewLog`; -DROP TABLE `__tblDocumentReviewLog`; +DROP TABLE `tblDocumentReviewLog`; -ALTER TABLE `tblDocumentStatusLog` RENAME TO `__tblDocumentStatusLog`; +ALTER TABLE `new_tblDocumentReviewLog` RENAME TO `tblDocumentReviewLog`; -CREATE TABLE `tblDocumentStatusLog` ( +CREATE TABLE `new_tblDocumentStatusLog` ( `statusLogID` INTEGER PRIMARY KEY AUTOINCREMENT, `statusID` INTEGER NOT NULL default '0' REFERENCES `tblDocumentStatus` (`statusID`) ON DELETE CASCADE, `status` INTEGER NOT NULL default '0', @@ -148,13 +146,13 @@ CREATE TABLE `tblDocumentStatusLog` ( `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ) ; -INSERT INTO `tblDocumentStatusLog` SELECT * FROM `__tblDocumentStatusLog`; +INSERT INTO `new_tblDocumentStatusLog` SELECT * FROM `tblDocumentStatusLog`; -DROP TABLE `__tblDocumentStatusLog`; +DROP TABLE `tblDocumentStatusLog`; -ALTER TABLE `tblDocumentApproveLog` RENAME TO `__tblDocumentApproveLog`; +ALTER TABLE `new_tblDocumentStatusLog` RENAME TO `tblDocumentStatusLog`; -CREATE TABLE `tblDocumentApproveLog` ( +CREATE TABLE `new_tblDocumentApproveLog` ( `approveLogID` INTEGER PRIMARY KEY AUTOINCREMENT, `approveID` INTEGER NOT NULL default '0' REFERENCES `tblDocumentApprovers` (`approveID`) ON DELETE CASCADE, `status` INTEGER NOT NULL default '0', @@ -163,13 +161,13 @@ CREATE TABLE `tblDocumentApproveLog` ( `userID` INTEGER NOT NULL default '0' REFERENCES `tblUsers` (`id`) ON DELETE CASCADE ); -INSERT INTO `tblDocumentApproveLog` SELECT * FROM `__tblDocumentApproveLog`; +INSERT INTO `new_tblDocumentApproveLog` SELECT * FROM `tblDocumentApproveLog`; -DROP TABLE `__tblDocumentApproveLog`; +DROP TABLE `tblDocumentApproveLog`; -ALTER TABLE `tblWorkflowLog` RENAME TO `__tblWorkflowLog`; +ALTER TABLE `new_tblDocumentApproveLog` RENAME TO `tblDocumentApproveLog`; -CREATE TABLE `tblWorkflowLog` ( +CREATE TABLE `new_tblWorkflowLog` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `document` INTEGER default NULL REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, `version` INTEGER default NULL, @@ -180,13 +178,13 @@ CREATE TABLE `tblWorkflowLog` ( `comment` text ); -INSERT INTO `tblWorkflowLog` SELECT * FROM `__tblWorkflowLog`; +INSERT INTO `new_tblWorkflowLog` SELECT * FROM `tblWorkflowLog`; -DROP TABLE `__tblWorkflowLog`; +DROP TABLE `tblWorkflowLog`; -ALTER TABLE `tblWorkflowDocumentContent` RENAME TO `__tblWorkflowDocumentContent`; +ALTER TABLE `new_tblWorkflowLog` RENAME TO `tblWorkflowLog`; -CREATE TABLE `tblWorkflowDocumentContent` ( +CREATE TABLE `new_tblWorkflowDocumentContent` ( `parentworkflow` INTEGER DEFAULT 0, `workflow` INTEGER DEFAULT NULL REFERENCES `tblWorkflows` (`id`) ON DELETE CASCADE, `document` INTEGER DEFAULT NULL REFERENCES `tblDocuments` (`id`) ON DELETE CASCADE, @@ -195,9 +193,11 @@ CREATE TABLE `tblWorkflowDocumentContent` ( `date` datetime NOT NULL ); -INSERT INTO `tblWorkflowDocumentContent` SELECT * FROM `__tblWorkflowDocumentContent`; +INSERT INTO `new_tblWorkflowDocumentContent` SELECT * FROM `tblWorkflowDocumentContent`; -DROP TABLE `__tblWorkflowDocumentContent`; +DROP TABLE `tblWorkflowDocumentContent`; + +ALTER TABLE `new_tblWorkflowDocumentContent` RENAME TO `tblWorkflowDocumentContent`; UPDATE tblVersion set major=5, minor=1, subminor=0; diff --git a/languages/ar_EG/lang.inc b/languages/ar_EG/lang.inc index 7087609a4..9fa19dde4 100644 --- a/languages/ar_EG/lang.inc +++ b/languages/ar_EG/lang.inc @@ -19,22 +19,22 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1307) +// Translators: Admin (2262) $text = array( -'2_factor_auth' => '', -'2_factor_auth_info' => '', +'2_factor_auth' => 'توثيق ذو عاملين', +'2_factor_auth_info' => 'معلومات عن توثيق ذو عاملين', '2_fact_auth_secret' => '', 'accept' => 'وافق', -'access_control' => '', -'access_control_is_off' => '', +'access_control' => 'صلاحيات الدخول', +'access_control_is_off' => 'صلاحيات الدخول غير مفعلة', 'access_denied' => 'دخول غير مصرح به.', 'access_inheritance' => 'صلاحيات موروثة', 'access_mode' => 'نوع الدخول', 'access_mode_all' => 'كل الصلاحيات', 'access_mode_none' => 'ممنوع الدخول', -'access_mode_read' => 'صلاحيات قراءة فقط', -'access_mode_readwrite' => 'صلاحيات القراء والكتابة', +'access_mode_read' => 'صلاحية القراءة فقط', +'access_mode_readwrite' => 'صلاحية القراءة والكتابة', 'access_permission_changed_email' => 'تم تغيير الصلاحيات', 'access_permission_changed_email_body' => 'تم تغيير الصلاحيات Document: [name] @@ -45,36 +45,36 @@ URL: [url]', 'according_settings' => 'اعدادات خاصة', 'action' => 'اجراء', 'actions' => 'اجراءات', -'action_approve' => 'موافقة', -'action_complete' => 'انهاء', -'action_is_complete' => 'تم انهاؤه', -'action_is_not_complete' => 'لم ينتهى بعد', -'action_reject' => 'رفض', -'action_review' => 'مراجعة', -'action_revise' => 'تنقيح', +'action_approve' => 'موافقةعلى الإجراء', +'action_complete' => 'انهاءالإجراء', +'action_is_complete' => 'تم انهاء الإجراء', +'action_is_not_complete' => 'الإجراء لم ينتهى بعد', +'action_reject' => 'رفض الإجراء', +'action_review' => 'مراجعة الإجراء', +'action_revise' => 'تعديل الإجراء', 'add' => 'إضافة', 'add_approval' => 'ادخال موافقة', -'add_attrdefgroup' => '', +'add_attrdefgroup' => 'إضافة اسم معرف المجموعة', 'add_document' => 'إضافة مستند', 'add_document_link' => 'إضافة رابط', -'add_document_notify' => 'ﺖﺨﺼﻴﺻ ﺎﺸﻋﺍﺭ', +'add_document_notify' => 'إضافة وثيقة إشعار', 'add_doc_reviewer_approver_warning' => 'ملاحظة : يتم اعتبار المستندات نهائية اذا لم يتم تعيين مراجع او موافق للمستند', 'add_doc_workflow_warning' => 'ملاحظة : يتم اعتبار المستندات نهائية اذا لم يتم اختيار مسار عمل للمستند', 'add_event' => 'إضافة حدث', -'add_group' => 'إضافة مجموعة جديدة', +'add_group' => 'اضف مجموعة جديدة', 'add_member' => 'إضافة عضو', 'add_multiple_documents' => 'إضافة مستندات عديدة', 'add_multiple_files' => 'إضافة مستندات عديدة - سيتم استخدام اسم الملف كاسم المستند', -'add_receipt' => '', +'add_receipt' => 'إضافة وصل', 'add_review' => 'بدأ المراجعة', -'add_revision' => '', -'add_role' => '', +'add_revision' => 'إضافة المراجعة', +'add_role' => 'إضافة دور', 'add_subfolder' => 'إضافة مجلد فرعي', -'add_task' => '', +'add_task' => 'إضافة مهمة', 'add_to_clipboard' => 'اضف الى لوحة القصاصات', -'add_to_transmittal' => '', -'add_transmittal' => '', -'add_user' => 'إضافة مستخدم', +'add_to_transmittal' => 'إضافة إلى الإحالة', +'add_transmittal' => 'إضافة إحالة', +'add_user' => 'أضف مستخدم', 'add_user_to_group' => 'إضافة مستخدم لمجموعة', 'add_workflow' => 'اضف مسار عمل جديد', 'add_workflow_action' => 'اضف اجراء جديد لمسار العمل', @@ -84,191 +84,195 @@ URL: [url]', 'all' => 'الكل', 'all_categories' => 'كل الاقسام', 'all_documents' => 'كل المستندات', -'all_pages' => 'الكل', +'all_pages' => 'كل الصفحات', 'all_users' => 'كل المستخدمين', 'already_subscribed' => 'بالفعل مشترك', 'and' => 'و', 'apply' => 'تطبيق', -'approvals_accepted' => '', -'approvals_and_reviews_accepted' => '', -'approvals_and_reviews_not_touched' => '', -'approvals_and_reviews_rejected' => '', -'approvals_not_touched' => '', -'approvals_rejected' => '', -'approvals_without_group' => '', -'approvals_without_user' => '', -'approval_deletion_email' => 'طلب الموافقة تم الغاؤه', -'approval_deletion_email_body' => '', -'approval_deletion_email_subject' => '', -'approval_file' => '', +'approvals_accepted' => 'موافقةالطلب', +'approvals_accepted_latest' => '', +'approvals_and_reviews_accepted' => 'موافقة الطلب و مراجعته', +'approvals_and_reviews_not_touched' => 'موافقة الطلب ومراجعته غير ملموس', +'approvals_and_reviews_rejected' => 'رفض الطلب ومراجعته', +'approvals_not_touched' => 'موافقة الطلب غير ملموس', +'approvals_not_touched_latest' => '', +'approvals_rejected' => 'طلب الموافقة مرفوض', +'approvals_rejected_latest' => '', +'approvals_without_group' => 'طلب الموافقة بلا مجموعة', +'approvals_without_user' => 'طلب الموافقة بلا مستخدم', +'approval_deletion_email' => 'تم إلغاء طلب الموافقة', +'approval_deletion_email_body' => 'طلب موافقة حذف البريد الإلكتروني', +'approval_deletion_email_subject' => 'طلب موافقة حذف موضوع البريد الإلكتروني', +'approval_file' => 'طلب موافقة الملف', 'approval_group' => 'مجموعة الموافقة', -'approval_log' => 'ﺲﺠﻟ ﺎﻠﻣﻭﺎﻔﻗﺓ', -'approval_request_email' => 'طلب الموافقة', +'approval_log' => 'سجل الموافقات', +'approval_request_email' => 'طلب الموافقة البريد الإلكتروني', 'approval_request_email_body' => 'طلب الموافقة Document: [name] Version: [version] Parent folder: [folder_path] User: [username] URL: [url]', -'approval_request_email_subject' => '[sitename]: [name] - طلب الموافقة', +'approval_request_email_subject' => '[sitename]: [name] - طلب موافقة موضوع البريد الإلكتروني', 'approval_status' => 'حالة الموافقة', -'approval_submit_email' => '', -'approval_submit_email_body' => '', +'approval_submit_email' => 'موافقة تقديم البريد الإلكتروني', +'approval_submit_email_body' => 'موافقة تقديم البريد الإلكتروني', 'approval_submit_email_subject' => '[sitename]: [name] - تم ارسال الموافقة', 'approval_summary' => 'ملخص الموافقة', 'approval_update_failed' => 'خطأ في تحديث حالة الموافقة. فشل التحديث.', 'approvers' => 'الموافقون', -'approver_already_assigned' => '', -'approver_already_removed' => '', +'approver_already_assigned' => 'تم تحديد الموافق', +'approver_already_removed' => 'تم حذف الموافق', 'april' => 'ابريل', -'archive' => '', +'archive' => 'إرشيف', 'archive_creation' => 'انشاء ارشيف', 'archive_creation_warning' => 'من خلال العملية التالية يمكنك انشاء ارشيف يحتوي على كل ملفات النظام. بعد انشاء الارشيف سيتم حفظه في ملف البيانات على السيرفر.
تحذير: الارشيف الذي تم انشاؤه ليكون مقروء بواسطة المستخدم لن يكون نافعا كملف نسخ احتياطي للسيرفر', 'ar_EG' => 'العربية', 'assign_approvers' => 'تخصيص موافقون', -'assign_recipients' => '', +'assign_recipients' => 'تخصيص المستلمين', 'assign_reviewers' => 'تخصيص مراجعون', 'assign_user_property_to' => 'تخصيص خصائص المستخدم الى', 'assumed_released' => 'يعتبر تم نشره', -'attrdefgroup_management' => '', -'attrdefgrp_show_detail' => '', -'attrdefgrp_show_list' => '', -'attrdefgrp_show_search' => '', -'attrdefgrp_show_searchlist' => '', +'attrdefgroup_management' => 'معرف الإدارة', +'attrdefgrp_show_detail' => 'معرف إظهار التفاصيل', +'attrdefgrp_show_list' => 'معرف إظهار اللوائح', +'attrdefgrp_show_search' => 'معرف إظهار البحث', +'attrdefgrp_show_searchlist' => 'معرف إضهار لائحة البحث', 'attrdef_exists' => 'تعريف السمة بالفعل موجود', -'attrdef_info' => '', +'attrdef_info' => 'معلومات', 'attrdef_in_use' => 'تعريف السمة مشغول حاليا', 'attrdef_management' => 'ادارة تعريف السمات', 'attrdef_maxvalues' => 'اكبر عدد من القيم', 'attrdef_minvalues' => 'اقل عدد من القيم', -'attrdef_min_greater_max' => '', +'attrdef_min_greater_max' => 'الأقل اكبر من الأكبر', 'attrdef_multiple' => 'السماح باكثر من قيمة', -'attrdef_multiple_needs_valueset' => '', -'attrdef_must_be_multiple' => '', +'attrdef_multiple_needs_valueset' => 'يحتاج أكثر من قيمة', +'attrdef_must_be_multiple' => 'يجب أن يكون متعدد القيم', 'attrdef_name' => 'اسم', -'attrdef_noname' => '', -'attrdef_objtype' => 'نوع الكائن', -'attrdef_regex' => '', +'attrdef_noname' => 'لا يوجد اسم', +'attrdef_objtype' => 'نوع الورقة', +'attrdef_regex' => 'attrdef_regex', 'attrdef_type' => 'نوع', -'attrdef_type_boolean' => '', -'attrdef_type_date' => 'التاريخ', -'attrdef_type_email' => '', -'attrdef_type_float' => 'ﺮﻘﻣ ﻢﻋ ﻑﻭﺎﺼﻟ', -'attrdef_type_int' => 'ﺮﻘﻣ ﺺﺤﻴﺣ', -'attrdef_type_string' => 'ﻦﺻ', -'attrdef_type_url' => '', +'attrdef_type_boolean' => 'boolean', +'attrdef_type_date' => 'تاريخ', +'attrdef_type_email' => 'بريد إلكتروني', +'attrdef_type_float' => 'رقم مع فواصل', +'attrdef_type_int' => 'رقم صحيح', +'attrdef_type_string' => 'نص', +'attrdef_type_url' => 'رابط', 'attrdef_valueset' => 'مجموعة القيم', 'attributes' => 'السمات', -'attribute_changed_email_body' => 'تم تغيير سمة -Document: [name] -Version: [version] -Attribute: [attribute_name] -Old value: [attribute_old_value] -New value: [attribute_new_value] -Parent folder: [folder_path] -User: [username] +'attribute_changed_email_body' => 'تم تغيير سمة +Document: [name] +Version: [version] +Attribute: [attribute_name] +Old value: [attribute_old_value] +New value: [attribute_new_value] +Parent folder: [folder_path] +User: [username] URL: [url]', 'attribute_changed_email_subject' => '[sitename]: [name] - تم تغيير سمة', -'attribute_count' => 'ﻉﺩﺩ ﻡﺭﺎﺗ ﺍﻸﺴﺘﺧﺩﺎﻣ', -'attribute_value' => 'ﻖﻴﻣﺓ ﺎﻠﺴﻣﺓ', -'attribute_value_not_in_valueset' => '', -'attr_malformed_boolean' => '', -'attr_malformed_date' => '', -'attr_malformed_email' => '', -'attr_malformed_float' => '', -'attr_malformed_int' => '', -'attr_malformed_url' => '', -'attr_max_values' => '', -'attr_min_values' => '', -'attr_not_in_valueset' => '', -'attr_no_regex_match' => '', -'attr_validation_error' => '', -'at_least_n_users_of_group' => '', +'attribute_count' => 'عدد مرات الإستخدام', +'attribute_value' => 'قيمة السمة', +'attribute_value_not_in_valueset' => 'القيمة غير موجودة في لائحة القيم', +'attr_malformed_boolean' => 'attr_malformed_boolean', +'attr_malformed_date' => 'تاريخ', +'attr_malformed_email' => 'البريد الإلكتروني', +'attr_malformed_float' => 'رقم مع فواصل', +'attr_malformed_int' => 'رقم صحيح', +'attr_malformed_url' => 'رابط', +'attr_max_values' => 'أكثر عدد من القيم', +'attr_min_values' => 'أقل عدد من القيم', +'attr_not_in_valueset' => 'المعرف غير موجود في لائحة القيم', +'attr_no_regex_match' => 'attr_no_regex_match', +'attr_validation_error' => 'خطأ في الموافقة', +'at_least_n_users_of_group' => 'على الأقل عدد من المستخدمين في المجموعة', 'august' => 'أغسطس', -'authentication' => '', -'authentication_failed' => '', -'author' => 'ﺎﻠﻤﻨﺸﺋ', +'authentication' => 'المصادقة', +'authentication_failed' => 'فشل في المصادقة', +'author' => 'المنشئ', 'automatic_status_update' => 'تغير الحالة تلقائيا', 'back' => 'العودة للخلف', 'backup_list' => 'قائمة نسخ احتياطي حالية', 'backup_log_management' => 'نسخ احتياطي/سجلات', 'backup_remove' => 'ازالة ملف النسخ الاحتياطي', -'backup_tools' => 'أدوات النسخ الاحتياطي', +'backup_tools' => 'أدوات النسخ الاحتياطية', 'between' => 'بين', -'bg_BG' => 'ﺐﻠﻏﺍﺮﻳﺓ', -'browse' => 'ﺖﺼﻔﺣ', -'calendar' => 'النتيجة', -'calendar_week' => '', +'bg_BG' => 'بلغارية', +'browse' => 'تصفح', +'calendar' => 'التقويم', +'calendar_week' => 'التقويم الأسبوعي', 'cancel' => 'الغاء', 'cannot_assign_invalid_state' => 'لايمكن تعديل ملف مرفوض او مهمل', 'cannot_change_final_states' => 'تحذير: لا يمكن تعديل حالة مستند مرفوض او منتهى صلاحيته او رهن المراجعة او الموافقة', -'cannot_delete_user' => '', +'cannot_delete_user' => 'لا يمكن حذف مستخدم', 'cannot_delete_yourself' => 'لايمكنك مسح نفسك', 'cannot_move_root' => 'خطأ: لايمكنك تحريك المجلد الرئيسي.', 'cannot_retrieve_approval_snapshot' => 'لا يمكن استدعاء لقطة حالة الموافقة لهذا الاصدار من المستند', 'cannot_retrieve_review_snapshot' => 'لا يمكن استدعاء لقطة حالة المراجعة لهذا الاصدار من المستند', 'cannot_rm_root' => 'خطأ: لايمكنك مسح المجلد الرئيسي.', 'categories' => 'اقسام', -'categories_loading' => '', +'categories_loading' => 'جار تحميل الأقسام', 'category' => 'قسم', 'category_exists' => '.القسم بالفعل موجود', 'category_filter' => 'اقسام فقط', -'category_info' => '', +'category_info' => 'معلومات عن الأقسام', 'category_in_use' => 'هذا القسم مستخدم حاليا بواسطة مستندات.', 'category_noname' => 'لم يتم كتابة اسم القسم.', 'ca_ES' => 'الكاتالونية', +'changelog_loading' => '', 'change_assignments' => 'تغيير التخصيصات', 'change_password' => 'تغيير كلمة السر', 'change_password_message' => 'تم تغيير كلمة السر.', -'change_recipients' => '', -'change_revisors' => '', +'change_recipients' => 'تغيير المستلمين', +'change_revisors' => 'تغيير المراجعين', 'change_status' => 'تغيير الحالة', -'charts' => 'ﺝﺩﺍﻮﻟ', -'chart_docsaccumulated_title' => '', -'chart_docspercategory_title' => '', -'chart_docspermimetype_title' => '', -'chart_docspermonth_title' => '', -'chart_docsperstatus_title' => '', -'chart_docsperuser_title' => '', -'chart_selection' => '', -'chart_sizeperuser_title' => '', -'checkedout_file_has_different_version' => '', -'checkedout_file_has_disappeared' => '', -'checkedout_file_is_unchanged' => '', -'checkin_document' => '', -'checkoutpath_does_not_exist' => '', -'checkout_document' => '', -'checkout_is_disabled' => '', +'charts' => 'جداول', +'chart_docsaccumulated_title' => 'عنوان الجدول', +'chart_docspercategory_title' => 'عنوان الجدول حسب القسم', +'chart_docspermimetype_title' => 'عنوان الجدول حسب النوع', +'chart_docspermonth_title' => 'عنوان الجدول حسب الشهر', +'chart_docsperstatus_title' => 'عنوان الجدول حسب الحالة', +'chart_docsperuser_title' => 'عنوان الجدول حسب المستخدم', +'chart_selection' => 'تحديد الجدول', +'chart_sizeperuser_title' => 'عنوان الجدول حسب حجم المستخدم', +'checkedout_file_has_different_version' => 'الملف المراجع لديه نسخة أخرى', +'checkedout_file_has_disappeared' => 'اختفى الملف المسحوب', +'checkedout_file_is_unchanged' => 'لم يتم تغيير سحب الملف', +'checkin_document' => 'ملف', +'checkoutpath_does_not_exist' => 'سير السحب غير موجود', +'checkout_document' => 'سحب الملف', +'checkout_is_disabled' => 'السحب معطل', 'choose_attrdef' => 'من فضلك اختر تعريف السمة', -'choose_attrdefgroup' => '', -'choose_category' => 'من فضلك اختر', +'choose_attrdefgroup' => 'من فضلك اختر تعريف سمة المجموعة', +'choose_category' => 'من فضلك اختر القسم', 'choose_group' => 'اختر المجموعة', -'choose_role' => '', +'choose_role' => 'اختر دور', 'choose_target_category' => 'اختر القسم', 'choose_target_document' => 'اختر المستند', 'choose_target_file' => 'اختر الملف', 'choose_target_folder' => 'اختر المجلد', -'choose_user' => 'اختر المستخدم', +'choose_user' => 'اختر مستخدم', 'choose_workflow' => 'اختر مسار عمل', 'choose_workflow_action' => 'اختر اجراء مسار عمل', 'choose_workflow_state' => 'اختر حالة مسار عمل', -'class_name' => '', -'clear_cache' => 'ﻢﺴﺣ ﺎﻠﻤﺤﻓﻮﻇﺎﺗ', -'clear_clipboard' => '', -'clear_password' => '', +'class_name' => 'اسم الصف', +'clear_cache' => 'مسح المحفوظات', +'clear_clipboard' => 'مسح الحافظة', +'clear_password' => 'مسح الرقم السري', 'clipboard' => 'لوحة القصاصات', 'close' => 'إغلاق', -'command' => '', +'command' => 'أمر', 'comment' => 'تعليق', -'comment_changed_email' => '', +'comment_changed_email' => 'تعليق تغيير البريد الإلكتروني', 'comment_for_current_version' => 'تعليق على الاصدار', -'configure_extension' => '', -'confirm_clear_cache' => '', +'configure_extension' => 'تعديل', +'confirm_clear_cache' => 'تعديل مسح المحفوظات', 'confirm_create_fulltext_index' => 'نعم: اود اعادة انشاء فهرس للنص الكامل !', -'confirm_move_document' => '', -'confirm_move_folder' => '', +'confirm_move_document' => 'تاكيد نقل الملف', +'confirm_move_folder' => 'تاكيد نقل الملف', 'confirm_pwd' => 'تأكيد كلمة السر', -'confirm_rm_attr_value' => '', +'confirm_rm_attr_value' => 'تاكيد معرف السمة', 'confirm_rm_backup' => 'هل تود حقا ازالة الملف "[arkname]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_rm_document' => 'هل تود حقا ازالة المستند \'[documentname]\'?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_rm_dump' => 'هل تود حقا ازالة الملف "[dumpname]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', @@ -278,33 +282,33 @@ URL: [url]', 'confirm_rm_folder_files' => 'هل تود حقا ازالة كل الملفات الموجودة بالمجلد "[foldername]" وكل مافي المجلدات الفرعية؟
كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_rm_group' => 'هل تود حقا ازالة المجموعة "[groupname]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', 'confirm_rm_log' => 'هل تود حقا ازالة ملف السجل "[logname]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', -'confirm_rm_transmittal' => '', -'confirm_rm_transmittalitem' => '', +'confirm_rm_transmittal' => 'تاكيد ازالة الإحالة', +'confirm_rm_transmittalitem' => 'تاكيد ازالة حاجة الإحالة', 'confirm_rm_user' => 'هل تود حقا ازالة المستخدم "[username]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', -'confirm_rm_user_from_processes' => '', +'confirm_rm_user_from_processes' => 'تاكيد ازالة مستخدمين من سير العمل', 'confirm_rm_version' => 'هل تود حقا ازالة الاصدار [version] الخاص بالمستند "[documentname]"?
كن حذرا: هذا الاجراء لايمكن التراجع فيه', -'confirm_transfer_link_document' => '', -'confirm_transfer_objects' => '', -'confirm_update_transmittalitem' => '', +'confirm_transfer_link_document' => 'تاكيد تحويل رابط الملف', +'confirm_transfer_objects' => 'تاكيد تحويل اشياء', +'confirm_update_transmittalitem' => 'تاكيد تحديث إحالة الأشياء', 'content' => 'المحتوى', 'continue' => 'استمرار', -'converter_new_cmd' => '', -'converter_new_mimetype' => 'ﻥﻮﻋ ﺝﺪﻳﺩ ﻢﻧ ﺎﻟﻮﺛﺎﺌﻗ', -'copied_to_checkout_as' => '', -'create_download_link' => '', +'converter_new_cmd' => 'converter_new_cmd', +'converter_new_mimetype' => 'نوع جديد من الوثائق', +'copied_to_checkout_as' => 'نسخ الى السب مثل', +'create_download_link' => 'إنشاء رابط تنزيل', 'create_fulltext_index' => 'انشاء فهرس للنص الكامل', 'create_fulltext_index_warning' => 'انت على وشك اعادة انشاء فهرس النص الكامل.هذا سيتطلب وقت كافي وسيؤثر بشكل عام على كفاءة النظام. اذا كنت حقا تود اعادة انشاء الفهرس، من فضلك قم بتاكيد العملية.', -'creation_date' => 'تم انشاؤه', +'creation_date' => 'انشأ في تاريخ', 'cs_CZ' => 'التشيكية', 'current_password' => 'كلمة السر الحالية', -'current_quota' => '', -'current_state' => '', +'current_quota' => 'كوتا الحالية', +'current_state' => 'الحالة الحالية', 'current_version' => 'الإصدار الحالي', 'daily' => 'يومي', 'databasesearch' => 'بحث قاعدة البيانات', -'date' => 'التاريخ', +'date' => 'تاريخ', 'days' => 'أيام', -'debug' => '', +'debug' => 'debug', 'december' => 'ديسمبر', 'default_access' => 'حالة الدخول الافتراضية', 'default_keywords' => 'كلمات بحثية اساسية', @@ -314,38 +318,38 @@ URL: [url]', 'details_version' => 'تفاصيل هذا الاصدار: [version]', 'de_DE' => 'الألمانية', 'disclaimer' => 'هذه المنطقة محظورة. الدخول فقط مسموح للموظفين المعتمدين. اي اختراق سيتم التعامل معه وفقا للقوانين المحلية والدولية.', -'discspace' => '', -'docs_in_reception_no_access' => '', -'docs_in_revision_no_access' => '', -'document' => 'المستند', -'documentcontent' => '', -'documents' => 'المستندات', -'documents_checked_out_by_you' => '', -'documents_expired' => 'ﻮﺛﺎﺌﻗ ﻢﻨﺘﻬﻳﺓ', +'discspace' => 'مساحة القرص', +'docs_in_reception_no_access' => 'الدخول مرفوض الى المستندات في الإستقبال', +'docs_in_revision_no_access' => 'الدخول مرفوض الى المستندات قيد المراجعة', +'document' => 'مستند', +'documentcontent' => 'موضوع المستند', +'documents' => 'مستندات', +'documents_checked_out_by_you' => 'مستندات سحبت من قبلك', +'documents_expired' => 'وثائق منتهية', 'documents_in_process' => 'مستندات رهن المعالجة', -'documents_locked' => '', +'documents_locked' => 'مستندات مغلقة', 'documents_locked_by_you' => 'المستندات محمية من التعديل بواسطتك', 'documents_only' => 'مستندات فقط', 'documents_to_approve' => 'مستندات في انتظار الموافقة', -'documents_to_correct' => '', -'documents_to_process' => '', -'documents_to_receipt' => '', +'documents_to_correct' => 'مستندات للتصحيح', +'documents_to_process' => 'مستندات للمعالجة', +'documents_to_receipt' => 'مستندات للوصول', 'documents_to_review' => 'مستندات في انتظار المراجعة', -'documents_to_revise' => '', -'documents_to_trigger_workflow' => '', -'documents_user_draft' => '', -'documents_user_expiration' => '', -'documents_user_needs_correction' => '', -'documents_user_no_reception' => '', -'documents_user_obsolete' => '', -'documents_user_reception' => '', -'documents_user_rejected' => '', +'documents_to_revise' => 'مستندات للمراجعة', +'documents_to_trigger_workflow' => 'مستندات لتشغبل سير العمل', +'documents_user_draft' => 'مستندات مسودة للمستخدم', +'documents_user_expiration' => 'مستندات المستخدم منتهية صلاحيتها', +'documents_user_needs_correction' => 'مستندات المستخدم تحتاج الى تعديل', +'documents_user_no_reception' => 'مستندات المستخدم لا تحتاج الى الإستقبال', +'documents_user_obsolete' => 'مستندات المستخدم القديمة', +'documents_user_reception' => 'مستندات المستخدم تحتاج الى استقبال', +'documents_user_rejected' => 'مستندات المستخدم مرفوضة', 'documents_user_requiring_attention' => 'مستندات ملكك تستلزم انتباهك', -'documents_with_notification' => '', -'document_already_checkedout' => '', +'documents_with_notification' => 'مستندات مع اشعار', +'document_already_checkedout' => 'تم سحب الملف', 'document_already_locked' => 'هذا المستند محمي ضد التعديل', -'document_attribute_changed_email_body' => '', -'document_attribute_changed_email_subject' => '', +'document_attribute_changed_email_body' => 'معرف المستند غير موضوع البريد الإلكتروني', +'document_attribute_changed_email_subject' => 'معرف المستند غير موضوع البريد الإلكتروني', 'document_comment_changed_email' => 'تم تعديل التعليق', 'document_comment_changed_email_body' => 'تم تعديل التعليق المستند: [name] @@ -355,7 +359,7 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'document_comment_changed_email_subject' => '[sitename]: [name] - تم تعديل التعليق', -'document_count' => '', +'document_count' => 'تعداد المستندات', 'document_deleted' => 'تم مسح المستند', 'document_deleted_email' => 'تم مسح المستند', 'document_deleted_email_body' => 'تم مسح المستند @@ -366,7 +370,7 @@ Parent folder: [folder_path] 'document_duplicate_name' => 'اسم المستند متكرر', 'document_has_no_workflow' => 'المستند لايحتوى مسار عمل', 'document_infos' => 'معلومات المستند', -'document_is_checked_out' => '', +'document_is_checked_out' => 'تم سحب المستند', 'document_is_not_locked' => 'هذا المستند غير محمي ضد التعديل', 'document_link_by' => 'مربوط بواسطة', 'document_link_public' => 'عام', @@ -378,7 +382,7 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'document_moved_email_subject' => '[sitename]: [name] - تم تحريك المستند', -'document_not_checkedout' => '', +'document_not_checkedout' => 'لم يتب سحب المستند', 'document_renamed_email' => 'تم اعادة تسمية المستند', 'document_renamed_email_body' => 'تم اعادة تسمية المستند المستند: [name] @@ -395,44 +399,46 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'document_status_changed_email_subject' => '[sitename]: [name] - تم تغيير حالةالمستند', -'document_title' => 'المستند \'[documentname]\'', -'document_transfered_email_body' => '', -'document_transfered_email_subject' => '', +'document_title' => 'المستند \'[documentname]\'عنوان السمتند', +'document_transfered_email_body' => 'المستند نقل موضوع البريد الإلكتروني', +'document_transfered_email_subject' => 'المستند نقل موضوع البريد الإلكتروني', 'document_updated_email' => 'تم تحديث المستند', -'document_updated_email_body' => 'تم تحديث المستند -المستند: [name] -Parent folder: [folder_path] -المستخدم: [username] -تعليق: [comment] -تعليق الاصدار: [version_comment] +'document_updated_email_body' => 'تم تحديث المستند +المستند: [name] +Parent folder: [folder_path] +المستخدم: [username] +تعليق: [comment] +تعليق الاصدار: [version_comment] URL: [url]', 'document_updated_email_subject' => '[sitename]: [name] - تم تحديث المستند', 'does_not_expire' => 'لا ينتهى صلاحيته', 'does_not_inherit_access_msg' => 'صلاحيات موروثة', 'download' => 'تنزيل', -'download_extension' => '', -'download_links' => '', -'download_link_email_body' => '', -'download_link_email_subject' => '', +'download_extension' => 'تنزيل طويل', +'download_links' => 'تنزيل روابط', +'download_link_email_body' => 'تنزيل رابط محتوى البريد الإلكتروني', +'download_link_email_subject' => 'تنزيل رابط موضوع البريد الإلكتروني', 'do_object_repair' => 'إصلاح كل المستندات والمجلدات.', 'do_object_setchecksum' => 'تحديد فحص اخطاء', 'do_object_setfilesize' => 'تحديد حجم الملف', +'do_object_setfiletype' => '', 'do_object_unlink' => 'مسح اصدار مستند', -'draft' => '', +'draft' => 'مسودة', 'draft_pending_approval' => 'مسودة - قيد الموافقة', 'draft_pending_review' => 'مسودة - قيد المراجعة', 'drag_icon_here' => 'قم بسحب ايقونة المستند او المجلد الى هنا!', -'dropfolderdir_missing' => '', +'dropfolderdir_missing' => 'الملف من مجلد التجميع غير موجود', 'dropfolder_file' => 'ملف من مجلد التجميع', -'dropfolder_folder' => '', +'dropfolder_folder' => 'مجلد التجميع', +'dropfolder_metadata' => '', 'dropupload' => 'رفع سريع', 'drop_files_here' => 'أفلت الملفات هنا!', 'dump_creation' => 'انشاء مستخرج من قاعدة البيانات', 'dump_creation_warning' => 'من خلال تلك العملية يمكنك انشاء ملف مستخرج من محتوى قاعدة البيانات. بعد انشاء الملف المستخرج سيتم حفظه في مجلد البيانات الخاص بسيرفرك', 'dump_list' => 'ملف مستخرج حالي', 'dump_remove' => 'ازالة الملف المستخرج', -'duplicates' => '', -'duplicate_content' => '', +'duplicates' => 'تكرارات', +'duplicate_content' => 'المحتوى متكرر', 'edit' => 'تعديل', 'edit_attributes' => 'تعديل السمات', 'edit_comment' => 'تعديل تعليق', @@ -442,69 +448,70 @@ URL: [url]', 'edit_document_props' => 'تعديل مستند', 'edit_event' => 'تعديل الحدث', 'edit_existing_access' => 'تعديل قائمة الصلاحيات', -'edit_existing_attribute_groups' => '', +'edit_existing_attribute_groups' => 'تعديل معرف المجموعات الحالية', 'edit_existing_notify' => 'تعديل قائمة التنبيهات', 'edit_folder_access' => 'تعديل صلاحيات', -'edit_folder_attrdefgrp' => '', +'edit_folder_attrdefgrp' => 'تعديل معرف مجموعة الملفات', 'edit_folder_notify' => 'تعديل قائمة التنبيهات', 'edit_folder_props' => 'تعديل مجلد', 'edit_group' => 'تعديل مجموعة', -'edit_online' => '', -'edit_task' => '', -'edit_transmittal_props' => '', +'edit_online' => 'تعديل عبر الإنترنت', +'edit_online_warning' => '', +'edit_task' => 'تعديل المهمة', +'edit_transmittal_props' => 'تعديل الإحالة', 'edit_user' => 'تعديل المستخدم', 'edit_user_details' => 'تعديل بيانات المستخدم', -'edit_version' => '', -'el_GR' => 'ﺲﻴﺴﻴﺳ', -'email' => 'بريد الكتروني', +'edit_version' => 'تعديل الإصدار', +'el_GR' => 'الإنكليزية', +'email' => 'البريد الإلكتروني', 'email_error_title' => 'لمي يتم ادخال البريد الالكتروني', 'email_footer' => 'يمكنك دائما تغيير اعدادات بريدك الالكتروني من خلال خاصية - مستنداتي', 'email_header' => 'هذا رسالة تلقائية من نظام ادارة المستندات!', 'email_not_given' => 'من فضلك ادخل بريد الكتروني صحيح.', -'empty_attribute_group_list' => '', +'empty_attribute_group_list' => 'معرف لائحة المجموعات خالية', 'empty_folder_list' => 'لايوجد مستندات او مجلدات', -'empty_list' => '', +'empty_list' => 'الائحة خالية', 'empty_notify_list' => 'لايوجد مدخلات', 'en_GB' => 'الإنكليزية (GB)', 'equal_transition_states' => 'حالة البداية والنهاية متشابهة', 'error' => 'خطأ', -'error_add_aro' => '', -'error_add_permission' => '', -'error_cleared_cache' => '', -'error_edit_task' => '', -'error_extension_getlist' => '', -'error_importfs' => '', +'error_add_aro' => 'خطأ في الإضافة', +'error_add_permission' => 'خطأ في طلب السماح', +'error_cleared_cache' => 'خطأ في مسح المحفوظات', +'error_edit_task' => 'خطأ في تعديل المهمة', +'error_extension_getlist' => 'خطأ في أخذ الائحة', +'error_importfs' => 'خطأ في الإستيراد', 'error_no_document_selected' => 'لم يتم اختيار مستند', 'error_no_folder_selected' => 'لم يتم اختيار مجلد', 'error_occured' => 'حدث خطأ', -'error_remove_document' => '', -'error_remove_folder' => 'ﺡﺪﺛ ﺦﻃﺃ ﺎﺜﻧﺍﺀ ﺡﺬﻓ ﺎﻠﻤﺠﻟﺩ', -'error_remove_permission' => '', -'error_rm_workflow' => '', -'error_rm_workflow_action' => '', -'error_rm_workflow_state' => '', -'error_toogle_permission' => '', -'error_transfer_document' => '', -'error_trigger_workflow' => '', -'error_update_document' => '', -'error_uploading_reviewer_only' => '', +'error_remove_document' => 'خطأ في ازالة المستند', +'error_remove_folder' => 'حدث خطأ في ازالة ملف', +'error_remove_permission' => 'حدث خطأ في ازالة طلب السماح', +'error_rm_workflow' => 'خطأ في ازالة سير العمل', +'error_rm_workflow_action' => 'خطأ في ازالة دور سير العمل', +'error_rm_workflow_state' => 'خطأ في ازالة حالة سير العمل', +'error_toogle_permission' => 'خطأ في تفعيل طلب السماح', +'error_transfer_document' => 'خطأ في تحويل المستند', +'error_trigger_workflow' => 'خطأ في تفعيل سير العمل', +'error_update_document' => 'خطأ في تحديث المستند', +'error_uploading_reviewer_only' => 'خطأ في رفع المراجع فقط', 'es_ES' => 'الإسبانية', 'event_details' => 'تفاصيل الحدث', -'exclude_items' => '', +'exclude_items' => 'فصل الأشياء', 'expired' => 'انتهى صلاحيته', -'expired_at_date' => '', -'expired_documents' => '', +'expired_at_date' => 'تنتهي صلاحيته في التاريخ', +'expired_documents' => 'مستندات انتهت صلاحيتها', 'expires' => 'تنتهى صلاحيته', -'expire_by_date' => 'ﻲﻨﺘﻫﻯ ﻑﻯ ﺕﺍﺮﻴﺧ', -'expire_in_1d' => '', -'expire_in_1h' => '', -'expire_in_1m' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺶﻫﺭ', -'expire_in_1w' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺎﺴﺑﻮﻋ', -'expire_in_1y' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 1 ﺲﻧﺓ', -'expire_in_2h' => '', -'expire_in_2y' => 'ﻲﻨﺘﻫﻯ ﻑﻯ 2 ﺲﻧﺓ', -'expire_today' => '', -'expire_tomorrow' => '', +'expire_by_date' => 'تنتهي صلاحيته في التاريخ', +'expire_in_1d' => 'تنتهي صلاحيته بعد يوم واحد', +'expire_in_1h' => 'تنتهي صلاحيته بعد ساعة', +'expire_in_1m' => 'تنتهي صلاحيته بعد دقيقة', +'expire_in_1w' => 'تنتهي صلاحيته بعد اسبوع', +'expire_in_1y' => 'تنتهي صلاحيته بعد سنة', +'expire_in_2h' => 'تنتهي صلاحيته بعد ساعتين', +'expire_in_2y' => 'تنتهي صلاحيته بعد سنتين', +'expire_today' => 'تنتهي صلاحيته اليوم', +'expire_tomorrow' => 'تنتهي صلاحيته غدا', 'expiry_changed_email' => 'تم تغيير تاريخ الصلاحية', 'expiry_changed_email_body' => 'تم تغيير تاريخ الصلاحية المستند: [name] @@ -512,37 +519,38 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'expiry_changed_email_subject' => '[sitename]: [name] - تم تغيير تاريخ الصلاحية', -'export' => '', -'extension_archive' => '', -'extension_changelog' => 'ﺲﺠﻟ ﺎﻠﺘﻋﺪﻳﻼﺗ', -'extension_loading' => 'ﺖﺤﻤﻴﻟ ﺍﻼﺿﺎﻓﺎﺗ', -'extension_manager' => 'ﺇﺩﺍﺭﺓ ﺍﻼﻣﺩﺍﺩﺎﺗ', -'extension_mgr_installed' => 'ﻢﺜﺒﺗ', -'extension_mgr_no_upload' => '', -'extension_mgr_repository' => 'ﻢﺗﻮﻓﺭ', -'extension_version_list' => 'ﺍﻼﺻﺩﺍﺭ', +'export' => 'تصدير', +'extension_archive' => 'إرشيف أطول', +'extension_changelog' => 'سجل التعديلات', +'extension_loading' => 'تحميل الإضافات', +'extension_manager' => 'إدارة الإضافات', +'extension_mgr_installed' => 'تثبيت إدارة الإضافات', +'extension_mgr_no_upload' => 'لا يمكن تحميل إضافات جديدة لأن دليل الإضافات غير قابل للكتابة.', +'extension_mgr_repository' => 'مستودع إدارة الإضافات', +'extension_version_list' => 'لائحة الإضافات حسب الإصدار', 'february' => 'فبراير', 'file' => 'ملف', 'files' => 'ملفات', 'files_deletion' => 'مسح الملف', 'files_deletion_warning' => 'من خلال تلك الخاصية يمكنك مسح كل الملفات على مجلدات النظام. ملفات معلومات الاصدارات فقط ستظل متاحة للرؤية.', -'files_loading' => 'ﻒﺿﻻ ﺈﻨﺘﻇﺭ ﺢﺗﻯ ﻲﺘﻣ ﺖﺤﻤﻴﻟ ﻕﺎﺌﻣﺓ ﺎﻠﻤﻠﻓﺎﺗ', +'files_loading' => 'تحميل الملفات', +'filetype' => '', 'file_size' => 'حجم الملف', -'filter_for_documents' => '', -'filter_for_folders' => '', +'filter_for_documents' => 'فلتر للمستندات', +'filter_for_folders' => 'فلتر للملفات', 'folder' => 'مجلد', 'folders' => 'مجلدات', 'folders_and_documents_statistic' => 'رؤية عامة للمحتوى', -'folders_with_notification' => '', -'folder_attribute_changed_email_body' => '', -'folder_attribute_changed_email_subject' => '', +'folders_with_notification' => 'ملفات مع اشعار', +'folder_attribute_changed_email_body' => 'معرف المجلد غير محتوى البريد الإلكتروني', +'folder_attribute_changed_email_subject' => 'معرف المجلد غير موضوع البريد الإلتكتروني', 'folder_comment_changed_email' => 'تم تعديل التعليق', -'folder_comment_changed_email_body' => 'تم تعديل التعليق -الملجلد: [name] -التعليق القديم: [old_comment] -التعليق الجديد: [new_comment] -Parent folder: [folder_path] -المستخدم: [username] +'folder_comment_changed_email_body' => 'تم تعديل التعليق +الملجلد: [name] +التعليق القديم: [old_comment] +التعليق الجديد: [new_comment] +Parent folder: [folder_path] +المستخدم: [username] URL: [url]', 'folder_comment_changed_email_subject' => '[sitename]: [name] - تم تعديل التعليق', 'folder_contents' => 'محتوى المجلدات', @@ -570,7 +578,8 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - تم اعادة تسمية المجلد', -'folder_title' => 'مجلد \'[foldername]\'', +'folder_title' => 'مجلد \'[foldername]\'عنوان المجلد', +'foot_note' => 'مجلس النواب اللبناني', 'force_update' => 'ﺖﺣﺪﻴﺛ', 'friday' => 'الجمعة', 'friday_abbr' => 'ج', @@ -578,10 +587,10 @@ URL: [url]', 'fr_FR' => 'الفرنسية', 'fullsearch' => 'البحث النصي الكامل', 'fullsearch_hint' => 'استخدم فهرس النص الكامل', -'fulltextsearch_disabled' => '', +'fulltextsearch_disabled' => 'توقف البحث الكامل للنص', 'fulltext_converters' => 'فهرس تحويل المستند', 'fulltext_info' => 'معلومات فهرس النص الكامل', -'global_attributedefinitiongroups' => '', +'global_attributedefinitiongroups' => 'معرف تعريف المجموعات', 'global_attributedefinitions' => 'سمات', 'global_default_keywords' => 'كلمات بحثية عامة', 'global_document_categories' => 'اقسام', @@ -592,43 +601,44 @@ URL: [url]', 'groups' => 'المجموعات', 'group_approval_summary' => 'ملخص موافقة المجموعة', 'group_exists' => 'المجموعة موجودة بالفعل.', -'group_info' => '', +'group_info' => 'معلومات عن المجموعة', 'group_management' => 'إدارة المجموعات', 'group_members' => 'أعضاء المجموعة', -'group_receipt_summary' => '', +'group_receipt_summary' => 'ملخص وصل المجموعة', 'group_review_summary' => 'ملخص مراجعة المجموعة', +'group_revision_summary' => '', 'guest_login' => 'الدخول كضيف', 'guest_login_disabled' => 'دخول ضيف غير متاح.', -'hash' => '', +'hash' => 'مزيج', 'help' => 'المساعدة', -'home_folder' => '', -'hook_name' => '', +'home_folder' => 'مجلد الصفحة الرئيسية', +'hook_name' => 'دمج الاسم', 'hourly' => 'بالساعة', 'hours' => 'ساعات', -'hr_HR' => 'ﺎﻠﻛﺭﻭﺎﺘﻳﺓ', +'hr_HR' => 'الساعة', 'human_readable' => 'ارشيف مقروء', 'hu_HU' => 'مجرية', 'id' => 'معرف', 'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.', -'import' => 'ﺎﺴﺘﺧﺭﺎﺟ', -'importfs' => '', -'import_extension' => '', -'import_fs' => 'ﻦﺴﺧ ﻢﻧ ﻢﻠﻓ ﺎﻠﻨﻇﺎﻣ', -'import_fs_warning' => '', -'include_content' => '', +'import' => 'استيراد', +'importfs' => 'استيرادات', +'import_extension' => 'استيراد إضافات', +'import_fs' => 'نسخ من ملف النظام', +'import_fs_warning' => 'تحذير النسخ من ملف النظام', +'include_content' => 'إضافة المحتوى', 'include_documents' => 'اشمل مستندات', 'include_subdirectories' => 'اشمل مجلدات فرعية', -'indexing_tasks_in_queue' => 'ﺍﻻﻭﺎﻣﺭ ﺎﻠﻤﻄﻟﻮﺑﺓ ﻒﻳ ﺍﻼﻨﺘﻇﺍﺭ', -'index_converters' => '', -'index_done' => '', -'index_error' => '', -'index_folder' => 'ﻒﻫﺮﺳﺓ ﺎﻠﻤﺠﻟﺩ', -'index_no_content' => '', -'index_pending' => '', -'index_waiting' => 'ﻲﻨﺘﻇﺭ', +'indexing_tasks_in_queue' => 'فهرسة المهات بالترتيب', +'index_converters' => 'تحويل الفهرسة', +'index_done' => 'تمت الفهرسة', +'index_error' => 'خطأ في الفهرسة', +'index_folder' => 'فهرسة المجلد', +'index_no_content' => 'فهرسة بلا محتوى', +'index_pending' => 'الفهرسة قيد الإنتظار', +'index_waiting' => 'الفهرسة قيد الإنتظار', 'individuals' => 'افراد', -'individuals_in_groups' => '', -'info_recipients_tab_not_released' => '', +'individuals_in_groups' => 'أفراد في المجموعات', +'info_recipients_tab_not_released' => 'رابط معلومات المستلمين لم يصدر بعد', 'inherited' => 'موروث', 'inherits_access_copy_msg' => 'نسخ قائمة صلاحيات موروثة.', 'inherits_access_empty_msg' => 'ابدأ بقائمة صلاحيات فارغة', @@ -641,9 +651,9 @@ URL: [url]', 'invalid_create_date_end' => 'تاريخ نهائي خاطىء لانشاء مدى تاريخي', 'invalid_create_date_start' => 'تاريخ ابتدائي خاطيء لانشاء مدى تاريخي', 'invalid_doc_id' => 'معرف مستند خاطىء', -'invalid_dropfolder_folder' => '', -'invalid_expiration_date_end' => '', -'invalid_expiration_date_start' => '', +'invalid_dropfolder_folder' => 'مجلد خاطئ', +'invalid_expiration_date_end' => 'تاريخ انتهاء صلاحية خاطئة', +'invalid_expiration_date_start' => 'تاريخ بدء انتهاء الصلاحية خاطئة', 'invalid_file_id' => 'معرف ملف خاطىء', 'invalid_folder_id' => 'معرف مجلد خاطىء', 'invalid_group_id' => 'معرف مجموعة خاطىء', @@ -656,20 +666,20 @@ URL: [url]', 'invalid_target_folder' => 'معرف خاطىء لمجلد الهدف', 'invalid_user_id' => 'معرف مستخدم خاطىء', 'invalid_version' => 'اصدار مستند خاطىء', -'in_folder' => '', -'in_revision' => '', +'in_folder' => 'مجلد خاطئ', +'in_revision' => 'مراجعة خاطئة', 'in_workflow' => 'رهن مسار عمل', 'is_disabled' => 'تعطيل الحساب', 'is_hidden' => 'اخفاء من قائمة المستخدمين', 'it_IT' => 'الإيطالية', 'january' => 'يناير', -'js_form_error' => '', -'js_form_errors' => '', -'js_invalid_email' => '', +'js_form_error' => 'خطأ في الائحة', +'js_form_errors' => 'أخطاء في الأشكال', +'js_invalid_email' => 'خطأ في البريد الإلكتروني', 'js_no_approval_group' => 'من فضلك اختر مجموعة الموافقة', 'js_no_approval_status' => 'من فضلك اختر حالة الموافقة', 'js_no_comment' => 'لايوجد تعليق', -'js_no_currentpwd' => '', +'js_no_currentpwd' => 'لا يوجد كلمة سر حالية', 'js_no_email' => 'اكتب بريدك الالكتروني', 'js_no_file' => 'من فضلك اختر ملف', 'js_no_keywords' => 'من فضلك اختر بعض الكلمات البحثية', @@ -683,37 +693,38 @@ URL: [url]', 'js_pwd_not_conf' => 'كلمة السر وتأكيدها غير متطابق', 'js_select_user' => 'من فضلك اختر مستخدم', 'js_select_user_or_group' => 'اختر على الاقل مستخدم او مجموعة', -'js_unequal_passwords' => '', +'js_unequal_passwords' => 'كلمات السر غير متساوية', 'july' => 'يوليو', 'june' => 'يونيو', -'keep' => '', +'keep' => 'إبقاء', 'keep_doc_status' => 'ابقاء حالة المستند', 'keywords' => 'كلمات البحث', 'keywords_loading' => 'ﻒﺿﻻ ﺎﻨﺘﻇﺭ ﺢﺗﻯ ﻲﺘﻣ ﺖﺤﻤﻴﻟ ﻚﻠﻣﺎﺗ ﺎﻟﺩﻼﻠﻳﺓ', 'keyword_exists' => 'كلمات البحث بالفعل موجودة', -'ko_KR' => 'ﺎﻠﻛﻭﺮﻳﺓ', +'ko_KR' => 'كوريا', 'language' => 'اللغة', -'lastaccess' => '', +'lastaccess' => 'آخر تسجيل دخول', 'last_update' => 'اخر تحديث', -'legend' => 'دليل', -'librarydoc' => '', +'legend' => 'الدليل', +'librarydoc' => 'مستندات المكتبة', 'linked_documents' => 'مستندات متعلقة', 'linked_files' => 'ملحقات', -'linked_to_current_version' => '', -'linked_to_document' => 'ﺮﺒﻃ ﺐﻤﻠﻓ ﺄﺧﺭ', -'linked_to_this_version' => '', +'linked_to_current_version' => 'متعلقة بالإصدار الحالي', +'linked_to_document' => 'متعلقة بالمستند', +'linked_to_this_version' => 'متعلقة بهذا الإصدار', 'link_alt_updatedocument' => 'اذا كنت تود تحميل ملفات اكبر من حجم الملفات المتاحة حاليا, من فضلك استخدم البديل صفحة التحميل.', -'link_document' => '', -'link_to_version' => '', -'list_access_rights' => 'ﻉﺮﺿ ﻚﻟ ﺎﻠﺻﻼﺤﻳﺎﺗ', -'list_contains_no_access_docs' => '', -'list_hooks' => '', -'list_tasks' => '', +'link_document' => 'رابط المستند', +'link_to_version' => 'رابط الإصدار', +'list_access_rights' => 'لائحة حقوق الدخول', +'list_contains_no_access_docs' => 'هذه الائحة لا تحتوي على مستندات للدخول', +'list_hooks' => 'لائحة الدمج', +'list_tasks' => 'لائحة المهمات', 'local_file' => 'ملف محلي', 'locked_by' => 'محمي بواسطة', 'lock_document' => 'حماية', 'lock_message' => 'هذا الملف محمي بواسطة [username]. فقط المستخدمين المصرح لهم يمكنهم تعديله.', 'lock_status' => 'حالة', +'logfile_loading' => '', 'login' => 'دخول', 'login_disabled_text' => 'حسابك معطل, غالبا بسبب المحاولات العديدة الخاطئة للدخول', 'login_disabled_title' => 'الحساب معطل', @@ -721,57 +732,57 @@ URL: [url]', 'login_error_title' => 'خطأ في الدخول', 'login_not_given' => 'لم يتم ادخال اسم المستخدم', 'login_ok' => 'دخول صحيح', -'login_restrictions_apply' => '', +'login_restrictions_apply' => 'تطبق لائحة القيود', 'logout' => 'خروج', -'log_management' => 'ادارة ملفات السجلات', -'lo_LA' => 'ﺎﻠﻤﻛﺎﻧ', -'malformed_expiration_date' => '', +'log_management' => 'ادارة سجلات الملفات', +'lo_LA' => 'لاوتاني', +'malformed_expiration_date' => 'خطأ في تاريخ انتهاء الصلاحية', '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' => '', +'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' => 'الحجم الاقصى للملف', 'may' => 'مايو', -'menu_dropfolder' => '', -'menu_upload_from_dropfolder' => '', -'mimetype' => 'Mime type', +'menu_dropfolder' => 'صفحة المجلد', +'menu_upload_from_dropfolder' => 'صفحة التحميل من المجلد', +'mimetype' => 'نوع الملف', 'minutes' => 'دقائق', 'misc' => 'متنوعات', -'missing_checksum' => 'فحص اخطاء مفقود', -'missing_file' => '', -'missing_filesize' => 'حجم ملف مفقود', -'missing_reception' => '', -'missing_request_object' => '', +'missing_checksum' => 'فحص الأخطاء مفقود', +'missing_file' => 'الملف غير موجود', +'missing_filesize' => 'حجم الملف مفقود', +'missing_reception' => 'الإستقبال غير موجود', +'missing_request_object' => 'طلب شيء غير موجود', 'missing_transition_user_group' => 'مستخدم/مجموعة مفقودة للتحول', 'monday' => 'الاثنين', 'monday_abbr' => 'ن', 'monthly' => 'شهريا', 'month_view' => 'عرض الشهر', -'more_objects_loading' => '', +'more_objects_loading' => 'يتم تحميل أشياء أخرى', 'move' => 'تحريك', -'move_clipboard' => '', +'move_clipboard' => 'تحريك القصاصة', 'move_document' => 'تحريك مستند', 'move_folder' => 'تحريك مجلد', 'my_account' => 'حسابي', 'my_documents' => 'مستنداتي', -'my_transmittals' => '', +'my_transmittals' => 'الإحالات الخاصة بي', 'name' => 'اسم', -'needs_correction' => '', +'needs_correction' => 'يحتاج الى تصحيح', 'needs_workflow_action' => 'هذا المستند يتطلب انتباهك . من فضلك تفقد زر مسار العمل', -'network_drive' => '', -'never' => '', +'network_drive' => 'قرص النترنت', +'never' => 'ابدا', 'new' => 'جديد', 'new_attrdef' => 'اضافة تعريف سمة', 'new_default_keywords' => 'اضافة كلمات بحث', -'new_default_keyword_category' => 'اضافة قسم', -'new_document_category' => 'اضافة قسم', +'new_default_keyword_category' => 'من فضلك اضف قسم', +'new_document_category' => 'من فضلك اضف قسم', 'new_document_email' => 'مستند جديد', 'new_document_email_body' => 'مستند جديد اسم: [name] @@ -800,9 +811,11 @@ Parent folder: [folder_path] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - مجلد جديد', 'new_user_image' => 'صورة جديدة', +'next_revision_abbr' => '', 'next_state' => 'حالة جديدة', 'nl_NL' => 'الهولندي', 'no' => 'لا', +'notification' => '', 'notify_added_email' => 'تم اضافتك الى قائمة التنبيهات', 'notify_added_email_body' => 'تم اضافتك الى قائمة التنبيهات اسم: [name] @@ -822,42 +835,44 @@ URL: [url]', 'no_action' => 'لايوجد اجراء مطلوب', 'no_approval_needed' => 'لايوجد موافقات منتظره', 'no_attached_files' => 'لا يوجد مرفقات', -'no_current_version' => '', +'no_backup_dir' => '', +'no_current_version' => 'لا يوجد اصدار جديد', 'no_default_keywords' => 'لايوجد كلمات بحثية متاحة', -'no_docs_checked_out' => '', +'no_docs_checked_out' => 'لم يتم سحب اي مستند', +'no_docs_expired' => '', 'no_docs_locked' => 'لايوجد مستندات حاليا مقفلة/محمية من التعديل', -'no_docs_needs_correction' => '', -'no_docs_rejected' => '', +'no_docs_needs_correction' => 'لا يوجد مستندات تحتاج الى تصحيح', +'no_docs_rejected' => 'لم يتم رفض اي مستند', 'no_docs_to_approve' => 'لايوجد مستندات حالية في انتظار الموافقة', 'no_docs_to_look_at' => 'لايوجد مستندات حاليا تستدعي انتباهك', -'no_docs_to_receipt' => '', +'no_docs_to_receipt' => 'لا يوجد مستندات للمستلم', 'no_docs_to_review' => 'لايوجد مستندات حاليا متاحة للمراجعة', -'no_docs_to_revise' => '', -'no_email_or_login' => '', +'no_docs_to_revise' => 'لا يوجد مستندات للمراجعة', +'no_email_or_login' => 'لا يوجد بريد الكتروني او تسجيل الدخول', 'no_fulltextindex' => 'لايوجد فهرس للنص الكامل متاح', 'no_groups' => 'لايوجد مجموعات', 'no_group_members' => 'هذه المجموعة لايوجد بها اعضاء', 'no_linked_files' => 'لايوجد ملفات مرتبطة', 'no_previous_versions' => 'لايوجد اصدارات سابقة', -'no_receipt_needed' => '', +'no_receipt_needed' => 'لا يحتاج لأي مستلم', 'no_review_needed' => 'لايوجد مراجعات في الانتظار', -'no_revision_needed' => '', -'no_revision_planed' => '', +'no_revision_needed' => 'لا يحتاج إلى مراجعة', +'no_revision_planed' => 'لم يخطط لأي مراجعة', 'no_update_cause_locked' => 'لايمكنك تعديل المستند. قم بمخاطبة المستخدم الذي قام بحمايته من التعديل', 'no_user_image' => 'لا يوجد صورة متاحة', -'no_version_check' => '', -'no_version_modification' => 'ﻻ ﺖﻋﺪﻴﻟ ﻊﻠﻳ ﺎﻠﻨﺴﺧﺓ', -'no_workflow_available' => '', +'no_version_check' => 'لم يتحقق من اي اصدار', +'no_version_modification' => 'لا تعديل على الإصدار', +'no_workflow_available' => 'لا يوجد سير عمل', 'objectcheck' => 'التحقق من مستند/مجلد', -'object_check_critical' => '', -'object_check_warning' => '', +'object_check_critical' => 'التحقق من الشيء في حالة حرجة', +'object_check_warning' => 'تحذير في التحقق من شيء', 'obsolete' => 'مهمل', 'october' => 'اكتوبر', 'old' => 'قديم', 'only_jpg_user_images' => 'فقط يمكنك استخدام ملفات من تنسيق jpg كصورة المستخدم', -'order_by_sequence_off' => '', +'order_by_sequence_off' => 'الترتيب بالتسلسل موقف', 'original_filename' => 'اسم الملف الاصلي', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'متابعة الفهرسة', 'owner' => 'المالك', 'ownership_changed_email' => 'تم تغيير المالك', 'ownership_changed_email_body' => 'تم تغيير المالك @@ -872,8 +887,8 @@ URL: [url]', 'password_already_used' => 'كلمة السر بالفعل تم ارسالها', 'password_expiration' => 'انتهاء صلاحية كلمة السر', 'password_expiration_text' => 'انتهت صلاحية كلمة السر. من فضلك قم باختيارها قبل ان تستكمل عملك بالنظام', -'password_expired' => '', -'password_expires_in_days' => '', +'password_expired' => 'انتهت صلاحية كلمة السر', +'password_expires_in_days' => 'كلمة السر نتهي صلاحيتها بعد أيام', 'password_forgotten' => 'نسيان كلمة السر', 'password_forgotten_email_body' => 'عزيزي مستخدم النظام,nnاستقبلنا طلبك لتغيير كلمة السر.nnيمكنك تغييرها عن طريق الرابط التالي:nn[url_prefix]out/out.ChangePassword.php?hash=[hash]nnIf you have still problems to login, then please contact your administrator.', 'password_forgotten_email_subject' => '[sitename]: نسيان كلمة السر', @@ -881,60 +896,63 @@ URL: [url]', 'password_forgotten_text' => 'قم بملء النموذج التالي واتبع التعليمات التى سيتم ارسالها اليك بالبريد الالكتروني', 'password_forgotten_title' => 'ارسال كلمة السر', 'password_repeat' => 'تكرار كلمة السر', -'password_send' => '', -'password_send_text' => '', +'password_send' => 'أرسل كلمة السر', +'password_send_text' => 'أرسل نموذج كلمة السر', 'password_strength' => 'قوة كلمة السر', 'password_strength_insuffient' => 'قوة كلمة السر غير كافية', 'password_wrong' => 'كلمة سر خاطئة', -'pdf_converters' => '', -'pending_approvals' => '', -'pending_receipt' => '', -'pending_reviews' => '', -'pending_revision' => '', -'pending_workflows' => '', +'pdf_converters' => 'تحويل إلى pdf', +'pending_approvals' => 'الموافقة قيد الإنتظار', +'pending_receipt' => 'إنتظار المستلمين', +'pending_reviews' => 'إنتظار الإستعراض', +'pending_revision' => 'إنتظار المراجعة', +'pending_workflows' => 'إنتظار سير العمل', 'personal_default_keywords' => 'قوائم الكلمات البحثية الشخصية', -'pl_PL' => 'ﺎﻠﺑﻮﻠﻧﺪﻳﺓ', -'possible_substitutes' => '', -'preset_expires' => 'ﺕﺍﺮﻴﺧ ﺍﻼﻨﺘﻫﺍﺀ', -'preview' => 'ﻢﻋﺎﻴﻧﺓ', -'preview_converters' => '', -'preview_images' => '', -'preview_markdown' => '', -'preview_pdf' => '', -'preview_plain' => '', +'pl_PL' => 'البولندية', +'possible_substitutes' => 'بدلاء متاحين', +'preset_expires' => 'تاريخ الإنتهاء', +'preview' => 'معاينة', +'preview_converters' => 'محول المعاينات', +'preview_images' => 'معاينة الصور', +'preview_markdown' => 'معاينة التخفيضات', +'preview_pdf' => 'معاينة ملف pdf', +'preview_plain' => 'معاينة سطحية', 'previous_state' => 'حالة سابقة', 'previous_versions' => 'اصدارات سابقة', -'process' => '', -'process_without_user_group' => '', +'process' => 'سير العمل', +'process_without_user_group' => 'معالجة دون استعمال مستخدم من المجموعة', 'pt_BR' => 'البرتغالية (BR)', 'quota' => 'المساحة المخصصة', 'quota_exceeded' => 'لقد قمت بتعدي المساحة المخصصة لك بمقدار [bytes].', -'quota_is_disabled' => '', +'quota_is_disabled' => 'الغيت الكوتا', 'quota_warning' => 'اقصى مساحة للقرص الصلب تم تعديها بمقدار [bytes]. من فضلك قم بمسح بعض المستندات او اصدارات سابقة منها', -'receipts_accepted' => '', -'receipts_not_touched' => '', -'receipts_rejected' => '', -'receipts_without_group' => '', -'receipts_without_user' => '', -'receipt_deletion_email_body' => '', -'receipt_deletion_email_subject' => '', -'receipt_log' => '', -'receipt_request_email_body' => '', -'receipt_request_email_subject' => '', -'receipt_status' => '', -'receipt_summary' => '', -'receipt_update_failed' => '', -'recent_uploads' => '', -'reception' => '', -'reception_acknowleged' => '', -'reception_noaction' => '', -'reception_rejected' => '', -'recipients' => '', -'recipient_already_removed' => '', -'redraw' => '', +'receipts_accepted' => 'تم الموافقة على الوصول', +'receipts_accepted_latest' => '', +'receipts_not_touched' => 'الوصول غير ملموسة', +'receipts_not_touched_latest' => '', +'receipts_rejected' => 'تم رفض الوصول', +'receipts_rejected_latest' => '', +'receipts_without_group' => 'وصل دون مجموعة', +'receipts_without_user' => 'وصل دون مستخدم', +'receipt_deletion_email_body' => 'إيصال لإلغاء محتوى البريد الإلكتروني', +'receipt_deletion_email_subject' => 'إيصال لإلغال موضوع البريد الإلكتروني', +'receipt_log' => 'إيصال سجل', +'receipt_request_email_body' => 'طلب إيصال من محتوى البريد الإلكتروني', +'receipt_request_email_subject' => 'طلب إيصال من موضوع البريد الإلكتروني', +'receipt_status' => 'حالة الإيصال', +'receipt_summary' => 'ملخص الإيصال', +'receipt_update_failed' => 'فشل في تحديث الإيصال', +'recent_uploads' => 'الإضافات الأخيرة', +'reception' => 'إستقبال', +'reception_acknowleged' => 'موافقة على الإستقبال', +'reception_noaction' => 'ابستقبال بلا نشاط', +'reception_rejected' => 'إستقبال مرفوض', +'recipients' => 'المستلمين', +'recipient_already_removed' => 'تم إيزال المستلم', +'redraw' => 'إعادة رسم', 'refresh' => 'اعادة تحميل', 'rejected' => 'مرفوض', -'released' => 'منشور', +'released' => 'صدر', 'removed_approver' => 'تم ازالته من قائمة الموافقون', 'removed_file_email' => 'تم ازالة المرفقات', 'removed_file_email_body' => 'تم ازالة المرفقات @@ -942,9 +960,9 @@ URL: [url]', المستخدم: [username] URL: [url]', 'removed_file_email_subject' => '[sitename]: [document] - تم ازالة المرفقات', -'removed_recipient' => '', +'removed_recipient' => 'إزالة المستلم', 'removed_reviewer' => 'تم ازالته من قائمة المراجعة', -'removed_revisor' => '', +'removed_revisor' => 'إزالة المراجع', 'removed_workflow_email_body' => 'تم ازالة مسار العمل من اصدار المستند مستند: [name] اصدار: [version] @@ -953,14 +971,14 @@ Parent folder: [folder_path] مستخدم: [username] URL: [url]', 'removed_workflow_email_subject' => '[sitename]: [name] - تم ازالة مسار العمل من اصدار المستند', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => 'إزالة مجلد من إسقاط لائحة', 'remove_marked_files' => 'ازالة الملفات المختارة', 'repaired' => 'تم اصلاحه', 'repairing_objects' => 'تحضير المستندات والمجلدات.', -'request_workflow_action_email_body' => '', -'request_workflow_action_email_subject' => '', -'reset_checkout' => '', -'restrict_access' => '', +'request_workflow_action_email_body' => 'طلب سير عمل في نشاط محتوى البريد الإلكتروني', +'request_workflow_action_email_subject' => 'طلب سير العمل في نشاط موضوع البريد الإلكتروني', +'reset_checkout' => 'إعادة تعيين الخروج', +'restrict_access' => 'الحد من تسجيل الدخول', 'results_page' => 'صفحة النتائج', 'return_from_subworkflow' => 'العودة من مسار العمل الفرعي', 'return_from_subworkflow_email_body' => 'عودة من مسار عمل فرعي @@ -972,24 +990,27 @@ Parent folder: [folder_path] مستخدم: [username] URL: [url]', 'return_from_subworkflow_email_subject' => '[sitename]: [name] - عودة من مسار عمل فرعي', -'reverse_links' => '', +'reverse_links' => 'الروابط العكسية', 'reviewers' => 'المراجعون', 'reviewer_already_assigned' => 'بالفعل تم تخصيصة كمراجع', 'reviewer_already_removed' => 'بالفعل تم ازالته من عملية المراجعة او تم تقديمه للمراجعة', -'reviews_accepted' => '', -'reviews_not_touched' => '', -'reviews_rejected' => '', -'reviews_without_group' => '', -'reviews_without_user' => '', +'reviews_accepted' => 'تم الموافقة على المراجعات', +'reviews_accepted_latest' => '', +'reviews_not_touched' => 'مراجعات غير ملموسة', +'reviews_not_touched_latest' => '', +'reviews_rejected' => 'تم رفض المراجعة', +'reviews_rejected_latest' => '', +'reviews_without_group' => 'مراجعات بلا مجموعة', +'reviews_without_user' => 'مراجعات بلا مستخدم', 'review_deletion_email' => 'طلب المراجعة تم مسحه', -'review_deletion_email_body' => '', -'review_deletion_email_subject' => '', -'review_file' => '', +'review_deletion_email_body' => 'مراجعة البريد الإلكتروني قبل مسحه', +'review_deletion_email_subject' => 'مراجعة موضوع البريد الإلكتروني قبل مسحه', +'review_file' => 'مراجعة ملف', 'review_group' => 'مجموعة المراجعة', -'review_log' => 'ﺲﺠﻟ ﺎﻠﻣﺭﺎﺠﻋﺓ', +'review_log' => 'سجل المراجعة', 'review_request_email' => 'طلب مراجعة', -'review_request_email_body' => '', -'review_request_email_subject' => '', +'review_request_email_body' => 'طلب مراجعة محتوى البريد الإلكتروني', +'review_request_email_subject' => 'طلب مراجعة موضوع البريد الإلكتروني', 'review_status' => 'حالة المراجعة:', 'review_submit_email' => 'تم تقديم المراجعة', 'review_submit_email_body' => 'تم تقديم المراجعة @@ -1003,24 +1024,29 @@ URL: [url]', 'review_submit_email_subject' => '[sitename]: [name] - تم تقديم المراجعة', 'review_summary' => 'ملخص المراجعة', 'review_update_failed' => 'خطأ في تحديث حالة المراجعة. التحديث فشل.', -'revise_document' => '', -'revise_document_on' => '', -'revisions_accepted' => '', -'revisions_not_touched' => '', -'revisions_pending' => '', -'revisions_rejected' => '', -'revisions_without_group' => '', -'revisions_without_user' => '', -'revision_date' => '', -'revision_log' => '', -'revision_request_email_body' => '', -'revision_request_email_subject' => '', -'revision_status' => '', -'revision_submit_email_body' => '', -'revision_submit_email_subject' => '', -'revisors' => '', -'revisor_already_assigned' => '', -'revisor_already_removed' => '', +'revise_document' => 'راجع المستند', +'revise_document_on' => 'راجع المستند على', +'revisions_accepted' => 'تم الموافقة على المراجعات', +'revisions_accepted_latest' => '', +'revisions_not_touched' => 'المراجعات غير ملموسة', +'revisions_not_touched_latest' => '', +'revisions_pending' => 'المراجعات قيد الإنتظار', +'revisions_pending_latest' => '', +'revisions_rejected' => 'تم رفض المراجعات', +'revisions_rejected_latest' => '', +'revisions_without_group' => 'مراجعات بلا مجموعة', +'revisions_without_user' => 'مراجعات بلا مستخدم', +'revision_date' => 'تاريخ المراجعة', +'revision_log' => 'سجل المراجعة', +'revision_request_email_body' => 'طلب مراجعة محتوى البريد الإلكتروني', +'revision_request_email_subject' => 'طلب مراجعة موضوع البريد الإلكتروني', +'revision_status' => 'حالة المراجعة', +'revision_submit_email_body' => 'تم تقديم مراجعة محتوى البريد الإلكتروني', +'revision_submit_email_subject' => 'تم تقديم مراجعة موضوع البريد الإلكتروني', +'revision_summary' => '', +'revisors' => 'المراجعين', +'revisor_already_assigned' => 'تم تعيين المراجع', +'revisor_already_removed' => 'تم إزالة المراجع', 'rewind_workflow' => 'اعادة بدء مسار العمل', 'rewind_workflow_email_body' => 'اعادة بدء مسار العمل المستند: [name] @@ -1032,21 +1058,21 @@ URL: [url]', 'rewind_workflow_email_subject' => '[sitename]: [name] - اعادة بدء مسار العمل', 'rewind_workflow_warning' => 'لو قمت باعادة تشغيل مسار العمل لحالته الاصلية، سيتم مسح سجلات مسار العمل للمستند ولايمكن استعادته', 'rm_attrdef' => 'ازالة تعريف سمة', -'rm_attrdefgroup' => '', -'rm_attr_value' => '', +'rm_attrdefgroup' => 'ازالة تعريف سمة المجموعة', +'rm_attr_value' => 'ازالة سمة الرقم', 'rm_default_keyword_category' => 'ازالة القسم', 'rm_document' => 'ازالة المستند', 'rm_document_category' => 'ازالة القسم', -'rm_event' => '', +'rm_event' => 'ازالة هدف', 'rm_file' => 'ازالة الملف', 'rm_folder' => 'ازالة المجلد', 'rm_from_clipboard' => 'ازالة من لوحة القصاصات', 'rm_group' => 'ازالة هذه المجموعة', -'rm_role' => '', -'rm_transmittal' => '', -'rm_transmittalitem' => '', +'rm_role' => 'ازالة دور', +'rm_transmittal' => 'ازالة محول', +'rm_transmittalitem' => 'ازالة حاجة المحول', 'rm_user' => 'ازالة هذا المستخدم', -'rm_user_from_processes' => '', +'rm_user_from_processes' => 'ازالة مستخدم من العمليات', 'rm_version' => 'ازالة اصدار', 'rm_workflow' => 'ازالة مسار عمل', 'rm_workflow_action' => 'ازالة اجراء مسار عمل', @@ -1055,12 +1081,12 @@ URL: [url]', 'role' => 'دور', 'role_admin' => 'مدير النظام', 'role_guest' => 'ضيف', -'role_info' => '', -'role_management' => '', -'role_name' => '', -'role_type' => '', +'role_info' => 'دور المعلومات', +'role_management' => 'دور الإدارة', +'role_name' => 'دور الإسم', +'role_type' => 'نوع الدور', 'role_user' => 'مستخدم', -'ro_RO' => 'ﺭﻮﻣﺎﻨﻳﺓ', +'ro_RO' => 'رومانية', 'run_subworkflow' => 'تشغيل مسار عمل فرعي', 'run_subworkflow_email_body' => 'مسار العمل الفرعي بدأ المستند: [name] @@ -1075,603 +1101,617 @@ URL: [url]', 'saturday' => 'السبت', 'saturday_abbr' => 'س', 'save' => 'حفظ', -'scheduler_class' => '', -'scheduler_class_description' => '', -'scheduler_class_parameter' => '', -'scheduler_class_tasks' => '', +'scheduler_class' => 'جدول الصف', +'scheduler_class_description' => 'تفصيل جدول الصف', +'scheduler_class_parameter' => 'معامل جدول الصف', +'scheduler_class_tasks' => 'مهام جدول الصف', 'scheduler_task_mgr' => '', 'search' => 'البحث', 'search_fulltext' => 'بحث في النص الكامل', 'search_in' => 'بحث في', 'search_mode_and' => 'كل الكلمات', -'search_mode_documents' => '', -'search_mode_folders' => '', +'search_mode_documents' => 'وضع البحث عن مستندات', +'search_mode_folders' => 'وضع البحث عن مجلدات', 'search_mode_or' => 'على الاقل كلمة واحدة', 'search_no_results' => 'لا يوجد مستند مطابق للبحث', 'search_query' => 'بحث عن', 'search_report' => 'وجد [doccount] مستند و [foldercount] مجلد في [searchtime] ثانية.', 'search_report_fulltext' => 'وجد [doccount] مستندات', -'search_resultmode' => '', -'search_resultmode_both' => '', +'search_resultmode' => 'وضع نتائج البحث', +'search_resultmode_both' => 'وضع نتائح البحث عن الإثنين', 'search_results' => 'نتائج البحث', 'search_results_access_filtered' => 'نتائج البحث من الممكن ان تحتوى بعد المستندات التى ليس لديك صلاحية اليها', 'search_time' => 'الوقت المتبقي: [time] sec.', 'seconds' => 'ثواني', 'selection' => 'اختيار', -'select_attrdefgrp_show' => '', -'select_attribute_value' => '', +'select_attrdefgrp_show' => 'حدد معرف سمة المجموعة', +'select_attribute_value' => 'اختيار سمة الرقم', 'select_category' => 'اضغط لاختيار قسم', -'select_group' => 'ﺎﺨﺘﻳﺍﺭ ﻢﺠﻣﻮﻋﺓ', +'select_group' => 'اختيار مجموعة', 'select_groups' => 'اضغط لاختيار مجموعة', 'select_grp_approvers' => 'اضغط لاختيار مجموعة الموافقون', -'select_grp_ind_approvers' => '', -'select_grp_ind_notification' => '', -'select_grp_ind_recipients' => '', -'select_grp_ind_reviewers' => '', -'select_grp_ind_revisors' => '', -'select_grp_notification' => 'ﺎﻨﻗﺭ ﻼﺨﺘﻳﺍﺭ ﺍﻼﺸﻋﺍﺭ ﻞﻤﺠﻣﻮﻋﺓ', -'select_grp_recipients' => '', +'select_grp_ind_approvers' => 'اختيار مجموعة موافقين', +'select_grp_ind_notification' => 'اختيار مجموعة اشعارات', +'select_grp_ind_recipients' => 'اختيار مجموعة مستلمين', +'select_grp_ind_reviewers' => 'اختيار مجموعة مراجعين', +'select_grp_ind_revisors' => 'اختيار مجموعة مراجعين', +'select_grp_notification' => 'اضغط لإختيار مجموعة الشعارات', +'select_grp_recipients' => 'اختيار مجموعة مستلمين', 'select_grp_reviewers' => 'اضغط لاختيار مجموعة المراجعون', -'select_grp_revisors' => '', +'select_grp_revisors' => 'اختيار مجموعة مراجعين', 'select_ind_approvers' => 'اضغط لاختيار موافق فردي', -'select_ind_notification' => 'ﺎﻨﻗﺭ ﻼﺨﺘﻳﺍﺭ ﺍﻼﺸﻋﺍﺭ ﻞﺸﺨﺻ', -'select_ind_recipients' => '', +'select_ind_notification' => 'اضغط لإختيار اشعار فردي', +'select_ind_recipients' => 'اختيار مستلم فردي', 'select_ind_reviewers' => 'اضغط لاختيار مراجع فردي', -'select_ind_revisors' => '', +'select_ind_revisors' => 'اضغط لإختيار مراجعين فرديين', 'select_one' => 'اختر واحد', -'select_user' => 'ﺎﺨﺗﺭ ﻢﺴﺘﺧﺪﻣ', +'select_user' => 'اختر مستخدم', 'select_users' => 'اضغط لاختيار المستخدم', -'select_value' => 'ﺎﺨﺗﺭ ﺎﻠﻘﻴﻣﺓ ﺮﺟﺍﺀً', +'select_value' => 'ًاختار قيمة', 'select_workflow' => 'اختر مسار العمل', -'send_email' => '', -'send_login_data' => '', -'send_login_data_body' => '', -'send_login_data_subject' => '', -'send_test_mail' => '', +'send_email' => 'بعث بريد الكتروني', +'send_login_data' => 'ارسل بيانات تسجيل الدخول', +'send_login_data_body' => 'ارسل محتوى بيانات تسجيل الدخول', +'send_login_data_subject' => 'ارسل موضوع بيانات تسجيل الدخول', +'send_test_mail' => 'ارسل رسالة تجريبية', 'september' => 'سبتمبر', 'sequence' => 'تتابع', 'seq_after' => 'بعد "[prevname]"', 'seq_end' => 'في الاخر', 'seq_keep' => 'حافظ على المرتبة', 'seq_start' => 'اول مرتبة', -'sessions' => '', -'setDateFromFile' => '', -'setDateFromFolder' => '', +'sessions' => 'صفوف', +'setDateFromFile' => 'وضع تاريخ من الملف', +'setDateFromFolder' => 'تحديد التاريخ من المجلد', 'settings' => 'الإعدادات', 'settings_activate_module' => 'Activate module', 'settings_activate_php_extension' => 'Activate PHP extension', 'settings_adminIP' => 'Admin IP', -'settings_adminIP_desc' => '', +'settings_adminIP_desc' => 'ِAdmin IP', 'settings_Advanced' => 'متقدم', -'settings_advancedAcl' => '', -'settings_advancedAcl_desc' => '', -'settings_allowChangeRevAppInProcess' => '', -'settings_allowChangeRevAppInProcess_desc' => '', -'settings_allowReviewerOnly' => '', -'settings_allowReviewerOnly_desc' => '', +'settings_advancedAcl' => 'متقدم', +'settings_advancedAcl_desc' => 'متقدم', +'settings_allowChangeRevAppInProcess' => 'السماح بتغيير التطبيق في العملية', +'settings_allowChangeRevAppInProcess_desc' => 'السماح بتغيير التطبيق في العملية', +'settings_allowReviewerOnly' => 'السماح بالمراجع فقط', +'settings_allowReviewerOnly_desc' => 'السماح بالمراجع فقط', 'settings_apache_mod_rewrite' => 'Apache - Module Rewrite', -'settings_Authentication' => '', -'settings_autoLoginUser' => '', -'settings_autoLoginUser_desc' => '', -'settings_available_languages' => '', -'settings_available_languages_desc' => '', -'settings_backupDir' => '', -'settings_backupDir_desc' => '', -'settings_cacheDir' => '', -'settings_cacheDir_desc' => '', +'settings_Authentication' => 'المصادقة', +'settings_autoLoginUser' => 'تسجيل الدخول التلقائي', +'settings_autoLoginUser_desc' => 'تسجيل الدخول التلقائي', +'settings_available_languages' => 'اللغات الموجودة', +'settings_available_languages_desc' => 'اللغات الموجودة', +'settings_backupDir' => 'backupDir', +'settings_backupDir_desc' => 'backupDir', +'settings_cacheDir' => 'cacheDir', +'settings_cacheDir_desc' => 'cacheDir', 'settings_Calendar' => 'اعدادات التقويم', 'settings_calendarDefaultView' => 'العرض الافتراضي للتقويم', 'settings_calendarDefaultView_desc' => 'العرض الافتراضي للتقويم', -'settings_cannot_disable' => '', -'settings_checkOutDir' => '', -'settings_checkOutDir_desc' => '', -'settings_cmdTimeout' => '', -'settings_cmdTimeout_desc' => '', +'settings_cannot_disable' => 'لا يمكن التعطيل', +'settings_checkOutDir' => 'checkOutDir', +'settings_checkOutDir_desc' => 'checkOutDir', +'settings_cmdTimeout' => 'انتهاء مدة cmd', +'settings_cmdTimeout_desc' => 'انتهاء مدة cmd', 'settings_contentDir' => 'مجلد المحتوى', -'settings_contentDir_desc' => '', -'settings_contentOffsetDir' => '', -'settings_contentOffsetDir_desc' => '', -'settings_convertToPdf' => '', -'settings_convertToPdf_desc' => '', -'settings_cookieLifetime' => '', -'settings_cookieLifetime_desc' => '', -'settings_coreDir' => '', -'settings_coreDir_desc' => '', -'settings_createCheckOutDir' => '', -'settings_createCheckOutDir_desc' => '', -'settings_createdatabase' => '', -'settings_createdirectory' => '', -'settings_currentvalue' => '', -'settings_Database' => '', -'settings_dbDatabase' => '', -'settings_dbDatabase_desc' => '', -'settings_dbDriver' => '', -'settings_dbDriver_desc' => '', -'settings_dbHostname' => '', -'settings_dbHostname_desc' => '', -'settings_dbPass' => '', -'settings_dbPass_desc' => '', -'settings_dbUser' => '', -'settings_dbUser_desc' => '', -'settings_dbVersion' => '', -'settings_defaultAccessDocs' => '', -'settings_defaultAccessDocs_desc' => '', -'settings_defaultDocPosition' => '', -'settings_defaultDocPosition_desc' => '', -'settings_defaultDocPosition_val_end' => '', -'settings_defaultDocPosition_val_start' => '', -'settings_defaultSearchMethod' => '', -'settings_defaultSearchMethod_desc' => '', -'settings_defaultSearchMethod_valdatabase' => '', -'settings_defaultSearchMethod_valfulltext' => '', -'settings_delete_install_folder' => '', -'settings_disableSelfEdit' => '', -'settings_disableSelfEdit_desc' => '', -'settings_disable_install' => '', +'settings_contentDir_desc' => 'محتوى المجلد', +'settings_contentOffsetDir' => 'محتوى المجلد', +'settings_contentOffsetDir_desc' => 'محتوى المجلد', +'settings_convertToPdf' => 'تحويل الى pdf', +'settings_convertToPdf_desc' => 'تحويل الى pdf', +'settings_cookieLifetime' => 'ملف تعريف الارتباط', +'settings_cookieLifetime_desc' => 'ملف تعريف الارتباط', +'settings_coreDir' => 'coreDir', +'settings_coreDir_desc' => 'coreDir', +'settings_createCheckOutDir' => 'اختراع سحب', +'settings_createCheckOutDir_desc' => 'اختراع سحب', +'settings_createdatabase' => 'اختراح بيانات', +'settings_createdirectory' => 'انشاء دليل', +'settings_currentvalue' => 'القيمة الحالية', +'settings_Database' => 'قاعدة البيانات', +'settings_dbDatabase' => 'قاعدة البيانات', +'settings_dbDatabase_desc' => 'قاعدة البيانات', +'settings_dbDriver' => 'القرص', +'settings_dbDriver_desc' => 'القرص', +'settings_dbHostname' => 'اسم المضيف', +'settings_dbHostname_desc' => 'اسم المضيف', +'settings_dbPass' => 'كلمة السر', +'settings_dbPass_desc' => 'كلمة السر', +'settings_dbUser' => 'مستخدم', +'settings_dbUser_desc' => 'مستخدم', +'settings_dbVersion' => 'إصدار', +'settings_defaultAccessDocs' => 'مستندات الوصول الافتراضية', +'settings_defaultAccessDocs_desc' => 'مستندات الوصول الافتراضية', +'settings_defaultDocPosition' => 'الموقف الافتراضي للوثيقة', +'settings_defaultDocPosition_desc' => 'الموقف الافتراضي للوثيقة', +'settings_defaultDocPosition_val_end' => 'الموقف الافتراضي للوثيقة نهاية القيمة', +'settings_defaultDocPosition_val_start' => 'الموقف الافتراضي للوثيقة بداية القيمة', +'settings_defaultSearchMethod' => 'طريقة البحث الافتراضية', +'settings_defaultSearchMethod_desc' => 'طريقة البحث الافتراضية', +'settings_defaultSearchMethod_valdatabase' => 'طريقة البحث الافتراضية في قاعدة البيانات', +'settings_defaultSearchMethod_valfulltext' => 'طريقة البحث الافتراضية في جمل كاملة', +'settings_delete_install_folder' => 'مسح مثبت المجلد', +'settings_disableSelfEdit' => 'تعطيل التحرير الذاتي', +'settings_disableSelfEdit_desc' => 'تعطيل التحرير الذاتي', +'settings_disable_install' => 'تعطيل التثبيت', 'settings_Display' => 'اعدادات العرض', -'settings_dropFolderDir' => '', -'settings_dropFolderDir_desc' => '', +'settings_dropFolderDir' => 'dropFolderDir', +'settings_dropFolderDir_desc' => 'dropFolderDir', 'settings_Edition' => 'اعدادات التحرير', -'settings_editOnlineFileTypes' => '', -'settings_editOnlineFileTypes_desc' => '', -'settings_enable2FactorAuthentication' => '', -'settings_enable2FactorAuthentication_desc' => '', -'settings_enableAcknowledgeWorkflow' => '', -'settings_enableAcknowledgeWorkflow_desc' => '', -'settings_enableAdminReceipt' => '', -'settings_enableAdminReceipt_desc' => '', -'settings_enableAdminRevApp' => '', -'settings_enableAdminRevApp_desc' => '', -'settings_enableCalendar' => '', -'settings_enableCalendar_desc' => '', -'settings_enableClipboard' => '', -'settings_enableClipboard_desc' => '', -'settings_enableConverting' => '', -'settings_enableConverting_desc' => '', -'settings_enableDropFolderList' => '', -'settings_enableDropFolderList_desc' => '', -'settings_enableDropUpload' => '', -'settings_enableDropUpload_desc' => '', -'settings_enableDuplicateDocNames' => '', +'settings_editOnlineFileTypes' => 'تحرير أنواع الملفات على الإنترنت', +'settings_editOnlineFileTypes_desc' => 'تحرير أنواع الملفات على الإنترنت', +'settings_enable2FactorAuthentication' => 'تمكين عامل المصادقة الثنائي', +'settings_enable2FactorAuthentication_desc' => 'تمكين عامل المصادقة الثنائي', +'settings_enableAcknowledgeWorkflow' => 'تمكين سير العمل المعترف به', +'settings_enableAcknowledgeWorkflow_desc' => 'تمكين سير العمل المعترف به', +'settings_enableAdminReceipt' => 'تمكين استلام المسؤول', +'settings_enableAdminReceipt_desc' => 'تمكين استلام المسؤول', +'settings_enableAdminRevApp' => 'تمكين المسؤول من مراجعة التطبيق', +'settings_enableAdminRevApp_desc' => 'تمكين المسؤول من مراجعة التطبيق', +'settings_enableCalendar' => 'تمكين التقويم', +'settings_enableCalendar_desc' => 'تمكين التقويم', +'settings_enableClipboard' => 'تمكين الحافظة', +'settings_enableClipboard_desc' => 'تمكين الحافظة', +'settings_enableConverting' => 'تمكين التحويل', +'settings_enableConverting_desc' => 'تمكين التحويل', +'settings_enableDropFolderList' => 'تمكين إسقاط قائمة المجلدات', +'settings_enableDropFolderList_desc' => 'تمكين إسقاط قائمة المجلدات', +'settings_enableDropUpload' => 'تمكين التحميل السريع', +'settings_enableDropUpload_desc' => 'تمكين التحميل السريع', +'settings_enableDuplicateDocNames' => 'تمكين أسماء مكررة للوثيقة', 'settings_enableDuplicateDocNames_desc' => 'Allows to have duplicate document names in a folder.', -'settings_enableDuplicateSubFolderNames' => '', -'settings_enableDuplicateSubFolderNames_desc' => '', -'settings_enableEmail' => '', -'settings_enableEmail_desc' => 'Enable/disable automatic email notification', -'settings_enableFilterReceipt' => '', -'settings_enableFilterReceipt_desc' => '', -'settings_enableFolderTree' => '', -'settings_enableFolderTree_desc' => '', +'settings_enableDuplicateSubFolderNames' => 'تمكين أسماء مكررة للمجلدات الفرعية', +'settings_enableDuplicateSubFolderNames_desc' => 'تمكين أسماء مكررة للمجلدات الفرعية', +'settings_enableEmail' => 'تمكين البريد الإلكتروني', +'settings_enableEmail_desc' => 'تمكين البريد الإلكتروني', +'settings_enableFilterReceipt' => 'تمكين الاستلام حسب الفلتر', +'settings_enableFilterReceipt_desc' => 'تمكين الاستلام حسب الفلتر', +'settings_enableFolderTree' => 'تمكين شجرة المجلد', +'settings_enableFolderTree_desc' => 'تمكين شجرة المجلد', 'settings_enableFullSearch' => 'تفعيل البحث بالنص الكامل', 'settings_enableFullSearch_desc' => 'تفعيل البحث بالنص الكامل', -'settings_enableGuestAutoLogin' => '', -'settings_enableGuestAutoLogin_desc' => '', -'settings_enableGuestLogin' => '', -'settings_enableGuestLogin_desc' => '', -'settings_enableHelp' => '', -'settings_enableHelp_desc' => '', -'settings_enableLanguageSelector' => '', -'settings_enableLanguageSelector_desc' => 'Show selector for user interface language after being logged in.', -'settings_enableLargeFileUpload' => 'Enable large file upload', -'settings_enableLargeFileUpload_desc' => '', -'settings_enableMenuTasks' => '', -'settings_enableMenuTasks_desc' => '', -'settings_enableMultiUpload' => '', -'settings_enableMultiUpload_desc' => '', -'settings_enableNotificationAppRev' => '', -'settings_enableNotificationAppRev_desc' => '', -'settings_enableNotificationWorkflow' => '', -'settings_enableNotificationWorkflow_desc' => '', -'settings_enableOwnerNotification' => '', -'settings_enableOwnerNotification_desc' => '', -'settings_enableOwnerReceipt' => '', -'settings_enableOwnerReceipt_desc' => '', -'settings_enableOwnerRevApp' => '', -'settings_enableOwnerRevApp_desc' => '', -'settings_enablePasswordForgotten' => '', -'settings_enablePasswordForgotten_desc' => '', -'settings_enableReceiptReject' => '', -'settings_enableReceiptReject_desc' => '', -'settings_enableReceiptWorkflow' => '', -'settings_enableReceiptWorkflow_desc' => '', -'settings_enableRecursiveCount' => '', -'settings_enableRecursiveCount_desc' => '', -'settings_enableRevisionOnVoteReject' => '', -'settings_enableRevisionOnVoteReject_desc' => '', -'settings_enableRevisionWorkflow' => '', -'settings_enableRevisionWorkflow_desc' => '', -'settings_enableSelfReceipt' => '', -'settings_enableSelfReceipt_desc' => '', -'settings_enableSelfRevApp' => '', -'settings_enableSelfRevApp_desc' => '', -'settings_enableSessionList' => '', -'settings_enableSessionList_desc' => '', -'settings_enableThemeSelector' => '', -'settings_enableThemeSelector_desc' => '', -'settings_enableUpdateReceipt' => '', -'settings_enableUpdateReceipt_desc' => '', -'settings_enableUpdateRevApp' => '', -'settings_enableUpdateRevApp_desc' => '', -'settings_enableUserImage' => '', -'settings_enableUserImage_desc' => '', -'settings_enableUsersView' => '', -'settings_enableUsersView_desc' => '', -'settings_enableVersionDeletion' => '', -'settings_enableVersionDeletion_desc' => '', -'settings_enableVersionModification' => '', -'settings_enableVersionModification_desc' => '', -'settings_enableWebdavReplaceDoc' => '', -'settings_enableWebdavReplaceDoc_desc' => '', -'settings_enableXsendfile' => '', -'settings_enableXsendfile_desc' => '', -'settings_encryptionKey' => '', -'settings_encryptionKey_desc' => '', +'settings_enableGuestAutoLogin' => 'تمكين تسجيل دخول ضيف تلقائي', +'settings_enableGuestAutoLogin_desc' => 'تمكين تسجيل دخول ضيف تلقائي', +'settings_enableGuestLogin' => 'تمكين دخول ضيف', +'settings_enableGuestLogin_desc' => 'تمكين دخول ضيف', +'settings_enableHelp' => 'تمكين المساعدة', +'settings_enableHelp_desc' => 'تمكين المساعدة', +'settings_enableLanguageSelector' => 'تمكين تحديد اللغة', +'settings_enableLanguageSelector_desc' => 'تمكين تحديد اللغة', +'settings_enableLargeFileUpload' => 'تمكين تحميل الملفات الكبيرة', +'settings_enableLargeFileUpload_desc' => 'تمكين تحميل الملفات الكبيرة', +'settings_enableMenuTasks' => 'تمكين مهام القائمة', +'settings_enableMenuTasks_desc' => 'تمكين مهام القائمة', +'settings_enableMultiUpload' => 'تمكين تحميل متعدد', +'settings_enableMultiUpload_desc' => 'تمكين تحميل متعدد', +'settings_enableNotificationAppRev' => 'تمكيين اشعارات لمراجعة التطبيق', +'settings_enableNotificationAppRev_desc' => 'تمكيين اشعارات لمراجعة التطبيق', +'settings_enableNotificationWorkflow' => 'تمكيين اشعار لسير العمل', +'settings_enableNotificationWorkflow_desc' => 'تمكيين اشعار لسير العمل', +'settings_enableOwnerNotification' => 'تمكين إشعار المالك', +'settings_enableOwnerNotification_desc' => 'تمكين إشعار المالك', +'settings_enableOwnerReceipt' => 'تمكين استلام المالك', +'settings_enableOwnerReceipt_desc' => 'تمكين استلام المالك', +'settings_enableOwnerRevApp' => 'تمكين المالك من مراجعة التطبيق', +'settings_enableOwnerRevApp_desc' => 'تمكين المالك من مراجعة التطبيق', +'settings_enablePasswordForgotten' => 'تمكين نسيان كلمة المرور', +'settings_enablePasswordForgotten_desc' => 'تمكين نسيان كلمة المرور', +'settings_enableReceiptReject' => 'تمكين رفض الاستلام', +'settings_enableReceiptReject_desc' => 'تمكين رفض الاستلام', +'settings_enableReceiptWorkflow' => 'تمكين استلام سير العمل', +'settings_enableReceiptWorkflow_desc' => 'تمكين استلام سير العمل', +'settings_enableRecursiveCount' => 'تمكين عدد المستندات / المجلدات العودية', +'settings_enableRecursiveCount_desc' => 'تمكين عدد المستندات / المجلدات العودية', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => 'تمكين رفض مراجعة التصويت', +'settings_enableRevisionOnVoteReject_desc' => 'تمكين رفض مراجعة التصويت', +'settings_enableRevisionWorkflow' => 'تمكين مراجعة سير العمل', +'settings_enableRevisionWorkflow_desc' => 'تمكين مراجعة سير العمل', +'settings_enableSelfReceipt' => 'تمكين الاستلام الذاتي', +'settings_enableSelfReceipt_desc' => 'تمكين الاستلام الذاتي', +'settings_enableSelfRevApp' => 'تمكيين المراجعة الذاتية للتطبيق', +'settings_enableSelfRevApp_desc' => 'تمكيين المراجعة الذاتية للتطبيق', +'settings_enableSessionList' => 'تمكين قائمة الجلسة', +'settings_enableSessionList_desc' => 'تمكين قائمة الجلسة', +'settings_enableThemeSelector' => 'تمكين سمة محددة', +'settings_enableThemeSelector_desc' => 'تمكين سمة محددة', +'settings_enableUpdateReceipt' => 'تمكين تحديث الاستلام', +'settings_enableUpdateReceipt_desc' => 'تمكين تحديث الاستلام', +'settings_enableUpdateRevApp' => 'تمكين تحديث مراجعة التطبيق', +'settings_enableUpdateRevApp_desc' => 'تمكين تحديث مراجعة التطبيق', +'settings_enableUserImage' => 'تمكين صورة المستخدم', +'settings_enableUserImage_desc' => 'تمكين صورة المستخدم', +'settings_enableUsersView' => 'تمكين واجهة المستخدم', +'settings_enableUsersView_desc' => 'تمكين واجهة المستخدم', +'settings_enableVersionDeletion' => 'تمكين حذف اصدارات مسبقة', +'settings_enableVersionDeletion_desc' => 'تمكين حذف اصدارات مسبقة', +'settings_enableVersionModification' => 'تمكين تعديل الإصدار', +'settings_enableVersionModification_desc' => 'تمكين تعديل الإصدار', +'settings_enableWebdavReplaceDoc' => 'webdav بالمستند تمكين استبدال', +'settings_enableWebdavReplaceDoc_desc' => 'webdav بالمستند تمكين استبدال', +'settings_enableXsendfile' => 'تمكين إرسال الملف', +'settings_enableXsendfile_desc' => 'تمكين إرسال الملف', +'settings_encryptionKey' => 'مفتاح التشفير', +'settings_encryptionKey_desc' => 'مفتاح التشفير', 'settings_error' => 'خطأ', -'settings_expandFolderTree' => '', -'settings_expandFolderTree_desc' => 'Expand Folder Tree', -'settings_expandFolderTree_val0' => '', -'settings_expandFolderTree_val1' => '', -'settings_expandFolderTree_val2' => '', -'settings_Extensions' => 'ﺎﻠﻤﻠﺤﻗﺎﺗ', -'settings_extraPath' => '', -'settings_extraPath_desc' => '', -'settings_firstDayOfWeek' => '', -'settings_firstDayOfWeek_desc' => '', -'settings_footNote' => '', -'settings_footNote_desc' => '', -'settings_fullSearchEngine' => '', -'settings_fullSearchEngine_desc' => '', +'settings_expandFolderTree' => 'قم بتوسيع شجرة المجلد', +'settings_expandFolderTree_desc' => 'قم بتوسيع شجرة المجلد', +'settings_expandFolderTree_val0' => 'قم بتوسيع شجرة المجلد قيمة0', +'settings_expandFolderTree_val1' => 'قم بتوسيع شجرة المجلد قيمة1', +'settings_expandFolderTree_val2' => 'قم بتوسيع شجرة المجلد قيمة2', +'settings_Extensions' => 'الملحقات', +'settings_extraPath' => 'مسار اضافي', +'settings_extraPath_desc' => 'مسار اضافي', +'settings_firstDayOfWeek' => 'اول يوم في الأسبوع', +'settings_firstDayOfWeek_desc' => 'اول يوم في الأسبوع', +'settings_footNote' => 'رابط', +'settings_footNote_desc' => 'رابط', +'settings_fullSearchEngine' => 'محرك البحث الكامل', +'settings_fullSearchEngine_desc' => 'محرك البحث الكامل', 'settings_fullSearchEngine_vallucene' => 'Zend Lucene', -'settings_fullSearchEngine_valsqlitefts' => 'SQLiteFTS', -'settings_guestID' => '', -'settings_guestID_desc' => '', -'settings_httpRoot' => '', -'settings_httpRoot_desc' => '', -'settings_incItemsPerPage' => '', -'settings_incItemsPerPage_desc' => '', -'settings_initialDocumentStatus' => '', -'settings_initialDocumentStatus_desc' => '', -'settings_initialDocumentStatus_draft' => '', -'settings_initialDocumentStatus_released' => '', -'settings_installADOdb' => '', -'settings_install_disabled' => '', -'settings_install_pear_package_log' => '', -'settings_install_pear_package_webdav' => '', -'settings_install_success' => '', -'settings_install_welcome_text' => '', -'settings_install_welcome_title' => '', -'settings_install_zendframework' => '', -'settings_language' => '', -'settings_language_desc' => '', -'settings_libraryFolder' => '', -'settings_libraryFolder_desc' => '', -'settings_logFileEnable' => '', -'settings_logFileEnable_desc' => '', -'settings_logFileRotation' => '', -'settings_logFileRotation_desc' => '', -'settings_loginFailure' => 'Login failure', -'settings_loginFailure_desc' => '', -'settings_luceneClassDir' => '', -'settings_luceneClassDir_desc' => '', -'settings_luceneDir' => '', -'settings_luceneDir_desc' => '', -'settings_maxDirID' => '', -'settings_maxDirID_desc' => '', -'settings_maxExecutionTime' => '', -'settings_maxExecutionTime_desc' => '', -'settings_maxItemsPerPage' => '', -'settings_maxItemsPerPage_desc' => '', -'settings_maxRecursiveCount' => '', -'settings_maxRecursiveCount_desc' => '', -'settings_maxSizeForFullText' => '', -'settings_maxSizeForFullText_desc' => '', -'settings_maxUploadSize' => '', -'settings_maxUploadSize_desc' => '', -'settings_more_settings' => '', -'settings_notfound' => '', -'settings_Notification' => '', -'settings_notwritable' => 'ﻻ ﻲﻤﻜﻧ ﺢﻔﻇ ﺎﻠﺘﻛﻮﻴﻧ ﻸﻧ ﻢﻠﻓ ﺎﻠﺘﻛﻮﻴﻧ ﻎﻳﺭ ﻕﺎﺒﻟ ﻞﻠﻜﺗﺎﺑﺓ', -'settings_no_content_dir' => '', -'settings_overrideMimeType' => '', -'settings_overrideMimeType_desc' => '', -'settings_partitionSize' => '', -'settings_partitionSize_desc' => '', -'settings_passwordExpiration' => 'Password expiration', -'settings_passwordExpiration_desc' => '', -'settings_passwordHistory' => '', -'settings_passwordHistory_desc' => '', -'settings_passwordStrength' => '', -'settings_passwordStrengthAlgorithm' => '', -'settings_passwordStrengthAlgorithm_desc' => '', -'settings_passwordStrengthAlgorithm_valadvanced' => '', -'settings_passwordStrengthAlgorithm_valsimple' => '', -'settings_passwordStrength_desc' => '', -'settings_pear_log' => '', -'settings_pear_webdav' => '', -'settings_perms' => '', +'settings_fullSearchEngine_valsqlitefts' => 'SQLITEFTS', +'settings_guestID' => 'معرف الضيف', +'settings_guestID_desc' => 'معرف الضيف', +'settings_httpRoot' => 'httpRoot', +'settings_httpRoot_desc' => 'httpRoot', +'settings_incItemsPerPage' => 'زيادة العناصر في الصفحة', +'settings_incItemsPerPage_desc' => 'زيادة العناصر في الصفحة', +'settings_initialDocumentStatus' => 'حالة المستند الأولي', +'settings_initialDocumentStatus_desc' => 'حالة المستند الأولي', +'settings_initialDocumentStatus_draft' => 'حالة المستند الأولي, المسودة', +'settings_initialDocumentStatus_released' => 'حالة المستند الأولي, صدر', +'settings_installADOdb' => 'تثبيت ADOdb', +'settings_install_disabled' => 'توقيف المثبت', +'settings_install_pear_package_log' => 'تثبيت سجل الحزمة', +'settings_install_pear_package_webdav' => 'تثبيت سجل الحزمة', +'settings_install_success' => 'تم التثبيت بنجاح', +'settings_install_welcome_text' => 'تثبيت نص الترحيب', +'settings_install_welcome_title' => 'تثبيت عنوان الترحيب', +'settings_install_zendframework' => 'تثبيت إطار زند', +'settings_language' => 'اللغة', +'settings_language_desc' => 'اللغة', +'settings_libraryFolder' => 'مجلد المكتبة', +'settings_libraryFolder_desc' => 'مجلد المكتبة', +'settings_logFileEnable' => 'تمكين سجل الملف', +'settings_logFileEnable_desc' => 'تمكين سجل الملف', +'settings_logFileRotation' => 'سجل ملف التناوب', +'settings_logFileRotation_desc' => 'سجل ملف التناوب', +'settings_loginFailure' => 'فشل في تسجيل الدخول', +'settings_loginFailure_desc' => 'فشل في تسجيل الدخول', +'settings_luceneClassDir' => 'luceneClassDir', +'settings_luceneClassDir_desc' => 'luceneClassDir', +'settings_luceneDir' => 'luceneDir', +'settings_luceneDir_desc' => 'luceneDir', +'settings_maxDirID' => 'maxDirID', +'settings_maxDirID_desc' => 'maxDirID', +'settings_maxExecutionTime' => 'الحد الأقصى لوقت التنفيذ', +'settings_maxExecutionTime_desc' => 'الحد الأقصى لوقت التنفيذ', +'settings_maxItemsPerPage' => 'الحد الأقصى للعناصر في كل صفحة', +'settings_maxItemsPerPage_desc' => 'الحد الأقصى للعناصر في كل صفحة', +'settings_maxRecursiveCount' => 'الحد الأقصى لتكرارية العد', +'settings_maxRecursiveCount_desc' => 'الحد الأقصى لتكرارية العد', +'settings_maxSizeForFullText' => 'الحد الأقصى لحجم النص الكامل', +'settings_maxSizeForFullText_desc' => 'الحد الأقصى لحجم النص الكامل', +'settings_maxUploadSize' => 'الحد الأقصى لتحميل الحجم', +'settings_maxUploadSize_desc' => 'الحد الأقصى لتحميل الحجم', +'settings_more_settings' => 'المزيد من الإعدادات', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', +'settings_notfound' => 'غير موجود', +'settings_Notification' => 'اشعار', +'settings_notwritable' => 'غير قابل للكتابة', +'settings_no_content_dir' => 'no content dir', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', +'settings_overrideMimeType' => 'تجاوز نوع الملف', +'settings_overrideMimeType_desc' => 'تجاوز نوع الملف', +'settings_partitionSize' => 'حجم القسم', +'settings_partitionSize_desc' => 'حجم القسم', +'settings_passwordExpiration' => 'انتهاء صلاحية كلمة المرور', +'settings_passwordExpiration_desc' => 'انتهاء صلاحية كلمة المرور', +'settings_passwordHistory' => 'تاريخ كلمة السر', +'settings_passwordHistory_desc' => 'تاريخ كلمة السر', +'settings_passwordStrength' => 'قوة كلمة السر', +'settings_passwordStrengthAlgorithm' => 'قوة كلمة السر الخوارزمية', +'settings_passwordStrengthAlgorithm_desc' => 'قوة كلمة السر الخوارزمية', +'settings_passwordStrengthAlgorithm_valadvanced' => 'قوة كلمة السر الخوارزمية, القيمة متطورة', +'settings_passwordStrengthAlgorithm_valsimple' => 'قوة كلمة السر الخوارزمية, القيمة عادية', +'settings_passwordStrength_desc' => 'قوة كلمة السر', +'settings_pear_log' => 'سجل', +'settings_pear_webdav' => 'webdav', +'settings_perms' => 'perms', 'settings_php_dbDriver' => 'PHP extension : php_\'see current value\'', 'settings_php_gd2' => 'PHP extension : php_gd2', 'settings_php_mbstring' => 'PHP extension : php_mbstring', -'settings_php_version' => '', -'settings_presetExpirationDate' => '', -'settings_presetExpirationDate_desc' => '', -'settings_previewWidthDetail' => '', -'settings_previewWidthDetail_desc' => '', -'settings_previewWidthDropFolderList' => '', -'settings_previewWidthDropFolderList_desc' => '', -'settings_previewWidthList' => '', -'settings_previewWidthList_desc' => '', -'settings_previewWidthMenuList' => '', -'settings_previewWidthMenuList_desc' => '', -'settings_printDisclaimer' => '', -'settings_printDisclaimer_desc' => '', -'settings_quota' => '', -'settings_quota_desc' => '', -'settings_removeFromDropFolder' => '', -'settings_removeFromDropFolder_desc' => '', -'settings_repositoryUrl' => '', -'settings_repositoryUrl_desc' => '', -'settings_restricted' => '', -'settings_restricted_desc' => '', -'settings_rootDir' => '', -'settings_rootDir_desc' => '', -'settings_rootFolderID' => '', -'settings_rootFolderID_desc' => '', -'settings_SaveError' => '', -'settings_Server' => '', -'settings_showFullPreview' => '', -'settings_showFullPreview_desc' => '', -'settings_showMissingTranslations' => '', -'settings_showMissingTranslations_desc' => '', -'settings_showSingleSearchHit' => '', -'settings_showSingleSearchHit_desc' => '', +'settings_php_version' => 'php version', +'settings_presetExpirationDate' => 'تاريخ انتهاء الصلاحية المسبقة', +'settings_presetExpirationDate_desc' => 'تاريخ انتهاء الصلاحية المسبقة', +'settings_previewWidthDetail' => 'عرض معاينة الصور (التفاصيل)', +'settings_previewWidthDetail_desc' => 'عرض معاينة الصور (التفاصيل)', +'settings_previewWidthDropFolderList' => 'عرض معاينة الصور (إسقاط قائمة المجلدات)', +'settings_previewWidthDropFolderList_desc' => 'عرض معاينة الصور (إسقاط قائمة المجلدات):', +'settings_previewWidthList' => 'عرض معاينة الصور (القائمة)', +'settings_previewWidthList_desc' => 'عرض معاينة الصور (القائمة)', +'settings_previewWidthMenuList' => 'عرض معاينة الصور (جدول القائمة)', +'settings_previewWidthMenuList_desc' => ':عرض معاينة الصور (جدول القائمة)', +'settings_printDisclaimer' => 'طباعة تنويه', +'settings_printDisclaimer_desc' => 'طباعة تنويه', +'settings_quota' => 'الحد الاقصى', +'settings_quota_desc' => 'الحد الاقصى', +'settings_removeFromDropFolder' => 'إزالة من مجلد الإسقاط', +'settings_removeFromDropFolder_desc' => 'إزالة من مجلد الإسقاط', +'settings_repositoryUrl' => 'مستودع الرابط', +'settings_repositoryUrl_desc' => 'مستودع الرابط', +'settings_restricted' => 'محدد', +'settings_restricted_desc' => 'محدد', +'settings_rootDir' => 'rootDir', +'settings_rootDir_desc' => 'rootDir', +'settings_rootFolderID' => 'rootFolderID', +'settings_rootFolderID_desc' => 'rootFolderID', +'settings_SaveError' => 'خطأ في الحفظ', +'settings_Server' => 'الخادم', +'settings_showFullPreview' => 'عرض معاينة كاملة', +'settings_showFullPreview_desc' => 'عرض معاينة كاملة', +'settings_showMissingTranslations' => 'اظهار الترجمات المفقودة', +'settings_showMissingTranslations_desc' => 'اظهار الترجمات المفقودة', +'settings_showSingleSearchHit' => 'عرض بحث مفرد', +'settings_showSingleSearchHit_desc' => 'عرض بحث مفرد', 'settings_Site' => 'الموقع', -'settings_siteDefaultPage' => '', -'settings_siteDefaultPage_desc' => '', +'settings_siteDefaultPage' => 'موقع الصفحة الافتراضية', +'settings_siteDefaultPage_desc' => 'موقع الصفحة الافتراضية', 'settings_siteName' => 'اسم الموقع', -'settings_siteName_desc' => '', +'settings_siteName_desc' => 'اسم الموقع', 'settings_SMTP' => 'SMTP Server settings', -'settings_smtpPassword' => '', -'settings_smtpPassword_desc' => '', +'settings_smtpPassword' => 'smtp Password', +'settings_smtpPassword_desc' => 'smtp Password', 'settings_smtpPort' => 'SMTP Server port', -'settings_smtpPort_desc' => '', -'settings_smtpSendFrom' => '', -'settings_smtpSendFrom_desc' => '', -'settings_smtpSendTestMail' => '', -'settings_smtpSendTestMail_desc' => '', -'settings_smtpServer' => '', -'settings_smtpServer_desc' => '', -'settings_smtpUser' => '', -'settings_smtpUser_desc' => '', -'settings_sortFoldersDefault' => '', -'settings_sortFoldersDefault_desc' => '', -'settings_sortFoldersDefault_val_name' => '', -'settings_sortFoldersDefault_val_sequence' => '', -'settings_sortFoldersDefault_val_unsorted' => '', +'settings_smtpPort_desc' => 'SMTP Server port', +'settings_smtpSendFrom' => 'smtp Send From', +'settings_smtpSendFrom_desc' => 'smtp Send From', +'settings_smtpSendTestMail' => 'smtp Send Test Mail', +'settings_smtpSendTestMail_desc' => 'smtp Send Test Mail', +'settings_smtpServer' => 'smtp Server', +'settings_smtpServer_desc' => 'smtp Server', +'settings_smtpUser' => 'smtp User', +'settings_smtpUser_desc' => 'smtp User', +'settings_sortFoldersDefault' => 'فرز المجلدات الافتراضية', +'settings_sortFoldersDefault_desc' => 'فرز المجلدات الافتراضية', +'settings_sortFoldersDefault_val_name' => 'فرز المجلدات الافتراضية, قيمة الإسم', +'settings_sortFoldersDefault_val_sequence' => 'فرز المجلدات الافتراضية, قيمة التراتبية', +'settings_sortFoldersDefault_val_unsorted' => 'فرز المجلدات الافتراضية, غير مرتب', 'settings_sortUsersInList' => 'ترتيب المستخدمين في القائمة', -'settings_sortUsersInList_desc' => '', +'settings_sortUsersInList_desc' => 'ترتيب المستخدمين في القائمة', 'settings_sortUsersInList_val_fullname' => 'ترتيب بالاسم الكامل', 'settings_sortUsersInList_val_login' => 'ترتيب بواسطة الدخول', -'settings_stagingDir' => '', -'settings_stagingDir_desc' => '', -'settings_start_install' => '', -'settings_stopWordsFile' => '', -'settings_stopWordsFile_desc' => '', -'settings_strictFormCheck' => '', -'settings_strictFormCheck_desc' => '', -'settings_suggestionvalue' => '', +'settings_stagingDir' => 'staging Dir', +'settings_stagingDir_desc' => 'staging Dir', +'settings_start_install' => 'بدء التثبيت', +'settings_stopWordsFile' => 'مسار لإيقاف ملف الكلمات', +'settings_stopWordsFile_desc' => 'مسار لإيقاف ملف الكلمات', +'settings_strictFormCheck' => 'فحص نموذج صارم', +'settings_strictFormCheck_desc' => 'فحص نموذج صارم', +'settings_suggestionvalue' => 'قيمة الاقتراح', 'settings_System' => 'نظام', -'settings_tasksInMenu' => '', -'settings_tasksInMenu_approval' => '', -'settings_tasksInMenu_desc' => '', -'settings_tasksInMenu_needscorrection' => '', -'settings_tasksInMenu_receipt' => '', -'settings_tasksInMenu_review' => '', -'settings_tasksInMenu_revision' => '', -'settings_tasksInMenu_workflow' => '', +'settings_tasksInMenu' => 'قائمة المهام', +'settings_tasksInMenu_approval' => 'موافقة قائمة المهام', +'settings_tasksInMenu_desc' => 'قائمة المهام', +'settings_tasksInMenu_needscorrection' => 'قائمة المهام تحتاج إلى تصحيح', +'settings_tasksInMenu_receipt' => 'مستلم قائمة المهام', +'settings_tasksInMenu_review' => 'مراجعة قائمة المهام', +'settings_tasksInMenu_revision' => 'مراجعة قائمة المهام', +'settings_tasksInMenu_workflow' => 'سير عمل قائمة المهام', 'settings_theme' => 'الشكل الافتراضي', -'settings_theme_desc' => '', -'settings_titleDisplayHack' => '', -'settings_titleDisplayHack_desc' => '', -'settings_undelUserIds' => '', -'settings_undelUserIds_desc' => '', -'settings_updateDatabase' => '', +'settings_theme_desc' => 'الشكل الافتراضي', +'settings_titleDisplayHack' => 'عرض العنوان', +'settings_titleDisplayHack_desc' => 'عرض العنوان', +'settings_undelUserIds' => 'undelUserIds', +'settings_undelUserIds_desc' => 'undelUserIds', +'settings_updateDatabase' => 'تطوير قاعدة البيانات', 'settings_updateNotifyTime' => 'تحديث وقت التنبيه', -'settings_updateNotifyTime_desc' => '', -'settings_upgrade_php' => '', +'settings_updateNotifyTime_desc' => 'تحديث وقت التنبيه', +'settings_upgrade_php' => 'تطوير php', 'settings_versioningFileName' => 'اسم ملف الاصدار', -'settings_versioningFileName_desc' => '', -'settings_versiontolow' => '', +'settings_versioningFileName_desc' => 'اسم ملف الاصدار', +'settings_versiontolow' => 'نسخة منخفضة الجودة', 'settings_viewOnlineFileTypes' => 'الملفات التى يمكن عرضها اونلاين', -'settings_viewOnlineFileTypes_desc' => '', -'settings_webdav' => '', +'settings_viewOnlineFileTypes_desc' => 'الملفات التى يمكن عرضها اونلاين', +'settings_webdav' => 'webdav', 'settings_workflowMode' => 'حالة مسار العمل', -'settings_workflowMode_desc' => '', +'settings_workflowMode_desc' => 'حالة مسار العمل', 'settings_workflowMode_valadvanced' => 'متقدم', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'تقليدي', -'settings_workflowMode_valtraditional_only_approval' => '', +'settings_workflowMode_valtraditional_only_approval' => 'تقليدي', 'settings_zendframework' => 'Zend Framework', 'set_expiry' => 'تحديد انتهاء الصلاحية', 'set_owner' => 'تحديد المالك', 'set_owner_error' => 'خطأ في تحديد المالك', 'set_password' => 'تحديد كلمة السر', 'set_workflow' => 'تحديد مسار العمل', -'show_extension_changelog' => '', -'show_extension_version_list' => 'ﺎﻀﻫﺍﺭ ﻕﺎﺌﻣﺓ ﺍﻼﺻﺩﺍﺭﺎﺗ', +'show_extension_changelog' => 'تغيير سجل', +'show_extension_version_list' => 'لائحة الإصدارات', 'signed_in_as' => 'تسجيل الدخول بإسم', 'sign_in' => 'تسجيل الدخول', 'sign_out' => 'تسجيل الخروج', 'sign_out_user' => 'تسجيل خروج مستخدم', +'site_brand' => 'مجلس النواب اللبناني', 'sk_SK' => 'السلوفاكية', -'sort_by_date' => '', -'sort_by_name' => '', -'sort_by_sequence' => '', +'sort_by_date' => 'رتب حسب التاريخ', +'sort_by_name' => 'رتب حسب الإسم', +'sort_by_sequence' => 'رتب حسب التراتبية', 'space_used_on_data_folder' => 'المساحة المستخدمة لمجلد البيانات', -'splash_added_to_clipboard' => 'ﺖﻣ ﺎﻠﻨﺴﺧ ﻒﻳ ﺎﻠﺣﺎﻔﻇﺓ', -'splash_add_access' => '', -'splash_add_attribute' => '', -'splash_add_group' => '', -'splash_add_group_member' => '', -'splash_add_role' => '', -'splash_add_to_transmittal' => '', -'splash_add_transmittal' => '', -'splash_add_user' => '', -'splash_cleared_cache' => '', -'splash_cleared_clipboard' => '', -'splash_delete_access' => '', -'splash_document_added' => '', -'splash_document_checkedout' => '', -'splash_document_edited' => '', -'splash_document_indexed' => '', +'splash_added_to_clipboard' => 'تم النسخ في الحافظة', +'splash_add_access' => 'دفقة إضافة الوصول', +'splash_add_attribute' => 'اضافة سمة', +'splash_add_group' => 'اضافة مجموعة', +'splash_add_group_member' => 'اضافة مستخدم الى المجموعة', +'splash_add_role' => 'اضافة دور', +'splash_add_to_transmittal' => 'اضافة إلى الإحالة', +'splash_add_transmittal' => 'إضافة إحالة', +'splash_add_user' => 'اضافة مستخدم', +'splash_cleared_cache' => 'مسح ذاكرة التخزين المؤقت', +'splash_cleared_clipboard' => 'مسح الحافظة', +'splash_delete_access' => 'حذف الوصول', +'splash_document_added' => 'الوثيقة المضافة', +'splash_document_checkedout' => 'تم سحب المستند', +'splash_document_edited' => 'تم تحرير المستند', +'splash_document_indexed' => 'تم فهرسة المستند', 'splash_document_locked' => 'تم قفل المستند', 'splash_document_unlocked' => 'تم الغاء قفل المستند', -'splash_edit_access' => '', -'splash_edit_attribute' => '', -'splash_edit_event' => '', -'splash_edit_group' => '', -'splash_edit_role' => '', -'splash_edit_task' => '', -'splash_edit_user' => '', -'splash_error_add_to_transmittal' => '', -'splash_error_rm_download_link' => '', -'splash_error_send_download_link' => '', -'splash_extension_getlist' => '', -'splash_extension_import' => '', -'splash_extension_refresh' => '', -'splash_extension_upload' => '', -'splash_folder_edited' => '', -'splash_importfs' => '', -'splash_inherit_access' => '', -'splash_invalid_folder_id' => '', -'splash_invalid_searchterm' => '', -'splash_link_document' => '', -'splash_moved_clipboard' => '', -'splash_move_document' => '', -'splash_move_folder' => '', -'splash_notinherit_access' => '', -'splash_receipt_update_success' => '', -'splash_removed_from_clipboard' => '', -'splash_rm_attribute' => '', -'splash_rm_attr_value' => '', +'splash_edit_access' => 'تحرير الدخول', +'splash_edit_attribute' => 'تحرير السمة', +'splash_edit_event' => 'تحرير الحدث', +'splash_edit_group' => 'تحرير المجموعة', +'splash_edit_role' => 'تحرير الدور', +'splash_edit_task' => 'تحرير المهمة', +'splash_edit_transmittal' => '', +'splash_edit_user' => 'تحرير المستخدم', +'splash_error_add_to_transmittal' => 'خطأ الإضافة إلى الإحالة', +'splash_error_rm_download_link' => 'خطأ في إزالة رابط التنزيل', +'splash_error_send_download_link' => 'خطأ في إرسال رابط التنزيل', +'splash_extension_getlist' => 'قائمة التمديد', +'splash_extension_import' => 'استيراد', +'splash_extension_refresh' => 'تحديث', +'splash_extension_upload' => 'تحميل', +'splash_folder_edited' => 'تحرير مجلد', +'splash_importfs' => 'استيراد', +'splash_inherit_access' => 'يرث الوصول', +'splash_invalid_folder_id' => 'معرف المجلد غير صالح', +'splash_invalid_searchterm' => 'بحث غير صالح', +'splash_link_document' => 'رابط المستند', +'splash_moved_clipboard' => 'انتقلت الحافظة', +'splash_move_document' => 'نقل المستند', +'splash_move_folder' => 'نقل الملف', +'splash_notinherit_access' => 'لا يرث الوصول', +'splash_receipt_update_success' => 'استلام التحديث بنجاح', +'splash_removed_from_clipboard' => 'ازيل من الحافظة', +'splash_rm_attribute' => 'إزالة السمة', +'splash_rm_attr_value' => 'إزالة سمة القيمة', 'splash_rm_document' => 'تم حذف المستند', -'splash_rm_download_link' => '', +'splash_rm_download_link' => 'تم حذف رابط التنزيل', 'splash_rm_folder' => 'تم حذف المجلد', -'splash_rm_group' => '', -'splash_rm_group_member' => '', -'splash_rm_role' => '', -'splash_rm_transmittal' => '', -'splash_rm_user' => '', -'splash_rm_user_processes' => '', -'splash_rm_workflow' => '', -'splash_rm_workflow_action' => '', -'splash_rm_workflow_state' => '', -'splash_saved_file' => '', -'splash_save_user_data' => '', -'splash_send_download_link' => '', -'splash_send_login_data' => '', -'splash_setowner' => '', -'splash_settings_saved' => '', -'splash_set_default_access' => '', -'splash_substituted_user' => '', -'splash_switched_back_user' => '', -'splash_toogle_group_manager' => '', -'splash_transfer_content' => '', -'splash_transfer_document' => '', -'splash_transfer_objects' => '', -'splash_trigger_workflow' => '', -'state_and_next_state' => '', -'statistic' => '', +'splash_rm_group' => 'تم حذف المجموعة', +'splash_rm_group_member' => 'تم حذف مستخدم من المجموعة', +'splash_rm_role' => 'تم حذف دور', +'splash_rm_transmittal' => 'تم حذف إحالة', +'splash_rm_user' => 'تم حذف مستخدم', +'splash_rm_user_processes' => 'تم حذف عملية مستخدم', +'splash_rm_workflow' => 'تم حذف سير عمل', +'splash_rm_workflow_action' => 'تم حذف عمل سير العمل', +'splash_rm_workflow_state' => 'تم حذف حالة سير العمل', +'splash_saved_file' => 'ملف محفظ', +'splash_save_user_data' => 'حفظ بيانات المستخدم', +'splash_send_download_link' => 'ارسال رابط التنزيل', +'splash_send_login_data' => 'ارسل بيانات تسجيل الدخول', +'splash_setowner' => 'تحديد المدير', +'splash_settings_saved' => 'تم حفظ الإعدادات', +'splash_set_default_access' => 'حدد الدخول الإفتراضي', +'splash_substituted_user' => 'مستخدم احتياطي', +'splash_switched_back_user' => 'تحويل الى مستخدم آخر', +'splash_toogle_group_manager' => 'تحديد مدير المجموعة', +'splash_transfer_content' => 'نقل المحتوى', +'splash_transfer_document' => 'نقل المستند', +'splash_transfer_objects' => 'نقل الأشياء', +'splash_trigger_workflow' => 'تفعيل سير العمل', +'state_and_next_state' => 'الحالة الحالية والحالة المقبلة', +'statistic' => 'إحصائيات', 'status' => 'الحالة', 'status_approval_rejected' => 'مسودة مرفوضة', 'status_approved' => 'تمت الموافقة', 'status_approver_removed' => 'تم ازالة موافق من العملية', -'status_needs_correction' => '', +'status_needs_correction' => 'الوضع يحتاج إلى تصحيح', 'status_not_approved' => 'لم تتم الموافقة بعد', -'status_not_receipted' => '', +'status_not_receipted' => 'الوضع غير مستلم', 'status_not_reviewed' => 'لم تتم مراجعته بعد', -'status_not_revised' => '', -'status_receipted' => '', -'status_receipt_rejected' => '', -'status_recipient_removed' => '', +'status_not_revised' => 'لم تتم مراجعته بعد', +'status_receipted' => 'تم استلامه', +'status_receipt_rejected' => 'تم رفض الإستلام', +'status_recipient_removed' => 'تم ازالة استلام الحالة', 'status_reviewed' => 'تمت المراجعة', 'status_reviewer_rejected' => 'مسودة مرفوضة', 'status_reviewer_removed' => 'تم ازالة مراجع من العملية', -'status_revised' => '', -'status_revision_rejected' => '', -'status_revision_sleeping' => '', -'status_revisor_removed' => '', +'status_revised' => 'تم مراجعة الحالة', +'status_revision_rejected' => 'تم رفض مراجعة الحالة', +'status_revision_sleeping' => 'مراجعة الوضع في حالة النوم', +'status_revisor_removed' => 'تم ازالة حالة المراجع', 'status_unknown' => 'مجهول', 'storage_size' => 'حجم التخزين', -'subfolder_duplicate_name' => '', -'submit_2_fact_auth' => '', +'subfolder_duplicate_name' => 'اسم مجلد فرعي مكرر', +'submit_2_fact_auth' => 'قدم ثنائي عامل التوثيق', 'submit_approval' => 'ادخال موافقة', 'submit_login' => 'تسجيل الدخول', 'submit_password' => 'تحديد كلمة سر جديدة', 'submit_password_forgotten' => 'بدء العملية', -'submit_receipt' => '', +'submit_receipt' => 'تقديم إيصال', 'submit_review' => 'بدأ المراجعة', -'submit_revision' => '', +'submit_revision' => 'تقديم مراجعة', 'submit_userinfo' => 'ادخال بيانات', -'subsribe_timelinefeed' => '', -'substitute_to_user' => '', +'subsribe_timelinefeed' => 'تغذية الجدول الزمني', +'substitute_to_user' => 'بديلا للمستخدم', 'substitute_user' => 'استبدال المستخدم', -'success_add_aro' => '', -'success_add_permission' => '', -'success_remove_permission' => '', -'success_toogle_permission' => '', +'success_add_aro' => 'نجاح إضافة الموالية', +'success_add_permission' => 'إذن إضافة النجاح', +'success_remove_permission' => 'اذن ازالة النجاح', +'success_toogle_permission' => 'اذن تفعيل النجاح', 'sunday' => 'الأحد', 'sunday_abbr' => 'ح', 'sv_SE' => 'السويدية', 'switched_to' => 'تحويل الى', -'takeOverAttributeValue' => '', -'takeOverGrpApprover' => '', -'takeOverGrpReviewer' => '', -'takeOverIndApprover' => '', -'takeOverIndReviewer' => '', -'tasks' => '', -'task_description' => '', -'task_disabled' => '', -'task_frequency' => '', -'task_last_run' => '', -'task_name' => '', -'task_next_run' => '', -'temp_jscode' => '', -'testmail_body' => '', -'testmail_subject' => '', +'takeOverAttributeValue' => 'اخذ قيمة السمة', +'takeOverGrpApprover' => 'اخذ موافقة المجموعة', +'takeOverGrpApprovers' => '', +'takeOverGrpReviewer' => 'اخذ مراجع المجموعة', +'takeOverGrpReviewers' => '', +'takeOverIndApprover' => 'اخذ فهرسة المجموعة', +'takeOverIndApprovers' => '', +'takeOverIndReviewer' => 'اخذ فهرسة المراجع', +'takeOverIndReviewers' => '', +'tasks' => 'مهمات', +'task_description' => 'تفصيل المهام', +'task_disabled' => 'تم توقيف المهمة', +'task_frequency' => 'تردد المهمة', +'task_last_run' => 'مهمة المدى الماضي', +'task_name' => 'اسم المهمة', +'task_next_run' => 'مدى المهمة القادمة', +'temp_jscode' => 'temp jscode', +'testmail_body' => 'محتوى البريد الإلكتروني التجريبي', +'testmail_subject' => 'موضوع البريد الإلكتروني التجريبي', 'theme' => 'شكل', 'thursday' => 'الخميس', 'thursday_abbr' => 'خ', -'timeline' => 'ﺎﻠﺨﻃ ﺎﻟﺰﻤﻨﻳ', -'timeline_add_file' => 'ﻡﺮﻔﻗ ﺝﺪﻳﺩ', -'timeline_add_version' => '', -'timeline_full_add_file' => '', -'timeline_full_add_version' => '', -'timeline_full_scheduled_revision' => '', -'timeline_full_status_change' => '', -'timeline_scheduled_revision' => '', -'timeline_selected_item' => '', -'timeline_skip_add_file' => '', -'timeline_skip_scheduled_revision' => '', -'timeline_skip_status_change_-1' => '', -'timeline_skip_status_change_-3' => '', -'timeline_skip_status_change_0' => '', -'timeline_skip_status_change_1' => '', -'timeline_skip_status_change_2' => '', -'timeline_skip_status_change_3' => '', -'timeline_skip_status_change_4' => '', -'timeline_skip_status_change_5' => '', -'timeline_status_change' => 'ﺖﻐﻳﺭ ﺎﻠﺣﺎﻟﺓ ﻢﻋ ﺎﻟﺰﻤﻧ', +'timeline' => 'الخط الزمني', +'timeline_add_file' => 'أضف ملف', +'timeline_add_version' => 'أضف اصدار', +'timeline_full_add_file' => 'أضف ملف كامل', +'timeline_full_add_version' => 'أضف اصدار كامل', +'timeline_full_scheduled_revision' => 'تحديد مراجعة كاملة في التاريخ', +'timeline_full_status_change' => 'تغيير كامل للحالة', +'timeline_scheduled_revision' => 'مراجعة في التاريخ', +'timeline_selected_item' => 'اشياء محددة', +'timeline_skip_add_file' => 'تخطى وأضف ملف', +'timeline_skip_scheduled_revision' => 'تخطي المراجعة المحددة في التاريخ', +'timeline_skip_status_change_-1' => 'تخطي تغيير الحالة -1', +'timeline_skip_status_change_-3' => 'تخطي تغيير الحالة -3', +'timeline_skip_status_change_0' => 'تخطي تغيير الحالة 0', +'timeline_skip_status_change_1' => 'تخطي تغيير الحالة 1', +'timeline_skip_status_change_2' => 'تخطي تغيير الحالة 2', +'timeline_skip_status_change_3' => 'تخطي تغيير الحالة 3', +'timeline_skip_status_change_4' => 'تخطي تغيير الحالة 4', +'timeline_skip_status_change_5' => 'تخطي تغيير الحالة 5', +'timeline_status_change' => 'تغير الحالة', 'to' => 'الى', 'toggle_manager' => 'رجح مدير', -'toggle_qrcode' => '', -'to_before_from' => '', -'transfer_content' => '', -'transfer_document' => 'ﺕﺮﺠﻣ ﺎﻠﻤﻠﻓ', -'transfer_no_read_access' => '', -'transfer_no_write_access' => '', -'transfer_objects' => '', -'transfer_objects_to_user' => '', -'transfer_to_user' => '', +'toggle_qrcode' => 'toggle toggle', +'to_before_from' => 'إلى قبل من', +'transfer_content' => 'تحويل المحتوى', +'transfer_document' => 'تحويل مستند', +'transfer_no_read_access' => 'تحويل بلا دخول للقراءة', +'transfer_no_write_access' => 'تحويل بلا دخول للكتابة', +'transfer_objects' => 'تحويل أشياء', +'transfer_objects_to_user' => 'تحويل شيء إلى مستخدم', +'transfer_process_to_user' => '', +'transfer_to_user' => 'تحويل إلى مستخدم', 'transition_triggered_email' => 'تم تحريك انتقال مسار العمل', 'transition_triggered_email_body' => 'تم تحريك انتقال مسار العمل المستند: [name] @@ -1684,22 +1724,22 @@ Parent folder: [folder_path] المستخدم: [username] URL: [url]', 'transition_triggered_email_subject' => '[sitename]: [name] - تم تحريك انتقال مسار العمل', -'transmittal' => '', -'transmittalitem_removed' => '', -'transmittalitem_updated' => '', -'transmittal_comment' => '', -'transmittal_name' => '', -'transmittal_size' => '', -'tree_loading' => 'ﻱﺮﺟﻯ ﺍﻼﻨﺘﻇﺍﺭ، ﺢﺗﻯ ﻲﺘﻣ ﻉﺮﺿ ﻕﺎﺌﻣﺓ ﺎﻠﻤﻠﻓﺎﺗ ...', +'transmittal' => 'الإحالة', +'transmittalitem_removed' => 'تم إزالة الإحالة', +'transmittalitem_updated' => 'تم تحديث الإحالة', +'transmittal_comment' => 'تعليق الإحالة', +'transmittal_name' => 'اسم الإحالة', +'transmittal_size' => 'حجم الإحالة', +'tree_loading' => 'تحميل الشجرة', 'trigger_workflow' => 'مسار العمل', -'tr_TR' => 'ﺕﺮﻜﻳﺓ', +'tr_TR' => 'التركية', 'tuesday' => 'الثلاثاء', 'tuesday_abbr' => 'ث', -'type_of_hook' => '', +'type_of_hook' => 'نوع المسار', 'type_to_search' => 'اكتب لتبحث', 'uk_UA' => 'ﺍﻮﻛﺭﺎﻨﻳ', 'under_folder' => 'في المجلد', -'unknown_attrdef' => '', +'unknown_attrdef' => 'تعريف سمة غير معروفة', 'unknown_command' => 'لم يتم التعرف على الأمر.', 'unknown_document_category' => 'قسم مجهول', 'unknown_group' => 'معرف قسم مجهول', @@ -1708,8 +1748,8 @@ URL: [url]', 'unknown_owner' => 'معرف مالك مجهول', 'unknown_user' => 'معرف مستخدم مجهول', 'unlinked_content' => 'محتوى غير مربوط', -'unlinked_documents' => '', -'unlinked_folders' => '', +'unlinked_documents' => 'مستندات غير مربوطة', +'unlinked_folders' => 'مجلدات غير مربوطة', 'unlinking_objects' => 'محتوى غير مربوط', 'unlock_cause_access_mode_all' => 'يمكنك تحديثه لانك تملك الصلاحيات. سيتم ازالة الحماية تلقائية', 'unlock_cause_locking_user' => 'يمكنك تحديثه لانك من قمت بحمايته. سيتم ازالة الحماية تلقائية.', @@ -1720,38 +1760,39 @@ URL: [url]', 'update_fulltext_index' => 'تحديث فهرس النص الكامل', 'update_info' => 'تحديث المعلومات', 'update_locked_msg' => 'هذا المستند محمي من التعديل.', -'update_recipients' => '', +'update_recipients' => 'تطوير المستلم', 'update_reviewers' => 'تحيث قائمة المراجعين', -'update_revisors' => '', -'update_transmittalitem' => '', +'update_revisors' => 'تحديث المراجعين', +'update_transmittalitem' => 'تحديث الإحالة', 'uploaded_by' => 'تم الرفع بواسطة', 'uploading_failed' => 'عملية رفع واحد من ملفاتك فشلت . من فضلك قم بالتأكد من اقصى ملف يمكن تحميله', 'uploading_maxsize' => 'الملف المرفوع يتخطى حجم الملف القياسي المسموح', 'uploading_zerosize' => 'تحميل ملف فارغ. عملية التحميل الغيت', 'used_discspace' => 'المساحة المستخدمة', 'user' => 'مستخدم', -'userid_groupid' => '', +'userid_groupid' => 'هوية المجموعة', 'users' => 'مستخدمين', -'users_and_groups' => '', -'users_done_work' => '', +'users_and_groups' => 'مستخدمين ومجموعات', +'users_done_work' => 'المستخدمين انجزو العمل', 'user_exists' => 'المستخدم موجود بالفعل.', -'user_group' => '', +'user_group' => 'مستخدممجموعة', 'user_group_management' => 'إدارة المستخدمين/المجموعات', 'user_image' => 'صورة', 'user_info' => 'بيانات المستخدمين', -'user_list' => 'قائمة بالمستخدمين', -'user_login' => 'اسم المستخدم', +'user_list' => 'قائمة المستخدمين', +'user_login' => 'الإسم', 'user_management' => 'إدارة المستخدمين', -'user_name' => 'الاسم بالكامل', -'use_comment_of_document' => 'ﺎﺴﺘﺧﺪﻣ ﺎﻠﺘﻌﻠﻴﻗﺎﺗ ﻞﻟﻮﺜﻴﻗﺓ', +'user_name' => 'الاسم المستعار', +'use_comment_of_document' => 'استخدم التعليقات للوثيقة', 'use_default_categories' => 'استخدم اقسام سابقة التعريف', 'use_default_keywords' => 'استخدام كلمات بحثية معدة مسبقا', -'valid_till' => '', +'valid_till' => 'صالح ل', 'version' => 'اصدار', 'versioning_file_creation' => 'انشاء ملف الاصدارات', 'versioning_file_creation_warning' => 'من خلال تلك العملية يمكنك انشاء ملف يحتوى معلومات الاصدار لمجمل مجلد النظام. بعد الانشاء كل ملف سيتم حفظه داخل المجلد الخاص به', 'versioning_info' => 'معلومات الاصدار', -'versiontolow' => '', +'versiontolow' => 'الإصدار خفيف الجودة', +'version_comment' => '', 'version_deleted_email' => 'تم مسح الاصدار', 'version_deleted_email_body' => 'تم مسح الاصدار Document: [name] @@ -1769,32 +1810,33 @@ URL: [url]', 'weeks' => 'اسابيع', 'week_view' => 'عرض الاسبوع', 'workflow' => 'مسار عمل', -'workflows_involded' => '', +'workflows_involded' => 'اشراك سير العمل', 'workflow_actions_management' => 'ادارة اجراءات مسار العمل', 'workflow_action_in_use' => 'هذا الاجراء مستخدم حاليا في مسار عمل', 'workflow_action_name' => 'اسم', 'workflow_editor' => 'محرر مسارات العمل', 'workflow_group_summary' => 'ملخص المجموعة', -'workflow_has_cycle' => '', -'workflow_initstate' => 'الحالة الابتدائية', +'workflow_has_cycle' => 'لدى سير العمل دورة', +'workflow_initstate' => 'الحالة الأولية', 'workflow_in_use' => 'مسار العمل هذا مستخدم حاليا لمستندات', -'workflow_layoutdata_saved' => '', +'workflow_layoutdata_saved' => 'تم حفظ بيانات تخطيط سير العمل', 'workflow_management' => 'ادارة مسار العمل', 'workflow_name' => 'اسم', -'workflow_no_doc_rejected_state' => '', -'workflow_no_doc_released_state' => '', -'workflow_no_initial_state' => '', +'workflow_no_doc_rejected_state' => 'حالة الوثيقة مرفوضة', +'workflow_no_doc_released_state' => 'حالة الوثيقة مرفوضة', +'workflow_no_initial_state' => 'لا يوجد حالة بدائية في سير العمل', 'workflow_no_states' => 'يجب تحديد حالات مسار العمل قبل تحديد مسار العمل.', -'workflow_save_layout' => '', -'workflow_state' => '', +'workflow_save_layout' => 'حفظ تخطيط سير العمل', +'workflow_state' => 'حالة سير العمل', 'workflow_states_management' => 'ادارة حالات مسار العمل', 'workflow_state_docstatus' => 'حالة المستند', 'workflow_state_in_use' => 'هذه الحالة مستخدمة من قبل مسار عمل', 'workflow_state_name' => 'اسم', 'workflow_summary' => 'ملخص مسار العمل', -'workflow_transition_without_user_group' => '', +'workflow_transition_without_user_group' => 'تحويل سير العمل بدون استخدام مستخدم من المجموعة', 'workflow_user_summary' => 'ملخص المستخدم', -'x_more_objects' => 'ﺎﻟﺮﻘﻣ', +'wrong_filetype' => '', +'x_more_objects' => 'اشياء أكثر', 'year_view' => 'عرض السنة', 'yes' => 'نعم', 'zh_CN' => 'الصينية (CN)', diff --git a/languages/bg_BG/lang.inc b/languages/bg_BG/lang.inc index a4e24c16e..78e7d2123 100644 --- a/languages/bg_BG/lang.inc +++ b/languages/bg_BG/lang.inc @@ -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 (861) +// Translators: Admin (862) $text = array( '2_factor_auth' => '', @@ -86,11 +86,14 @@ $text = array( 'and' => 'и', 'apply' => 'Приложи', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Запитване за утвърждаване за изтрит', @@ -200,6 +203,7 @@ $text = array( 'category_in_use' => 'Тази категория се използва от документите', 'category_noname' => 'Въведете име на категорията', 'ca_ES' => 'Каталунски', +'changelog_loading' => '', 'change_assignments' => 'Промени предназначението', 'change_password' => 'Промени паролата', 'change_password_message' => 'Паролата променена', @@ -370,6 +374,7 @@ $text = array( 'do_object_repair' => 'Поправи всички папки и документи', 'do_object_setchecksum' => 'Установи контролна сума', 'do_object_setfilesize' => 'Установи размер на файла', +'do_object_setfiletype' => '', 'do_object_unlink' => '', 'draft' => '', 'draft_pending_approval' => 'Чернова - очаква утвърждаване', @@ -378,6 +383,7 @@ $text = array( 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Файл от drop папка', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Бърз ъплоуд', 'drop_files_here' => 'Пусни файла тук!', 'dump_creation' => 'Създаване дъмп на БД', @@ -403,6 +409,7 @@ $text = array( 'edit_folder_props' => 'Редактирай папка', 'edit_group' => 'Редактирай група', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Редактирай потребител', @@ -476,6 +483,7 @@ $text = array( 'files_deletion' => 'Изтриване на файлове', 'files_deletion_warning' => 'Тази операция ще изтрие всички файлове във всички папки. Информацията за версиите ще остане достъпна', 'files_loading' => 'Моля изчакайте докато се зареди списъкът на файловете', +'filetype' => '', 'file_size' => 'Размер', 'filter_for_documents' => '', 'filter_for_folders' => '', @@ -500,6 +508,7 @@ $text = array( 'folder_renamed_email_body' => '', 'folder_renamed_email_subject' => '', 'folder_title' => 'Папка \'[foldername]\'', +'foot_note' => '', 'force_update' => '', 'friday' => 'петък', 'friday_abbr' => '', @@ -526,6 +535,7 @@ $text = array( 'group_members' => 'Членове на групата', 'group_receipt_summary' => '', 'group_review_summary' => 'Сводка по рецензирането на групи', +'group_revision_summary' => '', 'guest_login' => 'Влез като гост', 'guest_login_disabled' => 'Входът като гост изключен', 'hash' => '', @@ -643,6 +653,7 @@ $text = array( 'lock_document' => 'Блокирай', 'lock_message' => 'Документът е блокиран [username]. Само имащите права могат да го разблокират.', 'lock_status' => 'Статус', +'logfile_loading' => '', 'login' => 'Име', 'login_disabled_text' => 'Вашия акаунт е забранен, вероятно заради прекалено много погрешни опити за влизане.', 'login_disabled_title' => 'Вашия акаунт е забранен', @@ -713,9 +724,11 @@ $text = array( 'new_subfolder_email_body' => '', 'new_subfolder_email_subject' => '', 'new_user_image' => 'Ново изображение', +'next_revision_abbr' => '', 'next_state' => 'Ново състояние', 'nl_NL' => 'Холандски', 'no' => 'Не', +'notification' => '', 'notify_added_email' => 'Вие сте добавен в списъка с уведомявани', 'notify_added_email_body' => '', 'notify_added_email_subject' => '', @@ -727,9 +740,11 @@ $text = array( 'no_action' => 'Действие не е нужно', 'no_approval_needed' => 'Утвърждение не е нужно', 'no_attached_files' => 'Няма прикрачени файлове', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => 'Няма ключови думи', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'Няма блокирани документи', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -811,8 +826,11 @@ $text = array( 'quota_is_disabled' => '', 'quota_warning' => 'Вашето max. използуване на диска е превишена с [bytes]. Please remove documents or previous versions.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -823,7 +841,7 @@ $text = array( 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Последно Качени', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -860,8 +878,11 @@ $text = array( 'reviewer_already_assigned' => 'вече назначено за рецензиране', 'reviewer_already_removed' => 'вече премахнат от списъка с рецензиращи или вече е оставил рецензия', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Запитване за рецензия премахнато', @@ -882,9 +903,13 @@ $text = array( 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -894,6 +919,7 @@ $text = array( 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1139,6 +1165,8 @@ $text = array( 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1231,10 +1259,14 @@ $text = array( 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Още настройки. Логин по подразбиране: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Не е намерено', 'settings_Notification' => 'Настройка за известяване', 'settings_notwritable' => 'Конфигурацията не може да бъде съхранена, защото файлът на конфигурацията е само за четене.', 'settings_no_content_dir' => 'Каталог със съдържанието', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => 'Частичен размер на файла', @@ -1351,6 +1383,7 @@ $text = array( 'settings_workflowMode' => 'Вид процес', 'settings_workflowMode_desc' => 'Специален/advanced процес позволява да зададете Ваш специфичен процес за версия на документ.', 'settings_workflowMode_valadvanced' => 'advanced', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'traditional', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => 'Zend Framework', @@ -1365,6 +1398,7 @@ $text = array( 'sign_in' => 'вход', 'sign_out' => 'изход', 'sign_out_user' => '', +'site_brand' => '', 'sk_SK' => 'Словашки', 'sort_by_date' => 'Сортирай по дата"', 'sort_by_name' => 'Сортирай по име', @@ -1394,6 +1428,7 @@ $text = array( 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1488,9 +1523,13 @@ $text = array( 'switched_to' => '', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1534,6 +1573,7 @@ $text = array( 'transfer_no_write_access' => '', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => 'Забелязана промяна на процес', 'transition_triggered_email_body' => '', @@ -1606,6 +1646,7 @@ $text = array( 'versioning_file_creation_warning' => 'Тази операция ще създаде файл с версия за всяка папка. След създаване файлът ще бъде съхранен в каталога на документите.', 'versioning_info' => 'Информация за версиите', 'versiontolow' => '', +'version_comment' => '', 'version_deleted_email' => 'Версията е премахната', 'version_deleted_email_body' => '', 'version_deleted_email_subject' => '', @@ -1643,6 +1684,7 @@ $text = array( 'workflow_summary' => 'Резюме за процес', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Резюме за потребител', +'wrong_filetype' => '', 'x_more_objects' => 'още [number] документа', 'year_view' => 'годишен изглед', 'yes' => 'Да', diff --git a/languages/ca_ES/lang.inc b/languages/ca_ES/lang.inc index c7d318204..6ceb825e4 100644 --- a/languages/ca_ES/lang.inc +++ b/languages/ca_ES/lang.inc @@ -86,11 +86,14 @@ $text = array( 'and' => 'i', 'apply' => 'Apply', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Demanda d\'aprovació esborrada', @@ -205,6 +208,7 @@ URL: [url]', 'category_in_use' => '', 'category_noname' => '', 'ca_ES' => 'Català', +'changelog_loading' => '', 'change_assignments' => 'Canviar assignacions', 'change_password' => '', 'change_password_message' => '', @@ -375,6 +379,7 @@ URL: [url]', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', +'do_object_setfiletype' => '', 'do_object_unlink' => '', 'draft' => '', 'draft_pending_approval' => 'Esborrany - pendent d\'aprovació', @@ -383,6 +388,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => '', 'dropfolder_folder' => 'Carpeta', +'dropfolder_metadata' => '', 'dropupload' => 'Pujada ràpida', 'drop_files_here' => 'Dugui arxius aquí', 'dump_creation' => 'Creació de bolcat de BDD', @@ -408,6 +414,7 @@ URL: [url]', 'edit_folder_props' => 'Editar directori', 'edit_group' => 'Editar grup...', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Editar usuari...', @@ -481,6 +488,7 @@ URL: [url]', 'files_deletion' => 'Eliminació de fitxers', 'files_deletion_warning' => 'Amb aquesta opció es poden eliminar tots els fitxers del DMS complet. La informació de versionat romandrà visible.', 'files_loading' => 'Esperi, fins que l\'arxiu estigui carregat …', +'filetype' => '', 'file_size' => 'Mida', 'filter_for_documents' => '', 'filter_for_folders' => 'Filtre adicional per les carpetes', @@ -505,6 +513,7 @@ URL: [url]', 'folder_renamed_email_body' => '', 'folder_renamed_email_subject' => '', 'folder_title' => 'Carpeta \'[foldername]\'', +'foot_note' => '', 'force_update' => '', 'friday' => 'Divendres', 'friday_abbr' => '', @@ -531,6 +540,7 @@ URL: [url]', 'group_members' => 'Membres del grup', 'group_receipt_summary' => '', 'group_review_summary' => 'Resum del grup revisor', +'group_revision_summary' => '', 'guest_login' => 'Accés com a invitat', 'guest_login_disabled' => 'El compte d\'invitat està deshabilitat.', 'hash' => '', @@ -648,6 +658,7 @@ URL: [url]', 'lock_document' => 'Bloquejar', 'lock_message' => 'Aquest document ha estat bloquejat per [username]. Només els usuaris autoritzats poden desbloquejar aquest document (vegeu al final de la pàgina).', 'lock_status' => 'Estat', +'logfile_loading' => '', 'login' => '', 'login_disabled_text' => '', 'login_disabled_title' => '', @@ -718,9 +729,11 @@ URL: [url]', 'new_subfolder_email_body' => '', 'new_subfolder_email_subject' => '', 'new_user_image' => 'Nova imatge', +'next_revision_abbr' => '', 'next_state' => '', 'nl_NL' => 'Holandès', 'no' => 'No', +'notification' => '', 'notify_added_email' => 'Se us ha afegit a la llista de notificació', 'notify_added_email_body' => '', 'notify_added_email_subject' => '', @@ -732,9 +745,11 @@ URL: [url]', 'no_action' => 'No és necessària cap acció', 'no_approval_needed' => 'No hi ha aprovacions pendents.', 'no_attached_files' => 'No hi ha fitxers adjunts', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => 'No hi ha mots clau disponibles', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'No hi ha documents bloquejats.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -816,8 +831,11 @@ URL: [url]', 'quota_is_disabled' => '', 'quota_warning' => '', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -865,8 +883,11 @@ URL: [url]', 'reviewer_already_assigned' => 'Ja està asignat com revisor', 'reviewer_already_removed' => 'Ja ha estat eliminat del procés de revisió o ja ha enviat una revisió', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Petició de revisió eliminada', @@ -887,9 +908,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -899,6 +924,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1144,6 +1170,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1236,10 +1264,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => '', 'settings_Notification' => '', 'settings_notwritable' => '', 'settings_no_content_dir' => '', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => '', @@ -1356,6 +1388,7 @@ URL: [url]', 'settings_workflowMode' => '', 'settings_workflowMode_desc' => '', 'settings_workflowMode_valadvanced' => '', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => '', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => '', @@ -1370,6 +1403,7 @@ URL: [url]', 'sign_in' => 'sign in', 'sign_out' => 'desconnectar', 'sign_out_user' => '', +'site_brand' => '', 'sk_SK' => 'Eslovac', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1399,6 +1433,7 @@ URL: [url]', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1493,9 +1528,13 @@ URL: [url]', 'switched_to' => '', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1539,6 +1578,7 @@ URL: [url]', 'transfer_no_write_access' => 'transferir sense poder escriure', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', @@ -1611,6 +1651,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Amb aquesta operació podeu crear un fitxer que contingui la informació de versions d\'una carpeta del DMS completa. Després de la creació, tots els fitxers es guardaran a la carpeta de documents.', 'versioning_info' => 'Informació de versions', 'versiontolow' => '', +'version_comment' => '', 'version_deleted_email' => 'Versió eliminada', 'version_deleted_email_body' => '', 'version_deleted_email_subject' => '', @@ -1648,6 +1689,7 @@ URL: [url]', 'workflow_summary' => '', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => '', +'wrong_filetype' => '', 'x_more_objects' => '[number] objectes més', 'year_view' => 'Vista d\'any', 'yes' => 'Sí', diff --git a/languages/cs_CZ/lang.inc b/languages/cs_CZ/lang.inc index f04091398..12b30b434 100644 --- a/languages/cs_CZ/lang.inc +++ b/languages/cs_CZ/lang.inc @@ -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 (1525), kreml (579) +// Translators: Admin (1530), kreml (579) $text = array( '2_factor_auth' => 'dvoufaktorové ověření', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'a', 'apply' => 'Použít', 'approvals_accepted' => '[no_approvals] schválení již schváleno', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] schválení a [no_reviews] recenzí již přijato', 'approvals_and_reviews_not_touched' => '[no_approvals] schválení a [no_reviews] recenzí nejsou dotčeny', 'approvals_and_reviews_rejected' => '[no_approvals] schválení a [no_reviews] recenzí již bylo zamítnuto', 'approvals_not_touched' => '[no_approvals] schválení nebylo dotčeno', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] schválení bylo zamítnuto', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Schválení bez skupiny', 'approvals_without_user' => 'Schválení bez uživatele', 'approval_deletion_email' => 'Zrušení schválení požadavku', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Tato kategorie je používána dokumenty.', 'category_noname' => 'Není zadán název kategorie.', 'ca_ES' => 'Katalánština', +'changelog_loading' => '', 'change_assignments' => 'Změnit přiřazení', 'change_password' => 'Změnit heslo', 'change_password_message' => 'Vaše heslo bylo změněno.', @@ -448,6 +452,7 @@ Odkaz je platný do [valid]. 'do_object_repair' => 'Opravit všechny složky a dokumenty.', 'do_object_setchecksum' => 'Nastavit kontrolní součet', 'do_object_setfilesize' => 'Nastavit velikost souboru', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Smazat verzi dokumentu', 'draft' => 'Návrh', 'draft_pending_approval' => 'Návrh - čeká na schválení', @@ -456,6 +461,7 @@ Odkaz je platný do [valid]. 'dropfolderdir_missing' => 'Váš osobní adresář pro drop neexistuje na serveru! Požádejte správce, aby jej vytvořil.', 'dropfolder_file' => 'Soubor z "přetažené" složky', 'dropfolder_folder' => 'Složka rychlého uploadu', +'dropfolder_metadata' => '', 'dropupload' => 'Rychlý upload', 'drop_files_here' => 'Soubory dát sem!', 'dump_creation' => 'Vytvoření zálohy databáze', @@ -481,6 +487,7 @@ Odkaz je platný do [valid]. 'edit_folder_props' => 'Upravit složku', 'edit_group' => 'Upravit skupinu', 'edit_online' => 'Upravit online', +'edit_online_warning' => '', 'edit_task' => 'Upravit úkol', 'edit_transmittal_props' => 'Upravit vlastnosti přenosu', 'edit_user' => 'Upravit uživatele', @@ -549,7 +556,7 @@ URL: [url]', 'extension_loading' => 'Načítání rozšíření', 'extension_manager' => 'Správa rozšíření', 'extension_mgr_installed' => 'Instalováno', -'extension_mgr_no_upload' => '', +'extension_mgr_no_upload' => 'Nahrání nového rozšíření není možné, jelikož do složky rozšíření nelze zapisovat.', 'extension_mgr_repository' => 'Dostupný', 'extension_version_list' => 'Verze', 'february' => 'Únor', @@ -558,6 +565,7 @@ URL: [url]', 'files_deletion' => 'Soubor odstraněn', 'files_deletion_warning' => 'Pomocí této volby můžete odstranit všechny soubory z celé složky DMS. Verzovací informace zůstanou viditelné.', 'files_loading' => 'Vyčkejte dokud se nenahraje seznam souborů …', +'filetype' => '', 'file_size' => 'Velikost souboru', 'filter_for_documents' => 'Další filtr pro dokumenty', 'filter_for_folders' => 'Další filtr pro složky', @@ -609,6 +617,7 @@ Uživatel: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Složka přejmenována', 'folder_title' => 'Složka \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Aktualizace', 'friday' => 'Pátek', 'friday_abbr' => 'Pá', @@ -635,6 +644,7 @@ URL: [url]', 'group_members' => 'Členové skupiny', 'group_receipt_summary' => 'Přehled potvrzení přijímání do skupiny', 'group_review_summary' => 'Souhrn recenzí skupiny', +'group_revision_summary' => '', 'guest_login' => 'Přihlásit se jako host', 'guest_login_disabled' => 'Přihlášení jako host je vypnuté.', 'hash' => 'Hash', @@ -752,6 +762,7 @@ URL: [url]', 'lock_document' => 'Zamknout', 'lock_message' => 'Tento dokument zamknul [username]. Pouze oprávnění uživatelé ho mohou odemknout (viz konec stránky).', 'lock_status' => 'Stav', +'logfile_loading' => '', 'login' => 'Přihlášení', 'login_disabled_text' => 'Váš účet je zakázán, pravděpodobně z důvodu příliš mnoha neúspěšných přihlášení.', 'login_disabled_title' => 'Účet je zakázaný.', @@ -838,9 +849,11 @@ Uživatel: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nová složka', 'new_user_image' => 'Nový obrázek', +'next_revision_abbr' => '', 'next_state' => 'Nový stav', 'nl_NL' => 'Holandština', 'no' => 'Ne', +'notification' => '', 'notify_added_email' => 'Byl/a jste přidán/a do seznamu pro oznámení', 'notify_added_email_body' => 'Přidáno do seznamu oznámení Název: [name] @@ -860,9 +873,11 @@ URL: [url]', 'no_action' => 'Nic se nevykoná', 'no_approval_needed' => 'Nic nečeká na schválení.', 'no_attached_files' => 'Žádné přiložené soubory', +'no_backup_dir' => '', 'no_current_version' => 'Používáte starou verzi SeedDMS. Nejnovější dostupná verze je [latestversion].', 'no_default_keywords' => 'Nejsou dostupná žádná klíčová slova.', 'no_docs_checked_out' => 'Nebyly odbaveny žádné dokumenty', +'no_docs_expired' => '', 'no_docs_locked' => 'Žádné uzamčené dokumenty', 'no_docs_needs_correction' => 'Nejsou žádné dokumenty, které je třeba opravit', 'no_docs_rejected' => 'Nebyly zamítnuty žádné dokumenty.', @@ -954,8 +969,11 @@ Pokud budete mít problém s přihlášením i po změně hesla, kontaktujte Adm 'quota_is_disabled' => 'Podpora kvót je v současné době zakázána v nastavení. Nastavení uživatelských kvót nebude mít žádný vliv, dokud se znovu neaktivuje.', 'quota_warning' => 'Vaše maximální využití disku je překročeno o [bajtů]. Prosím, odstraňte dokumenty nebo předchozí verze.', 'receipts_accepted' => '[no_receipts] potvrzení přijetí již přijato', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '[no_receipts] potvrzení přijetí nebylo dotčeno', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '[no_receipts] potvrzení přijetí odmítnuto', +'receipts_rejected_latest' => '', 'receipts_without_group' => 'Potvrzení přijetí bez skupiny', 'receipts_without_user' => 'Potvrzení přijetí bez uživatele', 'receipt_deletion_email_body' => 'Uživatel byl ze seznamu příjemců odebrán @@ -977,7 +995,7 @@ URL: [url]', 'receipt_status' => 'Status', 'receipt_summary' => 'Souhrn přijetí', 'receipt_update_failed' => 'Potvrzení že přijetí se nezdařilo', -'recent_uploads' => '', +'recent_uploads' => 'Naposledy nahráno', 'reception' => 'Přijetí', 'reception_acknowleged' => 'Přijetí potvrzeno', 'reception_noaction' => 'Žádná akce', @@ -1037,8 +1055,11 @@ URL: [url]', 'reviewer_already_assigned' => 'je už pověřen jako recenzent', 'reviewer_already_removed' => 'už byl odstraněn z procesu recenzí nebo poslal recenzi', 'reviews_accepted' => '[no_reviews] recenzí již přijato', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '[no_reviews] recenzí nebylo dotčeno', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '[no_reviews] recenzí již bylo zamítnuto', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'Recenze bez skupiny', 'reviews_without_user' => 'Recenze bez uživatele', 'review_deletion_email' => 'Žádost na recenzi odstraněn', @@ -1075,9 +1096,13 @@ URL: [url]', 'revise_document' => 'Revize dokumentu', 'revise_document_on' => 'Další revize verze dokumentu v [date]', 'revisions_accepted' => '[no_revisions] již přijato', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '[no_revisions] revizí nebylo dotčeno', +'revisions_not_touched_latest' => '', 'revisions_pending' => '[no_revisions] revizí teprve proběhne', +'revisions_pending_latest' => '', 'revisions_rejected' => '[no_revisions] revizí bylo odmítnuto', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'Revize bez skupiny', 'revisions_without_user' => 'Revize bez uživatele', 'revision_date' => 'Datum revize', @@ -1092,6 +1117,7 @@ URL: [url]', 'revision_status' => 'Status revize', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revizoři', 'revisor_already_assigned' => 'Uživatel je již přiřazen jako revizor.', 'revisor_already_removed' => 'Revizor byl již z revizního procesu odstraněn nebo již dokument revidoval.', @@ -1355,8 +1381,10 @@ Jméno: [username] 'settings_enableReceiptWorkflow_desc' => 'Povolte, pro spuštění workflow při potvrzení příjmu dokumentu.', 'settings_enableRecursiveCount' => 'Povolit rekurzivní počítání dokumentů / složek', 'settings_enableRecursiveCount_desc' => 'Při zapnutí je počet dokumentů a složek v zobrazení složek určen počítáním všech objektů při rekurzivním zpracování složek a počítáním těch dokumentů a složek, ke kterým má uživatel přístup.', -'settings_enableRevisionOnVoteReject' => 'Odmítnutí jedním revizorem', -'settings_enableRevisionOnVoteReject_desc' => 'Pokud je nastaveno, tak dokument bude odmítnut, pokud jen jeden revizor odmítne dokument.', +'settings_enableRevisionOneVoteReject' => 'Odmítnutí jedním revizorem', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Povolit revizi dokumentů', 'settings_enableRevisionWorkflow_desc' => 'Povolit, aby bylo možné spustit workflow pro revidování dokumentu po uplynutí dané doby.', 'settings_enableSelfReceipt' => 'Povolit příjem dokumentů pro přihlášeného uživatele', @@ -1447,10 +1475,14 @@ Jméno: [username] 'settings_maxUploadSize' => 'Maximální velikost nahraných souborů', 'settings_maxUploadSize_desc' => 'Toto je maximální velikost nahraných souborů. Bude mít vliv na verze dokumentů a přílohy.', 'settings_more_settings' => 'Konfigurovat další nastavení. Výchozí přihlášení: admin / admin', +'settings_noDocumentFormFields' => 'Nezobrazovat tato pole', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nenalezeno', 'settings_Notification' => 'Nastavení upozornění', 'settings_notwritable' => 'Konfigurace nemůže být uložena, protože se do konfiguračního souboru nedá zapsat.', 'settings_no_content_dir' => 'Content directory', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Přepsat typ MimeType', 'settings_overrideMimeType_desc' => 'Přepsat MimeType dodaný prohlížečem, pokud je nahrán soubor. Nový MimeType je určen samotným SeedDMS.', 'settings_partitionSize' => 'Částečná velikost souboru', @@ -1567,6 +1599,7 @@ Jméno: [username] 'settings_workflowMode' => 'Režím workflow', 'settings_workflowMode_desc' => 'Pokročilé workflow umožňuje definovat vlastní workflow pro uvolňování verzí dokumentů.', 'settings_workflowMode_valadvanced' => 'pokročilý', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'tradiční', 'settings_workflowMode_valtraditional_only_approval' => 'tradiční (bez recenzí)', 'settings_zendframework' => 'Zend Framework', @@ -1581,6 +1614,7 @@ Jméno: [username] 'sign_in' => 'Přihlásit', 'sign_out' => 'Odhlásit', 'sign_out_user' => 'Odhlášení uživatele', +'site_brand' => '', 'sk_SK' => 'Slovenština', 'sort_by_date' => '', 'sort_by_name' => 'Třídit podle jména', @@ -1610,6 +1644,7 @@ Jméno: [username] 'splash_edit_group' => 'Skupina uložena', 'splash_edit_role' => 'Role uložena', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Uživatel uložen', 'splash_error_add_to_transmittal' => 'Chyba při přidávání dokumentu k přenosu', 'splash_error_rm_download_link' => 'Chyba při odstranění odkazu ke stažení', @@ -1704,9 +1739,13 @@ Jméno: [username] 'switched_to' => 'Přepnuto na', 'takeOverAttributeValue' => 'Převzít hodnotu atributu z poslední verze', 'takeOverGrpApprover' => 'Převzít skupinu schvalovatelů od poslední verze.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Převzít skupinu recenzentů z poslední verze.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Převzít individuální schvalující osobu od poslední verze.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Převzít jednotlivého recenzenta z poslední verze.', +'takeOverIndReviewers' => '', 'tasks' => 'Úkoly', 'task_description' => 'Popis', 'task_disabled' => 'Vypnuto', @@ -1750,6 +1789,7 @@ Jméno: [username] 'transfer_no_write_access' => 'Uživatel nemá přístup k zápisu do složky', 'transfer_objects' => 'Přenos objektů', 'transfer_objects_to_user' => 'Nový vlastník', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Přenos k uživateli', 'transition_triggered_email' => 'Spuštěn přechod workflow', 'transition_triggered_email_body' => 'Spuštěn přechod workflow @@ -1831,6 +1871,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Pomocí této operace můžete vytvořit soubor obsahující informace o verzování celé složky DMS. Po vytvoření bude každý soubor uložen uvnitř složky dokumentů.', 'versioning_info' => 'Info verzování', 'versiontolow' => 'Příliš nízká verze', +'version_comment' => 'Poznámka k verzi', 'version_deleted_email' => 'Verze smazána', 'version_deleted_email_body' => 'Verze smazána Dokument: [name] @@ -1873,6 +1914,7 @@ URL: [url]', 'workflow_summary' => 'Souhrn workflow', 'workflow_transition_without_user_group' => 'Alespoň jedna z transformací pracovního postupu nemá uživatele ani skupinu!', 'workflow_user_summary' => 'Přehled uživatelů', +'wrong_filetype' => '', 'x_more_objects' => 'Načíst další dokumenty ([number])', 'year_view' => 'Zobrazení roku', 'yes' => 'Ano', diff --git a/languages/de_DE/lang.inc b/languages/de_DE/lang.inc index 395deb3e1..2cdcc2d55 100644 --- a/languages/de_DE/lang.inc +++ b/languages/de_DE/lang.inc @@ -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 (2695), dgrutsch (22) +// Translators: Admin (2740), dgrutsch (22) $text = array( '2_factor_auth' => '2-Faktor Authentifizierung', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'und', 'apply' => 'Anwenden', 'approvals_accepted' => '[no_approvals] Freigaben', +'approvals_accepted_latest' => '(davon [no_approvals] in letzter Version)', 'approvals_and_reviews_accepted' => '[no_approvals] Freigaben und [no_reviews] Prüfungen', 'approvals_and_reviews_not_touched' => '[no_approvals] offene Freigaben und [no_reviews] offene Prüfungen', 'approvals_and_reviews_rejected' => '[no_approvals] abgelehnte Freigaben und [no_reviews] abgelehnte Prüfungen', 'approvals_not_touched' => '[no_approvals] offene Freigaben', +'approvals_not_touched_latest' => '(davon [no_approvals] in letzter Version)', 'approvals_rejected' => '[no_approvals] abgelehnte Freigaben', +'approvals_rejected_latest' => '(davon [no_approvals] in letzter Version)', 'approvals_without_group' => 'Freigaben ohne Gruppe', 'approvals_without_user' => 'Freigaben ohne Benutzer', 'approval_deletion_email' => 'Freigabeaufforderung gelöscht', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Diese Kategorie wird zur Zeit von Dokumenten verwendet.', 'category_noname' => 'Kein Kategoriename eingetragen.', 'ca_ES' => 'Katalanisch', +'changelog_loading' => 'Bitte warten, bis die Liste der Änderungen geladen ist …', 'change_assignments' => 'Setze Prüfer/Freigeber', 'change_password' => 'Passwort ändern', 'change_password_message' => 'Ihr Passwort wurde geändert.', @@ -447,6 +451,7 @@ Der Link ist bis zum [valid] gültig. 'do_object_repair' => 'Repariere alle Ordner und Dokumente.', 'do_object_setchecksum' => 'Setze Check-Summe', 'do_object_setfilesize' => 'Setze Dateigröße', +'do_object_setfiletype' => 'Setze Dateityp', 'do_object_unlink' => 'Lösche Dokumentenversion', 'draft' => 'Entwurf', 'draft_pending_approval' => 'Entwurf - bevorstehende Freigabe', @@ -455,6 +460,7 @@ Der Link ist bis zum [valid] gültig. 'dropfolderdir_missing' => 'Ihr persönlicher Ablageordner auf dem Server existiert nicht! Kontaktieren Sie den Administrator, um in anlegen zu lassen.', 'dropfolder_file' => 'Datei aus Ablageordner', 'dropfolder_folder' => 'Ordner aus Ablageordner', +'dropfolder_metadata' => '', 'dropupload' => 'Direkt Hochladen', 'drop_files_here' => 'Dateien hier hin ziehen!', 'dump_creation' => 'DB dump erzeugen', @@ -480,6 +486,7 @@ Der Link ist bis zum [valid] gültig. 'edit_folder_props' => 'Bearbeiten', 'edit_group' => 'Gruppe bearbeiten', 'edit_online' => 'Online editieren', +'edit_online_warning' => 'Mit dem Speichern wird die aktuellen Version des Dokuments überschrieben. Es wird keine neue Version angelegt.', 'edit_task' => 'Task editieren', 'edit_transmittal_props' => 'Attribute der Dokumentenliste bearbeiten', 'edit_user' => 'Benutzer bearbeiten', @@ -557,6 +564,7 @@ URL: [url]', 'files_deletion' => 'Dateien löschen', 'files_deletion_warning' => 'Durch diese Operation können Sie Dokumente des DMS löschen. Die Versions-Information bleibt erhalten.', 'files_loading' => 'Bitte warten, bis die Dateiliste geladen ist …', +'filetype' => 'Dateityp', 'file_size' => 'Dateigröße', 'filter_for_documents' => 'Zusätzliche Filter für Dokumente', 'filter_for_folders' => 'Zusätzliche Filter für Ordner', @@ -608,6 +616,7 @@ Benutzer: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Ordner umbenannt', 'folder_title' => 'SeedDMS - Ordner: [foldername]', +'foot_note' => '', 'force_update' => 'Aktualisieren', 'friday' => 'Freitag', 'friday_abbr' => 'Fr', @@ -634,6 +643,7 @@ URL: [url]', 'group_members' => 'Gruppenmitglieder', 'group_receipt_summary' => 'Übersicht Gruppenbestätigungen', 'group_review_summary' => 'Übersicht Gruppenprüfungen', +'group_revision_summary' => 'Übersicht Gruppenwiederholungsprüfungen', 'guest_login' => 'Als Gast anmelden', 'guest_login_disabled' => 'Anmeldung als Gast ist gesperrt.', 'hash' => 'Hash-Wert', @@ -751,6 +761,7 @@ URL: [url]', 'lock_document' => 'Sperren', 'lock_message' => 'Dieses Dokument ist durch [username] gesperrt. Nur authorisierte Benutzer können diese Sperrung aufheben.', 'lock_status' => 'Status', +'logfile_loading' => 'Bitte warten, bis die Log-Datei geladen ist …', 'login' => 'Login', 'login_disabled_text' => 'Ihr Konto ist gesperrt. Der Grund sind möglicherweise zu viele gescheiterte Anmeldeversuche.', 'login_disabled_title' => 'Konto gesperrt', @@ -836,9 +847,11 @@ Benutzer: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [folder_name] - Neuer Ordner', 'new_user_image' => 'Neues Bild', +'next_revision_abbr' => 'Nächste Wieder.-Prüf.', 'next_state' => 'Neuer Status', 'nl_NL' => 'Niederländisch', 'no' => 'Nein', +'notification' => 'Beobachter', 'notify_added_email' => 'Benachrichtigung per Mail wurde eingerichtet', 'notify_added_email_body' => 'Added to notification list Name: [name] @@ -858,9 +871,11 @@ URL: [url]', 'no_action' => 'Keine Aktion erforderlich.', 'no_approval_needed' => 'Keine offenen Freigaben.', 'no_attached_files' => 'Keine angehängten Dokumente', +'no_backup_dir' => 'Das Backup-Verzeichnis ist nicht gesetzt', 'no_current_version' => 'Sie verwenden eine ältere Version als die zur Zeit verfügbare Version [latestversion].', 'no_default_keywords' => 'Keine Vorlagen vorhanden', 'no_docs_checked_out' => 'Keine Dokumente ausgecheckt', +'no_docs_expired' => 'Keine abgelaufenen Dokumente', 'no_docs_locked' => 'Keine Dokumente gesperrt.', 'no_docs_needs_correction' => 'Keine Dokumente, die korrigiert werden müssen', 'no_docs_rejected' => 'Keine Dokumente abgelehnt.', @@ -956,8 +971,11 @@ Sollen Sie danach immer noch Probleme bei der Anmeldung haben, dann kontaktieren 'quota_is_disabled' => 'Quota-Unterstützung ist zur Zeit ausgeschaltet. Benutzer-Quota werden ignoriert bis Quota-Unterstützung in den Einstellungen eingeschaltet wird.', 'quota_warning' => 'Ihr maximal verfügbarer Plattenplatz wurde um [bytes] überschritten. Bitte löschen Sie Dokumente oder ältere Versionen.', 'receipts_accepted' => '[no_receipts] Empfangsbestätigungen', +'receipts_accepted_latest' => '(davon [no_receipts] in letzter Version)', 'receipts_not_touched' => '[no_receipts] offene Empfangsbestätigungen', +'receipts_not_touched_latest' => '(davon [no_receipts] in letzter Version)', 'receipts_rejected' => '[no_receipts] abgelehnte Empfangsbestätigungen', +'receipts_rejected_latest' => '(davon [no_receipts] in letzter Version)', 'receipts_without_group' => 'Empfangsbestätigungen ohne Gruppe', 'receipts_without_user' => 'Empfangsbestätigungen ohne Benutzer', 'receipt_deletion_email_body' => 'Benutzer von Liste der Empfänger gelöscht @@ -1039,8 +1057,11 @@ URL: [url]', 'reviewer_already_assigned' => 'Prüfer bereits zugewiesen', 'reviewer_already_removed' => 'Prüfer wurde bereits aus dem Prüfvorgang entfernt oder hat die Prüfung bereits abgeschlossen', 'reviews_accepted' => '[no_reviews] Prüfungen', +'reviews_accepted_latest' => '(davon [no_reviews] in letzter Version)', 'reviews_not_touched' => '[no_reviews] offene Prüfungen', +'reviews_not_touched_latest' => '(davon [no_reviews] in letzter Version)', 'reviews_rejected' => '[no_reviews] abgelehnte Prüfungen', +'reviews_rejected_latest' => '(davon [no_reviews] in letzter Version)', 'reviews_without_group' => 'Prüfungen ohne Gruppe', 'reviews_without_user' => 'Prüfungen ohne Benutzer', 'review_deletion_email' => 'Prüfungsaufforderung gelöscht', @@ -1078,9 +1099,13 @@ URL: [url]', 'revise_document' => 'Wiederholungsprüfung', 'revise_document_on' => 'Nächste Wiederholungsprüfung des Dokuments am [date]', 'revisions_accepted' => '[no_revisions] Wiederholungsprüfungen', +'revisions_accepted_latest' => '(davon [no_revisions] in letzter Version)', 'revisions_not_touched' => '[no_revisions] offene Wiederholungspüfungen', +'revisions_not_touched_latest' => '(davon [no_revisions] in letzter Version)', 'revisions_pending' => '[no_revisions] zukünftige Wiederholungsprüfungen', +'revisions_pending_latest' => '(davon [no_revisions] in letzter Version)', 'revisions_rejected' => '[no_revisions] abgelehnte Wiederholungsprüfungen', +'revisions_rejected_latest' => '(davon [no_revisions] in letzter Version)', 'revisions_without_group' => 'Wiederholungsprüfungen ohne Gruppe', 'revisions_without_user' => 'Wiederholungsprüfungen ohne Benutzer', 'revision_date' => 'Datum der Wiederholungsprüfung', @@ -1102,6 +1127,7 @@ Kommentar: [comment] Benutzer: [username] URL: [url]', 'revision_submit_email_subject' => '[sitename]: [name] - Erneute Freigabe erteilen', +'revision_summary' => 'Übersicht Wiederholungsprüfungen', 'revisors' => 'Wiederholungsprüfer', 'revisor_already_assigned' => 'Benutzer bereits als Wiederholungsprüfer eingetragen.', 'revisor_already_removed' => 'Wiederholungsprüfer wurde bereits vom Prozess ausgeschlossen oder hat das Dokument bereits geprüft.', @@ -1302,7 +1328,7 @@ Name: [username] 'settings_dropFolderDir_desc' => 'Dieses Verzeichnis kann dazu benutzt werden Dokumente auf dem Server abzulegen und von dort zu importieren anstatt sie über den Browser hochzuladen. Das Verzeichnis muss ein Unterverzeichnis mit dem Login-Namen des angemeldeten Benutzers beinhalten.', 'settings_Edition' => 'Funktions-Einstellungen', 'settings_editOnlineFileTypes' => 'Dateitypen für Online-Editieren', -'settings_editOnlineFileTypes_desc' => 'Dateien mit den angegebenen Endungen können Online editiert werden (benutzen Sie ausschließlich Kleinbuchstaben).', +'settings_editOnlineFileTypes_desc' => 'Dateien mit den angegebenen Endungen oder Mimetypes können Online editiert werden (benutzen Sie ausschließlich Kleinbuchstaben).', 'settings_enable2FactorAuthentication' => '2-Faktor Authentifizierung einschalten', 'settings_enable2FactorAuthentication_desc' => 'Schaltet die 2-Faktor Authentifizierung ein, welche den Google Authenticator auf dem Mobiltelefon erfordert.', 'settings_enableAcknowledgeWorkflow' => '', @@ -1365,8 +1391,10 @@ Name: [username] 'settings_enableReceiptWorkflow_desc' => 'Anwählen, um den Workflow zur Kenntnisnahme von Dokumenten einzuschalten', 'settings_enableRecursiveCount' => 'Rekursive Dokumenten-/Ordner-Zählung', '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_enableRevisionOnVoteReject' => 'Ablehnung durch einen Wiederholungsprüfer', -'settings_enableRevisionOnVoteReject_desc' => 'Diese Einstellung setzen, wenn die Ablehnung einer Wiederholungsprüfung zur Ablehnung des Dokuments führen soll und nicht den Status \'Korrektur erforderlich\' setzt.', +'settings_enableRevisionOneVoteReject' => 'Ablehnung durch einen Wiederholungsprüfer', +'settings_enableRevisionOneVoteReject_desc' => 'Diese Einstellung setzen, wenn die Ablehnung einer Wiederholungsprüfung durch einen einzelnen Prüfer den Status \'Korrektur erforderlich\' setzt und nicht erst alle Prüfungen abgewartet werden, bevor ein Statuswechsel vollzogen wird.', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Ermögliche Wiederholungsprüfung von Dokumenten', 'settings_enableRevisionWorkflow_desc' => 'Anwählen, um den Workflow der Wiederholungsprüfung von Dokumenten nach einer einstellbaren Zeit zu ermöglichen.', 'settings_enableSelfReceipt' => 'Erlaube Empfangsbestätigung durch angemeldeten Benutzer', @@ -1457,10 +1485,14 @@ Name: [username] 'settings_maxUploadSize' => 'Maximale Größe hochzuladener Dateien', 'settings_maxUploadSize_desc' => 'Dies ist die maximale Größe einer hochzuladenen Datei. Es begrenzt sowohl Dokumentenversionen als auch Anhänge.', 'settings_more_settings' => 'Weitere Einstellungen. Login mit admin/admin', +'settings_noDocumentFormFields' => 'Diese Felder nicht zeigen', +'settings_noDocumentFormFields_desc' => 'Diese Felder werden bei der Neuanlage und beim Bearbeiten eines Dokuments nicht angezeigt. Bestehende Werte werden beibehalten.', 'settings_notfound' => 'Nicht gefunden', 'settings_Notification' => 'Benachrichtigungen-Einstellungen', 'settings_notwritable' => 'Die Konfiguration kann nicht gespeichert werden, weil die Konfigurationsdatei nicht schreibbar ist.', 'settings_no_content_dir' => 'Content directory', +'settings_onePageMode' => 'Einseiten-Modus', +'settings_onePageMode_desc' => 'Der Einseiten-Modus schaltet javascript auf der ViewFolder-Seite ein, der die Ordner- und Dokumentenliste, die Navigation, etc. aktualisiert, wenn auf einen Ordner geklickt wird.', 'settings_overrideMimeType' => 'Überschreibe MimeType', 'settings_overrideMimeType_desc' => 'Überschreibe den MimeType, der vom Browser beim Hochladen einer Datei übertragen wird. Der neue MimeType wird von SeedDMS selbst ermittelt.', 'settings_partitionSize' => 'Partitionsgröße', @@ -1577,6 +1609,7 @@ Name: [username] 'settings_workflowMode' => 'Workflow mode', 'settings_workflowMode_desc' => 'Der erweiterte Workflow-Modes erlaubt es eigene Workflows zu erstellen.', 'settings_workflowMode_valadvanced' => 'erweitert', +'settings_workflowMode_valnone' => 'keiner', 'settings_workflowMode_valtraditional' => 'traditionell', 'settings_workflowMode_valtraditional_only_approval' => 'traditional (ohne Prüfung)', 'settings_zendframework' => 'Zend Framework', @@ -1591,6 +1624,7 @@ Name: [username] 'sign_in' => 'Anmelden', 'sign_out' => 'Abmelden', 'sign_out_user' => 'Benutzer abmelden', +'site_brand' => '', 'sk_SK' => 'Slovakisch', 'sort_by_date' => 'Nach Datum sortieren', 'sort_by_name' => 'Nach Name sortieren', @@ -1620,6 +1654,7 @@ Name: [username] 'splash_edit_group' => 'Gruppe gespeichert', 'splash_edit_role' => 'Rolle gespeichert', 'splash_edit_task' => 'Task gespeichert', +'splash_edit_transmittal' => 'Dokumentenliste gespeichert', 'splash_edit_user' => 'Benutzer gespeichert', 'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste', 'splash_error_rm_download_link' => 'Fehler beim Löschen des Download-Links', @@ -1714,9 +1749,13 @@ Name: [username] 'switched_to' => 'Gewechselt zu', 'takeOverAttributeValue' => 'Attributwert von vorheriger Version übernehmen', 'takeOverGrpApprover' => 'Übernehme Gruppe von Freigebenden von letzter Version.', +'takeOverGrpApprovers' => 'Gruppenfreigeber übernehmen', 'takeOverGrpReviewer' => 'Übernehme Gruppe von Prüfern von letzter Version.', +'takeOverGrpReviewers' => 'Gruppenprüfer übernehmen', 'takeOverIndApprover' => 'Übernehme Einzelfreigebende von letzter Version.', +'takeOverIndApprovers' => 'Einzelfreigeber übernehmen', 'takeOverIndReviewer' => 'Übernehme die Einzelprüfer von der letzten Version.', +'takeOverIndReviewers' => 'Einzelprüfer übernehmen', 'tasks' => 'Aufgaben', 'task_description' => 'Beschreibung', 'task_disabled' => 'Deaktiviert', @@ -1760,6 +1799,7 @@ Name: [username] 'transfer_no_write_access' => 'Der Benutzer hat in dem Ordner keine Schreibrechte', 'transfer_objects' => 'Objekte übertragen', 'transfer_objects_to_user' => 'Neuer Eigentümer', +'transfer_process_to_user' => 'Prozess auf Benutzer übertragen', 'transfer_to_user' => 'Auf Benutzer übertragen', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered @@ -1841,6 +1881,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Mit dieser Operation erzeugen Sie pro Dokument eine Datei, die sämtliche Versions-Informationen des Dokuments enthält. Nach Erstellung wird jede Datei im Dokumentenverzeichnis gespeichert. Die erzeugten Dateien sind für den regulären Betrieb nicht erforderlich. Sie können aber von Nutzen sein, wenn der Dokumentenbestand auf ein anderes System übertragen werden soll.', 'versioning_info' => 'Versionsinformationen', 'versiontolow' => 'Version zu niedrig', +'version_comment' => 'Kommentar der Version', 'version_deleted_email' => 'Version gelöscht', 'version_deleted_email_body' => 'Version gelöscht Dokument: [name] @@ -1883,6 +1924,7 @@ URL: [url]', 'workflow_summary' => 'Übersicht Workflows', 'workflow_transition_without_user_group' => 'Mindestens eine Transition hat weder einen Benutzer noch eine Gruppe zugewiesen!', 'workflow_user_summary' => 'Übersicht Benutzer', +'wrong_filetype' => 'Falscher Dateityp', 'x_more_objects' => '[number] weitere Objekte', 'year_view' => 'Jahresansicht', 'yes' => 'Ja', diff --git a/languages/el_GR/lang.inc b/languages/el_GR/lang.inc index 126ec6c4d..715309939 100644 --- a/languages/el_GR/lang.inc +++ b/languages/el_GR/lang.inc @@ -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 (281) +// Translators: Admin (292) $text = array( '2_factor_auth' => '', @@ -52,7 +52,7 @@ $text = array( 'add_approval' => '', 'add_attrdefgroup' => '', 'add_document' => 'Νέο έγγραφο', -'add_document_link' => '', +'add_document_link' => 'Προσθήκη σύνδεσης', 'add_document_notify' => '', 'add_doc_reviewer_approver_warning' => '', 'add_doc_workflow_warning' => '', @@ -86,11 +86,14 @@ $text = array( 'and' => 'και', 'apply' => 'Apply', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => '', @@ -200,12 +203,13 @@ $text = array( 'category_in_use' => 'Η Κατηγορία αυτή είναι σε χρήση.', 'category_noname' => 'Δεν δόθηκε όνομα κατηγορίας.', 'ca_ES' => 'Καταλανικά', +'changelog_loading' => '', 'change_assignments' => '', 'change_password' => 'Αλλαγή κωδικού', 'change_password_message' => 'Ο κωδικός σας έχει αλλάξει.', 'change_recipients' => '', 'change_revisors' => '', -'change_status' => '', +'change_status' => 'Αλλαγή κατάστασης', 'charts' => 'Διαγράμματα', 'chart_docsaccumulated_title' => 'Αριθμός Εγγράφων', 'chart_docspercategory_title' => 'Έγγραφα κατά κατηγορία', @@ -236,7 +240,7 @@ $text = array( 'choose_workflow_action' => '', 'choose_workflow_state' => '', 'class_name' => '', -'clear_cache' => '', +'clear_cache' => 'Εκκαθάριση στιγμιαίας μνήμης', 'clear_clipboard' => '', 'clear_password' => '', 'clipboard' => 'Πρόχειρο', @@ -354,7 +358,7 @@ $text = array( 'document_status_changed_email' => '', 'document_status_changed_email_body' => '', 'document_status_changed_email_subject' => '', -'document_title' => '', +'document_title' => 'Τίτλος εγγράφου', 'document_transfered_email_body' => '', 'document_transfered_email_subject' => '', 'document_updated_email' => '', @@ -370,6 +374,7 @@ $text = array( 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '', +'do_object_setfiletype' => '', 'do_object_unlink' => '', 'draft' => '', 'draft_pending_approval' => '', @@ -378,6 +383,7 @@ $text = array( 'dropfolderdir_missing' => '', 'dropfolder_file' => '', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Γρήγορη Προσθήκη', 'drop_files_here' => 'Προσθέστε έγγραφα εδώ!', 'dump_creation' => '', @@ -388,9 +394,9 @@ $text = array( 'duplicate_content' => '', 'edit' => '', 'edit_attributes' => '', -'edit_comment' => '', +'edit_comment' => 'Επεξερασία σχόλιου', 'edit_default_keywords' => '', -'edit_document_access' => '', +'edit_document_access' => 'Επεξεργασία πρόσβασης', 'edit_document_notify' => '', 'edit_document_props' => 'Επεξεργασία εγγράφου', 'edit_event' => '', @@ -403,6 +409,7 @@ $text = array( 'edit_folder_props' => 'Επεξεργασία φακέλου', 'edit_group' => '', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => '', @@ -476,6 +483,7 @@ $text = array( 'files_deletion' => 'Διαγραφή αρχείων', 'files_deletion_warning' => '', 'files_loading' => 'Παρακαλώ περιμένετε, μέχρι να φορτωθεί το αρχείο', +'filetype' => '', 'file_size' => 'Μέγεθος αρχείου', 'filter_for_documents' => '', 'filter_for_folders' => '', @@ -500,6 +508,7 @@ $text = array( 'folder_renamed_email_body' => '', 'folder_renamed_email_subject' => '', 'folder_title' => 'Όνομα Φακέλου', +'foot_note' => '', 'force_update' => '', 'friday' => 'Παρασκευή', 'friday_abbr' => 'Πα', @@ -526,6 +535,7 @@ $text = array( 'group_members' => 'Μέλη ομάδας', 'group_receipt_summary' => '', 'group_review_summary' => '', +'group_revision_summary' => '', 'guest_login' => '', 'guest_login_disabled' => '', 'hash' => '', @@ -627,7 +637,7 @@ $text = array( 'legend' => 'Ιστορικό', 'librarydoc' => '', 'linked_documents' => 'Σχετικά Έγγραφα', -'linked_files' => '', +'linked_files' => 'Συνδεμένα αρχεία', 'linked_to_current_version' => '', 'linked_to_document' => '', 'linked_to_this_version' => '', @@ -643,6 +653,7 @@ $text = array( 'lock_document' => 'Κλείδωμα', 'lock_message' => '', 'lock_status' => 'Κατάσταση', +'logfile_loading' => '', 'login' => 'Είσοδος', 'login_disabled_text' => '', 'login_disabled_title' => '', @@ -724,9 +735,11 @@ User: [username] URL: [url]', 'new_subfolder_email_subject' => '', 'new_user_image' => '', +'next_revision_abbr' => '', 'next_state' => '', 'nl_NL' => 'Δανέζικα', 'no' => 'Όχι', +'notification' => '', 'notify_added_email' => '', 'notify_added_email_body' => '', 'notify_added_email_subject' => '', @@ -738,9 +751,11 @@ URL: [url]', 'no_action' => '', 'no_approval_needed' => '', 'no_attached_files' => '', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => '', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => '', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -764,7 +779,7 @@ URL: [url]', 'no_version_check' => '', 'no_version_modification' => '', 'no_workflow_available' => '', -'objectcheck' => '', +'objectcheck' => 'Αναζήτηση σε αρχεία και φακέλους', 'object_check_critical' => '', 'object_check_warning' => '', 'obsolete' => '', @@ -822,8 +837,11 @@ URL: [url]', 'quota_is_disabled' => '', 'quota_warning' => '', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -834,7 +852,7 @@ URL: [url]', 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Πρόσφατες μεταφορτώσεις', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -844,7 +862,7 @@ URL: [url]', 'redraw' => '', 'refresh' => '', 'rejected' => '', -'released' => '', +'released' => 'Εκδόθηκε', 'removed_approver' => '', 'removed_file_email' => '', 'removed_file_email_body' => '', @@ -871,8 +889,11 @@ URL: [url]', 'reviewer_already_assigned' => '', 'reviewer_already_removed' => '', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => '', @@ -893,9 +914,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -905,6 +930,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1150,6 +1176,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1242,10 +1270,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => '', 'settings_Notification' => '', 'settings_notwritable' => '', 'settings_no_content_dir' => '', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => '', @@ -1362,6 +1394,7 @@ URL: [url]', 'settings_workflowMode' => '', 'settings_workflowMode_desc' => '', 'settings_workflowMode_valadvanced' => '', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => '', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => '', @@ -1376,6 +1409,7 @@ URL: [url]', 'sign_in' => 'Σύνδεση', 'sign_out' => 'Αποσύνδεση', 'sign_out_user' => 'Αποσύνδεση χρήστη', +'site_brand' => '', 'sk_SK' => 'Σλοβάκικα', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1405,6 +1439,7 @@ URL: [url]', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1499,9 +1534,13 @@ URL: [url]', 'switched_to' => '', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1540,11 +1579,12 @@ URL: [url]', 'toggle_qrcode' => '', 'to_before_from' => '', 'transfer_content' => '', -'transfer_document' => '', +'transfer_document' => 'Μεταφορά εγγράφου', 'transfer_no_read_access' => '', 'transfer_no_write_access' => '', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', @@ -1617,6 +1657,7 @@ URL: [url]', 'versioning_file_creation_warning' => '', 'versioning_info' => '', 'versiontolow' => '', +'version_comment' => '', 'version_deleted_email' => '', 'version_deleted_email_body' => '', 'version_deleted_email_subject' => '', @@ -1654,6 +1695,7 @@ URL: [url]', 'workflow_summary' => '', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => '', +'wrong_filetype' => '', 'x_more_objects' => '', 'year_view' => '', 'yes' => 'Ναι', diff --git a/languages/en_GB/lang.inc b/languages/en_GB/lang.inc index 1e513287d..118ecd4f5 100644 --- a/languages/en_GB/lang.inc +++ b/languages/en_GB/lang.inc @@ -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 (1787), archonwang (3), dgrutsch (9), netixw (14) +// Translators: Admin (1839), archonwang (3), dgrutsch (9), netixw (14) $text = array( '2_factor_auth' => '2-factor authentication', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'and', 'apply' => 'Apply', 'approvals_accepted' => '[no_approvals] approvals already accepted', +'approvals_accepted_latest' => '(being [no_approvals] in latest version)', 'approvals_and_reviews_accepted' => '[no_approvals] approvals and [no_reviews] reviews already accepted', 'approvals_and_reviews_not_touched' => '[no_approvals] approvals and [no_reviews] reviews not being touched', 'approvals_and_reviews_rejected' => '[no_approvals] approvals and [no_reviews] reviews already rejected', 'approvals_not_touched' => '[no_approvals] approvals not being touched', +'approvals_not_touched_latest' => '(being [no_approvals] in latest version)', 'approvals_rejected' => '[no_approvals] approvals already rejected', +'approvals_rejected_latest' => '(being [no_approvals] in latest version)', 'approvals_without_group' => 'Approvals without group', 'approvals_without_user' => 'Approvals without user', 'approval_deletion_email' => 'Approval request deleted', @@ -221,7 +224,7 @@ URL: [url]', 'cannot_retrieve_review_snapshot' => 'Unable to retrieve review status snapshot for this document version.', 'cannot_rm_root' => 'Error: Cannot delete root folder.', 'categories' => 'Categories', -'categories_loading' => 'Please wait, until category list is loaded …', +'categories_loading' => 'Please wait, until the list of categories is loaded …', 'category' => 'Category', 'category_exists' => 'Category already exists.', 'category_filter' => 'Only categories', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'This category is currently used by documents.', 'category_noname' => 'No category name given.', 'ca_ES' => 'Catalan', +'changelog_loading' => 'Please wait, until the change log is loaded …', 'change_assignments' => 'Set reviewer/approver', 'change_password' => 'Change password', 'change_password_message' => 'Your password has been changed.', @@ -421,7 +425,7 @@ New owner: [newuser] Parent folder: [folder_path] User: [username] URL: [url]', -'document_transfered_email_subject' => '[sitename]: [name] - Transfer Dokument', +'document_transfered_email_subject' => '[sitename]: [name] - Transfer Document', 'document_updated_email' => 'Document updated', 'document_updated_email_body' => 'Document updated Document: [name] @@ -448,6 +452,7 @@ The link is valid until [valid]. 'do_object_repair' => 'Repair all folders and documents.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Set file size', +'do_object_setfiletype' => 'Set file type', 'do_object_unlink' => 'Delete document version', 'draft' => 'Draft', 'draft_pending_approval' => 'Draft - pending approval', @@ -456,6 +461,7 @@ The link is valid until [valid]. 'dropfolderdir_missing' => 'Your personal drop folder does not exist on the server! Please ask your administrator to create it.', 'dropfolder_file' => 'File from drop folder', 'dropfolder_folder' => 'Folder from drop folder', +'dropfolder_metadata' => 'Metadata of the drop folder', 'dropupload' => 'Fast upload', 'drop_files_here' => 'Drop files here!', 'dump_creation' => 'DB dump creation', @@ -481,6 +487,7 @@ The link is valid until [valid]. 'edit_folder_props' => 'Edit folder', 'edit_group' => 'Edit group', 'edit_online' => 'Edit online', +'edit_online_warning' => 'Saving your changes will overwrite the content of the current version, instead of creating a new version.', 'edit_task' => 'Edit task', 'edit_transmittal_props' => 'Edit transmittal properties', 'edit_user' => 'Edit user', @@ -557,7 +564,8 @@ URL: [url]', 'files' => 'Files', 'files_deletion' => 'Files deletion', 'files_deletion_warning' => 'With this option you can delete all files of entire DMS folders. The versioning information will remain visible.', -'files_loading' => 'Please wait, until file list is loaded …', +'files_loading' => 'Please wait, until the list of files is loaded …', +'filetype' => 'File type', 'file_size' => 'Filesize', 'filter_for_documents' => 'Additional filter for documents', 'filter_for_folders' => 'Additional filter for folders', @@ -609,6 +617,7 @@ User: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Folder renamed', 'folder_title' => 'Folder \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Update', 'friday' => 'Friday', 'friday_abbr' => 'Fr', @@ -635,6 +644,7 @@ URL: [url]', 'group_members' => 'Group members', 'group_receipt_summary' => 'Group receipt summary', 'group_review_summary' => 'Group review summary', +'group_revision_summary' => 'Group revision summary', 'guest_login' => 'Login as guest', 'guest_login_disabled' => 'Guest login is disabled.', 'hash' => 'Hash', @@ -727,7 +737,7 @@ URL: [url]', 'keep' => 'Do not change', 'keep_doc_status' => 'Keep document status', 'keywords' => 'Keywords', -'keywords_loading' => 'Please wait, until keyword list is loaded …', +'keywords_loading' => 'Please wait, until the list of keywords is loaded …', 'keyword_exists' => 'Keyword already exists', 'ko_KR' => 'Korean', 'language' => 'Language', @@ -752,6 +762,7 @@ URL: [url]', 'lock_document' => 'Lock', 'lock_message' => 'This document is locked by [username]. Only authorized users can unlock this document.', 'lock_status' => 'Status', +'logfile_loading' => 'Pleae wait, until log file is loaded …', 'login' => 'Login', 'login_disabled_text' => 'Your account is disabled, probably because of too many failed logins.', 'login_disabled_title' => 'Account is disabled', @@ -838,9 +849,11 @@ User: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - New folder', 'new_user_image' => 'New image', +'next_revision_abbr' => 'Next Rev.', 'next_state' => 'New state', 'nl_NL' => 'Dutch', 'no' => 'No', +'notification' => 'Notification', 'notify_added_email' => 'You\'ve been added to notify list', 'notify_added_email_body' => 'Added to notification list Name: [name] @@ -860,9 +873,11 @@ URL: [url]', 'no_action' => 'No action required', 'no_approval_needed' => 'No approval pending.', 'no_attached_files' => 'No attached files', +'no_backup_dir' => 'Backup directory is not set.', 'no_current_version' => 'You are running an old version of SeedDMS. The latest available version is [latestversion].', 'no_default_keywords' => 'No keywords available', 'no_docs_checked_out' => 'No documents checked out', +'no_docs_expired' => 'No expired documents', 'no_docs_locked' => 'No documents locked.', 'no_docs_needs_correction' => 'No documents, that need to be corrected', 'no_docs_rejected' => 'No documents rejected.', @@ -958,8 +973,11 @@ If you have still problems to login, then please contact your administrator.', 'quota_is_disabled' => 'Quota support is currently disabled in the settings. Setting a user quota will have no effect until it is enabled again.', 'quota_warning' => 'Your maximum disc usage is exceeded by [bytes]. Please remove documents or previous versions.', 'receipts_accepted' => '[no_receipts] receipts already accepted', +'receipts_accepted_latest' => '(being [no_receipts] in latest version)', 'receipts_not_touched' => '[no_receipts] receipts not being touched', +'receipts_not_touched_latest' => '(being [no_receipts] in latest version)', 'receipts_rejected' => '[no_receipts] receipts already rejected', +'receipts_rejected_latest' => '(being [no_receipts] in latest version)', 'receipts_without_group' => 'Receipts without group', 'receipts_without_user' => 'Receipts without user', 'receipt_deletion_email_body' => 'User has been removed from the list of recipients @@ -1041,8 +1059,11 @@ URL: [url]', 'reviewer_already_assigned' => 'User is already assigned as a reviewer', 'reviewer_already_removed' => 'Reviewer has already been removed from review process or has already submitted a review', 'reviews_accepted' => '[no_reviews] reviews already accepted', +'reviews_accepted_latest' => '(being [no_reviews] in latest version)', 'reviews_not_touched' => '[no_reviews] reviews not being touched', +'reviews_not_touched_latest' => '(being [no_reviews] in latest version)', 'reviews_rejected' => '[no_reviews] reviews already rejected', +'reviews_rejected_latest' => '(being [no_reviews] in latest version)', 'reviews_without_group' => 'Reviews without group', 'reviews_without_user' => 'Reviews without user', 'review_deletion_email' => 'Review request deleted', @@ -1080,9 +1101,13 @@ URL: [url]', 'revise_document' => 'Revise document', 'revise_document_on' => 'Next revision of document version on [date]', 'revisions_accepted' => '[no_revisions] revisions already accepted', +'revisions_accepted_latest' => '(being [no_revisions] in latest version)', 'revisions_not_touched' => '[no_revisions] revisions not being touched', +'revisions_not_touched_latest' => '(being [no_revisions] in latest version)', 'revisions_pending' => '[no_revisions] revisions due in future', +'revisions_pending_latest' => '(being [no_revisions] in latest version)', 'revisions_rejected' => '[no_revisions] revisions already rejected', +'revisions_rejected_latest' => '(being [no_revisions] in latest version)', 'revisions_without_group' => 'Revisions without group', 'revisions_without_user' => 'Revisions without user', 'revision_date' => 'Date of revision', @@ -1097,6 +1122,7 @@ URL: [url]', 'revision_status' => 'Status', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => 'Revision summary', 'revisors' => 'Revisors', 'revisor_already_assigned' => 'User is already assigned as an revisor.', 'revisor_already_removed' => 'Revisor has already been removed from revision process or has already revised the document.', @@ -1297,7 +1323,7 @@ Name: [username] 'settings_dropFolderDir_desc' => 'This directory can be used for dropping files on the server\'s file system and importing them from there instead of uploading via the browser. The directory must contain a sub directory for each user who is allowed to import files this way.', 'settings_Edition' => 'Edition settings', 'settings_editOnlineFileTypes' => 'Edit Online File Types', -'settings_editOnlineFileTypes_desc' => 'Files with one of the following endings can be edited online (USE ONLY LOWER CASE CHARACTERS)', +'settings_editOnlineFileTypes_desc' => 'Files with one of the following endings or mime types can be edited online (USE ONLY LOWER CASE CHARACTERS)', 'settings_enable2FactorAuthentication' => 'Enable 2-factor authentication', 'settings_enable2FactorAuthentication_desc' => 'Enable/disable 2 factor authentication. The users will need the Google Authenticator on its mobile phone.', 'settings_enableAcknowledgeWorkflow' => '', @@ -1360,8 +1386,10 @@ Name: [username] 'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.', 'settings_enableRecursiveCount' => 'Enable recursive document/folder count', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', -'settings_enableRevisionOnVoteReject' => 'Reject by one revisor', -'settings_enableRevisionOnVoteReject_desc' => 'If set the document will be rejected if one revisor rejects the document.', +'settings_enableRevisionOneVoteReject' => 'Reject by one revisor', +'settings_enableRevisionOneVoteReject_desc' => 'If enabled, the document status will be set to \'needs correction\' once the first revisor rejects the document. If disabled, the document status will not change until all revisors have finished their revision.', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Enable revision of documents', 'settings_enableRevisionWorkflow_desc' => 'Enable, to be able to run the workflow for revising a document after a given period of time.', 'settings_enableSelfReceipt' => 'Allow reception of documents for logged in user', @@ -1452,10 +1480,14 @@ Name: [username] 'settings_maxUploadSize' => 'Maxium size for uploaded files', 'settings_maxUploadSize_desc' => 'This is the maximum size for uploaded files. It will take affect for document versions and attachments.', 'settings_more_settings' => 'Configure more settings. Default login: admin/admin', +'settings_noDocumentFormFields' => 'Do not show this fields', +'settings_noDocumentFormFields_desc' => 'This fields will not been show when adding or edition a document. Existing values will be kept.', 'settings_notfound' => 'Not found', 'settings_Notification' => 'Notification settings', 'settings_notwritable' => 'The configuration cannot be saved because the configuration file is not writable.', 'settings_no_content_dir' => 'Content directory', +'settings_onePageMode' => 'One page mode', +'settings_onePageMode_desc' => 'One page mode will turn on javascript code on the ViewFolder page, which updates the folder/document list, navigation, etc. when clicking on a folder or changing the sort parameter.', 'settings_overrideMimeType' => 'Override MimeType', 'settings_overrideMimeType_desc' => 'Override the MimeType delivered by the browser, if a file is uploaded. The new MimeType is determined by SeedDMS itself.', 'settings_partitionSize' => 'Partial filesize', @@ -1572,6 +1604,7 @@ Name: [username] 'settings_workflowMode' => 'Workflow mode', 'settings_workflowMode_desc' => 'The advanced workflow allows to specify your own release workflow for document versions.', 'settings_workflowMode_valadvanced' => 'advanced', +'settings_workflowMode_valnone' => 'none', 'settings_workflowMode_valtraditional' => 'traditional', 'settings_workflowMode_valtraditional_only_approval' => 'traditional (without review)', 'settings_zendframework' => 'Zend Framework', @@ -1586,6 +1619,7 @@ Name: [username] 'sign_in' => 'Sign in', 'sign_out' => 'Sign out', 'sign_out_user' => 'Sign out user', +'site_brand' => '', 'sk_SK' => 'Slovak', 'sort_by_date' => 'Sort by date', 'sort_by_name' => 'Sort by name', @@ -1615,12 +1649,13 @@ Name: [username] 'splash_edit_group' => 'Group saved', 'splash_edit_role' => 'Role saved', 'splash_edit_task' => 'Task saved', +'splash_edit_transmittal' => 'Transmittal saved', 'splash_edit_user' => 'User saved', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', 'splash_error_rm_download_link' => 'Error when removing download link', 'splash_error_send_download_link' => 'Error while sending download link', 'splash_extension_getlist' => 'Updated list of extensions from repository', -'splash_extension_import' => 'Extensition installed', +'splash_extension_import' => 'Extension installed', 'splash_extension_refresh' => 'Refreshed list of extensions', 'splash_extension_upload' => 'Extension installed', 'splash_folder_edited' => 'Save folder changes', @@ -1709,9 +1744,13 @@ Name: [username] 'switched_to' => 'Switched to', 'takeOverAttributeValue' => 'Take over attribute value from last version', 'takeOverGrpApprover' => 'Take over group of approvers from last version.', +'takeOverGrpApprovers' => 'Take Over Group Approvers', 'takeOverGrpReviewer' => 'Take over group of reviewers from last version.', +'takeOverGrpReviewers' => 'Take Over Group Reviewers', 'takeOverIndApprover' => 'Take over individual approver from last version.', +'takeOverIndApprovers' => 'Take Over Individual Approvers', 'takeOverIndReviewer' => 'Take over individual reviewer from last version.', +'takeOverIndReviewers' => 'Take Over Individual Reviewers', 'tasks' => 'Tasks', 'task_description' => 'Description', 'task_disabled' => 'Disabled', @@ -1755,6 +1794,7 @@ Name: [username] 'transfer_no_write_access' => 'The user does not have write access in the folder', 'transfer_objects' => 'Transfer objects', 'transfer_objects_to_user' => 'New owner', +'transfer_process_to_user' => 'Transfer process to user', 'transfer_to_user' => 'Transfer to user', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered @@ -1774,7 +1814,7 @@ URL: [url]', 'transmittal_comment' => 'Comment', 'transmittal_name' => 'Name', 'transmittal_size' => 'Size', -'tree_loading' => 'Please wait, until document tree is loaded …', +'tree_loading' => 'Please wait, until the document tree is loaded …', 'trigger_workflow' => 'Workflow', 'tr_TR' => 'Turkish', 'tuesday' => 'Tuesday', @@ -1836,6 +1876,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'With this operation you can create a file for each document containing the versioning information of that document. After the creation every file will be saved inside the document folder. Those files are not needed for the regular operation of the dms, but could be of value if the complete repository shall be transferred to an other system.', 'versioning_info' => 'Versioning info', 'versiontolow' => 'Version to low', +'version_comment' => 'Comment of version', 'version_deleted_email' => 'Version deleted', 'version_deleted_email_body' => 'Version deleted Document: [name] @@ -1878,6 +1919,7 @@ URL: [url]', 'workflow_summary' => 'Workflow summary', 'workflow_transition_without_user_group' => 'At least one of the transitions has neither a user nor a group!', 'workflow_user_summary' => 'User summary', +'wrong_filetype' => 'Wrong file type', 'x_more_objects' => '[number] more objects', 'year_view' => 'Year View', 'yes' => 'Yes', diff --git a/languages/es_ES/lang.inc b/languages/es_ES/lang.inc index 7d2368c00..6fcfee4d7 100644 --- a/languages/es_ES/lang.inc +++ b/languages/es_ES/lang.inc @@ -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: acabello (20), Admin (1118), angel (123), francisco (2), jaimem (14) +// Translators: acabello (20), Admin (1130), angel (123), francisco (2), jaimem (14) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'y', 'apply' => 'Aplicar', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Petición de aprobación eliminada', @@ -224,6 +227,7 @@ URL: [url]', 'category_in_use' => 'Esta categoría está en uso por documentos.', 'category_noname' => 'No ha proporcionado un nombre de categoría.', 'ca_ES' => 'Catala', +'changelog_loading' => '', 'change_assignments' => 'cambiar asignaciones', 'change_password' => 'cambiar contraseña', 'change_password_message' => 'Su contraseña se ha modificado.', @@ -424,6 +428,7 @@ URL: [url]', 'do_object_repair' => 'Reparar todas las carpetas y documentos.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Asignar tamaño de fichero', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Borrar versión del documento', 'draft' => '', 'draft_pending_approval' => 'Borador - pendiente de aprobación', @@ -431,7 +436,8 @@ URL: [url]', 'drag_icon_here' => 'Arrastre carpeta o documento aquí!', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Fichero de la carpeta destino', -'dropfolder_folder' => '', +'dropfolder_folder' => 'Carpeta de la carpeta destino', +'dropfolder_metadata' => '', 'dropupload' => 'Carga Rapida', 'drop_files_here' => 'Arrastre archivos aquí!', 'dump_creation' => 'Creación de volcado de BDD', @@ -457,6 +463,7 @@ URL: [url]', 'edit_folder_props' => 'Editar carpeta', 'edit_group' => 'Editar grupo...', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Editar usuario...', @@ -534,6 +541,7 @@ URL: [url]', 'files_deletion' => 'Eliminación de ficheros', 'files_deletion_warning' => 'Con esta opción se puede eliminar todos los ficheros del DMS completo. La información de versionado permanecerá visible.', 'files_loading' => 'Por favor espere, mientras la lista de archivos es cargada', +'filetype' => '', 'file_size' => 'Tamaño', 'filter_for_documents' => 'Filtro adicional para documentos', 'filter_for_folders' => 'Filtro adicional para carpetas', @@ -578,6 +586,7 @@ Usuario: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Carpeta renombrada', 'folder_title' => 'Carpeta \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Actualizar', 'friday' => 'Viernes', 'friday_abbr' => 'V', @@ -604,6 +613,7 @@ URL: [url]', 'group_members' => 'Miembros de grupo', 'group_receipt_summary' => '', 'group_review_summary' => 'Resumen del grupo revisor', +'group_revision_summary' => '', 'guest_login' => 'Acceso como invitado', 'guest_login_disabled' => 'La cuenta de invitado está deshabilitada.', 'hash' => '', @@ -621,7 +631,7 @@ URL: [url]', 'importfs' => '', 'import_extension' => '', 'import_fs' => 'Importar desde sistema de archivos', -'import_fs_warning' => '', +'import_fs_warning' => 'Esto funciona únicamente con carpetas dentro de la carpeta destino. La operación importa recursivamente todos los archivos y carpetas. Los archivos serán liberados inmediatamente.', 'include_content' => '', 'include_documents' => 'Incluir documentos', 'include_subdirectories' => 'Incluir subcarpetas', @@ -721,6 +731,7 @@ URL: [url]', 'lock_document' => 'Bloquear', 'lock_message' => 'Este documento ha sido bloqueado por [username]. Sólo usuarios autorizados pueden desbloquear este documento (vea el final de la página).', 'lock_status' => 'Estado', +'logfile_loading' => '', 'login' => 'Iniciar sesión', 'login_disabled_text' => 'Su cuenta está deshabilitada, probablemente es debido a demasiados intentos de acceso fallidos.', 'login_disabled_title' => 'La cuenta está deshabilitada', @@ -807,9 +818,11 @@ Usuario: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nueva carpeta', 'new_user_image' => 'Nueva imagen', +'next_revision_abbr' => '', 'next_state' => 'Nuevo estado', 'nl_NL' => 'Holandes', 'no' => 'No', +'notification' => '', 'notify_added_email' => 'Ha sido añadido a la lista de notificación', 'notify_added_email_body' => 'Añadido a la lista de notificación Nombre: [name] @@ -829,9 +842,11 @@ URL: [url]', 'no_action' => 'No es necesaria ninguna acción', 'no_approval_needed' => 'No hay aprobaciones pendientes.', 'no_attached_files' => 'No hay ficheros adjuntos', +'no_backup_dir' => '', 'no_current_version' => 'Está utilizando una versión desactualizada de este producto. La última versión disponible es [latestversion].', 'no_default_keywords' => 'No hay palabras clave disponibles', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'No hay documentos bloqueados.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -927,8 +942,11 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado '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.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -939,7 +957,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Subidas recientes', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -968,7 +986,7 @@ Carpeta principal: [folder_path] Usuario: [username] nURL: [url]', 'removed_workflow_email_subject' => '[sitename]: [name] - Eliminar flujo de trabajo de la versión del documento', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => 'Eliminar carpeta después de importar', 'remove_marked_files' => 'Eliminar ficheros marcados', 'repaired' => 'Reparado', 'repairing_objects' => 'Reparando documentos y carpetas.', @@ -992,8 +1010,11 @@ nURL: [url]', 'reviewer_already_assigned' => 'Ya está asignado como revisor', 'reviewer_already_removed' => 'Ya ha sido eliminado del proceso de revisión o ya ha enviado una revisión', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Petición de revisión eliminada', @@ -1021,9 +1042,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -1033,6 +1058,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1150,8 +1176,8 @@ URL: [url]', 'seq_keep' => 'Mantener posición', 'seq_start' => 'Primera posición', 'sessions' => '', -'setDateFromFile' => '', -'setDateFromFolder' => '', +'setDateFromFile' => 'Obtiene la fecha del archivo importado', +'setDateFromFolder' => 'Obtiene la fecha de la carpeta importada', 'settings' => 'Configuración', 'settings_activate_module' => 'Activar módulo', 'settings_activate_php_extension' => 'Activar extensión PHP', @@ -1249,8 +1275,8 @@ URL: [url]', 'settings_enableDropUpload_desc' => 'Habilite/Deshabilite el área de drop en la pagina \'\'Ver folder\' para subir archivos por Drag&Drop', 'settings_enableDuplicateDocNames' => 'Permite tener nombres de documento duplicados', 'settings_enableDuplicateDocNames_desc' => 'Permite tener un nombre de documento duplicado en una carpeta.', -'settings_enableDuplicateSubFolderNames' => '', -'settings_enableDuplicateSubFolderNames_desc' => '', +'settings_enableDuplicateSubFolderNames' => 'Permitir nombres de subcarpetas duplicados', +'settings_enableDuplicateSubFolderNames_desc' => 'Permite tener nombres duplicados de subcarpetas dentro de una carpeta', 'settings_enableEmail' => 'Habilitar E-mail', 'settings_enableEmail_desc' => 'Habilitar/Deshabilitar notificación automática por correo electrónico', 'settings_enableFilterReceipt' => '', @@ -1291,6 +1317,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'Habilitar cuenta de documento/carpeta recursivo', 'settings_enableRecursiveCount_desc' => 'Si cambia a activado, el número de documentos y carpetas en la carpeta será determinado por la cuenta de todos los objetos recursivos procesados de la carpeta y una vez contados el usuarios tendrá permiso para acceder.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1383,10 +1411,14 @@ URL: [url]', 'settings_maxUploadSize' => 'Tamaño máximo de subida archivos', 'settings_maxUploadSize_desc' => 'Tamaño máximo de archivos a cargar. Se tomará en cuenta para versiones de documentos y anexos de correo electrónico', 'settings_more_settings' => 'Configure más parámetros. Acceso por defecto: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'No encontrado', 'settings_Notification' => 'Parámetros de notificación', 'settings_notwritable' => 'La configuración no se puede guardar porque el fichero de configuración no es escribible.', 'settings_no_content_dir' => 'Carpeta de contenidos', +'settings_onePageMode' => 'Modo una página', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Anular MimeType', 'settings_overrideMimeType_desc' => 'Permitir que SeedDMS fije el tipo MIME sobreescribiendo el que haya definido el navegador durante el proceso de carga de un archivo.', 'settings_partitionSize' => 'Tamaño de fichero parcial', @@ -1503,6 +1535,7 @@ URL: [url]', 'settings_workflowMode' => 'Workflow mode', 'settings_workflowMode_desc' => 'El flujo de trabajo avanzado permite especificar su propia versión de flujo para las versiones de documento.', 'settings_workflowMode_valadvanced' => 'avanzado', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'tradicional', 'settings_workflowMode_valtraditional_only_approval' => 'Tradicional(sin revisión)', 'settings_zendframework' => 'Zend Framework', @@ -1517,10 +1550,11 @@ URL: [url]', 'sign_in' => 'Conectar', 'sign_out' => 'Salir', 'sign_out_user' => 'Desconectar usuario', +'site_brand' => '', 'sk_SK' => 'Slovaco', 'sort_by_date' => 'Ordenar por Fecha', -'sort_by_name' => 'Ordenar por Nombre', -'sort_by_sequence' => 'Ordenar por Secuencia', +'sort_by_name' => 'Ordenar por nombre', +'sort_by_sequence' => 'Ordenar por secuencia', 'space_used_on_data_folder' => 'Espacio usado en la carpeta de datos', 'splash_added_to_clipboard' => 'Agregado al portapapeles', 'splash_add_access' => '', @@ -1546,6 +1580,7 @@ URL: [url]', 'splash_edit_group' => 'Grupo guardado', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Usuario guardado', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1640,9 +1675,13 @@ URL: [url]', 'switched_to' => 'Cambiar a', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Tomar control de la revisión de la última versión', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1686,6 +1725,7 @@ URL: [url]', 'transfer_no_write_access' => 'El usuario no tiene acceso de escritura en la carpeta', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Transferir al usuario', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered @@ -1767,6 +1807,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Con esta operación usted puede crear un fichero que contenga la información de versiones de una carpeta del DMS completa. Después de la creación todos los ficheros se guardarán en la carpeta de documentos.', 'versioning_info' => 'Información de versiones', 'versiontolow' => 'Versión', +'version_comment' => '', 'version_deleted_email' => 'Versión eliminada', 'version_deleted_email_body' => 'Versión eliminada Documento: [name] @@ -1809,6 +1850,7 @@ URL: [url]', 'workflow_summary' => 'Resumen Flujo de Trabajo', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Resumen Usuario', +'wrong_filetype' => '', 'x_more_objects' => '[number] más objetos', 'year_view' => 'Vista del año', 'yes' => 'Sí', diff --git a/languages/fr_FR/lang.inc b/languages/fr_FR/lang.inc index 70f818ab9..05c46e55c 100644 --- a/languages/fr_FR/lang.inc +++ b/languages/fr_FR/lang.inc @@ -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 (1091), jeromerobert (50), lonnnew (9), Oudiceval (755) +// Translators: Admin (1099), jeromerobert (50), lonnnew (9), Oudiceval (767) $text = array( '2_factor_auth' => 'Authentification forte', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'et', 'apply' => 'Appliquer', 'approvals_accepted' => '[no_approvals] approbations déjà confirmées', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] approbations et [no_reviews] vérifications déjà confirmées', 'approvals_and_reviews_not_touched' => '[no_approvals] approbations et [no_reviews] vérifications non amorcées', 'approvals_and_reviews_rejected' => '[no_approvals] approbations et [no_reviews] vérifications déjà rejetées', 'approvals_not_touched' => '[no_approvals] approbations non amorcées', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] approbations déjà rejetées', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Approbations sans groupe', 'approvals_without_user' => 'Approbations sans utilisateur', 'approval_deletion_email' => 'Demande d\'approbation supprimée', @@ -127,7 +130,7 @@ Commentaire : [comment] Utilisateur : [username] URL : [url]', 'approval_submit_email_subject' => '[sitename]: [name] - Approbation soumise', -'approval_summary' => 'Vue d’ensemble approbation', +'approval_summary' => 'Récapitulatif approbation', 'approval_update_failed' => 'Erreur de la mise à jour du statut d\'approbation. Echec de la mise à jour.', 'approvers' => 'Approbateurs', 'approver_already_assigned' => 'L’utilisateur est déjà affecté comme approbateur.', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Cette catégorie est en cours d\'utilisation par des documents.', 'category_noname' => 'Aucun nom de catégorie fourni.', 'ca_ES' => 'Catalan', +'changelog_loading' => '', 'change_assignments' => 'Changer les affectations', 'change_password' => 'Changer de mot de passe', 'change_password_message' => 'Votre mot de passe a été changé.', @@ -448,6 +452,7 @@ Le lien est valide jusqu’au [valid]. 'do_object_repair' => 'Réparer tous les dossiers et documents.', 'do_object_setchecksum' => 'Définir checksum', 'do_object_setfilesize' => 'Définir la taille du fichier', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Supprimer la version du document', 'draft' => 'Ébauche', 'draft_pending_approval' => 'Ébauche - en attente d’approbation', @@ -456,6 +461,7 @@ Le lien est valide jusqu’au [valid]. 'dropfolderdir_missing' => 'Votre dossier de dépôt personnel n\'existe pas sur le serveur ! Veuillez faire une demande à l\'administrateur.', 'dropfolder_file' => 'Fichier du dossier de dépôt', 'dropfolder_folder' => 'Répertoire du dossier de dépôt', +'dropfolder_metadata' => '', 'dropupload' => 'Téléchargement rapide', 'drop_files_here' => 'Glissez les fichiers ici !', 'dump_creation' => 'Sauvegarder la base de données', @@ -481,6 +487,7 @@ Le lien est valide jusqu’au [valid]. 'edit_folder_props' => 'Modifier le dossier', 'edit_group' => 'Modifier un groupe', 'edit_online' => 'Modification en ligne', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Modifier les propriétés de la transmission', 'edit_user' => 'Modifier un utilisateur', @@ -558,6 +565,7 @@ URL : [url]', 'files_deletion' => 'Suppression de fichiers', 'files_deletion_warning' => 'Avec cette option, vous pouvez supprimer tous les fichiers d\'un dossier DMS. Les informations de version resteront visibles.', 'files_loading' => 'Patientez pendant le chargement de la liste des fichiers', +'filetype' => '', 'file_size' => 'Taille', 'filter_for_documents' => 'Filtre additionnel pour les documents', 'filter_for_folders' => 'Filtre additionnel pour les dossiers', @@ -609,6 +617,7 @@ Utilisateur: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Dossier renommé', 'folder_title' => 'Dossier \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Mettre à jour', 'friday' => 'Vendredi', 'friday_abbr' => 'Ven.', @@ -628,13 +637,14 @@ URL: [url]', 'global_workflow_states' => 'États de Workflow', 'group' => 'Groupe', 'groups' => 'Groupes', -'group_approval_summary' => 'Vue d’ensemble groupe approbation', +'group_approval_summary' => 'Récapitulatif groupe approbation', 'group_exists' => 'Ce groupe existe déjà.', 'group_info' => 'Informations du groupe', 'group_management' => 'Gestion des groupes', 'group_members' => 'Membres du groupe', -'group_receipt_summary' => 'Vue d’ensemble groupe réception', -'group_review_summary' => 'Vue d’ensemble groupe vérification', +'group_receipt_summary' => 'Récapitulatif groupe réception', +'group_review_summary' => 'Récapitulatif groupe vérification', +'group_revision_summary' => 'Récapitulatif groupe révision', 'guest_login' => 'Se connecter comme invité', 'guest_login_disabled' => 'Connexion d\'invité désactivée.', 'hash' => 'Hash', @@ -752,6 +762,7 @@ URL: [url]', 'lock_document' => 'Verrouiller', 'lock_message' => 'Ce document a été verrouillé par [username]. Seuls les utilisateurs autorisés peuvent déverrouiller ce document.', 'lock_status' => 'Statut', +'logfile_loading' => '', 'login' => 'Identification', 'login_disabled_text' => 'Votre compte est désactivé, sans doute à cause de trop nombreuses connexions qui ont échoué.', 'login_disabled_title' => 'Compte désactivé', @@ -838,9 +849,11 @@ Utilisateur : [username] URL : [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nouveau dossier', 'new_user_image' => 'Nouvelle image', +'next_revision_abbr' => '', 'next_state' => 'Nouvel état', 'nl_NL' => 'Danois', 'no' => 'Non', +'notification' => 'Alerte', 'notify_added_email' => 'Vous avez été ajouté à la liste des notifications.', 'notify_added_email_body' => 'Ajouté à la liste des notifications Nom : [name] @@ -860,9 +873,11 @@ URL: [url]', 'no_action' => 'Aucune action n\'est nécessaire', 'no_approval_needed' => 'Aucune approbation en attente', 'no_attached_files' => 'Aucun fichier attaché', +'no_backup_dir' => '', 'no_current_version' => 'Vous utilisez une vieille version de SeedDMS. La dernière version disponible est la [latestversion].', 'no_default_keywords' => 'Aucun mot-clé disponible', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'Aucun document verrouillé', 'no_docs_needs_correction' => 'Aucun document ne nécessite de correction', 'no_docs_rejected' => 'Aucun document rejeté.', @@ -956,8 +971,11 @@ En cas de problème persistant, veuillez contacter votre administrateur.', 'quota_is_disabled' => 'Le support des quotas est actuellement désactivé dans les réglages. Affecter un quota utilisateur n’aura pas d’effet jusqu’à ce qu’il soit de nouveau activé.', 'quota_warning' => 'Votre quota d’espace disque est dépassé de [bytes]. Veuillez supprimer des documents ou d\'anciennes versions.', 'receipts_accepted' => '[no_receipts] réceptions déjà confirmées', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '[no_receipts] réceptions non amorcées', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '[no_receipts] réceptions déjà rejetées', +'receipts_rejected_latest' => '', 'receipts_without_group' => 'Réceptions sans groupe', 'receipts_without_user' => 'Réceptions sans utilisateur', 'receipt_deletion_email_body' => 'L’utilisateur a été retiré de la liste des destinataires @@ -977,9 +995,9 @@ Utilisateur : [username] URL : [url]', 'receipt_request_email_subject' => '[sitename] : [name] - Demande de réception', 'receipt_status' => 'Statut', -'receipt_summary' => 'Vue d’ensemble réception', +'receipt_summary' => 'Récapitulatif réception', 'receipt_update_failed' => 'La confirmation de réception a échoué', -'recent_uploads' => '', +'recent_uploads' => 'Téléchargements récents', 'reception' => 'Réception', 'reception_acknowleged' => 'Réception confirmée', 'reception_noaction' => 'Aucune action', @@ -1031,8 +1049,11 @@ URL : [url]', 'reviewer_already_assigned' => 'est déjà déclaré en tant qu’examinateur', 'reviewer_already_removed' => 'L’examinateur a déjà été retiré du processus de vérification ou a déjà soumis la vérification.', 'reviews_accepted' => '[no_reviews] vérifications déjà confirmées', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '[no_reviews] vérifications non amorcées', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '[no_reviews] vérifications déjà rejetées', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'Vérifications sans groupe', 'reviews_without_user' => 'Vérifications sans utilisateur', 'review_deletion_email' => 'Demande de vérification supprimée', @@ -1065,14 +1086,18 @@ Dossier parent : [folder_path] Utilisateur : [username] URL : [url]', 'review_submit_email_subject' => '[sitename] : [name] - Vérification faite', -'review_summary' => 'Vue d’ensemble vérification', +'review_summary' => 'Récapitulatif vérification', 'review_update_failed' => 'Erreur lors de la mise à jour du statut de vérification. Échec de la mise à jour.', 'revise_document' => 'Réviser le document', 'revise_document_on' => 'Prochaine révision de la version du document le [date]', 'revisions_accepted' => '[no_revisions] révisions déjà confirmées', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '[no_revisions] révisions non amorcées', +'revisions_not_touched_latest' => '', 'revisions_pending' => '[no_revisions] révisions à venir en attente', +'revisions_pending_latest' => '', 'revisions_rejected' => '[no_revisions] révisions déjà rejetées', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'Révisions sans groupe', 'revisions_without_user' => 'Révisions sans utilisateur', 'revision_date' => 'Date de révision', @@ -1087,6 +1112,7 @@ URL : [url]', 'revision_status' => 'État', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => 'Récapitulatif révision', 'revisors' => 'Réviseurs', 'revisor_already_assigned' => 'L’utilisateur est déjà attribué en tant que réviseur.', 'revisor_already_removed' => 'Le réviseur a déjà été retiré du processus de révision ou a déjà révisé le document.', @@ -1344,8 +1370,10 @@ Nom : [username] 'settings_enableReceiptWorkflow_desc' => 'Activer cette option pour permettre de confirmer la réception de document dans le workflow.', 'settings_enableRecursiveCount' => 'Décompte récursif des documents/dossiers', '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_enableRevisionOnVoteReject' => 'Rejet par un réviseur', -'settings_enableRevisionOnVoteReject_desc' => 'Si activé, le document sera rejeté si un réviseur rejette le document.', +'settings_enableRevisionOneVoteReject' => 'Rejet par un réviseur', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Activer la révision des documents', 'settings_enableRevisionWorkflow_desc' => 'Activer afin de pouvoir lancer un flux de travail pour réviser un document après une période donnée.', 'settings_enableSelfReceipt' => '', @@ -1436,10 +1464,14 @@ Nom : [username] 'settings_maxUploadSize' => 'Taille max. des fichiers', 'settings_maxUploadSize_desc' => 'Taille maximale (en octets) pour les fichiers téléversés. Concerne les versions d’un document et les fichiers attachés.', 'settings_more_settings' => 'Configurer d\'autres paramètres. Connexion par défaut: admin/admin', +'settings_noDocumentFormFields' => 'N\'afficher pas ce champ', +'settings_noDocumentFormFields_desc' => 'Ce champ ne sera pas visible quand vous ajoutez ou éditez un document. Les valeurs existantes seront retenues.', 'settings_notfound' => 'Introuvable', 'settings_Notification' => 'Notifications', 'settings_notwritable' => 'La configuration ne peut pas être enregistrée car le fichier de configuration n’est pas accessible en écriture.', 'settings_no_content_dir' => 'Répertoire de contenu', +'settings_onePageMode' => 'Mode une page', +'settings_onePageMode_desc' => 'Le mode Page unique activera le code javascript dans la page AfficherDossier, qui va mettre à jour la liste Dossier/Document, navigation, etc quand vous cliquez sur un dossier ou vous changer le parametre de l\'ordre d\'affichage.', 'settings_overrideMimeType' => 'Passer outre le type MIME', 'settings_overrideMimeType_desc' => 'Ne pas tenir compte du type MIME envoyé par le navigateur quand un fichier est téléversé. Le type MIME sera déterminé par SeedDMS.', 'settings_partitionSize' => 'Taille des fichiers partiels téléchargées par jumploader', @@ -1556,6 +1588,7 @@ Nom : [username] 'settings_workflowMode' => 'Mode workflow', 'settings_workflowMode_desc' => 'Le workflow avancé permet de définir son propre workflow de parution pour les versions de documents.', 'settings_workflowMode_valadvanced' => 'avancé', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'traditionnel', 'settings_workflowMode_valtraditional_only_approval' => 'traditionnel (sans revue)', 'settings_zendframework' => 'Zend Framework', @@ -1570,6 +1603,7 @@ Nom : [username] 'sign_in' => 'Connexion', 'sign_out' => 'Déconnexion', 'sign_out_user' => 'Déconnecter l\'utilisateur', +'site_brand' => '', 'sk_SK' => 'Slovaque', 'sort_by_date' => 'Trier par date', 'sort_by_name' => 'Trier par nom', @@ -1599,6 +1633,7 @@ Nom : [username] 'splash_edit_group' => 'Groupe modifié', 'splash_edit_role' => 'Rôle modifié', 'splash_edit_task' => 'Tâche modifiée', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Utilisateur modifié', 'splash_error_add_to_transmittal' => 'Erreur lors de l’ajout du document à la transmission', 'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement', @@ -1693,9 +1728,13 @@ Nom : [username] 'switched_to' => 'Connexion provisoire sous', 'takeOverAttributeValue' => 'Récupérer la valeur de la dernière version', 'takeOverGrpApprover' => 'Récupérer le groupe d\'approbateurs de la dernière version.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Récupérer le groupe d\'examinateurs de la dernière version.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Récupérer les approbateurs de la dernière version.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Récupérer les examinateurs de la dernière version.', +'takeOverIndReviewers' => '', 'tasks' => 'Tâches', 'task_description' => 'Description', 'task_disabled' => 'Désactivée', @@ -1739,6 +1778,7 @@ Nom : [username] 'transfer_no_write_access' => 'L’utilisateur n’a pas le droit d’écriture dans ce dossier', 'transfer_objects' => 'Transférer les objets', 'transfer_objects_to_user' => 'Nouveau propriétaire', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Transférer à l’utilisateur', 'transition_triggered_email' => 'Transition de workflow activé', 'transition_triggered_email_body' => 'Transition de workflow déclenchée @@ -1820,6 +1860,7 @@ URL : [url]', 'versioning_file_creation_warning' => 'Cette opération permet de créer, pour chaque document, un fichier texte contenant les informations générales et l’historique des versions du document. Chaque fichier sera enregistré dans le répertoire du document. Ces fichiers ne sont pas nécessaires au bon fonctionnement de SeedDMS, mais ils peuvent être utiles en cas de transfert des fichiers vers un autre système.', 'versioning_info' => 'Versions', 'versiontolow' => '', +'version_comment' => 'commentaire de la version', 'version_deleted_email' => 'Version supprimée', 'version_deleted_email_body' => 'Version supprimée Document: [name] @@ -1842,7 +1883,7 @@ URL: [url]', 'workflow_action_in_use' => 'Cette action est actuellement utilisée par des workflows.', 'workflow_action_name' => 'Nom', 'workflow_editor' => 'Editeur de Workflow', -'workflow_group_summary' => 'Vue d’ensemble du groupe', +'workflow_group_summary' => 'Récapitulatif groupe workflow', 'workflow_has_cycle' => '', 'workflow_initstate' => 'Etat initial', 'workflow_in_use' => 'Ce workflow est actuellement utilisé par des documents.', @@ -1859,9 +1900,10 @@ URL: [url]', 'workflow_state_docstatus' => 'Etat du document', 'workflow_state_in_use' => 'Cet état est actuellement utilisé par des workflows.', 'workflow_state_name' => 'Nom', -'workflow_summary' => 'Vue d’ensemble du workflow', +'workflow_summary' => 'Récapitulatif workflow', 'workflow_transition_without_user_group' => 'Au moins une transition a ni utilisateur, ni groupe !', -'workflow_user_summary' => 'Vue d’ensemble de l’utilisateur', +'workflow_user_summary' => 'Récapitulatif utilisateur', +'wrong_filetype' => '', 'x_more_objects' => '[number] objets supplémentaires', 'year_view' => 'Vue annuelle', 'yes' => 'Oui', diff --git a/languages/hr_HR/lang.inc b/languages/hr_HR/lang.inc index 125a66c62..a22baf794 100644 --- a/languages/hr_HR/lang.inc +++ b/languages/hr_HR/lang.inc @@ -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 (1222), marbanas (16) +// Translators: Admin (1225), marbanas (16) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ Internet poveznica: [url]', 'and' => 'i', 'apply' => 'Primjeni', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Izbrisan zahtjev za odobrenje', @@ -229,6 +232,7 @@ Internet poveznica: [url]', 'category_in_use' => 'Ovu kategoriju trenutno koriste dokumenti.', 'category_noname' => 'Nije dan naziv kategoriji.', 'ca_ES' => 'Katalonski', +'changelog_loading' => '', 'change_assignments' => 'Promjena zadataka', 'change_password' => 'Promjeni lozinku', 'change_password_message' => 'Vaša lozinka je promijenjena.', @@ -429,6 +433,7 @@ Internet poveznica: [url]', 'do_object_repair' => 'Popravi sve mape i dokumente.', 'do_object_setchecksum' => 'Postavi kontrolnu sumu', 'do_object_setfilesize' => 'Postavi veličinu datoteke', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Izbriši verziju dokumenta', 'draft' => 'Nacrt', 'draft_pending_approval' => 'Skica - čeka odobrenje', @@ -437,6 +442,7 @@ Internet poveznica: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Datoteka iz padajuće mape', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Zona za brzo učitavanje', 'drop_files_here' => 'Ovdje ispusti datoteku!', 'dump_creation' => 'Izrada odlagališta baze podataka', @@ -462,6 +468,7 @@ Internet poveznica: [url]', 'edit_folder_props' => 'Uredi mapu', 'edit_group' => 'Uredi mapu', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Izmjena postavki proslijeđivanja', 'edit_user' => 'Uredi korisnika', @@ -539,6 +546,7 @@ Internet poveznica: [url]', 'files_deletion' => 'Brisanje datoteke', 'files_deletion_warning' => 'Ovom opcijom možete izbrisati sve datoteke ili cjelokupne DMS mape. Informacije o verzijama će ostati vidljive.', 'files_loading' => 'Molimo pričekati dok se ne učita lista datoteka...', +'filetype' => '', 'file_size' => 'Veličina datoteke', 'filter_for_documents' => 'Dodatni filter za dokumente', 'filter_for_folders' => 'Dodatni filter za dokumente', @@ -583,6 +591,7 @@ Korisnik: [username] Internet poveznica: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Preimenovana mapa', 'folder_title' => 'Mapa \'[foldername]\'', +'foot_note' => '', 'force_update' => '', 'friday' => 'Petak', 'friday_abbr' => 'Pe', @@ -609,6 +618,7 @@ Internet poveznica: [url]', 'group_members' => 'Članovi grupe', 'group_receipt_summary' => 'Sažetak prijema za grupu', 'group_review_summary' => 'Sažetak pregleda grupe', +'group_revision_summary' => '', 'guest_login' => 'Prijavite se kao gost', 'guest_login_disabled' => 'Prijava "kao gost" je onemogućena.', 'hash' => '', @@ -726,6 +736,7 @@ Internet poveznica: [url]', 'lock_document' => 'Zaključaj', 'lock_message' => 'Ovaj dokument je zaključao [username]. Samo ovlašteni korisnici mogu otključati ovaj dokument.', 'lock_status' => 'Status', +'logfile_loading' => '', 'login' => 'Prijava', 'login_disabled_text' => 'Vaš korisnički račun je onemogućen, vjerojatno zbog previše neispravnih prijava.', 'login_disabled_title' => 'Korisnički račun je onemogućen', @@ -811,9 +822,11 @@ Korisnik: [username] Internet poveznica: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nova mapa', 'new_user_image' => 'Nova slika', +'next_revision_abbr' => '', 'next_state' => 'Slijedeći status', 'nl_NL' => 'Nizozemski', 'no' => 'Ne', +'notification' => '', 'notify_added_email' => 'Dodani ste na popis obavijesti', 'notify_added_email_body' => 'Dodano na popis obavijesti Naziv: [name] @@ -833,9 +846,11 @@ Internet poveznica: [url]', 'no_action' => 'Nema zahtjevane radnje', 'no_approval_needed' => 'Nema odobrenja na čekanju.', 'no_attached_files' => 'Nema priloženih datoteka', +'no_backup_dir' => '', 'no_current_version' => 'Koristite na staru verziju ProsperaDMS-a. Najnovija dostupna verzija je[latestversion].', 'no_default_keywords' => 'Nema dostupnih ključnih riječi', 'no_docs_checked_out' => 'Niti jedan dokument nije odjavljen', +'no_docs_expired' => '', 'no_docs_locked' => 'Nema zaključanih dokumenata.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -931,8 +946,11 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'quota_is_disabled' => 'Podrška kvoti je trenutno onemogućena u postavkama. Postavka korisničke kvote neće imati utjecaja dok se ponovno ne omogući.', 'quota_warning' => 'Vaš maksimalni prostor na disku je premašen za [bytes]. Molimo uklonite dokumente ili prethodne verzije.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -943,7 +961,7 @@ Ako i dalje imate problema s prijavom, molimo kontaktirajte Vašeg administrator 'receipt_status' => '', 'receipt_summary' => 'Sažetak prijema', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Poslijedni Prenosi', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -1003,8 +1021,11 @@ Internet poveznica: [url]', 'reviewer_already_assigned' => 'je već dodijeljen kao recezent', 'reviewer_already_removed' => 'je već uklonjen iz postupka pregleda ili je već podnijet pregled.', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Izbrisan zahtjev za pregled', @@ -1042,9 +1063,13 @@ Internet poveznica: [url]', 'revise_document' => 'Revidiraj dokument', 'revise_document_on' => 'Slijedeća revizija verzije dokumenta na dan [date]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => 'Datum revizije', @@ -1054,6 +1079,7 @@ Internet poveznica: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revizori', 'revisor_already_assigned' => 'Korisnik je već dodijeljen kao revizor', 'revisor_already_removed' => 'Revizor je uklonjen iz procesa revizije ili je već revidirao dokument.', @@ -1312,6 +1338,8 @@ Internet poveznica: [url]', 'settings_enableReceiptWorkflow_desc' => 'Omogućite kako bi omogućili tok rada za potvrđivajne prijema dokumenta.', 'settings_enableRecursiveCount' => 'Omogući rekurzivno brojanje dokumenta/mape', 'settings_enableRecursiveCount_desc' => 'Ako je uključeno, broj dokumenata i mapa u pregledu mape će biti određen brojanjem svih objekata rekurzivnom obradom mapa i brojanjem tih dokumenata i mapa kojima je korisniku omogućen pristup.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Omogućavanje revizije dokumenata', @@ -1404,10 +1432,14 @@ Internet poveznica: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Konfiguriraj više postavki. Zadana prijava: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nije pronađeno', 'settings_Notification' => 'Postavke bilježenja', 'settings_notwritable' => 'Konfiguracija se ne može pohraniti jer datoteka konfiguracije nema mogućnost upisivanja.', 'settings_no_content_dir' => 'Mapa sadržaja', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Premosti tip datoteke', 'settings_overrideMimeType_desc' => 'Premošćivanje tipa datoteke određenog od strane pretraživača ako je datoteka učitana. Novi tip datoteke se određuje od strane DMS sustava.', 'settings_partitionSize' => 'Veličina djelomične datoteke', @@ -1524,6 +1556,7 @@ Internet poveznica: [url]', 'settings_workflowMode' => 'Način rada toka rada', 'settings_workflowMode_desc' => 'Napredni tok rada vam omogućuje da odredite vaše vlastito izdanje toka rada za verzije dokumenta.', 'settings_workflowMode_valadvanced' => 'napredno', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'tradicionalno', 'settings_workflowMode_valtraditional_only_approval' => 'uobičajeno (bez revizije)', 'settings_zendframework' => 'Zend okruženje', @@ -1538,6 +1571,7 @@ Internet poveznica: [url]', 'sign_in' => 'Prijava u sustav', 'sign_out' => 'Odjava', 'sign_out_user' => 'Odjavi korisnika', +'site_brand' => '', 'sk_SK' => 'Slovački', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1567,6 +1601,7 @@ Internet poveznica: [url]', 'splash_edit_group' => 'Groupa pohranjena', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Korisnik pohranjen', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1661,9 +1696,13 @@ Internet poveznica: [url]', 'switched_to' => 'Promjenjeno u', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => 'Preuzimanje grupe odobravatelja iz zadnje verzije.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Preuzimanje grupe revizora iz zadnje verzije.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Preuzimanje pojedinačnog odobravatelja iz zadnje verzije.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Preuzimanje pojedinačnog revizora iz zadnje verzije.', +'takeOverIndReviewers' => '', 'tasks' => 'Zadaci', 'task_description' => '', 'task_disabled' => '', @@ -1703,10 +1742,11 @@ Internet poveznica: [url]', 'to_before_from' => 'Datum završetka ne može biti prije datuma početka', 'transfer_content' => '', 'transfer_document' => 'Prijenos dokumenta', -'transfer_no_read_access' => '', -'transfer_no_write_access' => '', +'transfer_no_read_access' => 'Korisnik nema pravo čitanja u ovom folderu', +'transfer_no_write_access' => 'Korisnik nema pravo pisanja u ovom folderu', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Prijenos korisniku', 'transition_triggered_email' => 'Zatražena promjena toka rada', 'transition_triggered_email_body' => 'Zatražena promjena toka rada @@ -1788,6 +1828,7 @@ Internet poveznica: [url]', 'versioning_file_creation_warning' => 'Ovo radnjom možete izraditi datoteku koja sadrži informacije o verzijama cijele DMS mape. Nakon izrade, svaka datoteka će biti pohranjena unutar podatkovne mape.', 'versioning_info' => 'Info o verzijama', 'versiontolow' => 'Na nižu verziju', +'version_comment' => '', 'version_deleted_email' => 'Izbrisana verzija', 'version_deleted_email_body' => 'Izbrisana verzija Dokument: [name] @@ -1830,6 +1871,7 @@ Internet poveznica: [url]', 'workflow_summary' => 'Pregled toka rada', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Pregled korisnika', +'wrong_filetype' => '', 'x_more_objects' => '[number] više objekata', 'year_view' => 'Pregled po godini', 'yes' => 'Da', diff --git a/languages/hu_HU/lang.inc b/languages/hu_HU/lang.inc index 2f080ed58..46dd35452 100644 --- a/languages/hu_HU/lang.inc +++ b/languages/hu_HU/lang.inc @@ -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 (633), ribaz (1036) +// Translators: Admin (638), ribaz (1036) $text = array( '2_factor_auth' => 'Kétfaktoros azonosítás', @@ -90,11 +90,14 @@ URL: [url]', 'and' => '-', 'apply' => 'Elfogad', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Jóváhagyási kérelem törölve', @@ -224,6 +227,7 @@ URL: [url]', 'category_in_use' => 'Dokumentumok használják ezt a kategóriát', 'category_noname' => 'Nem adott meg kategória nevet.', 'ca_ES' => 'Katalán', +'changelog_loading' => '', 'change_assignments' => 'Hozzárendelések módosítása', 'change_password' => 'Jelszó módosítása', 'change_password_message' => 'Jelszava módosításra került.', @@ -346,7 +350,7 @@ URL: [url]', 'documents_user_no_reception' => '', 'documents_user_obsolete' => '', 'documents_user_reception' => '', -'documents_user_rejected' => '', +'documents_user_rejected' => 'Felhasználó által visszautasított dokumentumok', 'documents_user_requiring_attention' => 'Az Ön tulajdonában álló dokumentumok, amelyekre figyelmet kell fordítani', 'documents_with_notification' => '', 'document_already_checkedout' => '', @@ -424,6 +428,7 @@ URL: [url]', 'do_object_repair' => 'Valamennyi mappa és dokumentum helyreállítása.', 'do_object_setchecksum' => 'Ellenőrző összeg beállítása', 'do_object_setfilesize' => 'Állomány méret beállítása', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Dokumentum verzió törlése', 'draft' => 'piszkozat', 'draft_pending_approval' => 'Piszkozat - jóváhagyás folyamatban', @@ -432,6 +437,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Állomány a dropfolder-ből', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Gyors feltöltés', 'drop_files_here' => 'Húzz ide egy fájlt', 'dump_creation' => 'Adatbázis mentés létrehozása', @@ -457,6 +463,7 @@ URL: [url]', 'edit_folder_props' => 'Mappa szerkesztése', 'edit_group' => 'Csoport szerkesztése', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Felhasználó szerkesztése', @@ -534,6 +541,7 @@ URL: [url]', 'files_deletion' => 'Állományok törlése', 'files_deletion_warning' => 'Ezzel az opcióval törölheti az összes állományt valamennyi DMS mappában. A változási információk láthatók maradnak.', 'files_loading' => 'Kérem, várjon, amíg a fájl lista betöltődik ...', +'filetype' => '', 'file_size' => 'Állomány méret', 'filter_for_documents' => 'További dokumentum szűrők', 'filter_for_folders' => 'További mappa szűrők', @@ -578,6 +586,7 @@ Felhasználó: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Mappa átnevezve', 'folder_title' => 'Mappa \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Frissít', 'friday' => 'Péntek', 'friday_abbr' => 'Pé', @@ -604,6 +613,7 @@ URL: [url]', 'group_members' => 'Csoporttagok', 'group_receipt_summary' => '', 'group_review_summary' => 'Csoport felülvizsgálat összefoglaló', +'group_revision_summary' => '', 'guest_login' => 'Bejelentkezés vendégként', 'guest_login_disabled' => 'Vendég bejelentkezés letiltva.', 'hash' => 'hash', @@ -625,7 +635,7 @@ URL: [url]', 'include_content' => '', 'include_documents' => 'Tartalmazó dokumentumok', 'include_subdirectories' => 'Tartalmazó alkönyvtárak', -'indexing_tasks_in_queue' => '', +'indexing_tasks_in_queue' => 'Indexelés folyamatban', 'index_converters' => '', 'index_done' => '', 'index_error' => '', @@ -721,6 +731,7 @@ URL: [url]', 'lock_document' => 'Zárol', 'lock_message' => 'Ezt a dokumentumot [username] zárolta. Csak az arra jogosult felhasználó törölheti a zárolást (Lásd: lap alja).', 'lock_status' => 'Állapot', +'logfile_loading' => '', 'login' => 'Bejelentkezés', 'login_disabled_text' => 'Fiókja letiltásra került, valószínűleg a túl sok érvénytelen bejelentkezési kísérlet miatt.', 'login_disabled_title' => 'Hozzáférés letiltva', @@ -807,9 +818,11 @@ Felhasználó: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Új mappa', 'new_user_image' => 'Új kép', +'next_revision_abbr' => '', 'next_state' => 'Új állapot', 'nl_NL' => 'Holland', 'no' => 'Nem', +'notification' => '', 'notify_added_email' => 'Ön felkerült az értesítési listára', 'notify_added_email_body' => 'Hozzáadva az értesítési listához Név: [name] @@ -829,9 +842,11 @@ URL: [url]', 'no_action' => 'Nincs teendő', 'no_approval_needed' => 'Nincs folyamatban lévő jóváhagyás.', 'no_attached_files' => 'Nincsenek csatolt állományok', +'no_backup_dir' => '', 'no_current_version' => 'Ön a SeedDMS régebbi változatát futtatja. A legutolsó elérhető verzió [latestversion].', 'no_default_keywords' => 'Nincsenek elérhető kulcsszavak', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'Nincsenek zárolt dokumentumok.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -864,7 +879,7 @@ URL: [url]', 'only_jpg_user_images' => 'Felhasználói képként csak .jpg állományok adhatók meg', 'order_by_sequence_off' => '', 'original_filename' => 'Eredeti fájlnév', -'overall_indexing_progress' => '', +'overall_indexing_progress' => 'Teljes indexelési folyamat', 'owner' => 'Tulajdonos', 'ownership_changed_email' => 'Tulajdonos megváltozott', 'ownership_changed_email_body' => 'Tulajdonos megváltozott @@ -927,8 +942,11 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'quota_is_disabled' => 'Kvóta támogatás jelenleg le van tiltva a beállításoknál. Felhasználói korlát beállítások nem kerülnek érvényesítésre amíg nincs újra engedélyezve.', 'quota_warning' => 'Túllépte lemez korlátot [bytes] bájttal. Kérjük távolítson el dokumentumokat vagy korábbi változatokat.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -939,7 +957,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Legutóbbi feltöltések', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -992,8 +1010,11 @@ URL: [url]', 'reviewer_already_assigned' => 'már hozzá lett rendelve felülvizsgálóként', 'reviewer_already_removed' => 'már el lett távolítva a felülvizsgálati folyamatból vagy már el lett küldve egy felülvizsgálat', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Felülvizsgálat kérés törölve', @@ -1021,9 +1042,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -1033,6 +1058,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1135,7 +1161,7 @@ URL: [url]', 'select_one' => 'Vßlasszon egyet', 'select_user' => 'Felhasználó kiválasztása', 'select_users' => 'Kattintson a felhasználó kiválasztásához', -'select_value' => '', +'select_value' => 'Érték kiválasztása', 'select_workflow' => 'Munkafolyamat választás', 'send_email' => 'email küldés', 'send_login_data' => '', @@ -1290,6 +1316,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'Engedélyezi a rekurzív dokumentum/mappa számot', 'settings_enableRecursiveCount_desc' => 'Ha be van kapcsolva a mappa nézetben a dokumentumok és mappák száma minden objektum rekurzív feldolgozásával kerül meghatározásra és a dokumentumok és mappák száma a felhasználó számára engedélyezett.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1382,10 +1410,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'További beállítások konfigurálása. Alapértelmezett bejelentkezés: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nem található', 'settings_Notification' => 'Értesítés beállításai', 'settings_notwritable' => 'A konfiguráció nem menthető, mert a konfigurációs állomány nem írható.', 'settings_no_content_dir' => 'Tartalom könyvtár', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => 'Részleges fájlméret', @@ -1502,6 +1534,7 @@ URL: [url]', 'settings_workflowMode' => 'Munkafolyamat mód', 'settings_workflowMode_desc' => 'A részletes munkafolyamat engedélyezi saját kiadási munkafolyamat megadását a dokumentum változatokhoz.', 'settings_workflowMode_valadvanced' => 'részletes', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'hagyományos', 'settings_workflowMode_valtraditional_only_approval' => 'hagyományos (áttekintés nélkül)', 'settings_zendframework' => 'Zend keretrendszer', @@ -1516,6 +1549,7 @@ URL: [url]', 'sign_in' => 'Bejelentkezés', 'sign_out' => 'Kijelentkezés', 'sign_out_user' => 'Kijelentkezés', +'site_brand' => '', 'sk_SK' => 'Szlovák', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1545,6 +1579,7 @@ URL: [url]', 'splash_edit_group' => 'Csoport mentve', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Felhasználó mentve', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1639,9 +1674,13 @@ URL: [url]', 'switched_to' => 'Felhasználó váltás', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1685,6 +1724,7 @@ URL: [url]', 'transfer_no_write_access' => '', 'transfer_objects' => 'Adatok átadása', 'transfer_objects_to_user' => 'Új tulajdonos', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => 'Munkamenet átmenet kiváltva', 'transition_triggered_email_body' => 'Munkafolyamat átmenet kiváltva @@ -1766,6 +1806,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Ezzel a művelettel létrehozhat egy állományt ami tartalmazni fogja a változat információkat a teljes DMS mappáról. A létrehozás után minden állomány a dokumentum mappába lesz mentve.', 'versioning_info' => 'Változás információ', 'versiontolow' => 'Túl alacsony verzió', +'version_comment' => '', 'version_deleted_email' => 'Változat törölve', 'version_deleted_email_body' => 'Változat törölve Dokumentum: [name] @@ -1808,6 +1849,7 @@ URL: [url]', 'workflow_summary' => 'Munkafolyamat áttekintés', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Felhasználó áttekintés', +'wrong_filetype' => '', 'x_more_objects' => '', 'year_view' => 'Éves nézet', 'yes' => 'Igen', diff --git a/languages/it_IT/lang.inc b/languages/it_IT/lang.inc index 164cc2663..d7771c38b 100644 --- a/languages/it_IT/lang.inc +++ b/languages/it_IT/lang.inc @@ -19,11 +19,11 @@ // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // -// Translators: Admin (1628), rickr (144), s.pnt (26) +// Translators: Admin (2018), rickr (144), s.pnt (26) $text = array( '2_factor_auth' => 'Autorizzazione a due fattori', -'2_factor_auth_info' => 'Questo sistema usa autenticazione a due fattori. Sarà necessario il “Google Authenticator” sul tuo telephono cellulare. Qui potete vedere due codici QR. Quello di destra è il tuo segreto. è sulla sinistra chè un nuovo segreto. Se si imposta un nuovo segreto per assicurarsi si deve scansione con “Google Authenticator” di nouvo.', +'2_factor_auth_info' => 'Questo sistema usa autenticazione a due fattori. Sarà necessario il “Google Authenticator” sul tuo telephono cellulare. Qui potete vedere due codici QR. Quello di destra è il tuo segreto. è sulla sinistra chè un nuovo segreto. Se si imposta un nuovo segreto per assicurarsi si deve scansione con “Google Authenticator” di nuovo.', '2_fact_auth_secret' => 'Segreto', 'accept' => 'Accetta', 'access_control' => 'Il controllo degli accessi', @@ -50,53 +50,56 @@ URL: [url]', 'action_is_complete' => 'Completata', 'action_is_not_complete' => 'Non completata', 'action_reject' => 'Rifiuta', -'action_review' => 'Rivedi', -'action_revise' => 'Revisiona', +'action_review' => 'Revisiona', +'action_revise' => 'Riesamina', 'add' => 'Aggiungi', 'add_approval' => 'Invio approvazione', 'add_attrdefgroup' => 'Aggiungi nuovo gruppo attributo', 'add_document' => 'Aggiungi documento', 'add_document_link' => 'Aggiungi collegamento', 'add_document_notify' => 'Notifica a', -'add_doc_reviewer_approver_warning' => 'Nota: i documenti saranno automaticamente contrassegnati come rilasciati se non è stato assegnato un revisore o un approvatore.', -'add_doc_workflow_warning' => 'Nota: i documenti saranno automaticamente contrassegnati come rilasciati se non è stato istituito un flusso di lavoro.', +'add_doc_reviewer_approver_warning' => 'Nota: i documenti saranno automaticamente contrassegnati come pubblicati se non è stato assegnato un revisore o un approvatore.', +'add_doc_workflow_warning' => 'Nota: i documenti saranno automaticamente contrassegnati come pubblicati se non è stato istituito un flusso di lavoro.', 'add_event' => 'Aggiungi un evento', 'add_group' => 'Aggiungi un nuovo gruppo', 'add_member' => 'Aggiungi un membro', 'add_multiple_documents' => 'Aggiungi documenti multipli', 'add_multiple_files' => 'Aggiungi documenti multipli (il nome del file verrà usato come nome del documento)', -'add_receipt' => 'invio ricevuta', -'add_review' => 'Invio revisione', -'add_revision' => 'Aggiungi approvazione', +'add_receipt' => 'Conferma ricezione', +'add_review' => 'Aggiungi revisione', +'add_revision' => 'Aggiungi riesame', 'add_role' => 'Aggiungi nuova responsabilità', 'add_subfolder' => 'Aggiungi sottocartella', -'add_task' => '', +'add_task' => 'Aggiungi attività', 'add_to_clipboard' => 'Aggiungi agli appunti', 'add_to_transmittal' => 'Aggiungi alla trasmissione', 'add_transmittal' => 'Aggiungi trasmissione', 'add_user' => 'Aggiungi un nuovo utente', 'add_user_to_group' => 'Aggiungi un utente al gruppo', -'add_workflow' => 'Crea un flusso di lavoro', -'add_workflow_action' => 'Nuova azione del flusso di lavoro', -'add_workflow_state' => 'Nuovo stato del flusso di lavoro', +'add_workflow' => 'Aggiungi nuovo flusso di lavoro', +'add_workflow_action' => 'Aggiungi nuova azione flusso di lavoro', +'add_workflow_state' => 'Aggiungi nuovo stato flusso di lavoro', 'admin' => 'Amministratore', -'admin_tools' => 'Strumenti di Amministrazione', +'admin_tools' => 'Strumenti di amministrazione', 'all' => 'Tutto', -'all_categories' => 'Tutte le Categorie', -'all_documents' => 'Tutti i Documenti', -'all_pages' => 'Tutte le Pagine', -'all_users' => 'Tutti gli Utenti', +'all_categories' => 'Tutte le categorie', +'all_documents' => 'Tutti i documenti', +'all_pages' => 'Tutte le pagine', +'all_users' => 'Tutti gli utenti', 'already_subscribed' => 'L\'oggetto è già stato sottoscritto', 'and' => 'e', 'apply' => 'Applica', -'approvals_accepted' => '', -'approvals_and_reviews_accepted' => '', -'approvals_and_reviews_not_touched' => '', -'approvals_and_reviews_rejected' => '', -'approvals_not_touched' => '', -'approvals_rejected' => '', -'approvals_without_group' => '', -'approvals_without_user' => '', +'approvals_accepted' => '[no_approvals] approvazioni già accettate', +'approvals_accepted_latest' => '', +'approvals_and_reviews_accepted' => '[no_approvals] approvazioni e [no_reviews] revisioni già accettate', +'approvals_and_reviews_not_touched' => '[no_approvals] approvazioni e [no_reviews] revisioni non gestite', +'approvals_and_reviews_rejected' => '[no_approvals] approvazioni e [no_reviews] revisioni già rifiutate', +'approvals_not_touched' => '[no_approvals] approvazioni non gestite', +'approvals_not_touched_latest' => '', +'approvals_rejected' => '[no_approvals] approvazioni già rifiutate', +'approvals_rejected_latest' => '', +'approvals_without_group' => 'Approvazioni senza gruppo', +'approvals_without_user' => 'Approvazioni senza utente', 'approval_deletion_email' => 'Richiesta di approvazione cancellata', 'approval_deletion_email_body' => 'Richiesta di approvazione cancellata. Documento: [name] @@ -133,15 +136,15 @@ URL: [url]', 'approver_already_assigned' => 'Utente già approvatore', 'approver_already_removed' => 'Utente già rimosso dal processo di approvazione o ha già approvato', 'april' => 'Aprile', -'archive' => '', -'archive_creation' => 'Creazione archivi', +'archive' => 'Archivio', +'archive_creation' => 'Creazione archivio', 'archive_creation_warning' => 'Con questa operazione è possibile creare archivi contenenti i file di intere cartelle del DMS. Dopo la creazione l\'archivio viene salvato nella cartella dati del server. Attenzione: un archivio creato per uso esterno non è utilizzabile come backup del server.', 'ar_EG' => 'Arabo', -'assign_approvers' => 'Assegna Approvatori', -'assign_recipients' => '', -'assign_reviewers' => 'Assegna Revisori', +'assign_approvers' => 'Assegna approvatori', +'assign_recipients' => 'Assegna destinatari', +'assign_reviewers' => 'Assegna revisori', 'assign_user_property_to' => 'Assegna le proprietà dell\'utente a', -'assumed_released' => 'Rilascio acquisito', +'assumed_released' => 'Pubblicazione acquisita', 'attrdefgroup_management' => 'Gestire gruppi di attributi', 'attrdefgrp_show_detail' => 'Dettagli', 'attrdefgrp_show_list' => 'Lista', @@ -149,16 +152,16 @@ URL: [url]', 'attrdefgrp_show_searchlist' => 'risultati trovati', 'attrdef_exists' => 'Definizione di Attributo già esistente', 'attrdef_info' => 'Informazione', -'attrdef_in_use' => 'Definizione di Attributo ancora in uso', -'attrdef_management' => 'Gestione Attributi', -'attrdef_maxvalues' => 'Numero di valori Max.', -'attrdef_minvalues' => 'Numero di valori Min.', +'attrdef_in_use' => 'Definizione di attributo ancora in uso', +'attrdef_management' => 'Gestione attributi', +'attrdef_maxvalues' => 'Numero di valori max.', +'attrdef_minvalues' => 'Numero di valori min.', 'attrdef_min_greater_max' => 'Il numero minimo di valori è maggiore del massimo', 'attrdef_multiple' => 'Permetti valori multipli', 'attrdef_multiple_needs_valueset' => 'Attributo definizione con i molteplici valori esigenze un valore impostato.', -'attrdef_must_be_multiple' => 'Gli Attributi devono avere più di un valore, ma non sono permessi valori multipli', +'attrdef_must_be_multiple' => 'Gli attributi devono avere più di un valore, ma non sono permessi valori multipli', 'attrdef_name' => 'Nome', -'attrdef_noname' => 'Nella definizione dell\'Attributo manca il nome', +'attrdef_noname' => 'Nella definizione dell\'attributo manca il nome', 'attrdef_objtype' => 'Tipo di oggetto', 'attrdef_regex' => 'Espressione regolare', 'attrdef_type' => 'Tipo', @@ -171,35 +174,34 @@ URL: [url]', 'attrdef_type_url' => 'URL', 'attrdef_valueset' => 'Set di valori', 'attributes' => 'Attributi', -'attribute_changed_email_body' => 'Attributo modificato -Documento: [name] -Versione: [version] -Attributo: [attribute_name] -Old value: [attribute_old_value] -New value: [attribute_new_value] -Cartella: [folder_path] -Utente: [username] +'attribute_changed_email_body' => 'Attributo modificato +Documento: [name] +Versione: [version] +Attributo: [attribute_name] +Old value: [attribute_old_value] +New value: [attribute_new_value] +Cartella: [folder_path] +Utente: [username] URL: [url]', 'attribute_changed_email_subject' => '[sitename]: [name] - Attributo modificato', 'attribute_count' => 'Numero di utilizzi', -'attribute_value' => 'Valore dell\'Attributo', -'attribute_value_not_in_valueset' => '', -'attr_malformed_boolean' => '', -'attr_malformed_date' => '', -'attr_malformed_email' => 'Il valore di \'[value]\' dell, - => attributo \'[attrname]\' non é un URL valido.', -'attr_malformed_float' => '', -'attr_malformed_int' => '', -'attr_malformed_url' => 'Il valore dell\'attributo \'[valore]\' di attributo \'[attrname]\' non è un URL valido.', +'attribute_value' => 'Valore dell\'attributo', +'attribute_value_not_in_valueset' => 'Valore non presente nel gruppo di valori', +'attr_malformed_boolean' => 'Il valore \'[valore]\' dell\'attributo \'[attrname]\' non è un valore booleano valido.', +'attr_malformed_date' => 'Il valore \'[valore]\' dell\'attributo \'[attrname]\' non è una data valida.', +'attr_malformed_email' => 'Il valore \'[value]\' dell\'attributo \'[attrname]\' non é un URL valido.', +'attr_malformed_float' => 'Il valore \'[valore]\' dell\'attributo \'[attrname]\' non è un numero in virgola mobile valido.', +'attr_malformed_int' => 'Il valore \'[valore]\' dell\'attributo \'[attrname]\' non è un intero valido.', +'attr_malformed_url' => 'Il valore \'[valore]\' dell\'attributo \'[attrname]\' non è un URL valido.', 'attr_max_values' => 'Il numero massimo dei valori richiesti per l\'Attributo [attrname] è superato.', 'attr_min_values' => 'Il numero minimo di valori richiesti per l\'Attributo [attrname] non è raggiunto.', -'attr_not_in_valueset' => '', -'attr_no_regex_match' => 'Il valore dell\'Attributo non è conforme ad un\'espressione regolare.', -'attr_validation_error' => '', +'attr_not_in_valueset' => 'Il valore \'[value]\' per l\'attributo \'[attrname]\' non è contenuto nel gruppo di valori.', +'attr_no_regex_match' => 'Il valore \'[value]\' dell\'attributo \'[attrname]\' non è conforme ad un\'espressione regolare.', +'attr_validation_error' => 'Il valore \'[value]\' dell\'attributo \'[attrname]\' non è valido', 'at_least_n_users_of_group' => 'Minimo [number_of_users] utenti del gruppo [group]', 'august' => 'Agosto', 'authentication' => 'Autenticazione', -'authentication_failed' => '', +'authentication_failed' => 'Autenticazione fallita', 'author' => 'Autore', 'automatic_status_update' => 'Modifica automatica dello stato', 'back' => 'Ritorna', @@ -211,7 +213,7 @@ URL: [url]', 'bg_BG' => 'Bulgaro', 'browse' => 'Scegli file', 'calendar' => 'Calendario', -'calendar_week' => 'Calendario Settimanale', +'calendar_week' => 'Calendario settimanale', 'cancel' => 'Annulla', 'cannot_assign_invalid_state' => 'Non è possibile modificare le assegnazioni di un documento obsoleto o rifiutato', 'cannot_change_final_states' => 'Attenzione: non si può modificare lo stato dei documenti rifiutati, scaduti o in attesa di revisione o approvazione', @@ -230,12 +232,13 @@ URL: [url]', 'category_in_use' => 'Questa categoria è attualmente in uso in alcuni documenti.', 'category_noname' => 'Non è stato attribuito un nome alla categoria.', 'ca_ES' => 'Catalano', -'change_assignments' => 'Modifica le Assegnazioni', +'changelog_loading' => '', +'change_assignments' => 'Modifica le assegnazioni', 'change_password' => 'Cambia la password', 'change_password_message' => 'La password è stata cambiata', 'change_recipients' => 'Cambia lista cartelle', 'change_revisors' => 'Cambia reimmissione', -'change_status' => 'Modifica lo Stato', +'change_status' => 'Modifica lo stato', 'charts' => 'Grafici', 'chart_docsaccumulated_title' => 'Numero di documenti', 'chart_docspercategory_title' => 'Documenti per categoria', @@ -249,7 +252,7 @@ URL: [url]', 'checkedout_file_has_disappeared' => 'File documento approvato non trovato. Impossibile caricare.', 'checkedout_file_is_unchanged' => 'La versione approvata è uguale alla versione corrente. Impossibile caricare.', 'checkin_document' => 'Da approvare', -'checkoutpath_does_not_exist' => '', +'checkoutpath_does_not_exist' => 'Il percorso di approvazione non esiste', 'checkout_document' => 'Approvato', 'checkout_is_disabled' => 'Approvazione dei documenti disabilitata', 'choose_attrdef' => 'Seleziona l\'Attributo', @@ -275,13 +278,13 @@ URL: [url]', 'comment' => 'Commento', 'comment_changed_email' => '', 'comment_for_current_version' => 'Commento per la versione', -'configure_extension' => '', +'configure_extension' => 'Configura estensione', 'confirm_clear_cache' => 'Vuoi davvero cancellare la cache? Questo eliminerà tutte le immagini di anteprima precalcolate.', 'confirm_create_fulltext_index' => 'Sì, desidero ricreare l\'indice fulltext!', 'confirm_move_document' => 'Conferma lo spostamento del documento.', 'confirm_move_folder' => 'Si prega di confermare lo spostamento della cartella.', 'confirm_pwd' => 'Conferma la password', -'confirm_rm_attr_value' => '', +'confirm_rm_attr_value' => 'Vuoi davvero rimuovere il valore dell\'attributo?', 'confirm_rm_backup' => 'Vuoi davvero rimuovere il file "[arkname]"? Attenzione: questa operazione non può essere annullata.', 'confirm_rm_document' => 'Vuoi veramente eliminare il documento "[documentname]"? Attenzione: questa operazione non può essere annullata.', 'confirm_rm_dump' => 'Vuoi davvero rimuovere il file "[dumpname]"? Attenzione: questa operazione non può essere annullata.', @@ -294,17 +297,17 @@ URL: [url]', 'confirm_rm_transmittal' => 'Si prega di confermare l\'eliminazione della trasmissione.', 'confirm_rm_transmittalitem' => 'Conferma rimozione', 'confirm_rm_user' => 'Vuoi davvero rimuovere l\'utente "[username]"? Attenzione: questa operazione non può essere annullata.', -'confirm_rm_user_from_processes' => 'Processo', +'confirm_rm_user_from_processes' => 'Vuoi veramente eliminare rimuovere l\'utente "[username]" da tutti i processi?
Attenzione: questa azione può portare alla pubblicazione di documenti se l\'utente era l\'unico o l\'ultimo responsabile dell\'approvazione.', 'confirm_rm_version' => 'Vuoi veramente eliminare la versione [version] del documento "[documentname]"? Attenzione: questa operazione non può essere annullata.', -'confirm_transfer_link_document' => '', -'confirm_transfer_objects' => '', +'confirm_transfer_link_document' => 'Seleziona se vuoi collegare il documento trascinato o trasferire il suo contenuto al documento di destinazione come nuova versione. Solo i documenti con una versione possono essere trasferiti. Il documento trascinato verrà rimosso in seguito.', +'confirm_transfer_objects' => 'Vuoi veramente trasferire i documenti, le cartelle, ecc. dell\'utente "[username]"?
Attenzione: questa operazione non può essere annullata', 'confirm_update_transmittalitem' => 'Conferma aggiornamento', 'content' => 'Contenuto', 'continue' => 'Continua', 'converter_new_cmd' => 'Comando', 'converter_new_mimetype' => 'Nuovo mimetype', 'copied_to_checkout_as' => 'File copiato come \'[filename]\'', -'create_download_link' => '', +'create_download_link' => 'Crea collegamento di scaricamento', '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', @@ -328,8 +331,8 @@ URL: [url]', 'de_DE' => 'Tedesco', 'disclaimer' => 'Questa è un\'area riservata. L\'accesso è consentito solo agli utenti autorizzati. Qualunque violazione sarà perseguita a norma delle leggi italiane ed internazionali.', 'discspace' => 'Spazio su disco', -'docs_in_reception_no_access' => '', -'docs_in_revision_no_access' => '', +'docs_in_reception_no_access' => 'Documenti con ricezione senza accesso dai destinatari', +'docs_in_revision_no_access' => 'Documenti in riesame senza accesso dai revisori', 'document' => 'Documento', 'documentcontent' => 'Contenuto documento', 'documents' => 'Documenti', @@ -340,25 +343,25 @@ URL: [url]', 'documents_locked_by_you' => 'Documenti bloccati da te', 'documents_only' => 'Solo documenti', 'documents_to_approve' => 'Documenti in attesa della tua approvazione', -'documents_to_correct' => '', +'documents_to_correct' => 'Documenti in attesa della tua correzione', 'documents_to_process' => 'I documenti che necessitano di trattamento', 'documents_to_receipt' => 'Documenti in attesa di conferma ricezione', 'documents_to_review' => 'Documenti in attesa della tua revisione', -'documents_to_revise' => 'Documenti da revisionare.', -'documents_to_trigger_workflow' => '', -'documents_user_draft' => '', -'documents_user_expiration' => '', -'documents_user_needs_correction' => '', -'documents_user_no_reception' => '', -'documents_user_obsolete' => '', -'documents_user_reception' => '', +'documents_to_revise' => 'Documenti da riesaminare.', +'documents_to_trigger_workflow' => 'Documenti nel flusso di lavoro', +'documents_user_draft' => 'Bozze', +'documents_user_expiration' => 'Scadenza documenti', +'documents_user_needs_correction' => 'Documenti che devono essere corretti', +'documents_user_no_reception' => 'Documenti senza ricezioni', +'documents_user_obsolete' => 'Documenti obsoleti', +'documents_user_reception' => 'Documenti in attesa di ricezione', 'documents_user_rejected' => 'Documenti rifiutati', 'documents_user_requiring_attention' => 'Tuoi documenti in attesa di revisione o approvazione', -'documents_with_notification' => '', +'documents_with_notification' => 'Documenti con notifica', 'document_already_checkedout' => 'Questo documento è già approvato', 'document_already_locked' => 'Questo documento è già bloccato', -'document_attribute_changed_email_body' => '', -'document_attribute_changed_email_subject' => '', +'document_attribute_changed_email_body' => 'Attributo modificato', +'document_attribute_changed_email_subject' => '[sitename]: [name] - Attributo modificato', 'document_comment_changed_email' => 'Commento modificato', 'document_comment_changed_email_body' => 'Commento modificato Documento: [name] @@ -409,8 +412,13 @@ Utente: [username] URL: [url]', 'document_status_changed_email_subject' => '[sitename]: [name] - Modificato lo stato di un documento', 'document_title' => 'Documento \'[documentname]\'', -'document_transfered_email_body' => '', -'document_transfered_email_subject' => '', +'document_transfered_email_body' => 'Documento trasferito ad altro utente +Documento: [name] +Nuovo proprietario: [newuser] +Cartella: [folder_path] +Utente: [username] +URL: [url]', +'document_transfered_email_subject' => '[sitename]: [name] - Documento trasferito', 'document_updated_email' => 'Documento aggiornato', 'document_updated_email_body' => 'Documento aggiornato Documento: [name] @@ -423,13 +431,21 @@ URL: [url]', 'does_not_expire' => 'Nessuna scadenza', 'does_not_inherit_access_msg' => 'Imposta permessi ereditari', 'download' => 'Scarica', -'download_extension' => '', -'download_links' => '', -'download_link_email_body' => '', -'download_link_email_subject' => '', +'download_extension' => 'Scarica estensione come file zip', +'download_links' => 'Collegamenti di scaricamento', +'download_link_email_body' => 'Fare clic sul collegamento sottostante per scaricare la versione [version] del documento +\'[docname]\'. + +[url] + +Il collegamento The link è ancora valido fino a [valid]. + +[comment]', +'download_link_email_subject' => 'Collegamento di scaricamento', 'do_object_repair' => 'Ripara tutte le cartelle e i documenti.', 'do_object_setchecksum' => 'Imposta il checksum', 'do_object_setfilesize' => 'Imposta la dimensione del file', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Cancella la versione del documento', 'draft' => 'Bozza', 'draft_pending_approval' => 'Bozza - in approvazione', @@ -438,14 +454,15 @@ URL: [url]', 'dropfolderdir_missing' => 'La vostra cartella di personale non esiste sul server! Si prega di chiedere all\'amministratore di creare per te.', 'dropfolder_file' => 'Scegli file dal server', 'dropfolder_folder' => 'Cartella per il cartella di ricezione', -'dropupload' => 'Caricamento Rapido', +'dropfolder_metadata' => '', +'dropupload' => 'Caricamento rapido', 'drop_files_here' => 'Trascina qui il file', -'dump_creation' => 'Creazione del DB dump', +'dump_creation' => 'Creazione del dump del DB', '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 file di dump', 'duplicates' => 'Duplicati', -'duplicate_content' => 'Contenuto Duplicato', +'duplicate_content' => 'Contenuto duplicato', 'edit' => 'Modifica', 'edit_attributes' => 'Modifica gli attributi', 'edit_comment' => 'Modifica il commento', @@ -463,7 +480,8 @@ URL: [url]', 'edit_folder_props' => 'Modifica proprietà cartella', 'edit_group' => 'Modifica il gruppo', 'edit_online' => 'Modifica online', -'edit_task' => '', +'edit_online_warning' => '', +'edit_task' => 'Modifica attività', 'edit_transmittal_props' => 'Modifica proprietà trasmissione', 'edit_user' => 'Modifica l\'utente', 'edit_user_details' => 'Modifica i dettagli utente', @@ -476,7 +494,7 @@ URL: [url]', 'email_not_given' => 'Inserisci un indirizzo email valido.', 'empty_attribute_group_list' => 'Nessun gruppo di attributi', 'empty_folder_list' => 'Cartella vuota', -'empty_list' => '', +'empty_list' => 'Nessuna voce', 'empty_notify_list' => 'Nessun record', 'en_GB' => 'Inglese (GB)', 'equal_transition_states' => 'Lo stato iniziale e quello finale sono identici', @@ -484,40 +502,40 @@ URL: [url]', 'error_add_aro' => 'Errore durante l\'accesso aggiungendo richiesta oggetto', 'error_add_permission' => 'Errore durante l\'aggiunta di permesso', 'error_cleared_cache' => 'Errore durante svuotare la cache', -'error_edit_task' => '', -'error_extension_getlist' => '', +'error_edit_task' => 'Modifica attività', +'error_extension_getlist' => 'Errore nel recuperare l\'elenco delle estensioni dal repository', 'error_importfs' => 'Errore durante l\'importazione dal file system', 'error_no_document_selected' => 'Nessun documento selezionato', 'error_no_folder_selected' => 'Nessuna cartella selezionata', 'error_occured' => 'Ooops... Si è verificato un errore', -'error_remove_document' => '', -'error_remove_folder' => '', +'error_remove_document' => 'Errore durante la rimozione del documento', +'error_remove_folder' => 'Errore durante la rimozione della cartella', 'error_remove_permission' => 'Errore durante la rimozione delle autorizzazioni', -'error_rm_workflow' => '', -'error_rm_workflow_action' => '', -'error_rm_workflow_state' => '', +'error_rm_workflow' => 'Errore durante la rimozione del flusso di lavoro', +'error_rm_workflow_action' => 'Errore durante la rimozione dell\'azione del flusso di lavoro', +'error_rm_workflow_state' => 'Errore durante la rimozione dello stato del flusso di lavoro', 'error_toogle_permission' => 'Errore durante la modifica permessi', -'error_transfer_document' => '', -'error_trigger_workflow' => '', -'error_update_document' => '', -'error_uploading_reviewer_only' => '', +'error_transfer_document' => 'Errore durante il trasferimento del documento', +'error_trigger_workflow' => 'Errore durante l\'esecuzione di una transizione del flusso di lavoro', +'error_update_document' => 'Errore durante l\'aggiornamento del documento', +'error_uploading_reviewer_only' => 'Errore durante la creazione del documento. Il documento ha un revisore, ma non un approvatore.', 'es_ES' => 'Spagnolo', 'event_details' => 'Dettagli evento', -'exclude_items' => 'Escludi Elementi', +'exclude_items' => 'Escludi elementi', 'expired' => 'Scaduto', -'expired_at_date' => '', +'expired_at_date' => 'Scadenza il [datetime]', 'expired_documents' => 'Documenti scaduti', 'expires' => 'Scadenza', -'expire_by_date' => 'Scadenza per Data', -'expire_in_1d' => '', -'expire_in_1h' => '', -'expire_in_1m' => '1 Mese', -'expire_in_1w' => '7 Giorni', -'expire_in_1y' => '1 Anno', -'expire_in_2h' => '', -'expire_in_2y' => '2 Anni', -'expire_today' => '', -'expire_tomorrow' => '', +'expire_by_date' => 'Scadenza per data', +'expire_in_1d' => 'Scade in 1 giorno', +'expire_in_1h' => 'Scade in 1 ora', +'expire_in_1m' => 'Scade in 1 mese', +'expire_in_1w' => 'Scade in 7 giorni', +'expire_in_1y' => 'Scade in 1 anno', +'expire_in_2h' => 'Scade in 2 ore', +'expire_in_2y' => 'Scade in 2 anni', +'expire_today' => 'Scade oggi', +'expire_tomorrow' => 'Scade domani', 'expiry_changed_email' => 'Scadenza cambiata', 'expiry_changed_email_body' => 'Data di scadenza cambiata Documento: [name] @@ -526,8 +544,8 @@ Utente: [username] URL: [url]', 'expiry_changed_email_subject' => '[sitename]: [name] - Scadenza cambiata', 'export' => 'Esporta', -'extension_archive' => '', -'extension_changelog' => '', +'extension_archive' => 'Archivio estensioni', +'extension_changelog' => 'Registro delle modifiche delle estensioni', 'extension_loading' => 'Caricamento estensioni...', 'extension_manager' => 'Gestisci le estensioni dei files', 'extension_mgr_installed' => 'Installato', @@ -540,15 +558,16 @@ URL: [url]', 'files_deletion' => 'Cancellazione files', 'files_deletion_warning' => 'Con questa operazione è possible cancellare i file di intere cartelle. Dopo la cancellazione lo storico delle versioni rimarrà comunque disponibile.', 'files_loading' => 'Attendi che il file venga caricato per favore ...', +'filetype' => '', 'file_size' => 'Grandezza del file', 'filter_for_documents' => 'Filtro aggiuntivo per i documenti', 'filter_for_folders' => 'Filtro aggiuntivo per le cartelle', 'folder' => 'Cartella', 'folders' => 'Cartelle', 'folders_and_documents_statistic' => 'Visualizzazione generale', -'folders_with_notification' => '', -'folder_attribute_changed_email_body' => '', -'folder_attribute_changed_email_subject' => '', +'folders_with_notification' => 'Cartelle con notifica', +'folder_attribute_changed_email_body' => 'Attributo cartella modificato', +'folder_attribute_changed_email_subject' => 'Attributo cartella modificato', 'folder_comment_changed_email' => 'Commento modificato per la Cartella', 'folder_comment_changed_email_body' => 'Commento modificato per la Cartella Cartella: [name] @@ -584,6 +603,7 @@ Utente: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Cartella rinominata', 'folder_title' => 'Cartella \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Aggiona', 'friday' => 'Venerdì', 'friday_abbr' => 'Ven', @@ -591,7 +611,7 @@ URL: [url]', 'fr_FR' => 'Francese', 'fullsearch' => 'Ricerca Fulltext', 'fullsearch_hint' => 'Usa l\'indice fulltext', -'fulltextsearch_disabled' => '', +'fulltextsearch_disabled' => 'Ricerca Fulltext disabilitata', 'fulltext_converters' => 'Indice di conversione documenti', 'fulltext_info' => 'Info indice Fulltext', 'global_attributedefinitiongroups' => 'Attributo gruppi', @@ -610,9 +630,10 @@ URL: [url]', 'group_members' => 'Membri del gruppo', 'group_receipt_summary' => 'Panoramica delle conferme ricevute gruppo.', 'group_review_summary' => 'Dettaglio revisioni di gruppo', +'group_revision_summary' => '', 'guest_login' => 'Login come Ospite', 'guest_login_disabled' => 'Il login come Ospite è disabilitato.', -'hash' => '', +'hash' => 'Hash', 'help' => 'Aiuto', 'home_folder' => 'Cartella Utente', 'hook_name' => 'Nome del gangio', @@ -624,28 +645,28 @@ URL: [url]', 'id' => 'ID', 'identical_version' => 'La nuova versione è identica a quella attuale.', 'import' => 'Importa', -'importfs' => 'Importa da File System / disco', -'import_extension' => '', +'importfs' => 'Importa da file system/disco', +'import_extension' => 'Importa estensione', 'import_fs' => 'Importa dalla cartella di sistema', -'import_fs_warning' => 'Questo funziona solo per le cartelle nella cartella per lasciare. L\'operazione importa in modo ricorsivo tutte le cartelle e file. I file saranno rilasciati immediatamente.', +'import_fs_warning' => 'Questo funziona solo per le cartelle nella cartella per lasciare. L\'operazione importa in modo ricorsivo tutte le cartelle e file. I file saranno pubblicati immediatamente.', 'include_content' => 'Includi contenuto', 'include_documents' => 'Includi documenti', 'include_subdirectories' => 'Includi sottocartelle', 'indexing_tasks_in_queue' => 'Operazione di indicizzazione in corso', 'index_converters' => '', -'index_done' => '', -'index_error' => '', +'index_done' => 'Eseguito', +'index_error' => 'Errore di indicizzazione', 'index_folder' => 'Indicizza cartella', -'index_no_content' => '', -'index_pending' => '', +'index_no_content' => 'Non indicizzare contenuti', +'index_pending' => 'Indicizzazione pendente', 'index_waiting' => 'Attendi', 'individuals' => 'Singoli', 'individuals_in_groups' => 'I membri de la gruppo', -'info_recipients_tab_not_released' => '', +'info_recipients_tab_not_released' => 'Non è possibile confermare la ricezione di questa versione del documento, poiché la versione non è stata rilasciata.', 'inherited' => 'ereditato', 'inherits_access_copy_msg' => 'Copia la lista degli accessi ereditati', 'inherits_access_empty_msg' => 'Reimposta una lista di permessi vuota', -'inherits_access_msg' => 'E\' impostato il permesso ereditario.', +'inherits_access_msg' => 'È impostato il permesso ereditario.', 'internal_error' => 'Errore interno', 'internal_error_exit' => 'Errore interno. Impossibile completare la richiesta.', 'invalid_access_mode' => 'Permessi non validi', @@ -654,7 +675,7 @@ URL: [url]', 'invalid_create_date_end' => 'Fine data non valida per la creazione di un intervallo temporale', 'invalid_create_date_start' => 'Inizio data non valida per la creazione di un intervallo temporale', 'invalid_doc_id' => 'ID del documento non valido', -'invalid_dropfolder_folder' => 'cartella non valido nella cartella goccia', +'invalid_dropfolder_folder' => 'cartella non valido nella cartella di pubblicazione', 'invalid_expiration_date_end' => 'Data di fine non è valida per l\'intervallo di data di scadenza.', 'invalid_expiration_date_start' => 'Data di inizio non valida per l\'intervallo di date di scadenza.', 'invalid_file_id' => 'ID del file non valido', @@ -670,25 +691,25 @@ URL: [url]', 'invalid_user_id' => 'ID utente non valido', 'invalid_version' => 'Versione del documento non valida', 'in_folder' => 'nella cartella', -'in_revision' => 'In fase di revisione', -'in_workflow' => 'In fase di lavorazione', -'is_disabled' => 'Account Disabilitato', +'in_revision' => 'In riesame', +'in_workflow' => 'In lavorazione', +'is_disabled' => 'Account disabilitato', 'is_hidden' => 'Nascondi dalla lista utenti', 'it_IT' => 'Italiano', 'january' => 'Gennaio', -'js_form_error' => '', -'js_form_errors' => '', -'js_invalid_email' => '', +'js_form_error' => 'Il modulo contiene ancora # errore.', +'js_form_errors' => 'Il modulo contiene ancora # errori.', +'js_invalid_email' => 'Indirizzo email non valido', 'js_no_approval_group' => 'Si prega di selezionare un gruppo di approvazione', 'js_no_approval_status' => 'Si prega di selezionare lo stato di approvazione', 'js_no_comment' => 'Non ci sono commenti', -'js_no_currentpwd' => '', -'js_no_email' => 'Scrivi il tuo indirizzo di Email', +'js_no_currentpwd' => 'Per favore inserire la propria password attuale', +'js_no_email' => 'Scrivi il tuo indirizzo di email', 'js_no_file' => 'Per favore seleziona un file', 'js_no_keywords' => 'Specifica alcune parole-chiave', 'js_no_login' => 'Per favore digita un ID utente', 'js_no_name' => 'Per favore digita un nome', -'js_no_override_status' => 'E\' necessario selezionare un nuovo [override] stato', +'js_no_override_status' => 'È necessario selezionare un nuovo [override] stato', 'js_no_pwd' => 'La password è necessaria', 'js_no_query' => 'Scrivi una query', 'js_no_review_group' => 'Per favore seleziona un gruppo di revisori', @@ -696,7 +717,7 @@ URL: [url]', 'js_pwd_not_conf' => 'La password inserita e quella di conferma non corrispondono', 'js_select_user' => 'Per favore seleziona un utente', 'js_select_user_or_group' => 'Selezionare almeno un utente o un gruppo', -'js_unequal_passwords' => '', +'js_unequal_passwords' => 'Le password non coincidono', 'july' => 'Luglio', 'june' => 'Giugno', 'keep' => 'Non cambiare', @@ -712,62 +733,63 @@ URL: [url]', 'librarydoc' => 'Documento da cartella', 'linked_documents' => 'Documenti collegati', 'linked_files' => 'Allegati', -'linked_to_current_version' => '', +'linked_to_current_version' => 'Collegato al documento attuale', 'linked_to_document' => 'Collegato al documento', -'linked_to_this_version' => '', +'linked_to_this_version' => 'Collegato a questa versione', 'link_alt_updatedocument' => 'Se vuoi caricare file più grandi del limite massimo attuale, usa la pagina alternativa di upload.', -'link_document' => '', -'link_to_version' => '', +'link_document' => 'Collegamento al documento', +'link_to_version' => 'Collega alla versione', 'list_access_rights' => 'Elenca tutti i diritti di accesso...', -'list_contains_no_access_docs' => '', -'list_hooks' => 'Lista ganci', -'list_tasks' => '', +'list_contains_no_access_docs' => 'L\'elenco contiene più documenti ai quali non si ha accesso e non vengono visualizzati.', +'list_hooks' => 'Elenco hooks', +'list_tasks' => 'Elenco attività', 'local_file' => 'File locale', '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 bloccaggio', +'logfile_loading' => '', 'login' => 'Accesso', 'login_disabled_text' => 'Il tuo account è stato disabilitato: troppi login falliti.', -'login_disabled_title' => 'L\'Account è disabilitato', +'login_disabled_title' => 'L\'account è disabilitato', 'login_error_text' => 'Errore nel login. ID utente o password errati.', 'login_error_title' => 'Errore di login', 'login_not_given' => 'Non è stato inserito il nome utente', 'login_ok' => 'Login eseguito', -'login_restrictions_apply' => '', +'login_restrictions_apply' => 'Login fallito a causa di limitazioni', 'logout' => 'Logout', 'log_management' => 'Amministrazione file di log', 'lo_LA' => 'Laotiano', -'malformed_expiration_date' => '', +'malformed_expiration_date' => 'Data di scadenza con formato errato', 'manager' => 'Manager', -'manager_of_group' => 'Tu sei l\'Amministratore di questo gruppo', -'mandatory_approvergroups' => 'Gruppi di Approvatori necessari', -'mandatory_approvergroup_no_access' => 'Il Gruppo di Approvatori necessari \'[group]\' non ha sufficienti permessi d\'accesso.', +'manager_of_group' => 'Tu sei l\'amministratore di questo gruppo', +'mandatory_approvergroups' => 'Gruppi di approvatori necessari', +'mandatory_approvergroup_no_access' => 'Il gruppo di approvatori necessari \'[group]\' non ha sufficienti permessi d\'accesso.', 'mandatory_approvers' => 'Approvatori necessari', -'mandatory_approver_no_access' => 'L\'Approvatore necessario \'[user]\' non ha sufficienti permessi d\'accesso.', -'mandatory_reviewergroups' => 'Gruppi di Revisori necessari', -'mandatory_reviewergroup_no_access' => 'Il Gruppo di Revisori necessari \'[group]\' non ha sufficienti permessi d\'accesso.', +'mandatory_approver_no_access' => 'L\'approvatore necessario \'[user]\' non ha sufficienti permessi d\'accesso.', +'mandatory_reviewergroups' => 'Gruppi di revisori necessari', +'mandatory_reviewergroup_no_access' => 'Il gruppo di revisori necessari \'[group]\' non ha sufficienti permessi d\'accesso.', 'mandatory_reviewers' => 'Revisori necessari', -'mandatory_reviewer_no_access' => 'Il Revisore necessario \'[user]\' non ha sufficienti permessi d\'accesso.', +'mandatory_reviewer_no_access' => 'Il revisore necessario \'[user]\' non ha sufficienti permessi d\'accesso.', 'march' => 'Marzo', 'max_upload_size' => 'Dimensione massima caricabile per ogni file', 'may' => 'Maggio', -'menu_dropfolder' => '', -'menu_upload_from_dropfolder' => '', +'menu_dropfolder' => 'Cartella di pubblicazione', +'menu_upload_from_dropfolder' => 'Importa questo file', 'mimetype' => 'Tipo (MIME)', 'minutes' => 'minuti', 'misc' => 'Varie', 'missing_checksum' => 'Checksum mancante', 'missing_file' => 'File mancante', 'missing_filesize' => 'Dimensione mancante', -'missing_reception' => '', +'missing_reception' => 'Ricezione mancante', 'missing_request_object' => 'Manca oggetto di richiesta', 'missing_transition_user_group' => 'Utente/Gruppo per la transizione mancanti', 'monday' => 'Lunedì', 'monday_abbr' => 'Lun', 'monthly' => 'Mensile', 'month_view' => 'Vista mensile', -'more_objects_loading' => '', +'more_objects_loading' => 'Più oggetti in caricamento...', 'move' => 'Sposta', 'move_clipboard' => 'Sposta appunti', 'move_document' => 'Sposta documento', @@ -776,7 +798,7 @@ URL: [url]', 'my_documents' => 'Documenti personali', 'my_transmittals' => 'Mie trasmissioni', 'name' => 'Nome', -'needs_correction' => '', +'needs_correction' => 'Necessita correzioni', 'needs_workflow_action' => 'Il documento richiede attenzione. Prego controllare il flusso di lavoro.', 'network_drive' => 'Network drive', 'never' => 'Mai', @@ -813,9 +835,11 @@ Utente: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nuova sottocartella', 'new_user_image' => 'Nuova immagine', +'next_revision_abbr' => '', 'next_state' => 'Nuovo stato', 'nl_NL' => 'Olandese', 'no' => 'No', +'notification' => '', 'notify_added_email' => 'Sei stato aggiunto alla lista di notifica', 'notify_added_email_body' => 'Aggiunto alla lista di notifica Nome: [name] @@ -835,17 +859,19 @@ URL: [url]', 'no_action' => 'Non è richiesto alcun intervento', 'no_approval_needed' => 'Non è richiesta approvazione.', 'no_attached_files' => 'Nessun file allegato', +'no_backup_dir' => '', 'no_current_version' => 'La corrente versione di SeedDMS non è aggiornata. La versione più recente disponibile è la [latestversion].', 'no_default_keywords' => 'Nessuna parola-chiave disponibile', 'no_docs_checked_out' => 'Nessun documento approvato', +'no_docs_expired' => '', 'no_docs_locked' => 'Nessun documento bloccato.', -'no_docs_needs_correction' => '', +'no_docs_needs_correction' => 'Nessun documento che necessita di correzioni', 'no_docs_rejected' => 'Nessun documento rifiutato', '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_receipt' => 'Nessuna cartella richiesta.', 'no_docs_to_review' => 'Non ci sono documenti che richiedano revisioni.', -'no_docs_to_revise' => 'Non ci sono documenti che richiedano approvazione.', +'no_docs_to_revise' => 'Non ci sono documenti che richiedano riesame.', 'no_email_or_login' => 'Login ed email devono essere digitate', 'no_fulltextindex' => 'Nessun indice fulltext disponibile', 'no_groups' => 'Nessun gruppo', @@ -853,17 +879,17 @@ URL: [url]', 'no_linked_files' => 'Nessun file collegato', 'no_previous_versions' => 'Nessun\'altra versione trovata', 'no_receipt_needed' => 'Rete disco', -'no_review_needed' => 'Nessuna revisione in sospeso.', -'no_revision_needed' => 'Nessuna revisione in corso.', -'no_revision_planed' => 'Nessuna revisione pianificata.', +'no_review_needed' => 'Nessuna revisione in corso.', +'no_revision_needed' => 'Nessun riesame in corso.', +'no_revision_planed' => 'Nessun riesame pianificato.', 'no_update_cause_locked' => 'Non è quindi possible aggiornare il documento. Prego contattare l\'utente che l\'ha bloccato.', 'no_user_image' => 'Nessuna immagine trovata', 'no_version_check' => 'Il controllo per una nuova versione di SeedDMS è fallito! Questo può essere causato da allow_url_fopen settato a 0 nella tua configurazione php.', 'no_version_modification' => 'Nessuna modifica versione', 'no_workflow_available' => 'Nessun flusso di lavoro disponibile', 'objectcheck' => 'Controllo cartelle o documenti', -'object_check_critical' => '', -'object_check_warning' => '', +'object_check_critical' => 'Errori critici', +'object_check_warning' => 'Avvertenze', 'obsolete' => 'Obsoleto', 'october' => 'Ottobre', 'old' => 'Vecchio', @@ -896,7 +922,7 @@ Per farlo cliccare sul seguente link: [url_prefix]out/out.ChangePassword.php?hash=[hash] -Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di Sistema.', +Dovessero esserci ancora problemi al login, prego contatta l\'amministratore di sistema.', 'password_forgotten_email_subject' => '[sitename]: Password dimenticata', 'password_forgotten_send_hash' => 'Le istruzioni su come procedere sono state inviate all\'indirizzo e-mail dell\'utente', 'password_forgotten_text' => 'Compilare i campi seguenti e seguire le istruzioni nell\'e-mail che sarà inviata a breve.', @@ -909,10 +935,10 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'password_wrong' => 'Password errata', 'pdf_converters' => 'Convertitore a PDF', 'pending_approvals' => 'Approvazioni in sospeso', -'pending_receipt' => '', -'pending_reviews' => 'In attesa di recensioni', -'pending_revision' => '', -'pending_workflows' => 'I flussi di lavoro in sospeso', +'pending_receipt' => 'In attesa di ricezione', +'pending_reviews' => 'In attesa di revisione', +'pending_revision' => 'In attesa di riesame', +'pending_workflows' => 'Flussi di lavoro in sospeso', 'personal_default_keywords' => 'Parole-chiave personali', 'pl_PL' => 'Polacco', 'possible_substitutes' => 'Sostituti', @@ -920,8 +946,8 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'preview' => 'Anteprima', 'preview_converters' => 'Anteprima convesione documento', 'preview_images' => 'Immagini di anteprima', -'preview_markdown' => 'Riduione ribasso', -'preview_pdf' => '', +'preview_markdown' => 'Riduzione ribasso', +'preview_pdf' => 'Anteprima come PDF', 'preview_plain' => 'Testo', 'previous_state' => 'Stato precedente', 'previous_versions' => 'Versioni precedenti', @@ -932,13 +958,22 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di 'quota_exceeded' => 'La quota-disco è stata superata di [bytes].', 'quota_is_disabled' => 'Il supporto per le quote è attualmente disattivato nelle impostazioni. L\'impostazione di una quota-utente non avrà alcun effetto finché tale funzionalità non verrà nuovamente attivata.', 'quota_warning' => 'Il vostro utilizzo massimo di spazio è stato superato di [bytes]. Si prega di rimuovere documenti o versioni obsolete.', -'receipts_accepted' => '', -'receipts_not_touched' => '', -'receipts_rejected' => '', -'receipts_without_group' => '', -'receipts_without_user' => '', -'receipt_deletion_email_body' => '', -'receipt_deletion_email_subject' => '', +'receipts_accepted' => '[no_receipts] ricevute già accettate', +'receipts_accepted_latest' => '', +'receipts_not_touched' => '[no_receipts] ricevute non gestite', +'receipts_not_touched_latest' => '', +'receipts_rejected' => '[no_receipts] ricevute già rifiutate', +'receipts_rejected_latest' => '', +'receipts_without_group' => 'Ricevute senza gruppo', +'receipts_without_user' => 'Ricevute senza gruppo', +'receipt_deletion_email_body' => 'Utente rimosso dall\'elenco dei destinatari +Documento: [name] +Versione: [version] +Cartella: [folder_path] +Destinatario: [recipient] +Utente: [username] +URL: [url]', +'receipt_deletion_email_subject' => '[sitename]: [name] - Destinatario rimosso', 'receipt_log' => 'Ricezione Log', 'receipt_request_email_body' => 'Richiesta di ricezione Document: [name] @@ -949,18 +984,18 @@ URL: [url]', 'receipt_request_email_subject' => '[sitename]: [name] - Richiesta di ricezione', 'receipt_status' => 'Status', 'receipt_summary' => 'Sommario ricezione', -'receipt_update_failed' => '', -'recent_uploads' => '', -'reception' => '', -'reception_acknowleged' => '', -'reception_noaction' => '', -'reception_rejected' => '', +'receipt_update_failed' => 'Conferma della ricezione non riuscita', +'recent_uploads' => 'Caricamenti recenti', +'reception' => 'Ricezione', +'reception_acknowleged' => 'Ricezione confermata', +'reception_noaction' => 'Nessuna azione', +'reception_rejected' => 'Ricezione respinta', 'recipients' => 'Cartelle', -'recipient_already_removed' => '', -'redraw' => '', +'recipient_already_removed' => 'Il destinatario è già stato rimosso o riconosciuto come destinatario.', +'redraw' => 'Ridisegna', 'refresh' => 'Ricarica', 'rejected' => 'Rifiutato', -'released' => 'Rilasciato', +'released' => 'Pubblicato', 'removed_approver' => 'Rimosso dalla lista degli approvatori.', 'removed_file_email' => 'Allegato rimosso', 'removed_file_email_body' => 'Rimosso allegato @@ -979,7 +1014,7 @@ Cartella: [folder_path] Utente: [username] URL: [url]', 'removed_workflow_email_subject' => '[sitename]: [name] - Flusso di lavoro rimosso dalla versione del documento', -'removeFolderFromDropFolder' => 'Rimuovi la cartella dopo l\'importazione', +'removeFolderFromDropFolder' => 'Rimuovi la cartella di pubblicazione dopo l\'importazione', 'remove_marked_files' => 'Rimuovi i files contrassegnati', 'repaired' => 'riparato', 'repairing_objects' => 'Riparazione documenti e cartelle in corso...', @@ -1009,11 +1044,14 @@ URL: [url]', 'reviewers' => 'Revisori', 'reviewer_already_assigned' => 'è già assegnato come revisore', 'reviewer_already_removed' => 'è già stato rimosso dal processo di revisione oppure ha già inserito una revisione.', -'reviews_accepted' => '', -'reviews_not_touched' => '', -'reviews_rejected' => '', -'reviews_without_group' => '', -'reviews_without_user' => '', +'reviews_accepted' => '[no_reviews] revisioni già accettate', +'reviews_accepted_latest' => '', +'reviews_not_touched' => '[no_reviews] revisioni non gestite', +'reviews_not_touched_latest' => '', +'reviews_rejected' => '[no_reviews] revisioni già rifiutate', +'reviews_rejected_latest' => '', +'reviews_without_group' => 'Revisioni senza gruppo', +'reviews_without_user' => 'Revisioni senza utente', 'review_deletion_email' => 'Richiesta di revisione cancellata', 'review_deletion_email_body' => 'Richiesta di revisione cancellata. Documento: [name] @@ -1046,46 +1084,51 @@ URL: [url]', 'review_submit_email_subject' => '[sitename]: [name] - Sottoposta revisione', 'review_summary' => 'Dettaglio revisioni', 'review_update_failed' => 'Errore nella variazione dello stato di revisione. Aggiornamento fallito.', -'revise_document' => 'Rivedi documento', -'revise_document_on' => 'Prossima revisione del documento il [date]', -'revisions_accepted' => '', -'revisions_not_touched' => '', -'revisions_pending' => '', -'revisions_rejected' => '', -'revisions_without_group' => '', -'revisions_without_user' => '', -'revision_date' => 'data revisione', -'revision_log' => 'Log revisione', -'revision_request_email_body' => 'Richiesta di ricezione +'revise_document' => 'Riesamina documento', +'revise_document_on' => 'Prossimo riesame del documento il [date]', +'revisions_accepted' => '[no_reviews] riesami già accettati', +'revisions_accepted_latest' => '', +'revisions_not_touched' => '[no_reviews] riesami non gestiti', +'revisions_not_touched_latest' => '', +'revisions_pending' => '[no_reviews] riesami pendenti', +'revisions_pending_latest' => '', +'revisions_rejected' => '[no_reviews] riesami già rifiutati', +'revisions_rejected_latest' => '', +'revisions_without_group' => 'Riesami senza gruppo', +'revisions_without_user' => 'Riesami senza utente', +'revision_date' => 'data riesame', +'revision_log' => 'Log riesame', +'revision_request_email_body' => 'Richiesta di riesame Document: [name] Version: [version] Parent folder: [folder_path] User: [username] URL: [url]', -'revision_request_email_subject' => '[sitename]: [name] - Richiesta di revisione', +'revision_request_email_subject' => '[sitename]: [name] - Richiesta di riesame', 'revision_status' => 'Status', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revisori', 'revisor_already_assigned' => 'Utente già assegnato al ruolo di revisore', -'revisor_already_removed' => 'Revisore già rimosso dal processo di revisione o ha già revisionato documento.', -'rewind_workflow' => 'Inverti il flusso di lavoro', -'rewind_workflow_email_body' => 'Il flusso di lavoro è stato invertito +'revisor_already_removed' => 'Revisore già rimosso dal processo di riesame o ha già riesaminato il documento.', +'rewind_workflow' => 'Fa ripartire il flusso di lavoro', +'rewind_workflow_email_body' => 'Il flusso di lavoro è stato fatto ripartire Document: [name] Version: [version] Workflow: [workflow] Parent folder: [folder_path] User: [username] URL: [url]', -'rewind_workflow_email_subject' => '[sitename]: [name] - Il flusso di lavoro è stato invertito', -'rewind_workflow_warning' => 'Se si inverte un flusso di lavoro al suo stato iniziale ogni traccia del flusso di lavoro originale per questo documento sarà cancellata permanentemente.', +'rewind_workflow_email_subject' => '[sitename]: [name] - Il flusso di lavoro è stato fatto ripartire', +'rewind_workflow_warning' => 'Se si fa ripartire un flusso di lavoro al suo stato iniziale ogni traccia del flusso di lavoro originale per questo documento sarà cancellata permanentemente.', 'rm_attrdef' => 'Rimuovi attributo', 'rm_attrdefgroup' => 'Rimuovere questo gruppo di attributi', -'rm_attr_value' => '', +'rm_attr_value' => 'Rimuovi valore attributo', 'rm_default_keyword_category' => 'Rimuovi categoria', 'rm_document' => 'Rimuovi documento', 'rm_document_category' => 'Rimuovi categoria', -'rm_event' => '', +'rm_event' => 'Rimuovi evento', 'rm_file' => 'Rimuovi file', 'rm_folder' => 'Rimuovi cartella', 'rm_from_clipboard' => 'Rimuovi dalla clipboard', @@ -1094,7 +1137,7 @@ URL: [url]', 'rm_transmittal' => 'Rimuovi trasmissione', 'rm_transmittalitem' => 'Rimuovi oggetto', 'rm_user' => 'Rimuovi questo utente', -'rm_user_from_processes' => '', +'rm_user_from_processes' => 'Rimuovi utente dai processi', 'rm_version' => 'Rimuovi versione', 'rm_workflow' => 'Rimuovi flusso di lavoro', 'rm_workflow_action' => 'Rimuovi azione del flusso di lavoro', @@ -1123,58 +1166,63 @@ URL: [url]', 'saturday' => 'Sabato', 'saturday_abbr' => 'Sab', 'save' => 'Salva', -'scheduler_class' => '', -'scheduler_class_description' => '', -'scheduler_class_parameter' => '', -'scheduler_class_tasks' => '', -'scheduler_task_mgr' => '', +'scheduler_class' => 'Classe', +'scheduler_class_description' => 'Descrizione', +'scheduler_class_parameter' => 'Parametro', +'scheduler_class_tasks' => 'Attività della classe', +'scheduler_task_mgr' => 'Pianificatore', 'search' => 'Ricerca', 'search_fulltext' => 'Ricerca fulltext', 'search_in' => 'Cerca in', 'search_mode_and' => 'tutte le parole', -'search_mode_documents' => 'Solo Documenti', -'search_mode_folders' => 'Solo Cartelle', +'search_mode_documents' => 'Solo documenti', +'search_mode_folders' => 'Solo cartelle', 'search_mode_or' => 'almeno una parola', 'search_no_results' => 'Non ci sono documenti che soddisfino la vostra ricerca', 'search_query' => 'Cerca per', 'search_report' => 'Trovati [doccount] documenti e [foldercount] cartelle in [searchtime] secondi.', 'search_report_fulltext' => 'Trovati [doccount] documenti', -'search_resultmode' => 'Risultato Ricerca', -'search_resultmode_both' => 'Documenti e Cartelle', +'search_resultmode' => 'Risultato ricerca', +'search_resultmode_both' => 'Documenti e cartelle', 'search_results' => 'Risultato ricerca', 'search_results_access_filtered' => 'La ricerca può produrre risultati al cui contenuto è negato l\'accesso.', 'search_time' => 'Tempo trascorso: [time] secondi.', 'seconds' => 'secondi', 'selection' => 'Selezione', 'select_attrdefgrp_show' => 'Scegli quando mostrare', -'select_attribute_value' => '', +'select_attribute_value' => 'Seleziona il valore dell\'attributo', 'select_category' => 'Clicca per selezionare la categoria', -'select_group' => 'Seleziona Gruppo', +'select_group' => 'Seleziona gruppo', 'select_groups' => 'Clicca per selezionare i gruppi', 'select_grp_approvers' => 'Seleziona gruppo approvatore', -'select_grp_ind_approvers' => 'Fare clic per scegliere il gruppo', -'select_grp_ind_notification' => 'Fare clic per scegliere il gruppo', -'select_grp_ind_recipients' => 'Fare clic per scegliere il gruppo', -'select_grp_ind_reviewers' => 'Fare clic per scegliere il gruppo', -'select_grp_ind_revisors' => '', -'select_grp_notification' => 'Seleziona Gruppo', -'select_grp_recipients' => 'Seleziona gruppo cartelle', -'select_grp_reviewers' => 'Seleziona gruppo revisore', -'select_grp_revisors' => 'Seleziona gruppo revisori', -'select_ind_approvers' => 'Seleziona approvatore', -'select_ind_notification' => 'Seleziona Utente', -'select_ind_recipients' => 'Seleziona singole cartelle', -'select_ind_reviewers' => 'Seleziona revisore', -'select_ind_revisors' => 'Seleziona singoli revisori', +'select_grp_ind_approvers' => 'Fare clic per selezionare il gruppo', +'select_grp_ind_notification' => 'Fare clic per selezionare il gruppo', +'select_grp_ind_recipients' => 'Fare clic per selezionare il gruppo', +'select_grp_ind_reviewers' => 'Fare clic per selezionare il gruppo', +'select_grp_ind_revisors' => 'Fare clic per selezionare il gruppo', +'select_grp_notification' => 'Fare clic per selezionare notifiche di gruppo', +'select_grp_recipients' => 'Fare clic per selezionare un gruppo di destinatari', +'select_grp_reviewers' => 'Fare clic per selezionare un gruppo di revisori', +'select_grp_revisors' => 'Fare clic per selezionare un gruppo di riesaminatori', +'select_ind_approvers' => 'Fare clic per selezionare un approvatore individuale', +'select_ind_notification' => 'Fare clic per selezionare la notifica individuale', +'select_ind_recipients' => 'Fare clic per selezionare un destinatario individuale', +'select_ind_reviewers' => 'Fare clic per selezionare un revisore individuale', +'select_ind_revisors' => 'Fare clic per selezionare un riesaminatore individuale', 'select_one' => 'Seleziona uno', -'select_user' => 'Seleziona Utente', +'select_user' => 'Seleziona utente', 'select_users' => 'Clicca per selezionare gli utenti', 'select_value' => 'Selezionare un valore', 'select_workflow' => 'Seleziona il flusso di lavoro', -'send_email' => '', -'send_login_data' => '', -'send_login_data_body' => '', -'send_login_data_subject' => '', +'send_email' => 'Invia messaggio', +'send_login_data' => 'Invia dati di login', +'send_login_data_body' => 'Dati di login + +Login: [login] +Name: [username] + +[comment]', +'send_login_data_subject' => '[sitename]: [login] - I tuoi dati di login', 'send_test_mail' => 'Invia messagio di prova', 'september' => 'Settembre', 'sequence' => 'Posizione', @@ -1182,21 +1230,21 @@ URL: [url]', 'seq_end' => 'Alla fine', 'seq_keep' => 'Mantieni la posizione', 'seq_start' => 'Prima posizione', -'sessions' => '', +'sessions' => 'Utenti online', 'setDateFromFile' => 'Prende la data dal file importato', 'setDateFromFolder' => 'Prende la data dalla cartella importata', 'settings' => 'Impostazioni', 'settings_activate_module' => 'Attivazione modulo', 'settings_activate_php_extension' => 'Attivazione estensione PHP', 'settings_adminIP' => 'IP Amministratore', -'settings_adminIP_desc' => 'Se attivato l\'Amministratore si può collegare solo da un IP specifico; lasciare vuoto per evitare il controllo. NOTA: funziona solo con autenticazione locale (no LDAP)', +'settings_adminIP_desc' => 'Se attivato l\'amministratore si può collegare solo da un IP specifico; lasciare vuoto per evitare il controllo. NOTA: funziona solo con autenticazione locale (no LDAP)', 'settings_Advanced' => 'Avanzate', 'settings_advancedAcl' => 'Avanzate controlo accesso', -'settings_advancedAcl_desc' => 'Avanzatoa controlo di accesso consente di attivare / diattivare alcuni moduli di software. Non può essere utilizzato per i diritti di accesso su documenti e cartelle.', -'settings_allowChangeRevAppInProcess' => '', -'settings_allowChangeRevAppInProcess_desc' => '', +'settings_advancedAcl_desc' => 'Avanzatoa controlo di accesso consente di attivare/diattivare alcuni moduli di software. Non può essere utilizzato per i diritti di accesso su documenti e cartelle.', +'settings_allowChangeRevAppInProcess' => 'Consenti modifica revisore/approvatore dopo l\'avvio del processo', +'settings_allowChangeRevAppInProcess_desc' => 'Per impostazione predefinita, i revisori e gli approvatori non possono più essere modificati dopo l\'invio di una revisione o di un\'approvazione. Questa opzione consentirà agli amministratori di farlo purché il documento non venga rilasciato o rifiutato.', 'settings_allowReviewerOnly' => 'Abilita l\'impostazione del solo revisore', -'settings_allowReviewerOnly_desc' => 'Abilita se si vuole concedere di impostare solo un revisore ma non un apporvatore nel workflow tradizionale', +'settings_allowReviewerOnly_desc' => 'Abilita se si vuole concedere di impostare solo un revisore ma non un apporvatore nel flusso di lavoro tradizionale', 'settings_apache_mod_rewrite' => 'Apache - Mod Rewrite', 'settings_Authentication' => 'Impostazioni di Autenticazione', 'settings_autoLoginUser' => 'Login automatico', @@ -1253,21 +1301,21 @@ URL: [url]', 'settings_defaultSearchMethod_valdatabase' => 'database', 'settings_defaultSearchMethod_valfulltext' => 'Testo intero', 'settings_delete_install_folder' => 'Per poter usare SeedDMS, devi cancellare il file ENABLE_INSTALL_TOOL nella cartella di configurazione.', -'settings_disableSelfEdit' => 'Disabilita Auto-Modifica', +'settings_disableSelfEdit' => 'Disabilita auto-modifica', 'settings_disableSelfEdit_desc' => 'Se selezionato l\'utente non può modificare il proprio profilo', 'settings_disable_install' => 'Prova ad eliminare il file ENABLE_INSTALL_TOOL se possibile', 'settings_Display' => 'Impostazioni di visualizzazione', -'settings_dropFolderDir' => 'Cartella per il drop', -'settings_dropFolderDir_desc' => 'Questa cartella viene utilizzata per rilasciare (drop) files sul server per importarli direttamente anziché caricarli attraverso il browser. La cartella deve contenere una sottocartella per ciascun utente autorizzato ad importare files in questo modo.', +'settings_dropFolderDir' => 'Cartella per la pubblicazione', +'settings_dropFolderDir_desc' => 'Questa cartella viene utilizzata per pubblicare file sul server, importarli direttamente anziché caricarli attraverso il browser. La cartella deve contenere una sottocartella per ciascun utente autorizzato ad importare file in questo modo.', 'settings_Edition' => 'Impostazioni di edizione', 'settings_editOnlineFileTypes' => 'Tipi di files modificabili Online', 'settings_editOnlineFileTypes_desc' => 'I file con uno dei seguenti terminali possono essere modificati on-line (usare solo caratteri minuscoli)', 'settings_enable2FactorAuthentication' => 'Permettere autenticazione a due fattori', -'settings_enable2FactorAuthentication_desc' => 'Abilitare / disabilitare autenticazione a due fattori. Gli utenti avranno bisogno di "Google Authenticator" sul tuo telefono cellulare.', -'settings_enableAcknowledgeWorkflow' => '', -'settings_enableAcknowledgeWorkflow_desc' => '', -'settings_enableAdminReceipt' => '', -'settings_enableAdminReceipt_desc' => '', +'settings_enable2FactorAuthentication_desc' => 'Abilitare/disabilitare autenticazione a due fattori. Gli utenti avranno bisogno di "Google Authenticator" sul tuo telefono cellulare.', +'settings_enableAcknowledgeWorkflow' => 'Consenti la ricezione di documenti per gli amministratori', +'settings_enableAcknowledgeWorkflow_desc' => 'Abilitare questa opzione se si desidera che gli amministratori vengano elencati come destinatari dei documenti.', +'settings_enableAdminReceipt' => 'Consenti revisione/approvazione per gli amministratori', +'settings_enableAdminReceipt_desc' => 'Abilitare questa opzione se si desidera che gli amministratori vengano elencati come revisori/approvatori e per le transizioni del flusso di lavoro.', 'settings_enableAdminRevApp' => 'Permetti la revisione/approvazione da parte degli amministratori', 'settings_enableAdminRevApp_desc' => 'Abilita per elencare gli amministratori tra i revisori/approvatori e per le transizioni del flusso di lavoro', 'settings_enableCalendar' => 'Abilita calendario', @@ -1276,23 +1324,23 @@ URL: [url]', 'settings_enableClipboard_desc' => 'Abilita/disabilita la clipboard sulla pagina \'Vista cartella\'', 'settings_enableConverting' => 'Abilita conversione', 'settings_enableConverting_desc' => 'Abilita/disabilita la conversione dei files', -'settings_enableDropFolderList' => 'Abilita lista dei file nella cartella di rilasco', -'settings_enableDropFolderList_desc' => 'Abilita la lista dei file nella cartella di rilascio. La lista viene mostrata nel menù principale.', -'settings_enableDropUpload' => 'Abilita upload veloce', -'settings_enableDropUpload_desc' => 'Abilita/disabilita l\'area di rilascio nella pagina \'Vista cartella\' per caricare i files con drag&drop (trascina e rilascia).', +'settings_enableDropFolderList' => 'Abilita lista dei file nella cartella di pubblicazione', +'settings_enableDropFolderList_desc' => 'Abilita la lista dei file nella cartella di pubblicazione. La lista viene mostrata nel menù principale.', +'settings_enableDropUpload' => 'Abilita caricamento veloce', +'settings_enableDropUpload_desc' => 'Abilita/disabilita l\'area di pubblicazione nella pagina \'Vista cartella\' per caricare i files con drag&drop (trascina e rilascia).', 'settings_enableDuplicateDocNames' => 'Permetti documenti con lo stesso nome', 'settings_enableDuplicateDocNames_desc' => 'Permetti documenti con lo stesso nome nella stessa cartella', -'settings_enableDuplicateSubFolderNames' => '', -'settings_enableDuplicateSubFolderNames_desc' => '', +'settings_enableDuplicateSubFolderNames' => 'Permetti nomi sottocartelle duplicati', +'settings_enableDuplicateSubFolderNames_desc' => 'Permetti di avere nomi duplicati di sottocartelle in una cartella.', 'settings_enableEmail' => 'Abilita l\'email', 'settings_enableEmail_desc' => 'Abilita/disabilita la notifica automatica via email', -'settings_enableFilterReceipt' => '', -'settings_enableFilterReceipt_desc' => '', +'settings_enableFilterReceipt' => 'Filtra per proprietario, revisore, ecc. dall\'elenco delle ricezioni', +'settings_enableFilterReceipt_desc' => 'Abilita, per poter filtrare dei destinatari da un elenco di ricezioni se i membri di un gruppo sono selezionati.', 'settings_enableFolderTree' => 'Visualizza la struttura ad albero', 'settings_enableFolderTree_desc' => 'Abilita/disabilita la visualizzaione della struttura ad albero nella pagina \'Vista cartella\'', 'settings_enableFullSearch' => 'Abilita ricerca fulltext', 'settings_enableFullSearch_desc' => 'Abilita/disabilita la ricerca fulltext', -'settings_enableGuestAutoLogin' => 'Activer la connexion automatique pour le compte invité', +'settings_enableGuestAutoLogin' => 'Abilita l\'auto login per gli ospiti', 'settings_enableGuestAutoLogin_desc' => 'Se il login ospite e il login automatico è abilitato, il login ospite sarà usato automaticamente.', 'settings_enableGuestLogin' => 'Permetti login come ospite', 'settings_enableGuestLogin_desc' => 'Per impedire il login come ospite, selezionare questa opzione. Nota bene: il login come ospite dovrebbe essere permesso soltanto in un ambiente fidato.', @@ -1303,7 +1351,7 @@ URL: [url]', 'settings_enableLargeFileUpload' => 'Abilita caricamento grandi files', 'settings_enableLargeFileUpload_desc' => 'Se selezionato, il caricamento (upload) dei files può essere effettuato anche attraverso un\'applet Java chiamata Jumploader evitando il limite di dimensioni file imposto dal browser; Jumploader permette anche il caricamento di diversi files contemporaneamente.', 'settings_enableMenuTasks' => 'Abilita compito delle attività nel menù', -'settings_enableMenuTasks_desc' => 'Abilita / Disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.', +'settings_enableMenuTasks_desc' => 'Abilita/disabilita la voce di menu che contiene tutte le attività degli utenti. Questo conterrà i documenti che devono essere rivisti, approvati, etc.', 'settings_enableMultiUpload' => 'Consenti il caricamento di più files', 'settings_enableMultiUpload_desc' => 'Quando viene creato un nuovo documento, possono essere caricati più files. Ogniuno di essi genera un nuovo documento.', 'settings_enableNotificationAppRev' => 'Abilita/disabilita notifica a revisore/approvatore', @@ -1312,34 +1360,36 @@ URL: [url]', 'settings_enableNotificationWorkflow_desc' => 'Se questa opzione è selezionata, gli utenti o i gruppi che sono coinvolti nella successiva transizione del flusso di lavoro riceveranno un avviso, anche se non hanno impostato notifiche riguardanti il documento.', 'settings_enableOwnerNotification' => 'Abilita/disabilita notifica al proprietario', 'settings_enableOwnerNotification_desc' => 'Spuntare per inviare una notifica al proprietario del documento nel momento in cui questo viene aggiunto.', -'settings_enableOwnerReceipt' => '', -'settings_enableOwnerReceipt_desc' => '', +'settings_enableOwnerReceipt' => 'Consentire la ricezione di documenti da parte del proprietario', +'settings_enableOwnerReceipt_desc' => 'Abilitare questa opzione se si desidera che il proprietario di un documento sia elencato come destinatario.', 'settings_enableOwnerRevApp' => 'Permetti la revisione/approvazione per il proprietario', 'settings_enableOwnerRevApp_desc' => 'Spuntare per aggiungere il proprietario del documento alla lista dei revisori/approvatori e per le transizioni del flusso di lavoro.', 'settings_enablePasswordForgotten' => 'Abilita recupero password', 'settings_enablePasswordForgotten_desc' => 'Spuntare nel caso si desideri permettere all\'utente di re-impostare la password inviata per email.', -'settings_enableReceiptReject' => '', -'settings_enableReceiptReject_desc' => '', +'settings_enableReceiptReject' => 'Abilita il rifiuto dei ricevimenti', +'settings_enableReceiptReject_desc' => 'Abilita per attivare il rifiuto dei ricevimenti.', 'settings_enableReceiptWorkflow' => 'Abilitare per notifiche', -'settings_enableReceiptWorkflow_desc' => 'Abilitare per attivare sul workflow le ricevute di notifica.', +'settings_enableReceiptWorkflow_desc' => 'Abilitare per attivare le ricevute di notifica nel flusso di lavoro.', 'settings_enableRecursiveCount' => 'Abilita il conteggio ricursivo di documenti/cartelle', 'settings_enableRecursiveCount_desc' => 'Se selezionato il numero di documenti e sottocartelle accessibili all\'utente sarà calcolato con un conteggio ricursivo di tutti gli oggetti contenuti nella cartella.', -'settings_enableRevisionOnVoteReject' => '', -'settings_enableRevisionOnVoteReject_desc' => '', -'settings_enableRevisionWorkflow' => 'Abilita revisione documenti', -'settings_enableRevisionWorkflow_desc' => 'Abilita per attivare workflow su revisione documenti dopo scadenza.', -'settings_enableSelfReceipt' => '', -'settings_enableSelfReceipt_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => 'Rifiutato da un revisore', +'settings_enableRevisionOnVoteReject_desc' => 'Se impostato, il documento verrà rifiutato se un revisore rifiuta il documento.', +'settings_enableRevisionWorkflow' => 'Abilita riesame dei documenti', +'settings_enableRevisionWorkflow_desc' => 'Abilita per attivare flusso di lavoro su riesame documenti dopo scadenza.', +'settings_enableSelfReceipt' => 'Consenti la ricezione di documenti per l\'utente che ha effettuato l\'accesso', +'settings_enableSelfReceipt_desc' => 'Abilitare questa opzione se si desidera che l\'utente attualmente connesso sia elencato come destinatario di un documento.', 'settings_enableSelfRevApp' => 'Permetti revisione/approvazione all\'utente registrato', 'settings_enableSelfRevApp_desc' => 'Abilitare se si desidera aggiungere l\'utente attualmente registrato alla lista dei revisori/approvatori e per le transizioni del flusso di lavoro.', 'settings_enableSessionList' => 'Abilita lista utenti online nel menu', 'settings_enableSessionList_desc' => 'Abilita lista degli utenti loggati nel menu', 'settings_enableThemeSelector' => 'Selezione tema grafico', 'settings_enableThemeSelector_desc' => 'Abilita/disabilita il selettore di tema grafico nella finestra di login', -'settings_enableUpdateReceipt' => '', -'settings_enableUpdateReceipt_desc' => '', -'settings_enableUpdateRevApp' => 'Consenti la modifica della revisione / approvazione estesa', -'settings_enableUpdateRevApp_desc' => 'Abilita questo, se l\'utente che ha effettuato una revisione / approvazione può modificare la decisione finché il passaggio di flusso di lavoro corrente non è stato completato.', +'settings_enableUpdateReceipt' => 'Consenti modifica della ricezione esistente', +'settings_enableUpdateReceipt_desc' => 'Abilitare questa opzione se l\'utente che ha effettuato una ricezione può modificare la decisione.', +'settings_enableUpdateRevApp' => 'Consenti la modifica della revisione/approvazione estesa', +'settings_enableUpdateRevApp_desc' => 'Abilita questo, se l\'utente che ha effettuato una revisione/approvazione può modificare la decisione finché il passaggio di flusso di lavoro corrente non è stato completato.', 'settings_enableUserImage' => 'Abilita immagine utente', 'settings_enableUserImage_desc' => 'L\'opzione permette di attribuire un\'immagine a ciascun utente', 'settings_enableUsersView' => 'Abilita visualizzazione utenti', @@ -1349,9 +1399,9 @@ URL: [url]', 'settings_enableVersionModification' => 'Abilita modifica della versione', 'settings_enableVersionModification_desc' => 'Abilita/disabilita il permesso di modificare le versioni di un documento da parte di un qualsiasi utente. Gli Amministratori hanno sempre e comunque tale facoltà.', 'settings_enableWebdavReplaceDoc' => 'Sostituisci il documento durante il salvataggio', -'settings_enableWebdavReplaceDoc_desc' => 'Se abilitato, durante il salvataggio il documento verrà sostituito invece di crearne uno nuovo. Si applica solo se l\'utente, estensione e nome del file sono uguali all\'ultima versione. E\' utile per applicazioni che ad intervalli regolari salvano un documento.', +'settings_enableWebdavReplaceDoc_desc' => 'Se abilitato, durante il salvataggio il documento verrà sostituito invece di crearne uno nuovo. Si applica solo se l\'utente, estensione e nome del file sono uguali all\'ultima versione. È utile per applicazioni che ad intervalli regolari salvano un documento.', 'settings_enableXsendfile' => 'Usa il modulo apache xsendfile', -'settings_enableXsendfile_desc' => 'Se selezionato ed e\' installato il modulo apache xsendfile, questo puo\' essere usato per inviare immagini', +'settings_enableXsendfile_desc' => 'Se selezionato ed è installato il modulo apache xsendfile, questo puo\' essere usato per inviare immagini', 'settings_encryptionKey' => 'Chiave di criptazione', 'settings_encryptionKey_desc' => 'La chiave viene usata per creare un identificatore unico da aggiungere come campo nascosto ad un formulario per protezione da attacchi CSRF.', 'settings_error' => 'Errore', @@ -1380,7 +1430,7 @@ URL: [url]', 'settings_initialDocumentStatus' => 'Stato iniziale documento', 'settings_initialDocumentStatus_desc' => 'Stato assegnato quando si aggiunge documento', 'settings_initialDocumentStatus_draft' => 'Bozza', -'settings_initialDocumentStatus_released' => 'Rilasciato', +'settings_initialDocumentStatus_released' => 'Pubblicato', 'settings_installADOdb' => 'Installa ADOdb', 'settings_install_disabled' => 'Il file ENABLE_INSTALL_TOOL è stato cancellato. Ora puoi effettuare il login in SeedDMS e fare ulteriori configurazioni.', 'settings_install_pear_package_log' => 'Installa il registro del pacchetto Pear', @@ -1403,23 +1453,27 @@ URL: [url]', 'settings_luceneClassDir_desc' => 'Cartella del pacchetto SeedDMS_Lucene (opzionale). Lasciare il campo vuoto se SeedDMS_Lucene è stato installato in una cartella localizzabile dal PHP, ad esempio quella indicata per gli include PHP addizionali.', 'settings_luceneDir' => 'Cartella di indicizzazione fulltext', 'settings_luceneDir_desc' => 'Cartella di memorizzazione dell\'indice utilizzato da Lucene', -'settings_maxDirID' => 'Max numero di ID-Cartella', +'settings_maxDirID' => 'Max numero di ID cartella', 'settings_maxDirID_desc' => 'Numero massimo di sottocartelle contenibili in una cartella. Default: 0.', -'settings_maxExecutionTime' => 'Tempo Max di esecuzione (s)', +'settings_maxExecutionTime' => 'Tempo massimo di esecuzione (s)', 'settings_maxExecutionTime_desc' => 'Imposta il tempo limite per l\'esecuzione di uno script prima che il parser lo termini.', 'settings_maxItemsPerPage' => 'Numero massimo di inserimenti per pagina', 'settings_maxItemsPerPage_desc' => 'Riduce numero di cartelle e documenti mostrati nell pagina di visualizzazione cartelle. Altri oggetti saranno caricati allo scorrimento verso la fine della pagina. Impostare 0 per visualizzare tutti gli elementi.', 'settings_maxRecursiveCount' => 'Conteggio ricursivo Max di files e cartelle', 'settings_maxRecursiveCount_desc' => 'Numero massimo di documenti e cartelle considerati dal conteggio ricursivo per il controllo dei diritti d\'accesso. Se tale valore dovesse essere superato, il risultato del conteggio sarà stimato.', -'settings_maxSizeForFullText' => 'La lungeza massima del file per l\'indicizzazione istantanea', +'settings_maxSizeForFullText' => 'La lunghezza massima del file per l\'indicizzazione istantanea', 'settings_maxSizeForFullText_desc' => 'Tutte le nuove versioni dei documenti più in basso della dimensione configurata saranno completamente indicizzati dopo il caricamento. In tutti gli altri casi sarà indicizzato solo i metadati.', 'settings_maxUploadSize' => 'Dimensiona massima dei file da caricare', 'settings_maxUploadSize_desc' => 'Questa è la dimensiona massima del file da caricare. Avrà impatto sulla versione del documento e sull\'allegato.', 'settings_more_settings' => 'Ulteriori configurazioni. Login di default: admin/admin', +'settings_noDocumentFormFields' => 'Non mostrare questi campi', +'settings_noDocumentFormFields_desc' => 'Questo campo non verrà mostrato quando aggiungi o modifichi un documento. Il valore esistente verrà conservato.', 'settings_notfound' => 'Non trovato', 'settings_Notification' => 'Impostazioni di notifica', 'settings_notwritable' => 'La configurazione non può essere salvata perchè il file di configurazione non può essere sovrascritto.', 'settings_no_content_dir' => 'Cartella contenitore', +'settings_onePageMode' => 'Modalità ad una pagina', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Ignora MimeType', 'settings_overrideMimeType_desc' => 'Ignora il MimeType impostato dal browser, se un file viene caricato. Il MimeType è determinato ed impostato dal DMS stesso.', 'settings_partitionSize' => 'Dimensione file parziale', @@ -1445,17 +1499,17 @@ URL: [url]', 'settings_presetExpirationDate_desc' => 'Tutti i nuovi documenti caricati avranno la data di scadenza impostata su questo valore. La data inserita può essere specificata nel formato accettato dalla funzione strtotime() di PHP, ad esempio +5 settimane.', 'settings_previewWidthDetail' => 'Larghezza immagini di anteprima (dettagli)', 'settings_previewWidthDetail_desc' => 'Larghezza delle immagini di anteprima mostrate nella pagina dei dettagli', -'settings_previewWidthDropFolderList' => 'Larghezza immagine di anteprima (lista cartella rilascio)', -'settings_previewWidthDropFolderList_desc' => 'Larghezza immagine di anteprima mostrata nella lista, quando selezionato un file dalla cartella di rilascio', +'settings_previewWidthDropFolderList' => 'Larghezza immagine di anteprima (lista cartella di pubblicazione)', +'settings_previewWidthDropFolderList_desc' => 'Larghezza immagine di anteprima mostrata nella lista, quando selezionato un file dalla cartella di pubblicazione', 'settings_previewWidthList' => 'Larghezza delle immagini di anteprima (lista)', 'settings_previewWidthList_desc' => 'Larghezza delle immagini di anteprima mostrate nella lista', 'settings_previewWidthMenuList' => 'Larghezza immagine di anteprima (lista menu)', -'settings_previewWidthMenuList_desc' => 'Larghezza immagine di anteprima mostrata come articolo nel menu cartella di rilascio.', +'settings_previewWidthMenuList_desc' => 'Larghezza immagine di anteprima mostrata come articolo nel menu cartella di pubblicazione.', 'settings_printDisclaimer' => 'Mostra disclaimer', 'settings_printDisclaimer_desc' => 'Se abilitato il messaggio circa i termini e le condizioni d\'uso verrà mostrato nel pié di pagina.', 'settings_quota' => 'Quota utente', 'settings_quota_desc' => 'La quantità Max di spazio su disco che può essere occupata da ciascun utente. Impostare il valore 0 offre spazio illimitato.', -'settings_removeFromDropFolder' => 'Rimuovere file dalla cartella di ricezione dopo il successo di posto', +'settings_removeFromDropFolder' => 'Rimuovere file dalla cartella di ricezione dopo il caricamento', 'settings_removeFromDropFolder_desc' => 'Attivare questa, se un file è preso dalla cartella di ricezione, si è cancellata dopo il caricamento di successo.', 'settings_repositoryUrl' => 'URL del repository', 'settings_repositoryUrl_desc' => 'URL del repository per le estensioni', @@ -1509,14 +1563,14 @@ URL: [url]', 'settings_strictFormCheck_desc' => 'Rigido controllo sulla form. Se abilitato verrà richiesto che tutti i campi della form abbiano un valore. Se disabilitato la maggior parte dei commenti e dei campi parola-chiave diventano opzionali. NOTA: i commenti sono sempre necessari quando si carica una revisione o si scavalca lo stato di un documento.', 'settings_suggestionvalue' => 'Valore suggerito', 'settings_System' => 'Sistema', -'settings_tasksInMenu' => '', -'settings_tasksInMenu_approval' => '', -'settings_tasksInMenu_desc' => '', -'settings_tasksInMenu_needscorrection' => '', -'settings_tasksInMenu_receipt' => '', -'settings_tasksInMenu_review' => '', -'settings_tasksInMenu_revision' => '', -'settings_tasksInMenu_workflow' => '', +'settings_tasksInMenu' => 'Attività selezionate', +'settings_tasksInMenu_approval' => 'Approvazioni', +'settings_tasksInMenu_desc' => 'Seleziona le attività da conteggiare. Se non ne sono state selezionate, verranno conteggiate tutte le attività.', +'settings_tasksInMenu_needscorrection' => 'Correzioni necessarie', +'settings_tasksInMenu_receipt' => 'Ricevute', +'settings_tasksInMenu_review' => 'Revisioni', +'settings_tasksInMenu_revision' => 'Riesami', +'settings_tasksInMenu_workflow' => 'Flusso di lavoro', 'settings_theme' => 'Tema di default', 'settings_theme_desc' => 'Stile di default (nome della sottocartella nella cartella "styles")', 'settings_titleDisplayHack' => 'Visualizzazione titoli lunghi', @@ -1534,123 +1588,126 @@ URL: [url]', 'settings_viewOnlineFileTypes_desc' => 'Solo i files che terminano nella maniera seguente verranno visualizzati (UTILIZZARE SOLO IL MINUSCOLO)', 'settings_webdav' => 'WebDAV', 'settings_workflowMode' => 'Modalità flusso di lavoro', -'settings_workflowMode_desc' => 'Il flusso di lavoro \'avanzato\' permette di rilasciare un proprio flusso di lavoro per le versioni dei documenti', +'settings_workflowMode_desc' => 'Il flusso di lavoro \'avanzato\' permette di pubblicare un proprio flusso di lavoro per le versioni dei documenti', 'settings_workflowMode_valadvanced' => 'Avanzato', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'Tradizionale', -'settings_workflowMode_valtraditional_only_approval' => 'tradizionale (senza revisione)', +'settings_workflowMode_valtraditional_only_approval' => 'Tradizionale (senza revisione)', 'settings_zendframework' => 'Framework Zend', 'set_expiry' => 'Imposta scadenza', 'set_owner' => 'Conferma proprietario', 'set_owner_error' => 'Errore nell\'impostazione del proprietario', -'set_password' => 'Imposta Password', +'set_password' => 'Imposta password', 'set_workflow' => 'Imposta il flusso di lavoro', -'show_extension_changelog' => '', +'show_extension_changelog' => 'Registro delle modifiche dell\'estensione', 'show_extension_version_list' => 'Mostra lista delle versioni', 'signed_in_as' => 'Utente', 'sign_in' => 'Accesso', 'sign_out' => 'Disconnettiti', 'sign_out_user' => 'Disconnetti l\'utente', +'site_brand' => '', 'sk_SK' => 'Slovacco', -'sort_by_date' => 'Ordina per Data', -'sort_by_name' => 'Ordina per Nom', -'sort_by_sequence' => 'Ordina per Sequenza', +'sort_by_date' => 'Ordina per data', +'sort_by_name' => 'Ordina per nome', +'sort_by_sequence' => 'Ordina per sequenza', 'space_used_on_data_folder' => 'Spazio utilizzato dai dati', 'splash_added_to_clipboard' => 'Aggiunto agli appunti', -'splash_add_access' => '', +'splash_add_access' => 'Accesso aggiunto', 'splash_add_attribute' => 'Attributo aggiunto', 'splash_add_group' => 'Gruppo aggiunto', 'splash_add_group_member' => 'Membro aggiunto al gruppo', 'splash_add_role' => 'Aggiunto nuovo ruolo', 'splash_add_to_transmittal' => 'Aggiungere alla trasmissione', -'splash_add_transmittal' => '', +'splash_add_transmittal' => 'Aggiungere trasmissione', 'splash_add_user' => 'Utente aggiunto', 'splash_cleared_cache' => 'Cache cancellata', 'splash_cleared_clipboard' => 'Appunti cancellati', -'splash_delete_access' => '', +'splash_delete_access' => 'Diritto d\'accesso cancellato', 'splash_document_added' => 'Documento aggiunto', 'splash_document_checkedout' => 'Documento approvato', 'splash_document_edited' => 'Documento modificato', -'splash_document_indexed' => '', +'splash_document_indexed' => 'Documento indicizzato', 'splash_document_locked' => 'Documento bloccato', 'splash_document_unlocked' => 'Documento sbloccato', -'splash_edit_access' => '', +'splash_edit_access' => 'Accesso modificato', 'splash_edit_attribute' => 'Attributo modificato', -'splash_edit_event' => '', +'splash_edit_event' => 'Evento modificato', 'splash_edit_group' => 'Gruppo modificato', -'splash_edit_role' => 'Ruolo memorizzata', -'splash_edit_task' => '', +'splash_edit_role' => 'Ruolo memorizzato', +'splash_edit_task' => 'Attività modificata', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Utente modificato', 'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione', -'splash_error_rm_download_link' => '', -'splash_error_send_download_link' => '', -'splash_extension_getlist' => '', -'splash_extension_import' => '', -'splash_extension_refresh' => '', -'splash_extension_upload' => '', +'splash_error_rm_download_link' => 'Errore durante la rimozione del collegamento di scaricamento', +'splash_error_send_download_link' => 'Errore durante l\'invio del collegamento di scaricamento', +'splash_extension_getlist' => 'Elenco estensioni aggiornate dal repository', +'splash_extension_import' => 'Extensition installed', +'splash_extension_refresh' => 'Refreshed list of extensions', +'splash_extension_upload' => 'Extension installed', 'splash_folder_edited' => 'Cartella modificata', 'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]', -'splash_inherit_access' => '', +'splash_inherit_access' => 'Il diritto di accesso verrà ereditato', 'splash_invalid_folder_id' => 'ID cartella non valido', 'splash_invalid_searchterm' => 'Termine di ricerca non valido', -'splash_link_document' => '', +'splash_link_document' => 'Collegamento aggiunto', 'splash_moved_clipboard' => 'Appunti trasferiti nella cartella corrente', 'splash_move_document' => 'Documento spostato', 'splash_move_folder' => 'Cartella spostato', -'splash_notinherit_access' => '', -'splash_receipt_update_success' => '', +'splash_notinherit_access' => 'I diritti di accesso non sono più ereditati', +'splash_receipt_update_success' => 'Ricevuta aggiunta con successo', 'splash_removed_from_clipboard' => 'Rimosso dagli appunti', 'splash_rm_attribute' => 'Attributo rimosso', -'splash_rm_attr_value' => '', +'splash_rm_attr_value' => 'Valore attributo rimosso', 'splash_rm_document' => 'Documento rimosso', -'splash_rm_download_link' => '', +'splash_rm_download_link' => 'Collegamento di scaricamento rimosso', 'splash_rm_folder' => 'Cartella eliminata', 'splash_rm_group' => 'Gruppo eliminato', 'splash_rm_group_member' => 'Membro del gruppo eliminato', 'splash_rm_role' => 'Ruolo cancellato', 'splash_rm_transmittal' => 'Trasmissione cancellato', 'splash_rm_user' => 'Utente eliminato', -'splash_rm_user_processes' => '', -'splash_rm_workflow' => '', -'splash_rm_workflow_action' => '', -'splash_rm_workflow_state' => '', -'splash_saved_file' => '', -'splash_save_user_data' => '', -'splash_send_download_link' => '', -'splash_send_login_data' => '', -'splash_setowner' => '', +'splash_rm_user_processes' => 'Utente rimosso da tutti i processi', +'splash_rm_workflow' => 'flusso di lavoro rimosso', +'splash_rm_workflow_action' => 'Azione del flusso di lavoro rimossa', +'splash_rm_workflow_state' => 'Stato del flusso di lavoro rimosso', +'splash_saved_file' => 'Versione salvata', +'splash_save_user_data' => 'Dati utente salvati', +'splash_send_download_link' => 'Collegamento di scaricamento inviato via email.', +'splash_send_login_data' => 'Dati di login inviati', +'splash_setowner' => 'Imposta nuovo proprietario', 'splash_settings_saved' => 'Impostazioni salvate', -'splash_set_default_access' => '', +'splash_set_default_access' => 'Imposta accesso predefinito', 'splash_substituted_user' => 'Utente sostituito', 'splash_switched_back_user' => 'Ritorno all\'utente originale', 'splash_toogle_group_manager' => 'Amministratore di gruppo invertito', -'splash_transfer_content' => '', -'splash_transfer_document' => '', -'splash_transfer_objects' => '', -'splash_trigger_workflow' => '', +'splash_transfer_content' => 'Contenuto trasferito', +'splash_transfer_document' => 'Documento trasferito', +'splash_transfer_objects' => 'Oggetti trasferito', +'splash_trigger_workflow' => 'Attivata transizione del flusso di lavoro', 'state_and_next_state' => 'Stato/Prossimo stato', 'statistic' => 'Statistiche', 'status' => 'Stato', 'status_approval_rejected' => 'Bozza rifiutata', 'status_approved' => 'Approvato', 'status_approver_removed' => 'Approvatore rimosso dal processo', -'status_needs_correction' => '', +'status_needs_correction' => 'Necessita correzioni', 'status_not_approved' => 'Non ancora approvato', 'status_not_receipted' => 'Non ancora ricevuto', -'status_not_reviewed' => 'Non ancora revisionato', -'status_not_revised' => 'Non revisionato', +'status_not_reviewed' => 'Non revisionato', +'status_not_revised' => 'Non riesaminato', 'status_receipted' => 'Ricevuto', -'status_receipt_rejected' => 'Rigettato', +'status_receipt_rejected' => 'Rifiutato', 'status_recipient_removed' => 'Cartella rimossa dalla lista', 'status_reviewed' => 'Revisionato', 'status_reviewer_rejected' => 'Bozza rifiutata', 'status_reviewer_removed' => 'Revisore rimosso dal processo', -'status_revised' => 'Revisionato', -'status_revision_rejected' => 'Rigettato', -'status_revision_sleeping' => 'In attesa', +'status_revised' => 'riesaminato', +'status_revision_rejected' => 'Rifiutato', +'status_revision_sleeping' => 'in attesa', 'status_revisor_removed' => 'Revisore rimosso dalla lista', 'status_unknown' => 'Sconosciuto', 'storage_size' => 'Spazio di archiviazione', -'subfolder_duplicate_name' => '', +'subfolder_duplicate_name' => 'Nome sottocartella duplicato', 'submit_2_fact_auth' => 'Salva segreto', 'submit_approval' => 'Invio approvazione', 'submit_login' => 'Accedi', @@ -1658,9 +1715,9 @@ URL: [url]', 'submit_password_forgotten' => 'Inizio processo di recupero', 'submit_receipt' => 'Invio ricevuta', 'submit_review' => 'Invio revisione', -'submit_revision' => 'Aggiungere Revisione', +'submit_revision' => 'Aggiungi riesame', 'submit_userinfo' => 'Invio info utente', -'subsribe_timelinefeed' => '', +'subsribe_timelinefeed' => 'Iscriviti al feed della linea temporale', 'substitute_to_user' => 'Cambia in \'[username]\'', 'substitute_user' => 'Impersona utente', 'success_add_aro' => 'Aggiunto richiesta di accesso oggetto', @@ -1671,55 +1728,60 @@ URL: [url]', 'sunday_abbr' => 'Dom', 'sv_SE' => 'Svedese', 'switched_to' => 'Passato a', -'takeOverAttributeValue' => '', +'takeOverAttributeValue' => 'Riprendi il valore dell\'attributo dall\'ultima versione', 'takeOverGrpApprover' => 'Riprendi il gruppo degli approvatori dall\'ultima versione.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Riprendi il gruppo dei revisori dall\'ultima versione.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Riprendi l\'approvatore dall\'ultima versione.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Riprendi il revisore dall\'ultima versione.', -'tasks' => 'Compiti', -'task_description' => '', -'task_disabled' => '', -'task_frequency' => '', -'task_last_run' => '', -'task_name' => '', -'task_next_run' => '', +'takeOverIndReviewers' => '', +'tasks' => 'Attività', +'task_description' => 'Descrizione', +'task_disabled' => 'Disabilitata', +'task_frequency' => 'Frequenza', +'task_last_run' => 'Ultima esecuzione', +'task_name' => 'Nome', +'task_next_run' => 'Prossima esecuzione', 'temp_jscode' => 'Codice javascript temporaneo', 'testmail_body' => 'Questo messaggio di posta elettronica è solo un test per verificare la configurazione del repository', 'testmail_subject' => 'Messaggio di test', 'theme' => 'Tema', 'thursday' => 'Giovedì', 'thursday_abbr' => 'Gio', -'timeline' => 'Linea del Tempo', +'timeline' => 'Linea temporale', 'timeline_add_file' => 'Nuovo allegato', 'timeline_add_version' => 'Nuova versione [version]', 'timeline_full_add_file' => '[document]
Nuovo attacco', 'timeline_full_add_version' => '[document]
Nuovo versione [version]', -'timeline_full_scheduled_revision' => '', +'timeline_full_scheduled_revision' => '[document]
Riesame della versione [version]', 'timeline_full_status_change' => '[document]
Versione [version]: [status]', -'timeline_scheduled_revision' => '', +'timeline_scheduled_revision' => 'Riesame della versione [version]', 'timeline_selected_item' => 'Documento selezionato', 'timeline_skip_add_file' => 'allegato aggiunto', -'timeline_skip_scheduled_revision' => '', +'timeline_skip_scheduled_revision' => 'Riesame programmato', 'timeline_skip_status_change_-1' => 'respinto', 'timeline_skip_status_change_-3' => 'scaduto', 'timeline_skip_status_change_0' => 'in attesa di revisione', 'timeline_skip_status_change_1' => 'in attesa di approvazione', -'timeline_skip_status_change_2' => 'rilasciato', -'timeline_skip_status_change_3' => 'nel workflow', -'timeline_skip_status_change_4' => '', -'timeline_skip_status_change_5' => '', +'timeline_skip_status_change_2' => 'pubblicato', +'timeline_skip_status_change_3' => 'nel flusso di lavoro', +'timeline_skip_status_change_4' => 'in riesame', +'timeline_skip_status_change_5' => 'bozza', 'timeline_status_change' => 'Versione [version]: Stato', 'to' => 'A', 'toggle_manager' => 'Gestore', -'toggle_qrcode' => 'Mostri / nascondi codice QR', +'toggle_qrcode' => 'Mostri/nascondi codice QR', 'to_before_from' => 'La data di fine non può essere antecedente a quella di inizio', -'transfer_content' => '', -'transfer_document' => 'Trasferisci Documento', -'transfer_no_read_access' => 'L`utente non ha i permessi in lettura per la cartella', -'transfer_no_write_access' => 'L`utente non ha i permessi in scrittura per la cartella', -'transfer_objects' => '', -'transfer_objects_to_user' => '', -'transfer_to_user' => 'Trasferisci all`utente', +'transfer_content' => 'Trasferisci contenuto', +'transfer_document' => 'Trasferisci documento', +'transfer_no_read_access' => 'L\'utente non ha i permessi in lettura per la cartella', +'transfer_no_write_access' => 'L\'utente non ha i permessi in scrittura per la cartella', +'transfer_objects' => 'Trasferisci oggetti', +'transfer_objects_to_user' => 'Trasferisci all\'utente', +'transfer_process_to_user' => '', +'transfer_to_user' => 'Trasferisci all\'utente', 'transition_triggered_email' => 'Inizio transizione del flusso di lavoro', 'transition_triggered_email_body' => 'Transizione del flusso di lavoro iniziata Documento: [name] @@ -1734,7 +1796,7 @@ URL: [url]', 'transition_triggered_email_subject' => 'Transizione del flusso di lavoro iniziata', 'transmittal' => 'Trasmissione', 'transmittalitem_removed' => 'Oggetto trasmissione rimosso', -'transmittalitem_updated' => 'Documento aggiornato alla ultima versione', +'transmittalitem_updated' => 'Documento aggiornato all\'ultima versione', 'transmittal_comment' => 'Commento', 'transmittal_name' => 'Nome', 'transmittal_size' => 'Dimensione', @@ -1794,12 +1856,13 @@ URL: [url]', 'use_comment_of_document' => 'Utilizza il commento al documento', 'use_default_categories' => 'Usa categorie predefinite', 'use_default_keywords' => 'Usa parole-chiave predefinite', -'valid_till' => '', +'valid_till' => 'Valido fino a', 'version' => 'Versione', 'versioning_file_creation' => 'Creazione file di versione', 'versioning_file_creation_warning' => 'Con questa operazione è possibile creare un file di backup delle informazioni di versione dei documenti di un\'intera cartella. Dopo la creazione ogni file viene salvato nella cartella del relativo documento.', 'versioning_info' => 'Informazioni di versione', 'versiontolow' => 'Versione obsoleta', +'version_comment' => 'Commento alla versione', 'version_deleted_email' => 'Cancellazione versione', 'version_deleted_email_body' => 'Versione cancellata Documento: [name] @@ -1817,31 +1880,32 @@ URL: [url]', 'weeks' => 'settimane', 'week_view' => 'Vista settimana', 'workflow' => 'Flusso di lavoro', -'workflows_involded' => '', +'workflows_involded' => 'Coinvolto nel flusso di lavoro', 'workflow_actions_management' => 'Gestione azioni del flusso di lavoro', 'workflow_action_in_use' => 'Questa azione è attualmente usata da alcuni flussi di lavoro', 'workflow_action_name' => 'Nome', 'workflow_editor' => 'Modifica flussi di lavoro', 'workflow_group_summary' => 'Sommario di gruppo', -'workflow_has_cycle' => '', +'workflow_has_cycle' => 'Il flusso di lavoro ha un ciclo', 'workflow_initstate' => 'Stato iniziale', 'workflow_in_use' => 'Questo flusso di lavoro è attualmente usato da alcuni documenti', -'workflow_layoutdata_saved' => '', +'workflow_layoutdata_saved' => 'Dati di layout salvati', 'workflow_management' => 'Gestione flusso di lavoro', 'workflow_name' => 'Nome', -'workflow_no_doc_rejected_state' => '', -'workflow_no_doc_released_state' => '', -'workflow_no_initial_state' => '', +'workflow_no_doc_rejected_state' => 'Il documento non verrà rifiutato in uno stato di flusso di lavoro!', +'workflow_no_doc_released_state' => 'Il documento non verrà rilasciato in uno stato di flusso di lavoro!', +'workflow_no_initial_state' => 'Nessuna delle transizioni inizia con lo stato iniziale del flusso di lavoro!', 'workflow_no_states' => 'Prima di aggiungere un flusso di lavoro occorre definirne prima gli stati.', -'workflow_save_layout' => '', +'workflow_save_layout' => 'Salva layout', 'workflow_state' => 'Stato del flusso di lavoro', 'workflow_states_management' => 'Gestione stati del flusso di lavoro', 'workflow_state_docstatus' => 'Stato del documento', 'workflow_state_in_use' => 'Questo stato è attualmente usato da alcuni flussi di lavoro', 'workflow_state_name' => 'Nome', 'workflow_summary' => 'Riepilogo flusso di lavoro', -'workflow_transition_without_user_group' => '', +'workflow_transition_without_user_group' => 'Almeno una delle transizioni non ha un utente o un gruppo!', 'workflow_user_summary' => 'Riepilogo utenti', +'wrong_filetype' => '', 'x_more_objects' => '[number] altri oggetti', 'year_view' => 'Vista anno', 'yes' => 'Sì', diff --git a/languages/ko_KR/lang.inc b/languages/ko_KR/lang.inc index e70270c90..303a1cc14 100644 --- a/languages/ko_KR/lang.inc +++ b/languages/ko_KR/lang.inc @@ -90,11 +90,14 @@ URL: [url]', 'and' => '와', 'apply' => '적용', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] 이미 승인 거부됨', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => '승인 요청 삭제', @@ -231,6 +234,7 @@ URL: [url]', 'category_in_use' => '이 카테고리는 현재 문서에서 사용합니다.', 'category_noname' => '주어진 카테고리명이 없음.', 'ca_ES' => '카탈로니아어', +'changelog_loading' => '', 'change_assignments' => '검토자/승인자 설정', 'change_password' => '암호 바꾸기', 'change_password_message' => '암호를 바꾸었습니다.', @@ -430,6 +434,7 @@ URL: [url]', 'do_object_repair' => '모든 폴더와 문서를 복구', 'do_object_setchecksum' => '오류 검사', 'do_object_setfilesize' => '파일 크기 설정', +'do_object_setfiletype' => '', 'do_object_unlink' => '문서 버전 삭제', 'draft' => '기본값', 'draft_pending_approval' => '초안 - 보류 승인', @@ -438,6 +443,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => '드롭 폴더 파일', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => '빠른 업로드', 'drop_files_here' => '이곳에 파일을 올려놓으세요!', 'dump_creation' => 'DB 덤프 생성', @@ -463,6 +469,7 @@ URL: [url]', 'edit_folder_props' => '폴더 편집', 'edit_group' => '편집 그룹', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '전송 속성 편집', 'edit_user' => '사용자 편집', @@ -540,6 +547,7 @@ URL: [url]', 'files_deletion' => '파일 삭제', 'files_deletion_warning' => '이 옵션을 사용하면 전체 DMS 폴더의 모든 파일을 삭제할 수 있습니다. 버전 정보가 표시로 남을 것 입니다 files파일', 'files_loading' => '파일 목록을 가지고 오는 중 ...', +'filetype' => '', 'file_size' => '파일 크기', 'filter_for_documents' => '문서에 대한 추가 필터', 'filter_for_folders' => '폴더에 대한 추가 필터', @@ -584,6 +592,7 @@ URL : [url]', URL: [url]', 'folder_renamed_email_subject' => '[sitename] : [name] - 폴더 이름', 'folder_title' => '폴더 \'[foldername]\'', +'foot_note' => '', 'force_update' => '', 'friday' => '금요일', 'friday_abbr' => '금', @@ -610,6 +619,7 @@ URL: [url]', 'group_members' => '카페 회원', 'group_receipt_summary' => '그룹 접수 요약', 'group_review_summary' => '그룹 검토 요약', +'group_revision_summary' => '', 'guest_login' => '게스트로 로그인', 'guest_login_disabled' => '고객 로그인을 사용할 수 없습니다.', 'hash' => '해시', @@ -727,6 +737,7 @@ URL: [url]', 'lock_document' => '잠그기', 'lock_message' => '이 문서는 [username].에 의해 잠겨 있습니다. 허가 된 사용자 만이 문서를 잠금을 해제 할 수 있습니다.', 'lock_status' => '상태', +'logfile_loading' => '', 'login' => '로그인', 'login_disabled_text' => '귀정 이상 로그인 실패로 당신의 계정을사용할 수 없습니다.', 'login_disabled_title' => '계정 비활성화', @@ -813,9 +824,11 @@ URL: [url]', URL [url]', 'new_subfolder_email_subject' => '[sitename] : [name] - 새 폴더', 'new_user_image' => '새로운 이미지', +'next_revision_abbr' => '', 'next_state' => '새 상태', 'nl_NL' => '네덜란드', 'no' => '아니오', +'notification' => '', 'notify_added_email' => '귀하는 알림목록에 추가되었습니다.', 'notify_added_email_body' => '알림 목록에 추가 이름: [name] @@ -835,9 +848,11 @@ URL : [url]', 'no_action' => '조치가 필요하지 않습니다', 'no_approval_needed' => '승인을 보류하지 않습니다', 'no_attached_files' => '첨부 파일 없음', +'no_backup_dir' => '', 'no_current_version' => '당신은 이전 버전의 SeedDMS를 사용하고 있습니다. 사용 가능한 최신 버전은 [latestversion] 입니다.', 'no_default_keywords' => '사용 가능한 키워드가 존재하지 않습니다.', 'no_docs_checked_out' => '체크아웃 문서가 없습니다.', +'no_docs_expired' => '', 'no_docs_locked' => '잠긴 문서가 없습니다.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -925,8 +940,11 @@ URL : [url]', 'quota_is_disabled' => '할당량 지원이 설정에서 비활성화되어 있습니다. 다시 활성화 될 때까지 사용자의 할당량 설정은 적용되지 않습니다.', 'quota_warning' => '당신의 최대 디스크 사용량 [bytes] 초과됩니다. 문서 또는 이전 버전을 제거하십시오.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -997,8 +1015,11 @@ URL: [url]', 'reviewer_already_assigned' => '해 사용자는 리뷰어로 배정되었습니다.', 'reviewer_already_removed' => '이미 검토 과정에서 제거되었거나 리뷰로 제출', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => '검토 요청 삭제됨', @@ -1036,9 +1057,13 @@ URL: [url]', 'revise_document' => '개정 문서', 'revise_document_on' => '문서 버전의 다음 개정 [날짜]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '개정 일자', @@ -1048,6 +1073,7 @@ URL: [url]', 'revision_status' => '상태', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '감사', 'revisor_already_assigned' => '이미 감사가 선임이 된 사용자.', 'revisor_already_removed' => '감사는 문서의 개정을 과정에서 삭제했거나 이미 개정을 완료 했습니다.', @@ -1306,6 +1332,8 @@ URL : [url]', 'settings_enableReceiptWorkflow_desc' => '문서의 수신 확인을 위해 워크플로어를 선택하고 활성화 합니다.', 'settings_enableRecursiveCount' => '재귀적 문서 / 폴더 수 사용', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '문서의 개정 허용', @@ -1398,10 +1426,14 @@ URL : [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '기타 설정을 구성합니다. 기본 로그인 : admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => '찾을 수 없음', 'settings_Notification' => '알림 설정', 'settings_notwritable' => '구성값을 저장할 수 없습니다 구성 파일에 쓰기 권한이 없습니다.', 'settings_no_content_dir' => '내용 디렉토리', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'MIME 타입 재정의', 'settings_overrideMimeType_desc' => '파일이 업로드 되는 경우, 브라우저에 의해 제공되는 MIME 타입을 재정의 합니다. 새로운 MIME 타입은 SeedDMS에 의해 결정 됩니다.', 'settings_partitionSize' => '조각 파일 크기', @@ -1518,6 +1550,7 @@ URL : [url]', 'settings_workflowMode' => '워크플로우 모드', 'settings_workflowMode_desc' => '문서 버전에 대한 자신의 릴리스 워크플로우 지정하실 수 있습니다 .', 'settings_workflowMode_valadvanced' => '고급', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => '관습적', 'settings_workflowMode_valtraditional_only_approval' => '관습적 (리뷰 없음)', 'settings_zendframework' => '젠드 프레임 워크', @@ -1532,6 +1565,7 @@ URL : [url]', 'sign_in' => '로그인', 'sign_out' => '로그 아웃', 'sign_out_user' => '사용자가 로그 아웃', +'site_brand' => '', 'sk_SK' => '슬로바키아어', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1561,6 +1595,7 @@ URL : [url]', 'splash_edit_group' => '그룹 저장', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '사용자 저장', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1655,9 +1690,13 @@ URL : [url]', 'switched_to' => '전환', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '마지막 버전의 승인자의 그룹를 인수 합니다.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '최종 버전의 리뷰 그룹을 상속합니다.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '마지막 버전의 개별 승인자를 인수 합니다.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '최종 버전의 개인별 검수자를 상속합니다.', +'takeOverIndReviewers' => '', 'tasks' => '작업', 'task_description' => '', 'task_disabled' => '', @@ -1701,6 +1740,7 @@ URL : [url]', 'transfer_no_write_access' => '', 'transfer_objects' => '', 'transfer_objects_to_user' => '새 소유자', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => '워크플로우 전환 트리거', 'transition_triggered_email_body' => '워크플로우 전환 트리거 @@ -1782,6 +1822,7 @@ URL : [url]', 'versioning_file_creation_warning' => '버전 정보가 포함 된 파일을 만들 수 있습니다. 이 작업은 전체 DMS 폴더를 작성 후 모든 파일이 문서 폴더 안에 저장됩니다.', 'versioning_info' => '버전 관리 정보', 'versiontolow' => '낮은 버전', +'version_comment' => '', 'version_deleted_email' => '버전 삭제', 'version_deleted_email_body' => '버전 삭제 문서: [name] @@ -1824,6 +1865,7 @@ URL : [url]', 'workflow_summary' => '워크플로우 요약', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => '사용자 요약', +'wrong_filetype' => '', 'x_more_objects' => '', 'year_view' => '연간 단위로 보기', 'yes' => '예', diff --git a/languages/lo_LA/lang.inc b/languages/lo_LA/lang.inc index 5796aba51..8c396a6b3 100644 --- a/languages/lo_LA/lang.inc +++ b/languages/lo_LA/lang.inc @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'ແລະ', 'apply' => 'ໃຊ້', 'approvals_accepted' => '[no_approvals] ອະນຸມັດໂດຍບໍ່ຕ້ອງສຳພັດ', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] ອະນຸມັດແລ້ວ ແລະ [no_reviews] ອະນຸມັດແລ້ວ', 'approvals_and_reviews_not_touched' => '[no_approvals] ອະນຸມັດແລ້ວ ແລະ [no_reviews] ການກວດຄືນ ທີບໍ່ມີການສໍາຜັດ', 'approvals_and_reviews_rejected' => '[no_approvals] ອະນຸມັດແລ້ວ ແລະ [no_reviews] ການກວດຄືນໄດ້ຮັບການປະຕິເສດ', 'approvals_not_touched' => '[no_approvals] ອະນຸມັດໂດຍບໍ່ຕ້ອງສຳພັດ', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] ບໍໄດ້ຮັບການອະນຸມັດ', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'ການອະນຸມັດໂດຍບໍ່ຢູ່ໃນກຸ່ມ', 'approvals_without_user' => 'ການອະນຸມັດຍັງບໍ່ໄດ້ຮັບການນຳໄຊ້', 'approval_deletion_email' => 'ຄຳຂໍອະນຸມັດໄດ້ຖືກລົບແລ້ວ', @@ -227,6 +230,7 @@ URL: [url]', 'category_in_use' => 'ປັດຈຸບັນມີການໃຊ້ໝວດໝູ່ນີ້ໃນເອກະສານ.', 'category_noname' => 'ບໍ່ລະບຸຊື່ປະເພດ', 'ca_ES' => 'ຄາຕາລັນ', +'changelog_loading' => '', 'change_assignments' => 'ຕັ້ງຜູ້ກວດກາ/ຜູ້ອະນຸມັດ', 'change_password' => 'ປ່ຽນລະຫັດຜ່ານ', 'change_password_message' => 'ປ່ຽນລະຫັດຜ່ານຂອງທ່ານຮຽບຮ້ອຍແລ້ວ', @@ -434,6 +438,7 @@ URL: [url]', 'do_object_repair' => 'ສ້ອມແຊມໂຟລເດີ ແລະເອກະສານທັງໝົດ', 'do_object_setchecksum' => 'ຕັ້ງຄ່າການກວດສອບ', 'do_object_setfilesize' => 'ຕັ້ງຂະໜາດຟາຍ', +'do_object_setfiletype' => '', 'do_object_unlink' => 'ລົບເວີຊັນຂອງເອກະສານ', 'draft' => 'ຮ່າງ', 'draft_pending_approval' => 'ຮ່າງ-ລໍຖ້າການອະນຸມັດ', @@ -442,6 +447,7 @@ URL: [url]', 'dropfolderdir_missing' => 'ໂຟລເດີສ່ວນບຸກຄົນຂອງທ່ານບໍໄດ້ຢູ່ໃນເຊີເວີ ກະລຸນາໃຫ້ຜູ້ດູແລລະບົບຂອງເຈົ້າສ້າງຂໍ້ມູນ', 'dropfolder_file' => 'ໄຟລຈາກໂຟລເດີແບບເລືອນລົງ', 'dropfolder_folder' => 'ໂຟລເດີຈາກໂຟລເດີວ່າງ', +'dropfolder_metadata' => '', 'dropupload' => 'ອັບໂຫລດຢ່າງວ່ອງໄວ', 'drop_files_here' => 'ວາງໄຟລທີນີ້!', 'dump_creation' => 'ການສ້າງຂໍ້ມູນ DB', @@ -467,6 +473,7 @@ URL: [url]', 'edit_folder_props' => 'ແກ້ໄຂໂຟລເດີ', 'edit_group' => 'ແກ້ໄຂກຸ່ມ', 'edit_online' => 'ແກ້ໄຂອອນລາຍ', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'ແກ້ໄຂຄຸນສົມບັດໃນການຖ່າຍທອດ', 'edit_user' => 'ແກ້ໄຂຜູ້ໃຊ້', @@ -544,6 +551,7 @@ URL: [url]', 'files_deletion' => 'ລົບໄຟລ', 'files_deletion_warning' => 'ດ້ວຍຕົວເລືອກນີ້ເຈົ້ສາມາດລົບໄຟລທັງໝົດຂອງ DMS ໂຟລເດີທັງໝົດ ຂໍ້ມູນການກຳນົດລຸ້ນຈະຍັງຄົງປາກົດຢູ່', 'files_loading' => 'ກະລຸນາລໍຖ້າ, ຈົນກວ່າລາຍການໄຟລຈະຖືກໂຫລດ …', +'filetype' => '', 'file_size' => 'ຂະໜາດ', 'filter_for_documents' => 'ຕົວກອງເພີ່ມເຕົມສຳລັບເອກະສານ', 'filter_for_folders' => 'ຕົວກອງເພີ່ມເຕີມສຳລັບໂຟລເດີ', @@ -588,6 +596,7 @@ URL: [url]', URL: [url]', 'folder_renamed_email_subject' => '[sitename]:[name] - ປ່ຽນຊື່ໂຟລເດີ', 'folder_title' => 'ໂຟລເດີ "[foldername] "', +'foot_note' => '', 'force_update' => '', 'friday' => 'ວັນສຸກ', 'friday_abbr' => 'ວັນສຸກ', @@ -614,6 +623,7 @@ URL: [url]', 'group_members' => 'ສະມາຊິກກຸ່ມ', 'group_receipt_summary' => 'ພາບລວມການຢືນຢັນເນື້ອຫາຂອງກຸ່ມ', 'group_review_summary' => 'ສະຫຼຸບບົດວິຈານຂອງກຸ່ມ', +'group_revision_summary' => '', 'guest_login' => 'ເຂົ້າສູ້ລະບົບໃນຖານະແຂກ', 'guest_login_disabled' => 'ການເຂົ້າສູ້ລະບົບສຳລັບບຸກຄົນທົ່ວໄປຖຶກປິດການໄຊ້ງານ', 'hash' => 'ກັນຊາ', @@ -731,6 +741,7 @@ URL: [url]', 'lock_document' => 'ລັອກ', 'lock_message' => 'ເອກະສານນີ້ຖືກລັອກໂດຍ [username] ສະເພາະຜູ້ໄຊ້ທີ່ໄດ້ຮັບອະນຸຍາດເທົ່ານັ້ນທີ່ສາມາດປົດລັອກເອກະສານນີ້ໄດ້', 'lock_status' => 'ສະຖານະ', +'logfile_loading' => '', 'login' => 'ເຂົ້າສຸ່ລະບົບ', 'login_disabled_text' => 'ບັນຊີຂອງເຈົ້າໄດ້ຖືກປິດໄຊ້ງານອາດເປັນເພາະການລັອກອິນເຂົ້າລະບົບລົ້ມເຫຼວຫລາຍຄັ້ງເກີນໄປ', 'login_disabled_title' => 'ບັນຊີຖືກປິດໄຊ້ງານ', @@ -817,9 +828,11 @@ URL: [url]', URL: [url]', 'new_subfolder_email_subject' => '[sitename]:[name] - ໂຟລເດີໄຫມ່', 'new_user_image' => 'ຮູບໄຫມ່', +'next_revision_abbr' => '', 'next_state' => 'ລັດໄຫມ່', 'nl_NL' => 'ດັສ', 'no' => 'ບໍ່', +'notification' => '', 'notify_added_email' => 'ເຈົ້າໄດ້ຮັບການເພີ່ມລາຍຊື່ລົງໃນການແຈ້ງເຕືອນແລ້ວ', 'notify_added_email_body' => 'ເພີ່ມລົງໃນລາຍການແຈ້ງເຕືອນແລ້ວ ຊື່: [name] @@ -839,9 +852,11 @@ URL: [url]', 'no_action' => 'ບໍ່ຕ້ອງດຳເນີນການໄດໆ', 'no_approval_needed' => 'ຍັງບໍ່ມີການອະນຸມັດ', 'no_attached_files' => 'ບໍ່ມີການແນບໄຟລມາ', +'no_backup_dir' => '', 'no_current_version' => 'ເຈົ້າກຳລັງນຳໄຊ້ເວີຊັນເກົ່າຄື ຊິສ DMS. ສວນເວີຊັນທີ່ມີຢູ່ລ້າສຸດຄື [latestversion]', 'no_default_keywords' => 'ບໍ່ມີຄຳຫລັກ', 'no_docs_checked_out' => 'ບໍ່ມີເອກະສານທີ່ເອົາອອກໄປ', +'no_docs_expired' => '', 'no_docs_locked' => 'ເອກະສານທີ່ບໍຖືກລັອກ', 'no_docs_needs_correction' => '', 'no_docs_rejected' => 'ບໍ່ມີເອກະສານທີຖືກປະຕິເສດ', @@ -937,8 +952,11 @@ URL: [url]', 'quota_is_disabled' => 'ຂະນະນີ້ການສະນັບສະໜູນໂຄຕ້າຖືກປິດໄຊ້ງານໃນການຕັ້ງຄ່າແລ້ວການກຳນົດໂຄຕ້າຜູ້ໄຊ້ຈະບໍ່ມີຜົນໄດໆ ຈົນກວ່າຈະເປີດໄຊ້ງານອີກຄັ້ງ', 'quota_warning' => 'ການໄຊ້ດິສສູງສຸດຂອງເຈົ້າເກີນ [ໄບຣ] ໂປດລົບເອກະສານຫຼືເວີຊັນກ່ອນໜ້າ', 'receipts_accepted' => 'ໃບບິນຮັບເງີນໄດ້ຮັບການຍອມຮັບແລ້ວ [ບໍມີໃບບິນຮັບເງິນ]', +'receipts_accepted_latest' => '', 'receipts_not_touched' => 'ບໍ່ມີໃບບິນຮັບເງິນ', +'receipts_not_touched_latest' => '', 'receipts_rejected' => 'ໃບຮັບເງີນ [ບໍ່ມີໃບບິນຮັບເງີນ] ຖືກປະຕິເສດແລ້ວ', +'receipts_rejected_latest' => '', 'receipts_without_group' => 'ບໍ່ມີກຸ່ມໃບບິນຮັບເງີນ', 'receipts_without_user' => 'ໃບບິນຮັບເງີນຍັງບໍ່ມີຜູ້ໄຊ້', 'receipt_deletion_email_body' => 'ຜູ້ໄຊ້ໄດ້ຖືກລົບອອກຈາກລາຍຊື່ຜູ້ຮັບ @@ -1020,8 +1038,11 @@ URL: [url]', 'reviewer_already_assigned' => 'ຜູ້ໄຊ້ໄດ້ຮັບມອບໝາຍໃຫ້ຜູ້ກວດສອບແລ້ວ', 'reviewer_already_removed' => 'ຜູ້ກວດສອບໄດ້ຍ້າຍອອກຈາກການກວດຄືນແລ້ວຫຼືໄດ້ສົ່ງຄຳເຫັນແລ້ວ', 'reviews_accepted' => 'ບໍ່ມີລິວິວ ຄວາມເຫັນທີຍອມຮັບໄດ້', +'reviews_accepted_latest' => '', 'reviews_not_touched' => 'ລີວິວ ບໍ່ມີລີວິວ ບໍ່ໄດ້ຮັບການສຳຜັດ', +'reviews_not_touched_latest' => '', 'reviews_rejected' => 'ບໍ່ມີລີວິວ ຄວາມເຫັນທີຖືກປະຕິເສດແລ້ວ', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'ການທົບທວນໂດຍບໍ່ຢູ່ໃນກຸ່ມ', 'reviews_without_user' => 'ຄວາມເຫັນໂດຍບໍ່ມີຜູ້ໄຊ້', 'review_deletion_email' => 'ລົບຄຳຂໍການກວດກາແລ້ວ', @@ -1059,9 +1080,13 @@ URL: [url]', 'revise_document' => 'ແກ້ໄຂເອກະສານ', 'revise_document_on' => 'ແກ້ໄຂເອກະສານຮູບແບບໄຫມ່ ໃນ ວັນທີ', 'revisions_accepted' => 'ໄດ້ມີການແກ້ໄຂເອກະສານແລ້ວ ບໍ່ມີການແກ້ໄຂ', +'revisions_accepted_latest' => '', 'revisions_not_touched' => 'ບໍ່ມີການແກ້ໄຂ ການແກ້ໄຂບໍ່ຖືກຕ້ອງ', +'revisions_not_touched_latest' => '', 'revisions_pending' => 'ບໍ່ມີການແກ້ໄຂ ການແກ້ໄຂຈະເກີດຂື້ນໃນອານາຄົດ', +'revisions_pending_latest' => '', 'revisions_rejected' => 'ບໍ່ມີການແກ້ໄຂ ການແກ້ໄຂໄດ້ຖືກປະຕິເສດ', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'ການປັບປຸງໂດຍບໍ່ຢູ່ໃນກຸ່ມ', 'revisions_without_user' => 'ການແກ້ໄຂໂດຍບໍ່ມີຜູ້ໄຊ້', 'revision_date' => 'ວັນທີ່ແກ້ໄຂ', @@ -1076,6 +1101,7 @@ URL: [url]', 'revision_status' => 'ສະຖານະ', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'ຜູ້ປະສານງານ', 'revisor_already_assigned' => 'ກຳນົດຜູ້ໄຊ້ເປັນຜູ້ກວດສອບແລ້ວ', 'revisor_already_removed' => 'ຜູ້ກວດສອບຖືກນຳອອກຈາກຂະບວນການແກ້ໄຂ ຫຼືໄດ້ແກ້ໄຂເອກະສານແລ້ວ', @@ -1339,6 +1365,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'ເປີດໄຊ້ງານການນັບເອກະສານ/ໂຟລເດີນັບຊໍ້າ', 'settings_enableRecursiveCount_desc' => 'ຫາກເປີດໄຊ້ງານຈຳນວນເອກະສານແລະໂຟລເດີໃນມຸມມອງຂອງໂຟລເດີຈະຖືກກຳນົດໂດຍນັບວັດຖຸທັງໝົດໂດຍປະມວນຜົນໂຟລເດີໂຟລເດີຊຳ, ນັບເກະສານ ແລະໂຟລເດີທີຜູ້ໄຊ້ສາມາດເຂົ້າເຖິງໄດ້', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'ເປີກການໄຊ້ງານການແກ້ໄຂເອກະສານ', @@ -1431,10 +1459,14 @@ URL: [url]', 'settings_maxUploadSize' => 'ขนาดสูงสุดสำหรับไฟล์ที่อัปโหลด.', 'settings_maxUploadSize_desc' => 'ນີ້ຄືຂະໜາດສູງສຸດສຳລັບໄຟລທີອັບໂຫລດ ຈະມີຜົນຕໍ່ເວີຊັນເອກະສານແລະ ເອກະສານແນບ', 'settings_more_settings' => 'กำหนดค่าการตั้งค่าเพิ่มเติม ค่าเริ่มต้นการเข้าสู่ระบบ: ผู้ดูแลระบบ / ผู้ดูแลระบบ.', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'ເຂົ້າລະບົບ', 'settings_Notification' => 'ການຕັ້ງຄ່າການແຈ້ງເຕືອນ', 'settings_notwritable' => 'ການກຳນົດຄ່າທີ່ບໍ່ສາມາດບັນທືກໄດ້ຍ້ອນວ່າໄຟລກຳນົດຄ່າບໍ່ສາມາດຂຽນໄດ້', 'settings_no_content_dir' => 'ຜູ້ກຳກັບເນື້ອຫາ', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'ชนิดละครใบ้แทนที่', 'settings_overrideMimeType_desc' => 'แทนที่ ชนิดละครใบ้ ที่จัดส่งโดยเบราว์เซอร์ถ้าไฟล์ถูกอัปโหลด ชนิดละครใบ้ใหม่จะถูกกำหนดโดย SeedDMS เอง.', 'settings_partitionSize' => 'ໄຟລບາງສ່ວນ', @@ -1551,6 +1583,7 @@ URL: [url]', 'settings_workflowMode' => 'ໂຫມດການເຮັດວຽກ', 'settings_workflowMode_desc' => 'ເວີກໂຟລຂັນສູງຊ່ວຍໃນການລະບຸເວີກໂຟລການເປີດຕົວຂອງເຈົ້າເອງສຳລັບເວີຊັນຂອງເອກະສານ', 'settings_workflowMode_valadvanced' => 'ຕຳແຫນ່ງສູງ', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'ແບບດັງເດີມ', 'settings_workflowMode_valtraditional_only_approval' => 'ແບບດັງເດີມ ບໍ່ມີການກວດກາ', 'settings_zendframework' => 'ເຊັນກອບຂອງງງານ', @@ -1565,6 +1598,7 @@ URL: [url]', 'sign_in' => 'ລົງຊື່ເຂົາໄຊ້', 'sign_out' => 'ອອກຈາກລະບົບ', 'sign_out_user' => 'ອອກຈາກລະບົບຜູ້ໄຊ້', +'site_brand' => '', 'sk_SK' => 'ສະໂລວາເກຍ', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1594,6 +1628,7 @@ URL: [url]', 'splash_edit_group' => 'ບັນທຶກກຸ່ມແລ້ວ', 'splash_edit_role' => 'ບັນທຶກບົດບາດແລ້ວ', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'ບັນທຶກຜູ້ໄຊ້ແລ້ວ', 'splash_error_add_to_transmittal' => 'ເກີດຂໍ້ຜິດພາດໃນຂະນະທີ່ເພີ່ມເອກະສານເພື່ອຕິດຕໍ່', 'splash_error_rm_download_link' => 'ຂໍ້ຜິດພາດໃນການລົບລິງການດາວໂຫລດ', @@ -1688,9 +1723,13 @@ URL: [url]', 'switched_to' => 'ປ່ຽນເປັນ', 'takeOverAttributeValue' => 'ໄຊ້ແອັດທີບິວຈາກເວີຊັ້ນລາສຸດ', 'takeOverGrpApprover' => 'ກຸ່ມຜູ້ອະນຸມັກຈາກເວີຊັ້ນລ່າສຸດ', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'ໄຊ້ກຸ່ມຜູ້ກວດສອບຈາກເວີຊັນລ້າສຸດ', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'ຮັບອານຸມັດຈາກເວີຊັນລ່າສຸດ', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'ການກວດສອບແຕ່ລະບຸກຄົນຈາກເວີຊັ້ນລ່າສຸດ', +'takeOverIndReviewers' => '', 'tasks' => 'ງານ', 'task_description' => '', 'task_disabled' => '', @@ -1734,6 +1773,7 @@ URL: [url]', 'transfer_no_write_access' => '', 'transfer_objects' => 'ຖ່າຍໂອນວັດຖຸ', 'transfer_objects_to_user' => 'ເຈົ້າຂອງໄຫມ່', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => 'ປ່ຽນຮູບແບບການເຮັດວຽກຮຽບຮ້ອຍແລ້ວ', 'transition_triggered_email_body' => 'ໄດ້ປ່ຽນການເຮັດວຽກຂອງເວີກໂຟລ @@ -1815,6 +1855,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'ສຳລັບການດຳເນີນງານນີ້ເຈົ້າສາມາດສ້າງໄຟລສຳລັບແຕ່ລະເອກະສານທີມີຂໍ້ມູນການກຳນົດເວີຊັ້ນຂອງເອກະສານນັ້ນ', 'versioning_info' => 'ຂໍ້ມູນການກຳນົດລຸ້ນ', 'versiontolow' => 'ເວີຊັ້ນຕຳ', +'version_comment' => '', 'version_deleted_email' => 'ລົບເວີຊັ້ນແລ້ວ', 'version_deleted_email_body' => 'ລົບເວີຊັ້ນແລ້ວ ເອກະສານ: [name] @@ -1857,6 +1898,7 @@ URL: [url]', 'workflow_summary' => 'ສະຫຼຸບການເຮັດວຽກ', 'workflow_transition_without_user_group' => 'ການປ່ຽນພາບຢ່າງນ້ອຍໜື່ງຄັ້ງບໍ່ມີທັງຜູ້ໄຊ້ແລະກຸ່ມ', 'workflow_user_summary' => 'ສະຫລູບຂໍ້ມູນຂອງຜູ້ໄຊ້', +'wrong_filetype' => '', 'x_more_objects' => '', 'year_view' => 'ແຜນປະຈຳປີ', 'yes' => 'ແມ່ນ', diff --git a/languages/nl_NL/lang.inc b/languages/nl_NL/lang.inc index 0a58e0506..882d911b2 100644 --- a/languages/nl_NL/lang.inc +++ b/languages/nl_NL/lang.inc @@ -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 (770), gijsbertush (651), pepijn (45), reinoutdijkstra@hotmail.com (270) +// Translators: Admin (772), gijsbertush (651), pepijn (45), reinoutdijkstra@hotmail.com (270) $text = array( '2_factor_auth' => '2-factor-authenticatie', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'en', 'apply' => 'Toepassen', 'approvals_accepted' => '[no_approvals] goedkeuringen', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] goedkeuringen en [no_reviews] geaccepteerde reviews', 'approvals_and_reviews_not_touched' => '[no_approvals] goedkeuringen [no_reviews] reviews nog niet behandeld', 'approvals_and_reviews_rejected' => '[no_approvals] goedkeuringen en [no_reviews] reviews afgekeurd', 'approvals_not_touched' => '[no_approvals] goedkeuringen nog niet behandeld', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] goedkeuringen afgekeurd', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Goedkeuringen zonder groep', 'approvals_without_user' => 'Goedkeuringen zonder gebruiker', 'approval_deletion_email' => 'Goedkeuringsverzoek verwijderd', @@ -222,6 +225,7 @@ URL: [url]', 'category_in_use' => 'Categorie is in gebruik door documenten.', 'category_noname' => 'Geen Categorienaam opgegeven.', 'ca_ES' => 'Catalaans', +'changelog_loading' => '', 'change_assignments' => 'Wijzig taken/toewijzingen', 'change_password' => 'Wijzig wachtwoord', 'change_password_message' => 'Wachtwoord is gewijzigd.', @@ -429,6 +433,7 @@ De link is geldig tot [valid]. 'do_object_repair' => 'Repareer alle mappen en documenten.', 'do_object_setchecksum' => 'Set checksum', 'do_object_setfilesize' => 'Voer bestandgrootte in', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Verwijdere documentversie', 'draft' => 'Concept', 'draft_pending_approval' => 'Draft - in afwachting van goedkeuring', @@ -437,6 +442,7 @@ De link is geldig tot [valid]. 'dropfolderdir_missing' => 'Uw persoonlijke map om files te droppen (dropfolder) bestaat niet op de server! Vraag de administrator om deze aan te maken.', 'dropfolder_file' => 'Bestand in dropfolder', 'dropfolder_folder' => 'Map in dropfolder', +'dropfolder_metadata' => '', 'dropupload' => 'Snel toevoegen', 'drop_files_here' => 'Sleep bestanden hierheen', 'dump_creation' => 'DB-dump aanmaken', @@ -462,6 +468,7 @@ De link is geldig tot [valid]. 'edit_folder_props' => 'Wijzig Map eigenschappen', 'edit_group' => 'Wijzig Groep', 'edit_online' => 'Online bewerken', +'edit_online_warning' => '', 'edit_task' => 'Taak bewerken', 'edit_transmittal_props' => 'Opmerkingen bij verzending', 'edit_user' => 'Wijzig gebruiker', @@ -539,6 +546,7 @@ URL: [url]', 'files_deletion' => 'Bestanden verwijderen', 'files_deletion_warning' => 'Met deze handeling verwijdert U ALLE bestanden uit het DMS. Versie informatie blijft beschikbaar', 'files_loading' => 'Even geduld. De lijst met bestanden wordt geladen ...', +'filetype' => '', 'file_size' => 'Bestandsomvang', 'filter_for_documents' => 'Extra filter voor documenten', 'filter_for_folders' => 'Extra filter voor mappen', @@ -583,6 +591,7 @@ Gebruiker: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Folder hernoemd', 'folder_title' => 'Map naam \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Bijwerken', 'friday' => 'Vrijdag', 'friday_abbr' => 'FR', @@ -609,6 +618,7 @@ URL: [url]', 'group_members' => 'Groepsleden', 'group_receipt_summary' => 'Overzicht van ontvangst per groep', 'group_review_summary' => 'Groep Beoordeling samenvatting', +'group_revision_summary' => '', 'guest_login' => 'Login als Gast', 'guest_login_disabled' => 'Gast login is uitgeschakeld.', 'hash' => 'Hashcode', @@ -726,6 +736,7 @@ URL: [url]', 'lock_document' => 'Blokkeer', 'lock_message' => 'Dit document is geblokkeerd door [username]. Alleen geautoriseerde Gebruikers kunnen het de-blokeren.', 'lock_status' => 'Status', +'logfile_loading' => '', 'login' => 'Login', 'login_disabled_text' => 'Uw account is gedeactiveerd, mogelijk door teveel foutieve inlogpogingen.', 'login_disabled_title' => 'Account is gedeactiveerd', @@ -811,9 +822,11 @@ Gebruikers: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nieuwe map', 'new_user_image' => 'Nieuwe afbeelding', +'next_revision_abbr' => '', 'next_state' => 'Nieuwe status', 'nl_NL' => 'Nederlands', 'no' => 'Nee', +'notification' => '', 'notify_added_email' => 'U bent toegevoegd aan de [notificatie lijst]', 'notify_added_email_body' => 'Toegevoegd aan notificatielijst Naam: [name] @@ -833,9 +846,11 @@ URL: [url]', 'no_action' => 'Geen actie nodig', 'no_approval_needed' => 'Geen goedkeuring gaande.', 'no_attached_files' => 'Geen bijlagen', +'no_backup_dir' => '', 'no_current_version' => 'U werkt met een oude versie van SeedDMS. De laatste versie beschikbaar is [latestversion].', 'no_default_keywords' => 'Geen Sleutelwoorden beschikbaar', 'no_docs_checked_out' => 'Geen documenten in gebruik genomen', +'no_docs_expired' => '', 'no_docs_locked' => 'Geen documenten in gebruik.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => 'Geen documenten geweigerd', @@ -932,8 +947,11 @@ Mocht u de komende minuten geen email ontvangen, probeer het dan nogmaals en con 'quota_is_disabled' => 'Quota support is momenteel niet actief in de eigenschappen. Een user-quotum instellen zal geen effect hebben tot quota actief zijn', 'quota_warning' => 'Uw maximale datagebruik is overschreden met [bytes]. Gelieve documenten of eerdere versies te verwijderen.', 'receipts_accepted' => '[no_receipts] ontvangen en geaccepteerd', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '[no_receipts] ontvangen, nog niet behandeld', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '[no_receipts] ontvangen, geweigerd', +'receipts_rejected_latest' => '', 'receipts_without_group' => '[no_receipts] ontvangen, geen groep', 'receipts_without_user' => '[no_receipts] ontvangen, geen gebruiker', 'receipt_deletion_email_body' => 'Gebruiker is verwijderd uit de lijst van ontvangers @@ -955,7 +973,7 @@ URL: [url]', 'receipt_status' => 'Status ontvangst', 'receipt_summary' => 'Samenvatting', 'receipt_update_failed' => 'Update ontvangst mislukt', -'recent_uploads' => '', +'recent_uploads' => 'Recent Uploads', 'reception' => 'bestemming', 'reception_acknowleged' => 'bestemming OK', 'reception_noaction' => 'Geen actie', @@ -1014,8 +1032,11 @@ URL: [url]', 'reviewer_already_assigned' => 'is reeds aangewezen als beoordelaar', 'reviewer_already_removed' => 'is reeds verwijderd uit het beoordelingsproces of heeft reeds een beoordeling uitgevoerd', 'reviews_accepted' => '[no_reviews] reviews geaccepteerd', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '[no_reviews] reviews niet geopend', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '[no_reviews] reviews geweigerd', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'reviews zonder groep', 'reviews_without_user' => 'reviews zonder gebruiker', 'review_deletion_email' => 'Beoordelingsverzoek verwijderd', @@ -1052,9 +1073,13 @@ URL: [url]', 'revise_document' => 'Document herzien', 'revise_document_on' => 'Volgende herziening van document op [date]', 'revisions_accepted' => '[no_revisions] revisies geaccepteerd', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '[no_revisions] revisies geopend', +'revisions_not_touched_latest' => '', 'revisions_pending' => '[no_revisions] revisies in afwachting', +'revisions_pending_latest' => '', 'revisions_rejected' => '[no_revisions] revisies geweigerd', +'revisions_rejected_latest' => '', 'revisions_without_group' => '[no_revisions] revisies zonder groep', 'revisions_without_user' => '[no_revisions] revisies zonder gebruiker', 'revision_date' => 'Datum revisie', @@ -1069,6 +1094,7 @@ URL: [url]', 'revision_status' => 'Status revisie', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Herzieners', 'revisor_already_assigned' => 'Gebruiker is reeds herziener', 'revisor_already_removed' => 'Herziener reeds verwijderd', @@ -1336,6 +1362,8 @@ Name: [username] 'settings_enableReceiptWorkflow_desc' => 'Aanzetten workflow-stappen', 'settings_enableRecursiveCount' => 'Document/ map teller herhalen toestaan', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Herzieningsworkflow aanzetten', @@ -1428,10 +1456,14 @@ Name: [username] 'settings_maxUploadSize' => 'Maximale omvang voor uploaden', 'settings_maxUploadSize_desc' => 'Dit is de maximale omvang voor te uploaden bestanden. Dat geldt voor bestanden en bijlagen.', 'settings_more_settings' => 'Meer instellingen. Standaard login: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Niet gevonden', 'settings_Notification' => 'Notificatie instellingen', 'settings_notwritable' => 'De configuratie kan niet opgeslagen worden omdat het configuratiebestand niet beschrijfbaar is.', 'settings_no_content_dir' => 'Inhoud map', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Override MimeType', 'settings_overrideMimeType_desc' => 'Override MimeType', 'settings_partitionSize' => 'Partitie-grootte', @@ -1548,6 +1580,7 @@ Name: [username] 'settings_workflowMode' => 'Workflow mode', 'settings_workflowMode_desc' => 'De uitgebreide workflow maakt het mogelijk om uw eigen workflow op te geven voor documentversies.', 'settings_workflowMode_valadvanced' => 'geavanceerd', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'Traditioneel', 'settings_workflowMode_valtraditional_only_approval' => 'Traditioneel (zonder beoordeling)', 'settings_zendframework' => 'Zend-Framework', @@ -1562,6 +1595,7 @@ Name: [username] 'sign_in' => 'Log in', 'sign_out' => 'Log uit', 'sign_out_user' => 'Log gebruiker uit', +'site_brand' => '', 'sk_SK' => 'Slowaaks', 'sort_by_date' => 'Sorteren op datum', 'sort_by_name' => 'Sorteren op naam', @@ -1591,6 +1625,7 @@ Name: [username] 'splash_edit_group' => 'Groep opgeslagen', 'splash_edit_role' => 'Rol opgeslagen', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Gebruiker opgeslagen', 'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending', 'splash_error_rm_download_link' => 'Fout bij verwijderen download-link', @@ -1685,9 +1720,13 @@ Name: [username] 'switched_to' => 'Overgeschakeld naar', 'takeOverAttributeValue' => 'Onthoud de waarde van het attribuut', 'takeOverGrpApprover' => 'Onthoud de laatste groep goedkeurders', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Onthoud de laatste groep herzieners', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Onthoud de laatste groep individuele goedkeurders', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Onthoud de laatste groep individuele herzieners', +'takeOverIndReviewers' => '', 'tasks' => 'taken', 'task_description' => '', 'task_disabled' => '', @@ -1731,6 +1770,7 @@ Name: [username] 'transfer_no_write_access' => 'De gebruiker heeft geen schrijfrechten in deze map', 'transfer_objects' => 'Objecten overdragen', 'transfer_objects_to_user' => 'Objecten overdragen aan gebruiker', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Overdragen aan gebruiker', 'transition_triggered_email' => 'Workflow-overgang geactiveerd', 'transition_triggered_email_body' => 'Workflow Overgang @@ -1812,6 +1852,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Met deze handeling maakt U een bestand aan die de versie voortgang informatie van een compleet DMS bevat. Na het aanmaken wordt ieder bestand opgeslagen in de document map.', 'versioning_info' => 'Versie eigenschappen', 'versiontolow' => 'Versie voor laag', +'version_comment' => '', 'version_deleted_email' => 'Versie verwijderd', 'version_deleted_email_body' => 'Version deleted Document: [name] @@ -1854,6 +1895,7 @@ URL: [url]', 'workflow_summary' => 'Workflow samenvatting', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Gebruiker samenvatting', +'wrong_filetype' => '', 'x_more_objects' => 'meer items', 'year_view' => 'Jaar Overzicht', 'yes' => 'Ja', diff --git a/languages/pl_PL/lang.inc b/languages/pl_PL/lang.inc index 4716d5be8..ee1cd8898 100644 --- a/languages/pl_PL/lang.inc +++ b/languages/pl_PL/lang.inc @@ -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 (831), netixw (84), romi (93), uGn (112) +// Translators: Admin (854), netixw (84), romi (93), uGn (112) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'i', 'apply' => 'Zastosuj', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Prośba o akceptację została usunięta', @@ -217,6 +220,7 @@ URL: [url]', 'category_in_use' => 'Ta kategoria jest aktualnie używana przez dokumenty.', 'category_noname' => 'Nie podano nazwy kategorii.', 'ca_ES' => 'Kataloński', +'changelog_loading' => '', 'change_assignments' => 'Zmiana przypisania', 'change_password' => 'Zmiana hasła', 'change_password_message' => 'Twoje hasło zostało zmienione.', @@ -417,6 +421,7 @@ URL: [url]', 'do_object_repair' => 'Napraw wszystkie katalogi i pliki.', 'do_object_setchecksum' => 'Ustaw sumę kontrolną', 'do_object_setfilesize' => 'Podaj rozmiar pliku', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Usuń wersję dokumentu', 'draft' => '', 'draft_pending_approval' => 'Szkic - w oczekiwaniu na akceptację', @@ -425,6 +430,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Plik z folderu rozwijanego', 'dropfolder_folder' => 'Katalog ze strefy drop', +'dropfolder_metadata' => '', 'dropupload' => 'Szybki upload', 'drop_files_here' => 'Przeciągnij tu pliki!', 'dump_creation' => 'Utworzenie zrzutu bazy danych', @@ -450,6 +456,7 @@ URL: [url]', 'edit_folder_props' => 'Edytuj folder', 'edit_group' => 'Edytuj grupę', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Edytuj użytkownika', @@ -527,6 +534,7 @@ URL: [url]', 'files_deletion' => 'Usuwanie plików', 'files_deletion_warning' => 'Ta operacja pozwala usunąć wszystkie pliki z repozytorium. Informacje o wersjonowaniu pozostaną widoczne.', 'files_loading' => 'Proszę czekać do załadowania lista plików…', +'filetype' => '', 'file_size' => 'Rozmiar pliku', 'filter_for_documents' => 'Dodatkowe filtrowanie dla dokumentów', 'filter_for_folders' => 'Dodatkowe filtrowanie dla folderów', @@ -571,6 +579,7 @@ Użytkownik: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Zmiana nazwy folderu', 'folder_title' => 'Folder \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Aktualizacja', 'friday' => 'Piątek', 'friday_abbr' => 'Fr', @@ -597,6 +606,7 @@ URL: [url]', 'group_members' => 'Członkowie grupy', 'group_receipt_summary' => '', 'group_review_summary' => 'Podsumowanie opiniowania dla grupy', +'group_revision_summary' => '', 'guest_login' => 'Zalogowany jako gość', 'guest_login_disabled' => 'Logowanie dla gościa jest wyłączone.', 'hash' => '', @@ -610,7 +620,7 @@ URL: [url]', 'hu_HU' => 'Węgierski', 'id' => 'ID', 'identical_version' => 'Nowa wersja jest identyczna z obecną', -'import' => '', +'import' => 'Import', 'importfs' => '', 'import_extension' => '', 'import_fs' => 'Import z systemu plików', @@ -714,6 +724,7 @@ URL: [url]', 'lock_document' => 'Zablokuj', 'lock_message' => 'Ten dokument jest zablokowany przez [username]. Tylko uprawnieni użytkownicy mogą odblokować dokument.', 'lock_status' => 'Status', +'logfile_loading' => '', 'login' => 'Login', 'login_disabled_text' => 'Twoje konto jest zablokowane. Prawdopodobnie z powodu zbyt wielu nieudanych prób logowania.', 'login_disabled_title' => 'Konto jest zablokowane', @@ -800,9 +811,11 @@ Użytkownik: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nowy folder', 'new_user_image' => 'Nowy obraz', +'next_revision_abbr' => '', 'next_state' => 'Nowy status', 'nl_NL' => 'holenderski', 'no' => 'Nie', +'notification' => '', 'notify_added_email' => 'Twoje konto zostało dodane do listy powiadomień', 'notify_added_email_body' => 'Dodano do listy powiadomień Nazwa: [name] @@ -822,9 +835,11 @@ URL: [url]', 'no_action' => 'Żadne działanie nie jest wymagane', 'no_approval_needed' => 'Nie ma dokumentów oczekujących na akceptację.', 'no_attached_files' => 'Brak załączonych plików', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => 'Nie ma słów kluczowych', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'Brak zablokowanych dokumentów.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -905,7 +920,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'possible_substitutes' => '', 'preset_expires' => 'Wygasa', 'preview' => 'Podgląd', -'preview_converters' => '', +'preview_converters' => 'Podgląd konwersji dokumentu', 'preview_images' => '', 'preview_markdown' => '', 'preview_pdf' => '', @@ -920,8 +935,11 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'quota_is_disabled' => 'Wsparcie limitów dyskowych jest obecnie wyłączone w ustawieniach. Ustawiony limit dyskowy użytkownika nie będzie działał dopóki wparcie nie zostanie ponownie włączone.', 'quota_warning' => 'Przekroczono użycie dysku o [bytes]. Usuń dokumenty lub poprzednie wersje.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -932,7 +950,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Najnowsze dodania', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -961,7 +979,7 @@ Folder nadrzędny: [folder_path] Użytkownik: [username] URL: [url]', 'removed_workflow_email_subject' => '[sitename]: [name] - Usunięty workflow z wersji dokumentu', -'removeFolderFromDropFolder' => '', +'removeFolderFromDropFolder' => 'Usuń folder po imporcie', 'remove_marked_files' => 'Usuń zaznaczone pliki', 'repaired' => 'naprawiony', 'repairing_objects' => 'Naprawa dokumentów i katalogów.', @@ -978,8 +996,11 @@ URL: [url]', 'reviewer_already_assigned' => 'jest już przypisany jako recenzent', 'reviewer_already_removed' => 'został już usunięty z procesu opiniowania lub już wydał swoją opinię', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Prośba o recenzję usunięta', @@ -1000,9 +1021,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -1012,6 +1037,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1149,7 +1175,7 @@ URL: [url]', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Dostępne języki', 'settings_available_languages_desc' => 'Tylko wybrane języki zostaną załadowane i będą widoczne w kontrolce wyboru języka. Domyślny język zawsze jest ładowany.', -'settings_backupDir' => '', +'settings_backupDir' => 'Lokalizacja kopii zapasowej', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Folder bufora', 'settings_cacheDir_desc' => 'Miejsce przechowywania obrazków podglądu (najlepiej wybrać katalog nie dostępny bezpośrednio dla web-serwera).', @@ -1188,8 +1214,8 @@ URL: [url]', 'settings_dbUser' => 'Nazwa użytkownika', 'settings_dbUser_desc' => 'Nazwa użytkownika uprawnionego do dostępu do bazy danych podana w procesie instalacji. Nie zmieniaj tego pola dopóki nie jest to absolutnie konieczne, na przykład podczas przenoszenia bazy danych na nowego hosta.', 'settings_dbVersion' => 'Schemat bazy danych jest za stary', -'settings_defaultAccessDocs' => '', -'settings_defaultAccessDocs_desc' => '', +'settings_defaultAccessDocs' => 'Domyślny dostęp do nowych dokumentów', +'settings_defaultAccessDocs_desc' => 'Kiedy zostanie utworzony nowy dokument, będzie to domyślne prawo dostępu.', 'settings_defaultDocPosition' => '', 'settings_defaultDocPosition_desc' => '', 'settings_defaultDocPosition_val_end' => 'koniec', @@ -1228,8 +1254,8 @@ URL: [url]', 'settings_enableDropUpload_desc' => '', 'settings_enableDuplicateDocNames' => 'Zezwalaj na zduplikowane nazwy dokumentów', 'settings_enableDuplicateDocNames_desc' => 'Zezwala na tworzenie w folderze dokumentów o tej samej nazwie.', -'settings_enableDuplicateSubFolderNames' => '', -'settings_enableDuplicateSubFolderNames_desc' => '', +'settings_enableDuplicateSubFolderNames' => 'Zezwól na duplikaty nazw podfolderów', +'settings_enableDuplicateSubFolderNames_desc' => 'Zezwala na zduplikowane nazwy podfolderów w folderze', 'settings_enableEmail' => 'Włącz powiadomienia e-mail', 'settings_enableEmail_desc' => 'Włącz/Wyłącz automatyczne powiadomienia drogą mailową', 'settings_enableFilterReceipt' => '', @@ -1248,9 +1274,9 @@ URL: [url]', 'settings_enableLanguageSelector_desc' => 'Pokaż selektor języka dla interfejsu użytkownika po zalogowaniu To nie ma wpływu na wybór języka na stronie logowania.', 'settings_enableLargeFileUpload' => 'Zezwól na wczytywanie dużych plików', 'settings_enableLargeFileUpload_desc' => 'Jeśli zaznaczone, wczytywanie plików będzie możliwe również przez aplet javy nazywany jumploader bez limitu rozmiaru plików. Aplet ten pozwala również na wczytywanie wielu plików jednocześnie.', -'settings_enableMenuTasks' => '', -'settings_enableMenuTasks_desc' => '', -'settings_enableMultiUpload' => '', +'settings_enableMenuTasks' => 'Włącz listę zadań w menu', +'settings_enableMenuTasks_desc' => 'Włącza /Wyłącza pozycję w menu w której znajdują się wszystkie zadania dla użytkownika. Zawiera dokumenty, które potrzebują być ocenione, zatwierdzone, i.t.d.', +'settings_enableMultiUpload' => 'Zezwól na wysyłanie wielu plików', 'settings_enableMultiUpload_desc' => '', 'settings_enableNotificationAppRev' => 'Włącz/Wyłącz powiadomienia dla zatwierdzających/recenzentów', 'settings_enableNotificationAppRev_desc' => 'Zaznacz aby wysyłać powiadomienia do zatwierdzających i recenzentów kiedy pojawi się nowa wersja dokumentu', @@ -1270,6 +1296,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'Włącz licznik rekurencji dokumentu/folderu', 'settings_enableRecursiveCount_desc' => 'Jeżeli jest włączone, to liczba dokumentów i folderów w widoku będzie ustalona poprzez zliczenie wszystkich obiektów przez rekurencyjnie przetwarzane foldery i policzenia tych dokumentów i folderów do których użytkownik ma dostęp', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1278,9 +1306,9 @@ URL: [url]', 'settings_enableSelfReceipt_desc' => '', 'settings_enableSelfRevApp' => 'Pozwalaj przeglądać/zatwierdzać dla zalogowanych użytkowników', 'settings_enableSelfRevApp_desc' => 'Włącz tę opcję jeżeli zalogowany użytkownik ma prawo do recenzowania/zatwierdzania oraz do przepływu procesu', -'settings_enableSessionList' => '', -'settings_enableSessionList_desc' => '', -'settings_enableThemeSelector' => '', +'settings_enableSessionList' => 'Włącz listę użytkowników online w menu', +'settings_enableSessionList_desc' => 'Włącza listę obecnie zalogowanych użytkowników w menu.', +'settings_enableThemeSelector' => 'Wybór motywu', 'settings_enableThemeSelector_desc' => '', 'settings_enableUpdateReceipt' => '', 'settings_enableUpdateReceipt_desc' => '', @@ -1321,7 +1349,7 @@ URL: [url]', 'settings_guestID_desc' => 'ID gościa używane kiedy gość jest zalogowany (zazwyczaj nie wymaga zmiany)', 'settings_httpRoot' => 'Http Root', 'settings_httpRoot_desc' => 'Relatywna ścieżka w URL, część za domeną. Nie dołączaj przedrostka http:// ani nazwy hosta. Np. Jeśli cały URL to http://www.example.com/letodms/, wpisz \'/letodms/\'. Jeśli URL to http://www.example.com/, set \'/\'', -'settings_incItemsPerPage' => '', +'settings_incItemsPerPage' => 'Liczba wpisów załadowana na dole strony', 'settings_incItemsPerPage_desc' => '', 'settings_initialDocumentStatus' => '', 'settings_initialDocumentStatus_desc' => '', @@ -1353,20 +1381,24 @@ URL: [url]', 'settings_maxDirID_desc' => 'Maksymalna liczba podkatalogów dla katalogu nadrzędnego. Domyślnie: 0.', 'settings_maxExecutionTime' => 'Maksymalny czas wykonywania (s)', 'settings_maxExecutionTime_desc' => 'Ustawia maksymalny czas, liczony w sekundach, jaki ma na wykonanie skrypt zanim zostanie zakończony.', -'settings_maxItemsPerPage' => '', +'settings_maxItemsPerPage' => 'Maksymalna liczba wpisów na stronę', 'settings_maxItemsPerPage_desc' => '', 'settings_maxRecursiveCount' => 'Max. liczba rekurencji dokumentów/folderów', 'settings_maxRecursiveCount_desc' => 'Jest to maksymalna liczba dokumentów i folderów, które będą sprawdzane pod kątem praw dostępu, gdy włączone jest rekurencyjnie liczenie obiektów. Jeżeli liczba ta zostanie przekroczona to ilości dokumentów i folderów w widoku zostaną oszacowane.', 'settings_maxSizeForFullText' => '', 'settings_maxSizeForFullText_desc' => '', -'settings_maxUploadSize' => '', -'settings_maxUploadSize_desc' => '', +'settings_maxUploadSize' => 'Maksymalny rozmiar wysyłanych plików', +'settings_maxUploadSize_desc' => 'To jest maksymalny rozmiar dla nadesłanych plików. To ustawienie wpływa również na wersje dokumentu i załączniki.', 'settings_more_settings' => 'Wykonaj dalszą konfigurację. Domyślny login/hasło: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nie znaleziono', 'settings_Notification' => 'Ustawienia powiadomień', 'settings_notwritable' => 'Konfiguracja nie może zostać zapisana ponieważ plik konfiguracyjny nie jest zapisywalny.', 'settings_no_content_dir' => 'Katalog treści', -'settings_overrideMimeType' => '', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', +'settings_overrideMimeType' => 'Nadpisz typ rozszerzenia', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => 'Rozmiar części pliku', 'settings_partitionSize_desc' => 'Rozmiar części pliku, w bajtach, wczytywane przez jumploader. Nie wpisuj wartości większej niż maksymalna wartość wczytywanego pliku ustawiona na serwerze.', @@ -1431,8 +1463,8 @@ URL: [url]', 'settings_smtpPort_desc' => 'Port serwera SMTP, domyślnie 25', 'settings_smtpSendFrom' => 'Wyślij od', 'settings_smtpSendFrom_desc' => 'Wyślij od', -'settings_smtpSendTestMail' => '', -'settings_smtpSendTestMail_desc' => '', +'settings_smtpSendTestMail' => 'Wyślij mail testowy', +'settings_smtpSendTestMail_desc' => 'Wysyła mail testowy w celu sprawdzenia obecnej konfiguracji e-mail', 'settings_smtpServer' => 'Nazwa serwera SMTP', 'settings_smtpServer_desc' => 'Nazwa hosta serwera SMTP', 'settings_smtpUser' => 'Użytkownik SMTP', @@ -1482,6 +1514,7 @@ URL: [url]', 'settings_workflowMode' => 'Tryb procesu', 'settings_workflowMode_desc' => 'Zaawansowany proces pozwala określić własne release procesu zwalniający dla wersji dokumentu.', 'settings_workflowMode_valadvanced' => 'zaawansowane', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'tradycyjny', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => 'Zend Framework', @@ -1496,6 +1529,7 @@ URL: [url]', 'sign_in' => 'Zaloguj się', 'sign_out' => 'Wyloguj', 'sign_out_user' => 'Wyloguj użytkownika', +'site_brand' => '', 'sk_SK' => 'słowacki', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1525,6 +1559,7 @@ URL: [url]', 'splash_edit_group' => 'Grupa zapisana', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Zapisano użytkownika', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1619,9 +1654,13 @@ URL: [url]', 'switched_to' => 'Przełączone na', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1665,6 +1704,7 @@ URL: [url]', 'transfer_no_write_access' => 'Użytkownik nie ma prawa do zapisu w tym folderze', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Przekaż użytkownikowi', 'transition_triggered_email' => 'Uruchomiono proces przepływu', 'transition_triggered_email_body' => 'Uruchomiono proces przepływu @@ -1746,6 +1786,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Ta operacja utworzy plik zawierający informacje o wersjach plików z całego wskazanego folderu. Po utworzeniu, każdy plik będzie zapisany w folderze odpowiednim dla danego dokumentu.', 'versioning_info' => 'Informacje o wersjach', 'versiontolow' => 'Za niska wersja', +'version_comment' => '', 'version_deleted_email' => 'Wersja usunięta', 'version_deleted_email_body' => 'Wersja została usunięta Dokument: [name] @@ -1788,6 +1829,7 @@ URL: [url]', 'workflow_summary' => 'Podsumowanie procesu', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Podsumowanie użytkownika', +'wrong_filetype' => '', 'x_more_objects' => '[number] więcej obiektów', 'year_view' => 'Widok roczny', 'yes' => 'Tak', diff --git a/languages/pt_BR/lang.inc b/languages/pt_BR/lang.inc index 790e080b6..b158e678e 100644 --- a/languages/pt_BR/lang.inc +++ b/languages/pt_BR/lang.inc @@ -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 (1719), flaviove (627), lfcristofoli (352) +// Translators: Admin (1721), flaviove (627), lfcristofoli (352) $text = array( '2_factor_auth' => 'Autenticação de dois fatores', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'e', 'apply' => 'Aplicar', 'approvals_accepted' => '[no_approvals] aprovações já aceitas', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] aprovações e [no_reviews] comentários já aceitos', 'approvals_and_reviews_not_touched' => '[no_approvals] aprovações e [no_reviews] comentários não tocados', 'approvals_and_reviews_rejected' => '[no_approvals] aprovações e [no_reviews] avaliações já rejeitadas', 'approvals_not_touched' => '[no_approvals] aprovações não sendo tocadas', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] aprovações já rejeitadas', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Aprovações sem grupo', 'approvals_without_user' => 'Aprovações sem usuário', 'approval_deletion_email' => 'Solicitação de Aprovação eliminada', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Esta categoria é usada atualmente por documentos.', 'category_noname' => 'Nenhum nome de categoria foi fornecido.', 'ca_ES' => 'Catalão', +'changelog_loading' => '', 'change_assignments' => 'Definir revisor / aprovador', 'change_password' => 'Modificar senha', 'change_password_message' => 'Sua senha foi modificada.', @@ -448,6 +452,7 @@ O link é válido até [valid]. 'do_object_repair' => 'Reparar todas as pastas e documentos.', 'do_object_setchecksum' => 'Defina soma de verificação', 'do_object_setfilesize' => 'Defina o tamanho do arquivo', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Excluir versão do documento', 'draft' => 'Rascunho', 'draft_pending_approval' => 'Rascunho - Aprovação pendente', @@ -456,6 +461,7 @@ O link é válido até [valid]. 'dropfolderdir_missing' => 'Sua pasta suspensa pessoal não existe no servidor! Por favor, peça ao seu administrador para criá-lo.', 'dropfolder_file' => 'Arquivo de pasta suspensa', 'dropfolder_folder' => 'Pasta da pasta-alvo', +'dropfolder_metadata' => '', 'dropupload' => 'Envio rápido', 'drop_files_here' => 'Solte os arquivos aqui!', 'dump_creation' => 'Criação de despejo de banco de dados', @@ -481,6 +487,7 @@ O link é válido até [valid]. 'edit_folder_props' => 'Editar pasta', 'edit_group' => 'Editar grupo', 'edit_online' => 'Editar on-line', +'edit_online_warning' => '', 'edit_task' => 'Editar tarefa', 'edit_transmittal_props' => 'Editar propriedades de transmissão', 'edit_user' => 'Editar usuário', @@ -558,6 +565,7 @@ URL: [url]', 'files_deletion' => 'Arquivos deletados', 'files_deletion_warning' => 'Com essa opção, você pode excluir todos os arquivos de pastas inteiras do DMS. As informações de versão permanecerão visíveis.', 'files_loading' => 'Pro favor aguarde ate a lista de ficheiros é carregado...', +'filetype' => '', 'file_size' => 'Tamanho', 'filter_for_documents' => 'Filtro adicional para documentos', 'filter_for_folders' => 'Filtro adicional para pasta', @@ -609,6 +617,7 @@ Usuário: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Pasta renomeada', 'folder_title' => 'Pasta [foldername]', +'foot_note' => '', 'force_update' => 'Atualizar', 'friday' => 'Sexta-feira', 'friday_abbr' => 'Se', @@ -635,6 +644,7 @@ URL: [url]', 'group_members' => 'Membros do Grupo', 'group_receipt_summary' => 'Resumo de recebimento de grupo', 'group_review_summary' => 'Resumo da avaliação do grupo', +'group_revision_summary' => '', 'guest_login' => 'Entre como convidado', 'guest_login_disabled' => 'O login de convidado está desativado.', 'hash' => 'Hash', @@ -752,6 +762,7 @@ URL: [url]', 'lock_document' => 'Travar', 'lock_message' => 'Este documento foi travado por [username]. Somente usuários autorizados podem remover a trava deste documento (veja no final da página).', 'lock_status' => 'Estado', +'logfile_loading' => '', 'login' => 'Login', 'login_disabled_text' => 'Sua conta está desativada, provavelmente por causa de muitos logins falhos.', 'login_disabled_title' => 'Conta desativada', @@ -837,9 +848,11 @@ Usuário: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nova pasta', 'new_user_image' => 'Nova imagem', +'next_revision_abbr' => '', 'next_state' => 'Novo estado', 'nl_NL' => 'Holandês', 'no' => 'Não', +'notification' => '', 'notify_added_email' => 'Você foi adicionado a lista de notificação', 'notify_added_email_body' => 'Adicionado a lista de notificação Nome: [name] @@ -859,9 +872,11 @@ URL: [url]', 'no_action' => 'Nenhuma ação é requerida', 'no_approval_needed' => 'Nenhuma aprovação pendente.', 'no_attached_files' => 'Não há arquivos anexados', +'no_backup_dir' => '', 'no_current_version' => 'Você está executando uma versão antiga do SeedDMS. A última versão disponível é [latestversion].', 'no_default_keywords' => 'não há palavras-chave disponíveis', 'no_docs_checked_out' => 'Nenhum documento retirado', +'no_docs_expired' => '', 'no_docs_locked' => 'Nenhum documento bloqueado.', 'no_docs_needs_correction' => 'Nenhum documento que precise ser corrigido', 'no_docs_rejected' => 'Nenhum documento rejeitado.', @@ -957,8 +972,11 @@ Se você ainda tiver problemas para fazer o login, por favor, contate o administ 'quota_is_disabled' => 'Suporte a cota está desativado nas configurações. A definição de cota do usuário não terá efeito até que seja habilitada novamente.', 'quota_warning' => 'Seu uso máximo do disco foi ultrapassado em [bytes]. Por favor, remova documentos ou versões anteriores.', 'receipts_accepted' => '[no_receipts] recibos já aceitos', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '[no_receipts] recibos não tocados', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '[no_receipts] recibos já rejeitados', +'receipts_rejected_latest' => '', 'receipts_without_group' => 'Recibos sem grupo', 'receipts_without_user' => 'Recibos sem usuário', 'receipt_deletion_email_body' => 'O usuário foi removido da lista de destinatários @@ -980,7 +998,7 @@ URL: [url]', 'receipt_status' => 'Estado', 'receipt_summary' => 'Resumo da entrada', 'receipt_update_failed' => 'Confirmação de entrada falhou', -'recent_uploads' => '', +'recent_uploads' => 'Uploads recentes', 'reception' => 'Entrada', 'reception_acknowleged' => 'Entrada reconhecida', 'reception_noaction' => 'Nenhuma ação', @@ -1040,8 +1058,11 @@ URL: [url]', 'reviewer_already_assigned' => 'já está atribuído como avaliador', 'reviewer_already_removed' => 'já foi removido do processo de revisão ou já enviou um comentário', 'reviews_accepted' => '[no_reviews] avaliações já aceitas', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '[no_reviews] avaliações não tocadas', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '[no_reviews] avaliações já rejeitadas', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'Avaliações sem grupo', 'reviews_without_user' => 'Avaliações sem usuário', 'review_deletion_email' => 'Pedido de revisão eliminado', @@ -1078,9 +1099,13 @@ URL: [url]', 'revise_document' => 'Revisar documento', 'revise_document_on' => 'Próxima revisão da versão do documento em [date]', 'revisions_accepted' => '[no_revisions] revisões já aceitas', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '[no_revisions] revisões não sendo tocadas', +'revisions_not_touched_latest' => '', 'revisions_pending' => '[no_revisions] revisões devidas no futuro', +'revisions_pending_latest' => '', 'revisions_rejected' => '[no_revisions] revisões já rejeitadas', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'Revisões sem grupo', 'revisions_without_user' => 'Revisões sem usuário', 'revision_date' => 'Data da revisão', @@ -1095,6 +1120,7 @@ URL: [url]', 'revision_status' => 'Estado', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revisores', 'revisor_already_assigned' => 'O usuário já está designado como revisor.', 'revisor_already_removed' => 'Revisor já foi removido do processo de revisão ou já revisou o documento.', @@ -1358,8 +1384,10 @@ Nome: [username] 'settings_enableReceiptWorkflow_desc' => 'Habilitar para ativar o fluxo de trabalho para confirmar a entrada do documento.', 'settings_enableRecursiveCount' => 'Ativar contagem de documentos/pasta recursiva', 'settings_enableRecursiveCount_desc' => 'Se estiver ativado, o número de documentos e pastas na exibição de pasta será determinada pela contagem de todos os objetos de forma recursiva proceáando as pastas e contando eáes documentos e pastas que o usuário tem permissão de acesso.', -'settings_enableRevisionOnVoteReject' => 'Rejeitar por um revisor', -'settings_enableRevisionOnVoteReject_desc' => 'Se definido, o documento será rejeitado se um revisor rejeitar o documento.', +'settings_enableRevisionOneVoteReject' => 'Rejeitar por um revisor', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Habilitar revisão de documentos', 'settings_enableRevisionWorkflow_desc' => 'Habilitar para poder executar o fluxo de trabalho para revisar um documento após um determinado período de tempo.', 'settings_enableSelfReceipt' => 'Permitir a recepção de documentos para usuário conectado', @@ -1450,10 +1478,14 @@ Nome: [username] 'settings_maxUploadSize' => 'Tamanho máximo para arquivos enviados.', 'settings_maxUploadSize_desc' => 'Esse é o tamanho máximo dos arquivos enviados. Ele terá efeito para versões de documentos e anexos.', 'settings_more_settings' => 'Configurar outras configurações. Login padrão: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Não encontrado', 'settings_Notification' => 'Configurações de notificação', 'settings_notwritable' => 'A configuração não pode ser salva porque o arquivo de configuração não é gravável.', 'settings_no_content_dir' => 'Diretório de conteúdo', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Substituir MimeType', 'settings_overrideMimeType_desc' => 'Substitua o MimeType entregue pelo navegador, se um arquivo for carregado. O novo MimeType é determinado pelo próprio SeedDMS.', 'settings_partitionSize' => 'Tamanho de arquivo parcial', @@ -1570,6 +1602,7 @@ Nome: [username] 'settings_workflowMode' => 'Modo de fluxo de trabalho', 'settings_workflowMode_desc' => 'O fluxo de trabalho avançado permite especificar seu próprio fluxo de trabalho de liberação de versões de documentos.', 'settings_workflowMode_valadvanced' => 'avançado', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'tradicional', 'settings_workflowMode_valtraditional_only_approval' => 'tradicional (sem revisão)', 'settings_zendframework' => 'Zend Framework', @@ -1584,6 +1617,7 @@ Nome: [username] 'sign_in' => 'Entrar', 'sign_out' => 'Sair', 'sign_out_user' => 'Sair usuário', +'site_brand' => '', 'sk_SK' => 'Eslovaco', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1613,6 +1647,7 @@ Nome: [username] 'splash_edit_group' => 'Grupo salvo', 'splash_edit_role' => 'Papel salvo', 'splash_edit_task' => 'Tarefa salva', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Usuário salvo', 'splash_error_add_to_transmittal' => 'Erro ao adicionar documento à transmissão', 'splash_error_rm_download_link' => 'Erro ao remover o link de download', @@ -1707,9 +1742,13 @@ Nome: [username] 'switched_to' => 'Comutado para', 'takeOverAttributeValue' => 'Assuma o valor do atributo da última versão', 'takeOverGrpApprover' => 'Assuma o grupo de aprovadores da última versão.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Assuma o grupo de revisores da última versão.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Assumir o aprovador individual da última versão.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Assuma o revisor individual da última versão.', +'takeOverIndReviewers' => '', 'tasks' => 'Tarefas', 'task_description' => 'Descrição', 'task_disabled' => 'Desativado', @@ -1753,6 +1792,7 @@ Nome: [username] 'transfer_no_write_access' => 'O usuário não possui acesso de escrita na pasta', 'transfer_objects' => 'Transferir objetos', 'transfer_objects_to_user' => 'Novo proprietário', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Transferir para o usuário', 'transition_triggered_email' => 'Transição de fluxo de trabalho desencadeado', 'transition_triggered_email_body' => 'Transição do fluxo de trabalho acionada @@ -1834,6 +1874,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Com esta operação, você pode criar um arquivo contendo as informações de versão de uma pasta DMS inteira. Após a criação, todos os arquivos serão salvos dentro da pasta do documento.', 'versioning_info' => 'Informação de versionamento', 'versiontolow' => 'Versão para baixo', +'version_comment' => '', 'version_deleted_email' => 'Versão eliminado', 'version_deleted_email_body' => 'Versão apagada Documento: [name] @@ -1876,6 +1917,7 @@ URL: [url]', 'workflow_summary' => 'Sumário de fluxo de trabalho', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Sumário de usuário', +'wrong_filetype' => '', 'x_more_objects' => 'mais itens', 'year_view' => 'Visualização Anual', 'yes' => 'Sim', diff --git a/languages/ro_RO/lang.inc b/languages/ro_RO/lang.inc index fab5e2718..8806b4383 100644 --- a/languages/ro_RO/lang.inc +++ b/languages/ro_RO/lang.inc @@ -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 (1086), balan (87) +// Translators: Admin (1094), balan (87) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'si', 'apply' => 'Aplică', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Cerere de aprobare stearsă', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Această categorie este momentan utilizată de documente.', 'category_noname' => 'Nu s-a furnizat nici un nume categorie', 'ca_ES' => 'Catalana', +'changelog_loading' => '', 'change_assignments' => 'Schimbă alocările', 'change_password' => 'Schimbă parola', 'change_password_message' => 'Parola dumneavoastra a fost schimbată.', @@ -429,6 +433,7 @@ URL: [url]', 'do_object_repair' => 'Repară toate folderele și documentele.', 'do_object_setchecksum' => 'Setare sumă de control(checksum)', 'do_object_setfilesize' => 'Setare dimensiune fișier', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Sterge versiune document', 'draft' => '', 'draft_pending_approval' => 'Proiect - în așteptarea aprobarii', @@ -437,6 +442,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Fișiere din folderele aruncate (File from drop folder)', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Încărcare rapidă', 'drop_files_here' => 'Aruncă fișierele aici!', 'dump_creation' => 'Creare fisier imagine baza de date', @@ -462,6 +468,7 @@ URL: [url]', 'edit_folder_props' => 'Editează folder', 'edit_group' => 'Editează grup', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Editeaza proprietatile de transmitere', 'edit_user' => 'Editează utilizator', @@ -539,6 +546,7 @@ URL: [url]', 'files_deletion' => 'Ștergere fișiere', 'files_deletion_warning' => 'Cu această opțiune puteți șterge toate fișierele din toate folderele DMS. Informațiile versiunilor vor rămâne vizibile.', 'files_loading' => 'Vă rog așteptați până la încărcarea listei cu fișiere', +'filetype' => '', 'file_size' => 'Mărimea fișierului', 'filter_for_documents' => 'Filtru suplimentar pentru documente', 'filter_for_folders' => 'Filtru suplimentar pentru foldere', @@ -583,6 +591,7 @@ Utilizator: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Folder redenumit', 'folder_title' => 'Folder \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Actualizeaza', 'friday' => 'Vineri', 'friday_abbr' => 'Vi', @@ -609,6 +618,7 @@ URL: [url]', 'group_members' => 'Membrii grupului', 'group_receipt_summary' => '', 'group_review_summary' => 'Sumar revizuiri grup', +'group_revision_summary' => '', 'guest_login' => 'Login ca oaspete', 'guest_login_disabled' => 'Logarea ca oaspete este dezactivată.', 'hash' => '', @@ -637,7 +647,7 @@ URL: [url]', 'index_folder' => 'Index folder', 'index_no_content' => '', 'index_pending' => '', -'index_waiting' => '', +'index_waiting' => 'Așteptare', 'individuals' => 'Individuals', 'individuals_in_groups' => '', 'info_recipients_tab_not_released' => '', @@ -726,6 +736,7 @@ URL: [url]', 'lock_document' => 'Blocare', 'lock_message' => 'Acest document este blocat de [username]. Numai utilizatorii autorizați pot debloca acest document.', 'lock_status' => 'Status', +'logfile_loading' => '', 'login' => 'Login', 'login_disabled_text' => 'Contul dumneavoastră este dezactivat, probabil din cauza prea multor login-uri eșuate.', 'login_disabled_title' => 'Contul este dezactivat', @@ -812,9 +823,11 @@ Utilizator: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Folder nou', 'new_user_image' => 'Imagine nouă', +'next_revision_abbr' => '', 'next_state' => 'Stare nouă', 'nl_NL' => 'Olandeză', 'no' => 'Nu', +'notification' => '', 'notify_added_email' => 'Ai fost adăugat la lista de notificări', 'notify_added_email_body' => 'Adăugat la lista de notificări Nume: [name] @@ -834,9 +847,11 @@ URL: [url]', 'no_action' => 'Nici o acțiune necesară', 'no_approval_needed' => 'Nici o aprobare în așteptare.', 'no_attached_files' => 'Nu sunt fișiere atașate', +'no_backup_dir' => '', 'no_current_version' => 'Utilizați o versiune veche de SeedDMS. Cea mai recentă versiune disponibilă este [latestversion].', 'no_default_keywords' => 'Nu există cuvinte cheie disponibile', 'no_docs_checked_out' => 'Nu exista documente verificate', +'no_docs_expired' => '', 'no_docs_locked' => 'Nici un document blocat.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -932,8 +947,11 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'quota_is_disabled' => 'Spatiu alocat este dezactivată în setări. Stabilirea unui spatiu alocat pentru utilizator nu va avea nici un efect până când setarea este reactivată din nou.', 'quota_warning' => 'Dimensiunea dumneavoastră maximă este depasită cu [bytes]. Vă rugăm să eliminați documente sau versiuni anterioare.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -944,7 +962,7 @@ Dacă aveți în continuare probleme la autentificare, vă rugăm să contactaț 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Incarcari recente', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -1004,8 +1022,11 @@ URL: [url]', 'reviewer_already_assigned' => 'este deja alocat ca un revizuitor', 'reviewer_already_removed' => 'a fost deja eliminat din procesul de revizuire sau a postat deja o revizuire', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Cerere de revizuire eliminată', @@ -1043,9 +1064,13 @@ URL: [url]', 'revise_document' => 'Revizuiti documentul', 'revise_document_on' => 'Urmatoarea revizuire a versiunii document pe [data]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -1055,6 +1080,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revizuitori', 'revisor_already_assigned' => 'Utilizatorul este deja asignat ca retrimitor.', 'revisor_already_removed' => 'Retrimitorul a fost deja eliminat din procesul de revizuire sau a revizuit deja documentul.', @@ -1191,7 +1217,7 @@ URL: [url]', 'settings_autoLoginUser' => 'Login automat', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'Limbi disponibile', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Numai limbile selectate vor fii incarcate la accesare. Limba default va fii mereu incarcata', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Director Cache', @@ -1313,6 +1339,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'Activați numararea recursiva pentru documente/foldere', 'settings_enableRecursiveCount_desc' => 'Dacă este activată, numărul de documente și foldere din vizualizarea unui director va fi determinat prin numărarea tuturor obiectelor recursiv din folderele unde accesul utilizatorului este permis.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1405,10 +1433,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Configurare mai multe setări. Autentificare implicită: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nu a fost găsit', 'settings_Notification' => 'Setările de notificare', 'settings_notwritable' => 'Configurația nu poate fi salvată deoarece fișierul de configurare nu poate fi scris.', 'settings_no_content_dir' => 'Director conținut', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Suprascrie MMimeType', 'settings_overrideMimeType_desc' => 'Suprascrie MimeType expus de browser, dacă un fișier este încărcat. MimeType este determinat de SeedDMS.', 'settings_partitionSize' => 'Dimensiune fișier parțială', @@ -1525,6 +1557,7 @@ URL: [url]', 'settings_workflowMode' => 'Mod Workflow', 'settings_workflowMode_desc' => 'Workflow-ul avansat permite să specificați propriul flux de lucru(workflow) pentru versiunile de documente.', 'settings_workflowMode_valadvanced' => 'avansat', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'traditional', 'settings_workflowMode_valtraditional_only_approval' => 'traditional (fara revizuire)', 'settings_zendframework' => 'Zend Framework', @@ -1539,10 +1572,11 @@ URL: [url]', 'sign_in' => 'Sign in', 'sign_out' => 'Sign out', 'sign_out_user' => 'Sign out utilizator', +'site_brand' => '', 'sk_SK' => 'Slovacă', -'sort_by_date' => '', -'sort_by_name' => '', -'sort_by_sequence' => '', +'sort_by_date' => 'Sortare dupa data', +'sort_by_name' => 'Sortare dupa nume', +'sort_by_sequence' => 'Sortare dupa numar', 'space_used_on_data_folder' => 'Spatiu folosit în folderul de date', 'splash_added_to_clipboard' => 'Adăugat la clipboard', 'splash_add_access' => '', @@ -1568,6 +1602,7 @@ URL: [url]', 'splash_edit_group' => 'Grup salvat', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Utilizator salvat', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1662,9 +1697,13 @@ URL: [url]', 'switched_to' => 'Comutat pe', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => 'Preia grupul de aprobatori din ultima versiune.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Preia grupul de revizuitori din ultima versiune.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Preia aprobatorul individual din ultima versiune.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Preia revizuitorul individual din ultima versiune.', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1704,10 +1743,11 @@ URL: [url]', 'to_before_from' => 'Data de încheiere nu poate fi înainte de data de începere', 'transfer_content' => '', 'transfer_document' => 'Transfer document', -'transfer_no_read_access' => '', +'transfer_no_read_access' => 'Utilizatorul nu are acces de citire pentru acest folder', 'transfer_no_write_access' => 'Utilizatorul nu are drepturi de scriere pe acest dosar', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Trabsferare catre alt utilizator', 'transition_triggered_email' => 'Tranziție Workflow declanșată', 'transition_triggered_email_body' => 'Tranziție Workflow declanșată @@ -1789,6 +1829,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Cu această operațiune puteți crea un fișier care conține informațiile versiunilor pentru un întreg folder DMS. După creare, fiecare fisier va fi salvat in folder-ul de documente.', 'versioning_info' => 'Informații versionare', 'versiontolow' => 'Versiunea e prea mică(veche)', +'version_comment' => '', 'version_deleted_email' => 'Versiune ștearsă', 'version_deleted_email_body' => 'Versiune ștearsă Document: [name] @@ -1831,7 +1872,8 @@ URL: [url]', 'workflow_summary' => 'Sumar Workflow', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Sumar Utilizator', -'x_more_objects' => '', +'wrong_filetype' => '', +'x_more_objects' => 'Mai multe', 'year_view' => 'Vizualizare an', 'yes' => 'Da', 'zh_CN' => 'Chineză (CN)', diff --git a/languages/ru_RU/lang.inc b/languages/ru_RU/lang.inc index 164a90bb5..70f2de1b0 100644 --- a/languages/ru_RU/lang.inc +++ b/languages/ru_RU/lang.inc @@ -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 (1669) +// Translators: Admin (1677) $text = array( '2_factor_auth' => 'Двухфакторная аутентификация', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'и', 'apply' => 'Применить', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Запрос на утверждение удалён', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Эта категория используется документами', 'category_noname' => 'Введите название категории', 'ca_ES' => 'Catalan', +'changelog_loading' => '', 'change_assignments' => 'Изменить назначения', 'change_password' => 'Изменить пароль', 'change_password_message' => 'Пароль изменён', @@ -429,6 +433,7 @@ URL: [url]', 'do_object_repair' => 'Исправить все каталоги и документы', 'do_object_setchecksum' => 'Установить контрольную сумму', 'do_object_setfilesize' => 'Установить размер файла', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Удалить версию документа', 'draft' => 'Черновик', 'draft_pending_approval' => 'Черновик — ожидает утверждения', @@ -437,6 +442,7 @@ URL: [url]', 'dropfolderdir_missing' => 'Проходной каталог не существует', 'dropfolder_file' => 'Файл из проходного каталога', 'dropfolder_folder' => 'Путь к проходному каталогу', +'dropfolder_metadata' => '', 'dropupload' => 'Быстрая загрузка', 'drop_files_here' => 'Переместите файлы сюда', 'dump_creation' => 'Создать дамп БД', @@ -462,6 +468,7 @@ URL: [url]', 'edit_folder_props' => 'Изменить свойства', 'edit_group' => 'Изменить группу', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Редактировать группы получателей', 'edit_user' => 'Редактировать пользователя', @@ -531,7 +538,7 @@ URL: [url]', 'extension_manager' => 'Управление расширениями', 'extension_mgr_installed' => '', 'extension_mgr_no_upload' => '', -'extension_mgr_repository' => '', +'extension_mgr_repository' => 'Установленные', 'extension_version_list' => '', 'february' => 'Февраль', 'file' => 'Файл', @@ -539,6 +546,7 @@ URL: [url]', 'files_deletion' => 'Удалить файлы', 'files_deletion_warning' => 'Эта операция удалит все файлы во всех каталогах. Информация о версиях останется доступна', 'files_loading' => 'Пожалуйста подождите, идет загрузка файла …', +'filetype' => '', 'file_size' => 'Размер', 'filter_for_documents' => 'Дополнительный фильтр по документам', 'filter_for_folders' => 'Дополнительный фильтр по папкам', @@ -583,6 +591,7 @@ URL: [url]', URL: [url]', 'folder_renamed_email_subject' => '[sitename]: переименован каталог «[name]»', 'folder_title' => 'Каталог [foldername]', +'foot_note' => '', 'force_update' => '', 'friday' => 'Пятница', 'friday_abbr' => 'Пт', @@ -609,6 +618,7 @@ URL: [url]', 'group_members' => 'Члены группы', 'group_receipt_summary' => 'Обзор подтверждений получения группой', 'group_review_summary' => 'Сводка по рецензированию группы', +'group_revision_summary' => '', 'guest_login' => 'Войти как гость', 'guest_login_disabled' => 'Гостевой вход отключён', 'hash' => '', @@ -726,6 +736,7 @@ URL: [url]', 'lock_document' => 'Заблокировать', 'lock_message' => 'Документ заблокировал(а) [username]. Только имеющие права могут его разблокировать.', 'lock_status' => 'Статус', +'logfile_loading' => '', 'login' => 'Логин', 'login_disabled_text' => 'Ваша учётная запись заблокирована, возможно, из-за нескольких неудачных попыток входа.', 'login_disabled_title' => 'Учётная запись заблокирована', @@ -811,9 +822,11 @@ URL: [url]', URL: [url]', 'new_subfolder_email_subject' => '[sitename]: новый каталог «[name]»', 'new_user_image' => 'Новое изображение', +'next_revision_abbr' => '', 'next_state' => 'Новое состояние', 'nl_NL' => 'Dutch', 'no' => 'Нет', +'notification' => '', 'notify_added_email' => 'Вы добавлены в список уведомлений', 'notify_added_email_body' => 'Вы добавлены в список уведомлений Имя: [name] @@ -833,9 +846,11 @@ URL: [url]', 'no_action' => 'Действие не требуется', 'no_approval_needed' => 'Утверждение не требуется', 'no_attached_files' => 'Нет вложений', +'no_backup_dir' => '', 'no_current_version' => 'Вы используете старую версию SeedDMS. Последняя доступная версия [latestversion].', 'no_default_keywords' => 'Нет меток', 'no_docs_checked_out' => 'Нет документов на рассмотрении', +'no_docs_expired' => '', 'no_docs_locked' => 'Нет заблокированных документов', 'no_docs_needs_correction' => '', 'no_docs_rejected' => 'Нет отклоненных докуметов', @@ -929,8 +944,11 @@ URL: [url]', 'quota_is_disabled' => 'Поддержка квот в настоящее время отключена в настройках.', 'quota_warning' => 'Ваша дисковая квота превышена на [bytes]. Удалите ненужные документы или их предыдущие версии.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -946,7 +964,7 @@ URL: [url]', 'receipt_status' => '', 'receipt_summary' => 'Сводка по получению', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Последние загрузки', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -1006,8 +1024,11 @@ URL: [url]', 'reviewer_already_assigned' => 'уже назначен на рецензирование', 'reviewer_already_removed' => 'уже удалён из списка рецензирующих или уже оставил рецензию', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Запрос на рецензию удалён', @@ -1045,9 +1066,13 @@ URL: [url]', 'revise_document' => 'Ревизировать документ', 'revise_document_on' => 'Следующий ревизия версии документа назначен на [date]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => 'Дата ревизии', @@ -1062,6 +1087,7 @@ URL: [url]', 'revision_status' => 'Состояние ревизии', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Ревизор', 'revisor_already_assigned' => 'Пользователь уже назначен как ревизор', 'revisor_already_removed' => 'Ревизор уже удален из процесса ревизии, либо уже рассмотрел документ', @@ -1278,7 +1304,7 @@ URL: [url]', 'settings_enableDropUpload_desc' => 'Включить/отключить область в "Просмотр папки" для загрузки при помощи Drag&Drop.', 'settings_enableDuplicateDocNames' => 'Разрешить документы
с одинаковым названием', 'settings_enableDuplicateDocNames_desc' => 'Разрешить документы с одинаковым названием в каталоге.', -'settings_enableDuplicateSubFolderNames' => '', +'settings_enableDuplicateSubFolderNames' => 'Разрешить дублирующие имена подпапок', 'settings_enableDuplicateSubFolderNames_desc' => '', 'settings_enableEmail' => 'Включить e-mail', 'settings_enableEmail_desc' => 'Включить/отключить автоматическое уведомление по e-mail.', @@ -1320,6 +1346,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => 'Включить для активации функции подтверждения получения документа', 'settings_enableRecursiveCount' => 'Рекурсивно подсчитывать
документы и каталоги', 'settings_enableRecursiveCount_desc' => 'Если включено, количество документов и каталогов в виде каталога будет определятся рекурсивным подсчётом всех документов и каталогов разрешённых для доступа пользователя.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Включить процесс ревизии', @@ -1410,12 +1438,16 @@ URL: [url]', 'settings_maxSizeForFullText' => 'Макс. размер документа для индексирования на лету', 'settings_maxSizeForFullText_desc' => 'Размер документа, который может быть индексирован срузу после добавления', 'settings_maxUploadSize' => 'Максимальный размер загружаемых файлов', -'settings_maxUploadSize_desc' => '', +'settings_maxUploadSize_desc' => 'Это максимальный размер загружаемых файлов. Он повлияет на версии документов и вложения.', 'settings_more_settings' => 'Прочие настройки. Логин по умолчанию: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Не найден', 'settings_Notification' => 'Настройки извещения', 'settings_notwritable' => 'Конфигурация не может быть сохранена, потому что файл конфигурации только для чтения.', 'settings_no_content_dir' => 'Каталог содержимого', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Переопределить mime тип', 'settings_overrideMimeType_desc' => 'Переопределение mime типа предоставленного браузером, если файл загружен. Новый mime тип определяется самой SeedDMS.', 'settings_partitionSize' => 'Частичный размер файла', @@ -1481,7 +1513,7 @@ URL: [url]', 'settings_smtpPort_desc' => 'Порт сервера SMTP, по умолчанию 25.', 'settings_smtpSendFrom' => 'От', 'settings_smtpSendFrom_desc' => 'Отправлять с указанного адреса.', -'settings_smtpSendTestMail' => '', +'settings_smtpSendTestMail' => 'Отправить тестовое письмо"', 'settings_smtpSendTestMail_desc' => '', 'settings_smtpServer' => 'Хост SMTP', 'settings_smtpServer_desc' => 'Хост сервера SMTP.', @@ -1532,6 +1564,7 @@ URL: [url]', 'settings_workflowMode' => 'Режим процесса', 'settings_workflowMode_desc' => 'Улучшенный режим позволяет указать ваш собственный процесс для документа.', 'settings_workflowMode_valadvanced' => 'улучшенный', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'традиционный', 'settings_workflowMode_valtraditional_only_approval' => 'традиционный (без рецензирования)', 'settings_zendframework' => 'Инфраструктура Zend', @@ -1546,10 +1579,11 @@ URL: [url]', 'sign_in' => 'Войти', 'sign_out' => 'Выйти', 'sign_out_user' => 'Пользовательский выход', +'site_brand' => '', 'sk_SK' => 'Slovak', -'sort_by_date' => '', -'sort_by_name' => '', -'sort_by_sequence' => '', +'sort_by_date' => 'Сортировка по дате', +'sort_by_name' => 'Сортировка по имени', +'sort_by_sequence' => 'Сортировка по порядку', 'space_used_on_data_folder' => 'Размер каталога данных', 'splash_added_to_clipboard' => 'Добавлено в буфер обмена', 'splash_add_access' => '', @@ -1575,6 +1609,7 @@ URL: [url]', 'splash_edit_group' => 'Группа сохранена', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Пользователь сохранён', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1669,9 +1704,13 @@ URL: [url]', 'switched_to' => 'Переключён как', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => 'Использовать группу утверждающих из прошлой версии', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Использовать группу рецензентов из прошлой версии', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Использовать утверждающих из прошлой версии', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Использовать рецензентов из прошлой версии', +'takeOverIndReviewers' => '', 'tasks' => 'Задания', 'task_description' => '', 'task_disabled' => '', @@ -1715,6 +1754,7 @@ URL: [url]', 'transfer_no_write_access' => 'Пользователь не имеет доступа на запись в этой папке', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Передать пользователю', 'transition_triggered_email' => 'Изменено состояние процесса', 'transition_triggered_email_body' => 'Изменено состояние процесса @@ -1796,6 +1836,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Эта операция создаст файлы версий для всего каталога. После создания файлы версий будут сохранены в каталоге документов.', 'versioning_info' => 'Информация о версиях', 'versiontolow' => 'Версия слишком старая', +'version_comment' => '', 'version_deleted_email' => 'Версия удалена', 'version_deleted_email_body' => 'Версия удалена Документ: [name] @@ -1838,6 +1879,7 @@ URL: [url]', 'workflow_summary' => 'Сводка по процессу', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Сводка по пользователю', +'wrong_filetype' => '', 'x_more_objects' => '', 'year_view' => 'Год', 'yes' => 'Да', diff --git a/languages/sk_SK/lang.inc b/languages/sk_SK/lang.inc index 652190545..0e446b210 100644 --- a/languages/sk_SK/lang.inc +++ b/languages/sk_SK/lang.inc @@ -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 (1225), destinqo (19), pS2017 (508), ssebech (4) +// Translators: Admin (1226), destinqo (26), pS2017 (508), ssebech (4) $text = array( '2_factor_auth' => '2-faktorové overovanie', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'a', 'apply' => 'Použiť', 'approvals_accepted' => '[no_approvals] approvals already accepted', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] approvals and [no_reviews] reviews already accepted', 'approvals_and_reviews_not_touched' => '[no_approvals] approvals and [no_reviews] reviews not being touched', 'approvals_and_reviews_rejected' => '[no_approvals] approvals and [no_reviews] reviews already rejected', 'approvals_not_touched' => '[no_approvals] approvals not being touched', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] approvals already rejected', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Approvals without group', 'approvals_without_user' => 'Approvals without user', 'approval_deletion_email' => 'Požiadavka na schválenie zmazaná', @@ -198,7 +201,7 @@ URL: [url]', 'at_least_n_users_of_group' => 'At least [number_of_users] users of [group]', 'august' => 'August', 'authentication' => 'Autentizácia', -'authentication_failed' => '', +'authentication_failed' => 'Overenie zlyhalo', 'author' => 'Autor', 'automatic_status_update' => 'Automaticka zmena stavu', 'back' => 'Prejsť späť', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Táto kategória sa v súčasnosti používa v dokumentoch.', 'category_noname' => 'Nebolo zadané žiadne meno kategórie.', 'ca_ES' => 'Katalánština', +'changelog_loading' => '', 'change_assignments' => 'Zmeniť úlohy', 'change_password' => 'Zmeniť heslo', 'change_password_message' => 'Vaše heslo bolo zmenené.', @@ -448,6 +452,7 @@ Odkaz je platný do [valid]. 'do_object_repair' => 'Opraviť všetky zložky a dokumenty.', 'do_object_setchecksum' => 'Nastaviť kontrolný súčet', 'do_object_setfilesize' => 'Nastaviť veľkosť súboru', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Zmazať verziu dokumentu', 'draft' => 'Návrh', 'draft_pending_approval' => 'Návrh - čaká na schválenie', @@ -456,6 +461,7 @@ Odkaz je platný do [valid]. 'dropfolderdir_missing' => 'Your personal drop folder does not exist on the server! Please ask your administrator to create it.', 'dropfolder_file' => 'Súbor z drop zložky', 'dropfolder_folder' => 'Zložka z drop zložky', +'dropfolder_metadata' => '', 'dropupload' => 'Rýchlo nahraj', 'drop_files_here' => 'Sem vložte súbory!', 'dump_creation' => 'Vytvorenie výstupu DB', @@ -481,6 +487,7 @@ Odkaz je platný do [valid]. 'edit_folder_props' => 'Upraviť zložku', 'edit_group' => 'Upraviť skupinu', 'edit_online' => 'Upraviť online', +'edit_online_warning' => '', 'edit_task' => 'Upraviť úlohu', 'edit_transmittal_props' => 'Edit transmittal properties', 'edit_user' => 'Upraviť používateľa', @@ -502,7 +509,7 @@ Odkaz je platný do [valid]. 'error_add_aro' => 'Error while adding access request object', 'error_add_permission' => 'Error while add permission', 'error_cleared_cache' => 'Chyba pri vymazaní vyrovnávacej pamäte', -'error_edit_task' => '', +'error_edit_task' => 'Chyba pri ukladaní úlohy', 'error_extension_getlist' => 'Error getting extension list from repository', 'error_importfs' => 'Chyba pri importe zo súborového systému', 'error_no_document_selected' => 'Nie je vybratý žiadny dokument', @@ -511,7 +518,7 @@ Odkaz je platný do [valid]. 'error_remove_document' => 'Pri odstraňovaní dokumentu sa vyskytla chyba', 'error_remove_folder' => 'Pri odstraňovaní zložky sa vyskytla chyba', 'error_remove_permission' => 'Chyba pri odstránení povolenia', -'error_rm_workflow' => '', +'error_rm_workflow' => 'Nastala chyba pri odstránovaní workflow', 'error_rm_workflow_action' => '', 'error_rm_workflow_state' => '', 'error_toogle_permission' => 'Chyba pri zmene povolenia', @@ -558,6 +565,7 @@ URL: [url]', 'files_deletion' => 'Odstránenie súboru', 'files_deletion_warning' => 'Touto akciou môžete odstrániť všetky súbory celých DMS zložiek. Verziovacie informácie zostanú viditeľné.', 'files_loading' => 'Prosím počkajte, kým sa načíta zoznam súborov ...', +'filetype' => '', 'file_size' => 'Veľkosť súboru', 'filter_for_documents' => 'Ďalší filter pre dokumenty', 'filter_for_folders' => 'Ďalší filter pre zložky', @@ -609,6 +617,7 @@ Používateľ: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Zložka bola premenovaná', 'folder_title' => 'Zložka \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Aktualizovať', 'friday' => 'Piatok', 'friday_abbr' => 'Pia', @@ -635,6 +644,7 @@ URL: [url]', 'group_members' => 'Členovia skupiny', 'group_receipt_summary' => 'Group receipt summary', 'group_review_summary' => 'Zhrnutie skupinovej recenzie', +'group_revision_summary' => '', 'guest_login' => 'Prihlásiť sa ako hosť', 'guest_login_disabled' => 'Prihlásenie ako hosť je vypnuté.', 'hash' => 'Hash', @@ -752,6 +762,7 @@ URL: [url]', 'lock_document' => 'Zamknúť', 'lock_message' => 'Tento dokument zamkol [username]. Iba oprávnení používatelia ho môžu odomknúť.', 'lock_status' => 'Stav', +'logfile_loading' => '', 'login' => 'Prihlásiť sa', 'login_disabled_text' => 'Váš účet bol zablokovaný, pravdepodobne veľa pokusov o prihlásenie zlyhalo.', 'login_disabled_title' => 'Účet je zablokovaný', @@ -759,7 +770,7 @@ URL: [url]', 'login_error_title' => 'Chyba pri prihlasovaní', 'login_not_given' => 'Nebolo zadané používateľské meno', 'login_ok' => 'Prihlásenie prebehlo úspešne', -'login_restrictions_apply' => '', +'login_restrictions_apply' => 'Nepodarilo sa prihlásiť, kvôli obmedzeniam', 'logout' => 'Odhlásenie', 'log_management' => 'Správa protokolov', 'lo_LA' => 'Laoský', @@ -778,7 +789,7 @@ URL: [url]', 'max_upload_size' => 'Maximálna veľkosť každého súboru', 'may' => 'Máj', 'menu_dropfolder' => 'Drop zložka', -'menu_upload_from_dropfolder' => '', +'menu_upload_from_dropfolder' => 'Naimportovať zo súboru', 'mimetype' => 'Mime typ', 'minutes' => 'minúty', 'misc' => 'Rôzne', @@ -838,9 +849,11 @@ Používateľ: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Nová zložka', 'new_user_image' => 'Nový obrázok', +'next_revision_abbr' => '', 'next_state' => 'Nový stav', 'nl_NL' => 'Holandština', 'no' => 'Nie', +'notification' => '', 'notify_added_email' => 'Boli ste pridaní do notifikačného zoznamu', 'notify_added_email_body' => 'Pridanie do notifikačného zoznamu Meno: [name] @@ -860,9 +873,11 @@ URL: [url]', 'no_action' => 'Nič sa nevykoná', 'no_approval_needed' => 'Neprebieha žiadne schvaľovanie.', 'no_attached_files' => 'Žiadne prílohy', +'no_backup_dir' => '', 'no_current_version' => 'Neaktualizovaná verzia', 'no_default_keywords' => 'Nie sú dostupné žiadne kľúčové slová.', 'no_docs_checked_out' => 'No documents checked out', +'no_docs_expired' => '', 'no_docs_locked' => 'Žiadne uzamknuté dokumenty.', 'no_docs_needs_correction' => 'Žiadne dokumenty potrebné opraviť', 'no_docs_rejected' => 'Žiadne dokumenty neboli zamietnuté.', @@ -958,8 +973,11 @@ If you have still problems to login, then please contact your administrator.', 'quota_is_disabled' => 'Podpora kvót je momentálne zakázaná v nastaveniach. Nastavenie kvóty používateľa nebude mať žiadny účinok, kým nebude znovu aktivovaná.', 'quota_warning' => 'Maximálne využitie disku je prekročené o [bytes]. Odstráňte dokumenty alebo predchádzajúce verzie.', 'receipts_accepted' => '[no_receipts] receipts already accepted', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '[no_receipts] receipts not being touched', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '[no_receipts] receipts already rejected', +'receipts_rejected_latest' => '', 'receipts_without_group' => 'Receipts without group', 'receipts_without_user' => 'Receipts without user', 'receipt_deletion_email_body' => 'Používateľ bol odstránený zo zoznamu recipientov @@ -981,7 +999,7 @@ URL: [url]', 'receipt_status' => 'Stav', 'receipt_summary' => 'Receipt summary', 'receipt_update_failed' => 'Acknowledging reception failed', -'recent_uploads' => '', +'recent_uploads' => 'Naposledy nahrané súbory', 'reception' => 'Reception', 'reception_acknowleged' => 'Reception acknowledged', 'reception_noaction' => 'Žiadna akcia', @@ -1041,8 +1059,11 @@ URL: [url]', 'reviewer_already_assigned' => 'je už poverený ako recenzent', 'reviewer_already_removed' => 'už bol odstránený z procesu recenzie alebo už odoslal recenziu', 'reviews_accepted' => '[no_reviews] reviews already accepted', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '[no_reviews] reviews not being touched', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '[no_reviews] reviews already rejected', +'reviews_rejected_latest' => '', 'reviews_without_group' => 'Reviews without group', 'reviews_without_user' => 'Reviews without user', 'review_deletion_email' => 'Požiadavka na recenziu zmazaná', @@ -1080,9 +1101,13 @@ URL: [url]', 'revise_document' => 'Revidovať dokument', 'revise_document_on' => 'Next revision of document version on [date]', 'revisions_accepted' => '[no_revisions] revisions already accepted', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '[no_revisions] revisions not being touched', +'revisions_not_touched_latest' => '', 'revisions_pending' => '[no_revisions] revisions due in future', +'revisions_pending_latest' => '', 'revisions_rejected' => '[no_revisions] revisions already rejected', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'Revízie bez skupiny', 'revisions_without_user' => 'Revízie bez používateľa', 'revision_date' => 'Dátum revízie', @@ -1097,6 +1122,7 @@ URL: [url]', 'revision_status' => 'Stav', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Revisors', 'revisor_already_assigned' => 'User is already assigned as an revisor.', 'revisor_already_removed' => 'Revisor has already been removed from revision process or has already revised the document.', @@ -1229,7 +1255,7 @@ Meno: [username] 'settings_Advanced' => 'Rozšírené', 'settings_advancedAcl' => 'Advanced Access control', 'settings_advancedAcl_desc' => 'Advanced access controll will allow to turn on/off certain modules of the software. It can not be used for access rights on documents and folders.', -'settings_allowChangeRevAppInProcess' => '', +'settings_allowChangeRevAppInProcess' => 'Povoliť zmenu schvaľovateľa, ak už bol proces začatý', 'settings_allowChangeRevAppInProcess_desc' => '', 'settings_allowReviewerOnly' => 'Allow to set reviewer only', 'settings_allowReviewerOnly_desc' => 'Enable this, if it shall be allow to set just a reviewer but no approver in traditional workflow mode.', @@ -1360,8 +1386,10 @@ Meno: [username] 'settings_enableReceiptWorkflow_desc' => 'Enable, to turn on the workflow to acknowledge document reception.', 'settings_enableRecursiveCount' => 'Enable recursive document/folder count', 'settings_enableRecursiveCount_desc' => 'If turned on, the number of documents and folders in the folder view will be determined by counting all objects by recursively processing the folders and counting those documents and folders the user is allowed to access.', -'settings_enableRevisionOnVoteReject' => 'Reject by one revisor', -'settings_enableRevisionOnVoteReject_desc' => 'If set the document will be reject if one revisor rejects the document.', +'settings_enableRevisionOneVoteReject' => 'Reject by one revisor', +'settings_enableRevisionOneVoteReject_desc' => '', +'settings_enableRevisionOnVoteReject' => '', +'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Povoliť revíziu dokumentov', 'settings_enableRevisionWorkflow_desc' => 'Enable, to be able to run the workflow for revising a document after a given period of time.', 'settings_enableSelfReceipt' => 'Allow reception of documents for logged in user', @@ -1452,10 +1480,14 @@ Meno: [username] 'settings_maxUploadSize' => 'Maximálna veľkosť pre nahrávané súbory', 'settings_maxUploadSize_desc' => 'This is the maximum size for uploaded files. It will take affect for document versions and attachments.', 'settings_more_settings' => 'Configure more settings. Default login: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Nenájdené', 'settings_Notification' => 'Nastavenia notifikácií', 'settings_notwritable' => 'The configuration cannot be saved because the configuration file is not writable.', 'settings_no_content_dir' => 'Content directory', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Override MimeType', 'settings_overrideMimeType_desc' => 'Override the MimeType delivered by the browser, if a file is uploaded. The new MimeType is determined by SeedDMS itself.', 'settings_partitionSize' => 'Čiastočná veľkosť súboru', @@ -1572,6 +1604,7 @@ Meno: [username] 'settings_workflowMode' => 'Workflow mode', 'settings_workflowMode_desc' => 'The advanced workflow allows to specify your own release workflow for document versions.', 'settings_workflowMode_valadvanced' => 'pokročilý', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'traditional', 'settings_workflowMode_valtraditional_only_approval' => 'traditional (without review)', 'settings_zendframework' => 'Zend Framework', @@ -1586,6 +1619,7 @@ Meno: [username] 'sign_in' => 'Prihlásiť sa', 'sign_out' => 'odhlásiť', 'sign_out_user' => 'Odhlásiť používateľa', +'site_brand' => '', 'sk_SK' => 'Slovenčina', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1615,6 +1649,7 @@ Meno: [username] 'splash_edit_group' => 'Skupina bola uložená', 'splash_edit_role' => 'Rola bola uložená', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Používateľ bol uložený', 'splash_error_add_to_transmittal' => 'Error while adding document to transmittal', 'splash_error_rm_download_link' => 'Error when removing download link', @@ -1709,9 +1744,13 @@ Meno: [username] 'switched_to' => 'Prepnúť na', 'takeOverAttributeValue' => 'Take over attribute value from last version', 'takeOverGrpApprover' => 'Take over group of approvers from last version.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Take over group of reviewers from last version.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Take over individual approver from last version.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Take over individual reviewer from last version.', +'takeOverIndReviewers' => '', 'tasks' => 'Úlohy', 'task_description' => 'Description', 'task_disabled' => 'Disabled', @@ -1755,6 +1794,7 @@ Meno: [username] 'transfer_no_write_access' => 'Používateľ nemá práva na zapisovanie v adresári', 'transfer_objects' => 'Prenesené objekty', 'transfer_objects_to_user' => 'Nový vlastník', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Transfer používateľovi', 'transition_triggered_email' => 'Workflow transition triggered', 'transition_triggered_email_body' => 'Workflow transition triggered @@ -1836,6 +1876,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Touto operáciou môžete vytvoriť súbor pre každý dokument, obsahujúci verziovaciu informáciu toho dokumentu. Po vytvorení bude každý súbor uložený do zložky dokumentu. Those files are not needed for the regular operation of the dms, but could be of value if the complete repository shall be transferred to an other system.', 'versioning_info' => 'Informácie o verziách', 'versiontolow' => 'Verzia je nízka', +'version_comment' => '', 'version_deleted_email' => 'Verzia zmazana', 'version_deleted_email_body' => 'Verzia bola zmazaná Dokument: [name] @@ -1878,6 +1919,7 @@ URL: [url]', 'workflow_summary' => 'Workflow summary', 'workflow_transition_without_user_group' => 'At least one of the transitions has neither a user nor a group!', 'workflow_user_summary' => 'User summary', +'wrong_filetype' => '', 'x_more_objects' => 'ďalších [number] objektov', 'year_view' => 'Rok', 'yes' => 'Áno', diff --git a/languages/sv_SE/lang.inc b/languages/sv_SE/lang.inc index 1607dd21f..7b38aae8a 100644 --- a/languages/sv_SE/lang.inc +++ b/languages/sv_SE/lang.inc @@ -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 (1160), MagnusI (649), tmichelfelder (106) +// Translators: Admin (1161), MagnusI (649), tmichelfelder (106) $text = array( '2_factor_auth' => '2-faktors autentisering', @@ -91,11 +91,14 @@ URL: [url]', 'and' => 'och', 'apply' => 'Använd', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => 'Godkännandet saknar grupp', 'approvals_without_user' => 'Godkännandet saknar användare', 'approval_deletion_email' => 'Begäran om godkännande har raderats', @@ -230,6 +233,7 @@ URL: [url]', 'category_in_use' => 'Denna kategori används av ett dokument.', 'category_noname' => 'Inget kategorinamn angivet', 'ca_ES' => 'Katalonska', +'changelog_loading' => '', 'change_assignments' => 'Ändra uppdrag', 'change_password' => 'Ändra lösenord', 'change_password_message' => 'Ditt lösenord har ändrats.', @@ -442,6 +446,7 @@ Länken är giltig t o m [valid]. 'do_object_repair' => 'Reparera alla kataloger och dokument.', 'do_object_setchecksum' => 'Lägg till checksumma', 'do_object_setfilesize' => 'Ange filstorlek', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Ta bort dokumentversion', 'draft' => 'Utkast', 'draft_pending_approval' => 'Utkast: väntar på godkännande', @@ -450,6 +455,7 @@ Länken är giltig t o m [valid]. 'dropfolderdir_missing' => 'Du saknar en personlig mapp för uppladdning till servern. Kontakta systemadminiustratören för att få hjälp att skapa den.', 'dropfolder_file' => 'Fil från mellanlagringsmappen', 'dropfolder_folder' => 'Katalog från mellanlagringsmappen', +'dropfolder_metadata' => '', 'dropupload' => 'Snabb uppladdning', 'drop_files_here' => 'Släpp filer här!', 'dump_creation' => 'Skapa DB-dump', @@ -475,6 +481,7 @@ Länken är giltig t o m [valid]. 'edit_folder_props' => 'Ändra katalog', 'edit_group' => 'Ändra grupp', 'edit_online' => 'Uppdatera online', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Ändra egenskaper för meddelande', 'edit_user' => 'Ändra användare', @@ -552,6 +559,7 @@ URL: [url]', 'files_deletion' => 'Ta bort filer', 'files_deletion_warning' => 'Med detta alternativ kan du ta bort alla filer i en dokumentkatalog. Versionsinformationen kommer fortfarande att visas.', 'files_loading' => 'Vänligen vänta tills listan med filer har laddats ...', +'filetype' => '', 'file_size' => 'Filstorlek', 'filter_for_documents' => 'Tilläggsfilter för dokument', 'filter_for_folders' => 'Tilläggsfilter för kataloger', @@ -596,6 +604,7 @@ User: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Katalog har bytt namn', 'folder_title' => 'Katalog \'[foldername]\'', +'foot_note' => '', 'force_update' => '', 'friday' => 'Fredag', 'friday_abbr' => 'Fr', @@ -622,6 +631,7 @@ URL: [url]', 'group_members' => 'Gruppmedlemmar', 'group_receipt_summary' => 'Sammanfattning av mottagningsbevis för grupp', 'group_review_summary' => 'Sammanfattning av gruppgranskning', +'group_revision_summary' => '', 'guest_login' => 'Gästinloggning', 'guest_login_disabled' => 'Gästinloggningen är inaktiverad.', 'hash' => 'Hash', @@ -739,6 +749,7 @@ URL: [url]', 'lock_document' => 'Lås', 'lock_message' => 'Detta dokument har låsts av [username]. Bara auktoriserade användare kan låsa upp dokumentet.', 'lock_status' => 'Status', +'logfile_loading' => '', 'login' => 'Inloggning', 'login_disabled_text' => 'Ditt konto är inaktivt, förmodligen för att du har överskridit antalet tillåtna inloggningsförsök.', 'login_disabled_title' => 'Kontot är inaktivt', @@ -825,9 +836,11 @@ Användare: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Ny katalog', 'new_user_image' => 'Ny användarbild', +'next_revision_abbr' => '', 'next_state' => 'Ny status', 'nl_NL' => 'Holländska', 'no' => 'Nej', +'notification' => '', 'notify_added_email' => 'Du har lagts till för att få meddelanden', 'notify_added_email_body' => 'Tillägg för att få meddelanden Namn: [name] @@ -847,9 +860,11 @@ URL: [url]', 'no_action' => 'Ingen åtgärd behövs.', 'no_approval_needed' => 'Inget godkännande behövs.', 'no_attached_files' => 'Inga filer har bifogats.', +'no_backup_dir' => '', 'no_current_version' => 'Du har en gammal version av SeedDMS. Senaste versionen är [latestversion].', 'no_default_keywords' => 'Inga nyckelord tillgängliga', 'no_docs_checked_out' => 'Inga utcheckade dokument', +'no_docs_expired' => '', 'no_docs_locked' => 'Inga låsta dokument.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => 'Det finns inga avvisade dokument.', @@ -942,8 +957,11 @@ Om du fortfarande har problem med inloggningen, kontakta administratören.', 'quota_is_disabled' => 'Kvotstöd är för närvarande inaktiverad i inställningarna. Ett värde för användarkvot kommer inte att ha någon effekt förrän den är aktiverad igen.', 'quota_warning' => 'Din maximala lagringskvot har överskridits med [bytes]. Ta bort dokument eller tidigare versioner.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -954,7 +972,7 @@ Om du fortfarande har problem med inloggningen, kontakta administratören.', 'receipt_status' => 'Status', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Senast uppladdat', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => 'Ingen åtgärd', @@ -1014,8 +1032,11 @@ URL: [url]', 'reviewer_already_assigned' => 'Användaren har redan tilldelats rollen som granskare', 'reviewer_already_removed' => 'har redan tagits bort från granskningen eller har redan skickat en granskning', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => 'Granskningar som saknar användare', 'review_deletion_email' => 'Förfrågan om granskning borttagen', @@ -1053,9 +1074,13 @@ URL: [url]', 'revise_document' => 'Revidera dokument', 'revise_document_on' => 'Nästa revidering av dokumentversion [date]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => 'Revisioner som saknar grupp', 'revisions_without_user' => 'Revisioner som saknar användare', 'revision_date' => 'Datum för revision', @@ -1070,6 +1095,7 @@ URL: [url]', 'revision_status' => 'Status', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Reviderare', 'revisor_already_assigned' => 'Användaren innehar redan rollen som reviderare', 'revisor_already_removed' => 'Dokumentet är redan reviderat alternativt användaren tillhör inte längre gruppen reviderare.', @@ -1333,6 +1359,8 @@ Kommentar: [comment]', 'settings_enableReceiptWorkflow_desc' => 'Aktivera notifiering av meddelanden i arbetsflödet.', 'settings_enableRecursiveCount' => 'Aktivera rekursiv räkning av dokument/katalog', 'settings_enableRecursiveCount_desc' => 'Om detta sätts på, kommer antal dokument och kataloger i katalogvyn fastställas genom att räkna alla objekter via rekursiv hantering av alla kataloger och räkna dessa dokument och kataloger som användaren har rättigheter till.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Aktivera revidering av dokument', @@ -1425,10 +1453,14 @@ Kommentar: [comment]', 'settings_maxUploadSize' => 'Max storlek (bytes) för uppladdadning av fil', 'settings_maxUploadSize_desc' => 'Detta är den maximala storleken för uppladdning av filer. Begränsningen anges i bytes (1 GB = ca 1 000 000 000 bytes)', 'settings_more_settings' => 'Konfigurera flera inställningar. Standard-inloggning: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Hittades inte', 'settings_Notification' => 'Meddelandeinställningar', 'settings_notwritable' => 'Konfigurationen kunde inte sparas, eftersom konfigurationsfilen inte är skrivbar.', 'settings_no_content_dir' => 'Mapp för innehåll', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Åsido Mediatyp (Mime)', 'settings_overrideMimeType_desc' => 'Åsidosätta MimeType levererad av webbläsaren, om en fil överförs. Den nya Mediatyp bestäms av SeedDMS själv.', 'settings_partitionSize' => 'Uppdelad filstorlek', @@ -1545,6 +1577,7 @@ Kommentar: [comment]', 'settings_workflowMode' => 'Typ av arbetsflöde', 'settings_workflowMode_desc' => 'Det avancerade arbetsflödet gör det möjligt att lägga upp ett eget definerat gransknings- och godkännandeflöde för dokumentversioner.', 'settings_workflowMode_valadvanced' => 'avancerat', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'traditionellt', 'settings_workflowMode_valtraditional_only_approval' => 'traditionellt (utan granskning)', 'settings_zendframework' => 'Zend Framework', @@ -1559,6 +1592,7 @@ Kommentar: [comment]', 'sign_in' => 'Logga in', 'sign_out' => 'Logga ut', 'sign_out_user' => 'Logga ut användare', +'site_brand' => '', 'sk_SK' => 'Slovakiska', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1588,6 +1622,7 @@ Kommentar: [comment]', 'splash_edit_group' => 'Grupp sparad', 'splash_edit_role' => 'Roll sparad', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Användare sparad', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => 'Fel vid borttagande av nedladdningslänk', @@ -1682,9 +1717,13 @@ Kommentar: [comment]', 'switched_to' => 'Bytt till', 'takeOverAttributeValue' => 'Ta över attributvärde från senaste version', 'takeOverGrpApprover' => 'Ta över godkännandegrupp från senaste version', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Ta över granskningsgrupp från senaste version', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Ta över individuell godkännare från senaste version', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Ta över individuell granskare från senaste version', +'takeOverIndReviewers' => '', 'tasks' => 'Uppgifter', 'task_description' => '', 'task_disabled' => '', @@ -1728,6 +1767,7 @@ Kommentar: [comment]', 'transfer_no_write_access' => 'Användaren har inte skrivrättigheter i katalogen', 'transfer_objects' => 'Överför objekt', 'transfer_objects_to_user' => 'Ny ägare', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Överför till användare', 'transition_triggered_email' => 'Arbetsflödesövergång utlöstes', 'transition_triggered_email_body' => 'Arbetsflödesövergång utlöstes @@ -1809,6 +1849,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Med denna funktion kan du skapa en fil som innehåller versionsinformationen för hela DMS-mappen. Efter skapandet kommer alla filer att sparas inom dokumentets mapp.', 'versioning_info' => 'Versionsinformation', 'versiontolow' => 'Version för låg', +'version_comment' => '', 'version_deleted_email' => 'Version borttagen', 'version_deleted_email_body' => 'Version borttagen Dokument: [name] @@ -1851,6 +1892,7 @@ URL: [url]', 'workflow_summary' => 'Sammanfattning arbetsflöde', 'workflow_transition_without_user_group' => 'Minst en av övergångarna i arbetsflödet saknar användare eller grupp.', 'workflow_user_summary' => 'Sammanfattning användare', +'wrong_filetype' => '', 'x_more_objects' => '[number] ytterligare objekt', 'year_view' => 'Årsvy', 'yes' => 'Ja', diff --git a/languages/tr_TR/lang.inc b/languages/tr_TR/lang.inc index fa3a9b4ca..ef31360ab 100644 --- a/languages/tr_TR/lang.inc +++ b/languages/tr_TR/lang.inc @@ -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 (1087), aydin (83) +// Translators: Admin (1091), aydin (83) $text = array( '2_factor_auth' => '', @@ -89,11 +89,14 @@ URL: [url]', 'and' => 've', 'apply' => 'Uygula', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Onay talebi silindi', @@ -223,6 +226,7 @@ URL: [url]', 'category_in_use' => 'Bu kategoride dokümanlar mevcut.', 'category_noname' => 'Kategori ismi verilmedi.', 'ca_ES' => 'Katalanca', +'changelog_loading' => '', 'change_assignments' => 'Atamaları Değiştir', 'change_password' => 'Parola degiştir', 'change_password_message' => 'Parolanız değişti.', @@ -423,6 +427,7 @@ URL: [url]', 'do_object_repair' => 'Tüm klasörleri ve dokümanları onar.', 'do_object_setchecksum' => 'Sağlama (checksum) ayarla', 'do_object_setfilesize' => 'Dosya boyutu ayarla', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Doküman versiyonunu sil', 'draft' => '', 'draft_pending_approval' => 'Taslak - onay bekliyor', @@ -431,6 +436,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Sürüklenen klasörden dosya', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Hızlı yükleme', 'drop_files_here' => 'Dosyaları buraya sürükleyin!', 'dump_creation' => 'Veritabanı dump oluşturma', @@ -456,6 +462,7 @@ URL: [url]', 'edit_folder_props' => 'Klasörü düzenle', 'edit_group' => 'Grubu düzenle', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => 'Kullanıcıyı düzenle', @@ -533,6 +540,7 @@ URL: [url]', 'files_deletion' => 'Dosya silme', 'files_deletion_warning' => 'Bu işlemle bütün DYS klasörlerindeki dosyaların tamamını silebilirsiniz. Versiyonlama bilgisi görülmeye devam edecek.', 'files_loading' => 'Döküman ağaç yapısı yüklenirken, lütfen bekleyiniz ...', +'filetype' => '', 'file_size' => 'Dosya boyutu', 'filter_for_documents' => 'Dokümanlar için ek filtreler', 'filter_for_folders' => 'Klasörler için ek filtreler', @@ -577,6 +585,7 @@ Kullanıcı: [username] URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - Klasörün adı değişti', 'folder_title' => 'Klasör \'[foldername]\'', +'foot_note' => '', 'force_update' => 'Güncelendi', 'friday' => 'Cuma', 'friday_abbr' => 'Cu', @@ -603,6 +612,7 @@ URL: [url]', 'group_members' => 'Grup üyeleri', 'group_receipt_summary' => '', 'group_review_summary' => 'Grup gözden geçirme özeti', +'group_revision_summary' => '', 'guest_login' => 'Misafir olarak giriş yap', 'guest_login_disabled' => 'Misafir girişi devre dışı.', 'hash' => '', @@ -720,6 +730,7 @@ URL: [url]', 'lock_document' => 'Kilitle', 'lock_message' => 'Bu doküman [username] tarafından kilitlenmiştir. Sadece yetkilendirilmiş kişiler bu dokümanı açabilirler.', 'lock_status' => 'Durum', +'logfile_loading' => '', 'login' => 'Giriş', 'login_disabled_text' => 'Hesabınız devre dışı. Muhtemelen çok fazla hatalı giriş denemesi yapıldı.', 'login_disabled_title' => 'Hesap devre dışı', @@ -806,9 +817,11 @@ Kullanıcı: [username] URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - Yeni klasör', 'new_user_image' => 'Yeni resim', +'next_revision_abbr' => '', 'next_state' => 'Yeni durum', 'nl_NL' => 'Hollandaca', 'no' => 'Hayır', +'notification' => '', 'notify_added_email' => 'Bildirim listesine eklendiniz', 'notify_added_email_body' => 'Bildirim listesine eklendiniz İsim: [name] @@ -828,9 +841,11 @@ URL: [url]', 'no_action' => 'İşlem gerekmiyor', 'no_approval_needed' => 'Onay bekleyen yok.', 'no_attached_files' => 'Ek dosya yok', +'no_backup_dir' => '', 'no_current_version' => 'Kullandığınız SeedDMS versiyonu eski görünüyor. Son versiyon [latestversion].', 'no_default_keywords' => 'Anahtar kelime yok', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => 'Kilitli doküman yok.', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -928,8 +943,11 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'quota_is_disabled' => 'Kota desteği ayarlardan kapatılmış durumda. Açılana kadar kullanıcıya kota tanımlamanın bir etkisi olmaz.', 'quota_warning' => 'Size ayrılan disk kotası [bytes] aşıldı. Lütfen gereksiz olduğunu düşündüğünüz dokümanları veya eski versiyonları silin.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -940,7 +958,7 @@ Giriş yaparken halen sorun yaşıyorsanız lütfen sistem yöneticinizle görü 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'En son yüklenenler', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -993,8 +1011,11 @@ URL: [url]', 'reviewer_already_assigned' => 'zaten kontrol eden olarak tanımlı', 'reviewer_already_removed' => 'kontrol sürecinden silindi veya zaten kontrolü gönderdi', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Kontrol talebi silindi', @@ -1022,9 +1043,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -1034,6 +1059,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1170,7 +1196,7 @@ URL: [url]', 'settings_autoLoginUser' => 'otomatik giriş', 'settings_autoLoginUser_desc' => '', 'settings_available_languages' => 'kullanılabilir diller', -'settings_available_languages_desc' => '', +'settings_available_languages_desc' => 'Sil seçim kutucuğunda yalnızca seçili diller yüklenecek ve görüntülenecektir.', 'settings_backupDir' => '', 'settings_backupDir_desc' => '', 'settings_cacheDir' => 'Cache klasörü', @@ -1292,6 +1318,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => 'Özyinelenen doküman/klasör sayımını etkinleştir', 'settings_enableRecursiveCount_desc' => 'Aktif hale getirildiğinde, klasör içindeki dokümanlar ve diğer klasörlerin sayısı kullanıcının erişim hakkı olan tüm nesnelerin özyinelemeli olarak sayılması yolu ile bulunur.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1384,10 +1412,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Daha fazla ayar yapın. Varsayılan kullanıcı adı/parola: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Bulunamadı', 'settings_Notification' => 'Bildirim ayarları', 'settings_notwritable' => 'Konfigürasyon dosyası yazılabilir olmadığından ayarlar kaydedilmeyecek.', 'settings_no_content_dir' => 'İçerik dizini', +'settings_onePageMode' => 'Tek sayfa modu', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => 'Kısmi dosya boyutu', @@ -1504,6 +1536,7 @@ URL: [url]', 'settings_workflowMode' => 'İş Akış Modu', 'settings_workflowMode_desc' => 'Gelişmiş İş Akışı, dokümün versiyonları için kendi sürümlerinizi belirlemenizi sağlar.', 'settings_workflowMode_valadvanced' => 'gelişmiş', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'geleneksel', 'settings_workflowMode_valtraditional_only_approval' => 'Geleneksel(Ödülsüz)', 'settings_zendframework' => 'Zend Framework', @@ -1518,6 +1551,7 @@ URL: [url]', 'sign_in' => 'Giriş', 'sign_out' => 'Çıkış', 'sign_out_user' => 'Kullanıcı hesabından çıkış', +'site_brand' => '', 'sk_SK' => 'Slovakça', 'sort_by_date' => 'Tarihe göre sırala', 'sort_by_name' => 'Ada göre sırala', @@ -1547,6 +1581,7 @@ URL: [url]', 'splash_edit_group' => 'Grup kaydedildi', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Kullanıcı kaydedildi', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1641,9 +1676,13 @@ URL: [url]', 'switched_to' => 'Yerine geçilen', 'takeOverAttributeValue' => 'Son versiyondaki özellikleri devral', 'takeOverGrpApprover' => 'Bir önceki versiyon onayını yapan grubu al.', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Bir önceki versiyon kontrolünü yapan grubu al.', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Bir önceki versiyonu onaylayanı al.', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Bir önceki versiyonu kontrol edeni al.', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1687,6 +1726,7 @@ URL: [url]', 'transfer_no_write_access' => 'Kullanıcının klasör üzerinde yazma hakkı yok', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Kullanıcıya transfer et', 'transition_triggered_email' => 'İş Akış Geçişi Tetiklendi', 'transition_triggered_email_body' => 'İş Akış Geçişi Tetiklendi @@ -1768,6 +1808,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Bu işlem ile tüm klasörlerdeki versiyon bilgisinin bulunduğu bir dosya oluşturursunuz. Her dosya oluşturulduğunda doküman klasörüne kaydedilir.', 'versioning_info' => 'Version bilgisi', 'versiontolow' => 'Versiyon düşük', +'version_comment' => '', 'version_deleted_email' => 'Versiyon silindi', 'version_deleted_email_body' => 'Versiyon silindi Doküman: [name] @@ -1810,6 +1851,7 @@ URL: [url]', 'workflow_summary' => 'İş akış özeti', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Kullanıcı özeti', +'wrong_filetype' => '', 'x_more_objects' => '[number] více objektů', 'year_view' => 'Yıllık Görünüm', 'yes' => 'Evet', diff --git a/languages/uk_UA/lang.inc b/languages/uk_UA/lang.inc index 1379c1e32..aeef777b2 100644 --- a/languages/uk_UA/lang.inc +++ b/languages/uk_UA/lang.inc @@ -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 (1338) +// Translators: Admin (1339) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'і', 'apply' => 'Застосувати', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => 'Запит на підтвердження скасовано', @@ -229,6 +232,7 @@ URL: [url]', 'category_in_use' => 'Ця категорія використовується для документів', 'category_noname' => 'Введіть назву категорії', 'ca_ES' => 'Catalan', +'changelog_loading' => '', 'change_assignments' => 'Змінити призначення', 'change_password' => 'Змінити пароль', 'change_password_message' => 'Пароль змінено', @@ -429,6 +433,7 @@ URL: [url]', 'do_object_repair' => 'Виправити всі каталоги і документи', 'do_object_setchecksum' => 'Встановити контрольну суму', 'do_object_setfilesize' => 'Встановити розмір файлу', +'do_object_setfiletype' => '', 'do_object_unlink' => 'Видалити версію документа', 'draft' => 'Чернетка', 'draft_pending_approval' => 'Чернетка — Очікує на затвердження', @@ -437,6 +442,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => 'Файл з прохідного каталогу', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => 'Швидке завантаження', 'drop_files_here' => 'Перемістіть файли сюди', 'dump_creation' => 'Створити дамп БД', @@ -462,6 +468,7 @@ URL: [url]', 'edit_folder_props' => 'Змінити каталог', 'edit_group' => 'Змінити групу', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => 'Редагувати налаштування перенесення', 'edit_user' => 'Редагувати користувача', @@ -539,6 +546,7 @@ URL: [url]', 'files_deletion' => 'Видалити файли', 'files_deletion_warning' => 'Ця операція видалить всі файли у всіх каталогах. Інформація про версії залишиться доступною', 'files_loading' => 'Будь ласка, зачекайте, поки завантажується файл …', +'filetype' => '', 'file_size' => 'Розмір', 'filter_for_documents' => 'Додатковий фільтр по документах', 'filter_for_folders' => 'Додатковий фільтр по каталогах', @@ -583,6 +591,7 @@ URL: [url]', URL: [url]', 'folder_renamed_email_subject' => '[sitename]: перейменовано каталог «[name]»', 'folder_title' => 'Каталог [foldername]', +'foot_note' => '', 'force_update' => '', 'friday' => 'П\'ятниця', 'friday_abbr' => 'Пт', @@ -609,6 +618,7 @@ URL: [url]', 'group_members' => 'Члени групи', 'group_receipt_summary' => 'Підсумки отримання групи', 'group_review_summary' => 'Підсумки рецензування групи', +'group_revision_summary' => '', 'guest_login' => 'Увійти як гість', 'guest_login_disabled' => 'Гостьовий вхід відключено', 'hash' => '', @@ -726,6 +736,7 @@ URL: [url]', 'lock_document' => 'Заблокувати', 'lock_message' => 'Документ заблокував користувач [username]. Тільки користувачі, які мають відповідні права, можуть його розблокувати.', 'lock_status' => 'Статус', +'logfile_loading' => '', 'login' => 'Логін', 'login_disabled_text' => 'Ваш обліковий запис заблоковано, можливо, через кілька невдалих спроб входу.', 'login_disabled_title' => 'Обліковий запис заблоковано', @@ -811,9 +822,11 @@ URL: [url]', URL: [url]', 'new_subfolder_email_subject' => '[sitename]: новий каталог «[name]»', 'new_user_image' => 'Нове зображення', +'next_revision_abbr' => '', 'next_state' => 'Новий стан', 'nl_NL' => 'Dutch', 'no' => 'Ні', +'notification' => '', 'notify_added_email' => 'Вас додали до списку сповіщення', 'notify_added_email_body' => 'Вас додали до списку сповіщення Назва: [name] @@ -833,9 +846,11 @@ URL: [url]', 'no_action' => 'Дій не потрібно', 'no_approval_needed' => 'Затвердження не потрібно', 'no_attached_files' => 'Немає додатків', +'no_backup_dir' => '', 'no_current_version' => 'Ви використовуєте застарілу версію SeedDMS. Остання версія [latestversion].', 'no_default_keywords' => 'Немає ключових слів', 'no_docs_checked_out' => 'Немає документів на опрацюванні', +'no_docs_expired' => '', 'no_docs_locked' => 'Немає заблокованих документів', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -929,8 +944,11 @@ URL: [url]', 'quota_is_disabled' => 'Квотування відключено', 'quota_warning' => 'Ваша дискова квота перевищена на [bytes]. Видаліть непотрібні документи або їх попередні версії.', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -946,7 +964,7 @@ URL: [url]', 'receipt_status' => '', 'receipt_summary' => 'Підсумки отримання', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => 'Останні завантаження', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -999,8 +1017,11 @@ URL: [url]', 'reviewer_already_assigned' => 'вже призначений для рецензування', 'reviewer_already_removed' => 'вже видалено зі списку рецензентів або вже лишив рецензію', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => 'Запит на редагування видалено', @@ -1038,9 +1059,13 @@ URL: [url]', 'revise_document' => 'Ревізувати документ', 'revise_document_on' => 'Наступна ревізія документу [date]', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => 'Дата ревізії', @@ -1055,6 +1080,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => 'Ревізори', 'revisor_already_assigned' => 'Ревізор вже призначений', 'revisor_already_removed' => 'Ревізора вже видалено', @@ -1313,6 +1339,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => 'Включіть для активації функції підтвердження отримання документу', 'settings_enableRecursiveCount' => 'Рекурсивно підраховувати
документи і каталоги', 'settings_enableRecursiveCount_desc' => 'Якщо увімкнено, кількість документів і каталогів при перегляді каталогу буде підраховано рекурсивно для всіх документів до яких користувач має доступ.', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => 'Увімкнути процес ревізії', @@ -1405,10 +1433,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => 'Інші налаштування. Логін по замовчуванню: admin/admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => 'Не знайдено', 'settings_Notification' => 'Налаштування сповіщення', 'settings_notwritable' => 'Конфігурація не може бути збережена, тому що файл налаштувань доступний лише на читання.', 'settings_no_content_dir' => 'Каталог вмісту', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => 'Перевизначити mime тип', 'settings_overrideMimeType_desc' => 'Перевизначення mime типу наданого браузером, якщо файл завантажений. Новий mime тип визначається самою SeedDMS.', 'settings_partitionSize' => 'Частковий розмір файлу', @@ -1525,6 +1557,7 @@ URL: [url]', 'settings_workflowMode' => 'Режим процесу', 'settings_workflowMode_desc' => 'Покращений режим дозволяє вказати ваш власний процес для документа.', 'settings_workflowMode_valadvanced' => 'покращений', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => 'традиційний', 'settings_workflowMode_valtraditional_only_approval' => 'традиційний (без рецензування)', 'settings_zendframework' => 'Інфраструктура Zend', @@ -1539,6 +1572,7 @@ URL: [url]', 'sign_in' => 'Увійти', 'sign_out' => 'Вийти', 'sign_out_user' => 'Вихід користувача', +'site_brand' => '', 'sk_SK' => 'Slovak', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1568,6 +1602,7 @@ URL: [url]', 'splash_edit_group' => 'Групу збережено', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => 'Користувача збережено', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1662,9 +1697,13 @@ URL: [url]', 'switched_to' => 'Переключено на', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => 'Використати групу затверджувачів з попередньої версії', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => 'Використати групу рецензентів з попередньої версії', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => 'Використати затверджувачів з попередньої версії', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => 'Використати рецензентів з попередньої версії', +'takeOverIndReviewers' => '', 'tasks' => 'Завдання', 'task_description' => '', 'task_disabled' => '', @@ -1708,6 +1747,7 @@ URL: [url]', 'transfer_no_write_access' => '', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => 'Передати користувачу', 'transition_triggered_email' => 'Змінено стан процесу', 'transition_triggered_email_body' => 'Змінено стан процесу @@ -1789,6 +1829,7 @@ URL: [url]', 'versioning_file_creation_warning' => 'Ця операція створить файли версій для всього каталогу. Після створення файли версій будуть збережені в каталозі документів.', 'versioning_info' => 'Інформація про версії', 'versiontolow' => 'Версія надто стара', +'version_comment' => '', 'version_deleted_email' => 'Версію видалено', 'version_deleted_email_body' => 'Версію видалено Документ: [name] @@ -1831,6 +1872,7 @@ URL: [url]', 'workflow_summary' => 'Підсумки по процесу', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => 'Підсумки по користувачу', +'wrong_filetype' => '', 'x_more_objects' => '[number] більше об\'єктів', 'year_view' => 'Рік', 'yes' => 'Так', diff --git a/languages/zh_CN/lang.inc b/languages/zh_CN/lang.inc index e688f1a7f..f3ad1d171 100644 --- a/languages/zh_CN/lang.inc +++ b/languages/zh_CN/lang.inc @@ -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 (765), archonwang (469), fengjohn (5), yang86 (1) +// Translators: Admin (766), archonwang (469), fengjohn (5), yang86 (1) $text = array( '2_factor_auth' => '双重认证', @@ -90,11 +90,14 @@ URL: [url]', 'and' => 'and', 'apply' => '应用', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '[no_approvals] 审核和 [no_reviews] 校对已通过', 'approvals_and_reviews_not_touched' => '[no_approvals] 审核和 [no_reviews] 校对暂未执行', 'approvals_and_reviews_rejected' => '[no_approvals] 审核和 [no_reviews] 校对未通过', 'approvals_not_touched' => '[no_approvals] 审核未执行', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '[no_approvals] 审核未通过', +'approvals_rejected_latest' => '', 'approvals_without_group' => '不含组的审核', 'approvals_without_user' => '不含用户的审核', 'approval_deletion_email' => '审核请求已被删除', @@ -221,6 +224,7 @@ URL: [url]', 'category_in_use' => '已有文件使用此分类', 'category_noname' => '类别名称不能为空。', 'ca_ES' => '加泰罗尼亚语', +'changelog_loading' => '', 'change_assignments' => '分配变更', 'change_password' => '修改密码', 'change_password_message' => '您的密码已更新。', @@ -429,6 +433,7 @@ URL: [url]', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '设置文件大小', +'do_object_setfiletype' => '', 'do_object_unlink' => '删除文档版本信息', 'draft' => '草稿', 'draft_pending_approval' => '待审核', @@ -437,6 +442,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => '所选文件夹的文件', 'dropfolder_folder' => '从下拉菜单中选择文件夹', +'dropfolder_metadata' => '', 'dropupload' => '快速上传', 'drop_files_here' => '拖入这里', 'dump_creation' => '转储数据', @@ -462,6 +468,7 @@ URL: [url]', 'edit_folder_props' => '编辑文件夹', 'edit_group' => '编辑组别', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => '编辑用户', @@ -535,6 +542,7 @@ URL: [url]', 'files_deletion' => '删除文件', 'files_deletion_warning' => '通过此操作,您可以删除整个DMS(文档管理系统)文件夹里的所有文件.但版本信息将被保留', 'files_loading' => '等待中,正在整理文件列表', +'filetype' => '', 'file_size' => '文件大小', 'filter_for_documents' => '文档新增过滤', 'filter_for_folders' => '文件夹新增过滤', @@ -579,6 +587,7 @@ URL: [url]', URL: [url]', 'folder_renamed_email_subject' => '[sitename]: [name] - 文件夹已重命名', 'folder_title' => '文件夹 \'[foldername]\'', +'foot_note' => '', 'force_update' => '强制更新', 'friday' => 'Friday', 'friday_abbr' => '', @@ -605,6 +614,7 @@ URL: [url]', 'group_members' => '组成员', 'group_receipt_summary' => '', 'group_review_summary' => '校对组汇总', +'group_revision_summary' => '', 'guest_login' => '来宾登录', 'guest_login_disabled' => '来宾登录被禁止', 'hash' => '哈希', @@ -722,6 +732,7 @@ URL: [url]', 'lock_document' => '锁定', 'lock_message' => '此文档已被 [username] 锁定. 只有授权用户才能解锁.', 'lock_status' => '锁定状态', +'logfile_loading' => '', 'login' => '登录', 'login_disabled_text' => '', 'login_disabled_title' => '账号已禁用', @@ -808,9 +819,11 @@ URL: [url]', URL: [url]', 'new_subfolder_email_subject' => '[sitename]: [name] - 新建文件夹', 'new_user_image' => '新建图片', +'next_revision_abbr' => '', 'next_state' => '新建状态', 'nl_NL' => '荷兰语', 'no' => '否', +'notification' => '', 'notify_added_email' => '您已被添加到了通知名单中', 'notify_added_email_body' => '添加到通知列表 名称: [name] @@ -830,9 +843,11 @@ URL: [url]', 'no_action' => '无动作请求', 'no_approval_needed' => '无待审核的文件', 'no_attached_files' => '无附件', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => '无关键字', 'no_docs_checked_out' => '文档未签出', +'no_docs_expired' => '', 'no_docs_locked' => '无锁定的文档', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -928,8 +943,11 @@ URL: [url]', 'quota_is_disabled' => '配额的支持', 'quota_warning' => '您的磁盘最大使用量已超过 [bytes]。请删除文档或以前的版本。', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -945,7 +963,7 @@ URL: [url]', 'receipt_status' => '状态', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => '最近上传', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -991,8 +1009,11 @@ URL: [url]', 'reviewer_already_assigned' => '已经被指派为校对人', 'reviewer_already_removed' => '已经从校对队列中删除或者已经提交校对', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => '校对请求被删除', @@ -1020,9 +1041,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '[no_revisions] 修订已被接受', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '修订日期', @@ -1037,6 +1062,7 @@ URL: [url]', 'revision_status' => '修订状态', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '修订人', 'revisor_already_assigned' => '用户已被分配为修订人', 'revisor_already_removed' => '修订人已经从修订过程中删除,或者已经修改了文档。', @@ -1294,6 +1320,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '启用文档修订记录', @@ -1386,10 +1414,14 @@ URL: [url]', 'settings_maxUploadSize' => '上传文件尺寸上限', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '更多设置。默认登陆账户: admin / admin', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => '未找到', 'settings_Notification' => '通知设置', 'settings_notwritable' => '设置_不可写', 'settings_no_content_dir' => '内容目录', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '覆盖Mime Type', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => '', @@ -1506,6 +1538,7 @@ URL: [url]', 'settings_workflowMode' => '工作流模式', 'settings_workflowMode_desc' => '', 'settings_workflowMode_valadvanced' => '先进...', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => '传统', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => '', @@ -1520,6 +1553,7 @@ URL: [url]', 'sign_in' => '登录', 'sign_out' => '登出', 'sign_out_user' => '退出登录', +'site_brand' => '', 'sk_SK' => '斯洛伐克语', 'sort_by_date' => '日期排序', 'sort_by_name' => '文件名排序', @@ -1549,6 +1583,7 @@ URL: [url]', 'splash_edit_group' => '组已保存', 'splash_edit_role' => '角色已保存', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '用户信息已保存', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '移除下载链接时报错', @@ -1643,9 +1678,13 @@ URL: [url]', 'switched_to' => '登录为', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '继承上一版本的审核人', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '继承上一版本的校对人', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '', +'takeOverIndReviewers' => '', 'tasks' => '任务', 'task_description' => '', 'task_disabled' => '', @@ -1689,6 +1728,7 @@ URL: [url]', 'transfer_no_write_access' => '当前用户没有文件夹写入权限', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => '共享给其他用户', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', @@ -1761,6 +1801,7 @@ URL: [url]', 'versioning_file_creation_warning' => '通过此操作,您可以一个包含整个DMS文件夹的版本信息文件. 版本文件一经创建,每个文件都将保存到文件夹中.', 'versioning_info' => '版本信息', 'versiontolow' => '', +'version_comment' => '', 'version_deleted_email' => '版本已被删除', 'version_deleted_email_body' => '版本已删除 文档: [name] @@ -1803,6 +1844,7 @@ URL: [url]', 'workflow_summary' => '工作流概述', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => '用户概述', +'wrong_filetype' => '', 'x_more_objects' => '浏览更多', 'year_view' => '年视图', 'yes' => '是', diff --git a/languages/zh_TW/lang.inc b/languages/zh_TW/lang.inc index 207cfce69..6dc1579cf 100644 --- a/languages/zh_TW/lang.inc +++ b/languages/zh_TW/lang.inc @@ -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 (2417) +// Translators: Admin (2423) $text = array( '2_factor_auth' => '', @@ -90,11 +90,14 @@ URL: [url]', 'and' => '和', 'apply' => '接受', 'approvals_accepted' => '', +'approvals_accepted_latest' => '', 'approvals_and_reviews_accepted' => '', 'approvals_and_reviews_not_touched' => '', 'approvals_and_reviews_rejected' => '', 'approvals_not_touched' => '', +'approvals_not_touched_latest' => '', 'approvals_rejected' => '', +'approvals_rejected_latest' => '', 'approvals_without_group' => '', 'approvals_without_user' => '', 'approval_deletion_email' => '審核請求已被刪除', @@ -204,6 +207,7 @@ URL: [url]', 'category_in_use' => '已有檔使用此分類', 'category_noname' => '', 'ca_ES' => '加泰羅尼亞語', +'changelog_loading' => '', 'change_assignments' => '分配變更', 'change_password' => '變更密碼', 'change_password_message' => '變更密碼提示', @@ -249,7 +253,7 @@ URL: [url]', 'comment' => '說明', 'comment_changed_email' => '', 'comment_for_current_version' => '版本說明', -'configure_extension' => '', +'configure_extension' => '配置擴充套件', 'confirm_clear_cache' => '', 'confirm_create_fulltext_index' => '確認已新增之全文索引', 'confirm_move_document' => '', @@ -374,6 +378,7 @@ URL: [url]', 'do_object_repair' => '', 'do_object_setchecksum' => '', 'do_object_setfilesize' => '設定檔案大小', +'do_object_setfiletype' => '', 'do_object_unlink' => '', 'draft' => '', 'draft_pending_approval' => '待審核', @@ -382,6 +387,7 @@ URL: [url]', 'dropfolderdir_missing' => '', 'dropfolder_file' => '檔案來源為 drop 目錄', 'dropfolder_folder' => '', +'dropfolder_metadata' => '', 'dropupload' => '快速上傳', 'drop_files_here' => '拖入這裡', 'dump_creation' => '轉儲數據', @@ -407,6 +413,7 @@ URL: [url]', 'edit_folder_props' => '編輯資料夾', 'edit_group' => '編輯組別', 'edit_online' => '', +'edit_online_warning' => '', 'edit_task' => '', 'edit_transmittal_props' => '', 'edit_user' => '編輯用戶', @@ -468,7 +475,7 @@ URL: [url]', 'export' => '', 'extension_archive' => '', 'extension_changelog' => '修改紀錄', -'extension_loading' => '', +'extension_loading' => '擴充套件讀取中', 'extension_manager' => '整體索引進度', 'extension_mgr_installed' => '已安裝', 'extension_mgr_no_upload' => '無法上傳新的套件因為套件目錄無法寫入', @@ -480,6 +487,7 @@ URL: [url]', 'files_deletion' => '刪除檔', 'files_deletion_warning' => '通過此操作,您可以刪除整個DMS(文檔管理系統)資料夾裡的所有檔.但版本資訊將被保留', 'files_loading' => '請稍候, 檔案讀取中', +'filetype' => '', 'file_size' => '文件大小', 'filter_for_documents' => '', 'filter_for_folders' => '', @@ -504,6 +512,7 @@ URL: [url]', 'folder_renamed_email_body' => '', 'folder_renamed_email_subject' => '', 'folder_title' => '資料夾 \'[foldername]\'', +'foot_note' => '', 'force_update' => '更新', 'friday' => 'Friday', 'friday_abbr' => '', @@ -530,6 +539,7 @@ URL: [url]', 'group_members' => '組成員', 'group_receipt_summary' => '', 'group_review_summary' => '校對組匯總', +'group_revision_summary' => '', 'guest_login' => '來賓登錄', 'guest_login_disabled' => '來賓登錄被禁止', 'hash' => '', @@ -647,6 +657,7 @@ URL: [url]', 'lock_document' => '鎖定', 'lock_message' => '此文檔已被 [username] 鎖定. 只有授權使用者才能解鎖.', 'lock_status' => '鎖定狀態', +'logfile_loading' => '', 'login' => '', 'login_disabled_text' => '', 'login_disabled_title' => '', @@ -657,7 +668,7 @@ URL: [url]', 'login_restrictions_apply' => '', 'logout' => '登出', 'log_management' => '日誌管理', -'lo_LA' => '', +'lo_LA' => '位置', 'malformed_expiration_date' => '', 'manager' => '管理員', 'manager_of_group' => '', @@ -717,9 +728,11 @@ URL: [url]', 'new_subfolder_email_body' => '', 'new_subfolder_email_subject' => '', 'new_user_image' => '新建圖片', +'next_revision_abbr' => '', 'next_state' => '', 'nl_NL' => '荷蘭語', 'no' => '否', +'notification' => '', 'notify_added_email' => '您已被添加到了通知名單中', 'notify_added_email_body' => '', 'notify_added_email_subject' => '', @@ -731,9 +744,11 @@ URL: [url]', 'no_action' => '無動作請求', 'no_approval_needed' => '無待審核的檔', 'no_attached_files' => '無附件', +'no_backup_dir' => '', 'no_current_version' => '', 'no_default_keywords' => '無關鍵字', 'no_docs_checked_out' => '', +'no_docs_expired' => '', 'no_docs_locked' => '無鎖定的文檔', 'no_docs_needs_correction' => '', 'no_docs_rejected' => '', @@ -799,7 +814,7 @@ URL: [url]', 'pl_PL' => '波蘭語', 'possible_substitutes' => '', 'preset_expires' => '', -'preview' => '', +'preview' => '預覽', 'preview_converters' => '', 'preview_images' => '', 'preview_markdown' => '', @@ -815,8 +830,11 @@ URL: [url]', 'quota_is_disabled' => '', 'quota_warning' => '', 'receipts_accepted' => '', +'receipts_accepted_latest' => '', 'receipts_not_touched' => '', +'receipts_not_touched_latest' => '', 'receipts_rejected' => '', +'receipts_rejected_latest' => '', 'receipts_without_group' => '', 'receipts_without_user' => '', 'receipt_deletion_email_body' => '', @@ -827,7 +845,7 @@ URL: [url]', 'receipt_status' => '', 'receipt_summary' => '', 'receipt_update_failed' => '', -'recent_uploads' => '', +'recent_uploads' => '最近上傳', 'reception' => '', 'reception_acknowleged' => '', 'reception_noaction' => '', @@ -864,8 +882,11 @@ URL: [url]', 'reviewer_already_assigned' => '已經被指派為校對人', 'reviewer_already_removed' => '已經從校對佇列中刪除或者已經提交校對', 'reviews_accepted' => '', +'reviews_accepted_latest' => '', 'reviews_not_touched' => '', +'reviews_not_touched_latest' => '', 'reviews_rejected' => '', +'reviews_rejected_latest' => '', 'reviews_without_group' => '', 'reviews_without_user' => '', 'review_deletion_email' => '校對請求被刪除', @@ -886,9 +907,13 @@ URL: [url]', 'revise_document' => '', 'revise_document_on' => '', 'revisions_accepted' => '', +'revisions_accepted_latest' => '', 'revisions_not_touched' => '', +'revisions_not_touched_latest' => '', 'revisions_pending' => '', +'revisions_pending_latest' => '', 'revisions_rejected' => '', +'revisions_rejected_latest' => '', 'revisions_without_group' => '', 'revisions_without_user' => '', 'revision_date' => '', @@ -898,6 +923,7 @@ URL: [url]', 'revision_status' => '', 'revision_submit_email_body' => '', 'revision_submit_email_subject' => '', +'revision_summary' => '', 'revisors' => '', 'revisor_already_assigned' => '', 'revisor_already_removed' => '', @@ -1143,6 +1169,8 @@ URL: [url]', 'settings_enableReceiptWorkflow_desc' => '', 'settings_enableRecursiveCount' => '', 'settings_enableRecursiveCount_desc' => '', +'settings_enableRevisionOneVoteReject' => '', +'settings_enableRevisionOneVoteReject_desc' => '', 'settings_enableRevisionOnVoteReject' => '', 'settings_enableRevisionOnVoteReject_desc' => '', 'settings_enableRevisionWorkflow' => '', @@ -1235,10 +1263,14 @@ URL: [url]', 'settings_maxUploadSize' => '', 'settings_maxUploadSize_desc' => '', 'settings_more_settings' => '', +'settings_noDocumentFormFields' => '', +'settings_noDocumentFormFields_desc' => '', 'settings_notfound' => '', 'settings_Notification' => '通知設置', 'settings_notwritable' => '', 'settings_no_content_dir' => '', +'settings_onePageMode' => '', +'settings_onePageMode_desc' => '', 'settings_overrideMimeType' => '', 'settings_overrideMimeType_desc' => '', 'settings_partitionSize' => '', @@ -1355,6 +1387,7 @@ URL: [url]', 'settings_workflowMode' => '', 'settings_workflowMode_desc' => '', 'settings_workflowMode_valadvanced' => '先進...', +'settings_workflowMode_valnone' => '', 'settings_workflowMode_valtraditional' => '傳統', 'settings_workflowMode_valtraditional_only_approval' => '', 'settings_zendframework' => '', @@ -1369,6 +1402,7 @@ URL: [url]', 'sign_in' => '', 'sign_out' => '登出', 'sign_out_user' => '', +'site_brand' => '', 'sk_SK' => '斯洛伐克語', 'sort_by_date' => '', 'sort_by_name' => '', @@ -1398,6 +1432,7 @@ URL: [url]', 'splash_edit_group' => '', 'splash_edit_role' => '', 'splash_edit_task' => '', +'splash_edit_transmittal' => '', 'splash_edit_user' => '', 'splash_error_add_to_transmittal' => '', 'splash_error_rm_download_link' => '', @@ -1492,9 +1527,13 @@ URL: [url]', 'switched_to' => '', 'takeOverAttributeValue' => '', 'takeOverGrpApprover' => '', +'takeOverGrpApprovers' => '', 'takeOverGrpReviewer' => '', +'takeOverGrpReviewers' => '', 'takeOverIndApprover' => '', +'takeOverIndApprovers' => '', 'takeOverIndReviewer' => '從上個版本接管個別審稿人', +'takeOverIndReviewers' => '', 'tasks' => '', 'task_description' => '', 'task_disabled' => '', @@ -1533,11 +1572,12 @@ URL: [url]', 'toggle_qrcode' => '', 'to_before_from' => '', 'transfer_content' => '', -'transfer_document' => '', +'transfer_document' => '傳送檔案', 'transfer_no_read_access' => '', 'transfer_no_write_access' => '', 'transfer_objects' => '', 'transfer_objects_to_user' => '', +'transfer_process_to_user' => '', 'transfer_to_user' => '', 'transition_triggered_email' => '', 'transition_triggered_email_body' => '', @@ -1610,6 +1650,7 @@ URL: [url]', 'versioning_file_creation_warning' => '通過此操作,您可以一個包含整個DMS資料夾的版本資訊檔. 版本檔一經創建,每個檔都將保存到資料夾中.', 'versioning_info' => '版本資訊', 'versiontolow' => '', +'version_comment' => '', 'version_deleted_email' => '版本已被刪除', 'version_deleted_email_body' => '', 'version_deleted_email_subject' => '', @@ -1647,6 +1688,7 @@ URL: [url]', 'workflow_summary' => '', 'workflow_transition_without_user_group' => '', 'workflow_user_summary' => '', +'wrong_filetype' => '', 'x_more_objects' => '增加[數值]物件', 'year_view' => '年視圖', 'yes' => '是', diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 84176ecda..4c55beb66 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -93,6 +93,7 @@ if(isset($_POST["attributes"])) $attributes = $_POST["attributes"]; else $attributes = array(); +/* Has been moved to controller foreach($attributes as $attrdefid=>$attribute) { if($attrdef = $dms->getAttributeDefinition($attrdefid)) { if($attribute) { @@ -105,11 +106,13 @@ foreach($attributes as $attrdefid=>$attribute) { } } } + */ if(isset($_POST["attributes_version"])) $attributes_version = $_POST["attributes_version"]; else $attributes_version = array(); +/* Has been moved to controller foreach($attributes_version as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); if($attribute) { @@ -119,8 +122,9 @@ foreach($attributes_version as $attrdefid=>$attribute) { } } } + */ -$reqversion = (int)$_POST["reqversion"]; +$reqversion = !empty($_POST['reqversion']) ? (int)$_POST["reqversion"] : 0; if ($reqversion<1) $reqversion=1; $sequence = $_POST["sequence"]; @@ -387,7 +391,15 @@ for ($file_num=0;$file_numsetParam('defaultaccessdocs', $settings->_defaultAccessDocs); if(!$document = $controller->run()) { - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText($controller->getErrorMsg())); + $err = $controller->getErrorMsg(); + if(is_string($err)) + $errmsg = getMLText($err); + elseif(is_array($err)) { + $errmsg = getMLText($err[0], $err[1]); + } else { + $errmsg = $err; + } + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),$errmsg); } else { // Send notification to subscribers of folder. if($notifier) { @@ -407,7 +419,7 @@ for ($file_num=0;$file_numgetFullName(); $params['comment'] = $comment; $params['version_comment'] = $version_comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -427,7 +439,7 @@ for ($file_num=0;$file_numgetFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) { foreach($ntransition->getUsers() as $tuser) { @@ -450,7 +462,7 @@ for ($file_num=0;$file_numgetFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -471,7 +483,7 @@ for ($file_num=0;$file_numgetFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.AddFile.php b/op/op.AddFile.php index 944028eea..8b3a8022a 100644 --- a/op/op.AddFile.php +++ b/op/op.AddFile.php @@ -116,7 +116,7 @@ for ($file_num=0;$file_numgetName(); $params['username'] = $user->getFullName(); $params['comment'] = $comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.AddFile2.php b/op/op.AddFile2.php index 4774189ff..ae05026db 100644 --- a/op/op.AddFile2.php +++ b/op/op.AddFile2.php @@ -109,7 +109,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $params['document'] = $document->getName(); $params['username'] = $user->getFullName(); $params['comment'] = $comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.AddMultiDocument.php b/op/op.AddMultiDocument.php index a4e843138..9bcbd0dcf 100644 --- a/op/op.AddMultiDocument.php +++ b/op/op.AddMultiDocument.php @@ -243,7 +243,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $params['username'] = $user->getFullName(); $params['comment'] = $comment; $params['version_comment'] = $version_comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.AddSubFolder.php b/op/op.AddSubFolder.php index 3d3d42019..19012dd46 100644 --- a/op/op.AddSubFolder.php +++ b/op/op.AddSubFolder.php @@ -67,6 +67,7 @@ if(isset($_POST["attributes"])) $attributes = $_POST["attributes"]; else $attributes = array(); +/* foreach($attributes as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); if($attribute) { @@ -78,6 +79,7 @@ foreach($attributes as $attrdefid=>$attribute) { UI::exitError(getMLText("folder_title", array("foldername" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); } } + */ /* Check if additional notification shall be added */ $notusers = array(); @@ -133,7 +135,7 @@ if(!$subFolder = $controller->run()) { $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); $params['comment'] = $comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); diff --git a/op/op.Ajax.php b/op/op.Ajax.php index 80f51ea37..52362f4be 100644 --- a/op/op.Ajax.php +++ b/op/op.Ajax.php @@ -151,6 +151,7 @@ switch($command) { } break; /* }}} */ + /* The subtree command is deprecated. It has been moved into view */ case 'subtree': /* {{{ */ if($user) { if(empty($_GET['node'])) @@ -458,7 +459,7 @@ switch($command) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); @@ -681,47 +682,54 @@ switch($command) { $reviewers["g"] = array(); $approvers["i"] = array(); $approvers["g"] = array(); + $workflow = null; - // add mandatory reviewers/approvers - $docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp); - $res=$user->getMandatoryReviewers(); - foreach ($res as $r){ + if($settings->_workflowMode == 'traditional' || $settings->_workflowMode == 'traditional_only_approval') { + // add mandatory reviewers/approvers + $docAccess = $folder->getReadAccessList($settings->_enableAdminRevApp, $settings->_enableOwnerRevApp); + if($settings->_workflowMode == 'traditional') { + $res=$user->getMandatoryReviewers(); + foreach ($res as $r){ - if ($r['reviewerUserID']!=0){ - foreach ($docAccess["users"] as $usr) - if ($usr->getID()==$r['reviewerUserID']){ - $reviewers["i"][] = $r['reviewerUserID']; - break; + if ($r['reviewerUserID']!=0){ + foreach ($docAccess["users"] as $usr) + if ($usr->getID()==$r['reviewerUserID']){ + $reviewers["i"][] = $r['reviewerUserID']; + break; + } } - } - else if ($r['reviewerGroupID']!=0){ - foreach ($docAccess["groups"] as $grp) - if ($grp->getID()==$r['reviewerGroupID']){ - $reviewers["g"][] = $r['reviewerGroupID']; - break; + else if ($r['reviewerGroupID']!=0){ + foreach ($docAccess["groups"] as $grp) + if ($grp->getID()==$r['reviewerGroupID']){ + $reviewers["g"][] = $r['reviewerGroupID']; + break; + } } + } } - } - $res=$user->getMandatoryApprovers(); - foreach ($res as $r){ + $res=$user->getMandatoryApprovers(); + foreach ($res as $r){ - if ($r['approverUserID']!=0){ - foreach ($docAccess["users"] as $usr) - if ($usr->getID()==$r['approverUserID']){ - $approvers["i"][] = $r['approverUserID']; - break; - } - } - else if ($r['approverGroupID']!=0){ - foreach ($docAccess["groups"] as $grp) - if ($grp->getID()==$r['approverGroupID']){ - $approvers["g"][] = $r['approverGroupID']; - break; - } + if ($r['approverUserID']!=0){ + foreach ($docAccess["users"] as $usr) + if ($usr->getID()==$r['approverUserID']){ + $approvers["i"][] = $r['approverUserID']; + break; + } + } + else if ($r['approverGroupID']!=0){ + foreach ($docAccess["groups"] as $grp) + if ($grp->getID()==$r['approverGroupID']){ + $approvers["g"][] = $r['approverGroupID']; + break; + } + } } + + } elseif($settings->_workflowMode == 'advanced') { + $workflow = $user->getMandatoryWorkflow(); } - $workflow = $user->getMandatoryWorkflow(); $expires = false; if($settings->_presetExpirationDate) { @@ -793,7 +801,7 @@ switch($command) { $params['username'] = $user->getFullName(); $params['comment'] = ''; $params['version_comment'] = ''; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -813,7 +821,7 @@ switch($command) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) { foreach($ntransition->getUsers() as $tuser) { @@ -836,7 +844,7 @@ switch($command) { $params['version'] = 1; $params['comment'] = ''; $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -857,7 +865,7 @@ switch($command) { $params['version'] = 1; $params['comment'] = ''; $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.ApproveDocument.php b/op/op.ApproveDocument.php index eaceec753..597573814 100644 --- a/op/op.ApproveDocument.php +++ b/op/op.ApproveDocument.php @@ -113,7 +113,7 @@ if ($_POST["approvalType"] == "ind") { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params); @@ -151,7 +151,7 @@ else if ($_POST["approvalType"] == "grp") { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toIndividual($user, $content->getUser(), $subject, $message, $params); @@ -186,7 +186,7 @@ if ($_POST["approvalStatus"]==-1){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { @@ -238,7 +238,7 @@ if ($_POST["approvalStatus"]==-1){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { diff --git a/op/op.CreateDump.php b/op/op.CreateDump.php index ab79cb182..f96fe84af 100644 --- a/op/op.CreateDump.php +++ b/op/op.CreateDump.php @@ -31,8 +31,12 @@ if (!$user->isAdmin()) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } +if (!$settings->_backupDir) { + UI::exitError(getMLText("admin_tools"),getMLText("no_backup_dir")); +} + $v = new SeedDMS_Version; -$dump_name = $settings->_contentDir.date('Y-m-d\TH-i-s')."_".$v->_number.".sql"; +$dump_name = addDirSep($settings->_backupDir).date('Y-m-d\TH-i-s')."_".$v->_number.".sql"; if(!$dms->createDump($dump_name)) UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); diff --git a/op/op.CreateFolderArchive.php b/op/op.CreateFolderArchive.php index 0bc9d4ca9..07c1cb112 100644 --- a/op/op.CreateFolderArchive.php +++ b/op/op.CreateFolderArchive.php @@ -167,10 +167,14 @@ if (!is_object($folder)) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_folder_id")); } +if (!$settings->_backupDir) { + UI::exitError(getMLText("admin_tools"),getMLText("no_backup_dir")); +} + $human_readable = (isset($_GET["human_readable"]) && $_GET["human_readable"]==1 ? true : false); -if ($human_readable)$ark_name = $settings->_contentDir.time()."_".$folderid."_HR.tar"; -else $ark_name = $settings->_contentDir.time()."_".$folderid.".tar"; +if ($human_readable)$ark_name = addDirSep($settings->_backupDir).time()."_".$folderid."_HR.tar"; +else $ark_name = addDirSep($settings->_backupDir).time()."_".$folderid.".tar"; $ark = fopen($ark_name,"w"); diff --git a/op/op.DocumentAccess.php b/op/op.DocumentAccess.php index eddf47ef1..76b48018f 100644 --- a/op/op.DocumentAccess.php +++ b/op/op.DocumentAccess.php @@ -157,7 +157,7 @@ if ($action == "setowner") { $params['username'] = $user->getFullName(); $params['old_owner'] = $oldowner->getFullName(); $params['new_owner'] = $newowner->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -182,7 +182,7 @@ else if ($action == "notinherit") { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -205,7 +205,7 @@ else if ($action == "inherit") { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -227,7 +227,7 @@ else if ($action == "setdefault") { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.DocumentNotify.php b/op/op.DocumentNotify.php index 0226ea7a3..eb546a241 100644 --- a/op/op.DocumentNotify.php +++ b/op/op.DocumentNotify.php @@ -107,7 +107,7 @@ if ($action == "delnotify"){ $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -150,7 +150,7 @@ else if ($action == "addnotify") { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -184,7 +184,7 @@ else if ($action == "addnotify") { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.Download.php b/op/op.Download.php index 888ca6032..1fe1d7e73 100644 --- a/op/op.Download.php +++ b/op/op.Download.php @@ -126,19 +126,20 @@ elseif (isset($_GET["arkname"])) { /* {{{ */ UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } - if (!file_exists($settings->_contentDir.$filename) ) { + $backupdir = addDirSep($settings->_backupDir); + if (!file_exists($backupdir.$filename) ) { UI::exitError(getMLText("admin_tools"),getMLText("missing_file")); } header('Content-Description: File Transfer'); header("Content-Type: application/zip"); header("Content-Transfer-Encoding: binary"); - header("Content-Length: " . filesize($settings->_contentDir . $filename )); + header("Content-Length: " . filesize($backupdir . $filename )); $efilename = rawurlencode($filename); header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename); header("Cache-Control: must-revalidate"); - sendFile($settings->_contentDir .$filename ); + sendFile($backupdir .$filename ); } /* }}} */ elseif (isset($_GET["logname"])) { /* {{{ */ @@ -206,18 +207,23 @@ elseif (isset($_GET["dumpname"])) { /* {{{ */ UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } - if (!file_exists($settings->_contentDir.$filename) ) { + $backupdir = addDirSep($settings->_backupDir); + if (!$backupdir) { + UI::exitError(getMLText("admin_tools"),getMLText("no_backup_dir")); + } + + if (!file_exists($backupdir.$filename) ) { UI::exitError(getMLText("admin_tools"),getMLText("missing_file")); } header("Content-Type: application/zip"); header("Content-Transfer-Encoding: binary"); - header("Content-Length: " . filesize($settings->_contentDir . $filename )); + header("Content-Length: " . filesize($backupdir . $filename )); $efilename = rawurlencode($filename); header("Content-Disposition: attachment; filename=\"" .$efilename . "\"; filename*=UTF-8''".$efilename); header("Cache-Control: must-revalidate"); - sendFile($settings->_contentDir .$filename ); + sendFile($backupdir .$filename ); } elseif (isset($_GET["reviewlogid"])) { if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); diff --git a/op/op.EditAttributes.php b/op/op.EditAttributes.php index dce009239..4397351a6 100644 --- a/op/op.EditAttributes.php +++ b/op/op.EditAttributes.php @@ -105,7 +105,7 @@ if($oldattributes) { $params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : ''; $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -133,7 +133,7 @@ if($newattributes) { $params['attribute_new_value'] = $attribute->getValue(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.EditComment.php b/op/op.EditComment.php index 1444cf63e..7dec214f7 100644 --- a/op/op.EditComment.php +++ b/op/op.EditComment.php @@ -100,7 +100,7 @@ if (($oldcomment = $version->getComment()) != $comment) { $params['username'] = $user->getFullName(); $params['new_comment'] = $comment; $params['old_comment'] = $oldcomment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID()."&version=".$version->getVersion(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.EditDocument.php b/op/op.EditDocument.php index 3de8cb97a..9854e28ca 100644 --- a/op/op.EditDocument.php +++ b/op/op.EditDocument.php @@ -67,8 +67,7 @@ if(isset($_POST['categoryidform1'])) { } else { $categories = array(); } -$sequence = isset($_POST["sequence"]) ? $_POST["sequence"] : "keep"; -$sequence = str_replace(',', '.', $_POST["sequence"]); +$sequence = isset($_POST["sequence"]) ? str_replace(',', '.', $_POST["sequence"]) : "keep"; if (!is_numeric($sequence)) { $sequence="keep"; } @@ -77,6 +76,7 @@ if(isset($_POST["attributes"])) else $attributes = array(); +if(isset($_POST['presetexpdate'])) { switch($_POST["presetexpdate"]) { case "date": $tmp = explode('-', $_POST["expdate"]); @@ -103,6 +103,9 @@ default: $expires = null; break; } +} else { + $expires = null; +} $oldname = $document->getName(); $oldcomment = $document->getComment(); @@ -127,9 +130,15 @@ $controller->setParam('expires', $expires); $controller->setParam('sequence', $sequence); $controller->setParam('attributes', $attributes); if(!$controller->run()) { - if($controller->getErrorMsg()) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $controller->getErrorMsg()); + $err = $controller->getErrorMsg(); + if(is_string($err)) + $errmsg = getMLText($err); + elseif(is_array($err)) { + $errmsg = getMLText($err[0], $err[1]); + } else { + $errmsg = $err; } + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg); } if ($oldname != $name) { @@ -144,7 +153,7 @@ if ($oldname != $name) { $params['old_name'] = $oldname; $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -173,7 +182,7 @@ if ($oldcomment != $comment) { $params['old_comment'] = $oldcomment; $params['new_comment'] = $comment; $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -200,7 +209,7 @@ if ($expires != $oldexpires) { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -234,7 +243,7 @@ if($oldattributes) { $params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : ''; $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -261,7 +270,7 @@ if($newattributes) { $params['attribute_new_value'] = $attribute->getValue(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.EditFolder.php b/op/op.EditFolder.php index c2f2afc57..6ea93f654 100644 --- a/op/op.EditFolder.php +++ b/op/op.EditFolder.php @@ -80,9 +80,15 @@ $controller->setParam('comment', $comment); $controller->setParam('sequence', $sequence); $controller->setParam('attributes', $attributes); if(!$controller->run()) { - if($controller->getErrorMsg()) { - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())), $controller->getErrorMsg()); + $err = $controller->getErrorMsg(); + if(is_string($err)) + $errmsg = getMLText($err); + elseif(is_array($err)) { + $errmsg = getMLText($err[0], $err[1]); + } else { + $errmsg = $err; } + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())), $errmsg); } if($oldname != $name) { @@ -97,7 +103,7 @@ if($oldname != $name) { $params['old_name'] = $oldname; $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -123,7 +129,7 @@ if($oldcomment != $comment) { $params['old_comment'] = $oldcomment; $params['new_comment'] = $comment; $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -152,7 +158,7 @@ if($oldattributes) { $params['attribute_new_value'] = isset($newattributes[$attrdefid]) ? $newattributes[$attrdefid]->getValue() : ''; $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -179,7 +185,7 @@ if($newattributes) { $params['attribute_new_value'] = $attribute->getValue(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.EditOnline.php b/op/op.EditOnline.php index b19eb420b..c0dc2d401 100644 --- a/op/op.EditOnline.php +++ b/op/op.EditOnline.php @@ -75,7 +75,7 @@ if($lc->getChecksum() == SeedDMS_Core_File::checksum($tmpfname)) { $params['comment'] = $document->getComment(); $params['version'] = $lc->getVersion(); $params['version_comment'] = $lc->getComment(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.ExtensionMgr.php b/op/op.ExtensionMgr.php index 55dcd0177..819c2ece3 100644 --- a/op/op.ExtensionMgr.php +++ b/op/op.ExtensionMgr.php @@ -56,7 +56,7 @@ if ($action == "download") { $controller->setParam('extmgr', $extMgr); $controller->setParam('extname', $extname); if (!$controller($_POST)) { - echo json_encode(array('success'=>false, 'error'=>'Could not download extension')); + echo json_encode(array('success'=>false, 'msg'=>'Could not download extension')); } add_log_line(); } /* }}} */ @@ -125,7 +125,22 @@ elseif ($action == "getlist") { /* {{{ */ } add_log_line(); header("Location:../out/out.ExtensionMgr.php?currenttab=".$currenttab); +} elseif ($action == "toggle") { /* {{{ */ + if (!isset($_POST["extname"])) { + echo json_encode(array('success'=>false, 'msg'=>'Could not toggle extension')); + } + $extname = trim($_POST["extname"]); + if (!file_exists($settings->_rootDir.'/ext/'.$extname) ) { + UI::exitError(getMLText("admin_tools"),getMLText("missing_extension")); + } + $controller->setParam('extmgr', $extMgr); + $controller->setParam('extname', $extname); + if (!$controller($_POST)) { + echo json_encode(array('success'=>false, 'msg'=>'Could not toggle extension')); + } else { + echo json_encode(array('success'=>true, 'msg'=>'Operation succeded')); + } + add_log_line(); } /* }}} */ -?> diff --git a/op/op.FolderAccess.php b/op/op.FolderAccess.php index f5ad80519..6ee5d3e8c 100644 --- a/op/op.FolderAccess.php +++ b/op/op.FolderAccess.php @@ -137,7 +137,7 @@ if ($action == "setowner") { $params['username'] = $user->getFullName(); $params['old_owner'] = $oldOwner->getFullName(); $params['new_owner'] = $newOwner->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -168,7 +168,7 @@ else if ($action == "notinherit") { else $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -191,7 +191,7 @@ else if ($action == "notinherit") { else $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -230,7 +230,7 @@ else if ($action == "inherit") { else $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -257,7 +257,7 @@ else if ($action == "setdefault") { else $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.FolderNotify.php b/op/op.FolderNotify.php index 67c7a75bd..aa9f235b5 100644 --- a/op/op.FolderNotify.php +++ b/op/op.FolderNotify.php @@ -102,7 +102,7 @@ if ($action == "delnotify") { $params['name'] = $folder->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -145,7 +145,7 @@ else if ($action == "addnotify") { $params['name'] = $folder->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -180,7 +180,7 @@ else if ($action == "addnotify") { $params['name'] = $folder->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.ImportFS.php b/op/op.ImportFS.php index ba42c3e86..de5f402c9 100644 --- a/op/op.ImportFS.php +++ b/op/op.ImportFS.php @@ -48,6 +48,43 @@ if(strpos($dirname, realpath($settings->_dropFolderDir.'/'.$user->getLogin().'/' UI::exitError(getMLText("admin_tools"),getMLText("invalid_dropfolder_folder")); } +$metadata = array(); +if(!empty($_GET["dropfolderfileform2"])) { + $metadatafile = realpath($settings->_dropFolderDir.'/'.$user->getLogin()."/".$_GET["dropfolderfileform2"]); + $csvdelim = ';'; + $csvencl = '"'; + if($fp = fopen($metadatafile, 'r')) { + $colmap = array(); + if($header = fgetcsv($fp, 0, $csvdelim, $csvencl)) { + print_r($header); + foreach($header as $i=>$colname) { + if(in_array($colname, array('filename', 'category'))) { + $colmap[$colname] = $i; + } + } + } + if(count($colmap) > 1) { + $nameprefix = dirname($dirname).'/'; + $allcats = $dms->getDocumentCategories(); + $catids = array(); + foreach($allcats as $cat) + $catids[$cat->getName()] = $cat; + while(!feof($fp)) { + if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) { + $metadata[$nameprefix.$data[$colmap['filename']]] = array('category'=>array()); + if($data[$colmap['category']]) { + $kk = explode(',', $data[$colmap['category']]); + foreach($kk as $k) { + if(isset($catids[$k])) + $metadata[$nameprefix.$data[$colmap['filename']]]['category'][] = $catids[$k]; + } + } + } + } + } + } +} + $setfiledate = false; if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) { $setfiledate = true; @@ -58,7 +95,7 @@ if(isset($_GET['setfolderdate']) && $_GET["setfolderdate"]) { $setfolderdate = true; } -function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{ */ +function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadata) { /* {{{ */ global $user, $doccount, $foldercount; $d = dir($dirname); @@ -81,13 +118,13 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{ $finfo = finfo_open(FILEINFO_MIME_TYPE); $mimetype = finfo_file($finfo, $path); - $lastDotIndex = strrpos($path, "."); + $lastDotIndex = strrpos($name, "."); if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = "."; - else $filetype = substr($path, $lastDotIndex); + else $filetype = substr($name, $lastDotIndex); // echo $mimetype." - ".$filetype." - ".$path."\n"; if($res = $folder->addDocument($name, $comment, $expires, $user, $keywords, - $categories, $filetmp, $name, + $metadata[$path]['category'], $filetmp, $name, $filetype, $mimetype, $sequence, $reviewers, $approvers, $reqversion, $version_comment)) { $doccount++; @@ -108,7 +145,7 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{ if($setfolderdate) { $newfolder->setDate(filemtime($path)); } - if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate)) + if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate, $metadata)) return false; } else { return false; @@ -125,7 +162,7 @@ if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1 if($setfolderdate) { $newfolder->setDate(filemtime($dirname)); } - if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate)) + if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate, $metadata)) $session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); else { if(isset($_GET['remove']) && $_GET["remove"]) { diff --git a/op/op.ManageNotify.php b/op/op.ManageNotify.php index c58d7d665..738b67530 100644 --- a/op/op.ManageNotify.php +++ b/op/op.ManageNotify.php @@ -119,7 +119,7 @@ if ($_GET["type"]=="document"){ $params['name'] = $folder->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.MoveClipboard.php b/op/op.MoveClipboard.php index cb93bf4b9..d675e5c6a 100644 --- a/op/op.MoveClipboard.php +++ b/op/op.MoveClipboard.php @@ -70,7 +70,7 @@ foreach($clipboard['docs'] as $documentid) { $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); $params['new_folder_path'] = $targetFolder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -117,7 +117,7 @@ foreach($clipboard['folders'] as $folderid) { $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); $params['new_folder_path'] = $targetFolder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); diff --git a/op/op.MoveDocument.php b/op/op.MoveDocument.php index 21682eb3d..54a93683f 100644 --- a/op/op.MoveDocument.php +++ b/op/op.MoveDocument.php @@ -87,7 +87,7 @@ if ($targetid != $oldFolder->getID()) { $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); $params['new_folder_path'] = $targetFolder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); diff --git a/op/op.MoveFolder.php b/op/op.MoveFolder.php index 72afcf7bf..84090c704 100644 --- a/op/op.MoveFolder.php +++ b/op/op.MoveFolder.php @@ -85,7 +85,7 @@ if ($folder->setParent($targetFolder)) { $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); $params['new_folder_path'] = $targetFolder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -93,8 +93,8 @@ if ($folder->setParent($targetFolder)) { $notifier->toGroup($user, $grp, $subject, $message, $params); } // if user is not owner send notification to owner - if ($user->getID() != $folder->getOwner()->getID()) - $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params); + //if ($user->getID() != $folder->getOwner()->getID()) + // $notifier->toIndividual($user, $folder->getOwner(), $subject, $message, $params); } } else { diff --git a/op/op.OverrideContentStatus.php b/op/op.OverrideContentStatus.php index 46745bbb7..6f8dba701 100644 --- a/op/op.OverrideContentStatus.php +++ b/op/op.OverrideContentStatus.php @@ -59,7 +59,8 @@ if (!isset($_POST["overrideStatus"]) || !is_numeric($_POST["overrideStatus"]) || $overallStatus = $content->getStatus(); -// status change control +// status change control, setting a status to obsolete is alwasy allowed +if(intval($_POST["overrideStatus"]) != S_OBSOLETE) if ($overallStatus["status"] == S_REJECTED || $overallStatus["status"] == S_EXPIRED || $overallStatus["status"] == S_DRAFT_REV || $overallStatus["status"] == S_DRAFT_APP || $overallStatus["status"] == S_IN_WORKFLOW) { UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("cannot_change_final_states")); } @@ -85,7 +86,7 @@ if ($overrideStatus != $overallStatus["status"]) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); diff --git a/op/op.PasswordForgotten.php b/op/op.PasswordForgotten.php index 13da84f85..c51794fc1 100644 --- a/op/op.PasswordForgotten.php +++ b/op/op.PasswordForgotten.php @@ -62,8 +62,8 @@ if($user) { $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $params['hash'] = $hash; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ChangePassword.php?hash=".$hash; - $params['url_prefix'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot; + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ChangePassword.php?hash=".$hash; + $params['url_prefix'] = getBaseUrl().$settings->_httpRoot; $emailobj->toIndividual($settings->_smtpSendFrom, $user, $subject, $message, $params); } } diff --git a/op/op.Preview.php b/op/op.Preview.php index ee6a3adf1..5b1fed579 100644 --- a/op/op.Preview.php +++ b/op/op.Preview.php @@ -49,6 +49,8 @@ if (!is_object($document)) { } if ($document->getAccessMode($user) < M_READ) { + header('Content-Type: image/svg+xml'); + readfile('../views/'.$theme.'/images/empty.svg'); exit; } @@ -85,6 +87,7 @@ else $previewer->setConverters($settings->_converters['preview']); $previewer->setXsendfile($settings->_enableXsendfile); if(!$previewer->hasPreview($object)) { + add_log_line(""); if(!$previewer->createPreview($object)) { } } diff --git a/op/op.RemoveArchive.php b/op/op.RemoveArchive.php index c2d14e20f..ff71bb74b 100644 --- a/op/op.RemoveArchive.php +++ b/op/op.RemoveArchive.php @@ -35,11 +35,11 @@ if(!checkFormKey('removearchive')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } -if (!isset($_POST["arkname"]) || !file_exists($settings->_contentDir.$_POST["arkname"]) ) { +if (!isset($_POST["arkname"]) || !file_exists(addDirSep($settings->_backupDir).$_POST["arkname"]) ) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } -if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$_POST["arkname"])) { +if (!SeedDMS_Core_File::removeFile(addDirSep($settings->_backupDir).$_POST["arkname"])) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } diff --git a/op/op.RemoveDocument.php b/op/op.RemoveDocument.php index cb9463b64..bfd19b701 100644 --- a/op/op.RemoveDocument.php +++ b/op/op.RemoveDocument.php @@ -106,6 +106,7 @@ if ($notifier){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); diff --git a/op/op.RemoveDocumentFile.php b/op/op.RemoveDocumentFile.php index 9887c5dd2..70dd02765 100644 --- a/op/op.RemoveDocumentFile.php +++ b/op/op.RemoveDocumentFile.php @@ -75,7 +75,7 @@ if (!$document->removeDocumentFile($fileid)) { $params = array(); $params['document'] = $document->getName(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.RemoveDump.php b/op/op.RemoveDump.php index c5ae666a3..925891995 100644 --- a/op/op.RemoveDump.php +++ b/op/op.RemoveDump.php @@ -35,11 +35,11 @@ if(!checkFormKey('removedump')) { UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token")); } -if (!isset($_POST["dumpname"]) || !file_exists($settings->_contentDir.$_POST["dumpname"]) ) { +if (!isset($_POST["dumpname"]) || !file_exists(addDirSep($settings->_backupDir).$_POST["dumpname"]) ) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } -if (!SeedDMS_Core_File::removeFile($settings->_contentDir.$_POST["dumpname"])) { +if (!SeedDMS_Core_File::removeFile($settings->_backupDir.$_POST["dumpname"])) { UI::exitError(getMLText("admin_tools"),getMLText("error_occured")); } diff --git a/op/op.RemoveFolder.php b/op/op.RemoveFolder.php index 0f11fa0c1..86276b8f0 100644 --- a/op/op.RemoveFolder.php +++ b/op/op.RemoveFolder.php @@ -99,7 +99,7 @@ if ($notifier) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); diff --git a/op/op.RemoveVersion.php b/op/op.RemoveVersion.php index 95917380a..41ce8d429 100644 --- a/op/op.RemoveVersion.php +++ b/op/op.RemoveVersion.php @@ -91,7 +91,7 @@ if (count($document->getContent())==1) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); @@ -104,7 +104,7 @@ else { * be informed about the removal. */ $emailUserList = array(); - $emailUserList[] = $version->_userID; + $emailUserList[] = $version->getUser()->getID(); $emailGroupList = array(); $status = $version->getReviewStatus(); foreach ($status as $st) { @@ -150,12 +150,12 @@ else { $nl=$document->getNotifyList(); $userrecipients = array(); foreach ($emailUserList as $eID) { - $eU = $version->_document->_dms->getUser($eID); + $eU = $version->getDMS()->getUser($eID); $userrecipients[] = $eU; } $grouprecipients = array(); foreach ($emailGroupList as $eID) { - $eU = $version->_document->_dms->getGroup($eID); + $eU = $version->getDMS()->getGroup($eID); $grouprecipients[] = $eU; } @@ -168,7 +168,7 @@ else { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $userrecipients, $subject, $message, $params); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach($grouprecipients as $grp) { diff --git a/op/op.RemoveWorkflowFromDocument.php b/op/op.RemoveWorkflowFromDocument.php index c42153f67..64a64eda5 100644 --- a/op/op.RemoveWorkflowFromDocument.php +++ b/op/op.RemoveWorkflowFromDocument.php @@ -84,7 +84,7 @@ if($version->removeWorkflow($user)) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); // Send notification to subscribers. $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { diff --git a/op/op.ReturnFromSubWorkflow.php b/op/op.ReturnFromSubWorkflow.php index 4d5837ba2..0fb7d377d 100644 --- a/op/op.ReturnFromSubWorkflow.php +++ b/op/op.ReturnFromSubWorkflow.php @@ -98,7 +98,7 @@ if($version->returnFromSubWorkflow($user, $transition, $_POST["comment"])) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); // Send notification to subscribers. $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { diff --git a/op/op.ReviewDocument.php b/op/op.ReviewDocument.php index 5b874370b..d41f07a39 100644 --- a/op/op.ReviewDocument.php +++ b/op/op.ReviewDocument.php @@ -111,7 +111,7 @@ if ($_POST["reviewType"] == "ind") { $params['status'] = getReviewStatusText($_POST["reviewStatus"]); $params['comment'] = $comment; $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -265,7 +265,7 @@ if ($_POST["reviewStatus"]==-1){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach ($docApprovalStatus as $dastat) { if ($dastat["status"] == 0) { diff --git a/op/op.RewindWorkflow.php b/op/op.RewindWorkflow.php index 08b2a58c2..6b1648a89 100644 --- a/op/op.RewindWorkflow.php +++ b/op/op.RewindWorkflow.php @@ -83,7 +83,7 @@ if($version->rewindWorkflow()) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); // Send notification to subscribers. $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { diff --git a/op/op.RunSubWorkflow.php b/op/op.RunSubWorkflow.php index 9a968efcf..9775a5677 100644 --- a/op/op.RunSubWorkflow.php +++ b/op/op.RunSubWorkflow.php @@ -92,7 +92,7 @@ if($version->runSubWorkflow($subworkflow)) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); // Send notification to subscribers. $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { diff --git a/op/op.SetLanguage.php b/op/op.SetLanguage.php index f20520c52..06c07651b 100644 --- a/op/op.SetLanguage.php +++ b/op/op.SetLanguage.php @@ -30,5 +30,5 @@ include("../inc/inc.Authentication.php"); $session->setLanguage($_GET['lang']); -header("Location: ".$_GET['referer']); +header("Location: http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$_GET['referer']); ?> diff --git a/op/op.SetReviewersApprovers.php b/op/op.SetReviewersApprovers.php index d009b026d..353452b52 100644 --- a/op/op.SetReviewersApprovers.php +++ b/op/op.SetReviewersApprovers.php @@ -140,7 +140,7 @@ foreach ($pIndRev as $p) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -206,7 +206,7 @@ if (count($reviewIndex["i"]) > 0) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -252,7 +252,7 @@ foreach ($pGrpRev as $p) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -310,7 +310,7 @@ if (count($reviewIndex["g"]) > 0) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -372,7 +372,7 @@ foreach ($pIndApp as $p) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -430,7 +430,7 @@ if (count($approvalIndex["i"]) > 0) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -476,7 +476,7 @@ foreach ($pGrpApp as $p) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -534,7 +534,7 @@ if (count($approvalIndex["g"]) > 0) { $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; diff --git a/op/op.SetWorkflow.php b/op/op.SetWorkflow.php index f7219e577..006767a90 100644 --- a/op/op.SetWorkflow.php +++ b/op/op.SetWorkflow.php @@ -87,7 +87,7 @@ if ($notifier) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) { foreach($ntransition->getUsers() as $tuser) { diff --git a/op/op.Settings.php b/op/op.Settings.php index b02ee237c..be279b10f 100644 --- a/op/op.Settings.php +++ b/op/op.Settings.php @@ -64,6 +64,7 @@ if ($action == "saveSettings") else $settings->_availablelanguages = $_POST["availablelanguages"]; $settings->_theme = $_POST["theme"]; + $settings->_onePageMode = $_POST["onePageMode"]; $settings->_previewWidthList = $_POST["previewWidthList"]; $settings->_previewWidthMenuList = $_POST["previewWidthMenuList"]; $settings->_previewWidthDropFolderList = $_POST["previewWidthDropFolderList"]; @@ -75,6 +76,10 @@ if ($action == "saveSettings") // SETTINGS - SITE - EDITION $settings->_strictFormCheck = getBoolValue("strictFormCheck"); + if(empty($_POST["noDocumentFormFields"])) + $settings->_noDocumentFormFields = array(); + else + $settings->_noDocumentFormFields = $_POST["noDocumentFormFields"]; $settings->setViewOnlineFileTypesFromString($_POST["viewOnlineFileTypes"]); $settings->setEditOnlineFileTypesFromString($_POST["editOnlineFileTypes"]); $settings->_enableConverting = getBoolValue("enableConverting"); diff --git a/op/op.TransferDocument.php b/op/op.TransferDocument.php index 0bc50493e..9072c1f9f 100644 --- a/op/op.TransferDocument.php +++ b/op/op.TransferDocument.php @@ -80,7 +80,7 @@ if ($notifier){ $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $notifier->toList($user, $nl["users"], $subject, $message, $params); foreach ($nl["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); diff --git a/op/op.TriggerWorkflow.php b/op/op.TriggerWorkflow.php index 5c572f08d..330b525cc 100644 --- a/op/op.TriggerWorkflow.php +++ b/op/op.TriggerWorkflow.php @@ -94,7 +94,7 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); // Send notification to subscribers. $notifier->toList($user, $nl["users"], $subject, $message, $params); @@ -114,7 +114,7 @@ if($version->triggerWorkflowTransition($user, $transition, $_POST["comment"])) { $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $usersinformed = array(); $groupsinformed = array(); diff --git a/op/op.UpdateDocument.php b/op/op.UpdateDocument.php index 654c192c2..c8fa1759b 100644 --- a/op/op.UpdateDocument.php +++ b/op/op.UpdateDocument.php @@ -314,7 +314,7 @@ default: $params['username'] = $user->getFullName(); $params['comment'] = $document->getComment(); $params['version_comment'] = $content->getComment(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -337,7 +337,7 @@ default: $params['username'] = $user->getFullName(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); foreach($workflow->getNextTransitions($workflow->getInitState()) as $ntransition) { foreach($ntransition->getUsers() as $tuser) { @@ -360,7 +360,7 @@ default: $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -381,7 +381,7 @@ default: $params['version'] = $content->getVersion(); $params['comment'] = $content->getComment(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; @@ -402,7 +402,7 @@ default: $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.UpdateDocument2.php b/op/op.UpdateDocument2.php index 88aa4d3c5..342160127 100644 --- a/op/op.UpdateDocument2.php +++ b/op/op.UpdateDocument2.php @@ -184,7 +184,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $params['username'] = $user->getFullName(); $params['comment'] = $document->getComment(); $params['version_comment'] = $contentResult->getContent()->getComment(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); @@ -209,7 +209,7 @@ if( move_uploaded_file( $source_file_path, $target_file_path ) ) { $params['name'] = $document->getName(); $params['folder_path'] = $folder->getFolderPathPlain(); $params['username'] = $user->getFullName(); - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toList($user, $notifyList["users"], $subject, $message, $params); diff --git a/op/op.UsrMgr.php b/op/op.UsrMgr.php index e955f3a85..403c64cff 100644 --- a/op/op.UsrMgr.php +++ b/op/op.UsrMgr.php @@ -293,7 +293,7 @@ else if ($action == "sendlogindata" && $settings->_enableEmail) { $params['username'] = $newuser->getFullName(); $params['login'] = $newuser->getLogin(); $params['comment'] = $comment; - $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php"; + $params['url'] = getBaseUrl().$settings->_httpRoot."out/out.ViewFolder.php"; $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; $notifier->toIndividual($user, $newuser, $subject, $message, $params); diff --git a/out/out.AddDocument.php b/out/out.AddDocument.php index 82a68ec8e..0cc16f138 100644 --- a/out/out.AddDocument.php +++ b/out/out.AddDocument.php @@ -56,6 +56,7 @@ if($settings->_quota > 0) { if($view) { $view->setParam('folder', $folder); $view->setParam('strictformcheck', $settings->_strictFormCheck); + $view->setParam('nodocumentformfields', $settings->_noDocumentFormFields); $view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload); $view->setParam('enablemultiupload', $settings->_enableMultiUpload); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); diff --git a/out/out.ApprovalSummary.php b/out/out.ApprovalSummary.php index 370234205..6132b73e8 100644 --- a/out/out.ApprovalSummary.php +++ b/out/out.ApprovalSummary.php @@ -41,6 +41,7 @@ if($view) { $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('xsendfile', $settings->_enableXsendfile); + $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view($_GET); exit; } diff --git a/out/out.AttributeMgr.php b/out/out.AttributeMgr.php index a455e6199..445a69d60 100644 --- a/out/out.AttributeMgr.php +++ b/out/out.AttributeMgr.php @@ -27,6 +27,7 @@ require_once("inc/inc.Init.php"); require_once("inc/inc.Extension.php"); require_once("inc/inc.DBInit.php"); require_once("inc/inc.ClassUI.php"); +require_once("inc/inc.ClassAccessOperation.php"); require_once("inc/inc.Authentication.php"); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); @@ -35,6 +36,8 @@ if (!$user->isAdmin()) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } +$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings); + $attrdefs = $dms->getAllAttributeDefinitions(); if(isset($_GET['attrdefid']) && $_GET['attrdefid']) { @@ -44,6 +47,8 @@ if(isset($_GET['attrdefid']) && $_GET['attrdefid']) { } if($view) { + $view->setParam('accessobject', $accessop); + $view->setParam('onepage', false); // do most navigation by reloading areas of pages with ajax $view->setParam('attrdefs', $attrdefs); $view->setParam('selattrdef', $selattrdef); $view->setParam('showtree', showtree()); diff --git a/out/out.Calendar.php b/out/out.Calendar.php index 2622b4958..e8f1ad8e0 100644 --- a/out/out.Calendar.php +++ b/out/out.Calendar.php @@ -26,6 +26,7 @@ require_once("inc/inc.Init.php"); require_once("inc/inc.Extension.php"); require_once("inc/inc.DBInit.php"); require_once("inc/inc.ClassUI.php"); +require_once("inc/inc.ClassAccessOperation.php"); require_once("inc/inc.Authentication.php"); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); @@ -44,6 +45,8 @@ if(isset($_GET['documentid']) && $_GET['documentid'] && is_numeric($_GET['docume } else $document = null; +$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings); + $calendar = new SeedDMS_Calendar($dms->getDB(), $user); if(isset($_GET['eventid']) && $_GET['eventid'] && is_numeric($_GET['eventid'])) { @@ -62,6 +65,8 @@ if(isset($_GET['eventtype']) && $_GET['eventtype']) { $eventtype = 'regular'; if($view) { + $view->setParam('accessobject', $accessop); + $view->setParam('onepage', false); // do most navigation by reloading areas of pages with ajax $view->setParam('calendar', $calendar); $view->setParam('start', $start); $view->setParam('end', $end); diff --git a/out/out.DocumentChooser.php b/out/out.DocumentChooser.php index b6c7f4d2d..ba9174ed5 100644 --- a/out/out.DocumentChooser.php +++ b/out/out.DocumentChooser.php @@ -29,14 +29,33 @@ require_once("inc/inc.DBInit.php"); require_once("inc/inc.ClassUI.php"); require_once("inc/inc.Authentication.php"); -$folderid = intval($_GET["folderid"]); -$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); +if(isset($_GET['action']) && $_GET['action'] == 'subtree') { + if (!isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) { + $nodeid = $settings->_rootFolderID; + } else { + $nodeid = intval($_GET["node"]); + } -$folder = $dms->getFolder($folderid); + $node = $dms->getFolder($nodeid); + if (!is_object($node)) { + UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id")); + } +} else { + $folderid = intval($_GET["folderid"]); + $folder = $dms->getFolder($folderid); + $form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'form'=>$form)); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { + if(isset($_GET['action']) && $_GET['action'] == 'subtree') { + $view->setParam('node', $node); + $view->setParam('orderby', $settings->_sortFoldersDefault); + } else { + $view->setParam('folder', $folder); + $view->setParam('form', $form); + } $view($_GET); exit; } diff --git a/out/out.EditDocument.php b/out/out.EditDocument.php index a4cfd8e72..f7ffa2318 100644 --- a/out/out.EditDocument.php +++ b/out/out.EditDocument.php @@ -59,6 +59,7 @@ $accessop = new SeedDMS_AccessOperation($dms, $document, $user, $settings); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'folder'=>$folder, 'document'=>$document, 'attrdefs'=>$attrdefs, 'strictformcheck'=>$settings->_strictFormCheck, 'orderby'=>$settings->_sortFoldersDefault)); if($view) { + $view->setParam('nodocumentformfields', $settings->_noDocumentFormFields); $view->setParam('defaultposition', $settings->_defaultDocPosition); $view->setParam('accessobject', $accessop); $view($_GET); diff --git a/out/out.FolderChooser.php b/out/out.FolderChooser.php index 0b47e55c1..ffea48194 100644 --- a/out/out.FolderChooser.php +++ b/out/out.FolderChooser.php @@ -28,13 +28,34 @@ require_once("inc/inc.DBInit.php"); require_once("inc/inc.ClassUI.php"); require_once("inc/inc.Authentication.php"); -$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); -$mode = intval($_GET["mode"]); -$exclude = intval($_GET["exclude"]); +if(isset($_GET['action']) && $_GET['action'] == 'subtree') { + if (!isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) { + $nodeid = $settings->_rootFolderID; + } else { + $nodeid = intval($_GET["node"]); + } + + $node = $dms->getFolder($nodeid); + if (!is_object($node)) { + UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id")); + } +} else { + $form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]); + $mode = intval($_GET["mode"]); + $exclude = intval($_GET["exclude"]); +} $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolderid'=>$settings->_rootFolderID, 'form'=>$form, 'mode'=>$mode, 'exclude'=>$exclude)); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'rootfolderid'=>$settings->_rootFolderID)); if($view) { + $view->setParam('orderby', $settings->_sortFoldersDefault); + if(isset($_GET['action']) && $_GET['action'] == 'subtree') { + $view->setParam('node', $node); + } else { + $view->setParam('form', $form); + $view->setParam('mode', $mode); + $view->setParam('exclude', $exclude); + } $view($_GET); exit; } diff --git a/out/out.MyDocuments.php b/out/out.MyDocuments.php index d4f73fd67..26c564ae1 100644 --- a/out/out.MyDocuments.php +++ b/out/out.MyDocuments.php @@ -56,6 +56,7 @@ if($view) { $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('xsendfile', $settings->_enableXsendfile); + $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view($_GET); exit; } diff --git a/out/out.ObjectCheck.php b/out/out.ObjectCheck.php index 37cad7348..5406f06fc 100644 --- a/out/out.ObjectCheck.php +++ b/out/out.ObjectCheck.php @@ -88,7 +88,12 @@ if($view) { $view->setParam('setfilesize', $setfilesize); $view->setParam('setchecksum', $setchecksum); $view->setParam('repair', $repair); + $view->setParam('showtree', showtree()); $view->setParam('rootfolder', $rootfolder); + $view->setParam('previewWidthList', $settings->_previewWidthList); + $view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array()); + $view->setParam('timeout', $settings->_cmdTimeout); + $view->setParam('xsendfile', $settings->_enableXsendfile); $view($_GET); exit; } diff --git a/out/out.RemoveArchive.php b/out/out.RemoveArchive.php index fb5509962..44f7a6b11 100644 --- a/out/out.RemoveArchive.php +++ b/out/out.RemoveArchive.php @@ -16,7 +16,7 @@ // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -/ + if(!isset($settings)) require_once("../inc/inc.Settings.php"); require_once("inc/inc.LogInit.php"); @@ -33,7 +33,7 @@ if (!$user->isAdmin()) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } -if (!isset($_GET["arkname"]) || !file_exists($settings->_contentDir.$_GET["arkname"]) ) { +if (!isset($_GET["arkname"]) || !file_exists(addDirSep($settings->_backupDir).$_GET["arkname"]) ) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } diff --git a/out/out.RemoveDump.php b/out/out.RemoveDump.php index b42719c7c..cb26d6749 100644 --- a/out/out.RemoveDump.php +++ b/out/out.RemoveDump.php @@ -33,7 +33,7 @@ if (!$user->isAdmin()) { UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); } -if (!isset($_GET["dumpname"]) || !file_exists($settings->_contentDir.$_GET["dumpname"]) ) { +if (!isset($_GET["dumpname"]) || !file_exists(addDirSep($settings->_backupDir).$_GET["dumpname"]) ) { UI::exitError(getMLText("admin_tools"),getMLText("unknown_id")); } diff --git a/out/out.ReviewSummary.php b/out/out.ReviewSummary.php index 370234205..6132b73e8 100644 --- a/out/out.ReviewSummary.php +++ b/out/out.ReviewSummary.php @@ -41,6 +41,7 @@ if($view) { $view->setParam('previewWidthList', $settings->_previewWidthList); $view->setParam('timeout', $settings->_cmdTimeout); $view->setParam('xsendfile', $settings->_enableXsendfile); + $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view($_GET); exit; } diff --git a/out/out.Search.php b/out/out.Search.php index 8221df5ef..1a47098bf 100644 --- a/out/out.Search.php +++ b/out/out.Search.php @@ -58,6 +58,8 @@ if (isset($_GET["navBar"])) { */ } +$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings); + if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSearch) { // Search in Fulltext {{{ if (isset($_GET["query"]) && is_string($_GET["query"])) { @@ -424,10 +426,10 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe if($settings->_showSingleSearchHit && count($entries) == 1) { $entry = $entries[0]; - if(get_class($entry) == $dms->getClassname('document')) { + if($entry->isType('document')) { header('Location: ../out/out.ViewDocument.php?documentid='.$entry->getID()); exit; - } elseif(get_class($entry) == $dms->getClassname('folder')) { + } elseif($entry->isType('folder')) { header('Location: ../out/out.ViewFolder.php?folderid='.$entry->getID()); exit; } @@ -435,6 +437,8 @@ if($settings->_showSingleSearchHit && count($entries) == 1) { $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); $view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user, 'query'=>$query, 'searchhits'=>$entries, 'totalpages'=>$totalPages, 'pagenumber'=>$pageNumber, 'searchtime'=>$searchTime, 'urlparams'=>$_GET, 'cachedir'=>$settings->_cacheDir)); if($view) { + $view->setParam('accessobject', $accessop); + $view->setParam('onepage', false); // do most navigation by reloading areas of pages with ajax $view->setParam('showtree', showtree()); $view->setParam('enableRecursiveCount', $settings->_enableRecursiveCount); $view->setParam('maxRecursiveCount', $settings->_maxRecursiveCount); diff --git a/out/out.Settings.php b/out/out.Settings.php index 0c3718d3a..27833735d 100644 --- a/out/out.Settings.php +++ b/out/out.Settings.php @@ -42,6 +42,7 @@ $groups = $dms->getAllGroups(); if($view) { $view->setParam('settings', $settings); + $view->setParam('extmgr', $extMgr); $view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : '')); $view->setParam('allusers', $users); $view->setParam('allgroups', $groups); diff --git a/out/out.Timeline.php b/out/out.Timeline.php index e124ab13b..0bbbca5eb 100644 --- a/out/out.Timeline.php +++ b/out/out.Timeline.php @@ -26,6 +26,7 @@ require_once("inc/inc.Init.php"); require_once("inc/inc.Extension.php"); require_once("inc/inc.DBInit.php"); require_once("inc/inc.ClassUI.php"); +require_once("inc/inc.ClassAccessOperation.php"); require_once("inc/inc.Authentication.php"); $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); @@ -40,6 +41,8 @@ if(isset($_GET['skip'])) else $skip = array(); +$accessop = new SeedDMS_AccessOperation($dms, null, $user, $settings); + $document = null; $content = null; if(isset($_GET['documentid']) && $_GET['documentid'] && is_numeric($_GET['documentid'])) { @@ -53,6 +56,8 @@ if(isset($_GET['documentid']) && $_GET['documentid'] && is_numeric($_GET['docume if($view) { $view->setParam('dms', $dms); $view->setParam('user', $user); + $view->setParam('accessobject', $accessop); + $view->setParam('onepage', false); // do most navigation by reloading areas of pages with ajax $view->setParam('showtree', showtree()); $view->setParam('fromdate', isset($_GET['fromdate']) ? $_GET['fromdate'] : ''); $view->setParam('todate', isset($_GET['todate']) ? $_GET['todate'] : ''); diff --git a/out/out.UpdateDocument.php b/out/out.UpdateDocument.php index 796c8852f..083103d65 100644 --- a/out/out.UpdateDocument.php +++ b/out/out.UpdateDocument.php @@ -69,6 +69,7 @@ if($view) { $view->setParam('folder', $folder); $view->setParam('document', $document); $view->setParam('strictformcheck', $settings->_strictFormCheck); + $view->setParam('nodocumentformfields', $settings->_noDocumentFormFields); $view->setParam('enablelargefileupload', $settings->_enableLargeFileUpload); $view->setParam('enableadminrevapp', $settings->_enableAdminRevApp); $view->setParam('enableownerrevapp', $settings->_enableOwnerRevApp); diff --git a/out/out.ViewDocument.php b/out/out.ViewDocument.php index fd0a7d234..af38db22a 100644 --- a/out/out.ViewDocument.php +++ b/out/out.ViewDocument.php @@ -77,6 +77,7 @@ if($view) { $view->setParam('previewConverters', isset($settings->_converters['preview']) ? $settings->_converters['preview'] : array()); $view->setParam('pdfConverters', isset($settings->_converters['pdf']) ? $settings->_converters['pdf'] : array()); $view->setParam('showFullPreview', $settings->_showFullPreview); + $view->setParam('showtree', showtree()); $view->setParam('convertToPdf', $settings->_convertToPdf); $view->setParam('currenttab', isset($_GET['currenttab']) ? $_GET['currenttab'] : ""); $view->setParam('timeout', $settings->_cmdTimeout); diff --git a/out/out.ViewFolder.php b/out/out.ViewFolder.php index 90d07ce45..3ddf922ef 100644 --- a/out/out.ViewFolder.php +++ b/out/out.ViewFolder.php @@ -45,6 +45,19 @@ if (!is_object($folder)) { UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id")); } +if(isset($_GET['action']) && $_GET['action'] == 'subtree') { + if (!isset($_GET["node"]) || !is_numeric($_GET["node"]) || intval($_GET["node"])<1) { + $nodeid = $settings->_rootFolderID; + } else { + $nodeid = intval($_GET["node"]); + } + + $node = $dms->getFolder($nodeid); + if (!is_object($node)) { + UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))), getMLText("invalid_folder_id")); + } +} + if (isset($_GET["orderby"]) && strlen($_GET["orderby"])>0 ) { $orderby=$_GET["orderby"]; } else $orderby=$settings->_sortFoldersDefault; @@ -62,6 +75,8 @@ if ($folder->getAccessMode($user) < M_READ) { } if($view) { + if(isset($_GET['action']) && $_GET['action'] == 'subtree') + $view->setParam('node', $node); $view->setParam('folder', $folder); $view->setParam('orderby', $orderby); $view->setParam('enableFolderTree', $settings->_enableFolderTree); @@ -81,6 +96,7 @@ if($view) { $view->setParam('incItemsPerPage', $settings->_incItemsPerPage != 0 ? $settings->_incItemsPerPage : $settings->_maxItemsPerPage); $view->setParam('offset', $offset); $view->setParam('limit', $limit); + $view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax $view($_GET); exit; } diff --git a/styles/bootstrap/application.js b/styles/bootstrap/application.js index 58a74605a..da9d4e291 100644 --- a/styles/bootstrap/application.js +++ b/styles/bootstrap/application.js @@ -20,6 +20,17 @@ chzn_template_func = function (state) { var $newstate = $(html); return $newstate; }; +function escapeHtml(text) { + var map = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + + return text.replace(/[&<>"']/g, function(m) { return map[m]; }); +} $(document).ready( function() { /* close popovers when clicking somewhere except in the popover or the * remove icon @@ -157,6 +168,7 @@ $(document).ready( function() { $('body').on('click', 'a.addtoclipboard', function(ev) { /* {{{ */ ev.preventDefault(); + ev.stopPropagation(); attr_rel = $(ev.currentTarget).attr('rel'); attr_msg = $(ev.currentTarget).attr('msg'); type = attr_rel.substring(0, 1) == 'F' ? 'folder' : 'document'; @@ -165,9 +177,7 @@ $(document).ready( function() { { command: 'addtoclipboard', type: type, id: id }, function(data) { if(data.success) { -// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') - //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: attr_msg, @@ -202,9 +212,7 @@ $(document).ready( function() { { command: 'removefromclipboard', type: type, id: id }, function(data) { if(data.success) { -// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') - //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: attr_msg, @@ -405,7 +413,8 @@ $(document).ready( function() { } else { url += "&"+param1; } - element.prepend('
'); + if(!element.data('no-spinner')) + element.prepend('
'); $.get(url, function(data) { element.html(data); $(".chzn-select").select2({ @@ -441,9 +450,7 @@ $(document).ready( function() { success: function(data){ if(data.success) { if(element.data('param1') == 'command=clearclipboard') { -// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') - //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') } noty({ @@ -479,16 +486,12 @@ function onAddClipboard(ev) { /* {{{ */ source_type = source_info.type; source_id = source_info.id; formtoken = source_info.formtoken; -// source_type = ev.originalEvent.dataTransfer.getData("type"); -// source_id = ev.originalEvent.dataTransfer.getData("id"); if(source_type == 'document' || source_type == 'folder') { $.get('../op/op.Ajax.php', { command: 'addtoclipboard', type: source_type, id: source_id }, function(data) { if(data.success) { -// $("#main-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=mainclipboard') $("#main-clipboard").html('Loading').load('../out/out.Clipboard.php?action=mainclipboard') - //$("#menu-clipboard").html('Loading').load('../op/op.Ajax.php?command=view&view=menuclipboard') $("#menu-clipboard").html('Loading').load('../out/out.Clipboard.php?action=menuclipboard') noty({ text: data.message, @@ -544,7 +547,7 @@ function onAddClipboard(ev) { /* {{{ */ maxFileSizeMsg = msg; } - function sendFileToServer(formData,status) { + function sendFileToServer(formData,status,callback) { var uploadURL = ajaxurl; //Upload URL var extraData ={}; //Extra Data. var jqXHR=$.ajax({ @@ -571,7 +574,7 @@ function onAddClipboard(ev) { /* {{{ */ processData: false, cache: false, data: formData, - success: function(data){ + success: function(data, textStatus) { status.setProgress(100); if(data.success) { noty({ @@ -583,6 +586,9 @@ function onAddClipboard(ev) { /* {{{ */ timeout: 1500, }); status.statusbar.after($('' + editBtnLabel + '')); + if(callback) { + callback(); + } } else { noty({ text: data.message, @@ -664,7 +670,10 @@ function onAddClipboard(ev) { /* {{{ */ statusbar.parent().show(); var status = new createStatusbar(statusbar); status.setFileNameSize(files[i].name,files[i].size); - sendFileToServer(fd,status); + sendFileToServer(fd,status,function(){ + if(target_id == seeddms_folder) + $("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder}); + }); } else { noty({ text: maxFileSizeMsg + '
' + files[i].name + ' (' + files[i].size + ' Bytes)', @@ -707,26 +716,25 @@ function onAddClipboard(ev) { /* {{{ */ }( window.SeedDMSUpload = window.SeedDMSUpload || {}, jQuery )); /* }}} */ $(document).ready(function() { /* {{{ */ - var obj = $("#dragandrophandler"); - obj.on('dragenter', function (e) { + $(document).on('dragenter', "#dragandrophandler", function (e) { e.stopPropagation(); e.preventDefault(); $(this).css('border', '2px dashed #0B85A1'); }); - obj.on('dragleave', function (e) { + $(document).on('dragleave', "#dragandrophandler", function (e) { $(this).css('border', '0px solid white'); }); - obj.on('dragover', function (e) { + $(document).on('dragover', "#dragandrophandler", function (e) { e.stopPropagation(); e.preventDefault(); }); - obj.on('drop', function (e) { + $(document).on('drop', "#dragandrophandler", function (e) { $(this).css('border', '0px dotted #0B85A1'); e.preventDefault(); var files = e.originalEvent.dataTransfer.files; //We need to send dropped files to Server - SeedDMSUpload.handleFileUpload(files,obj, obj); + SeedDMSUpload.handleFileUpload(files, $(this), $(this)); }); $(document).on('dragenter', '.droptarget', function (e) { @@ -750,6 +758,7 @@ $(document).ready(function() { /* {{{ */ attr_rel = $(e.currentTarget).data('droptarget'); target_type = attr_rel.split("_")[0]; target_id = attr_rel.split("_")[1]; + target_name = $(e.currentTarget).data('name') if(target_type == 'folder') { var files = e.originalEvent.dataTransfer.files; if(files.length > 0) { @@ -762,7 +771,10 @@ $(document).ready(function() { /* {{{ */ formtoken = source_info.formtoken; console.log('Drop '+source_type+' '+source_id+' on '+target_type+' '+target_id); if(source_type == 'document') { - bootbox.dialog(trans.confirm_move_document, [{ + var bootbox_message = trans.confirm_move_document; + if(source_info.name) + bootbox_message += "

"+escapeHtml(source_info.name)+' '+escapeHtml(target_name)+"

"; + bootbox.dialog(bootbox_message, [{ "label" : " "+trans.move_document, "class" : "btn-danger", "callback": function() { @@ -803,7 +815,10 @@ $(document).ready(function() { /* {{{ */ url = "../out/out.MoveDocument.php?documentid="+source_id+"&targetid="+target_id; // document.location = url; } else if(source_type == 'folder' && source_id != target_id) { - bootbox.dialog(trans.confirm_move_folder, [{ + var bootbox_message = trans.confirm_move_folder; + if(source_info.name) + bootbox_message += "

"+escapeHtml(source_info.name)+' '+escapeHtml(target_name)+"

"; + bootbox.dialog(bootbox_message, [{ "label" : " "+trans.move_folder, "class" : "btn-danger", "callback": function() { @@ -940,8 +955,22 @@ $(document).ready(function() { /* {{{ */ var dragStartInfo = { id : attr_rel.split("_")[1], type : "folder", - formtoken : $(e.target).attr('formtoken') + formtoken : $(e.target).attr('formtoken'), + name: $(e.target).data('name') }; + /* Currently not used + $.ajax({url: '../out/out.ViewFolder.php', + type: 'GET', + dataType: "json", + data: {action: 'data', folderid: attr_rel.split("_")[1]}, + success: function(data) { + if(data) { + dragStartInfo.source = data; + } + }, + timeout: 3000 + }); + */ e.originalEvent.dataTransfer.setData("text", JSON.stringify(dragStartInfo)); }); @@ -952,7 +981,8 @@ $(document).ready(function() { /* {{{ */ var dragStartInfo = { id : attr_rel.split("_")[1], type : "document", - formtoken : $(e.target).attr('formtoken') + formtoken : $(e.target).attr('formtoken'), + name: $(e.target).data('name') }; e.originalEvent.dataTransfer.setData("text", JSON.stringify(dragStartInfo)); }); @@ -1007,9 +1037,6 @@ $(document).ready(function() { /* {{{ */ source_type = source_info.type; source_id = source_info.id; formtoken = source_info.formtoken; -// source_type = e.originalEvent.dataTransfer.getData("type"); -// source_id = e.originalEvent.dataTransfer.getData("id"); -// formtoken = e.originalEvent.dataTransfer.getData("formtoken"); if(source_type == 'document') { bootbox.dialog(trans.confirm_move_document, [{ "label" : " "+trans.move_document, @@ -1135,7 +1162,8 @@ $(document).ready(function() { /* {{{ */ if((typeof data.data.approval != 'undefined' && approval_count != data.data.approval.length) || (typeof data.data.review != 'undefined' && review_count != data.data.review.length) || (typeof data.data.workflow != 'undefined' && workflow_count != data.data.workflow.length)) { - $("#menu-tasks > ul > li").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') +// $("#menu-tasks").html('Loading').hide().load('../out/out.Tasks.php?action=menutasks').fadeIn('500') + $('#menu-tasks > div.ajax').trigger('update', {folderid: seeddms_folder}); approval_count = typeof data.data.approval != 'undefined' ? data.data.approval.length : 0; review_count = typeof data.data.review != 'undefined' ? data.data.review.length : 0; workflow_count = typeof data.data.workflow != 'undefined' ? data.data.workflow.length : 0; @@ -1147,3 +1175,8 @@ $(document).ready(function() { /* {{{ */ timeOutId = setTimeout(checkTasks, 30000); } + var updateDropFolder = function() { + $('#menu-dropfolder > div.ajax').trigger('update', {folderid: seeddms_folder}); + timeOutId = setTimeout(updateDropFolder, 60000); + } + diff --git a/utils/.htaccess b/utils/.htaccess index cb24fd7fc..3121d6347 100644 --- a/utils/.htaccess +++ b/utils/.htaccess @@ -1,2 +1,15 @@ -Order allow,deny -Deny from all +# line below if for Apache 2.4 + +Require all denied + + +# line below if for Apache 2.2 + +deny from all +Satisfy All + + +# section for Apache 2.2 and 2.4 + +IndexIgnore * + diff --git a/utils/indexer.php b/utils/indexer.php index 9d9f75686..6a4cd14e5 100644 --- a/utils/indexer.php +++ b/utils/indexer.php @@ -1,5 +1,10 @@ _extraPath)) ini_set('include_path', $settings->_extraPath. PATH_SEPARATOR .ini_get('include_path')); -ini_set('include_path', $settings->_rootDir. PATH_SEPARATOR .ini_get('include_path')); +//ini_set('include_path', $settings->_rootDir. PATH_SEPARATOR .ini_get('include_path')); + +require_once("inc/inc.Init.php"); +require_once("inc/inc.Extension.php"); +require_once("inc/inc.DBInit.php"); -include("../inc/inc.Extension.php"); -require_once("SeedDMS/Core.php"); if($settings->_fullSearchEngine == 'sqlitefts') { $indexconf = array( 'Indexer' => 'SeedDMS_SQLiteFTS_Indexer', diff --git a/utils/xmlimport.php b/utils/xmlimport.php index 08299948a..f429dfd80 100644 --- a/utils/xmlimport.php +++ b/utils/xmlimport.php @@ -796,7 +796,7 @@ function insert_folder($folder) { /* {{{ */ if(in_array('folders', $sections)) { if(!array_key_exists($folder['attributes']['owner'], $objmap['users'])) { $logger->warning("Owner of folder cannot be mapped using default user"); - $owner = $defaultuser; + $owner = $defaultUser; } else { $owner = $dms->getUser($objmap['users'][(int) $folder['attributes']['owner']]); } diff --git a/views/bootstrap/class.AddDocument.php b/views/bootstrap/class.AddDocument.php index e740e9651..57162b071 100644 --- a/views/bootstrap/class.AddDocument.php +++ b/views/bootstrap/class.AddDocument.php @@ -154,6 +154,7 @@ $(document).ready(function() { $enableownerrevapp = $this->params['enableownerrevapp']; $enableselfrevapp = $this->params['enableselfrevapp']; $strictformcheck = $this->params['strictformcheck']; + $nodocumentformfields = $this->params['nodocumentformfields']; $dropfolderdir = $this->params['dropfolderdir']; $dropfolderfile = $this->params['dropfolderfile']; $workflowmode = $this->params['workflowmode']; @@ -199,9 +200,10 @@ $(document).ready(function() { 'type'=>'text', 'id'=>'name', 'name'=>'name', - 'required'=>true + 'required'=>false ) ); + if(!$nodocumentformfields || !in_array('comment', $nodocumentformfields)) $this->formField( getMLText("comment"), array( @@ -212,10 +214,12 @@ $(document).ready(function() { 'required'=>$strictformcheck ) ); + if(!$nodocumentformfields || !in_array('keywords', $nodocumentformfields)) $this->formField( getMLText("keywords"), $this->getKeywordChooserHtml('form1') ); + if(!$nodocumentformfields || !in_array('categories', $nodocumentformfields)) { $options = array(); $categories = $dms->getDocumentCategories(); foreach($categories as $category) { @@ -232,7 +236,27 @@ $(document).ready(function() { 'options'=>$options ) ); - $this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getDocuments('s')).($orderby != 's' ? "
".getMLText('order_by_sequence_off') : '')); + } + if(!$nodocumentformfields || !in_array('sequence', $nodocumentformfields)) { + $this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getDocuments('s')).($orderby != 's' ? "
".getMLText('order_by_sequence_off') : '')); + } else { + $minmax = $folder->getDocumentsMinMax(); + if($this->params['defaultposition'] == 'start') { + $seq = $minmax['min'] - 1; + } else { + $seq = $minmax['max'] + 1; + } + $this->formField( + null, + array( + 'element'=>'input', + 'type'=>'hidden', + 'name'=>'sequence', + 'value'=>$seq, + ) + ); + } + if(!$nodocumentformfields || !in_array('expires', $nodocumentformfields)) { if($presetexpiration) { if(!($expts = strtotime($presetexpiration))) $expts = false; @@ -259,6 +283,7 @@ $(document).ready(function() { getMLText("expires"), $this->getDateChooser(($expts ? date('Y-m-d', $expts) : ''), "expdate", $this->params['session']->getLanguage()) ); + } if($user->isAdmin()) { $options = array(); $allUsers = $dms->getAllUsers($sortusersinlist); @@ -285,6 +310,8 @@ $(document).ready(function() { if($arr) { $this->formField($arr[0], $arr[1]); } + } elseif(is_string($arr)) { + echo $arr; } else { $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, '')); } @@ -298,6 +325,7 @@ $(document).ready(function() { } $this->contentSubHeading(getMLText("version_info")); + if(!$nodocumentformfields || !in_array('version', $nodocumentformfields)) { $this->formField( getMLText("version"), array( @@ -308,9 +336,10 @@ $(document).ready(function() { 'value'=>1 ) ); + } $this->formField( getMLText("local_file"), - $enablelargefileupload ? $this->getFineUploaderHtml() : $this->getFileChooserHtml('userfile[]', false).($enablemultiupload ? '' : '') + $enablelargefileupload ? $this->getFineUploaderHtml() : $this->getFileChooserHtml('userfile[]', $enablemultiupload).($enablemultiupload ? '' : '') ); if($dropfolderdir) { $this->formField( @@ -318,6 +347,7 @@ $(document).ready(function() { $this->getDropFolderChooserHtml("form1", $dropfolderfile) ); } + if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) { $this->formField( getMLText("comment_for_current_version"), array( @@ -336,12 +366,15 @@ $(document).ready(function() { 'value'=>1 ) ); + } $attrdefs = $dms->getAllAttributeDefinitions(array(SeedDMS_Core_AttributeDefinition::objtype_documentcontent, SeedDMS_Core_AttributeDefinition::objtype_all)); if($attrdefs) { foreach($attrdefs as $attrdef) { $arr = $this->callHook('addDocumentContentAttribute', null, $attrdef); if(is_array($arr)) { $this->formField($arr[0], $arr[1]); + } elseif(is_string($arr)) { + echo $arr; } else { $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, '', 'attributes_version')); } @@ -400,7 +433,7 @@ $(document).ready(function() { ); } $this->warningMsg(getMLText("add_doc_workflow_warning")); - } else { + } elseif($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') { if($workflowmode == 'traditional') { $this->contentSubHeading(getMLText("assign_reviewers")); @@ -604,6 +637,7 @@ $(document).ready(function() { } $this->warningMsg(getMLText("add_doc_reviewer_approver_warning")); } + if(!$nodocumentformfields || !in_array('notification', $nodocumentformfields)) { $this->contentSubHeading(getMLText("add_document_notify")); $options = array(); @@ -640,6 +674,7 @@ $(document).ready(function() { 'options'=>$options ) ); + } $this->formSubmit(" ".getMLText('add_document')); ?> diff --git a/views/bootstrap/class.ApprovalSummary.php b/views/bootstrap/class.ApprovalSummary.php index bff1f59dc..8050aa283 100644 --- a/views/bootstrap/class.ApprovalSummary.php +++ b/views/bootstrap/class.ApprovalSummary.php @@ -41,6 +41,7 @@ class SeedDMS_View_ApprovalSummary extends SeedDMS_Bootstrap_Style { parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder')); $this->printDeleteDocumentButtonJs(); + $this->printClickDocumentJs(); } /* }}} */ function show() { /* {{{ */ @@ -137,7 +138,7 @@ class SeedDMS_View_ApprovalSummary extends SeedDMS_Bootstrap_Style { $class = $st['status'] == 1 ? ' success' : ($st['status'] == -1 ? ' error' : ( $st['status'] == -2 ? ' info' : '')); echo $this->documentListRowStart($document, $class); echo $this->documentListRow($document, $previewer, true, $st['version']); - print "".getApprovalStatusText($st["status"])."
".$st["date"]."
". htmlspecialchars($moduser->getFullName()) ."
"; + print "".getApprovalStatusText($st["status"])."
".$st["date"]."
". htmlspecialchars($modgroup->getName()) ."
"; echo $this->documentListRowEnd($document); } } diff --git a/views/bootstrap/class.AttributeMgr.php b/views/bootstrap/class.AttributeMgr.php index f6b37d321..25b8f95ce 100644 --- a/views/bootstrap/class.AttributeMgr.php +++ b/views/bootstrap/class.AttributeMgr.php @@ -213,7 +213,22 @@ $(document).ready( function() {
- +
contentHeading(getMLText("archive_creation")); - print "

".getMLText("archive_creation_warning")."

\n"; - $this->contentContainerStart(); - print "
"; - $this->printFolderChooserHtml("form2",M_READWRITE); - print ""; - print ""; - print "
\n"; + if($this->params['hasbackupdir']) { + $this->contentHeading(getMLText("archive_creation")); + print "

".getMLText("archive_creation_warning")."

\n"; + $this->contentContainerStart(); + print "
"; + $this->printFolderChooserHtml("form2",M_READWRITE); + print ""; + print ""; + print "
\n"; - // list backup files + // list backup files - $handle = opendir($backupdir); - $entries = array(); - while ($e = readdir($handle)){ - if (is_dir($backupdir.$e)) continue; - if (strpos($e,".tar.gz")==FALSE) continue; - $entries[] = $e; - } - closedir($handle); - - sort($entries); - $entries = array_reverse($entries); - - if($entries) { - $this->contentSubHeading(getMLText("backup_list")); - print "\n"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - foreach ($entries as $entry){ - - $folderid=substr($entry,strpos($entry,"_")+1); - $folder=$dms->getFolder((int)$folderid); - - print "\n"; - print "\n"; - if (is_object($folder)) print "\n"; - else print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; + $handle = opendir($backupdir); + $entries = array(); + while ($e = readdir($handle)){ + if (is_dir($backupdir.$e)) continue; + if (strpos($e,".tar.gz")==FALSE) continue; + $entries[] = $e; } - print "
".getMLText("folder")."".getMLText("creation_date")."".getMLText("file_size")."
".$entry."".htmlspecialchars($folder->getName())."".getMLText("unknown_id")."".getLongReadableDate(filectime($backupdir.$entry))."".SeedDMS_Core_File::format_filesize(filesize($backupdir.$entry)).""; - print " ".getMLText("backup_remove").""; - print "
\n"; - } + closedir($handle); - $this->contentContainerEnd(); + sort($entries); + $entries = array_reverse($entries); - // dump creation /////////////////////////////////////////////////////////////// + if($entries) { + $this->contentSubHeading(getMLText("backup_list")); + print "\n"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; - $this->contentHeading(getMLText("dump_creation")); - print "

".getMLText("dump_creation_warning")."

\n"; - $this->contentContainerStart(); + foreach ($entries as $entry){ - print ""; - print ""; - print "\n"; - - // list backup files - $handle = opendir($backupdir); - $entries = array(); - while ($e = readdir($handle)){ - if (is_dir($backupdir.$e)) continue; - if (strpos($e,".sql.gz")==FALSE) continue; - $entries[] = $e; - } - closedir($handle); - - sort($entries); - $entries = array_reverse($entries); - - if($entries) { - $this->contentSubHeading(getMLText("dump_list")); - print "
".getMLText("folder")."".getMLText("creation_date")."".getMLText("file_size")."
\n"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n\n\n"; - - foreach ($entries as $entry){ - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; + $folderid=substr($entry,strpos($entry,"_")+1); + $folder=$dms->getFolder((int)$folderid); + + print "\n"; + print "\n"; + if (is_object($folder)) print "\n"; + else print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + } + print "
".getMLText("creation_date")."".getMLText("file_size")."
"; - print "".$entry.""; - print "".getLongReadableDate(filectime($backupdir.$entry))."".SeedDMS_Core_File::format_filesize(filesize($backupdir.$entry)).""; - print " ".getMLText("dump_remove").""; - print "
".$entry."".htmlspecialchars($folder->getName())."".getMLText("unknown_id")."".getLongReadableDate(filectime($backupdir.$entry))."".SeedDMS_Core_File::format_filesize(filesize($backupdir.$entry)).""; + print " ".getMLText("backup_remove").""; + print "
\n"; } - print "\n"; - } - $this->contentContainerEnd(); + $this->contentContainerEnd(); + + // dump creation /////////////////////////////////////////////////////////////// + + $this->contentHeading(getMLText("dump_creation")); + print "

".getMLText("dump_creation_warning")."

\n"; + $this->contentContainerStart(); + + print "
"; + print ""; + print "
\n"; + + // list backup files + $handle = opendir($backupdir); + $entries = array(); + while ($e = readdir($handle)){ + if (is_dir($backupdir.$e)) continue; + if (strpos($e,".sql.gz")==FALSE) continue; + $entries[] = $e; + } + closedir($handle); + + sort($entries); + $entries = array_reverse($entries); + + if($entries) { + $this->contentSubHeading(getMLText("dump_list")); + print "\n"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n\n\n"; + + foreach ($entries as $entry){ + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + } + print "
".getMLText("creation_date")."".getMLText("file_size")."
"; + print "".$entry.""; + print "".getLongReadableDate(filectime($backupdir.$entry))."".SeedDMS_Core_File::format_filesize(filesize($backupdir.$entry)).""; + print " ".getMLText("dump_remove").""; + print "
\n"; + } + + $this->contentContainerEnd(); + } else { + $this->warningMsg(getMLText('no_backup_dir')); + } // files deletion ////////////////////////////////////////////////////////////// /* diff --git a/views/bootstrap/class.Bootstrap.php b/views/bootstrap/class.Bootstrap.php index 1eb5703c7..cf8b5e986 100644 --- a/views/bootstrap/class.Bootstrap.php +++ b/views/bootstrap/class.Bootstrap.php @@ -167,6 +167,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if($this->params['enablemenutasks'] && isset($this->params['user']) && $this->params['user']) { $this->addFooterJS('checkTasks();'); } + if($this->params['enabledropfolderlist'] && isset($this->params['user']) && $this->params['user']) { + $this->addFooterJS('updateDropFolder();'); + } if($this->footerjs) { $jscode = "$(document).ready(function () {\n"; foreach($this->footerjs as $script) { @@ -196,6 +199,13 @@ background-image: linear-gradient(to bottom, #882222, #111111);; header('Content-Type: application/javascript'); echo "var seeddms_absbaseprefix=\"".$this->params['absbaseprefix']."\";\n"; echo "var seeddms_webroot=\"".$this->params['settings']->_httpRoot."\";\n"; + /* Place the current folder id in a js variable, just in case some js code + * needs it, e.g. for reloading parts of the page via ajax. + */ + if(!empty($_REQUEST['folderid'])) + echo "var seeddms_folder=".(int) $_REQUEST['folderid'].";\n"; + else + echo "var seeddms_folder=0;\n"; } /* }}} */ function footerjs() { /* {{{ */ @@ -332,13 +342,14 @@ background-image: linear-gradient(to bottom, #882222, #111111);; echo " \n"; echo " \n"; - if($this->params['enablemenutasks']) { + if($this->params['enablemenutasks'] && !$this->params['user']->isGuest()) { echo "
"; - echo "
    \n"; - echo "
  • \n"; + echo "
    "; +// echo "
      \n"; +// echo "
    • \n"; // echo $this->menuTasks(array('review'=>array(), 'approval'=>array(), 'receipt'=>array(), 'revision'=>array())); - echo "
    • \n"; - echo "
    \n"; +// echo "
  • \n"; +// echo "
\n"; echo "
"; //$this->addFooterJS('checkTasks();'); } @@ -346,7 +357,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; if($this->params['dropfolderdir'] && $this->params['enabledropfolderlist']) { echo "
"; echo "
getClassname('folder'))) + if ($folder!=null && is_object($folder) && $folder->isType('folder')) echo " data-query=\"folderid=".$folder->getID()."\""; echo ">
"; echo "
"; @@ -373,7 +384,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; } echo " \n"; echo "
"; - if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder'))) { + if ($folder!=null && is_object($folder) && $folder->isType('folder')) { echo " getID()."\" />"; } echo " "; @@ -447,6 +458,12 @@ background-image: linear-gradient(to bottom, #882222, #111111);; case "calendar"; $this->calendarNavigationBar($extra); break; + default: + if($this->hasHook('pageNavigationBar')) { + $menubar = $this->callHook('pageNavigationBar', $pageType, $extra); + if(is_string($menubar)) + echo $menubar; + } } echo "
\n"; echo "
\n"; @@ -464,21 +481,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);; foreach($menuitems as $menuitem) { if(!empty($menuitem['children'])) { echo "
  • \n"; - echo " ".getMLText($menuitem['label'])." \n"; + echo " ".getMLText($menuitem['label'])." \n"; echo " \n"; } else { - echo "
  • ".getMLText($menuitem['label'])."
  • "; + echo "
  • ".getMLText($menuitem['label'])."
  • "; } } } /* }}} */ private function folderNavigationBar($folder) { /* {{{ */ $dms = $this->params['dms']; - if (!is_object($folder) || strcasecmp(get_class($folder), $dms->getClassname('folder'))) { + if (!is_object($folder) || !$folder->isType('folder')) { echo "
      \n"; echo "
    \n"; return; @@ -897,7 +914,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);; (!empty($value['type']) ? ' type="'.$value['type'].'"' : ''). (!empty($value['id']) ? ' id="'.$value['id'].'"' : ''). (!empty($value['name']) ? ' name="'.$value['name'].'"' : ''). - (!empty($value['value']) ? ' value="'.$value['value'].'"' : ''). + ((isset($value['value']) && is_string($value['value'])) || !empty($value['value']) ? ' value="'.$value['value'].'"' : ''). (!empty($value['placeholder']) ? ' placeholder="'.$value['placeholder'].'"' : ''). (!empty($value['autocomplete']) ? ' autocomplete="'.$value['autocomplete'].'"' : ''). (!empty($value['checked']) ? ' checked' : ''). @@ -974,6 +991,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);; $icons["rar"] = "package.svg"; $icons["mpg"] = "video.svg"; $icons["avi"] = "video.svg"; + $icons["webm"] = "video.svg"; + $icons["mkv"] = "video.svg"; $icons["ods"] = "office-spreadsheet.svg"; $icons["ots"] = "office-spreadsheet.svg"; $icons["sxc"] = "office-spreadsheet.svg"; @@ -1039,7 +1058,7 @@ $(document).ready(function() {
    - '.getMLText("browse").'… + '.getMLText("browse").'…
    @@ -1052,14 +1071,14 @@ $(document).ready(function() { echo self::getFileChooserHtml($varname, $multiple, $accept); } /* }}} */ - function printDateChooser($defDate = '', $varName) { /* {{{ */ - echo self::getDateChooser($defDate, $varName); + function printDateChooser($defDate = '', $varName, $lang='', $dateformat='yyyy-mm-dd') { /* {{{ */ + echo self::getDateChooser($defDate, $varName, $lang, $dateformat); } /* }}} */ - function getDateChooser($defDate = '', $varName, $lang='') { /* {{{ */ + function getDateChooser($defDate = '', $varName, $lang='', $dateformat='yyyy-mm-dd') { /* {{{ */ $content = ' - - + + '; return $content; @@ -1422,7 +1441,7 @@ $(document).ready(function() { $content = "\n"; $content .= ' \n"; } /* }}} */ + function successMsg($msg) { /* {{{ */ + echo "
    \n"; + echo $msg; + echo "
    \n"; + } /* }}} */ + function ___exitError($pagetitle, $error, $noexit=false, $plain=false) { /* {{{ */ /* This is just a hack to prevent creation of js files in an error @@ -1568,7 +1595,8 @@ $(document).ready(function() { } /* }}} */ function printNewTreeNavigationHtml($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */ - echo "
    \n"; + //echo "
    \n"; + echo "
    \n"; } /* }}} */ /** @@ -1583,19 +1611,24 @@ $(document).ready(function() { * @param boolean $showdocs set to true if tree shall contain documents * as well. * @param integer $expandtree level to which the tree shall be opened + * @param boolean $partialtree set to true if the given folder is the start folder */ - function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='') { /* {{{ */ + function printNewTreeNavigationJs($folderid=0, $accessmode=M_READ, $showdocs=0, $formid='form1', $expandtree=0, $orderby='', $partialtree=false) { /* {{{ */ function jqtree($path, $folder, $user, $accessmode, $showdocs=1, $expandtree=0, $orderby='', $level=0) { $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); - if($path || $expandtree>=$level) { + if($path/* || $expandtree>=$level*/) { if($path) $pathfolder = array_shift($path); - $subfolders = $folder->getSubFolders(isset($orderby[0]) ? $orderby[0] : '', $orderdir); - $subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode); $children = array(); + if($expandtree) { + $subfolders = $folder->getSubFolders(isset($orderby[0]) ? $orderby[0] : '', $orderdir); + $subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, $accessmode); + } else { + $subfolders = array($pathfolder); + } foreach($subfolders as $subfolder) { - $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs)) ? true : false, 'is_folder'=>true); - if($expandtree>=$level || $pathfolder->getID() == $subfolder->getID()) { + $node = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>(0 && ($subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs))) ? true : false, 'is_folder'=>true); + if(/*$expandtree>=$level ||*/ $pathfolder->getID() == $subfolder->getID()) { $node['children'] = jqtree($path, $subfolder, $user, $accessmode, $showdocs, $expandtree, $orderby, $level+1); if($showdocs) { $documents = $subfolder->getDocuments(isset($orderby[0]) ? $orderby[0] : '', $orderdir); @@ -1625,15 +1658,17 @@ $(document).ready(function() { $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); if($folderid) { $folder = $this->params['dms']->getFolder($folderid); - $path = $folder->getPath(); + if(!$partialtree) { + $path = $folder->getPath(); + } /* Get the first folder (root folder) of path */ $folder = array_shift($path); $node = array('label'=>$folder->getName(), 'id'=>$folder->getID(), 'load_on_demand'=>false, 'is_folder'=>true); if(!$folder->hasSubFolders()) { - $node['load_on_demand'] = false; + $node['load_on_demand'] = true; $node['children'] = array(); } else { - $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, $expandtree, $orderby, 0); + $node['children'] = jqtree($path, $folder, $this->params['user'], $accessmode, $showdocs, 1 /*$expandtree*/, $orderby, 0); if($showdocs) { $documents = $folder->getDocuments(isset($orderby[0]) ? $orderby[0] : '', $orderdir); $documents = SeedDMS_Core_DMS::filterAccess($documents, $this->params['user'], $accessmode); @@ -1653,14 +1688,15 @@ $(document).ready(function() { } else { $root = $this->params['dms']->getFolder($this->params['rootfolderid']); - $tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>true, 'is_folder'=>true)); + $tree = array(array('label'=>$root->getName(), 'id'=>$root->getID(), 'load_on_demand'=>false, 'is_folder'=>true)); } - ?> var data = ; $(function() { - $('#jqtree').tree({ + const $tree = $('#jqtree'); + $tree.tree({ // saveState: true, + selectable: true, data: data, saveState: 'jqtree', openedIcon: $(''), @@ -1671,7 +1707,7 @@ $(function() { } else documentSelected(node.id, node.name); }, - autoOpen: true, + autoOpen: false, drapAndDrop: true, onCreateLi: function(node, $li) { // Add 'icon' span before title @@ -1682,19 +1718,21 @@ $(function() { } }); // Unfold node for currently selected folder - $('#jqtree').tree('openNode', $('#jqtree').tree('getNodeById', ), false); + $('#jqtree').tree('selectNode', $('#jqtree').tree('getNodeById', ), false); $('#jqtree').on( - 'tree.select', + 'tree.click', function(event) { var node = event.node; + if(!node) + return; $('#jqtree').tree('openNode', node); // event.preventDefault(); if(node.is_folder) { if(typeof node.fetched == 'undefined') { node.fetched = true; $(this).tree('loadDataFromUrl', node, function () { - $(this).tree('openNode', node);} - ); + $(this).tree('openNode', node); + }); } folderSelected(node.id, node.name); } else @@ -1729,6 +1767,39 @@ $(function() { params['dms']; + $user = $this->params['user']; + + $folder = $dms->getFolder($folderid); + if (!is_object($folder)) return ''; + + $subfolders = $folder->getSubFolders($orderby); + $subfolders = SeedDMS_Core_DMS::filterAccess($subfolders, $user, M_READ); + $tree = array(); + foreach($subfolders as $subfolder) { + $loadondemand = $subfolder->hasSubFolders() || ($subfolder->hasDocuments() && $showdocs); + $level = array('label'=>$subfolder->getName(), 'id'=>$subfolder->getID(), 'load_on_demand'=>$loadondemand, 'is_folder'=>true); + if(!$subfolder->hasSubFolders()) + $level['children'] = array(); + $tree[] = $level; + } + if($showdocs) { + $documents = $folder->getDocuments($orderby); + $documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); + foreach($documents as $document) { + $level = array('label'=>$document->getName(), 'id'=>$document->getID(), 'load_on_demand'=>false, 'is_folder'=>false); + $tree[] = $level; + } + } + + header('Content-Type: application/json'); + echo json_encode($tree); + } /* }}} */ + function printTreeNavigation($folderid, $showtree){ /* {{{ */ if ($showtree==1){ $this->contentHeading("", true); @@ -1795,6 +1866,7 @@ $(function() { $(document).ready(function () { // $('.delete-document-btn').click(function(ev) { $('body').on('click', 'a.delete-document-btn', function(ev){ + ev.stopPropagation(); id = $(ev.currentTarget).attr('rel'); confirmmsg = $(ev.currentTarget).attr('confirmmsg'); msg = $(ev.currentTarget).attr('msg'); @@ -1868,6 +1940,7 @@ $(function() { $(document).ready(function () { // $('.delete-folder-btn').click(function(ev) { $('body').on('click', 'a.delete-folder-btn', function(ev){ + ev.stopPropagation(); id = $(ev.currentTarget).attr('rel'); confirmmsg = $(ev.currentTarget).attr('confirmmsg'); msg = $(ev.currentTarget).attr('msg'); @@ -2175,6 +2248,19 @@ $(document).ready( function() { "; } /* }}} */ + function printClickDocumentJs() { /* {{{ */ + $onepage = $this->params['onepage']; + if($onepage) { +?> +/* catch click on a document row in the list folders and documents */ +$('body').on('click', '[id^=\"table-row-document\"] td:nth-child(2)', function(ev) { + attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; + window.location = '../out/out.ViewDocument.php?documentid=' + attr_id; +}); +getID(); - return ""; + return "getName(), ENT_QUOTES)."\">"; } /* }}} */ function documentListRowEnd($document) { /* {{{ */ @@ -2204,6 +2290,7 @@ $(document).ready( function() { $workflowmode = $this->params['workflowmode']; $previewwidth = $this->params['previewWidthList']; $enableClipboard = $this->params['enableclipboard']; + $onepage = $this->params['onepage']; $content = ''; @@ -2262,8 +2349,11 @@ $(document).ready( function() { $content .= "getMimeIcon($latestContent->getFileType())."\" title=\"".htmlspecialchars($latestContent->getMimeType())."\">"; $content .= ""; - $content .= ""; - $content .= "" . htmlspecialchars($document->getName()) . ""; + $content .= ""; + if($onepage) + $content .= "".htmlspecialchars($document->getName()) . ""; + else + $content .= "" . htmlspecialchars($document->getName()) . ""; if(isset($extracontent['below_title'])) $content .= $extracontent['below_title']; $content .= "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $document->getDate()).", ".getMLText('version')." ".$version." - ".date('Y-m-d', $latestContent->getDate())."".($document->expires() ? ", ".getMLText('expires').": ".getReadableDate($document->getExpires())."" : "").""; @@ -2356,7 +2446,7 @@ $(document).ready( function() { * @return string starting tr tag for a table */ function folderListRowStart($folder, $class='') { /* {{{ */ - return "getID()."\" draggable=\"true\" data-droptarget=\"folder_".$folder->getID()."\" rel=\"folder_".$folder->getID()."\" class=\"folder table-row-folder droptarget".($class ? ' '.$class : '')."\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\">"; + return "getID()."\" draggable=\"true\" data-droptarget=\"folder_".$folder->getID()."\" rel=\"folder_".$folder->getID()."\" class=\"folder table-row-folder droptarget".($class ? ' '.$class : '')."\" data-uploadformtoken=\"".createFormKey('')."\" formtoken=\"".createFormKey('')."\" data-name=\"".htmlspecialchars($folder->getName(), ENT_QUOTES)."\">"; } /* }}} */ function folderListRowEnd($folder) { /* {{{ */ @@ -2371,6 +2461,7 @@ $(document).ready( function() { $enableRecursiveCount = $this->params['enableRecursiveCount']; $maxRecursiveCount = $this->params['maxRecursiveCount']; $enableClipboard = $this->params['enableclipboard']; + $onepage = $this->params['onepage']; $owner = $subFolder->getOwner(); $comment = $subFolder->getComment(); @@ -2379,7 +2470,10 @@ $(document).ready( function() { $content = ''; $content .= $this->folderListRowStart($subFolder); $content .= "getID()."&showtree=".$showtree."\">getMimeIcon(".folder")."\" width=\"24\" height=\"24\" border=0>\n"; - $content .= "getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . ""; + if($onepage) + $content .= "" . "".htmlspecialchars($subFolder->getName()).""; + else + $content .= "getID()."&showtree=".$showtree."\">" . htmlspecialchars($subFolder->getName()) . ""; $content .= "
    ".getMLText('owner').": ".htmlspecialchars($owner->getFullName()).", ".getMLText('creation_date').": ".date('Y-m-d', $subFolder->getDate()).""; if($comment) { $content .= "
    ".htmlspecialchars($comment).""; @@ -2419,12 +2513,13 @@ $(document).ready( function() { // $content .= ""; $content .= ""; $content .= "
    "; - if($subFolder->getAccessMode($user) >= M_ALL) { + $subFolderAccessMode = $subFolder->getAccessMode($user); + if($subFolderAccessMode >= M_ALL) { $content .= $this->printDeleteFolderButton($subFolder, 'splash_rm_folder', true); } else { $content .= ''; } - if($subFolder->getAccessMode($user) >= M_READWRITE) { + if($subFolderAccessMode >= M_READWRITE) { $content .= ''; } else { $content .= ''; diff --git a/views/bootstrap/class.Calendar.php b/views/bootstrap/class.Calendar.php index 8e49920b6..381a904f7 100644 --- a/views/bootstrap/class.Calendar.php +++ b/views/bootstrap/class.Calendar.php @@ -224,6 +224,8 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style { } /* }}} */ function js() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; $strictformcheck = $this->params['strictformcheck']; header('Content-Type: application/javascript'); ?> @@ -232,6 +234,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style { $('#calendar').fullCalendar({ height: $(window).height()-210, locale: 'params['session']->getLanguage(), 0, 2); ?>', +isGuest()) { ?> customButtons: { addEventButton: { text: '', @@ -241,6 +244,7 @@ class SeedDMS_View_Calendar extends SeedDMS_Bootstrap_Style { } } }, + header: { left: 'prev,next today addEventButton', center: 'title', diff --git a/views/bootstrap/class.Decorator.php b/views/bootstrap/class.Decorator.php new file mode 100644 index 000000000..ca93bf3e8 --- /dev/null +++ b/views/bootstrap/class.Decorator.php @@ -0,0 +1,60 @@ + + * @copyright Copyright (C) 2010, Uwe Steinmann + * @version Release: @package_version@ + */ + + +/** + * Class which implements a simple decorator pattern + * + * @category DMS + * @package SeedDMS_Core + * @version @version@ + * @author Uwe Steinmann + * @copyright Copyright (C) 2010, Uwe Steinmann + * @version Release: @package_version@ + */ +class SeedDMS_View_Decorator { + protected $o; + + public function __construct($object) { + $this->o = $object; + } + + public function __call($method, $args) + { + if (!method_exists($this->o, $method)) { + throw new Exception("Undefined method $method attempt."); + } + /* In case the called method returns the object itself, then return this object */ + $result = call_user_func_array(array($this->o, $method), $args); + return $result === $this->o ? $this : $result; + } + + /** + * Must have its own invoke + */ + public function __invoke($get=array()) { + $this->callHook('preRun', isset($get['action']) ? $get['action'] : 'show'); + if(isset($get['action']) && $get['action']) { + if(method_exists($this->o, $get['action'])) { + $this->o->{$get['action']}(); + } else { + echo "Missing action '".htmlspecialchars($get['action'])."'"; + } + } else + $this->show(); + $this->callHook('postRun', isset($get['action']) ? $get['action'] : 'show'); + } + +} + + diff --git a/views/bootstrap/class.DocumentChooser.php b/views/bootstrap/class.DocumentChooser.php index 0887c5c8d..a84fea876 100644 --- a/views/bootstrap/class.DocumentChooser.php +++ b/views/bootstrap/class.DocumentChooser.php @@ -31,6 +31,14 @@ require_once("class.Bootstrap.php"); */ class SeedDMS_View_DocumentChooser extends SeedDMS_Bootstrap_Style { + public function subtree() { /* {{{ */ + $user = $this->params['user']; + $node = $this->params['node']; + $orderby = $this->params['orderby']; + + $this->printNewTreeNavigationSubtree($node->getID(), 1, $orderby); + } /* }}} */ + function js() { /* {{{ */ $folder = $this->params['folder']; $form = $this->params['form']; diff --git a/views/bootstrap/class.DropFolderChooser.php b/views/bootstrap/class.DropFolderChooser.php index 1349641db..e23e1d7ce 100644 --- a/views/bootstrap/class.DropFolderChooser.php +++ b/views/bootstrap/class.DropFolderChooser.php @@ -40,12 +40,14 @@ class SeedDMS_View_DropFolderChooser extends SeedDMS_Bootstrap_Style { header('Content-Type: application/javascript'); ?> $('.fileselect').click(function(ev) { - attr_filename = $(ev.currentTarget).attr('filename'); - fileSelected(attr_filename); + attr_filename = $(ev.currentTarget).data('filename'); + attr_form = $(ev.currentTarget).data('form'); + fileSelected(attr_filename, attr_form); }); $('.folderselect').click(function(ev) { - attr_foldername = $(ev.currentTarget).attr('foldername'); - folderSelected(attr_foldername); + attr_foldername = $(ev.currentTarget).data('foldername'); + attr_form = $(ev.currentTarget).data('form'); + folderSelected(attr_foldername, attr_form); }); createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype); echo ""; if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) { - echo ""; + echo ""; } - echo "".$entry."".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."\n"; + echo "".$entry."".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry))."".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."\n"; } elseif($showfolders && is_dir($dir.'/'.$entry)) { echo ""; echo ""; - echo "".$entry.""; + echo "".$entry.""; echo "\n"; } } diff --git a/views/bootstrap/class.EditAttributes.php b/views/bootstrap/class.EditAttributes.php index 1fa26e300..ca64c9b98 100644 --- a/views/bootstrap/class.EditAttributes.php +++ b/views/bootstrap/class.EditAttributes.php @@ -53,18 +53,28 @@ class SeedDMS_View_EditAttributes extends SeedDMS_Bootstrap_Style { callHook('editDocumentContentAttribute', $version, $attrdef); - if(is_array($arr)) { - if($arr) { - $this->formField($arr[0], $arr[1]); - } - } else { - $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $version->getAttribute($attrdef))); + if($attrdefs) { + foreach($attrdefs as $attrdef) { + $arr = $this->callHook('editDocumentContentAttribute', $version, $attrdef); + if(is_array($arr)) { + if($arr) { + $this->formField($arr[0], $arr[1]); } + } elseif(is_string($arr)) { + echo $arr; + } else { + $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $version->getAttribute($attrdef))); } } + } + $arrs = $this->callHook('addDocumentContentAttributes', $version); + if(is_array($arrs)) { + foreach($arrs as $arr) { + $this->formField($arr[0], $arr[1]); + } + } elseif(is_string($arr)) { + echo $arr; + } $this->formSubmit(" ".getMLText('save')); ?> diff --git a/views/bootstrap/class.EditDocument.php b/views/bootstrap/class.EditDocument.php index 8e1ef93ae..c0a6977ca 100644 --- a/views/bootstrap/class.EditDocument.php +++ b/views/bootstrap/class.EditDocument.php @@ -71,6 +71,7 @@ $(document).ready( function() { $document = $this->params['document']; $attrdefs = $this->params['attrdefs']; $strictformcheck = $this->params['strictformcheck']; + $nodocumentformfields = $this->params['nodocumentformfields']; $orderby = $this->params['orderby']; $this->htmlAddHeader(''."\n", 'js'); @@ -101,21 +102,46 @@ $(document).ready( function() { 'required'=>true ) ); - $this->formField( - getMLText("comment"), - array( - 'element'=>'textarea', - 'name'=>'comment', - 'rows'=>4, - 'cols'=>80, - 'value'=>htmlspecialchars($document->getComment()), - 'required'=>$strictformcheck - ) - ); - $this->formField( - getMLText("keywords"), - $this->getKeywordChooserHtml('form1', $document->getKeywords()) - ); + if(!$nodocumentformfields || !in_array('comment', $nodocumentformfields)) { + $this->formField( + getMLText("comment"), + array( + 'element'=>'textarea', + 'name'=>'comment', + 'rows'=>4, + 'cols'=>80, + 'value'=>htmlspecialchars($document->getComment()), + 'required'=>$strictformcheck + ) + ); + } else { + $this->formField( + null, + array( + 'element'=>'input', + 'type'=>'hidden', + 'name'=>'comment', + 'value'=>htmlspecialchars($document->getComment()), + ) + ); + } + if(!$nodocumentformfields || !in_array('keywords', $nodocumentformfields)) { + $this->formField( + getMLText("keywords"), + $this->getKeywordChooserHtml('form1', $document->getKeywords()) + ); + } else { + $this->formField( + null, + array( + 'element'=>'input', + 'type'=>'hidden', + 'name'=>'keywords', + 'value'=>htmlspecialchars($document->getKeywords()), + ) + ); + } + if(!$nodocumentformfields || !in_array('categories', $nodocumentformfields)) { $options = array(); $categories = $dms->getDocumentCategories(); foreach($categories as $category) { @@ -132,6 +158,21 @@ $(document).ready( function() { 'options'=>$options ) ); + } else { + $categories = $document->getCategories(); + foreach($categories as $category) { + $this->formField( + null, + array( + 'element'=>'input', + 'type'=>'hidden', + 'name'=>'categories[]', + 'value'=>htmlspecialchars($category->getId()), + ) + ); + } + } + if(!$nodocumentformfields || !in_array('expires', $nodocumentformfields)) { $options = array(); $options[] = array('never', getMLText('does_not_expire')); $options[] = array('date', getMLText('expire_by_date'), $expdate != ''); @@ -152,9 +193,22 @@ $(document).ready( function() { getMLText("expires"), $this->getDateChooser($expdate, "expdate", $this->params['session']->getLanguage()) ); + } else { + $this->formField( + null, + array( + 'element'=>'input', + 'type'=>'hidden', + 'name'=>'expdate', + 'value'=>$expdate, + ) + ); + } + if(!$nodocumentformfields || !in_array('sequence', $nodocumentformfields)) { if ($folder->getAccessMode($user) > M_READ) { $this->formField(getMLText("sequence"), $this->getSequenceChooser($folder->getDocuments('s'), $document->getID()).($orderby != 's' ? "
    ".getMLText('order_by_sequence_off') : '')); } + } if($attrdefs) { foreach($attrdefs as $attrdef) { $arr = $this->callHook('editDocumentAttribute', $document, $attrdef); @@ -162,16 +216,20 @@ $(document).ready( function() { if($arr) { $this->formField($arr[0], $arr[1]); } + } elseif(is_string($arr)) { + echo $arr; } else { $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $document->getAttribute($attrdef))); } } } - $arrs = $this->callHook('addDocumentAttributes', $folder); + $arrs = $this->callHook('addDocumentAttributes', $document); if(is_array($arrs)) { foreach($arrs as $arr) { $this->formField($arr[0], $arr[1]); } + } elseif(is_string($arr)) { + echo $arr; } $this->formSubmit(" ".getMLText('save')); ?> diff --git a/views/bootstrap/class.EditFolder.php b/views/bootstrap/class.EditFolder.php index 3168a08be..e7bc756df 100644 --- a/views/bootstrap/class.EditFolder.php +++ b/views/bootstrap/class.EditFolder.php @@ -117,11 +117,21 @@ $(document).ready(function() { if($arr) { $this->formField($arr[0], $arr[1]); } + } elseif(is_string($arr)) { + echo $arr; } else { $this->formField(htmlspecialchars($attrdef->getName()), $this->getAttributeEditField($attrdef, $folder->getAttribute($attrdef))); } } } + $arrs = $this->callHook('addFolderAttributes', $folder); + if(is_array($arrs)) { + foreach($arrs as $arr) { + $this->formField($arr[0], $arr[1]); + } + } elseif(is_string($arr)) { + echo $arr; + } $this->formSubmit(" ".getMLText('save')); ?> diff --git a/views/bootstrap/class.EditOnline.php b/views/bootstrap/class.EditOnline.php index 80c316d35..04f3b3f06 100644 --- a/views/bootstrap/class.EditOnline.php +++ b/views/bootstrap/class.EditOnline.php @@ -123,6 +123,9 @@ $this->contentHeading(getMLText("content")); echo htmlspecialchars(file_get_contents($dms->contentDir . $version->getPath()), ENT_SUBSTITUTE); ?> +warningMsg(getMLText('edit_online_warning')); +?> $(document).ready( function() { - $('a.download').click(function(ev){ + $('body').on('click', 'a.download', function(ev){ +// $('a.download').click(function(ev){ var element = $(this); $('#'+element.data('extname')+'-download').submit(); /* @@ -54,6 +55,27 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { }); */ }); + $('body').on('click', 'a.toggle', function(ev){ +// $('a.toggle').click(function(ev){ + var element = $(this); + ev.preventDefault(); + $.ajax({url: '../op/op.ExtensionMgr.php', + type: 'POST', + dataType: "json", + data: {action: 'toggle', 'formtoken': '', 'extname': element.data('extname')}, + success: function(data) { + noty({ + text: data.msg, + type: (data.error) ? 'error' : 'success', + dismissQueue: true, + layout: 'topRight', + theme: 'defaultTheme', + timeout: 1500, + }); + $('div.ajax').trigger('update'); + } + }); + }); $('a.import').click(function(ev){ var element = $(this); @@ -77,22 +99,23 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { $user = $this->params['user']; $extmgr = $this->params['extmgr']; $extname = $this->params['extname']; + $extconf = $extmgr->getExtensionConfiguration(); echo "\n"; print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; print "\n"; $list = $extmgr->getExtensionListByName($extname); foreach($list as $re) { $extmgr->checkExtension($re); $checkmsgs = $extmgr->getErrorMsgs(); - $needsupdate = !isset($GLOBALS['EXT_CONF'][$re['name']]) || SeedDMS_Extension_Mgr::cmpVersion($re['version'], $GLOBALS['EXT_CONF'][$re['name']]['version']) > 0; + $needsupdate = !isset($extconf[$re['name']]) || SeedDMS_Extension_Mgr::cmpVersion($re['version'], $extconf[$re['name']]['version']) > 0; echo ""; echo ""; echo ""; - } + } echo "
    ".getMLText('name')."".getMLText('version')."".getMLText('author')."".getMLText('name')."".getMLText('version')."".getMLText('author')."
    \n"; } /* }}} */ @@ -123,25 +146,92 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { $extdir = $this->params['extdir']; $extmgr = $this->params['extmgr']; $extname = $this->params['extname']; + $extconf = $extmgr->getExtensionConfiguration(); - if(isset($GLOBALS['EXT_CONF'][$extname])) { - $extconf = $GLOBALS['EXT_CONF'][$extname]; + if(isset($extconf[$extname])) { + $extconf = $extconf[$extname]; if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) { echo '
    '.file_get_contents($extdir."/".$extname."/".$extconf['changelog'])."
    "; } } } /* }}} */ + function installedList() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $settings = $this->params['settings']; + $httproot = $this->params['httproot']; + $extmgr = $this->params['extmgr']; + $extdir = $this->params['extdir']; + $extconf = $extmgr->getExtensionConfiguration(); + + echo "\n"; + print "\n\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + $errmsgs = array(); + foreach($extconf as $extname=>$extconf) { + $errmsgs = array(); + if(!$settings->extensionIsDisabled($extname)) { +// if(!isset($extconf['disable']) || $extconf['disable'] == false) { + $extmgr->checkExtension($extname); + $errmsgs = $extmgr->getErrorMsgs(); + if($errmsgs) + echo ""; + else + echo ""; + } else { + echo ""; + } + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + echo "
    ".getMLText('name')."".getMLText('version')."".getMLText('author')."
    "; + if($extconf['icon']) + echo "\"".$extname."\""; + echo "".$extconf['title']; + echo "
    ".$extconf['description'].""; + if($errmsgs) + echo "
    getImgPath("attention.gif")."\"> ".implode('
    ', $errmsgs)."
    "; + echo "
    ".$extconf['version']; + echo "
    ".$extconf['releasedate'].""; + echo "
    ".$extconf['author']['name']."
    ".$extconf['author']['company']."
    "; + echo "
    "; + if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) { + echo "\n"; + } + if($extconf['config']) + echo ""; + echo "
    ".createHiddenFieldWithKey('extensionmgr')."
    "; + if(!$settings->extensionIsDisabled($extname)) { + echo ' '; + } else { + echo ' '; + } + echo "
    "; + echo "
    \n"; + } /* }}} */ + function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; + $settings = $this->params['settings']; $httproot = $this->params['httproot']; $extdir = $this->params['extdir']; $version = $this->params['version']; $extmgr = $this->params['extmgr']; + $extconf = $extmgr->getExtensionConfiguration(); $currenttab = $this->params['currenttab']; $reposurl = $this->params['reposurl']; - + $this->htmlStartPage(getMLText("admin_tools")); $this->globalNavigation(); $this->contentStart(); @@ -178,74 +268,26 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style {
    +
    contentContainerStart(); - echo "\n"; - print "\n\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - $errmsgs = array(); - foreach($GLOBALS['EXT_CONF'] as $extname=>$extconf) { - $errmsgs = array(); - if(!isset($extconf['disable']) || $extconf['disable'] == false) { - $extmgr->checkExtension($extname); - $errmsgs = $extmgr->getErrorMsgs(); - if($errmsgs) - echo ""; - else - echo ""; - } else - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "\n"; - } - echo "
    ".getMLText('name')."".getMLText('version')."".getMLText('author')."
    "; - if($extconf['icon']) - echo "\"".$extname."\""; - echo "".$extconf['title']; - echo "
    ".$extconf['description'].""; - if($errmsgs) - echo "
    getImgPath("attention.gif")."\"> ".implode('
    ', $errmsgs)."
    "; - echo "
    ".$extconf['version']; - echo "
    ".$extconf['releasedate'].""; - echo "
    ".$extconf['author']['name']."
    ".$extconf['author']['company']."
    "; - echo "
    "; - if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) { - echo "\n"; - } - if($extconf['config']) - echo ""; - echo "
    ".createHiddenFieldWithKey('extensionmgr')."
    "; - echo "
    "; - echo "
    \n"; +// $this->installedList(); ?>

    -contentContainerEnd(); -?>
    \n"; print "\n\n"; - print "\n"; - print "".getMLText('name')."\n"; - print "".getMLText('version')."\n"; - print "".getMLText('author')."\n"; - print "\n"; + print "\n"; + print "".getMLText('name')."\n"; + print "".getMLText('version')."\n"; + print "".getMLText('author')."\n"; + print "\n"; print "\n"; $list = $extmgr->getExtensionList(); foreach($list as $re) { @@ -253,9 +295,9 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style { continue; $extmgr->checkExtension($re); $checkmsgs = $extmgr->getErrorMsgs(); - $needsupdate = !isset($GLOBALS['EXT_CONF'][$re['name']]) || SeedDMS_Extension_Mgr::cmpVersion($re['version'], $GLOBALS['EXT_CONF'][$re['name']]['version']) > 0; + $needsupdate = !isset($extconf[$re['name']]) || SeedDMS_Extension_Mgr::cmpVersion($re['version'], $extconf[$re['name']]['version']) > 0; echo ""; echo ""; echo ""; - } + } echo "\n"; ?>
    @@ -312,7 +354,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style {

    "; + } print "
    "; // $this->contentContainerStart(); print "".getMLText('approvers').""; @@ -953,7 +961,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
    callHook('postContent'); $this->contentEnd(); $this->htmlEndPage(); } /* }}} */ diff --git a/views/bootstrap/class.ViewFolder.php b/views/bootstrap/class.ViewFolder.php index c9d93165e..669d73ba9 100644 --- a/views/bootstrap/class.ViewFolder.php +++ b/views/bootstrap/class.ViewFolder.php @@ -36,6 +36,16 @@ require_once("SeedDMS/Preview.php"); */ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { + function data() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $folder = $this->params['folder']; + + $jsondata = array('name'=>$folder->getName()); + header('Content-Type: application/json'); + echo json_encode($jsondata); + } /* }}} */ + function getAccessModeText($defMode) { /* {{{ */ switch($defMode) { case M_NONE: @@ -83,7 +93,15 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { } } /* }}} */ - function js() { /* {{{ */ + public function subtree() { /* {{{ */ + $user = $this->params['user']; + $node = $this->params['node']; + $orderby = $this->params['orderby']; + + $this->printNewTreeNavigationSubtree($node->getID(), 0, $orderby); + } /* }}} */ + + public function js() { /* {{{ */ $user = $this->params['user']; $folder = $this->params['folder']; $orderby = $this->params['orderby']; @@ -92,12 +110,23 @@ class SeedDMS_View_ViewFolder extends SeedDMS_Bootstrap_Style { $enableDropUpload = $this->params['enableDropUpload']; $maxItemsPerPage = $this->params['maxItemsPerPage']; $showtree = $this->params['showtree']; + $onepage = $this->params['onepage']; + $sitename = trim(strip_tags($this->params['sitename'])); header('Content-Type: application/javascript; charset=UTF-8'); parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder')); ?> +seeddms_folder = getID() ?>; function folderSelected(id, name) { + window.location = '../out/out.ViewFolder.php?folderid=' + id; + + seeddms_folder = id; + title_prefix = "0 ? $sitename : "SeedDMS") ?>"; + $('div.ajax').trigger('update', {folderid: id, orderby: ''}); + document.title = title_prefix+": "+name; + window.history.pushState({"html":"","pageTitle":title_prefix+": "+name},"", '../out/out.ViewFolder.php?folderid=' + id); + } function loadMoreObjects(element, limit) { @@ -131,9 +160,44 @@ $(window).scroll(function() { loadMoreObjects($('#loadmore'), $('#loadmore').data('limit')); } }); -$('#loadmore').click(function(e) { +$('body').on('click', '#loadmore', function(e) { loadMoreObjects($(this), $(this).data('all')); }); + + + +window.onpopstate = function(event) { +console.log("location: " + document.location + ", state: " + JSON.stringify(event.state)); +console.log(JSON.stringify(event.state)); + window.location = document.location; +}; +/* catch click on 'goto parent button' */ +$('body').on('click', '#goto-parent', function(ev) { + attr_id = $(ev.currentTarget).data('parentid'); + folderSelected(attr_id, ''); + $([document.documentElement, document.body]).animate({ + scrollTop: 200 + }, 200); +}); +/* catch click on a folder row in the list folders and documents */ +$('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev) { + attr_id = $(ev.currentTarget).parent().attr('id').split('-')[3]; + folderSelected(attr_id, ''); + $([document.documentElement, document.body]).animate({ + scrollTop: 200 + }, 200); +}); +printClickDocumentJs(); +?> +$('body').on('click', '.order-btn', function(ev) { + ev.preventDefault(); + var element = $(this); + var orderby = element.data('orderby'); + $("div.ajax[data-action='folderList']").trigger('update', {folderid: seeddms_folder, orderby: orderby}); +}); printDeleteDocumentButtonJs(); } /* }}} */ + function folderInfos() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $folder = $this->params['folder']; + + $txt = $this->callHook('folderInfo', $folder); + if(is_string($txt)) + echo $txt; + else { + + $owner = $folder->getOwner(); + $this->contentHeading(getMLText("folder_infos")); + $this->contentContainerStart(); + echo "\n"; + if($user->isAdmin()) { + echo ""; + echo "\n"; + echo "\n"; + echo ""; + } + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + if($folder->getComment()) { + echo ""; + echo "\n"; + echo "\n"; + echo ""; + } + + if($user->isAdmin()) { + echo ""; + echo ""; + echo ""; + echo ""; + if($folder->inheritsAccess()) { + echo ""; + echo "\n"; + echo ""; + } else { + echo ""; + echo ""; + echo ""; + echo ""; + } + } + $attributes = $folder->getAttributes(); + if($attributes) { + foreach($attributes as $attribute) { + $arr = $this->callHook('showFolderAttribute', $folder, $attribute); + if(is_array($arr)) { + echo ""; + echo ""; + echo ""; + echo ""; + } elseif(is_string($arr)) { + echo $arr; + } else { + $attrdef = $attribute->getAttributeDefinition(); + ?> + + + + +\n"; + $this->contentContainerEnd(); + } + } /* }}} */ + + function folderList() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $folder = $this->params['folder']; + $folderid = $folder->getId(); + $orderby = $this->params['orderby']; + $orderdir = (isset($orderby[1]) ? ($orderby[1] == 'd' ? 'desc' : 'asc') : 'asc'); + $cachedir = $this->params['cachedir']; + $maxItemsPerPage = $this->params['maxItemsPerPage']; + $incItemsPerPage = $this->params['incItemsPerPage']; + $previewwidth = $this->params['previewWidthList']; + $previewconverters = $this->params['previewConverters']; + $timeout = $this->params['timeout']; + $xsendfile = $this->params['xsendfile']; + $onepage = $this->params['onepage']; + + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); + $previewer->setConverters($previewconverters); + + $txt = $this->callHook('listHeader', $folder); + if(is_string($txt)) + echo $txt; + else + $this->contentHeading(getMLText("folder_contents")); + + $subFolders = $this->callHook('folderGetSubFolders', $folder, $orderby[0], $orderdir); + if($subFolders === null) + $subFolders = $folder->getSubFolders($orderby[0], $orderdir); + $subFolders = SeedDMS_Core_DMS::filterAccess($subFolders, $user, M_READ); + $documents = $this->callHook('folderGetDocuments', $folder, $orderby[0], $orderdir); + if($documents === null) + $documents = $folder->getDocuments($orderby[0], $orderdir); + $documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); + $parent = $onepage ? $folder->getParent() : null; + + $txt = $this->callHook('folderListPreContent', $folder, $subFolders, $documents); + if(is_string($txt)) + echo $txt; + $i = 0; + if ((count($subFolders) > 0)||(count($documents) > 0)){ + $txt = $this->callHook('folderListHeader', $folder, $orderby, $orderdir); + if(is_string($txt)) + echo $txt; + else { + print "
    ".getMLText("id").":".htmlspecialchars($folder->getID())."
    ".getMLText("owner").":getEmail())."\">".htmlspecialchars($owner->getFullName())."
    ".getMLText("creation_date").":".getLongReadableDate($folder->getDate())."
    ".getMLText("comment").":".htmlspecialchars($folder->getComment())."
    ".getMLText('default_access').":".$this->getAccessModeText($folder->getDefaultAccess())."
    ".getMLText("access_mode").":"; + echo getMLText("inherited")."
    "; + $this->printAccessList($folder); + echo "
    ".getMLText('access_mode').":"; + $this->printAccessList($folder); + echo "
    ".$arr[0].":".$arr[1].":
    getName()); ?>:getValueAsArray())); ?>
    "; + print "\n\n"; + print "\n"; + print "\n"; + // print "\n"; + print "\n"; + // print "\n"; + print "\n"; + print "\n\n\n"; + } + + foreach($subFolders as $subFolder) { + if(!$maxItemsPerPage || $i < $maxItemsPerPage) { + $txt = $this->callHook('folderListItem', $subFolder, 'viewfolder'); + if(is_string($txt)) + echo $txt; + else { + echo $this->folderListRow($subFolder); + } + } + $i++; + } + + if($subFolders && $documents) { + if(!$maxItemsPerPage || $maxItemsPerPage > count($subFolders)) { + $txt = $this->callHook('folderListSeparator', $folder); + if(is_string($txt)) + echo $txt; + } + } + + foreach($documents as $document) { + if(!$maxItemsPerPage || $i < $maxItemsPerPage) { + $document->verifyLastestContentExpriry(); + $txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder'); + if(is_string($txt)) + echo $txt; + else { + echo $this->documentListRow($document, $previewer); + } + } + $i++; + } + + $txt = $this->callHook('folderListFooter', $folder); + if(is_string($txt)) + echo $txt; + else + echo "\n
    ".($parent ? '' : '')."".getMLText("name"); + print " ".($orderby=="n"||$orderby=="na"?' ':($orderby=="nd"?' ':' ')).""; + print " ".($orderby=="s"||$orderby=="sa"?' ':($orderby=="sd"?' ':' ')).""; + print " ".($orderby=="d"||$orderby=="da"?' ':($orderby=="dd"?' ':' ')).""; + print "".getMLText("owner")."".getMLText("status")."".getMLText("version")."".getMLText("action")."
    \n"; + + if($maxItemsPerPage && $i > $maxItemsPerPage) + echo ""; + } + else printMLText("empty_folder_list"); + + $txt = $this->callHook('folderListPostContent', $folder, $subFolders, $documents); + if(is_string($txt)) + echo $txt; + + } /* }}} */ + + function navigation() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $folder = $this->params['folder']; + + $txt = $this->callHook('folderMenu', $folder); + if(is_string($txt)) + echo $txt; + else { + $this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder); + } + + echo $this->callHook('preContent'); + } /* }}} */ + + function dropUpload() { /* {{{ */ + $dms = $this->params['dms']; + $user = $this->params['user']; + $folder = $this->params['folder']; + + $this->contentHeading(getMLText("dropupload"), true); +?> +
    +params['dms']; $user = $this->params['user']; @@ -235,7 +517,6 @@ $('#loadmore').click(function(e) { $expandFolderTree = $this->params['expandFolderTree']; $showtree = $this->params['showtree']; $cachedir = $this->params['cachedir']; - $workflowmode = $this->params['workflowmode']; $enableRecursiveCount = $this->params['enableRecursiveCount']; $maxRecursiveCount = $this->params['maxRecursiveCount']; $maxItemsPerPage = $this->params['maxItemsPerPage']; @@ -246,25 +527,20 @@ $('#loadmore').click(function(e) { $xsendfile = $this->params['xsendfile']; $folderid = $folder->getId(); + $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); + $previewer->setConverters($previewconverters); $this->htmlAddHeader(''."\n", 'js'); echo $this->callHook('startPage'); $this->htmlStartPage(getMLText("folder_title", array("foldername" => htmlspecialchars($folder->getName())))); - $this->globalNavigation($folder); $this->contentStart(); - $txt = $this->callHook('folderMenu', $folder); - if(is_string($txt)) - echo $txt; - else { - $this->pageNavigation($this->getFolderPathHTML($folder), "view_folder", $folder); - } - $previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile); - $previewer->setConverters($previewconverters); - - echo $this->callHook('preContent'); +// $this->navigation(); +?> +
    getID()."\"" : "") ?>>
    +\n"; @@ -278,6 +554,9 @@ $('#loadmore').click(function(e) { } if ($LeftColumnSpan > 0) { echo "
    \n"; + + echo $this->callHook('leftContentPre'); + if ($enableFolderTree) { if ($showtree==1){ $this->contentHeading("", true); @@ -297,6 +576,8 @@ $('#loadmore').click(function(e) { if ($enableClipboard) $this->printClipboard($this->params['session']->getClipboard(), $previewer); + echo $this->callHook('leftContentPost'); + echo "
    \n"; } echo "
    \n"; @@ -305,184 +586,27 @@ $('#loadmore').click(function(e) { echo "
    "; echo "
    "; } - $txt = $this->callHook('folderInfo', $folder); - if(is_string($txt)) - echo $txt; - else { - $owner = $folder->getOwner(); - $this->contentHeading(getMLText("folder_infos")); - $this->contentContainerStart(); - echo "\n"; - if($user->isAdmin()) { - echo ""; - echo "\n"; - echo "\n"; - echo ""; - } - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - if($folder->getComment()) { - echo ""; - echo "\n"; - echo "\n"; - echo ""; - } - - if($user->isAdmin()) { - echo ""; - echo ""; - echo ""; - echo ""; - if($folder->inheritsAccess()) { - echo ""; - echo "\n"; - echo ""; - } else { - echo ""; - echo ""; - echo ""; - echo ""; - } - } - $attributes = $folder->getAttributes(); - if($attributes) { - foreach($attributes as $attribute) { - $arr = $this->callHook('showFolderAttribute', $folder, $attribute); - if(is_array($arr)) { - echo $txt; - echo ""; - echo ""; - echo ""; - echo ""; - } else { - $attrdef = $attribute->getAttributeDefinition(); - ?> - - - - +// $this->folderInfos(); +?> +
    getID()."\"" : "") ?>>
    \n"; - $this->contentContainerEnd(); - } if ($enableDropUpload && $folder->getAccessMode($user) >= M_READWRITE) { echo ""; echo "
    "; - $this->contentHeading(getMLText("dropupload"), true); -// $this->addFooterJS("SeedDMSUpload.setUrl('../op/op.Ajax.php');"); -// $this->addFooterJS("SeedDMSUpload.setAbortBtnLabel('".getMLText("cancel")."');"); -// $this->addFooterJS("SeedDMSUpload.setEditBtnLabel('".getMLText("edit_document_props")."');"); -// $this->addFooterJS("SeedDMSUpload.setMaxFileSize(".SeedDMS_Core_File::parse_filesize(ini_get("upload_max_filesize")).");"); -// $this->addFooterJS("SeedDMSUpload.setMaxFileSizeMsg('".getMLText("uploading_maxsize")."');"); +// $this->dropUpload(); ?> -
    +
    getID()."\"" : "") ?>>
    "; echo "
    "; } - $txt = $this->callHook('listHeader', $folder); - if(is_string($txt)) - echo $txt; - else - $this->contentHeading(getMLText("folder_contents")); - - $subFolders = $this->callHook('folderGetSubFolders', $folder, $orderby[0], $orderdir); - if($subFolders === null) - $subFolders = $folder->getSubFolders($orderby[0], $orderdir); - $subFolders = SeedDMS_Core_DMS::filterAccess($subFolders, $user, M_READ); - $documents = $this->callHook('folderGetDocuments', $folder, $orderby[0], $orderdir); - if($documents === null) - $documents = $folder->getDocuments($orderby[0], $orderdir); - $documents = SeedDMS_Core_DMS::filterAccess($documents, $user, M_READ); - - $txt = $this->callHook('folderListPreContent', $folder, $subFolders, $documents); - if(is_string($txt)) - echo $txt; - $i = 0; - if ((count($subFolders) > 0)||(count($documents) > 0)){ - $txt = $this->callHook('folderListHeader', $folder, $orderby, $orderdir); - if(is_string($txt)) - echo $txt; - else { - print "
    ".getMLText("id").":".htmlspecialchars($folder->getID())."
    ".getMLText("owner").":getEmail())."\">".htmlspecialchars($owner->getFullName())."
    ".getMLText("creation_date").":".getLongReadableDate($folder->getDate())."
    ".getMLText("comment").":".htmlspecialchars($folder->getComment())."
    ".getMLText('default_access').":".$this->getAccessModeText($folder->getDefaultAccess())."
    ".getMLText("access_mode").":"; - echo getMLText("inherited")."
    "; - $this->printAccessList($folder); - echo "
    ".getMLText('access_mode').":"; - $this->printAccessList($folder); - echo "
    ".$arr[0].":".$arr[1].":
    getName()); ?>:getValueAsArray())); ?>
    "; - print "\n\n"; - print "\n"; - print "\n"; - // print "\n"; - print "\n"; - // print "\n"; - print "\n"; - print "\n\n\n"; - } - - foreach($subFolders as $subFolder) { - if(!$maxItemsPerPage || $i < $maxItemsPerPage) { - $txt = $this->callHook('folderListItem', $subFolder, 'viewfolder'); - if(is_string($txt)) - echo $txt; - else { - echo $this->folderListRow($subFolder); - } - } - $i++; - } - - if($subFolders && $documents) { - if(!$maxItemsPerPage || $maxItemsPerPage > count($subFolders)) { - $txt = $this->callHook('folderListSeparator', $folder); - if(is_string($txt)) - echo $txt; - } - } - - foreach($documents as $document) { - if(!$maxItemsPerPage || $i < $maxItemsPerPage) { - $document->verifyLastestContentExpriry(); - $txt = $this->callHook('documentListItem', $document, $previewer, false, 'viewfolder'); - if(is_string($txt)) - echo $txt; - else { - echo $this->documentListRow($document, $previewer); - } - } - $i++; - } - - $txt = $this->callHook('folderListFooter', $folder); - if(is_string($txt)) - echo $txt; - else - echo "\n
    ".getMLText("name"); - print " ".($orderby=="n"||$orderby=="na"?' ':($orderby=="nd"?' ':' ')).""; - print " ".($orderby=="s"||$orderby=="sa"?' ':($orderby=="sd"?' ':' ')).""; - print " ".($orderby=="d"||$orderby=="da"?' ':($orderby=="dd"?' ':' ')).""; - print "".getMLText("owner")."".getMLText("status")."".getMLText("version")."".getMLText("action")."
    \n"; - - if($maxItemsPerPage && $i > $maxItemsPerPage) - echo ""; - } - else printMLText("empty_folder_list"); - - $txt = $this->callHook('folderListPostContent', $folder, $subFolders, $documents); - if(is_string($txt)) - echo $txt; - +// $this->folderList(); +?> +
    getID()."&orderby=".$orderby."\"" : "") ?>>
    +\n"; // End of right column div echo "
    \n"; // End of div around left and right column diff --git a/views/bootstrap/class.WorkflowSummary.php b/views/bootstrap/class.WorkflowSummary.php index d0711044a..f013a8c1b 100644 --- a/views/bootstrap/class.WorkflowSummary.php +++ b/views/bootstrap/class.WorkflowSummary.php @@ -36,6 +36,14 @@ require_once("SeedDMS/Preview.php"); */ class SeedDMS_View_WorkflowSummary extends SeedDMS_Bootstrap_Style { + function js() { /* {{{ */ + header('Content-Type: application/javascript; charset=UTF-8'); + parent::jsTranslations(array('cancel', 'splash_move_document', 'confirm_move_document', 'move_document', 'confirm_transfer_link_document', 'transfer_content', 'link_document', 'splash_move_folder', 'confirm_move_folder', 'move_folder')); + + $this->printDeleteDocumentButtonJs(); + $this->printClickDocumentJs(); + } /* }}} */ + function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; diff --git a/webdav/index.php b/webdav/index.php index 8d1cf3e92..7c3bac0ed 100644 --- a/webdav/index.php +++ b/webdav/index.php @@ -1,5 +1,7 @@ _logFileEnable) { if ($settings->_logFileRotation=="h") $logname=date("YmdH", time()); else if ($settings->_logFileRotation=="d") $logname=date("Ymd", time()); @@ -17,16 +20,38 @@ if($settings->_logFileEnable) { @mkdir($settings->_contentDir.'log'); if(file_exists($settings->_contentDir.'log') && is_dir($settings->_contentDir.'log')) { $log = Log::factory('file', $logname); - $log->setMask(Log::MAX(PEAR_LOG_INFO)); + $log->setMask(Log::MAX(PEAR_LOG_DEBUG)); } else $log = null; } else { $log = null; } +$notifier = new SeedDMS_NotificationService(); + +if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) { + if(method_exists($notificationObj, 'preAddService')) { + $notificationObj->preAddService($dms, $notifier); + } + } +} + +if($settings->_enableEmail) { + $notifier->addService(new SeedDMS_EmailNotify($dms, $settings->_smtpSendFrom, $settings->_smtpServer, $settings->_smtpPort, $settings->_smtpUser, $settings->_smtpPassword)); +} + +if(isset($GLOBALS['SEEDDMS_HOOKS']['notification'])) { + foreach($GLOBALS['SEEDDMS_HOOKS']['notification'] as $notificationObj) { + if(method_exists($notificationObj, 'postAddService')) { + $notificationObj->postAddService($dms, $notifier); + } + } +} + include("webdav.php"); $server = new HTTP_WebDAV_Server_SeedDMS(); -$server->ServeRequest($dms, $log); +$server->ServeRequest($dms, $log, $notifier); //$files = array(); //$options = array('path'=>'/Test1/subdir', 'depth'=>1); //echo $server->MKCOL(&$options); diff --git a/webdav/webdav.php b/webdav/webdav.php index 12dab5244..00c4e0d4f 100644 --- a/webdav/webdav.php +++ b/webdav/webdav.php @@ -31,6 +31,16 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server */ var $logger = null; + /** + * A reference to a notifier + * + * This is set by ServeRequest + * + * @access private + * @var object + */ + var $notifier = null; + /** * Currently logged in user * @@ -53,7 +63,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server * @access public * @param object $dms reference to DMS */ - function ServeRequest($dms = null, $logger = null) /* {{{ */ + function ServeRequest($dms = null, $logger = null, $notifier = null) /* {{{ */ { // set root directory, defaults to webserver document root if not set if ($dms) { @@ -65,6 +75,9 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server // set logger $this->logger = $logger; + // set notifier + $this->notifier = $notifier; + // special treatment for litmus compliance test // reply on its identifier header // not needed for the test itself but eases debugging @@ -93,6 +106,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server if($this->logger) { switch($methode) { case 'MOVE': + case 'COPY': $msg = $methode.': '.$options['path'].' -> '.$options['dest']; break; default: @@ -601,7 +615,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $document = $this->dms->getDocumentByName($name, $folder); if($document) { if($this->logger) - $this->logger->log('PUT: replacing document id='.$document->getID(), PEAR_LOG_INFO); + $this->logger->log('PUT: saving document id='.$document->getID(), PEAR_LOG_INFO); if ($document->getAccessMode($this->user, 'updateDocument') < M_READWRITE) { if($this->logger) $this->logger->log('PUT: no access on document', PEAR_LOG_ERR); @@ -633,13 +647,63 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server } else { if($this->logger) $this->logger->log('PUT: adding new version', PEAR_LOG_INFO); - if(!$document->addContent('', $this->user, $tmpFile, $name, $fileType, $mimetype, array(), array(), 0)) { + + if($settings->_enableFullSearch) { + $index = $indexconf['Indexer']::open($settings->_luceneDir); + $indexconf['Indexer']::init($settings->_stopWordsFile); + } else { + $index = null; + $indexconf = null; + } + + $controller = Controller::factory('UpdateDocument'); + $controller->setParam('dms', $this->dms); + $controller->setParam('user', $this->user); + $controller->setParam('documentsource', 'webdav'); + $controller->setParam('folder', $document->getFolder()); + $controller->setParam('document', $document); + $controller->setParam('index', $index); + $controller->setParam('indexconf', $indexconf); + $controller->setParam('comment', ''); + $controller->setParam('userfiletmp', $tmpFile); + $controller->setParam('userfilename', $name); + $controller->setParam('filetype', $fileType); + $controller->setParam('userfiletype', $mimetype); + $controller->setParam('reviewers', array()); + $controller->setParam('approvers', array()); + $controller->setParam('attributes', array()); + $controller->setParam('workflow', null); + + if(!$content = $controller->run()) { +// if(!$document->addContent('', $this->user, $tmpFile, $name, $fileType, $mimetype, array(), array(), 0)) { if($this->logger) $this->logger->log('PUT: error adding new version', PEAR_LOG_ERR); unlink($tmpFile); return "409 Conflict"; } } + if($this->notifier) { + if($this->logger) + $this->logger->log('PUT: Sending Notifications', PEAR_LOG_INFO); + $notifyList = $document->getNotifyList(); + $folder = $document->getFolder(); + + $subject = "document_updated_email_subject"; + $message = "document_updated_email_body"; + $params = array(); + $params['name'] = $document->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['comment'] = $document->getComment(); + $params['version_comment'] = $content->getComment(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $notifyList["users"], $subject, $message, $params); + foreach ($notifyList["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } } } } else { @@ -651,6 +715,16 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server unlink($tmpFile); return "403 Forbidden"; } + + /* Check if name already exists in the folder */ + /* + if(!$settings->_enableDuplicateDocNames) { + if($folder->hasDocumentByName($name)) { + return "403 Forbidden"; + } + } + */ + if($settings->_enableFullSearch) { $index = $indexconf['Indexer']::open($settings->_luceneDir); $indexconf['Indexer']::init($settings->_stopWordsFile); @@ -699,6 +773,33 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $this->logger->log('PUT: error adding object: '.$controller->getErrorMsg(), PEAR_LOG_ERR); return "409 Conflict ".$controller->getErrorMsg(); } + if($this->notifier) { + if($this->logger) + $this->logger->log('PUT: Sending Notifications', PEAR_LOG_INFO); + $fnl = $folder->getNotifyList(); + $dnl = $document->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR) + ); + + $subject = "new_document_email_subject"; + $message = "new_document_email_body"; + $params = array(); + $params['name'] = $name; + $params['folder_name'] = $folder->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['comment'] = ''; + $params['version_comment'] = ''; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } } unlink($tmpFile); @@ -713,7 +814,9 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server * @return bool true on success */ function MKCOL($options) /* {{{ */ - { + { + global $settings; + $this->log_options('MKCOL', $options); $path = $options["path"]; @@ -774,6 +877,33 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server return "409 Conflict ".$controller->getErrorMsg(); } + if($this->notifier) { + if($this->logger) + $this->logger->log('MKCOL: Sending Notifications', PEAR_LOG_INFO); + $fnl = $folder->getNotifyList(); + $snl = $subFolder->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($snl['users'], $fnl['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($snl['groups'], $fnl['groups']), SORT_REGULAR) + ); + + $subject = "new_subfolder_email_subject"; + $message = "new_subfolder_email_body"; + $params = array(); + $params['name'] = $subFolder->getName(); + $params['folder_name'] = $folder->getName(); + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['comment'] = ''; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$subFolder->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } + return ("201 Created"); } /* }}} */ @@ -820,6 +950,16 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $this->logger->log('DELETE: cannot delete, folder has children', PEAR_LOG_ERR); return "409 Conflict"; } + + $parent = $obj->getParent(); + $fnl = $obj->getNotifyList(); + $pnl = $parent->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($fnl['users'], $pnl['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($fnl['groups'], $pnl['groups']), SORT_REGULAR) + ); + $foldername = $obj->getName(); + $controller = Controller::factory('RemoveFolder'); $controller->setParam('dms', $this->dms); $controller->setParam('user', $this->user); @@ -827,10 +967,39 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $controller->setParam('index', $index); $controller->setParam('indexconf', $indexconf); if(!$controller->run()) { -// if(!$obj->remove()) { return "409 Conflict ".$controller->getErrorMsg(); } + + if($this->notifier) { + if($this->logger) + $this->logger->log('DELETE: Sending Notifications', PEAR_LOG_INFO); + $subject = "folder_deleted_email_subject"; + $message = "folder_deleted_email_body"; + $params = array(); + $params['name'] = $foldername; + $params['folder_path'] = $parent->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$parent->getID(); + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } } else { + /* Get the notify list before removing the document + * Also inform the users/groups of the parent folder + */ + $folder = $obj->getFolder(); + $dnl = $obj->getNotifyList(); + $fnl = $folder->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR) + ); + $docname = $obj->getName(); + $controller = Controller::factory('RemoveDocument'); $controller->setParam('dms', $this->dms); $controller->setParam('user', $this->user); @@ -838,9 +1007,26 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $controller->setParam('index', $index); $controller->setParam('indexconf', $indexconf); if(!$controller->run()) { -// if(!$obj->remove()) { return "409 Conflict ".$controller->getErrorMsg(); } + + if($this->notifier){ + if($this->logger) + $this->logger->log('DELETE: Sending Notifications', PEAR_LOG_INFO); + $subject = "document_deleted_email_subject"; + $message = "document_deleted_email_body"; + $params = array(); + $params['name'] = $docname; + $params['folder_path'] = $folder->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$folder->getID(); + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } } return "204 No Content"; @@ -855,6 +1041,8 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server */ function MOVE($options) /* {{{ */ { + global $settings; + $this->log_options('MOVE', $options); // no copying to different WebDAV Servers yet @@ -874,6 +1062,11 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $objdest = $this->reverseLookup($options["dest"]); $newdocname = ''; + /* if the destіnation could not be found, then a folder/document shall + * be renamed. In that case the source object is moved into the ѕame + * or different folder under a new name. + * $objdest will store the new destination folder afterwards + */ if(!$objdest) { /* check if at least the dest directory exists */ $dirname = dirname($options['dest']); @@ -908,13 +1101,13 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $fspath = $this->dms->contentDir.'/'.$content->getPath(); /* save the content as a new version in the destination document */ - if(!$objdest->addContent('', $this->user, $fspath, $content->getOriginalFileName(), $content->getFileType(), $content->getMimeType, array(), array(), 0)) { + if(!$objdest->addContent('', $this->user, $fspath, $content->getOriginalFileName(), $content->getFileType(), $content->getMimeType(), array(), array(), 0)) { unlink($tmpFile); return "409 Conflict"; } /* change the name of the destination object */ - $objdest->setName($objsource->getName()); + // $objdest->setName($objsource->getName()); /* delete the source object */ $objsource->remove(); @@ -922,11 +1115,94 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server return "204 No Content"; } elseif(get_class($objdest) == $this->dms->getClassname('folder')) { /* Set the new Folder of the source object */ - if(get_class($objsource) == $this->dms->getClassname('document')) - $objsource->setFolder($objdest); - elseif(get_class($objsource) == $this->dms->getClassname('folder')) - $objsource->setParent($objdest); - else + if(get_class($objsource) == $this->dms->getClassname('document')) { + /* Check if name already exists in the folder */ + if(!$settings->_enableDuplicateDocNames) { + if($newdocname) { + if($objdest->hasDocumentByName($newdocname)) { + return "403 Forbidden"; + } + } else { + if($objdest->hasDocumentByName($objsource->getName())) { + return "403 Forbidden"; + } + } + } + + $oldFolder = $objsource->getFolder(); + if($objsource->setFolder($objdest)) { + if($this->notifier) { + if($this->logger) + $this->logger->log('MOVE: Sending Notifications', PEAR_LOG_INFO); + $nl1 = $oldFolder->getNotifyList(); + $nl2 = $objsource->getNotifyList(); + $nl3 = $objdest->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($nl1['users'], $nl2['users'], $nl3['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($nl1['groups'], $nl2['groups'], $nl3['groups']), SORT_REGULAR) + ); + $subject = "document_moved_email_subject"; + $message = "document_moved_email_body"; + $params = array(); + $params['name'] = $objsource->getName(); + $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); + $params['new_folder_path'] = $objdest->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewDocument.php?documentid=".$objsource->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } + } else { + return "500 Internal server error"; + } + } elseif(get_class($objsource) == $this->dms->getClassname('folder')) { + /* Check if name already exists in the folder */ + if(!$settings->_enableDuplicateSubFolderNames) { + if($newdocname) { + if($objdest->hasSubFolderByName($newdocname)) { + return "403 Forbidden"; + } + } else { + if($objdest->hasSubFolderByName($objsource->getName())) { + return "403 Forbidden"; + } + } + } + $oldFolder = $objsource->getParent(); + if($objsource->setParent($objdest)) { + if($this->notifier) { + if($this->logger) + $this->logger->log('MOVE: Sending Notifications', PEAR_LOG_INFO); + $nl1 = $oldFolder->getNotifyList(); + $nl2 = $objsource->getNotifyList(); + $nl3 = $objdest->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($nl1['users'], $nl2['users'], $nl3['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($nl1['groups'], $nl2['groups'], $nl3['groups']), SORT_REGULAR) + ); + $subject = "folder_moved_email_subject"; + $message = "folder_moved_email_body"; + $params = array(); + $params['name'] = $objsource->getName(); + $params['old_folder_path'] = $oldFolder->getFolderPathPlain(); + $params['new_folder_path'] = $objdest->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$objsource->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } + } else { + return "500 Internal server error"; + } + } else return "500 Internal server error"; if($newdocname) $objsource->setName($newdocname); @@ -940,12 +1216,11 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server * @param array general parameter passing array * @return bool true on success */ - function COPY($options, $del=false) /* {{{ */ + function COPY($options) /* {{{ */ { global $settings, $indexconf; - if(!$del) - $this->log_options('COPY', $options); + $this->log_options('COPY', $options); // TODO Property updates still broken (Litmus should detect this?) @@ -974,6 +1249,8 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server // get dest folder or document $objdest = $this->reverseLookup($options["dest"]); + // If the destination doesn't exists, then check if the parent folder exists + // and set $newdocname, which is later used to create a new document $newdocname = ''; if(!$objdest) { /* check if at least the dest directory exists */ @@ -995,7 +1272,7 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server return "403 Forbidden"; } - /* If destination object is a document it must be overwritten */ + /* If destination object is a document the source document will create a new version */ if(get_class($objdest) == $this->dms->getClassname('document')) { if (!$options["overwrite"]) { return "412 precondition failed"; @@ -1009,13 +1286,19 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $content = $objsource->getLatestContent(); $fspath = $this->dms->contentDir.'/'.$content->getPath(); + /* If the checksum of source and destination are equal, then do not copy */ + if($content->getChecksum() == $objdest->getLatestContent()->getChecksum()) { + return "204 No Content"; + } + /* save the content as a new version in the destination document */ - if(!$objdest->addContent('', $this->user, $fspath, $content->getOriginalFileName(), $content->getFileType(), $content->getMimeType, array(), array(), 0)) { + if(!$objdest->addContent('', $this->user, $fspath, $content->getOriginalFileName(), $content->getFileType(), $content->getMimeType(), array(), array(), 0)) { unlink($tmpFile); return "409 Conflict"; } - $objdest->setName($objsource->getName()); + /* Since 5.1.13 do not overwrite the name anymore + $objdest->setName($objsource->getName()); */ return "204 No Content"; } elseif(get_class($objdest) == $this->dms->getClassname('folder')) { @@ -1033,6 +1316,15 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server if(!$newdocname) $newdocname = $objsource->getName(); + /* Check if name already exists in the folder */ + /* + if(!$settings->_enableDuplicateDocNames) { + if($objdest->hasDocumentByName($newdocname)) { + return "403 Forbidden"; + } + } + */ + /* get the latest content of the source object */ $content = $objsource->getLatestContent(); $fspath = $this->dms->contentDir.'/'.$content->getPath(); @@ -1084,6 +1376,34 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server $this->logger->log('COPY: error copying object', PEAR_LOG_ERR); return "409 Conflict"; } + + if($this->notifier) { + if($this->logger) + $this->logger->log('COPY: Sending Notifications', PEAR_LOG_INFO); + $fnl = $objdest->getNotifyList(); + $dnl = $document->getNotifyList(); + $nl = array( + 'users'=>array_unique(array_merge($dnl['users'], $fnl['users']), SORT_REGULAR), + 'groups'=>array_unique(array_merge($dnl['groups'], $fnl['groups']), SORT_REGULAR) + ); + + $subject = "new_document_email_subject"; + $message = "new_document_email_body"; + $params = array(); + $params['name'] = $name; + $params['folder_name'] = $objdest->getName(); + $params['folder_path'] = $objdest->getFolderPathPlain(); + $params['username'] = $this->user->getFullName(); + $params['comment'] = ''; + $params['version_comment'] = ''; + $params['url'] = "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'].$settings->_httpRoot."out/out.ViewFolder.php?folderid=".$objdest->getID(); + $params['sitename'] = $settings->_siteName; + $params['http_root'] = $settings->_httpRoot; + $this->notifier->toList($this->user, $nl["users"], $subject, $message, $params); + foreach ($nl["groups"] as $grp) { + $this->notifier->toGroup($this->user, $grp, $subject, $message, $params); + } + } return "201 Created"; } } /* }}} */