Merge branch 'seeddms-6.0.x' into seeddms-6.1.x

This commit is contained in:
Uwe Steinmann 2023-03-11 22:25:51 +01:00
commit a5f6c3ee20
76 changed files with 689 additions and 198 deletions

View File

@ -7,6 +7,11 @@
- do not use md5 password hashing anymore, hashes will be updated automatically
when passwords are reset
--------------------------------------------------------------------------------
Changes in version 6.0.23
--------------------------------------------------------------------------------
- fix setting recipients and revisors
--------------------------------------------------------------------------------
Changes in version 6.0.22
--------------------------------------------------------------------------------
@ -252,6 +257,16 @@
- add document list which can be exported as an archive
- search results can be exported
--------------------------------------------------------------------------------
Changes in version 5.1.30
--------------------------------------------------------------------------------
- conversion from pdf to png replaces alpha channel with white
- add list of conversion services in debug menu of admin tool
- use chosen select for custom attributes
- color category (use first 6 chars of md5(category name) as hex color)
- create missing preview images in category or attribute manager
- support README of extension in different languages
--------------------------------------------------------------------------------
Changes in version 5.1.29
--------------------------------------------------------------------------------
@ -260,12 +275,13 @@
- update jquery to 3.6.1 (only bootstrap4 theme)
- introduce authentication service
- new hook in restapi to add middleware
- previews for png, txt, pdf in different directories
- previews for png, txt, pdf in different directories. This will
enforce a recreation of all cached preview images, pdf and text files!
- various improvements of fulltext service
- show number of documents per category in category manager
- show number of keywords per category in keyword manager
- improve drag&drop with clipboard
- old pear packages for SeedDMS/Core, SeedDMS/Lucene, SeedDMS/Preview
- old pear packages SeedDMS/Core, SeedDMS/Lucene, SeedDMS/Preview
are now based on composer and has moved into vendor dir
--------------------------------------------------------------------------------

View File

@ -15,7 +15,7 @@
footNote = "SeedDMS free document management system - www.seeddms.org"
printDisclaimer = "true"
language = "en_GB"
theme = "bootstrap"
theme = "bootstrap4"
previewWidthList = "40"
previewWidthDetail = "100"
onePageMode="true"
@ -60,8 +60,8 @@
enableDropUpload = "false"
enableRecursiveCount = "false"
maxRecursiveCount = "0"
enableThemeSelector = "false"
fullSearchEngine = "lucene"
enableThemeSelector = "true"
fullSearchEngine = "sqlitefts"
sortFoldersDefault = "u"
defaultDocPosition = "end"
defaultFolderPosition = "end"

View File

