mirror of
https://git.code.sf.net/p/seeddms/code
synced 2024-11-26 15:32:13 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
66f478b36a
|
@ -91,6 +91,11 @@
|
|||
- add document list which can be exported as an archive
|
||||
- search results can be exported
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Changes in version 5.1.7
|
||||
--------------------------------------------------------------------------------
|
||||
- support for upload/download of extensions
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Changes in version 5.1.6
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
|
@ -30,7 +30,7 @@ class Controller {
|
|||
* @return object an object of a class implementing the view
|
||||
*/
|
||||
static function factory($class, $params=array()) { /* {{{ */
|
||||
global $settings, $session, $dms, $user, $EXT_CONF;
|
||||
global $settings, $session, $EXT_CONF;
|
||||
if(!$class) {
|
||||
return null;
|
||||
}
|
||||
|
@ -52,8 +52,6 @@ class Controller {
|
|||
require($filename);
|
||||
$controller = new $classname($params);
|
||||
/* Set some configuration parameters */
|
||||
$controller->setParam('dms', $dms);
|
||||
$controller->setParam('user', $user);
|
||||
$controller->setParam('class', $class);
|
||||
$controller->setParam('postVars', $_POST);
|
||||
$controller->setParam('getVars', $_GET);
|
||||
|
|
|
@ -32,6 +32,12 @@ class SeedDMS_Extension_Mgr {
|
|||
*/
|
||||
protected $extdir;
|
||||
|
||||
/**
|
||||
* @var array[] $extconf configuration of all extensions
|
||||
* @access protected
|
||||
*/
|
||||
protected $extconf;
|
||||
|
||||
/**
|
||||
* @var string $cachedir directory where cached extension configuration
|
||||
* is stored
|
||||
|
@ -39,25 +45,89 @@ class SeedDMS_Extension_Mgr {
|
|||
*/
|
||||
protected $cachedir;
|
||||
|
||||
/**
|
||||
* @var string[] $errmsg list of error message from last operation
|
||||
* @access protected
|
||||
*/
|
||||
protected $errmsgs;
|
||||
|
||||
function __construct($extdir = '', $cachedir = '') {
|
||||
/**
|
||||
* Compare two version
|
||||
*
|
||||
* This functions compares two version in the format x.x.x
|
||||
*
|
||||
* @param string $ver1
|
||||
* @param string $ver2
|
||||
* @return int -1 if $ver1 < $ver2, 0 if $ver1 == $ver2, 1 if $ver1 > $ver2
|
||||
*/
|
||||
static public function cmpVersion($ver1, $ver2) { /* {{{ */
|
||||
$tmp1 = explode('.', $ver1);
|
||||
$tmp2 = explode('.', $ver2);
|
||||
if(intval($tmp1[0]) < intval($tmp2[0])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[0]) > intval($tmp2[0])) {
|
||||
return 1;
|
||||
} else {
|
||||
if(intval($tmp1[1]) < intval($tmp2[1])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[1]) > intval($tmp2[1])) {
|
||||
return 1;
|
||||
} else {
|
||||
if(intval($tmp1[2]) < intval($tmp2[2])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[2]) > intval($tmp2[2])) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Constructor of extension manager
|
||||
*
|
||||
* Reads the configuration of all extensions and creates the
|
||||
* configuration file if it does not exist and the extension dir
|
||||
* is given
|
||||
*/
|
||||
public function __construct($extdir = '', $cachedir = '') {
|
||||
$this->cachedir = $cachedir;
|
||||
$this->extdir = $extdir;
|
||||
$this->extconf = array();
|
||||
if($extdir) {
|
||||
if(!file_exists($this->getExtensionsConfFile())) {
|
||||
$this->createExtensionConf();
|
||||
}
|
||||
include($this->getExtensionsConfFile());
|
||||
if($EXT_CONF) {
|
||||
$this->extconf = $EXT_CONF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getExtensionsConfFile() { /* {{{ */
|
||||
protected function getExtensionsConfFile() { /* {{{ */
|
||||
return $this->cachedir."/extensions.php";
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Get the configuration of extensions
|
||||
*
|
||||
* @return array[]
|
||||
*/
|
||||
public function getExtensionConfiguration() { /* {{{ */
|
||||
return $this->extconf;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Create the cached file containing extension information
|
||||
*
|
||||
* This function will always create a file, even if no extensions
|
||||
* are installed.
|
||||
*/
|
||||
function createExtensionConf() { /* {{{ */
|
||||
public function createExtensionConf() { /* {{{ */
|
||||
$extensions = self::getExtensions();
|
||||
$fp = fopen(self::getExtensionsConfFile(), "w");
|
||||
$fp = @fopen(self::getExtensionsConfFile(), "w");
|
||||
if($fp) {
|
||||
if($extensions) {
|
||||
foreach($extensions as $_ext) {
|
||||
|
@ -74,7 +144,7 @@ class SeedDMS_Extension_Mgr {
|
|||
}
|
||||
} /* }}} */
|
||||
|
||||
function getExtensions() { /* {{{ */
|
||||
protected function getExtensions() { /* {{{ */
|
||||
$extensions = array();
|
||||
if(file_exists($this->extdir)) {
|
||||
$handle = opendir($this->extdir);
|
||||
|
@ -90,4 +160,189 @@ class SeedDMS_Extension_Mgr {
|
|||
}
|
||||
return $extensions;
|
||||
} /* }}} */
|
||||
|
||||
public function createArchive($extname, $version) { /* {{{ */
|
||||
if(!is_dir($this->extdir ."/". $extname))
|
||||
return false;
|
||||
|
||||
$tmpfile = $this->cachedir."/".$extname."-".$version.".zip";
|
||||
|
||||
$cmd = "cd ".$this->extdir."/".$extname."; zip -r ".$tmpfile." .";
|
||||
exec($cmd);
|
||||
|
||||
return $tmpfile;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Check content of extension directory
|
||||
*
|
||||
* @param string $dir full path to extension directory or extension name
|
||||
* @param boolean $noconstraints set to true if constraints to local seeddms
|
||||
* installation shall not be checked.
|
||||
*/
|
||||
public function checkExtension($dir, $noconstraints=false) { /* {{{ */
|
||||
$this->errmsgs = array();
|
||||
|
||||
if(!file_exists($dir)) {
|
||||
if(!file_exists($this->extdir.'/'.$dir))
|
||||
return false;
|
||||
else
|
||||
$dir = $this->extdir.'/'.$dir;
|
||||
}
|
||||
if(!file_exists($dir."/conf.php")) {
|
||||
$this->errmsgs[] = "Missing extension configuration";
|
||||
return false;
|
||||
}
|
||||
include($dir."/conf.php");
|
||||
if(!isset($EXT_CONF)) {
|
||||
$this->errmsgs[] = "Missing \$EXT_CONF in configuration";
|
||||
return false;
|
||||
}
|
||||
$extname = key($EXT_CONF);
|
||||
if(!$extname || !preg_match('/[a-zA-Z_]*/', $extname)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$extconf = $EXT_CONF[$extname];
|
||||
if(!isset($extconf['constraints']['depends']['seeddms'])) {
|
||||
$this->errmsgs[] = "Missing dependency on SeedDMS";
|
||||
}
|
||||
if(!isset($extconf['constraints']['depends']['php'])) {
|
||||
$this->errmsgs[] = "Missing dependency on PHP";
|
||||
}
|
||||
if(!isset($extconf['version'])) {
|
||||
$this->errmsgs[] = "Missing version information";
|
||||
}
|
||||
if(!isset($extconf['title'])) {
|
||||
$this->errmsgs[] = "Missing title";
|
||||
}
|
||||
if(!isset($extconf['author'])) {
|
||||
$this->errmsgs[] = "Missing author";
|
||||
}
|
||||
if(!empty($extconf['language']['file']) && !file_exists($dir."/".$extconf['language']['file'])) {
|
||||
$this->errmsgs[] = "Missing language file";
|
||||
}
|
||||
if(!empty($extconf['class']['file']) && !file_exists($dir."/".$extconf['class']['file'])) {
|
||||
$this->errmsgs[] = "Missing class file";
|
||||
}
|
||||
|
||||
if(!$noconstraints && isset($extconf['constraints']['depends'])) {
|
||||
foreach($extconf['constraints']['depends'] as $dkey=>$dval) {
|
||||
switch($dkey) {
|
||||
case 'seeddms':
|
||||
$version = new SeedDMS_Version;
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(self::cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $version->version()) < 0))
|
||||
$this->errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']);
|
||||
break;
|
||||
case 'php':
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(self::cmpVersion($tmp[0], phpversion()) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], phpversion()) < 0))
|
||||
$this->errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $extconf['constraints']['depends']['php']);
|
||||
break;
|
||||
default:
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(isset($GLOBALS['EXT_CONF'][$dkey]['version'])) {
|
||||
if(self::cmpVersion($tmp[0], $GLOBALS['EXT_CONF'][$dkey]['version']) > 0 || ($tmp[1] && self::cmpVersion($tmp[1], $GLOBALS['EXT_CONF'][$dkey]['version']) < 0))
|
||||
$this->errmsgs[] = sprintf("Incorrect version of extension '%s' (needs version '%s' but provides '%s')", $dkey, $dval, $GLOBALS['EXT_CONF'][$dkey]['version']);
|
||||
} else {
|
||||
$this->errmsgs[] = sprintf("Missing extension or version for '%s'", $dkey);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($this->errmsgs)
|
||||
return false;
|
||||
|
||||
return true;
|
||||
} /* }}} */
|
||||
|
||||
static protected function rrmdir($dir) { /* {{{ */
|
||||
if (is_dir($dir)) {
|
||||
$objects = scandir($dir);
|
||||
foreach ($objects as $object) {
|
||||
if ($object != "." && $object != "..") {
|
||||
if (filetype($dir."/".$object) == "dir") self::rrmdir($dir."/".$object); else unlink($dir."/".$object);
|
||||
}
|
||||
}
|
||||
reset($objects);
|
||||
rmdir($dir);
|
||||
}
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Update an extension
|
||||
*
|
||||
* This function will replace an existing extension or add a new extension
|
||||
* The passed file has to be zipped content of the extension directory not
|
||||
* including the directory itself.
|
||||
*
|
||||
* @param string $file name of extension archive
|
||||
* @return boolean true on success, othewise false
|
||||
*/
|
||||
public function updateExtension($file) { /* {{{ */
|
||||
$newdir = $this->cachedir ."/ext.new";
|
||||
if(!mkdir($newdir, 0755)) {
|
||||
$this->errmsgs[] = "Cannot create temp. extension directory";
|
||||
return false;
|
||||
}
|
||||
$cmd = "cd ".$newdir."; unzip ".$file;
|
||||
exec($cmd);
|
||||
|
||||
if(!self::checkExtension($newdir)) {
|
||||
self::rrmdir($newdir);
|
||||
return false;
|
||||
}
|
||||
|
||||
include($newdir."/conf.php");
|
||||
$extname = key($EXT_CONF);
|
||||
|
||||
/* Create the target directory */
|
||||
if(!is_dir($this->extdir)) {
|
||||
if(!mkdir($this->extdir, 0755)) {
|
||||
$this->errmsgs[] = "Cannot create extension directory";
|
||||
self::rrmdir($newdir);
|
||||
return false;
|
||||
}
|
||||
} elseif(is_dir($this->extdir ."/". $extname)) {
|
||||
$this->rrmdir($this->extdir ."/". $extname);
|
||||
}
|
||||
/* Move the temp. created ext directory to the final location */
|
||||
rename($newdir, $this->extdir ."/". $extname);
|
||||
|
||||
return true;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Import list of extension from repository
|
||||
*
|
||||
*/
|
||||
public function importExtensionList($url) { /* {{{ */
|
||||
$file = file_get_contents($url."/repository.json");
|
||||
file_put_contents($this->cachedir."/repository.json", $file);
|
||||
return file($this->cachedir."/repository.json");
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Return last error message
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getErrorMsg() { /* {{{ */
|
||||
if($this->errmsgs)
|
||||
return $this->errmsgs[0];
|
||||
else
|
||||
return '';
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Return all error messages
|
||||
*
|
||||
* @return string[]
|
||||
*/
|
||||
public function getErrorMsgs() { /* {{{ */
|
||||
return $this->errmsgs;
|
||||
} /* }}} */
|
||||
}
|
||||
|
|
|
@ -17,12 +17,7 @@ require_once "inc.Version.php";
|
|||
require_once "inc.Utils.php";
|
||||
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$extconffile = $extMgr->getExtensionsConfFile();
|
||||
if(!file_exists($extconffile)) {
|
||||
$extMgr->createExtensionConf();
|
||||
}
|
||||
$EXT_CONF = array();
|
||||
include($extconffile);
|
||||
$EXT_CONF = $extMgr->getExtensionConfiguration();
|
||||
|
||||
$version = new SeedDMS_Version;
|
||||
|
||||
|
@ -31,7 +26,7 @@ foreach($EXT_CONF as $extname=>$extconf) {
|
|||
/* check for requirements */
|
||||
if(!empty($extconf['constraints']['depends']['seeddms'])) {
|
||||
$t = explode('-', $extconf['constraints']['depends']['seeddms'], 2);
|
||||
if(cmpVersion($t[0], $version->version()) > 0 || ($t[1] && cmpVersion($t[1], $version->version()) < 0))
|
||||
if(SeedDMS_Extension_Mgr::cmpVersion($t[0], $version->version()) > 0 || ($t[1] && SeedDMS_Extension_Mgr::cmpVersion($t[1], $version->version()) < 0))
|
||||
$extconf['disable'] = true;
|
||||
}
|
||||
}
|
||||
|
@ -48,7 +43,7 @@ foreach($EXT_CONF as $extname=>$extconf) {
|
|||
if(file_exists($langfile)) {
|
||||
unset($__lang);
|
||||
include($langfile);
|
||||
if($__lang) {
|
||||
if(isset($__lang) && $__lang) {
|
||||
foreach($__lang as $lang=>&$data) {
|
||||
if(isset($GLOBALS['LANG'][$lang]))
|
||||
$GLOBALS['LANG'][$lang] = array_merge($GLOBALS['LANG'][$lang], $data);
|
||||
|
|
|
@ -79,39 +79,6 @@ function getReadableDurationArray($secs) { /* {{{ */
|
|||
return $units;
|
||||
} /* }}} */
|
||||
|
||||
/**
|
||||
* Compare two version
|
||||
*
|
||||
* This functions compares two version in the format x.x.x
|
||||
*
|
||||
* @param string $ver1
|
||||
* @param string $ver2
|
||||
* @return int -1 if $ver1 < $ver2, 0 if $ver1 == $ver2, 1 if $ver1 > $ver2
|
||||
*/
|
||||
function cmpVersion($ver1, $ver2) {
|
||||
$tmp1 = explode('.', $ver1);
|
||||
$tmp2 = explode('.', $ver2);
|
||||
if(intval($tmp1[0]) < intval($tmp2[0])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[0]) > intval($tmp2[0])) {
|
||||
return 1;
|
||||
} else {
|
||||
if(intval($tmp1[1]) < intval($tmp2[1])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[1]) > intval($tmp2[1])) {
|
||||
return 1;
|
||||
} else {
|
||||
if(intval($tmp1[2]) < intval($tmp2[2])) {
|
||||
return -1;
|
||||
} elseif(intval($tmp1[2]) > intval($tmp2[2])) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// The original string sanitizer, kept for reference.
|
||||
//function sanitizeString($string) {
|
||||
|
|
|
@ -257,6 +257,7 @@ URL: [url]',
|
|||
'comment' => 'تعليق',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'تعليق على الاصدار',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'نعم: اود اعادة انشاء فهرس للنص الكامل !',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -399,6 +400,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'لا ينتهى صلاحيته',
|
||||
'does_not_inherit_access_msg' => 'صلاحيات موروثة',
|
||||
'download' => 'تنزيل',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -492,6 +494,7 @@ Parent folder: [folder_path]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - تم تغيير تاريخ الصلاحية',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'ﺇﺩﺍﺭﺓ ﺍﻼﻣﺩﺍﺩﺎﺗ',
|
||||
'february' => 'فبراير',
|
||||
'file' => 'ملف',
|
||||
|
@ -581,6 +584,7 @@ URL: [url]',
|
|||
'identical_version' => 'الاصدار الجديد مماثل للاصدار الحالي.',
|
||||
'import' => 'ﺎﺴﺘﺧﺭﺎﺟ',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'ﻦﺴﺧ ﻢﻧ ﻢﻠﻓ ﺎﻠﻨﻇﺎﻣ',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1453,6 +1457,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -242,6 +242,7 @@ $text = array(
|
|||
'comment' => 'Коментар',
|
||||
'comment_changed_email' => 'Коментарите са изменени',
|
||||
'comment_for_current_version' => 'Коментар за версията',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Да, пресъздай пълнотекстов индекс!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -354,6 +355,7 @@ $text = array(
|
|||
'does_not_expire' => 'Безсрочен',
|
||||
'does_not_inherit_access_msg' => 'Наследване нивото на достъп',
|
||||
'download' => 'Изтегли',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -443,6 +445,7 @@ $text = array(
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'управление на добавките',
|
||||
'february' => 'Февруари',
|
||||
'file' => 'Файл',
|
||||
|
@ -512,6 +515,7 @@ $text = array(
|
|||
'identical_version' => 'Новата версия е идентична с текущата.',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'добави от файловата система',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1318,6 +1322,8 @@ $text = array(
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -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 (738)
|
||||
// Translators: Admin (741)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '',
|
||||
|
@ -172,7 +172,7 @@ URL: [url]',
|
|||
'at_least_n_users_of_group' => '',
|
||||
'august' => 'Agost',
|
||||
'authentication' => '',
|
||||
'author' => '',
|
||||
'author' => 'Autor',
|
||||
'automatic_status_update' => 'Canvi automátic d\'estat',
|
||||
'back' => 'Endarrere',
|
||||
'backup_list' => 'Llista de còpies de seguretat existents',
|
||||
|
@ -247,6 +247,7 @@ URL: [url]',
|
|||
'comment' => 'Comentaris',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Comentari de la versió actual',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -359,6 +360,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'No caduca',
|
||||
'does_not_inherit_access_msg' => 'heretar l\'accés',
|
||||
'download' => 'Descarregar',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -448,6 +450,7 @@ URL: [url]',
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Gestiona les Extensions',
|
||||
'february' => 'Febrer',
|
||||
'file' => 'Fitxer',
|
||||
|
@ -517,6 +520,7 @@ URL: [url]',
|
|||
'identical_version' => '',
|
||||
'import' => 'importar',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importa del sistema d\'arxius',
|
||||
'import_fs_warning' => 'Només funciona arrastrant carpetes.La operació importarà recursivament totes les carpetes i arxius.',
|
||||
'include_content' => '',
|
||||
|
@ -597,7 +601,7 @@ URL: [url]',
|
|||
'language' => 'Llenguatge',
|
||||
'lastaccess' => '',
|
||||
'last_update' => 'Última modificació',
|
||||
'legend' => '',
|
||||
'legend' => 'Llegenda',
|
||||
'librarydoc' => '',
|
||||
'linked_documents' => 'Documents relacionats',
|
||||
'linked_files' => 'Adjunts',
|
||||
|
@ -1323,6 +1327,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
@ -1358,7 +1364,7 @@ URL: [url]',
|
|||
'splash_transfer_document' => '',
|
||||
'splash_transfer_objects' => '',
|
||||
'state_and_next_state' => '',
|
||||
'statistic' => '',
|
||||
'statistic' => 'Estadístiques',
|
||||
'status' => 'Estat',
|
||||
'status_approval_rejected' => 'Esborrany rebutjat',
|
||||
'status_approved' => 'Aprovat',
|
||||
|
|
|
@ -264,6 +264,7 @@ URL: [url]',
|
|||
'comment' => 'Komentář',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Komentář k aktuální verzi',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Ano, chci znovu vytvořit fulltext indes!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -406,6 +407,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Platnost nikdy nevyprší',
|
||||
'does_not_inherit_access_msg' => 'Zdědit přístup',
|
||||
'download' => 'Stáhnout',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -499,6 +501,7 @@ Uživatel: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Datum ukončení platnosti změněn',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Správa rozšíření',
|
||||
'february' => 'Únor',
|
||||
'file' => 'Soubor',
|
||||
|
@ -588,6 +591,7 @@ URL: [url]',
|
|||
'identical_version' => 'Nová verze je identická s verzí současnou',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Nahrát ze souboru',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1462,6 +1466,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Změny složky uloženy',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -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 (2553), dgrutsch (22)
|
||||
// Translators: Admin (2560), dgrutsch (22)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '2-Faktor Authentifizierung',
|
||||
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Kommentar',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Kommentar zur aktuellen Version',
|
||||
'configure_extension' => 'Erweiterung konfigurieren',
|
||||
'confirm_clear_cache' => 'Wollen Sie wirklich den Cache löschen? Dies entfernt alle vorberechneten Vorschaubilder.',
|
||||
'confirm_create_fulltext_index' => 'Ja, Ich möchte den Volltextindex neu erzeugen!.',
|
||||
'confirm_move_document' => 'Dokument wirklich verschieben?',
|
||||
|
@ -416,6 +417,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Kein Ablaufdatum',
|
||||
'does_not_inherit_access_msg' => 'Berechtigungen wieder erben',
|
||||
'download' => 'Download',
|
||||
'download_extension' => 'Erweiterung als zip-Datei herunterladen',
|
||||
'download_links' => 'Download Links',
|
||||
'download_link_email_body' => 'Klicken Sie bitte auf den untenstehenden Link, um Version [version] des Dokuments \'[docname]\' herunter zu laden.
|
||||
|
||||
|
@ -515,6 +517,7 @@ Benutzer: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Ablaufdatum geändert',
|
||||
'export' => 'Export',
|
||||
'extension_archive' => 'Erweiterung',
|
||||
'extension_manager' => 'Erweiterungen verwalten',
|
||||
'february' => 'Februar',
|
||||
'file' => 'Datei',
|
||||
|
@ -604,6 +607,7 @@ URL: [url]',
|
|||
'identical_version' => 'Neue Version ist identisch zu aktueller Version.',
|
||||
'import' => 'Importiere',
|
||||
'importfs' => 'Importiere aus Dateisystem',
|
||||
'import_extension' => 'Erweiterung importieren',
|
||||
'import_fs' => 'Aus Dateisystem importieren',
|
||||
'import_fs_warning' => 'Der Import kann nur für Ordner im Ablageordner erfolgen. Alle Ordner und Dateien werden rekursiv importiert. Dateien werden sofort freigegeben.',
|
||||
'include_content' => 'Inhalte mit exportieren',
|
||||
|
@ -1528,6 +1532,8 @@ Name: [username]
|
|||
'splash_error_add_to_transmittal' => 'Fehler beim Hinzufügen zur Dokumentenliste',
|
||||
'splash_error_rm_download_link' => 'Fehler beim Löschen des Download-Links',
|
||||
'splash_error_send_download_link' => 'Fehler beim Verschicken des Download-Links',
|
||||
'splash_extension_import' => 'Erweiterung installiert',
|
||||
'splash_extension_refresh' => 'Liste der Erweiterungen neu geladen',
|
||||
'splash_folder_edited' => 'Änderungen am Ordner gespeichert',
|
||||
'splash_importfs' => '[docs] Dokumente und [folders] Ordner importiert',
|
||||
'splash_inherit_access' => 'Zugriffsrechte werden geerbt',
|
||||
|
|
|
@ -242,6 +242,7 @@ $text = array(
|
|||
'comment' => 'Σχόλιο',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => '',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -354,6 +355,7 @@ $text = array(
|
|||
'does_not_expire' => '',
|
||||
'does_not_inherit_access_msg' => '',
|
||||
'download' => '',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -443,6 +445,7 @@ $text = array(
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => '',
|
||||
'february' => 'Φεβρουάριος',
|
||||
'file' => 'Αρχείο',
|
||||
|
@ -512,6 +515,7 @@ $text = array(
|
|||
'identical_version' => '',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => '',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1329,6 +1333,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -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 (1674), archonwang (3), dgrutsch (9), netixw (14)
|
||||
// Translators: Admin (1681), archonwang (3), dgrutsch (9), netixw (14)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '2-factor authentication',
|
||||
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Comment',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Version comment',
|
||||
'configure_extension' => 'Configure extension',
|
||||
'confirm_clear_cache' => 'Would you really like to clear the cache? This will remove all precalculated preview images.',
|
||||
'confirm_create_fulltext_index' => 'Yes, I would like to recreate the fulltext index!',
|
||||
'confirm_move_document' => 'Please confirm moving the document.',
|
||||
|
@ -416,6 +417,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Does not expire',
|
||||
'does_not_inherit_access_msg' => 'Inherit access',
|
||||
'download' => 'Download',
|
||||
'download_extension' => 'Download extension as zip file',
|
||||
'download_links' => 'Download links',
|
||||
'download_link_email_body' => 'Click on the link below to download the version [version] of document
|
||||
\'[docname]\'.
|
||||
|
@ -516,6 +518,7 @@ User: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Expiry date changed',
|
||||
'export' => 'Export',
|
||||
'extension_archive' => 'Extension',
|
||||
'extension_manager' => 'Manage extensions',
|
||||
'february' => 'February',
|
||||
'file' => 'File',
|
||||
|
@ -605,6 +608,7 @@ URL: [url]',
|
|||
'identical_version' => 'New version is identical to current version.',
|
||||
'import' => 'Import',
|
||||
'importfs' => 'Import from Filesystem',
|
||||
'import_extension' => 'Import extension',
|
||||
'import_fs' => 'Import from filesystem',
|
||||
'import_fs_warning' => 'This will only work for folders in the drop folder. The operation recursively imports all folders and files. Files will be released immediately.',
|
||||
'include_content' => 'Include content',
|
||||
|
@ -1523,6 +1527,8 @@ Name: [username]
|
|||
'splash_error_add_to_transmittal' => 'Error while adding document to transmittal',
|
||||
'splash_error_rm_download_link' => 'Error when removing download link',
|
||||
'splash_error_send_download_link' => 'Error while sending download link',
|
||||
'splash_extension_import' => 'Extensition installed',
|
||||
'splash_extension_refresh' => 'Refreshed list of extensions',
|
||||
'splash_folder_edited' => 'Save folder changes',
|
||||
'splash_importfs' => 'Imported [docs] documents and [folders] folders',
|
||||
'splash_inherit_access' => 'Access right will be inherited',
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
// along with this program; if not, write to the Free Software
|
||||
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
//
|
||||
// Translators: acabello (20), Admin (1056), angel (123), francisco (2), jaimem (14)
|
||||
// Translators: acabello (20), Admin (1057), angel (123), francisco (2), jaimem (14)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '',
|
||||
|
@ -264,6 +264,7 @@ URL: [url]',
|
|||
'comment' => 'Comentarios',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Comentario de la versión actual',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '¡Sí, quiero regenerar el índice te texto completo¡',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -406,6 +407,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'No caduca',
|
||||
'does_not_inherit_access_msg' => 'heredar el acceso',
|
||||
'download' => 'Descargar',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -499,6 +501,7 @@ Usuario: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Fecha de caducidad modificada',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Administrar extensiones',
|
||||
'february' => 'Febrero',
|
||||
'file' => 'Fichero',
|
||||
|
@ -588,6 +591,7 @@ URL: [url]',
|
|||
'identical_version' => 'La nueva versión es idéntica a la actual.',
|
||||
'import' => 'Importar',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importar desde sistema de archivos',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -871,7 +875,7 @@ Si continua teniendo problemas de acceso, por favor contacte con el administrado
|
|||
'pl_PL' => 'Polaco',
|
||||
'possible_substitutes' => '',
|
||||
'preset_expires' => 'Establece caducidad',
|
||||
'preview' => '',
|
||||
'preview' => 'anterior',
|
||||
'preview_converters' => 'Vista previa del documento convertido',
|
||||
'preview_images' => '',
|
||||
'preview_markdown' => '',
|
||||
|
@ -1468,6 +1472,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Cambios a la carpeta guardados',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Commentaire',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Commentaires pour la version actuelle',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Confirmer l\'effacement du cache',
|
||||
'confirm_create_fulltext_index' => 'Oui, je souhaite recréer l\'index de recherche plein texte !',
|
||||
'confirm_move_document' => 'Veuillez confirmer le déplacement du document.',
|
||||
|
@ -416,6 +417,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'N\'expire jamais',
|
||||
'does_not_inherit_access_msg' => 'Accès hérité',
|
||||
'download' => 'Téléchargement',
|
||||
'download_extension' => '',
|
||||
'download_links' => 'Liens de téléchargement',
|
||||
'download_link_email_body' => 'Cliquez sur le lien suivant pour télécharger la version [version] du document
|
||||
« [docname] ».
|
||||
|
@ -516,6 +518,7 @@ Utilisateur : [username]
|
|||
URL : [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Date d\'expiration modifiée',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Gestionnaire d\'extensions',
|
||||
'february' => 'Février',
|
||||
'file' => 'Fichier',
|
||||
|
@ -605,6 +608,7 @@ URL: [url]',
|
|||
'identical_version' => 'Nouvelle version identique à l\'actuelle.',
|
||||
'import' => 'Importer',
|
||||
'importfs' => 'Importer depuis le système de fichiers',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importer depuis le système de fichiers',
|
||||
'import_fs_warning' => 'L’importation peut se faire à partir du dossier de dépôt personnel uniquement. Tous les sous-dossiers et fichiers seront importés. Les fichiers seront immédiatement publiés.',
|
||||
'include_content' => 'Inclure le contenu',
|
||||
|
@ -1507,6 +1511,8 @@ Nom : [username]
|
|||
'splash_error_add_to_transmittal' => 'Erreur lors de l’ajout du document à la transmission',
|
||||
'splash_error_rm_download_link' => 'Erreur lors de la suppression du lien de téléchargement',
|
||||
'splash_error_send_download_link' => 'Erreur lors de l’envoi du lien de téléchargement',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Dossier modifié',
|
||||
'splash_importfs' => '[docs] documents et [folders] dossiers importés',
|
||||
'splash_inherit_access' => 'Droits d’accès hérités',
|
||||
|
|
|
@ -269,6 +269,7 @@ Internet poveznica: [url]',
|
|||
'comment' => 'Komentar',
|
||||
'comment_changed_email' => 'Promjena komentara',
|
||||
'comment_for_current_version' => 'Verzija komentara',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Da, želim ponovo indeksirati cijeli tekst!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -411,6 +412,7 @@ Internet poveznica: [url]',
|
|||
'does_not_expire' => 'Ne istječe',
|
||||
'does_not_inherit_access_msg' => 'Naslijedi nivo pristupa',
|
||||
'download' => 'Preuzimanje',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -504,6 +506,7 @@ Korisnik: [username]
|
|||
Internet poveznica: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Promijenjen datum isteka',
|
||||
'export' => 'Izvoz',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Upravljanje ekstenzijama',
|
||||
'february' => 'Veljača',
|
||||
'file' => 'Datoteka',
|
||||
|
@ -593,6 +596,7 @@ Internet poveznica: [url]',
|
|||
'identical_version' => 'Nova verzija je identična trenutnoj verziji.',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importaj iz FS-a',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => 'Uključi sadržaj',
|
||||
|
@ -1489,6 +1493,8 @@ Internet poveznica: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Pohrani izmjene mape',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -264,6 +264,7 @@ URL: [url]',
|
|||
'comment' => 'Megjegyzés',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Megjegyzés az aktuális verzióhoz',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Igen, szeretném újra létrehozni a teljes szöveg indexet!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -406,6 +407,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Soha nem jár le',
|
||||
'does_not_inherit_access_msg' => 'Hozzáférés öröklése',
|
||||
'download' => 'Letöltés',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -499,6 +501,7 @@ Felhasználó: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Lejárati dátum módosítva',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Bővítmények kezelése',
|
||||
'february' => 'Február',
|
||||
'file' => 'Állomány',
|
||||
|
@ -588,6 +591,7 @@ URL: [url]',
|
|||
'identical_version' => 'Az új verzió megegyezik az eredetivel.',
|
||||
'import' => 'Import',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importálás fájlrendszerből',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1467,6 +1471,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Mappa változásainak mentése',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -270,6 +270,7 @@ URL: [url]',
|
|||
'comment' => 'Commento',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Commento per la versione',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Vuoi davvero cancellare la cache? Questo eliminerà tutte le immagini di anteprima precalcolate.',
|
||||
'confirm_create_fulltext_index' => 'Sì, desidero ricreare l\'indice fulltext!',
|
||||
'confirm_move_document' => 'Conferma lo spostamento del documento.',
|
||||
|
@ -412,6 +413,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Nessuna scadenza',
|
||||
'does_not_inherit_access_msg' => 'Imposta permessi ereditari',
|
||||
'download' => 'Scarica',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -505,6 +507,7 @@ Utente: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Scadenza cambiata',
|
||||
'export' => 'Esporta',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Gestisci le estensioni dei files',
|
||||
'february' => 'Febbraio',
|
||||
'file' => 'File',
|
||||
|
@ -594,6 +597,7 @@ URL: [url]',
|
|||
'identical_version' => 'La nuova versione è identica a quella attuale.',
|
||||
'import' => 'Importa',
|
||||
'importfs' => 'Importa da File System / disco',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importa dalla cartella di sistema',
|
||||
'import_fs_warning' => 'Questo funziona solo per le cartelle nella cartella per lasciare. L\'operazione importa in modo ricorsivo tutte le cartelle e file. I file saranno rilasciati immediatamente.',
|
||||
'include_content' => 'Includi contenuto',
|
||||
|
@ -1501,6 +1505,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => 'Errore durante l\'aggiunta di documento per la trasmissione',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Cartella modificata',
|
||||
'splash_importfs' => 'Importati [Documenti] documenti e cartelle [cartelle]',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -271,6 +271,7 @@ URL: [url]',
|
|||
'comment' => '주석',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => '버전 주석',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '예, 전체 텍스트 인덱스를 다시 만들고 싶습니다!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -412,6 +413,7 @@ URL: [url]',
|
|||
'does_not_expire' => '만료 안됨',
|
||||
'does_not_inherit_access_msg' => '액세스 상속',
|
||||
'download' => '내려받기',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -505,6 +507,7 @@ URL: [url]',
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename] : [name] - 유효 기간 변경',
|
||||
'export' => '내보내기',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => '확장자 관리',
|
||||
'february' => '2월',
|
||||
'file' => '파일',
|
||||
|
@ -594,6 +597,7 @@ URL: [url]',
|
|||
'identical_version' => '새 버전은 최신 버전으로 동일하다.',
|
||||
'import' => '가져오기',
|
||||
'importfs' => '파일시스템으로부터 가져오기',
|
||||
'import_extension' => '',
|
||||
'import_fs' => '파일시스템으로부터 가져오기',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '내용을 포함',
|
||||
|
@ -1483,6 +1487,8 @@ URL : [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '저장 폴더 변경',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -262,6 +262,7 @@ URL: [url]',
|
|||
'comment' => 'Commentaar',
|
||||
'comment_changed_email' => 'Gewijzigde email',
|
||||
'comment_for_current_version' => 'Versie van het commentaar',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Ja, ik wil de cache opschonen!',
|
||||
'confirm_create_fulltext_index' => 'Ja, Ik wil de volledigetekst index opnieuw maken!',
|
||||
'confirm_move_document' => 'Bevestig verplaatsing van document',
|
||||
|
@ -404,6 +405,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Verloopt niet',
|
||||
'does_not_inherit_access_msg' => 'Erft toegang',
|
||||
'download' => 'Download',
|
||||
'download_extension' => '',
|
||||
'download_links' => 'Download-links',
|
||||
'download_link_email_body' => 'Klik op de link hieronder, dan begint de download vanvversie [version] van het document
|
||||
\'[docname]\'.
|
||||
|
@ -504,6 +506,7 @@ Gebruiker: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Vervaldatum gewijzigd',
|
||||
'export' => 'export',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Beheer uitbreidingen',
|
||||
'february' => 'februari',
|
||||
'file' => 'Bestand',
|
||||
|
@ -593,6 +596,7 @@ URL: [url]',
|
|||
'identical_version' => 'Nieuwe versie is identiek aan de huidige versie',
|
||||
'import' => 'Importeer',
|
||||
'importfs' => 'Importeer van bestandssysteem',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importeer van bestandssysteem',
|
||||
'import_fs_warning' => 'Dit werkt alleen in de dropfolder. Mappen en bestanden worden recursief geïmporteerd. Bestanden worden direct ter beschikking gesteld.',
|
||||
'include_content' => 'inclusief inhoud',
|
||||
|
@ -1513,6 +1517,8 @@ Name: [username]
|
|||
'splash_error_add_to_transmittal' => 'Fout: toevoeging aan verzending',
|
||||
'splash_error_rm_download_link' => 'Fout bij verwijderen download-link',
|
||||
'splash_error_send_download_link' => 'Fout bij verzenden download-link',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Opslaan mapwijzigingen',
|
||||
'splash_importfs' => 'Geïmporteerd: [docs] documenten en [folders] mappen',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -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 (787), netixw (84), romi (93), uGn (112)
|
||||
// Translators: Admin (790), netixw (84), romi (93), uGn (112)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '',
|
||||
|
@ -257,6 +257,7 @@ URL: [url]',
|
|||
'comment' => 'Opis',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Komentarz do wersji',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Tak, chcę ponownie utworzyć indeks pełnotekstowy!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -281,8 +282,8 @@ URL: [url]',
|
|||
'confirm_update_transmittalitem' => '',
|
||||
'content' => 'Zawartość',
|
||||
'continue' => 'Kontynuuj',
|
||||
'converter_new_cmd' => '',
|
||||
'converter_new_mimetype' => '',
|
||||
'converter_new_cmd' => 'Komenda',
|
||||
'converter_new_mimetype' => 'Nowy typ MIME',
|
||||
'copied_to_checkout_as' => '',
|
||||
'create_download_link' => '',
|
||||
'create_fulltext_index' => 'Utwórz indeks pełnotekstowy',
|
||||
|
@ -399,6 +400,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Nigdy nie wygasa',
|
||||
'does_not_inherit_access_msg' => 'Dziedzicz dostęp',
|
||||
'download' => 'Pobierz',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -492,6 +494,7 @@ Użytkownik: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Zmiana daty wygaśnięcia',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Zarządzanie rozszerzeniami',
|
||||
'february' => 'Luty',
|
||||
'file' => 'Plik',
|
||||
|
@ -581,6 +584,7 @@ URL: [url]',
|
|||
'identical_version' => 'Nowa wersja jest identyczna z obecną',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Import z systemu plików',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -864,7 +868,7 @@ Jeśli nadal będą problemy z zalogowaniem, prosimy o kontakt z administratorem
|
|||
'pl_PL' => 'Polski',
|
||||
'possible_substitutes' => '',
|
||||
'preset_expires' => 'Wygasa',
|
||||
'preview' => '',
|
||||
'preview' => 'Podgląd',
|
||||
'preview_converters' => '',
|
||||
'preview_images' => '',
|
||||
'preview_markdown' => '',
|
||||
|
@ -1447,6 +1451,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Zapisz zmiany folderu',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -264,6 +264,7 @@ URL: [url]',
|
|||
'comment' => 'Comentário',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Comentário para versão atual',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Sim, eu gostaria de recriar o índice de texto completo!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -405,6 +406,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'não Expira',
|
||||
'does_not_inherit_access_msg' => 'Inherit access',
|
||||
'download' => 'Download',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -498,6 +500,7 @@ Usuário: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Data de validade mudou',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Gerenciar extensões',
|
||||
'february' => 'February',
|
||||
'file' => 'Arquivo',
|
||||
|
@ -587,6 +590,7 @@ URL: [url]',
|
|||
'identical_version' => 'Nova versão é idêntica à versão atual.',
|
||||
'import' => 'Importar',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importar do sistema de arquivos',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1465,6 +1469,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Salvar modificação de pastas',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Comentariu',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Comentariu versiune',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Da, aș dori să recreeze indexul pentru tot textul!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -411,6 +412,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Nu expiră',
|
||||
'does_not_inherit_access_msg' => 'Acces moștenit',
|
||||
'download' => 'Descarca',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -504,6 +506,7 @@ Utilizator: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Data de expirare schimbată',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Gestionați extensiile',
|
||||
'february' => 'Februarie',
|
||||
'file' => 'Fișier',
|
||||
|
@ -593,6 +596,7 @@ URL: [url]',
|
|||
'identical_version' => 'Noua versiune este identică cu versiunea curentă.',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Import din filesystem',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1490,6 +1494,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Salvați modificările folderului',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Комментарий',
|
||||
'comment_changed_email' => 'Сообщение об изменении комментария',
|
||||
'comment_for_current_version' => 'Комментарий версии',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Подтвердить очистку кеша',
|
||||
'confirm_create_fulltext_index' => 'Да, пересоздать полнотекстовый индекс!',
|
||||
'confirm_move_document' => 'Подтвердить перемещение документа',
|
||||
|
@ -411,6 +412,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'безсрочный',
|
||||
'does_not_inherit_access_msg' => 'Наследовать уровень доступа',
|
||||
'download' => 'Загрузить',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -504,6 +506,7 @@ URL: [url]',
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: изменен срок действия для «[name]»',
|
||||
'export' => 'Экспорт',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Управление расширениями',
|
||||
'february' => 'Февраль',
|
||||
'file' => 'Файл',
|
||||
|
@ -593,6 +596,7 @@ URL: [url]',
|
|||
'identical_version' => 'Новая версия идентична текущей.',
|
||||
'import' => 'Импорт',
|
||||
'importfs' => 'Импорт из файлов',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Импорт из файловой системы',
|
||||
'import_fs_warning' => 'Предупреждение импорта из ФС',
|
||||
'include_content' => 'Включая содержимое',
|
||||
|
@ -1497,6 +1501,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Изменения каталога сохранены',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -246,6 +246,7 @@ URL: [url]',
|
|||
'comment' => 'Komentár',
|
||||
'comment_changed_email' => 'Nepreložené',
|
||||
'comment_for_current_version' => 'Version comment',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Chcete naozaj vyčistiť vyrovnávaciu pamäť? Tým sa odstránia všetky predbežne náhľady obrázkov.',
|
||||
'confirm_create_fulltext_index' => 'Áno, chcel by som obnoviť fullttext index!',
|
||||
'confirm_move_document' => 'Potvrďte presunutie dokumentu.',
|
||||
|
@ -358,6 +359,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Platnosť nikdy nevyprší',
|
||||
'does_not_inherit_access_msg' => 'Zdediť prístup',
|
||||
'download' => 'Stiahnuť',
|
||||
'download_extension' => '',
|
||||
'download_links' => 'Odkazy na stiahnutie',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => 'Odkaz na stiahnutie',
|
||||
|
@ -447,6 +449,7 @@ URL: [url]',
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Dátum vypršania platnosti bol zmenený',
|
||||
'export' => 'Exportovať',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Správa rozšírení',
|
||||
'february' => 'Február',
|
||||
'file' => 'Súbor',
|
||||
|
@ -516,6 +519,7 @@ URL: [url]',
|
|||
'identical_version' => '',
|
||||
'import' => 'Importovať',
|
||||
'importfs' => 'Importovať zo súborového systému',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Importovanie zo súborového systému',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => 'Zahrnúť obsah',
|
||||
|
@ -1322,6 +1326,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Uložiť zmeny zložky',
|
||||
'splash_importfs' => 'Importované dokumenty [docs] a zložky [folders]',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -270,6 +270,7 @@ URL: [url]',
|
|||
'comment' => 'Kommentar',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Kommentar till versionen',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => 'Vill du verkligen rensa cachen? Detta kommer att ta bort alla förlagrade bilder för förhandsvisning.',
|
||||
'confirm_create_fulltext_index' => 'Ja, jag vill återskapa fulltext-sökindex!',
|
||||
'confirm_move_document' => 'Vänligen bekräfta flytt av dokumentet.',
|
||||
|
@ -417,6 +418,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Löper aldrig ut',
|
||||
'does_not_inherit_access_msg' => 'Ärv behörighet',
|
||||
'download' => 'Ladda ner',
|
||||
'download_extension' => '',
|
||||
'download_links' => 'Nedladdningslänkar',
|
||||
'download_link_email_body' => 'Klicka på länken nedan för nedladdning av version [version] av dokumentet
|
||||
\'[docname]\'.
|
||||
|
@ -517,6 +519,7 @@ Användare: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Utgångsdatum ändrat',
|
||||
'export' => 'Exportera',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Hantera tillägg',
|
||||
'february' => 'februari',
|
||||
'file' => 'Fil',
|
||||
|
@ -606,6 +609,7 @@ URL: [url]',
|
|||
'identical_version' => 'Ny version är identisk med nuvarande version.',
|
||||
'import' => 'Importera',
|
||||
'importfs' => 'Import från filsystem',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Import från filsystem',
|
||||
'import_fs_warning' => 'Detta fungerar endast för kataloger i mellanlagringsmappen. Filer och mappar får godkänd status direkt efter importen.',
|
||||
'include_content' => 'Inkudera innehåll',
|
||||
|
@ -1510,6 +1514,8 @@ Kommentar: [comment]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => 'Fel vid borttagande av nedladdningslänk',
|
||||
'splash_error_send_download_link' => 'Fel vid sändning av nedladdningslänk',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Spara ändringar i katalog',
|
||||
'splash_importfs' => 'Importerade [docs] dokument och [folders] kataloger',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -263,6 +263,7 @@ URL: [url]',
|
|||
'comment' => 'Açıklama',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => 'Versiyon açıklaması',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Evet, tam metin indeksini yeniden oluşturmak istiyorum!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -405,6 +406,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Süresiz',
|
||||
'does_not_inherit_access_msg' => 'Erişim haklarını devir al',
|
||||
'download' => 'İndir',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -498,6 +500,7 @@ Kullanıcı: [username]
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: [name] - Bitiş tarihi değişti',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Uzantıları düzenle',
|
||||
'february' => 'Şubat',
|
||||
'file' => 'Dosya',
|
||||
|
@ -587,6 +590,7 @@ URL: [url]',
|
|||
'identical_version' => 'Yeni versiyon güncel versiyonla aynı.',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'dosya sisteminden getir',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1469,6 +1473,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Klasör değişiklikleri kaydedildi',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -269,6 +269,7 @@ URL: [url]',
|
|||
'comment' => 'Коментар',
|
||||
'comment_changed_email' => 'Повідомлення про зміну коментаря',
|
||||
'comment_for_current_version' => 'Коментар версії',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => 'Так, перестворити повнотекстовий індекс!',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -411,6 +412,7 @@ URL: [url]',
|
|||
'does_not_expire' => 'Без терміну виконання',
|
||||
'does_not_inherit_access_msg' => 'Наслідувати рівень доступу',
|
||||
'download' => 'Завантажити',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -504,6 +506,7 @@ URL: [url]',
|
|||
URL: [url]',
|
||||
'expiry_changed_email_subject' => '[sitename]: зміна дати терміну виконання для «[name]»',
|
||||
'export' => 'Експорт',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => 'Керування розширеннями',
|
||||
'february' => 'Лютий',
|
||||
'file' => 'Файл',
|
||||
|
@ -593,6 +596,7 @@ URL: [url]',
|
|||
'identical_version' => 'Нова версія ідентична поточній.',
|
||||
'import' => '',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => 'Імпортувати з файлової системи',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => 'Включно з вмістом',
|
||||
|
@ -1490,6 +1494,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => 'Зміни каталогу збережено',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -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 (737), archonwang (469), fengjohn (5)
|
||||
// Translators: Admin (738), archonwang (469), fengjohn (5)
|
||||
|
||||
$text = array(
|
||||
'2_factor_auth' => '双重认证',
|
||||
|
@ -263,6 +263,7 @@ URL: [url]',
|
|||
'comment' => '说明',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => '版本说明',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '确认重新创建全文索引',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -407,6 +408,7 @@ URL: [url]',
|
|||
'does_not_expire' => '永不过期',
|
||||
'does_not_inherit_access_msg' => '继承访问权限',
|
||||
'download' => '下载',
|
||||
'download_extension' => '',
|
||||
'download_links' => '下载链接',
|
||||
'download_link_email_body' => '点击以下链接下载文档 \'[docname]\' 的 [version] 版本。
|
||||
|
||||
|
@ -486,7 +488,7 @@ URL: [url]',
|
|||
'exclude_items' => '排除项目',
|
||||
'expired' => '过期',
|
||||
'expired_at_date' => '',
|
||||
'expired_documents' => '',
|
||||
'expired_documents' => '过期文档',
|
||||
'expires' => '有效限期',
|
||||
'expire_by_date' => '指定过期时间',
|
||||
'expire_in_1d' => '一天后截止',
|
||||
|
@ -502,6 +504,7 @@ URL: [url]',
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '',
|
||||
'export' => '导出',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => '扩展管理器',
|
||||
'february' => '二 月',
|
||||
'file' => '文件',
|
||||
|
@ -591,6 +594,7 @@ URL: [url]',
|
|||
'identical_version' => '',
|
||||
'import' => '导入',
|
||||
'importfs' => '从文件系统中导入',
|
||||
'import_extension' => '',
|
||||
'import_fs' => '从文件系统导入',
|
||||
'import_fs_warning' => '这将只适用于拖动文件夹。该操作将递归导入所有文件夹和文件。文件将立即释放。',
|
||||
'include_content' => '',
|
||||
|
@ -1473,6 +1477,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '移除下载链接时报错',
|
||||
'splash_error_send_download_link' => '发送下载链接时报错',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '更新文件夹',
|
||||
'splash_importfs' => '已导入文档 [docs] 和文件夹 [folders]',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -246,6 +246,7 @@ URL: [url]',
|
|||
'comment' => '說明',
|
||||
'comment_changed_email' => '',
|
||||
'comment_for_current_version' => '版本說明',
|
||||
'configure_extension' => '',
|
||||
'confirm_clear_cache' => '',
|
||||
'confirm_create_fulltext_index' => '確認已新增之全文索引',
|
||||
'confirm_move_document' => '',
|
||||
|
@ -358,6 +359,7 @@ URL: [url]',
|
|||
'does_not_expire' => '永不過期',
|
||||
'does_not_inherit_access_msg' => '繼承存取權限',
|
||||
'download' => '下載',
|
||||
'download_extension' => '',
|
||||
'download_links' => '',
|
||||
'download_link_email_body' => '',
|
||||
'download_link_email_subject' => '',
|
||||
|
@ -447,6 +449,7 @@ URL: [url]',
|
|||
'expiry_changed_email_body' => '',
|
||||
'expiry_changed_email_subject' => '',
|
||||
'export' => '',
|
||||
'extension_archive' => '',
|
||||
'extension_manager' => '整體索引進度',
|
||||
'february' => '二 月',
|
||||
'file' => '文件',
|
||||
|
@ -516,6 +519,7 @@ URL: [url]',
|
|||
'identical_version' => '新版本的內容與舊版本完全相同',
|
||||
'import' => '匯入',
|
||||
'importfs' => '',
|
||||
'import_extension' => '',
|
||||
'import_fs' => '由檔案系統匯入',
|
||||
'import_fs_warning' => '',
|
||||
'include_content' => '',
|
||||
|
@ -1322,6 +1326,8 @@ URL: [url]',
|
|||
'splash_error_add_to_transmittal' => '',
|
||||
'splash_error_rm_download_link' => '',
|
||||
'splash_error_send_download_link' => '',
|
||||
'splash_extension_import' => '',
|
||||
'splash_extension_refresh' => '',
|
||||
'splash_folder_edited' => '',
|
||||
'splash_importfs' => '',
|
||||
'splash_inherit_access' => '',
|
||||
|
|
|
@ -31,7 +31,7 @@ include("../inc/inc.ClassUI.php");
|
|||
include("../inc/inc.ClassController.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('adddocument')) {
|
||||
|
|
|
@ -31,7 +31,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('addsubfolder')) {
|
||||
|
|
|
@ -644,7 +644,7 @@ switch($command) {
|
|||
$indexconf = null;
|
||||
}
|
||||
|
||||
$controller = Controller::factory('AddDocument');
|
||||
$controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user));
|
||||
$controller->setParam('documentsource', 'upload');
|
||||
$controller->setParam('folder', $folder);
|
||||
$controller->setParam('index', $index);
|
||||
|
|
|
@ -28,7 +28,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
if (!$user->isAdmin()) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
if (!isset($_GET["documentid"]) || !is_numeric($_GET["documentid"]) || intval($_GET["documentid"])<1) {
|
||||
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
|
||||
|
|
|
@ -31,7 +31,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
|
||||
if (!$accessop->check_controller_access($controller, $_POST)) {
|
||||
UI::exitError(getMLText("document_title", array("documentname" => "")),getMLText("access_denied"));
|
||||
|
|
|
@ -30,7 +30,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
if (!isset($_POST["documentid"]) || !is_numeric($_POST["documentid"]) || intval($_POST["documentid"])<1) {
|
||||
UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id"));
|
||||
|
|
|
@ -31,7 +31,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('editdocumentfile')) {
|
||||
|
|
|
@ -30,7 +30,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
if (!isset($_POST["folderid"]) || !is_numeric($_POST["folderid"]) || intval($_POST["folderid"])<1) {
|
||||
UI::exitError(getMLText("folder_title", array("foldername" => getMLText("invalid_folder_id"))),getMLText("invalid_folder_id"));
|
||||
|
|
|
@ -21,10 +21,13 @@ include("../inc/inc.Language.php");
|
|||
include("../inc/inc.Init.php");
|
||||
include("../inc/inc.LogInit.php");
|
||||
include("../inc/inc.DBInit.php");
|
||||
include("../inc/inc.Extension.php");
|
||||
include("../inc/inc.ClassUI.php");
|
||||
include("../inc/inc.ClassController.php");
|
||||
include("../inc/inc.Authentication.php");
|
||||
require "../inc/inc.ClassExtensionMgr.php";
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
if (!$user->isAdmin()) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||
}
|
||||
|
@ -34,10 +37,76 @@ if(!checkFormKey('extensionmgr')) {
|
|||
UI::exitError(getMLText("admin_tools"),getMLText("invalid_request_token"));
|
||||
}
|
||||
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$extconffile = $extMgr->getExtensionsConfFile();
|
||||
$extMgr->createExtensionConf();
|
||||
if (isset($_POST["action"])) $action=$_POST["action"];
|
||||
else $action=NULL;
|
||||
|
||||
// add new attribute definition ---------------------------------------------
|
||||
if ($action == "download") {
|
||||
if (!isset($_POST["extname"])) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("unknown_id"));
|
||||
}
|
||||
$extname = trim($_POST["extname"]);
|
||||
if (!file_exists($settings->_rootDir.'/ext/'.$extname) ) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("missing_extension"));
|
||||
}
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$controller->setParam('extmgr', $extMgr);
|
||||
$controller->setParam('extname', $extname);
|
||||
if (!$controller($_POST)) {
|
||||
echo json_encode(array('success'=>false, 'error'=>'Could not download extension'));
|
||||
}
|
||||
add_log_line();
|
||||
} /* }}} */
|
||||
elseif ($action == "refresh") { /* {{{ */
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$extMgr->createExtensionConf();
|
||||
$controller->setParam('extmgr', $extMgr);
|
||||
if (!$controller($_POST)) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_extension_refresh')));
|
||||
add_log_line();
|
||||
header("Location:../out/out.ExtensionMgr.php");
|
||||
} /* }}} */
|
||||
elseif ($action == "upload") { /* {{{ */
|
||||
if($_FILES['userfile']['error']) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
if($_FILES['userfile']['type'] != 'application/zip') {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$controller->setParam('extmgr', $extMgr);
|
||||
$controller->setParam('file', $_FILES['userfile']['tmp_name']);
|
||||
if (!$controller($_POST)) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_extension_import')));
|
||||
add_log_line();
|
||||
header("Location:../out/out.ExtensionMgr.php");
|
||||
} /* }}} */
|
||||
elseif ($action == "import") { /* {{{ */
|
||||
if(!$_POST['url']) {
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
$reposurl = 'http://seeddms.steinmann.cx/repository';
|
||||
$content = file_get_contents($reposurl."/".$_POST['url']);
|
||||
$file = tempnam(sys_get_temp_dir(), '');
|
||||
file_put_contents($file, $content);
|
||||
|
||||
$extMgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$controller->setParam('extmgr', $extMgr);
|
||||
$controller->setParam('file', $file);
|
||||
$_POST['action'] = 'upload';
|
||||
if (!$controller($_POST)) {
|
||||
unlink($file);
|
||||
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
|
||||
}
|
||||
unlink($file);
|
||||
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_extension_upload')));
|
||||
add_log_line();
|
||||
header("Location:../out/out.ExtensionMgr.php");
|
||||
} /* }}} */
|
||||
|
||||
|
||||
add_log_line();
|
||||
header("Location:../out/out.ExtensionMgr.php");
|
||||
?>
|
||||
|
|
|
@ -39,7 +39,7 @@ function _printMessage($heading, $message) { /* {{{ */
|
|||
} /* }}} */
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
if (isset($_REQUEST["sesstheme"]) && strlen($_REQUEST["sesstheme"])>0 && is_numeric(array_search($_REQUEST["sesstheme"],UI::getStyles())) ) {
|
||||
$theme = $_REQUEST["sesstheme"];
|
||||
|
|
|
@ -28,7 +28,7 @@ include("../inc/inc.DBInit.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
// Delete session from database
|
||||
if(isset($_COOKIE['mydms_session'])) {
|
||||
|
|
|
@ -29,7 +29,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('removedocument')) {
|
||||
|
|
|
@ -29,7 +29,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('removefolder')) {
|
||||
|
|
|
@ -29,7 +29,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
if (!$user->isAdmin()) {
|
||||
UI::exitError(getMLText("document"),getMLText("access_denied"));
|
||||
|
|
|
@ -29,7 +29,7 @@ include("../inc/inc.ClassUI.php");
|
|||
include("../inc/inc.ClassController.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
|
||||
/* Check if the form data comes from a trusted request */
|
||||
if(!checkFormKey('updatedocument')) {
|
||||
|
|
|
@ -29,7 +29,7 @@ include("../inc/inc.ClassController.php");
|
|||
include("../inc/inc.Authentication.php");
|
||||
|
||||
$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
|
||||
$controller = Controller::factory($tmp[1]);
|
||||
$controller = Controller::factory($tmp[1], array('dms'=>$dms, 'user'=>$user));
|
||||
$accessop = new SeedDMS_AccessOperation($dms, $user, $settings);
|
||||
if (!$accessop->check_controller_access($controller, $_POST)) {
|
||||
UI::exitError(getMLText("document_title", array("documentname" => "")),getMLText("access_denied"));
|
||||
|
|
|
@ -34,11 +34,15 @@ if (!$accessop->check_view_access($view, $_GET)) {
|
|||
}
|
||||
|
||||
$v = new SeedDMS_Version;
|
||||
$extmgr = new SeedDMS_Extension_Mgr($settings->_rootDir."/ext", $settings->_cacheDir);
|
||||
$currenttab = 'installed';
|
||||
|
||||
if($view) {
|
||||
$view->setParam('httproot', $settings->_httpRoot);
|
||||
$view->setParam('version', $v);
|
||||
$view->setParam('accessobject', $accessop);
|
||||
$view->setParam('extmgr', $extmgr);
|
||||
$view->setParam('currenttab', $currenttab);
|
||||
$view($_GET);
|
||||
exit;
|
||||
}
|
||||
|
|
|
@ -282,7 +282,7 @@ if($settings->_enableFullSearch) {
|
|||
$indexconf = null;
|
||||
}
|
||||
|
||||
$controller = Controller::factory('AddDocument');
|
||||
$controller = Controller::factory('AddDocument', array('dms'=>$dms, 'user'=>$user));
|
||||
$controller->setParam('documentsource', 'script');
|
||||
$controller->setParam('folder', $folder);
|
||||
$controller->setParam('index', $index);
|
||||
|
|
|
@ -27,60 +27,100 @@ require_once("class.Bootstrap.php");
|
|||
*/
|
||||
class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style {
|
||||
|
||||
function js() { /* {{{ */
|
||||
header('Content-Type: application/javascript');
|
||||
?>
|
||||
$(document).ready( function() {
|
||||
$('a.download').click(function(ev){
|
||||
var element = $(this);
|
||||
$('#'+element.data('extname')+'-download').submit();
|
||||
/*
|
||||
var element = $(this);
|
||||
ev.preventDefault();
|
||||
$.ajax({url: '../op/op.ExtensionMgr.php',
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
data: {action: 'download', 'formtoken': '<?= createFormKey('extensionmgr') ?>', 'extname': element.data('extname')},
|
||||
success: function(data) {
|
||||
noty({
|
||||
text: data.msg,
|
||||
type: (data.error) ? 'error' : 'success',
|
||||
dismissQueue: true,
|
||||
layout: 'topRight',
|
||||
theme: 'defaultTheme',
|
||||
timeout: 1500,
|
||||
});
|
||||
}
|
||||
});
|
||||
*/
|
||||
});
|
||||
|
||||
$('a.import').click(function(ev){
|
||||
var element = $(this);
|
||||
$('#'+element.data('extname')+'-import').submit();
|
||||
});
|
||||
});
|
||||
<?php
|
||||
} /* }}} */
|
||||
|
||||
function show() { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
$httproot = $this->params['httproot'];
|
||||
$version = $this->params['version'];
|
||||
$extmgr = $this->params['extmgr'];
|
||||
$currenttab = $this->params['currenttab'];
|
||||
|
||||
$reposurl = 'http://seeddms.steinmann.cx/repository';
|
||||
|
||||
$this->htmlStartPage(getMLText("admin_tools"));
|
||||
$this->globalNavigation();
|
||||
$this->contentStart();
|
||||
$this->pageNavigation(getMLText("admin_tools"), "admin_tools");
|
||||
$this->contentContainerStart();
|
||||
echo "<table class=\"table table-condensed\">\n";
|
||||
$this->contentHeading(getMLText("extension_manager"));
|
||||
?>
|
||||
<div class="row-fluid">
|
||||
<div class="span4">
|
||||
<form class="form-horizontal" method="post" enctype="multipart/form-data" action="../op/op.ExtensionMgr.php">
|
||||
<?= createHiddenFieldWithKey('extensionmgr') ?>
|
||||
<input type="hidden" name="action" value="upload" />
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="upload"><?= getMLText('extension_archive'); ?></label>
|
||||
<div class="controls">
|
||||
<?php $this->printFileChooser('userfile', false); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="enddate"></label>
|
||||
<div class="controls">
|
||||
<button id="upload" type="_submit" class="btn"><i class="icon-upload"></i> <?= getMLText("import_extension"); ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="span8">
|
||||
<ul class="nav nav-tabs" id="extensionstab">
|
||||
<li class="<?php if(!$currenttab || $currenttab == 'installed') echo 'active'; ?>"><a data-target="#installed" data-toggle="tab"><?= getMLText('extensions_installed'); ?></a></li>
|
||||
<li class="<?php if($currenttab == 'repository') echo 'active'; ?>"><a data-target="#repository" data-toggle="tab"><?= getMLText('extensions_repository'); ?></a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane <?php if(!$currenttab || $currenttab == 'installed') echo 'active'; ?>" id="installed">
|
||||
<?php
|
||||
// $this->contentContainerStart();
|
||||
echo "<table class=\"table _table-condensed\">\n";
|
||||
print "<thead>\n<tr>\n";
|
||||
print "<th></th>\n";
|
||||
print "<th>".getMLText('name')."</th>\n";
|
||||
print "<th>".getMLText('version')."</th>\n";
|
||||
print "<th>".getMLText('author')."</th>\n";
|
||||
print "</tr></thead>\n";
|
||||
print "<th></th>\n";
|
||||
print "</tr></thead><tbody>\n";
|
||||
$errmsgs = array();
|
||||
foreach($GLOBALS['EXT_CONF'] as $extname=>$extconf) {
|
||||
$errmsgs = array();
|
||||
if(!isset($extconf['disable']) || $extconf['disable'] == false) {
|
||||
/* check dependency on specific seeddms version */
|
||||
if(!isset($extconf['constraints']['depends']['seeddms']))
|
||||
$errmsgs[] = "Missing dependency on SeedDMS";
|
||||
if(!isset($extconf['constraints']['depends']['php']))
|
||||
$errmsgs[] = "Missing dependency on PHP";
|
||||
|
||||
if(isset($extconf['constraints']['depends'])) {
|
||||
foreach($extconf['constraints']['depends'] as $dkey=>$dval) {
|
||||
switch($dkey) {
|
||||
case 'seeddms':
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(cmpVersion($tmp[0], $version->version()) > 0 || ($tmp[1] && cmpVersion($tmp[1], $version->version()) < 0))
|
||||
$errmsgs[] = sprintf("Incorrect SeedDMS version (needs version %s)", $extconf['constraints']['depends']['seeddms']);
|
||||
break;
|
||||
case 'php':
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(cmpVersion($tmp[0], phpversion()) > 0 || ($tmp[1] && cmpVersion($tmp[1], phpversion()) < 0))
|
||||
$errmsgs[] = sprintf("Incorrect PHP version (needs version %s)", $extconf['constraints']['depends']['php']);
|
||||
break;
|
||||
default:
|
||||
$tmp = explode('-', $dval, 2);
|
||||
if(isset($GLOBALS['EXT_CONF'][$dkey]['version'])) {
|
||||
if(cmpVersion($tmp[0], $GLOBALS['EXT_CONF'][$dkey]['version']) > 0 || ($tmp[1] && cmpVersion($tmp[1], $GLOBALS['EXT_CONF'][$dkey]['version']) < 0))
|
||||
$errmsgs[] = sprintf("Incorrect version of extension '%s' (needs version '%s' but provides '%s')", $dkey, $dval, $GLOBALS['EXT_CONF'][$dkey]['version']);
|
||||
} else {
|
||||
$errmsgs[] = sprintf("Missing extension or version for '%s'", $dkey);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$extmgr->checkExtension($extname);
|
||||
$errmsgs = $extmgr->getErrorMsgs();
|
||||
if($errmsgs)
|
||||
echo "<tr class=\"error\">";
|
||||
else
|
||||
|
@ -89,27 +129,79 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Bootstrap_Style {
|
|||
echo "<tr class=\"warning\">";
|
||||
echo "<td>";
|
||||
if($extconf['icon'])
|
||||
echo "<img src=\"".$httproot."ext/".$extname."/".$extconf['icon']."\">";
|
||||
echo "<img src=\"".$httproot."ext/".$extname."/".$extconf['icon']."\" alt=\"".$extname."\" title=\"".$extname."\">";
|
||||
echo "</td>";
|
||||
echo "<td>".$extconf['title']."<br /><small>".$extconf['description']."</small>";
|
||||
if($errmsgs)
|
||||
echo "<div><img src=\"".$this->getImgPath("attention.gif")."\"> ".implode('<br /><img src="'.$this->getImgPath("attention.gif").'"> ', $errmsgs)."</div>";
|
||||
echo "</td>";
|
||||
echo "<td>".$extconf['version']."<br /><small>".$extconf['releasedate']."</small>";
|
||||
if($extconf['config'])
|
||||
echo "<div class=\"list-action\"><a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\"><i class=\"icon-cogs\"></i></a></div>";
|
||||
echo "<td nowrap>".$extconf['version']."<br /><small>".$extconf['releasedate']."</small>";
|
||||
echo "</td>";
|
||||
echo "<td nowrap><a href=\"mailto:".$extconf['author']['email']."\">".$extconf['author']['name']."</a><br /><small>".$extconf['author']['company']."</small></td>";
|
||||
echo "<td nowrap>";
|
||||
echo "<div class=\"list-action\">";
|
||||
if($extconf['config'])
|
||||
echo "<a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\" title=\"".getMLText('configure_extension')."\"><i class=\"icon-cogs\"></i></a>";
|
||||
echo "<form style=\"display: inline-block; margin: 0px;\" method=\"post\" action=\"../op/op.ExtensionMgr.php\" id=\"".$extname."-download\">".createHiddenFieldWithKey('extensionmgr')."<input type=\"hidden\" name=\"action\" value=\"download\" /><input type=\"hidden\" name=\"extname\" value=\"".$extname."\" /><a class=\"download\" data-extname=\"".$extname."\" title=\"".getMLText('download_extension')."\"><i class=\"icon-download\"></i></a></form>";
|
||||
echo "</div>";
|
||||
echo "</td>";
|
||||
echo "<td><a href=\"mailto:".$extconf['author']['email']."\">".$extconf['author']['name']."</a><br /><small>".$extconf['author']['company']."</small></td>";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
echo "</table>\n";
|
||||
echo "</tbody></table>\n";
|
||||
?>
|
||||
<form action="../op/op.ExtensionMgr.php" name="form1" method="post">
|
||||
<?php echo createHiddenFieldWithKey('extensionmgr'); ?>
|
||||
<input type="hidden" name="action" value="refresh" />
|
||||
<p><button type="submit" class="btn"><i class="icon-refresh"></i> <?php printMLText("refresh");?></button></p>
|
||||
</form>
|
||||
<?php
|
||||
$this->contentContainerEnd();
|
||||
// $this->contentContainerEnd();
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane <?php if($currenttab == 'repository') echo 'active'; ?>" id="repository">
|
||||
<?php
|
||||
echo "<table class=\"table _table-condensed\">\n";
|
||||
print "<thead>\n<tr>\n";
|
||||
print "<th></th>\n";
|
||||
print "<th>".getMLText('name')."</th>\n";
|
||||
print "<th>".getMLText('version')."</th>\n";
|
||||
print "<th>".getMLText('author')."</th>\n";
|
||||
print "<th></th>\n";
|
||||
print "</tr></thead><tbody>\n";
|
||||
$list = $extmgr->importExtensionList($reposurl);
|
||||
foreach($list as $e) {
|
||||
if($e[0] != '#') {
|
||||
$re = json_decode($e);
|
||||
$needsupdate = !isset($GLOBALS['EXT_CONF'][$re->name]) || SeedDMS_Extension_Mgr::cmpVersion($re->version, $GLOBALS['EXT_CONF'][$re->name]['version']) > 0;
|
||||
echo "<tr";
|
||||
if(isset($GLOBALS['EXT_CONF'][$re->name])) {
|
||||
if($needsupdate)
|
||||
echo " class=\"warning\"";
|
||||
else
|
||||
echo " class=\"success\"";
|
||||
}
|
||||
echo ">";
|
||||
echo "<td></td>";
|
||||
echo "<td>".$re->title."<br /><small>".$re->description."</small></td>";
|
||||
echo "<td nowrap>".$re->version."<br /><small>".$re->releasedate."</small></td>";
|
||||
echo "<td nowrap>".$re->author->name."<br /><small>".$re->author->company."</small></td>";
|
||||
echo "<td nowrap>";
|
||||
echo "<div class=\"list-action\">";
|
||||
if($needsupdate)
|
||||
echo "<form style=\"display: inline-block; margin: 0px;\" method=\"post\" action=\"../op/op.ExtensionMgr.php\" id=\"".$extname."-import\">".createHiddenFieldWithKey('extensionmgr')."<input type=\"hidden\" name=\"action\" value=\"import\" /><input type=\"hidden\" name=\"url\" value=\"".$re->filename."\" /><a class=\"import\" data-extname=\"".$extname."\" title=\"".getMLText('import_extension')."\"><i class=\"icon-download\"></i></a></form>";
|
||||
echo "</div>";
|
||||
echo "</td>";
|
||||
echo "</tr>";
|
||||
}
|
||||
}
|
||||
echo "</tbody></table>\n";
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$this->contentEnd();
|
||||
$this->htmlEndPage();
|
||||
} /* }}} */
|
||||
|
|
|
@ -676,7 +676,18 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
|
|||
return "403 Forbidden";
|
||||
}
|
||||
|
||||
if (!$folder->addSubFolder($name, '', $this->user, 0)) {
|
||||
$controller = Controller::factory('AddSubFolder');
|
||||
$controller->setParam('dms', $this->dms);
|
||||
$controller->setParam('user', $this->user);
|
||||
$controller->setParam('folder', $folder);
|
||||
$controller->setParam('name', $name);
|
||||
$controller->setParam('comment', '');
|
||||
$controller->setParam('sequence', 0);
|
||||
$controller->setParam('attributes', array());
|
||||
$controller->setParam('notificationgroups', array());
|
||||
$controller->setParam('notificationusers', array());
|
||||
if(!$subFolder = $controller->run()) {
|
||||
// if (!$folder->addSubFolder($name, '', $this->user, 0)) {
|
||||
return "403 Forbidden";
|
||||
}
|
||||
|
||||
|
@ -710,23 +721,32 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
|
|||
return "403 Forbidden";
|
||||
}
|
||||
|
||||
if($settings->_enableFullSearch) {
|
||||
$index = $indexconf['Indexer']::open($settings->_luceneDir);
|
||||
$indexconf['Indexer']::init($settings->_stopWordsFile);
|
||||
} else {
|
||||
$index = null;
|
||||
$indexconf = null;
|
||||
}
|
||||
|
||||
if (get_class($obj) == $this->dms->getClassname('folder')) {
|
||||
if($obj->hasDocuments() || $obj->hasSubFolders()) {
|
||||
return "409 Conflict";
|
||||
}
|
||||
if(!$obj->remove()) {
|
||||
$controller = Controller::factory('RemoveFolder');
|
||||
$controller->setParam('dms', $this->dms);
|
||||
$controller->setParam('user', $this->user);
|
||||
$controller->setParam('folder', $obj);
|
||||
$controller->setParam('index', $index);
|
||||
$controller->setParam('indexconf', $indexconf);
|
||||
if(!$controller->run()) {
|
||||
// if(!$obj->remove()) {
|
||||
return "409 Conflict";
|
||||
}
|
||||
} else {
|
||||
if($settings->_enableFullSearch) {
|
||||
$index = $indexconf['Indexer']::open($settings->_luceneDir);
|
||||
$indexconf['Indexer']::init($settings->_stopWordsFile);
|
||||
} else {
|
||||
$index = null;
|
||||
$indexconf = null;
|
||||
}
|
||||
|
||||
$controller = Controller::factory('RemoveDocument');
|
||||
$controller->setParam('dms', $this->dms);
|
||||
$controller->setParam('user', $this->user);
|
||||
$controller->setParam('document', $obj);
|
||||
$controller->setParam('index', $index);
|
||||
$controller->setParam('indexconf', $indexconf);
|
||||
|
@ -935,6 +955,8 @@ class HTTP_WebDAV_Server_SeedDMS extends HTTP_WebDAV_Server
|
|||
}
|
||||
|
||||
$controller = Controller::factory('AddDocument');
|
||||
$controller->setParam('dms', $this->dms);
|
||||
$controller->setParam('user', $this->user);
|
||||
$controller->setParam('documentsource', 'webdav');
|
||||
$controller->setParam('folder', $objdest);
|
||||
$controller->setParam('index', $index);
|
||||
|
|
Loading…
Reference in New Issue
Block a user