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

This commit is contained in:
Uwe Steinmann 2017-08-01 08:37:31 +02:00
commit 8f59babaad
9 changed files with 76 additions and 3 deletions

View File

@ -204,6 +204,8 @@ class Settings { /* {{{ */
var $_enableClipboard = true;
// enable/disable list of tasks in main menu
var $_enableMenuTasks = true;
// enable/disable list of files in drop folder
var $_enableDropFolderList = false;
// enable/disable display of the session list
var $_enableSessionList = false;
// enable/disable display of the drop zone for file upload
@ -443,6 +445,7 @@ class Settings { /* {{{ */
$this->_enableSessionList = Settings::boolVal($tab["enableSessionList"]);
$this->_enableClipboard = Settings::boolVal($tab["enableClipboard"]);
$this->_enableMenuTasks = Settings::boolVal($tab["enableMenuTasks"]);
$this->_enableDropFolderList = Settings::boolVal($tab["enableDropFolderList"]);
$this->_enableDropUpload = Settings::boolVal($tab["enableDropUpload"]);
$this->_enableMultiUpload = Settings::boolVal($tab["enableMultiUpload"]);
$this->_enableFolderTree = Settings::boolVal($tab["enableFolderTree"]);
@ -767,6 +770,7 @@ class Settings { /* {{{ */
$this->setXMLAttributValue($node, "enableSessionList", $this->_enableSessionList);
$this->setXMLAttributValue($node, "enableClipboard", $this->_enableClipboard);
$this->setXMLAttributValue($node, "enableMenuTasks", $this->_enableMenuTasks);
$this->setXMLAttributValue($node, "enableDropFolderList", $this->_enableDropFolderList);
$this->setXMLAttributValue($node, "enableDropUpload", $this->_enableDropUpload);
$this->setXMLAttributValue($node, "enableMultiUpload", $this->_enableMultiUpload);
$this->setXMLAttributValue($node, "enableFolderTree", $this->_enableFolderTree);

View File

@ -105,6 +105,8 @@ class UI extends UI_Default {
$view->setParam('enablelanguageselector', $settings->_enableLanguageSelector);
$view->setParam('enableclipboard', $settings->_enableClipboard);
$view->setParam('enablemenutasks', $settings->_enableMenuTasks);
$view->setParam('enabledropfolderlist', $settings->_enableDropFolderList);
$view->setParam('dropfolderdir', $settings->_dropFolderDir);
$view->setParam('enablesessionlist', $settings->_enableSessionList);
$view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('checkoutdir', $settings->_checkOutDir);

View File

@ -84,6 +84,7 @@ if ($action == "saveSettings")
$settings->_enableSessionList = getBoolValue("enableSessionList");
$settings->_enableClipboard = getBoolValue("enableClipboard");
$settings->_enableMenuTasks = getBoolValue("enableMenuTasks");
$settings->_enableDropFolderList = getBoolValue("enableDropFolderList");
$settings->_enableDropUpload = getBoolValue("enableDropUpload");
$settings->_enableMultiUpload = getBoolValue("enableMultiUpload");
$settings->_enableFolderTree = getBoolValue("enableFolderTree");

View File

@ -79,6 +79,7 @@ if($view) {
$view->setParam('enableselfrevapp', $settings->_enableSelfRevApp);
$view->setParam('libraryfolder', $libfolder);
$view->setParam('dropfolderdir', $settings->_dropFolderDir);
$view->setParam('dropfolderfile', isset($_REQUEST["dropfolderfileform1"]) ?$_REQUEST["dropfolderfileform1"] : '');
$view->setParam('workflowmode', $settings->_workflowMode);
$view->setParam('presetexpiration', $settings->_presetExpirationDate);
$view->setParam('sortusersinlist', $settings->_sortUsersInList);

View File

@ -26,7 +26,10 @@ include("../inc/inc.DBInit.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
if(isset($_GET["form"]))
$form = preg_replace('/[^A-Za-z0-9_]+/', '', $_GET["form"]);
else
$form = '';
if(substr($settings->_dropFolderDir, -1, 1) == DIRECTORY_SEPARATOR)
$dropfolderdir = substr($settings->_dropFolderDir, 0, -1);
@ -42,7 +45,7 @@ $tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME']));
$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user));
if($view) {
$view->setParam('dropfolderdir', $dropfolderdir);
$view->setParam('dropfolderfile', $_GET["dropfolderfile"]);
$view->setParam('dropfolderfile', isset($_GET["dropfolderfile"]) ? $_GET["dropfolderfile"] : '');
$view->setParam('form', $form);
$view->setParam('cachedir', $settings->_cacheDir);
$view->setParam('previewWidthList', $settings->_previewWidthList);

View File

@ -164,6 +164,7 @@ $(document).ready(function() {
$strictformcheck = $this->params['strictformcheck'];
$dropfolderdir = $this->params['dropfolderdir'];
$libraryfolder = $this->params['libraryfolder'];
$dropfolderfile = $this->params['dropfolderfile'];
$workflowmode = $this->params['workflowmode'];
$presetexpiration = $this->params['presetexpiration'];
$sortusersinlist = $this->params['sortusersinlist'];
@ -340,7 +341,7 @@ $(document).ready(function() {
<?php if($dropfolderdir) { ?>
<tr>
<td><?php printMLText("dropfolder_file");?>:</td>
<td><?php $this->printDropFolderChooserHtml("form1");?></td>
<td><?php $this->printDropFolderChooserHtml("form1", $dropfolderfile);?></td>
</tr>
<?php } ?>
<?php if($libraryfolder) { ?>

View File

@ -410,6 +410,14 @@ background-image: linear-gradient(to bottom, #882222, #111111);;
//$this->addFooterJS('checkTasks();');
}
if($this->params['dropfolderdir'] && $this->params['enabledropfolderlist']) {
echo " <div id=\"menu-dropfolder\">";
echo " <div class=\"ajax\" data-no-spinner=\"true\" data-view=\"DropFolderChooser\" data-action=\"menuList\"";
if ($folder!=null && is_object($folder) && !strcasecmp(get_class($folder), $dms->getClassname('folder')))
echo " data-query=\"folderid=".$folder->getID()."\"";
echo "></div>";
echo " </div>";
}
if($this->params['enablesessionlist']) {
echo " <div id=\"menu-session\">";
echo " <div class=\"ajax\" data-no-spinner=\"true\" data-view=\"Session\" data-action=\"menuSessions\"></div>";

View File

@ -50,6 +50,55 @@ $('.folderselect').click(function(ev) {
<?php
} /* }}} */
public function menuList() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];
$dropfolderdir = $this->params['dropfolderdir'];
$showfolders = $this->params['showfolders'];
$cachedir = $this->params['cachedir'];
$timeout = $this->params['timeout'];
$folderid = isset($_GET['folderid']) ? $_GET['folderid'] : 0;
$previewwidth = 40;
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth, $timeout);
$content = '';
$content .= " <ul id=\"main-menu-dropfolderlist\" class=\"nav pull-right\">\n";
$content .= " <li class=\"dropdown add-dropfolderlist-area\">\n";
$content .= " <a href=\"#\" class=\"dropdown-toggle\" data-toggle=\"dropdown\" class=\"add-dropfolderlist-area\">".getMLText('menu_dropfolder')." <i class=\"icon-caret-down\"></i></a>\n";
$content .= " <ul class=\"dropdown-menu\" role=\"menu\">\n";
$dir = $dropfolderdir.'/'.$user->getLogin();
/* Check if we are still looking in the configured directory and
* not somewhere else, e.g. if the login was '../test'
*/
if(dirname($dir) == $dropfolderdir) {
if(is_dir($dir)) {
$d = dir($dir);
$finfo = finfo_open(FILEINFO_MIME_TYPE);
while (false !== ($entry = $d->read())) {
if($entry != '..' && $entry != '.') {
if($showfolders == 0 && !is_dir($dir.'/'.$entry)) {
$mimetype = finfo_file($finfo, $dir.'/'.$entry);
$previewer->createRawPreview($dir.'/'.$entry, 'dropfolder/', $mimetype);
$content .= "<li><a".($folderid ? " href=\"../out/out.AddDocument.php?folderid=".$folderid."&dropfolderfileform1=".urldecode($entry)."\"" : "").">";
if($previewer->hasRawPreview($dir.'/'.$entry, 'dropfolder/')) {
$content .= "<div style=\"float: left; display:inline; width:40px; max-height:40px;overflow:hidden;\"><img filename=\"".$entry."\" width=\"".$previewwidth."\" src=\"../op/op.DropFolderPreview.php?filename=".$entry."&width=".$previewwidth."\" title=\"".htmlspecialchars($mimetype)."\"></div>";
}
$content .= "<div style=\"margin-left:10px; margin-right: 40px; display:inline-block;\">".$entry."<br /><span style=\"font-size: 85%;\">".SeedDMS_Core_File::format_filesize(filesize($dir.'/'.$entry)).", ".date('Y-m-d H:i:s', filectime($dir.'/'.$entry))."</span></div></a></li>\n";
} elseif($showfolders && is_dir($dir.'/'.$entry)) {
$content .= "<li><a _href=\"\">".$entry."</a></li>";
}
}
}
}
}
$content .= " </ul>\n";
$content .= " </li>\n";
$content .= " </ul>\n";
echo $content;
} /* }}} */
function show() { /* {{{ */
$dms = $this->params['dms'];
$user = $this->params['user'];

View File

@ -272,6 +272,10 @@ if(!is_writeable($settings->_configFilePath)) {
<tr title="<?php printMLText("settings_enableMenuTasks_desc");?>">
<td><?php printMLText("settings_enableMenuTasks");?>:</td>
<td><input name="enableMenuTasks" type="checkbox" <?php if ($settings->_enableMenuTasks) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableDropFolderList_desc");?>">
<td><?php printMLText("settings_enableDropFolderList");?>:</td>
<td><input name="enableDropFolderList" type="checkbox" <?php if ($settings->_enableDropFolderList) echo "checked" ?> /></td>
</tr>
<tr title="<?php printMLText("settings_enableSessionList_desc");?>">
<td><?php printMLText("settings_enableSessionList");?>:</td>