@ -45,7 +45,7 @@ class SeedDMS_Controller_ReviewDocument extends SeedDMS_Controller_Common {
if($result === null) {
if ($reviewtype == "ind") {
$reviewLogID > $content->setReviewByInd($user, $user, $reviewstatus, $comment, $file);
$reviewLogID = $content->setReviewByInd($user, $user, $reviewstatus, $comment, $file);
if($reviewLogID === false || 0 > $reviewLogID) {
$this->error = 1;
$this->errormsg = "review_update_failed";

View File

@ -122,3 +122,9 @@ application/csv
application/vnd.wordperfect
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:- 'png:%o'
video/webm
video/mp4
This will take 12th frame of a video and converts into a png. It requires
ffmpeg to be installed.
convert -resize %wx '%f[12]' 'png:%o'

View File

@ -49,6 +49,7 @@ class SeedDMS_ConversionServiceExec extends SeedDMS_ConversionServiceBase {
);
$pipes = array();
$orgtimeout = $timeout;
$timeout += time();
// Putting an 'exec' before the command will not fork the command
// and therefore not create any child process. proc_terminate will
@ -84,7 +85,7 @@ class SeedDMS_ConversionServiceExec extends SeedDMS_ConversionServiceBase {
fclose($pipes[2]);
if ($timeleft <= 0) {
proc_terminate($process);
throw new Exception("command timeout on: " . $cmd);
throw new Exception("command timeout after ".$orgtimeout." secs on: " . $cmd);
} else {
$return_value = proc_close($process);
return array('stdout'=>$output, 'stderr'=>$error, 'return'=>$return_value);
@ -169,6 +170,9 @@ class SeedDMS_ConversionServiceExec extends SeedDMS_ConversionServiceBase {
if($hastempfile)
unlink($tmpfile);
$this->success = false;
if($this->logger) {
$this->logger->log('Conversion from '.$this->from.' to '.$this->to.' with cmd "'.$this->cmd.'" failed: '.$e->getMessage(), PEAR_LOG_ERR);
}
return false;
}
$end = microtime(true);

View File

@ -64,6 +64,15 @@ class SeedDMS_ConversionServicePdfToImage extends SeedDMS_ConversionServiceBase
if($imagick->readImage($infile.'['.$page.']')) {
if(!empty($params['width']))
$imagick->scaleImage(min((int) $params['width'], $imagick->getImageWidth()), 0);
/* Remove alpha channel and set to white */
$imagick->setImageBackgroundColor('white');
/* Setting the color-type and bit-depth produces much smaller images
* because the default depth appears to be 16 bit
*/
$imagick->setOption('png:color-type', 6);
$imagick->setOption('png:bit-depth', 8);
$imagick->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
$imagick->mergeImageLayers(Imagick::LAYERMETHOD_FLATTEN);
$imagick->setImageFormat('png');
$end = microtime(true);
if($this->logger) {

View File

@ -122,11 +122,12 @@ class SeedDMS_Extension_Mgr {
if(!file_exists($this->getExtensionsConfFile())) {
$this->createExtensionConf();
}
include($this->getExtensionsConfFile());
if(@include($this->getExtensionsConfFile())) {
if(!empty($EXT_CONF)) {
$this->extconf = $EXT_CONF;
}
}
}
} /* }}} */
public function getRepositoryUrl() { /* {{{ */

View File

@ -181,14 +181,14 @@ class SeedDMS_FulltextService {
* document if its content is below the configured size.
* @return object indexed Document ready for passing to the indexer
*/
public function IndexedDocument($object, $forceupdate=false) {
public function IndexedDocument($object, $forceupdate=false) { /* {{{ */
if($object->isType('document'))
$nocontent = $object->getLatestContent()->getFileSize() > $this->maxsize && $this->maxsize && !$forceupdate;
else
$nocontent = true;
$convcallback = $this->getConversionWithPreviewCallback();
return new $this->services[0]['IndexedDocument']($object->getDMS(), $object, $convcallback /*$this->conversionmgr ? $this->conversionmgr : $this->converters*/, $nocontent, $this->cmdtimeout);
}
} /* }}} */
/**
* Returns an instance of the indexer
@ -198,7 +198,7 @@ class SeedDMS_FulltextService {
*
* @return object instance of class specified in 'Indexer'
*/
public function Indexer($recreate=false) {
public function Indexer($recreate=false) { /* {{{ */
if($this->index)
return $this->index;
@ -210,9 +210,9 @@ class SeedDMS_FulltextService {
return $this->index;
} else
return null;
}
} /* }}} */
public function Search() {
public function Search() { /* {{{ */
if($this->search)
return $this->search;
if($this->services[0]) {
@ -221,7 +221,7 @@ class SeedDMS_FulltextService {
} else {
return null;
}
}
} /* }}} */
}

View File

@ -99,6 +99,8 @@ class Settings { /* {{{ */
var $_coreDir = null;
// Path to SeedDMS_Lucene
var $_luceneClassDir = null;
// The base URL without _httpRoot
var $_baseUrl = "";
// The relative path in the URL, after the domain part.
var $_httpRoot = "/seeddms/";
// Where the uploaded files are stored (best to choose a directory that
@ -617,6 +619,7 @@ class Settings { /* {{{ */
if($node) {
$tab = $node[0]->attributes();
$this->_rootDir = strval($tab["rootDir"]);
$this->_baseUrl = strval($tab["baseUrl"]);
$this->_httpRoot = strval($tab["httpRoot"]);
$this->_contentDir = strval($tab["contentDir"]);
if($this->_contentDir && substr($this->_contentDir, -1, 1) != DIRECTORY_SEPARATOR)
@ -1006,6 +1009,7 @@ class Settings { /* {{{ */
$this->getXMLNode($xml, '/configuration', 'system');
$node = $this->getXMLNode($xml, '/configuration/system', 'server');
$this->setXMLAttributValue($node, "rootDir", $this->_rootDir);
$this->setXMLAttributValue($node, "baseUrl", $this->_baseUrl);
$this->setXMLAttributValue($node, "httpRoot", $this->_httpRoot);
$this->setXMLAttributValue($node, "contentDir", $this->_contentDir);
$this->setXMLAttributValue($node, "cacheDir", $this->_cacheDir);

View File

@ -189,6 +189,10 @@ class UI extends UI_Default {
static function exitError($pagetitle, $error, $noexit=false, $plain=false) {
global $theme, $dms, $user, $settings;
$view = UI::factory($theme, 'ErrorDlg');
$request = $view->getParam('request');
if($request) {
$request->query->set('action', 'show');
}
$view->setParam('dms', $dms);
$view->setParam('user', $user);
$view->setParam('pagetitle', $pagetitle);

View File

@ -357,4 +357,17 @@ class SeedDMS_View_Common {
}
echo "};\n";
} /* }}} */
public static function getContrastColor($hexcolor) { /* {{{ */
$r = hexdec(substr($hexcolor, 1, 2));
$g = hexdec(substr($hexcolor, 3, 2));
$b = hexdec(substr($hexcolor, 5, 2));
if(0) {
$yiq = (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
return ($yiq >= 148) ? '000000' : 'ffffff';
} else {
$l = (max($r, max($g, $b)) + min($r, min($g, $b)))/2;
return ($l > 128) ? '000000' : 'ffffff';
}
} /* }}} */
}

View File

@ -61,7 +61,11 @@ $dms->setMaxDirID($settings->_maxDirID);
if(isset($GLOBALS['SEEDDMS_HOOKS']['initDMS'])) {
foreach($GLOBALS['SEEDDMS_HOOKS']['initDMS'] as $hookObj) {
if (method_exists($hookObj, 'postInitDMS')) {
$hookObj->postInitDMS(array('dms'=>$dms, 'settings'=>$settings, 'logger'=>$logger));
$ret = $hookObj->postInitDMS(array('dms'=>$dms, 'settings'=>$settings, 'logger'=>$logger));
if($ret === false) {
echo "Fatal error in postInitDMS Hook. No way to recover.";
exit;
}
}
}
}

View File

@ -1,5 +1,11 @@
<?php
function getAttributesCallback($dms) {
return function () use ($dms) {
return $dms->getAllAttributeDefinitions();
};
}
$fulltextservice = null;
if($settings->_enableFullSearch) {
require_once("inc.ClassFulltextService.php");
@ -11,7 +17,10 @@ if($settings->_enableFullSearch) {
'Indexer' => 'SeedDMS_SQLiteFTS_Indexer',
'Search' => 'SeedDMS_SQLiteFTS_Search',
'IndexedDocument' => 'SeedDMS_SQLiteFTS_IndexedDocument',
'Conf' => array('indexdir' => $settings->_luceneDir)
'Conf' => array(
'indexdir' => $settings->_luceneDir,
'attrcallback' => getAttributesCallback($dms)
)
);
$fulltextservice->addService('sqlitefts', $indexconf);

View File

@ -333,6 +333,68 @@ function getOverallStatusText($status) { /* {{{ */
}
} /* }}} */
function getAttributeTypeText($attrdef) { /* {{{ */
$t = '';
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_int:
$t = getMLText("attrdef_type_int");
break;
case SeedDMS_Core_AttributeDefinition::type_float:
$t = getMLText("attrdef_type_float");
break;
case SeedDMS_Core_AttributeDefinition::type_string:
$t = getMLText("attrdef_type_string");
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$t = getMLText("attrdef_type_boolean");
break;
case SeedDMS_Core_AttributeDefinition::type_date:
$t = getMLText("attrdef_type_date");
break;
case SeedDMS_Core_AttributeDefinition::type_email:
$t = getMLText("attrdef_type_email");
break;
case SeedDMS_Core_AttributeDefinition::type_url:
$t = getMLText("attrdef_type_url");
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$t = getMLText("attrdef_type_boolean");
break;
case SeedDMS_Core_AttributeDefinition::type_folder:
$t = getMLText("attrdef_type_folder");
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$t = getMLText("attrdef_type_document");
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$t = getMLText("attrdef_type_user");
break;
case SeedDMS_Core_AttributeDefinition::type_group:
$t = getMLText("attrdef_type_group");
break;
}
return $t;
} /* }}} */
function getAttributeObjectTypeText($attrdef) { /* {{{ */
$ot = '';
switch($attrdef->getObjType()) {
case SeedDMS_Core_AttributeDefinition::objtype_all:
$ot = getMLText("all");
break;
case SeedDMS_Core_AttributeDefinition::objtype_folder:
$ot = getMLText("folder");
break;
case SeedDMS_Core_AttributeDefinition::objtype_document:
$ot = getMLText("document");
break;
case SeedDMS_Core_AttributeDefinition::objtype_documentcontent:
$ot = getMLText("documentcontent");
break;
}
return $ot;
} /* }}} */
function getAttributeValidationText($error, $attrname='', $attrvalue='', $regex='') { /* {{{ */
$arr = getAttributeValidationError($error, $attrname, $attrvalue, $regex);

View File

@ -14,8 +14,7 @@ class SeedDMS_ExpiredDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
/**
* Run the task
*
* @param $task task to be executed
* @param $dms dms
* @param SeedDMS_SchedulerTask $task task to be executed
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute(SeedDMS_SchedulerTask $task) {
@ -305,7 +304,7 @@ class SeedDMS_IndexingDocumentsTask extends SeedDMS_SchedulerTaskBase { /* {{{ *
/**
* Run the task
*
* @param $task task to be executed
* @param SeedDMS_SchedulerTask $task task to be executed
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute(SeedDMS_SchedulerTask $task) {
@ -402,7 +401,7 @@ class SeedDMS_CheckSumTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
/**
* Run the task
*
* @param $task task to be executed
* @param SeedDMS_SchedulerTask $task task to be executed
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute(SeedDMS_SchedulerTask $task) {
@ -489,7 +488,7 @@ class SeedDMS_PreviewTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
/**
* Run the task
*
* @param $task task to be executed
* @param SeedDMS_SchedulerTask $task task to be executed
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute(SeedDMS_SchedulerTask $task) {
@ -541,7 +540,7 @@ class SeedDMS_CalendarTask extends SeedDMS_SchedulerTaskBase { /* {{{ */
/**
* Run the task
*
* @param $task task to be executed
* @param SeedDMS_SchedulerTask $task task to be executed
* @return boolean true if task was executed succesfully, otherwise false
*/
public function execute(SeedDMS_SchedulerTask $task) {

View File

@ -380,7 +380,7 @@ function utf8_basename($path, $suffix='') { /* {{{ */
* @return string valid file name
*/
function getFilenameByDocname($content) { /* {{{ */
if(is_string) {
if(is_string($content)) {
$filename = $content;
} else {
$document = $content->getDocument();
@ -663,16 +663,19 @@ function get_extension($mimetype) { /* {{{ */
} /* }}} */
/**
* Adds a missing front slash to a string
* Adds a missing directory separator (or any other char) to a string
*
* This function is used for making sure a directory name has a
* trailing directory separator
* trailing directory separator. It can also be used to add
* any other char at the end of a string, e.g. an URL which must
* end in '/' (DIRECTORY_SEPARATOR wouldn't be right in that case,
* because it is '\' on Windows)
*/
function addDirSep($str) { /* {{{ */
function addDirSep($str, $chr=DIRECTORY_SEPARATOR) { /* {{{ */
if(trim($str) == '')
return '';
if(substr(trim($str), -1, 1) != DIRECTORY_SEPARATOR)
return trim($str).DIRECTORY_SEPARATOR;
if(substr(trim($str), -1, 1) != $chr)
return trim($str).$chr;
else
return trim($str);
} /* }}} */
@ -807,7 +810,21 @@ function sendFile($filename) { /* {{{ */
* @return string
*/
function getBaseUrl() { /* {{{ */
return "http".((isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0)) ? "s" : "")."://".$_SERVER['HTTP_HOST'];
global $settings;
if(!empty($settings->_baseUrl))
return $settings->_baseUrl;
if(isset($_SERVER['HTTP_X_FORWARDED_HOST']))
$host = $_SERVER['HTTP_X_FORWARDED_HOST'];
else
$host = $_SERVER['HTTP_HOST'];
if(isset($_SERVER['HTTP_X_FORWARDED_PROTO']))
$ssl = $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https';
else
$ssl = (isset($_SERVER['HTTPS']) && (strcmp($_SERVER['HTTPS'],'off')!=0));
return "http".($ssl ? "s" : "")."://".$host;
} /* }}} */
function getToken($length){ /* {{{ */
@ -1145,7 +1162,7 @@ class SeedDMS_FolderTree { /* {{{ */
$iter = new \SeedDMS\Core\RecursiveFolderIterator($folder);
$iter2 = new RecursiveIteratorIterator($iter, RecursiveIteratorIterator::SELF_FIRST);
foreach($iter2 as $ff) {
call_user_func($callback, $ff, $iter2->getDepth());
call_user_func($callback, $ff, $iter2->getDepth()+1);
// echo $ff->getID().': '.$ff->getFolderPathPlain().'-'.$ff->getName()."<br />";
}
} /* }}} */

View File

@ -845,6 +845,7 @@ URL: [url]',
'link_to_version' => 'رابط الإصدار',
'list_access_rights' => 'لائحة حقوق الدخول',
'list_contains_no_access_docs' => 'هذه الائحة لا تحتوي على مستندات للدخول',
'list_conversion_services' => '',
'list_hooks' => 'لائحة الدمج',
'list_notification_services' => '',
'list_tasks' => 'لائحة المهمات',
@ -1370,6 +1371,9 @@ URL: [url]',
'seq_keep' => 'حافظ على المرتبة',
'seq_start' => 'اول مرتبة',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'صفوف',
'setDateFromFile' => 'وضع تاريخ من الملف',
@ -1400,6 +1404,8 @@ URL: [url]',
'settings_available_languages_desc' => 'اللغات الموجودة',
'settings_backupDir' => 'backupDir',
'settings_backupDir_desc' => 'backupDir',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'cacheDir',
'settings_cacheDir_desc' => 'cacheDir',
'settings_Calendar' => 'اعدادات التقويم',
@ -1852,6 +1858,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'بحث غير صالح',
'splash_invalid_search_service' => '',
'splash_link_document' => 'رابط المستند',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'انتقلت الحافظة',
'splash_move_document' => 'نقل المستند',
'splash_move_folder' => 'نقل الملف',

View File

@ -774,6 +774,7 @@ $text = array(
'link_to_version' => '',
'list_access_rights' => 'Списък на права',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1233,6 +1234,9 @@ $text = array(
'seq_keep' => 'Съхрани позицията',
'seq_start' => 'Първа позиция',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1263,6 +1267,8 @@ $text = array(
'settings_available_languages_desc' => '',
'settings_backupDir' => '',
'settings_backupDir_desc' => '',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Кеш папка',
'settings_cacheDir_desc' => 'къде се съхраняват превю картинките (най-добре да се избере папка която не е достъпна през web-server-а)',
'settings_Calendar' => 'Настройки календар',
@ -1715,6 +1721,7 @@ $text = array(
'splash_invalid_searchterm' => '',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -779,6 +779,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Llista tots els tipus d\'accés...',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1238,6 +1239,9 @@ URL: [url]',
'seq_keep' => 'Mantenir posició',
'seq_start' => 'Primera posició',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1268,6 +1272,8 @@ URL: [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => '',
'settings_backupDir_desc' => '',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => '',
'settings_cacheDir_desc' => '',
'settings_Calendar' => '',
@ -1720,6 +1726,7 @@ URL: [url]',
'splash_invalid_searchterm' => '',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -876,6 +876,7 @@ URL: [url]',
'link_to_version' => 'Provázat k verzi',
'list_access_rights' => 'Seznam všech přístupových práv ...',
'list_contains_no_access_docs' => 'Seznam obsahuje více dokumentů, ke kterým nemáte přístup a které se nezobrazují.',
'list_conversion_services' => '',
'list_hooks' => 'Seznam hooks',
'list_notification_services' => '',
'list_tasks' => 'Seznam úkolů',
@ -1442,6 +1443,9 @@ Jméno: [username]
'seq_keep' => 'Ponechat pozici',
'seq_start' => 'První pozice',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'seance',
'setDateFromFile' => '',
@ -1472,6 +1476,8 @@ Jméno: [username]
'settings_available_languages_desc' => 'Zvolí se pouze vybrané jazyky, které se zobrazí v seznamu jazyků. Výchozí jazyk bude vždy načten.',
'settings_backupDir' => 'Záložní adresář',
'settings_backupDir_desc' => 'Adresář, kde zálohovací nástroj ukládá zálohy. Pokud tento adresář není nastaven nebo není k němu přístup, zálohy budou uloženy v adresáři obsahu.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Adresář mezipaměti',
'settings_cacheDir_desc' => 'Kde jsou uloženy náhledy obrázků (nejlepší zvolit adresář, který není přístupný přes webový server)',
'settings_Calendar' => 'Nastavení kalendáře',
@ -1924,6 +1930,7 @@ Jméno: [username]
'splash_invalid_searchterm' => 'Neplatný vyhledávací dotaz',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Schránka přenesena do aktuální složky',
'splash_move_document' => 'Dokument přesunut',
'splash_move_folder' => 'Složka přesunuta',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (3154), dgrutsch (22)
// Translators: Admin (3162), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -1019,6 +1019,7 @@ URL: [url]</p>',
'link_to_version' => 'An Version hängen',
'list_access_rights' => 'Alle Zugriffsrechte auflisten ...',
'list_contains_no_access_docs' => 'Die Liste enthält weitere Dokumente auf die Sie keinen Zugriff haben und deshalb nicht angezeigt werden.',
'list_conversion_services' => 'Liste der Konvertierer',
'list_hooks' => 'Liste der interne Aufrufe',
'list_notification_services' => 'Liste der Benachrichtigungsdienste',
'list_tasks' => 'Tasks auflisten',
@ -1774,6 +1775,9 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'seq_keep' => 'Beibehalten',
'seq_start' => 'An den Anfang',
'service_has_filter' => 'Service hat Filter',
'service_list_from' => 'Von',
'service_list_info' => 'Information',
'service_list_to' => 'Nach',
'service_name' => 'Service-Name',
'sessions' => 'Benutzer Online',
'setDateFromFile' => 'Datum von importierter Datei übernehmen',
@ -1804,6 +1808,8 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'settings_available_languages_desc' => 'Nur die hier ausgewählten Sprachen werden geladen und erscheinen bei der Sprachauswahl. Die voreingestellte Sprache wird immer geladen.',
'settings_backupDir' => 'Sicherungs-Verzeichnis',
'settings_backupDir_desc' => 'Verzeichnis in dem das Backup-Tool die Sicherungen ablegt. Wenn hier kein Wert gesetzt wird oder auf das Verzeichnis nicht zugriffen werden kann, dann werden die Sicherungen im Content-Verzeichnis abgelegt.',
'settings_baseUrl' => 'Basis URL',
'settings_baseUrl_desc' => 'Dies ist die URL des Servers ohne das HTTP Wurzelverzeichnis. In der Regel kann SeedDMS dies selbst bestimmen. Hinter einem Proxy gelingt dies aber nicht zuverlässig. Für diesen Fall können Sie die Basis URL hier setzen.',
'settings_cacheDir' => 'Cache Verzeichnis',
'settings_cacheDir_desc' => 'Verzeichnis in dem Vorschaubilder abgelegt werden. Dies sollte ein Verzeichnis sein, auf das man über den Web-Browser keinen direkten Zugriff hat.',
'settings_Calendar' => 'Kalender-Einstellungen',
@ -2256,6 +2262,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'splash_invalid_searchterm' => 'Ungültiger Suchbegriff',
'splash_invalid_search_service' => 'Ungültiger Suchdienst',
'splash_link_document' => 'Link hinzugefügt',
'splash_mimetype_changed' => 'Mime-Type erfolgreich gerändert',
'splash_moved_clipboard' => 'Inhalt der Zwischenablage in aktuellen Ordner verschoben',
'splash_move_document' => 'Dokument verschoben',
'splash_move_folder' => 'Ordner verschoben',
@ -2358,7 +2365,7 @@ Sollten Sie kein Passwort bekommen haben, dann nutzen Sie bitte die Passwort-Ver
'task_description' => 'Beschreibung',
'task_disabled' => 'Deaktiviert',
'task_frequency' => 'Häufigkeit',
'task_frequency_placeholder' => 'm h d m dow',
'task_frequency_placeholder' => 'm h d m dow, or @daily, @hourly',
'task_last_run' => 'Letzte Ausführung',
'task_name' => 'Name',
'task_next_run' => 'Nächste Ausführung',

View File

@ -774,6 +774,7 @@ $text = array(
'link_to_version' => '',
'list_access_rights' => 'Εμφάνισε όλα τα δικαιώματα πρόσβασης',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1244,6 +1245,9 @@ URL: [url]',
'seq_keep' => 'Διατήρηση θέσης',
'seq_start' => 'Τοποθέτηση στην αρχή',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1274,6 +1278,8 @@ URL: [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => '',
'settings_backupDir_desc' => '',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => '',
'settings_cacheDir_desc' => '',
'settings_Calendar' => '',
@ -1726,6 +1732,7 @@ URL: [url]',
'splash_invalid_searchterm' => '',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2248), archonwang (3), dgrutsch (9), netixw (14)
// Translators: Admin (2257), archonwang (3), dgrutsch (9), netixw (14)
$text = array(
'2_factor_auth' => '2-factor authentication',
@ -251,7 +251,7 @@ URL: [url]</p>',
'attribute_value_not_in_valueset' => 'Value not in value set',
'attr_malformed_boolean' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid boolean.',
'attr_malformed_date' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid date.',
'attr_malformed_email' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid URL.',
'attr_malformed_email' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid email.',
'attr_malformed_float' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid float.',
'attr_malformed_int' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid integer.',
'attr_malformed_url' => 'The attribute value \'[value]\' of attribute \'[attrname]\' is not a valid URL.',
@ -1020,6 +1020,7 @@ URL: [url]</p>',
'link_to_version' => 'Attach to version',
'list_access_rights' => 'List all access rights ...',
'list_contains_no_access_docs' => 'The list contains more documents you have no access to and are not displayed.',
'list_conversion_services' => 'List of conversion services',
'list_hooks' => 'List of hooks',
'list_notification_services' => 'List of notification services',
'list_tasks' => 'List tasks',
@ -1777,6 +1778,9 @@ If you did not receive a password, please use the password forgotten function on
'seq_keep' => 'Keep Position',
'seq_start' => 'First position',
'service_has_filter' => 'Service has filter',
'service_list_from' => 'From',
'service_list_info' => 'Information',
'service_list_to' => 'To',
'service_name' => 'Name of service',
'sessions' => 'Users online',
'setDateFromFile' => 'Take over date from imported file',
@ -1807,6 +1811,8 @@ If you did not receive a password, please use the password forgotten function on
'settings_available_languages_desc' => 'Only the selected languages will be loaded and show up in the language selector. The default language will always be loaded.',
'settings_backupDir' => 'Backup directory',
'settings_backupDir_desc' => 'Directory where the backup tool saves backups. If this directory is not set or cannot be accessed, then the backups will be saved in the content directory.',
'settings_baseUrl' => 'Base URL',
'settings_baseUrl_desc' => 'This is the URL without the HTTP root dir. Usually, this is determined by SeedDMS. Behind a proxy this can fail and in this case set it manually.',
'settings_cacheDir' => 'Cache directory',
'settings_cacheDir_desc' => 'Where the preview images are stored (best to choose a directory that is not accessible through your web-server)',
'settings_Calendar' => 'Calendar settings',
@ -2259,6 +2265,7 @@ If you did not receive a password, please use the password forgotten function on
'splash_invalid_searchterm' => 'Invalid search term',
'splash_invalid_search_service' => 'Invalid search service',
'splash_link_document' => 'Link added',
'splash_mimetype_changed' => 'Mimetype changed successfully',
'splash_moved_clipboard' => 'Clipboard moved into current folder',
'splash_move_document' => 'Document moved',
'splash_move_folder' => 'Folder moved',
@ -2361,7 +2368,7 @@ If you did not receive a password, please use the password forgotten function on
'task_description' => 'Description',
'task_disabled' => 'Disabled',
'task_frequency' => 'Frequency',
'task_frequency_placeholder' => 'm h d m dow',
'task_frequency_placeholder' => 'm h d m dow, or @daily, @hourly',
'task_last_run' => 'Last run',
'task_name' => 'Name',
'task_next_run' => 'Next run',

View File

@ -864,6 +864,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Listar los derechos de acceso',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => 'Mis bloques',
'list_notification_services' => '',
'list_tasks' => '',
@ -1397,6 +1398,9 @@ URL: [url]',
'seq_keep' => 'Mantener posición',
'seq_start' => 'Primera posición',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => 'Obtiene la fecha del archivo importado',
@ -1427,6 +1431,8 @@ URL: [url]',
'settings_available_languages_desc' => 'Unicamente los lenguages seleccionados seran cargados y mostrados en el selector de lenguages. El lenguage por defecto siempre sera cargado',
'settings_backupDir' => 'Directorio de copia de seguridad',
'settings_backupDir_desc' => 'Directorio donde la herramienta de respaldos guarda los respaldos. Si este directorio no se crea o no puede ser accedido, entonces los respaldos serán guardados en el directorio de contenido.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Carpeta caché',
'settings_cacheDir_desc' => 'Donde están archivadas las imágenes anteriores (mejor elegir una carpeta que no sea accesible a través de su servidor web)',
'settings_Calendar' => 'Configuración de calendario',
@ -1879,6 +1885,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Término de búsqueda inválido',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Portapapeles movido a la carpeta actual',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -1006,6 +1006,7 @@ URL : [url]</p>',
'link_to_version' => 'Version',
'list_access_rights' => 'Liste des droits daccès…',
'list_contains_no_access_docs' => 'La liste contient des documents auxquels vous navez pas accès et qui ne sont donc pas affichés.',
'list_conversion_services' => '',
'list_hooks' => 'Liste des appels internes',
'list_notification_services' => '',
'list_tasks' => 'Liste des tâches',
@ -1760,6 +1761,9 @@ Nom : [username]
'seq_keep' => 'Conserver la position',
'seq_start' => 'Première position',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Utilisateurs en ligne',
'setDateFromFile' => 'Reprendre la date du fichier importé',
@ -1790,6 +1794,8 @@ Nom : [username]
'settings_available_languages_desc' => 'Seules les langues sélectionnées seront chargées et proposées dans le sélecteur de langue. La langue par défaut est systématiquement chargée.',
'settings_backupDir' => 'Répertoire de sauvegarde',
'settings_backupDir_desc' => 'Répertoire dans lequel loutil de sauvegarde stocke les sauvegardes. Si aucune valeur nest définie ou si le répertoire nest pas accessible, les sauvegardes seront stockées dans le répertoire de contenu.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Répertoire Cache',
'settings_cacheDir_desc' => 'Lieu de stockage des images de prévisualisation (choisir de préférence un dossier non accessible à travers le web-server)',
'settings_Calendar' => 'Paramètres de l\'agenda',
@ -2242,6 +2248,7 @@ Nom : [username]
'splash_invalid_searchterm' => 'Recherche invalide',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Lien ajouté',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Contenu du presse-papier déplacé vers le dossier en cours',
'splash_move_document' => 'Document déplacé',
'splash_move_folder' => 'Dossier déplacé',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1250), marbanas (16)
// Translators: Admin (1251), marbanas (16)
$text = array(
'2_factor_auth' => '2-faktorska autentikacija',
@ -212,7 +212,7 @@ Internet poveznica: [url]',
'attribute_value_not_in_valueset' => '',
'attr_malformed_boolean' => '',
'attr_malformed_date' => '',
'attr_malformed_email' => 'Vrijednost atributa \'[value]\' za atribut \'[attrname]\' nije važeći URL.',
'attr_malformed_email' => 'Vrijednost atributa \'[value]\' za atribut \'[attrname]\' nije važeći email.',
'attr_malformed_float' => '',
'attr_malformed_int' => '',
'attr_malformed_url' => 'Vrijednost atributa \'[value]\' za atribut \'[attrname]\' nije važeći URL.',
@ -857,6 +857,7 @@ Internet poveznica: [url]',
'link_to_version' => '',
'list_access_rights' => 'Izlistaj sve dozvole pristupa',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => 'Kuke za popise',
'list_notification_services' => '',
'list_tasks' => '',
@ -1406,6 +1407,9 @@ Internet poveznica: [url]',
'seq_keep' => 'Zadrži poziciju',
'seq_start' => 'Na početak',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1436,6 +1440,8 @@ Internet poveznica: [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => 'Mapa za sigurnosnu kopiju',
'settings_backupDir_desc' => 'Mapa gdje alat za sigurnosne kopije sprema podatke. Ako ova mapa nije postavljena ili joj se ne može pristupiti, tada se sigurnosne kopije spremaju u mapu sadržaja.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Mapa predmemorije',
'settings_cacheDir_desc' => 'Gdje se spremaju slike pregleda (najbolje da odaberete mapu koja nije dostupna kroz vaš web-server)',
'settings_Calendar' => 'Postavke kalendara',
@ -1888,6 +1894,7 @@ Internet poveznica: [url]',
'splash_invalid_searchterm' => 'Nevažeći traženi pojam',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Međuspremnik je premješten u trenutnu mapu',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -852,6 +852,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Összes jogosultság felsorolása...',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => 'Hook lista',
'list_notification_services' => '',
'list_tasks' => '',
@ -1384,6 +1385,9 @@ URL: [url]',
'seq_keep' => 'Pozci megtartßsa',
'seq_start' => 'Elejé‰re',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1414,6 +1418,8 @@ URL: [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => 'Mentés könyvtára',
'settings_backupDir_desc' => 'Könyvtár, ahol a biztonsági mentési eszköz mentéseket készít. Ha ez a könyvtár nincs beállítva vagy nem érhető el, akkor a biztonsági másolatot a tartalom könyvtárba menti.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Átmeneti állományok könyvtára',
'settings_cacheDir_desc' => 'Ahol az előnézeti képek tárolódnak (legjobb olyan könyvtárat választani, amit a web-kiszolgálón keresztül nem lehet elérni)',
'settings_Calendar' => 'Naptár beállítások',
@ -1866,6 +1872,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Érvénytelen keresési feltétel',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Vágólap tartalom áthelyezve az aktuális mappába',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -908,6 +908,7 @@ URL: [url]</p>',
'link_to_version' => 'Lampirkan ke versi',
'list_access_rights' => 'Daftar semua hak akses ...',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => 'Daftar hooks',
'list_notification_services' => '',
'list_tasks' => 'Daftar tasks',
@ -1458,6 +1459,9 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'seq_keep' => 'Keep Position',
'seq_start' => 'Posisi awal',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Pengguna Online',
'setDateFromFile' => 'Ambil alih tanggal dari file yang diimpor',
@ -1488,6 +1492,8 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'settings_available_languages_desc' => 'Hanya bahasa yang dipilih yang akan dimuat dan muncul di pemilih bahasa. Bahasa default akan selalu dimuat.',
'settings_backupDir' => 'Direktori cadangan',
'settings_backupDir_desc' => 'Direktori tempat alat pencadangan menyimpan cadangan. Jika direktori ini tidak disetel atau tidak dapat diakses, maka cadangan akan disimpan di direktori konten.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Direktori cache',
'settings_cacheDir_desc' => 'Di mana gambar pratinjau disimpan (paling baik memilih direktori yang tidak dapat diakses melalui server web Anda)',
'settings_Calendar' => 'Pengaturan kalender',
@ -1940,6 +1946,7 @@ Jika Anda tidak menerima kata sandi, silakan gunakan fitur lupa kata sandi di ha
'splash_invalid_searchterm' => '',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Tautan ditambahkan',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '',
'splash_move_document' => 'Dokumen dipindahkan',
'splash_move_folder' => 'Folder dipindahkan',

View File

@ -862,6 +862,7 @@ URL: [url]',
'link_to_version' => 'Collega alla versione',
'list_access_rights' => 'Elenca tutti i diritti di accesso...',
'list_contains_no_access_docs' => 'L\'elenco contiene più documenti ai quali non si ha accesso e non vengono visualizzati.',
'list_conversion_services' => '',
'list_hooks' => 'Elenco hooks',
'list_notification_services' => '',
'list_tasks' => 'Elenco attività',
@ -1433,6 +1434,9 @@ Name: [username]
'seq_keep' => 'Mantieni la posizione',
'seq_start' => 'Prima posizione',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Utenti online',
'setDateFromFile' => 'Prende la data dal file importato',
@ -1463,6 +1467,8 @@ Name: [username]
'settings_available_languages_desc' => 'Solo le lingue selezionate verranno caricate e mostrate nel selettore. La lingua predefinita sarà sempre caricata.',
'settings_backupDir' => 'Directory di backup',
'settings_backupDir_desc' => 'Directory in cui lo strumento di backup salva i backup. Se questa directory non è impostato o non è possibile accedervi, quindi i backup vengono salvati nella directory dei contenuti.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Cartella di cache',
'settings_cacheDir_desc' => 'Cartella in cui vengono conservate le immagini di anteprima, si consiglia di scegliere una cartella sul web-server che non sia direttamente accessibile.',
'settings_Calendar' => 'Impostazioni calendario',
@ -1915,6 +1921,7 @@ Name: [username]
'splash_invalid_searchterm' => 'Termine di ricerca non valido',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Collegamento aggiunto',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Appunti trasferiti nella cartella corrente',
'splash_move_document' => 'Documento spostato',
'splash_move_folder' => 'Cartella spostato',

View File

@ -858,6 +858,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => '모든 접근 권한 나열',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1400,6 +1401,9 @@ URL : [url]',
'seq_keep' => '위치 유지',
'seq_start' => '첫 번째 위치',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1430,6 +1434,8 @@ URL : [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => '백업 디랙토리',
'settings_backupDir_desc' => '백업 도구가 백업을 저장할 디렉토리. 이 디렉토리가 설정되어 있지 않거나 액세스 할 수 없는 경우 백업은 컨텐츠 디렉토리에 저장 됩니다.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => '캐시 디렉토리',
'settings_cacheDir_desc' => '미리보기 이미지 에 저장된다.(웹 서버를 통해 액세스 할 수없는 디렉토리를 선택하는 것이 좋습니다)',
'settings_Calendar' => '캘린더 설정',
@ -1882,6 +1888,7 @@ URL : [url]',
'splash_invalid_searchterm' => '잘못된 검색 범위',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '클립 보드가 현재 폴더로 이동',
'splash_move_document' => '문서 옮겨짐',
'splash_move_folder' => '폴더 옮겨짐',

View File

@ -855,6 +855,7 @@ URL: [url]',
'link_to_version' => 'ແນບໄປພ້ອມກັບເວີຊັນ',
'list_access_rights' => 'ສະແດງສິດທິການເຂົ້າເຖິງທັງໝົດ ...',
'list_contains_no_access_docs' => 'ລິດລາຍການປະກອບດ້ວຍເອກະສານເພີ່ມເຕີມທີ່ເຈົ້າບໍ່ສາມາດເຂົ້າເຖິງໄດ້ ແລະບໍ່ສະແດງ',
'list_conversion_services' => '',
'list_hooks' => 'ລາບການ hooks',
'list_notification_services' => '',
'list_tasks' => '',
@ -1426,6 +1427,9 @@ URL: [url]',
'seq_keep' => 'ເກັບຕຳແໜ່ງໄວ້',
'seq_start' => 'ອັນດັບທຳອິດ',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'ຜູ້ໄຊ້ອອນລາຍ',
'setDateFromFile' => '',
@ -1456,6 +1460,8 @@ URL: [url]',
'settings_available_languages_desc' => 'ລະບົບຈະໂຫລດສະເພາະພາສາທີ່ເລືອກແລະສະແດງໃນຕົວເລືອກ ພາສາເລີ້ມຕົ້ນຈະຖືກໂຫລດສະເໝີ',
'settings_backupDir' => 'ໄດເລັກທໍລີສຳຮອງ',
'settings_backupDir_desc' => 'ໄດເລິກທໍລີ້ເຄື່ອງມືສຳຮອງຈະບັນທຶກຂໍ້ມູນສຳຮອງ ຖ້າບບໍ່ມີການຕັ້ງຄ່າໄດ້ເລັກທໍລີ້ນີ້ຫຼືບໍ່ສາມາດເຂົ້າເຖິງໄດ້ການສຳຮອງຂໍ້ມູນຈະໄດ້ຮັບການບັນທຶກເນື້ອຫາໄວ້ໃນໄດເລັກທໍລີ້',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'ແຄຣໄດ້ເລັກທໍລີ້',
'settings_cacheDir_desc' => 'ບ່ອນເກັບຮູບພາບຕົວຢ່າງໄວ້ ເລືອກໄດເລັກທໍລີທີບໍ່ສາມາດເຂົ້າເຖິງໄດ້ຈາກເວັບເຊີເວີຂອງເຈົ້າ',
'settings_Calendar' => 'ການຕັ້ງຄ່າປະຕິທິນ',
@ -1908,6 +1914,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'ຄຳຄົນຫາບໍ່ຖືກຕ້ອງ',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'ຍ້າຍຄິບບອດໄປທີ່ໂຟລເດີປັດຈຸບັນແລ້ວ',
'splash_move_document' => 'ຍ້າຍເອກະສານແລ້ວ',
'splash_move_folder' => 'ຍ້າຍໂຟລເດີແລ້ວ',

View File

@ -876,6 +876,7 @@ URL: [url]',
'link_to_version' => 'Vedlegg til versjonen',
'list_access_rights' => 'Liste over alle rettigheter...',
'list_contains_no_access_docs' => 'Listen inneholder flere dokumenter du ikke har tilgang til og ikke vises.',
'list_conversion_services' => '',
'list_hooks' => 'Liste hooks',
'list_notification_services' => '',
'list_tasks' => 'Liste oppgaver',
@ -1439,6 +1440,9 @@ Bruker: [username]
'seq_keep' => 'Hold posisjon',
'seq_start' => 'Første possisjon',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Brukere innlogget',
'setDateFromFile' => 'Overta dato fra importert fil',
@ -1469,6 +1473,8 @@ Bruker: [username]
'settings_available_languages_desc' => 'Bare de valgte språkene lastes inn og vises i språkvelgeren. Standardspråket lastes alltid.',
'settings_backupDir' => 'Sikkerhetskopi mappe',
'settings_backupDir_desc' => 'Mappe der sikkerhetskopieringsverktøyet lagrer sikkerhetskopier. Hvis denne mappen ikke er angitt eller ikke kan nås, vil sikkerhetskopiene lagres i innholdskatalogen.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Cache-mappe',
'settings_cacheDir_desc' => 'Hvor forhåndsvisningsbildene er lagret (best å velge en mappe som ikke er tilgjengelig via webserveren)',
'settings_Calendar' => 'Kalender innstillinger',
@ -1921,6 +1927,7 @@ Bruker: [username]
'splash_invalid_searchterm' => 'Ugyldig søkeord',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Link lagt til',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Utklippstavlen flyttet inn i gjeldende mappe',
'splash_move_document' => 'Dokumentet flyttet',
'splash_move_folder' => 'Mappen flyttet',

View File

@ -869,6 +869,7 @@ URL: [url]',
'link_to_version' => 'Bijlage(n) bij versie',
'list_access_rights' => 'Toegangsrechten',
'list_contains_no_access_docs' => 'Geen toegankelijke documenten',
'list_conversion_services' => '',
'list_hooks' => 'Hooks',
'list_notification_services' => '',
'list_tasks' => 'Taken',
@ -1438,6 +1439,9 @@ Name: [username]
'seq_keep' => 'Behoud Positie',
'seq_start' => 'Eerste positie',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'sessies',
'setDateFromFile' => 'Gebruik de datum van de geïmporteerde file',
@ -1468,6 +1472,8 @@ Name: [username]
'settings_available_languages_desc' => 'Alleen de geselecteerde vertalingen worden beschikbaar in het taal-selectie-menu. De default-taal (EN) wordt altijd geladen.',
'settings_backupDir' => 'Instellingen backupmap',
'settings_backupDir_desc' => 'Instellingen vd backupmap',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'cache directory',
'settings_cacheDir_desc' => 'De map waar de voorbeeldafbeeldingen zijn opgeslagen (het is het beste om te kiezen voor een map die niet toegankelijk voor uw webserver)',
'settings_Calendar' => 'Instellingen van de agenda',
@ -1920,6 +1926,7 @@ Name: [username]
'splash_invalid_searchterm' => 'Ongeldige zoekterm',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Link toegevoegd',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Klembord verplaatst naar de huidige map',
'splash_move_document' => 'Document verplaatst',
'splash_move_folder' => 'Map verplaatst',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1693), netixw (84), romi (93), uGn (112)
// Translators: Admin (1694), netixw (84), romi (93), uGn (112)
$text = array(
'2_factor_auth' => 'Uwierzytelnianie dwuetapowe',
@ -507,7 +507,7 @@ URL: [url]',
'dropfolder_metadata' => '',
'dropupload' => 'Szybki upload',
'drop_files_here' => 'Przeciągnij tu pliki!',
'drop_files_here_or_click' => '',
'drop_files_here_or_click' => 'Upuść plik lub kliknij aby dodać',
'dump_creation' => 'Utworzenie zrzutu bazy danych',
'dump_creation_warning' => 'Ta operacja utworzy plik będący zrzutem zawartości bazy danych. Po utworzeniu plik zrzutu będzie się znajdował w folderze danych na serwerze.',
'dump_list' => 'Istniejące pliki zrzutu',
@ -845,6 +845,7 @@ URL: [url]',
'link_to_version' => 'Załącz do wersji',
'list_access_rights' => 'Pokaż uprawnienia dostępu',
'list_contains_no_access_docs' => 'Lista zawiera więcej dokumentów, do których nie masz dostępu i nie są wyświetlane.',
'list_conversion_services' => '',
'list_hooks' => 'Lista błędów',
'list_notification_services' => '',
'list_tasks' => 'Lista zadań',
@ -1369,6 +1370,9 @@ Name: [username]
'seq_keep' => 'Na tej samej pozycji',
'seq_start' => 'Na początku',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Sesja',
'setDateFromFile' => 'Przejmij datę z importowanego pliku',
@ -1399,6 +1403,8 @@ Name: [username]
'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' => 'Lokalizacja kopii zapasowej',
'settings_backupDir_desc' => 'Katalog, w którym narzędzie do tworzenia kopii zapasowych zapisuje kopie zapasowe. Jeśli ten katalog nie jest ustawiony lub nie można uzyskać do niego dostępu, kopie zapasowe zostaną zapisane w katalogu zawartości.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Folder bufora',
'settings_cacheDir_desc' => 'Miejsce przechowywania obrazków podglądu (najlepiej wybrać katalog niedostępny bezpośrednio dla web-serwera).',
'settings_Calendar' => 'Ustawienia kalendarza',
@ -1851,6 +1857,7 @@ Name: [username]
'splash_invalid_searchterm' => 'Nieprawidłowa wartość wyszukiwania',
'splash_invalid_search_service' => '',
'splash_link_document' => 'Dodano link',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Schowek został przeniesiony do bieżącego folderu',
'splash_move_document' => 'Dokument został przeniesiony',
'splash_move_folder' => 'Folder został przeniesiony',

View File

@ -876,6 +876,7 @@ URL: [url]',
'link_to_version' => 'Anexar à versão',
'list_access_rights' => 'Listar todos os direitos de acesso...',
'list_contains_no_access_docs' => 'A lista contém mais documentos aos quais você não tem acesso e não são exibidos.',
'list_conversion_services' => '',
'list_hooks' => 'Listar ganchos',
'list_notification_services' => '',
'list_tasks' => 'Listar tarefas',
@ -1445,6 +1446,9 @@ Nome: [username]
'seq_keep' => 'Manter posição',
'seq_start' => 'Primeira posição',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Online',
'setDateFromFile' => 'Assumir a data do arquivo importado',
@ -1475,6 +1479,8 @@ Nome: [username]
'settings_available_languages_desc' => 'Apenas os idiomas selecionados serão carregados e mostrados no seletor de idioma. O idioma padrão sempre será carregado.',
'settings_backupDir' => 'Diretório de backup',
'settings_backupDir_desc' => 'Diretório onde a ferramenta de backup salva backups. Se esse diretório não estiver definido ou não puder ser acessado, os backups serão salvos no diretório de conteúdo.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Diretório de cache',
'settings_cacheDir_desc' => 'Onde as imagens de visualização são armazenadas (melhor escolher um diretório que não é acessível através de seu web-server)',
'settings_Calendar' => 'Configurações do calendário',
@ -1927,6 +1933,7 @@ Nome: [username]
'splash_invalid_searchterm' => 'Termo de pesquisa inválido',
'splash_invalid_search_service' => '',
'splash_link_document' => 'documento de link inicial',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Área de transferência movida para a pasta corrente',
'splash_move_document' => 'Documento movido',
'splash_move_folder' => 'Pasta movida',

View File

@ -857,6 +857,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Listeaza toate drepturile de acces',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1407,6 +1408,9 @@ URL: [url]',
'seq_keep' => 'Păstrați poziția',
'seq_start' => 'Prima poziție',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1437,6 +1441,8 @@ URL: [url]',
'settings_available_languages_desc' => 'Numai limbile selectate vor fii incarcate la accesare. Limba default va fii mereu incarcata',
'settings_backupDir' => '',
'settings_backupDir_desc' => '',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Director Cache',
'settings_cacheDir_desc' => 'Unde sunt stocate imaginile de previzualizare (este recomandat sa alegeti un director care nu este accesibil prin intermediul web-server-ului dumneavoastră)',
'settings_Calendar' => 'Setări calendar',
@ -1889,6 +1895,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Termen de căutare invalid',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Clipboard mutat în folderul curent',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -857,6 +857,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Показать все права доступа',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => 'Список хуков',
'list_notification_services' => '',
'list_tasks' => '',
@ -1414,6 +1415,9 @@ URL: [url]',
'seq_keep' => 'Не изменять',
'seq_start' => 'В начале',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1444,6 +1448,8 @@ URL: [url]',
'settings_available_languages_desc' => 'Только выбранные языки будут загружены и доступны для выбора. Язык по умолчанию будет загружен всегда.',
'settings_backupDir' => 'Каталог резервного копирования',
'settings_backupDir_desc' => 'Каталог, в котором средство резервного копирования сохраняет резервные копии. Если этот каталог не установлен или в него отсутствует доступ, то резервные копии будут сохранены в каталоге содержимого.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Каталог кэша',
'settings_cacheDir_desc' => 'Где хранятся эскизы изображений (лучше выбрать каталог недоступный веб-серверу).',
'settings_Calendar' => 'Настройки календаря',
@ -1896,6 +1902,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Неверный поисковый запрос',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Буфер обмена перенесён в текущий каталог',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -876,6 +876,7 @@ URL: [url]',
'link_to_version' => 'Pripojiť k verzii',
'list_access_rights' => 'Zobraziť všetky prístupové práva',
'list_contains_no_access_docs' => 'Zoznam obsahuje viac dokumentov, ku ktorým nemáte prístup a nie sú zobrazené.',
'list_conversion_services' => '',
'list_hooks' => 'List hooks',
'list_notification_services' => '',
'list_tasks' => 'List tasks',
@ -1447,6 +1448,9 @@ Meno: [username]
'seq_keep' => 'Ponechať pozíciu',
'seq_start' => 'Prvá pozícia',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Používatelia online',
'setDateFromFile' => 'Prebrať dátumy z importovaných súborov',
@ -1477,6 +1481,8 @@ Meno: [username]
'settings_available_languages_desc' => 'Only the selected languages will be loaded and show up in the language selector. The default language will always be loaded.',
'settings_backupDir' => 'Zložka na zálohovanie',
'settings_backupDir_desc' => 'Directory where the backup tool saves backups. If this directory is not set or cannot be accessed, then the backups will be saved in the content directory.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Zložka medzipamäte',
'settings_cacheDir_desc' => 'Where the preview images are stored (best to choose a directory that is not accessible through your web-server)',
'settings_Calendar' => 'Nastavenie kalendára',
@ -1929,6 +1935,7 @@ Meno: [username]
'splash_invalid_searchterm' => 'Invalid search term',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Schránka sa presunula do aktuálnej zložky',
'splash_move_document' => 'Dokument bol presunutý',
'splash_move_folder' => 'Zložka bola presunutá',

View File

@ -863,6 +863,7 @@ URL: [url]',
'link_to_version' => 'Kopppla till version',
'list_access_rights' => 'Lista alla rättigheter...',
'list_contains_no_access_docs' => 'Listan innehåller fler dokument som inte visas då du saknar rättigheter till dessa.',
'list_conversion_services' => '',
'list_hooks' => 'Lista hooks',
'list_notification_services' => '',
'list_tasks' => '',
@ -1420,6 +1421,9 @@ Kommentar: [comment]',
'seq_keep' => 'Behåll positionen',
'seq_start' => 'Första positionen',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => 'Användare online',
'setDateFromFile' => '',
@ -1450,6 +1454,8 @@ Kommentar: [comment]',
'settings_available_languages_desc' => 'Bara de valda språken kommer att laddas och visas i språk väljaren. Det förvalda språket kommer alltid att laddas.',
'settings_backupDir' => 'Sökväg till backuper',
'settings_backupDir_desc' => 'Sökväg till katalogen dit backupverktyget skriver backuper. Om sökväg saknas eller åtkomst inte medges, skrivs backuper till dokumentkatalogen.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Cache-mapp',
'settings_cacheDir_desc' => 'Här kommer bilder för förhandsvisning att sparas. (Det är bäst att använda en mapp som inte är tillgänglig från webbservern)',
'settings_Calendar' => 'Kalenderinställningar',
@ -1902,6 +1908,7 @@ Kommentar: [comment]',
'splash_invalid_searchterm' => 'Ogiltigt sökord',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Urklipp flyttades till aktuell katalog',
'splash_move_document' => 'Dokumentet flyttat',
'splash_move_folder' => 'Katalogen flyttad',

View File

@ -851,6 +851,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Tüm erişim haklarini listele',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1386,6 +1387,9 @@ URL: [url]',
'seq_keep' => 'Sırayı Koru',
'seq_start' => 'İlk sıra',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1416,6 +1420,8 @@ URL: [url]',
'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_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Cache klasörü',
'settings_cacheDir_desc' => 'Önizleme resimlerinin depolanacağı yer (web üzerinden erişilemeyen bir yer tercih etmeniz önerilir.)',
'settings_Calendar' => 'Takvim ayarları',
@ -1868,6 +1874,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Hatalı arama terimi',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Pano mevcut klasöre taşındı',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -857,6 +857,7 @@ URL: [url]',
'link_to_version' => '',
'list_access_rights' => 'Повний список прав...',
'list_contains_no_access_docs' => '',
'list_conversion_services' => '',
'list_hooks' => '',
'list_notification_services' => '',
'list_tasks' => '',
@ -1407,6 +1408,9 @@ URL: [url]',
'seq_keep' => 'Не змінювати',
'seq_start' => 'На початку',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '',
'setDateFromFile' => '',
@ -1437,6 +1441,8 @@ URL: [url]',
'settings_available_languages_desc' => '',
'settings_backupDir' => 'Каталог резервних копій',
'settings_backupDir_desc' => 'Каталог, в якому інструмент резервного копіювання зберігає резервні копії. Якщо цей каталог не встановлений або до нього не має доступу, то резервні копії будуть збережені в каталозі вмісту.',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Каталог кешу',
'settings_cacheDir_desc' => 'Де зберігаються ескізи зображень (краще вибрати каталог, недоступний веб-серверові).',
'settings_Calendar' => 'Налаштування календаря',
@ -1889,6 +1895,7 @@ URL: [url]',
'splash_invalid_searchterm' => 'Невірний пошуковий запит',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => 'Буфер обміну перенесено в поточний каталог',
'splash_move_document' => '',
'splash_move_folder' => '',

View File

@ -859,6 +859,7 @@ URL: [url]',
'link_to_version' => '附加到版本',
'list_access_rights' => '列出所有的访问权限',
'list_contains_no_access_docs' => '这个列表包含了更多你无法访问的文件也没有显示出来。',
'list_conversion_services' => '',
'list_hooks' => '钩子列表',
'list_notification_services' => '',
'list_tasks' => '任务列表',
@ -1394,6 +1395,9 @@ URL: [url]',
'seq_keep' => '当前',
'seq_start' => '首位',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '在线用户',
'setDateFromFile' => '导入文件接收日期',
@ -1424,6 +1428,8 @@ URL: [url]',
'settings_available_languages_desc' => '只有选中的语言会被显示在语言选>择框内。默认的语言始终可选。',
'settings_backupDir' => '备份目录',
'settings_backupDir_desc' => '备份保存的目录。如果该目录未设置或无法访问则备份将保存在内容目录中。',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => 'Cashe 缓存目录',
'settings_cacheDir_desc' => '预览图像存储的位置(最好选择一个无法通过网络服务器访问的目录)',
'settings_Calendar' => '日历设置',
@ -1876,6 +1882,7 @@ URL: [url]',
'splash_invalid_searchterm' => '无效的搜索项',
'splash_invalid_search_service' => '',
'splash_link_document' => '',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '剪贴板移到当前文件夹',
'splash_move_document' => '文档已迁移',
'splash_move_folder' => '文件夹已迁移',

View File

@ -876,6 +876,7 @@ URL: [url]',
'link_to_version' => '附加到版本',
'list_access_rights' => '列出權限',
'list_contains_no_access_docs' => '該列表包含更多您無法訪問且不會顯示的文檔。',
'list_conversion_services' => '',
'list_hooks' => '掛勾列表',
'list_notification_services' => '',
'list_tasks' => '工作列表',
@ -1445,6 +1446,9 @@ URL: [url]',
'seq_keep' => '當前',
'seq_start' => '首位',
'service_has_filter' => '',
'service_list_from' => '',
'service_list_info' => '',
'service_list_to' => '',
'service_name' => '',
'sessions' => '在線用戶',
'setDateFromFile' => '從導入的文件接管日期',
@ -1475,6 +1479,8 @@ URL: [url]',
'settings_available_languages_desc' => '僅所選語言會被加載並顯示在語言選擇器中。默認語言將始終被加載。',
'settings_backupDir' => '備份目錄',
'settings_backupDir_desc' => '備份工具保存備份的目錄。如果未設置此目錄或無法訪問該目錄,則備份將保存在內容目錄中。',
'settings_baseUrl' => '',
'settings_baseUrl_desc' => '',
'settings_cacheDir' => '緩存目錄',
'settings_cacheDir_desc' => '預覽圖像的存儲位置最好選擇無法通過Web服務器訪問的目錄',
'settings_Calendar' => '日曆設定',
@ -1927,6 +1933,7 @@ URL: [url]',
'splash_invalid_searchterm' => '搜尋字詞無效',
'splash_invalid_search_service' => '',
'splash_link_document' => '鏈接已添加',
'splash_mimetype_changed' => '',
'splash_moved_clipboard' => '剪貼簿已移至當前文件夾',
'splash_move_document' => '文件已移走',
'splash_move_folder' => '文件夾已移動',

View File

@ -22,10 +22,10 @@
include("../inc/inc.Settings.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");

View File

@ -19,8 +19,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -27,7 +27,6 @@ include("../inc/inc.Extension.php");
include("../inc/inc.ClassSession.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
require_once("../inc/inc.ClassAccessOperation.php");
function _printMessage($heading, $message) {

View File

@ -192,42 +192,17 @@ else
foreach($attributes as $attrdefid=>$attribute) {
$attrdef = $dms->getAttributeDefinition($attrdefid);
if($attribute) {
if(!$attrdef->validate($attribute)) {
switch($attrdef->getValidationError()) {
case 5:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_email", array("attrname"=>$attrdef->getName(), "value"=>$attribute)));
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_date:
$attribute = date('Y-m-d', makeTsFromDate($attribute));
break;
case 4:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_url", array("attrname"=>$attrdef->getName(), "value"=>$attribute)));
break;
case 3:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match", array("attrname"=>$attrdef->getName(), "value"=>$attribute, "regex"=>$attrdef->getRegex())));
break;
case 2:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
break;
case 1:
}
if(!$attrdef->validate($attribute, null, true)) {
$errmsg = getAttributeValidationText($attrdef->getValidationError(), $attrdef->getName(), $attribute);
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())), $errmsg);
}
} elseif($attrdef->getMinValues() > 0) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
break;
default:
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured"));
}
}
/*
if($attrdef->getRegex()) {
if(!preg_match($attrdef->getRegex(), $attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $folder->getName())),getMLText("attr_no_regex_match"));
}
}
if(is_array($attribute)) {
if($attrdef->getMinValues() > count($attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName())));
}
if($attrdef->getMaxValues() && $attrdef->getMaxValues() < count($attribute)) {
UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName())));
}
}
*/
}
}
} else {

View File

@ -45,7 +45,8 @@ function renderBooleanData($colname, $objdata) { /* {{{ */
} /* }}} */
function getPasswordPlainData($colname, $coldata, $objdata) { /* {{{ */
$objdata['passenc'] = seed_pass_hash($coldata);
/* Setting 'passenc' to null will not update the password */
$objdata['passenc'] = $coldata ? seed_pass_hash($coldata) : null;
return $objdata;
} /* }}} */
@ -240,7 +241,7 @@ if (isset($_FILES['userdata']) && $_FILES['userdata']['error'] == 0) {
if($makeupdate)
$eu->setEmail($u['email']);
}
if(isset($u['passenc']) && $u['passenc'] != $eu->getPwd()) {
if(isset($u['passenc']) && !is_null($u['passenc']) && $u['passenc'] != $eu->getPwd()) {
$log[$uhash][] = array('id'=>$eu->getLogin(), 'type'=>'success', 'msg'=> "Encrypted password of user updated. '".$u['passenc']."' != '".$eu->getPwd()."'");
if($makeupdate)
$eu->setPwd($u['passenc']);

View File

@ -21,6 +21,7 @@
include("../inc/inc.Settings.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.ClassSession.php");

View File

@ -19,13 +19,12 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");

View File

@ -19,13 +19,12 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.ClassAccessOperation.php");
include("../inc/inc.Authentication.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassController.php");

View File

@ -20,8 +20,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -20,8 +20,8 @@
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Utils.php");
include("../inc/inc.LogInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Init.php");
include("../inc/inc.Extension.php");

View File

@ -169,6 +169,7 @@ if ($action == "saveSettings")
// SETTINGS - SYSTEM - SERVER
setDirValue("rootDir");
setStrValue("baseUrl");
setStrValue("httpRoot");
setDirValue("contentDir");
setDirValue("cacheDir");

View File

@ -59,13 +59,8 @@ if($settings->_quota > 0) {
if($settings->_libraryFolder) {
$libfolder = $dms->getFolder($settings->_libraryFolder);
if (!is_object($libfolder)) {
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
}
if ($libfolder->getAccessMode($user) < M_READ) {
if (!is_object($libfolder) || $libfolder->getAccessMode($user) < M_READ) {
$libfolder = null;
// UI::exitError(getMLText("folder_title", array("foldername" => htmlspecialchars($libfolder->getName()))), getMLText("access_denied"));
}
} else {
$libfolder = null;

View File

@ -47,6 +47,7 @@ if(isset($_GET['attrdefid']) && $_GET['attrdefid']) {
}
if($view) {
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('accessobject', $accessop);
$view->setParam('onepage', $settings->_onePageMode); // do most navigation by reloading areas of pages with ajax
$view->setParam('attrdefs', $attrdefs);

View File

@ -46,6 +46,7 @@ if(isset($_GET['categoryid']) && $_GET['categoryid']) {
}
if($view) {
$view->setParam('conversionmgr', $conversionmgr);
$view->setParam('categories', $categories);
$view->setParam('selcategory', $selcat);
$view->setParam('accessobject', $accessop);

View File

@ -0,0 +1,47 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2010 Matteo Lucarelli
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// 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.Utils.php");
require_once("inc/inc.LogInit.php");
require_once("inc/inc.Language.php");
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.Authentication.php");
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
if (!$settings->_enableDebugMode) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if (!$accessop->check_view_access($view, $_GET)) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
if($view) {
$view->setParam('settings', $settings);
$view->setParam('accessobject', $accessop);
$view->setParam('conversionmgr', $conversionmgr);
$view($_GET);
exit;
}

View File

@ -161,6 +161,11 @@ if($fullsearch) {
else
$record_type = array();
if (isset($_GET["attributes"]))
$attributes = $_GET["attributes"];
else
$attributes = array();
// Check to see if the search has been restricted to a particular sub-tree in
// the folder hierarchy.
$startFolder = null;
@ -193,7 +198,7 @@ if($fullsearch) {
if($index) {
// $terms = $index->terms($_GET['query']);
$lucenesearch = $fulltextservice->Search();
$searchresult = $lucenesearch->search($query, array('record_type'=>$record_type, 'owner'=>$ownernames, 'status'=>$status, 'category'=>$categorynames, 'user'=>$user->isAdmin() ? [] : [$user->getLogin()], 'mimetype'=>$mimetype, 'startFolder'=>$startFolder, 'rootFolder'=>$rootFolder), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))));
$searchresult = $lucenesearch->search($query, array('record_type'=>$record_type, 'owner'=>$ownernames, 'status'=>$status, 'category'=>$categorynames, 'user'=>$user->isAdmin() ? [] : [$user->getLogin()], 'mimetype'=>$mimetype, 'startFolder'=>$startFolder, 'rootFolder'=>$rootFolder, 'attributes'=>$attributes), ($pageNumber == 'all' ? array() : array('limit'=>$limit, 'offset'=>$limit * ($pageNumber-1))));
if($searchresult === false) {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('splash_invalid_searchterm')));
$dcount = 0;

View File

@ -277,10 +277,10 @@ foreach($users as $user) {
$mail_params = array();
if($settings->_smtpServer) {
$mail_params['host'] = $settings->_smtpServer;
if($settings->smtpPort) {
if($settings->_smtpPort) {
$mail_params['port'] = $settings->_smtpPort;
}
if($settings->smtpUser) {
if($settings->_smtpUser) {
$mail_params['auth'] = true;
$mail_params['username'] = $settings->_smtpUser;
$mail_params['password'] = $settings->_smtpPassword;

View File

@ -90,14 +90,16 @@ foreach($tasks as $task) {
* to fast, but this is up to the admin of seeddms.
*/
$task->updateLastNextRun();
add_log_line("Running '".$task->getExtension()."::".$task->getTask()."::".$task->getName()."'");
echo "Running '".$task->getExtension()."::".$task->getTask()."::".$task->getName()."'\n";
if($taskobj->execute($task)) {
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." successful.");
add_log_line("Execution of task '".$task->getExtension()."::".$task->getTask()."::".$task->getName()."' successful.");
} else {
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()." failed, task has been disabled.", PEAR_LOG_ERR);
add_log_line("Execution of task ".$task->getExtension()."::".$task->getTask()."::".$task->getName()." failed, task has been disabled.", PEAR_LOG_ERR);
$task->setDisabled(1);
}
} elseif($mode == 'dryrun') {
echo "Running ".$task->getExtension()."::".$task->getTask()." in dry mode\n";
echo "Running '".$task->getExtension()."::".$task->getTask()."::".$task->getName()."' in dry mode\n";
}
}
}
@ -120,7 +122,7 @@ foreach($tasks as $task) {
} else {
echo "-";
}
echo " ".$task->getExtension()."::".$task->getTask()."";
echo " '".$task->getExtension()."::".$task->getTask()."::".$task->getName()."'";
echo " ".$task->getNextRun();
echo " ".$task->getFrequency();
echo "\n";

View File

@ -67,6 +67,7 @@ $(document).ready( function() {
function info() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$conversionmgr = $this->params['conversionmgr'];
$attrdefs = $this->params['attrdefs'];
$selattrdef = $this->params['selattrdef'];
$cachedir = $this->params['cachedir'];
@ -134,13 +135,15 @@ $(document).ready( function() {
}
}
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
if($res['folders'] || $res['docs']) {
print $this->folderListHeader();
print "<tbody>\n";
foreach($res['folders'] as $subFolder) {
echo $this->folderListRow($subFolder);
}
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach($res['docs'] as $document) {
echo $this->documentListRow($document, $previewer);
}
@ -156,7 +159,6 @@ $(document).ready( function() {
print "<th>".getMLText("status")."</th>\n";
print "<th>".getMLText("action")."</th>\n";
print "</tr>\n</thead>\n<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
foreach($res['contents'] as $content) {
$doc = $content->getDocument();
echo $this->documentListRow($doc, $previewer);
@ -348,58 +350,8 @@ $(document).ready( function() {
<?php
if($attrdefs) {
foreach ($attrdefs as $attrdef) {
switch($attrdef->getObjType()) {
case SeedDMS_Core_AttributeDefinition::objtype_all:
$ot = getMLText("all");
break;
case SeedDMS_Core_AttributeDefinition::objtype_folder:
$ot = getMLText("folder");
break;
case SeedDMS_Core_AttributeDefinition::objtype_document:
$ot = getMLText("document");
break;
case SeedDMS_Core_AttributeDefinition::objtype_documentcontent:
$ot = getMLText("documentcontent");
break;
}
switch($attrdef->getType()) {
case SeedDMS_Core_AttributeDefinition::type_int:
$t = getMLText("attrdef_type_int");
break;
case SeedDMS_Core_AttributeDefinition::type_float:
$t = getMLText("attrdef_type_float");
break;
case SeedDMS_Core_AttributeDefinition::type_string:
$t = getMLText("attrdef_type_string");
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$t = getMLText("attrdef_type_boolean");
break;
case SeedDMS_Core_AttributeDefinition::type_date:
$t = getMLText("attrdef_type_date");
break;
case SeedDMS_Core_AttributeDefinition::type_email:
$t = getMLText("attrdef_type_email");
break;
case SeedDMS_Core_AttributeDefinition::type_url:
$t = getMLText("attrdef_type_url");
break;
case SeedDMS_Core_AttributeDefinition::type_boolean:
$t = getMLText("attrdef_type_boolean");
break;
case SeedDMS_Core_AttributeDefinition::type_folder:
$t = getMLText("attrdef_type_folder");
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$t = getMLText("attrdef_type_document");
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$t = getMLText("attrdef_type_user");
break;
case SeedDMS_Core_AttributeDefinition::type_group:
$t = getMLText("attrdef_type_group");
break;
}
$ot = getAttributeObjectTypeText($attrdef);
$t = getAttributeTypeText($attrdef);
print "<option value=\"".$attrdef->getID()."\" ".($selattrdef && $attrdef->getID()==$selattrdef->getID() ? 'selected' : '')." data-subtitle=\"".htmlspecialchars($ot.", ".$t)."\">" . htmlspecialchars($attrdef->getName()/* ." (".$ot.", ".$t.")"*/);
}
}

View File

@ -731,6 +731,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function folderNavigationBar($folder) { /* {{{ */
$dms = $this->params['dms'];
$enableClipboard = $this->params['enableclipboard'];
$accessobject = $this->params['accessobject'];
if (!is_object($folder) || !$folder->isType('folder')) {
self::showNavigationBar(array());
@ -776,6 +777,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['edit_folder_attrdefgrp'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_attrdefgrp'));
}
}
if($enableClipboard) {
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'F'.$folder->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
}
if ($accessobject->check_view_access('Indexer') && $this->params['enablefullsearch']) {
$menuitems['index_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder'));
}
@ -798,6 +802,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function documentNavigationBar($document) { /* {{{ */
$accessobject = $this->params['accessobject'];
$enableClipboard = $this->params['enableclipboard'];
$accessMode = $document->getAccessMode($this->params['user']);
$docid=".php?documentid=" . $document->getID();
echo "<id=\"first\"><a href=\"".$this->params['settings']->_httpRoot."out/out.ViewDocument". $docid ."\" class=\"brand\">".getMLText("document")."</a>\n";
@ -850,6 +855,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
}
if($enableClipboard) {
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'D'.$document->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
}
if ($accessobject->check_view_access('TransferDocument')) {
$menuitems['transfer_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document'));
}
@ -1048,6 +1056,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['debug']['children']['hooks'] = array('link'=>"../out/out.Hooks.php", 'label'=>getMLText('list_hooks'));
if ($accessobject->check_view_access('NotificationServices'))
$menuitems['debug']['children']['notification_services'] = array('link'=>"../out/out.NotificationServices.php", 'label'=>getMLText('list_notification_services'));
if ($accessobject->check_view_access('ConversionServices'))
$menuitems['debug']['children']['conversion_services'] = array('link'=>"../out/out.ConversionServices.php", 'label'=>getMLText('list_conversion_services'));
}
}
@ -1248,17 +1258,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} elseif(is_array($value)) {
switch($value['element']) {
case 'select':
$allowempty = empty($value['allow_empty']) ? false : $value['allow_empty'];
echo '<select'.
(!empty($value['id']) ? ' id="'.$value['id'].'"' : '').
(!empty($value['name']) ? ' name="'.$value['name'].'"' : '').
(!empty($value['class']) ? ' class="'.$value['class'].'"' : '').
(!empty($value['placeholder']) ? ' data-placeholder="'.$value['placeholder'].'"' : '').
($allowempty ? ' data-allow-clear="true"' : '').
(!empty($value['multiple']) ? ' multiple' : '');
if(!empty($value['attributes']) && is_array($value['attributes']))
foreach($value['attributes'] as $a)
echo ' '.$a[0].'="'.$a[1].'"';
echo ">";
if(isset($value['options']) && is_array($value['options'])) {
if($allowempty)
echo "<option value=\"\"></option>";
foreach($value['options'] as $val) {
if(is_string($val)) {
echo '<optgroup label="'.$val.'">';

View File

@ -51,6 +51,7 @@ $(document).ready( function() {
function info() { /* {{{ */
$dms = $this->params['dms'];
$selcat = $this->params['selcategory'];
$conversionmgr = $this->params['conversionmgr'];
$cachedir = $this->params['cachedir'];
$previewwidth = $this->params['previewWidthList'];
$timeout = $this->params['timeout'];
@ -68,6 +69,8 @@ $(document).ready( function() {
print $this->folderListHeader();
print "<tbody>\n";
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout, $xsendfile);
if($conversionmgr)
$previewer->setConversionMgr($conversionmgr);
foreach($documents as $doc) {
echo $this->documentListRow($doc, $previewer);
}
@ -159,7 +162,8 @@ $(document).ready( function() {
$options[] = array("-1", getMLText("choose_category"));
$options[] = array("0", getMLText("new_document_category"));
foreach ($categories as $category) {
$options[] = array($category->getID(), htmlspecialchars($category->getName()), $selcat && $category->getID()==$selcat->getID(), array(array('data-subtitle', $category->countDocumentsByCategory().' '.getMLText('documents'))));
$color = substr(md5($category->getName()), 0, 6);
$options[] = array($category->getID(), htmlspecialchars($category->getName()), $selcat && $category->getID()==$selcat->getID(), array(array('data-before-title', "<i class='fa fa-circle' style='color: #".$color.";'></i> "), array('data-subtitle', $category->countDocumentsByCategory().' '.getMLText('documents'))));
}
$this->formField(
null, //getMLText("selection"),

View File

@ -79,7 +79,6 @@ $(document).ready(function() {
$this->globalNavigation($folder);
$this->contentStart();
$this->pageNavigation($this->getFolderPathHTML($folder, true, $document), "view_document", $document);
$this->contentHeading(getMLText("checkin_document"));
if ($document->isLocked()) {
@ -120,7 +119,10 @@ $(document).ready(function() {
}
$checkoutinfo = $document->getCheckOutInfo();
$this->rowStart();
if($checkoutstatus == 0) {
$this->columnStart(6);
$this->contentHeading(getMLText("checkin_document"));
$latestContent = $document->getLatestContent();
$reviewStatus = $latestContent->getReviewStatus();
@ -134,13 +136,13 @@ $(document).ready(function() {
}
}
$this->contentContainerStart();
?>
<form class="form-horizontal" action="../op/op.CheckInDocument.php" method="post" id="form1" name="form1">
<?php echo createHiddenFieldWithKey('checkindocument'); ?>
<input type="hidden" name="documentid" value="<?php print $document->getID(); ?>">
<?php
$this->contentContainerStart();
if(!$nodocumentformfields || !in_array('version_comment', $nodocumentformfields)) {
$this->formField(
getMLText("comment"),
@ -664,18 +666,21 @@ $(document).ready(function() {
);
}
$this->contentContainerEnd();
$this->formSubmit(getMLText('checkin_document'));
?>
</form>
<?php
$this->contentContainerEnd();
$this->columnEnd();
$this->columnStart(6);
if(!empty($settings->_enableCancelCheckout)) {
$this->contentContainerStart();
$this->contentHeading(getMLText("cancel_checkout_document"));
$this->warningMsg(getMLText('cancel_checkout_warning'));
?>
<form class="form-horizontal" action="../op/op.CancelCheckOut.php" method="post">
<input type="hidden" name="documentid" value="<?php print $document->getID(); ?>">
<?php
$this->contentContainerStart();
echo createHiddenFieldWithKey('cancelcheckout');
$this->formField(
getMLText("checkout_cancel_confirm"),
@ -686,13 +691,15 @@ $(document).ready(function() {
'value'=>1
)
);
$this->contentContainerEnd();
$this->formSubmit(getMLText('cancel_checkout'), '', '', 'danger');
?>
</form>
<?php
$this->contentContainerEnd();
}
$this->columnEnd();
} else {
$this->columnStart(12);
?>
<form action="../op/op.CancelCheckOut.php" method="post">
<?php echo createHiddenFieldWithKey('cancelcheckout'); ?>
@ -701,7 +708,9 @@ $(document).ready(function() {
<?php $this->formSubmit(getMLText('cancel_checkout'),'','','danger');?>
</form>
<?php
$this->columnEnd();
}
$this->rowEnd();
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */

View File

@ -42,7 +42,7 @@ class SeedDMS_View_Clipboard extends SeedDMS_Theme_Style {
*/
public function menuClipboard() { /* {{{ */
$clipboard = $this->params['session']->getClipboard();
if ($this->params['user']->isGuest() || (count($clipboard['docs']) + count($clipboard['folders'])) == 0) {
if (/*$this->params['user']->isGuest() ||*/ (count($clipboard['docs']) + count($clipboard['folders'])) == 0) {
return '';
}

View File

@ -0,0 +1,68 @@
<?php
/**
* Implementation of Conversion Services view
*
* @category DMS
* @package SeedDMS
* @license GPL 2
* @version @version@
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2010-2023 Uwe Steinmann
* @version Release: @package_version@
*/
/**
* Class which outputs the html page for Conversion Services view
*
* @category DMS
* @package SeedDMS
* @author Uwe Steinmann <uwe@steinmann.cx>
* @copyright Copyright (C) 2016 Uwe Steinmann
* @version Release: @package_version@
*/
class SeedDMS_View_ConversionServices extends SeedDMS_Theme_Style {
/**
* List all registered conversion services
*
*/
function list_conversion_services($conversionmgr) { /* {{{ */
if(!$conversionmgr)
return;
$allservices = $conversionmgr->getServices();
echo "<table class=\"table table-condensed table-sm\">\n";
echo "<thead>";
echo "<tr><th>".getMLText('service_list_from')."</th><th>".getMLText('service_list_to')."</th><th>".getMLText('class_name')."</th><th>".getMLText('service_list_info')."</th></tr>\n";
echo "</thead>";
echo "<tbody>";
foreach($allservices as $from=>$tos) {
foreach($tos as $to=>$services) {
foreach($services as $service) {
echo "<tr><td>".$from."</td><td>".$to."</td><td>".get_class($service)."</td><td>".$service->getInfo()."</td></tr>";
}
}
}
echo "</tbody>";
echo "</table>\n";
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$conversionmgr = $this->params['conversionmgr'];
$this->htmlStartPage(getMLText("admin_tools"));
$this->globalNavigation();
$this->contentStart();
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
$this->contentHeading(getMLText("list_conversion_services"));
self::list_conversion_services($conversionmgr);
$this->contentEnd();
$this->htmlEndPage();
} /* }}} */
}

View File

@ -178,6 +178,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
function readme() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$session = $this->params['session'];
$extdir = $this->params['extdir'];
$extmgr = $this->params['extmgr'];
$extname = $this->params['extname'];
@ -185,9 +186,10 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
if(isset($extconf[$extname])) {
$extconf = $extconf[$extname];
if(file_exists($extdir."/".$extname."/README.md")) {
// echo '<div style="white-space: pre-wrap; font-family: monospace; padding: 0px;">'.file_get_contents($extdir."/".$extname."/README.md")."</div>";
$Parsedown = new Parsedown();
if(file_exists($extdir."/".$extname."/README.".$session->getLanguage().".md")) {
echo $Parsedown->text(file_get_contents($extdir."/".$extname."/README.".$session->getLanguage().".md"));
} elseif(file_exists($extdir."/".$extname."/README.md")) {
echo $Parsedown->text(file_get_contents($extdir."/".$extname."/README.md"));
}
}
@ -197,6 +199,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
$dms = $this->params['dms'];
$user = $this->params['user'];
$settings = $this->params['settings'];
$session = $this->params['session'];
$httproot = $this->params['httproot'];
$extmgr = $this->params['extmgr'];
$extdir = $this->params['extdir'];
@ -237,7 +240,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
echo "</td>";
echo "<td nowrap>";
echo "<div class=\"list-action\">";
if(file_exists($extdir."/".$extname."/README.md")) {
if(file_exists($extdir."/".$extname."/README.".$session->getLanguage().".md") || file_exists($extdir."/".$extname."/README.md")) {
echo $this->getModalBoxLink(array('target'=>'extensionReadme', 'remote'=>'out.ExtensionMgr.php?action=readme&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-question"></i>', 'attributes'=>array('title'=>getMLText('show_extension_readme'))));
}
if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) {

View File

@ -37,7 +37,7 @@ class SeedDMS_View_Indexer_Process_Folder { /* {{{ */
public function process($folder, $depth=0) { /* {{{ */
$lucenesearch = $this->fulltextservice->Search();
echo "<div class=\"folder\" style=\"margin-left: ".(($depth+1)*18)."px\"><i class=\"fa fa-folder\"></i> ".$folder->getId().":".htmlspecialchars($folder->getFolderPathPlain());
echo "<div class=\"folder\" style=\"margin-left: ".(($depth+0)*18)."px\"><i class=\"fa fa-folder\"></i> ".$folder->getId().":".htmlspecialchars($folder->getFolderPathPlain());
/* If the document wasn't indexed before then just add it */
if(($this->numdocs == 0) || !($hit = $lucenesearch->getFolder($folder->getId()))) {
echo " <span id=\"status_F".$folder->getID()."\" class=\"indexme indexstatus\" data-docid=\"F".$folder->getID()."\">".getMLText('index_waiting')."</span>";

View File

@ -401,7 +401,10 @@ $(document).ready( function() {
);
break;
case 'select':
if(!empty($param['multiple']))
$vals = $task->getParameter()[$param['name']];
else
$vals = [$task->getParameter()[$param['name']]];
foreach($param['options'] as &$opt) {
if(in_array($opt[0], $vals))
$opt[2] = true;
@ -411,7 +414,7 @@ $(document).ready( function() {
array(
'element'=>'select',
'class'=>'chzn-select',
'name'=>'params['.$param['name'].'][]',
'name'=>'params['.$param['name'].']'.(!empty($param['multiple']) ? '[]' : ''),
'multiple'=>isset($param['multiple']) ? $param['multiple'] : false,
'attributes'=>array(array('data-placeholder', getMLText('select_value'), array('data-no_results_text', getMLText('unknown_value')))),
'options'=>$param['options'],
@ -429,7 +432,10 @@ $(document).ready( function() {
);
break;
case "users":
if(!empty($param['multiple']))
$userids = $task->getParameter()[$param['name']];
else
$userids = [$task->getParameter()[$param['name']]];
$users = $dms->getAllUsers();
foreach ($users as $currUser) {
if (!$currUser->isGuest())
@ -440,7 +446,7 @@ $(document).ready( function() {
array(
'element'=>'select',
'class'=>'chzn-select',
'name'=>'params['.$param['name'].'][]',
'name'=>'params['.$param['name'].']'.(!empty($param['multiple']) ? '[]' : ''),
'multiple'=>isset($param['multiple']) ? $param['multiple'] : false,
'attributes'=>array(array('data-placeholder', getMLText('select_value'), array('data-no_results_text', getMLText('unknown_value')))),
'options'=>$options

View File

@ -957,9 +957,12 @@ function typeahead() { /* {{{ */
foreach($values as $v=>$c) {
$uu = $dms->getUserByLogin($v);
if($uu) {
$option = array($uu->getId(), $v.' ('.$c.')');
$option = array($uu->getId(), $v/*.' ('.$c.')'*/);
if(isset(${$facetname}) && in_array($uu->getId(), ${$facetname}))
$option[] = true;
else
$option[] = false;
$option[] = array(array('data-subtitle', $c.' ×'));
$options[] = $option;
}
}
@ -967,17 +970,33 @@ function typeahead() { /* {{{ */
foreach($values as $v=>$c) {
$cat = $dms->getDocumentCategoryByName($v);
if($cat) {
$option = array($cat->getId(), $v.' ('.$c.')');
$option = array($cat->getId(), $v/*.' ('.$c.')'*/);
if(isset(${$facetname}) && in_array($cat->getId(), ${$facetname}))
$option[] = true;
else
$option[] = false;
$option[] = array(array('data-subtitle', $c.' ×'));
$options[] = $option;
}
}
} elseif($facetname == 'status') {
foreach($values as $v=>$c) {
$option = array($v, getOverallStatusText($v).' ('.$c.')');
$option = array($v, getOverallStatusText($v)/*.' ('.$c.')'*/);
if(isset(${$facetname}) && in_array($v, ${$facetname}))
$option[] = true;
else
$option[] = false;
$option[] = array(array('data-subtitle', $c.' ×'));
$options[] = $option;
}
} elseif(substr($facetname, 0, 5) == 'attr_') {
foreach($values as $v=>$c) {
$option = array($v, $v/*.' ('.$c.')'*/);
if(isset($attributes[$facetname]) && in_array($v, $attributes[$facetname]))
$option[] = true;
else
$option[] = false;
$option[] = array(array('data-subtitle', $c.' ×'));
$options[] = $option;
}
} else {
@ -985,9 +1004,33 @@ function typeahead() { /* {{{ */
$option = array($v, $v.' ('.$c.')');
if(isset(${$facetname}) && in_array($v, ${$facetname}))
$option[] = true;
else
$option[] = false;
$option[] = array(array('data-subtitle', $c.' ×'));
$options[] = $option;
}
}
if(substr($facetname, 0, 5) == 'attr_') {
if($options) {
$tmp = explode('_', $facetname);
if($attrdef = $dms->getAttributeDefinition($tmp[1]))
$dispname = $attrdef->getName();
else
$dispname = getMLText($facetname);
$this->formField(
$dispname,
array(
'element'=>'select',
'id'=>$facetname,
'name'=>'attributes['.$facetname.'][]',
'class'=>'chzn-select',
'attributes'=>array(array('data-placeholder', $dispname), array('data-allow-clear', 'true')),
'options'=>$options,
'multiple'=>$multiple
)
);
}
} else {
$this->formField(
getMLText($facetname),
array(
@ -1002,6 +1045,7 @@ function typeahead() { /* {{{ */
);
}
}
}
$this->contentContainerEnd();
$this->formSubmit("<i class=\"fa fa-search\"></i> ".getMLText('search'));
?>

View File

@ -424,6 +424,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
-->
<?php $this->showConfigHeadline('settings_Server'); ?>
<?php $this->showConfigText('settings_rootDir', 'rootDir'); ?>
<?php $this->showConfigText('settings_baseUrl', 'baseUrl'); ?>
<?php $this->showConfigText('settings_httpRoot', 'httpRoot'); ?>
<?php $this->showConfigText('settings_contentDir', 'contentDir'); ?>
<?php $this->showConfigText('settings_backupDir', 'backupDir'); ?>
@ -677,7 +678,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
echo "<option value=\"".$rec->getID()."\"";
if(in_array($rec->getID(), $selections))
echo " selected";
echo ">".htmlspecialchars($rec->getName())."</option>";
echo " data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
}
echo "</select>";
} else {
@ -704,6 +705,9 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
case "folders":
$this->formField(null, $this->getFolderChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getFolder($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
break;
case "documents":
$this->formField(null, $this->getDocumentChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getDocument($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
break;
}
}
break;

View File

@ -1947,7 +1947,7 @@ $(document).ready( function() {
if ($document->getAccessMode($user) >= M_READWRITE){
if($enableDropUpload){
?>
<div id="draganddrophandler" class="well alert alert-warning" data-droptarget="attachment_<?= $document->getID(); ?>" data-target="<?= $document->getID(); ?>" data-uploadformtoken="<?= createFormKey('addfile'); ?>"><?php echo $this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'alert alert-warning'), getMLText('drop_files_here_or_click'), false, true); ?></div>
<div id="draganddrophandler" class="well alert alert-warning" data-droptarget="attachment_<?= $document->getID(); ?>" data-target="<?= $document->getID(); ?>" data-uploadformtoken="<?= createFormKey('addfile'); ?>"><?php echo $this->html_link('AddFile', array('documentid'=>$documentid), array(), getMLText('drop_files_here_or_click'), false, true); ?></div>
<?php
} else {
print $this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn btn-primary'), getMLText("add"), false, true)."\n";

View File

@ -12,6 +12,8 @@ chzn_template_func = function (state) {
if($(state.element).data('warning'))
warning = $(state.element).data('warning')+''; /* make sure it is a string */
var html = '<span>';
if($(state.element).data('before-title'))
html += $(state.element).data('before-title')+'';
if($(state.element).data('icon-before'))
html += '<i class="fa fa-'+$(state.element).data('icon-before')+'"></i> ';
html += state.text.replace(/</g, '&lt;')+'';
@ -503,6 +505,7 @@ $(document).ready( function() {
var action = element.data('action');
var query = element.data('query');
var afterload = $(this).data('afterload');
var updatemsg = element.data('update-msg');
if(view && action) {
url = seeddms_webroot+base+"out/out."+view+".php?action="+action;
if(query) {
@ -525,7 +528,9 @@ $(document).ready( function() {
} else {
url += "&"+param1;
}
console.log(url);
//console.log(url);
if(typeof updatemsg != 'undefined')
element.html(updatemsg);
if(!element.data('no-spinner'))
element.prepend('<div style="position: absolute; overflow: hidden; background: #f7f7f7; z-index: 1000; height: '+element.height()+'px; width: '+element.width()+'px; opacity: 0.7; display: table;"><div style="display: table-cell;text-align: center; vertical-align: middle; "><img src="../views/bootstrap/images/ajax-loader.gif"></div>');
$.get(url, function(data) {
@ -1404,14 +1409,14 @@ $(document).ready(function() { /* {{{ */
);
SeedDMSTask.add = function(task) {
tasks.push(task);
return tasks.push(task);
}
SeedDMSTask.run = function() {
for(let task of tasks) {
if(counter % task.interval == 0) {
// console.log("Running task '" + task.name + "'");
task.func();
task.func(task);
}
}
//console.log(counter);

View File

@ -658,6 +658,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function folderNavigationBar($folder) { /* {{{ */
$dms = $this->params['dms'];
$enableClipboard = $this->params['enableclipboard'];
$accessobject = $this->params['accessobject'];
if (!is_object($folder) || !$folder->isType('folder')) {
self::showNavigationBar(array());
@ -701,6 +702,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['edit_folder_attrdefgrp'] = array('link'=>$this->params['settings']->_httpRoot."out/out.FolderAttributeGroup.php?folderid=".$folderID."&showtree=".showtree(), 'label'=>getMLText('edit_folder_attrdefgrp'));
}
}
if($enableClipboard) {
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'F'.$folder->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
}
if ($this->params['user']->isAdmin() && $this->params['enablefullsearch']) {
$menuitems['index_folder'] = array('link'=>$this->params['settings']->_httpRoot."out/out.Indexer.php?folderid=". $folderID."&showtree=".showtree(), 'label'=>getMLText('index_folder'));
}
@ -721,6 +725,7 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
private function documentNavigationBar($document) { /* {{{ */
$accessobject = $this->params['accessobject'];
$enableClipboard = $this->params['enableclipboard'];
$accessMode = $document->getAccessMode($this->params['user']);
$docid=".php?documentid=" . $document->getID();
$menuitems = array();
@ -771,6 +776,9 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
if ($accessobject->check_view_access('DocumentNotify'))
$menuitems['edit_existing_notify'] = array('link'=>$this->params['settings']->_httpRoot."out/out.DocumentNotify". $docid, 'label'=>getMLText('edit_existing_notify'));
}
if($enableClipboard) {
$menuitems['add_to_clipboard'] = array('class'=>'addtoclipboard', 'attributes'=>array(['rel', 'D'.$document->getId()], ['msg', getMLText('splash_added_to_clipboard')], ['title', getMLText("add_to_clipboard")]), 'label'=>getMLText("add_to_clipboard"));
}
if ($accessobject->check_view_access('TransferDocument')) {
$menuitems['transfer_document'] = array('link'=>$this->params['settings']->_httpRoot."out/out.TransferDocument". $docid, 'label'=>getMLText('transfer_document'));
}
@ -954,6 +962,8 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
$menuitems['debug']['children']['hooks'] = array('link'=>"../out/out.Hooks.php", 'label'=>getMLText('list_hooks'));
if ($accessobject->check_view_access('NotificationServices'))
$menuitems['debug']['children']['notification_services'] = array('link'=>"../out/out.NotificationServices.php", 'label'=>getMLText('list_notification_services'));
if ($accessobject->check_view_access('ConversionServices'))
$menuitems['debug']['children']['conversion_services'] = array('link'=>"../out/out.ConversionServices.php", 'label'=>getMLText('list_conversion_services'));
}
}
@ -1150,17 +1160,21 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
} elseif(is_array($value)) {
switch($value['element']) {
case 'select':
$allowempty = empty($value['allow_empty']) ? false : $value['allow_empty'];
echo '<select'.
(!empty($value['id']) ? ' id="'.$value['id'].'"' : '').
(!empty($value['name']) ? ' name="'.$value['name'].'"' : '').
(empty($value['class']) ? ' class="form-control"' : ' class="form-control '.$value['class'].'"').
(!empty($value['placeholder']) ? ' data-placeholder="'.$value['placeholder'].'"' : '').
($allowempty ? ' data-allow-clear="true"' : '').
(!empty($value['multiple']) ? ' multiple' : '');
if(!empty($value['attributes']) && is_array($value['attributes']))
foreach($value['attributes'] as $a)
echo ' '.$a[0].'="'.$a[1].'"';
echo ">";
if(isset($value['options']) && is_array($value['options'])) {
if($allowempty)
echo "<option value=\"\"></option>";
foreach($value['options'] as $val) {
if(is_string($val)) {
echo '<optgroup label="'.$val.'">';
@ -2034,7 +2048,7 @@ $(document).ready(function() {
default:
if($valueset = $attrdef->getValueSetAsArray()) {
$content .= "<input type=\"hidden\" name=\"".$fieldname."[".$attrdef->getId()."]\" value=\"\"/>";
$content .= "<select class=\"form-control\" id=\"".$fieldname."_".$attrdef->getId()."\" name=\"".$fieldname."[".$attrdef->getId()."]";
$content .= "<select id=\"".$fieldname."_".$attrdef->getId()."\" name=\"".$fieldname."[".$attrdef->getId()."]";
if($attrdef->getMultipleValues() || $alwaysmultiple) {
$content .= "[]\" multiple";
} else {
@ -3289,7 +3303,7 @@ $('body').on('click', '[id^=\"table-row-folder\"] td:nth-child(2)', function(ev)
if($categories = $document->getCategories()) {
$content .= "<br />";
foreach($categories as $category)
$content .= "<span class=\"badge bg-secondary\"".($category->getColor() ? ' style="background-color: '.$category->getColor().' !important;"' : '').">".$category->getName()."</span> ";
$content .= "<span class=\"badge bg-secondary\"".($category->getColor() ? ' style="background-color: '.$category->getColor().' !important; color: '.(getColorBrightness($category->getColor()) < 0.8 ? 'white' : 'black').';"' : '').">".$category->getName()."</span> ";
}
if(!empty($extracontent['bottom_title']))
$content .= $extracontent['bottom_title'];

View File

@ -12,6 +12,8 @@ chzn_template_func = function (state) {
if($(state.element).data('warning'))
warning = $(state.element).data('warning')+''; /* make sure it is a string */
var html = '<span>';
if($(state.element).data('before-title'))
html += $(state.element).data('before-title')+'';
if($(state.element).data('icon-before'))
html += '<i class="fa fa-'+$(state.element).data('icon-before')+'"></i> ';
html += state.text.replace(/</g, '&lt;')+'';
@ -534,6 +536,7 @@ $(document).ready( function() {
var action = element.data('action');
var query = element.data('query');
var afterload = $(this).data('afterload');
var updatemsg = element.data('update-msg');
if(view && action) {
url = seeddms_webroot+base+"out/out."+view+".php?action="+action;
if(query) {
@ -556,7 +559,9 @@ $(document).ready( function() {
} else {
url += "&"+param1;
}
console.log(url);
//console.log(url);
if(typeof updatemsg != 'undefined')
element.html(updatemsg);
if(!element.data('no-spinner'))
element.prepend('<div style="position: absolute; overflow: hidden; background: #f7f7f7; z-index: 1000; height: '+element.height()+'px; width: '+element.width()+'px; opacity: 0.7; display: table;"><div style="display: table-cell;text-align: center; vertical-align: middle; "><img src="../views/bootstrap/images/ajax-loader.gif"></div>');
$.get(url, function(data) {
@ -1460,14 +1465,14 @@ $(document).ready(function() { /* {{{ */
);
SeedDMSTask.add = function(task) {
tasks.push(task);
return tasks.push(task);
}
SeedDMSTask.run = function() {
for(let task of tasks) {
if(counter % task.interval == 0) {
// console.log("Running task '" + task.name + "'");
task.func();
task.func(task);
}
}
//console.log(counter);