mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-10-09 18:42:56 +00:00
Merge branch 'seeddms-5.1.x' into seeddms-6.0.x
This commit is contained in:
commit
904e4b8657
|
@ -1014,6 +1014,8 @@ class Settings { /* {{{ */
|
||||||
if (is_null($configFilePath))
|
if (is_null($configFilePath))
|
||||||
$configFilePath = $this->_configFilePath;
|
$configFilePath = $this->_configFilePath;
|
||||||
|
|
||||||
|
// copy($configFilePath, $configFilePath.'.'.time());
|
||||||
|
|
||||||
// Load
|
// Load
|
||||||
$xml = simplexml_load_string(file_get_contents($configFilePath));
|
$xml = simplexml_load_string(file_get_contents($configFilePath));
|
||||||
$this->getXMLNode($xml, '/', 'configuration');
|
$this->getXMLNode($xml, '/', 'configuration');
|
||||||
|
@ -1354,9 +1356,9 @@ class Settings { /* {{{ */
|
||||||
*/
|
*/
|
||||||
foreach($extension as $fieldname=>$confvalue) {
|
foreach($extension as $fieldname=>$confvalue) {
|
||||||
if($fieldname != '___disable__' && $confvalue) {
|
if($fieldname != '___disable__' && $confvalue) {
|
||||||
$parameter = $extnode->addChild('parameter');
|
$parameter = $extnode->addChild('parameter');
|
||||||
$parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : '';
|
$parameter[0] = isset($extension[$fieldname]) ? (is_array($extension[$fieldname]) ? implode(',', $extension[$fieldname]) : $extension[$fieldname]) : '';
|
||||||
$this->setXMLAttributValue($parameter, 'name', $fieldname);
|
$this->setXMLAttributValue($parameter, 'name', $fieldname);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* Old code saves those parameters listed in the configuration
|
/* Old code saves those parameters listed in the configuration
|
||||||
|
|
|
@ -29,17 +29,6 @@ include("../inc/inc.DBInit.php");
|
||||||
include("../inc/inc.ClassUI.php");
|
include("../inc/inc.ClassUI.php");
|
||||||
include("../inc/inc.Authentication.php");
|
include("../inc/inc.Authentication.php");
|
||||||
|
|
||||||
|
|
||||||
function getBoolValue($post_name)
|
|
||||||
{
|
|
||||||
$out = false;
|
|
||||||
if (isset($_POST[$post_name]))
|
|
||||||
if ($_POST[$post_name]=="on")
|
|
||||||
$out = true;
|
|
||||||
|
|
||||||
return $out;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!$user->isAdmin()) {
|
if (!$user->isAdmin()) {
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
|
||||||
}
|
}
|
||||||
|
@ -68,10 +57,12 @@ if ($action == "saveSettings")
|
||||||
function setBoolValue($name) {
|
function setBoolValue($name) {
|
||||||
global $_POST, $settings;
|
global $_POST, $settings;
|
||||||
if(!in_array($name, $settings->_hiddenConfFields)) {
|
if(!in_array($name, $settings->_hiddenConfFields)) {
|
||||||
if (isset($_POST[$name]) && $_POST[$name]=="on")
|
if (isset($_POST[$name])) {
|
||||||
$settings->{"_".$name} = true;
|
if ($_POST[$name]=="on")
|
||||||
else
|
$settings->{"_".$name} = true;
|
||||||
$settings->{"_".$name} = false;
|
else
|
||||||
|
$settings->{"_".$name} = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function setIntValue($name) {
|
function setIntValue($name) {
|
||||||
|
@ -81,11 +72,13 @@ if ($action == "saveSettings")
|
||||||
}
|
}
|
||||||
function setArrayValue($name) {
|
function setArrayValue($name) {
|
||||||
global $_POST, $settings;
|
global $_POST, $settings;
|
||||||
if(!in_array($name, $settings->_hiddenConfFields)) {
|
if (!in_array($name, $settings->_hiddenConfFields)) {
|
||||||
if(isset($_POST[$name]) && $_POST[$name])
|
if (isset($_POST[$name])) {
|
||||||
$settings->{"_".$name} = $_POST[$name];
|
if ($_POST[$name])
|
||||||
else
|
$settings->{"_".$name} = $_POST[$name];
|
||||||
$settings->{"_".$name} = array();
|
else
|
||||||
|
$settings->{"_".$name} = array();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function setDirValue($name) {
|
function setDirValue($name) {
|
||||||
|
@ -348,15 +341,21 @@ if ($action == "saveSettings")
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
// save
|
// save
|
||||||
// -------------------------------------------------------------------------
|
// -------------------------------------------------------------------------
|
||||||
if (!$settings->save())
|
if (!$settings->save()) {
|
||||||
UI::exitError(getMLText("admin_tools"),getMLText("settings_SaveError"));
|
if(isAjax()) {
|
||||||
|
echo json_encode(array('success'=>false, 'msg'=>getMLText('settings_SaveError')));
|
||||||
|
exit;
|
||||||
|
} else {
|
||||||
|
UI::exitError(getMLText("admin_tools"),getMLText("settings_SaveError"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
add_log_line(".php&action=savesettings");
|
add_log_line(".php&action=savesettings");
|
||||||
}
|
}
|
||||||
|
|
||||||
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_settings_saved')));
|
if(isAjax()) {
|
||||||
|
echo json_encode(array('success'=>true, 'msg'=>getMLText('splash_settings_saved')));
|
||||||
|
} else {
|
||||||
header("Location:../out/out.Settings.php?currenttab=".$_POST['currenttab']);
|
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_settings_saved')));
|
||||||
|
header("Location:../out/out.Settings.php?currenttab=".$_POST['currenttab']);
|
||||||
?>
|
}
|
||||||
|
|
|
@ -42,6 +42,7 @@ if($view) {
|
||||||
$view->setParam('settings', $settings);
|
$view->setParam('settings', $settings);
|
||||||
$view->setParam('extmgr', $extMgr);
|
$view->setParam('extmgr', $extMgr);
|
||||||
$view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : ''));
|
$view->setParam('currenttab', (isset($_REQUEST['currenttab']) ? $_REQUEST['currenttab'] : ''));
|
||||||
|
$view->setParam('extname', (isset($_REQUEST['extensionname']) ? $_REQUEST['extensionname'] : ''));
|
||||||
$view->setParam('allusers', $users);
|
$view->setParam('allusers', $users);
|
||||||
$view->setParam('allgroups', $groups);
|
$view->setParam('allgroups', $groups);
|
||||||
$view->setParam('accessobject', $accessop);
|
$view->setParam('accessobject', $accessop);
|
||||||
|
|
|
@ -1631,9 +1631,9 @@ function getOverallStatusIcon($status) { /* {{{ */
|
||||||
*/
|
*/
|
||||||
function getModalBox($config) { /* {{{ */
|
function getModalBox($config) { /* {{{ */
|
||||||
$content = '
|
$content = '
|
||||||
<div class="modal modal-wide hide" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label" aria-hidden="true">
|
<div class="modal modal-wide hide" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
<h3 id="'.$config['id'].'Label">'.$config['title'].'</h3>
|
<h3 id="'.$config['id'].'Label">'.$config['title'].'</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
|
@ -1648,7 +1648,7 @@ function getOverallStatusIcon($status) { /* {{{ */
|
||||||
';
|
';
|
||||||
if($config['buttons']) {
|
if($config['buttons']) {
|
||||||
foreach($config['buttons'] as $button)
|
foreach($config['buttons'] as $button)
|
||||||
$content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': '" ').'data-dismiss="modal" aria-hidden="true">'.$button['title'].'</button>';
|
$content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': '" ').'data-dismiss="modal">'.$button['title'].'</button>';
|
||||||
}
|
}
|
||||||
$content .= '
|
$content .= '
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -55,6 +55,25 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
|
||||||
});
|
});
|
||||||
*/
|
*/
|
||||||
});
|
});
|
||||||
|
$('body').on('click', '#btn_save_config', function(ev){
|
||||||
|
var element = $(this);
|
||||||
|
ev.preventDefault();
|
||||||
|
$.ajax({url: '../op/op.Settings.php',
|
||||||
|
type: 'POST',
|
||||||
|
dataType: "json",
|
||||||
|
data: data = $('#formconfig').serializeArray(),
|
||||||
|
success: function(data) {
|
||||||
|
noty({
|
||||||
|
text: data.msg,
|
||||||
|
type: (data.error) ? 'error' : 'success',
|
||||||
|
dismissQueue: true,
|
||||||
|
layout: 'topRight',
|
||||||
|
theme: 'defaultTheme',
|
||||||
|
timeout: 1500,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
$('body').on('click', 'a.toggle', function(ev){
|
$('body').on('click', 'a.toggle', function(ev){
|
||||||
// $('a.toggle').click(function(ev){
|
// $('a.toggle').click(function(ev){
|
||||||
var element = $(this);
|
var element = $(this);
|
||||||
|
@ -247,8 +266,10 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
|
||||||
if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) {
|
if(!empty($extconf['changelog']) && file_exists($extdir."/".$extname."/".$extconf['changelog'])) {
|
||||||
echo $this->getModalBoxLink(array('target'=>'extensionChangelog', 'remote'=>'out.ExtensionMgr.php?action=changelog&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-reorder"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog'))));
|
echo $this->getModalBoxLink(array('target'=>'extensionChangelog', 'remote'=>'out.ExtensionMgr.php?action=changelog&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-reorder"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog'))));
|
||||||
}
|
}
|
||||||
if($extconf['config'])
|
if($extconf['config']) {
|
||||||
echo "<a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\" title=\"".getMLText('configure_extension')."\"><i class=\"fa fa-cogs\"></i></a>";
|
// echo "<a href=\"../out/out.Settings.php?currenttab=extensions#".$extname."\" title=\"".getMLText('configure_extension')."\"><i class=\"fa fa-cogs\"></i></a>";
|
||||||
|
echo $this->getModalBoxLink(array('target'=>'extensionConfig', 'remote'=>'out.Settings.php?action=extension&extensionname='.$extname, 'class'=>'', 'title'=>'<i class="fa fa-cogs"></i>', 'attributes'=>array('title'=>getMLText('show_extension_changelog'), 'data-modal-title'=>'<i class=\'fa fa-circle'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? ' disabled' : ' enabled').'\'></i> '.$extconf['title'])));
|
||||||
|
}
|
||||||
if($settings->_enableExtensionDownload)
|
if($settings->_enableExtensionDownload)
|
||||||
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=\"fa fa-download\"></i></a></form>";
|
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=\"fa fa-download\"></i></a></form>";
|
||||||
if(is_writeable($settings->_configFilePath) && $check) {
|
if(is_writeable($settings->_configFilePath) && $check) {
|
||||||
|
@ -392,6 +413,7 @@ class SeedDMS_View_ExtensionMgr extends SeedDMS_Theme_Style {
|
||||||
echo $this->getModalBox(array('id'=>'extensionInfo', 'title'=>getMLText('extension_version_list'), 'content'=>'<p>'.getMLText('extension_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
echo $this->getModalBox(array('id'=>'extensionInfo', 'title'=>getMLText('extension_version_list'), 'content'=>'<p>'.getMLText('extension_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
||||||
echo $this->getModalBox(array('id'=>'extensionChangelog', 'title'=>getMLText('extension_changelog'), 'content'=>'<p>'.getMLText('changelog_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
echo $this->getModalBox(array('id'=>'extensionChangelog', 'title'=>getMLText('extension_changelog'), 'content'=>'<p>'.getMLText('changelog_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
||||||
echo $this->getModalBox(array('id'=>'extensionReadme', 'title'=>getMLText('extension_readme'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
echo $this->getModalBox(array('id'=>'extensionReadme', 'title'=>getMLText('extension_readme'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')))));
|
||||||
|
echo $this->getModalBox(array('id'=>'extensionConfig', 'title'=>getMLText('extension_config'), 'content'=>'<p>'.getMLText('readme_loading').'</p>', 'buttons'=>array(array('title'=>getMLText('close')), array('id'=>'btn_save_config', 'title'=>getMLText('save')))));
|
||||||
$this->contentEnd();
|
$this->contentEnd();
|
||||||
$this->htmlEndPage();
|
$this->htmlEndPage();
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
|
@ -189,9 +189,10 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
|
||||||
<td><?= getMLText($title) ?></td>
|
<td><?= getMLText($title) ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if($this->isVisible($name))
|
if($this->isVisible($name)) {
|
||||||
|
echo '<input name="'.$name.'" type="hidden" vaule="" />';
|
||||||
echo '<input name="'.$name.'" type="checkbox" '.($settings->{"_".$name} ? "checked" : '').' />';
|
echo '<input name="'.$name.'" type="checkbox" '.($settings->{"_".$name} ? "checked" : '').' />';
|
||||||
else
|
} else
|
||||||
echo getMLText('settings_conf_field_not_editable');
|
echo getMLText('settings_conf_field_not_editable');
|
||||||
echo "</td>\n";
|
echo "</td>\n";
|
||||||
?>
|
?>
|
||||||
|
@ -331,6 +332,183 @@ class SeedDMS_View_Settings extends SeedDMS_Theme_Style {
|
||||||
<?php
|
<?php
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
|
protected function showExtensionConfig($extname, $extconf) { /* {{{ */
|
||||||
|
$dms = $this->params['dms'];
|
||||||
|
$settings = $this->params['settings'];
|
||||||
|
|
||||||
|
foreach($extconf['config'] as $confkey=>$conf) {
|
||||||
|
ob_start();
|
||||||
|
if($this->isVisible($extname.'|'.$confkey)) {
|
||||||
|
switch($conf['type']) {
|
||||||
|
case 'checkbox':
|
||||||
|
?>
|
||||||
|
<input type="hidden" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" value=""><input type="checkbox" id="extension_<?= $extname ?>_<?= $confkey ?>" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" value="1" <?php if(isset($settings->_extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> />
|
||||||
|
<?php
|
||||||
|
break;
|
||||||
|
case 'select':
|
||||||
|
$allowempty = empty($conf['allow_empty']) ? false : $conf['allow_empty'];
|
||||||
|
$multiple = empty($conf['multiple']) ? false : $conf['multiple'];
|
||||||
|
$order = empty($conf['order']) ? '' : $conf['order'];
|
||||||
|
if(!empty($conf['options'])) {
|
||||||
|
$selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
|
||||||
|
echo "<select id=\"extension_".$extname."_".$confkey."\" class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "").($order ? " order=\"".$order."\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".($multiple ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_option")."\" style=\"width: 100%;\">";
|
||||||
|
if(is_array($conf['options'])) {
|
||||||
|
$options = $conf['options'];
|
||||||
|
} elseif(is_string($conf['options']) && $conf['options'] == 'hook') {
|
||||||
|
$options = $this->callHook('getOptions', $confkey, $extname, $extconf);
|
||||||
|
} else {
|
||||||
|
$options = [];
|
||||||
|
}
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
foreach($options as $key=>$opt) {
|
||||||
|
echo "<option value=\"".$key."\"";
|
||||||
|
if(in_array($key, $selections))
|
||||||
|
echo " selected";
|
||||||
|
if(is_array($opt)) {
|
||||||
|
echo " data-subtitle=\"".htmlspecialchars($opt['subtitle'])."\">".htmlspecialchars($opt['value']);
|
||||||
|
} else {
|
||||||
|
echo ">".htmlspecialchars(getMLText($extname.'_'.$opt, array(), $opt));
|
||||||
|
}
|
||||||
|
echo "</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
} elseif(!empty($conf['internal'])) {
|
||||||
|
$selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
|
||||||
|
switch($conf['internal']) {
|
||||||
|
case "categories":
|
||||||
|
$categories = $dms->getDocumentCategories();
|
||||||
|
if($categories) {
|
||||||
|
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".($multiple ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_category")."\" style=\"width: 100%;\">";
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
foreach($categories as $category) {
|
||||||
|
echo "<option value=\"".$category->getID()."\"";
|
||||||
|
if(in_array($category->getID(), $selections))
|
||||||
|
echo " selected";
|
||||||
|
echo ">".htmlspecialchars($category->getName())."</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "users":
|
||||||
|
$users = $dms->getAllUsers();
|
||||||
|
if($users) {
|
||||||
|
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_user")."\" style=\"width: 100%;\">";
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
foreach($users as $curuser) {
|
||||||
|
echo "<option value=\"".$curuser->getID()."\"";
|
||||||
|
if(in_array($curuser->getID(), $selections))
|
||||||
|
echo " selected";
|
||||||
|
echo ">".htmlspecialchars($curuser->getLogin()." - ".$curuser->getFullName())."</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "groups":
|
||||||
|
$recs = $dms->getAllGroups();
|
||||||
|
if($recs) {
|
||||||
|
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_group")."\" style=\"width: 100%;\">";
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
foreach($recs as $rec) {
|
||||||
|
echo "<option value=\"".$rec->getID()."\"";
|
||||||
|
if(in_array($rec->getID(), $selections))
|
||||||
|
echo " selected";
|
||||||
|
echo ">".htmlspecialchars($rec->getName())."</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "attributedefinitions":
|
||||||
|
$objtype = empty($conf['objtype']) ? 0 : $conf['objtype'];
|
||||||
|
$attrtype = empty($conf['attrtype']) ? 0 : $conf['attrtype'];
|
||||||
|
$order = empty($conf['order']) ? '' : $conf['order'];
|
||||||
|
$recs = $dms->getAllAttributeDefinitions($objtype, $attrtype);
|
||||||
|
if($recs) {
|
||||||
|
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "").($order ? " order=\"".$order."\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\" style=\"width: 100%;\">";
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
if($order == 'keep') {
|
||||||
|
foreach($selections as $selid) {
|
||||||
|
if($rec = $dms->getAttributeDefinition($selid)) {
|
||||||
|
echo "<option value=\"".$rec->getID()."\" selected data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
foreach($recs as $rec) {
|
||||||
|
if($order == 'keep' && in_array($rec->getID(), $selections))
|
||||||
|
continue;
|
||||||
|
echo "<option value=\"".$rec->getID()."\"";
|
||||||
|
if(in_array($rec->getID(), $selections))
|
||||||
|
echo " selected";
|
||||||
|
echo " data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
} else {
|
||||||
|
printMLText('no_attribute_definitions');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "workflows":
|
||||||
|
$recs = $dms->getAllWorkflows();
|
||||||
|
if($recs) {
|
||||||
|
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\" style=\"width: 100%;\">";
|
||||||
|
if($allowempty)
|
||||||
|
echo "<option value=\"\"></option>";
|
||||||
|
foreach($recs as $rec) {
|
||||||
|
echo "<option value=\"".$rec->getID()."\"";
|
||||||
|
if(in_array($rec->getID(), $selections))
|
||||||
|
echo " selected";
|
||||||
|
echo ">".htmlspecialchars($rec->getName())."</option>";
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
} else {
|
||||||
|
printMLText('no_workflows');
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "folders":
|
||||||
|
$this->formField(null, $this->getFolderChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getFolder($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
|
||||||
|
break;
|
||||||
|
case "folderlist":
|
||||||
|
echo "<select class=\"chzn-select-folder\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\" style=\"width: 100%;\">";
|
||||||
|
if($selections) {
|
||||||
|
foreach ($selections as $selid) {
|
||||||
|
if ($f = $dms->getFolder($selid)) {
|
||||||
|
echo "<option value=\"".$f->getID()."\"";
|
||||||
|
echo " selected";
|
||||||
|
echo ">".htmlspecialchars($f->getName())."</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
echo "</select>";
|
||||||
|
break;
|
||||||
|
case "documents":
|
||||||
|
$this->formField(null, $this->getDocumentChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getDocument($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'hook':
|
||||||
|
echo $this->callHook('showConfig', $confkey, $extname, $extconf);
|
||||||
|
break;
|
||||||
|
case "date":
|
||||||
|
$this->formField(
|
||||||
|
null,
|
||||||
|
$this->getDateChooser((isset($settings->_extensions[$extname][$confkey]) ? getReadableDate($settings->_extensions[$extname][$confkey]) : ''), "extensions[".$extname."][".$confkey."]", $this->params['session']->getLanguage())
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->showTextField("extensions[".$extname."][".$confkey."]", isset($settings->_extensions[$extname][$confkey]) ? $settings->_extensions[$extname][$confkey] : '', isset($conf['type']) ? $conf['type'] : '', isset($conf['placeholder']) ? $conf['placeholder'] : '');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo getMLText('settings_conf_field_not_editable');
|
||||||
|
}
|
||||||
|
$html = ob_get_clean();
|
||||||
|
$this->showConfigPlain($conf['title'], isset($conf['help']) ? $conf['help'] : '', $html);
|
||||||
|
}
|
||||||
|
} /* }}} */
|
||||||
|
|
||||||
public function js() { /* {{{ */
|
public function js() { /* {{{ */
|
||||||
$extmgr = $this->params['extmgr'];
|
$extmgr = $this->params['extmgr'];
|
||||||
|
|
||||||
|
@ -385,9 +563,36 @@ console.log($(event.currentTarget).data('target').substring(1));
|
||||||
public function extension() { /* {{{ */
|
public function extension() { /* {{{ */
|
||||||
$dms = $this->params['dms'];
|
$dms = $this->params['dms'];
|
||||||
$user = $this->params['user'];
|
$user = $this->params['user'];
|
||||||
|
$extname = $this->params['extname'];
|
||||||
$settings = $this->params['settings'];
|
$settings = $this->params['settings'];
|
||||||
$extmgr = $this->params['extmgr'];
|
$extmgr = $this->params['extmgr'];
|
||||||
|
|
||||||
|
$extconf = $extmgr->getExtensionConfiguration()[$extname];
|
||||||
|
?>
|
||||||
|
<form action="../op/op.Settings.php" method="post" enctype="multipart/form-data" id="formconfig" name="formconfig" >
|
||||||
|
<?php echo createHiddenFieldWithKey('savesettings'); ?>
|
||||||
|
<input type="hidden" name="action" value="saveSettings" />
|
||||||
|
<?php
|
||||||
|
if($this->hasHook('processConfig')) {
|
||||||
|
$ttt = $this->callHook('processConfig', $extname, $extconf);
|
||||||
|
if($ttt)
|
||||||
|
$extconf = $ttt;
|
||||||
|
}
|
||||||
|
if($this->isVisible($extname.'|')) {
|
||||||
|
if($extconf['config']) {
|
||||||
|
// $this->showRawConfigHeadline("<p><a id=\"".$extname."\" name=\"".$extname."\"></a>".'<input type="hidden" name="extensions['.$extname.'][__disable__]" value="'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? '1' : '').'" /><i class="fa fa-circle'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? ' disabled' : ' enabled').'"></i> <span title="'.$extname.'">'.$extconf['title'].'</span></p>');
|
||||||
|
$this->showExtensionConfig($extname, $extconf);
|
||||||
|
} else {
|
||||||
|
/* Even no configuration exists, output the input field to enable/disable
|
||||||
|
* the extension. Otherwise it will be enabled each time the config is
|
||||||
|
* saved.
|
||||||
|
*/
|
||||||
|
echo '<input type="hidden" name="extensions['.$extname.'][__disable__]" value="'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? '1' : '').'" />'."\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</form>
|
||||||
|
<?php
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
|
|
||||||
public function show() { /* {{{ */
|
public function show() { /* {{{ */
|
||||||
|
@ -726,177 +931,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
|
||||||
if($this->isVisible($extname.'|')) {
|
if($this->isVisible($extname.'|')) {
|
||||||
if($extconf['config']) {
|
if($extconf['config']) {
|
||||||
$this->showRawConfigHeadline("<a id=\"".$extname."\" name=\"".$extname."\"></a>".'<input type="hidden" name="extensions['.$extname.'][__disable__]" value="'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? '1' : '').'" /><i class="fa fa-circle'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? ' disabled' : ' enabled').'"></i> <span title="'.$extname.'">'.$extconf['title'].'</span>');
|
$this->showRawConfigHeadline("<a id=\"".$extname."\" name=\"".$extname."\"></a>".'<input type="hidden" name="extensions['.$extname.'][__disable__]" value="'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? '1' : '').'" /><i class="fa fa-circle'.(isset($settings->_extensions[$extname]["__disable__"]) && $settings->_extensions[$extname]["__disable__"] ? ' disabled' : ' enabled').'"></i> <span title="'.$extname.'">'.$extconf['title'].'</span>');
|
||||||
foreach($extconf['config'] as $confkey=>$conf) {
|
$this->showExtensionConfig($extname, $extconf);
|
||||||
ob_start();
|
|
||||||
if($this->isVisible($extname.'|'.$confkey)) {
|
|
||||||
switch($conf['type']) {
|
|
||||||
case 'checkbox':
|
|
||||||
?>
|
|
||||||
<input type="hidden" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" value=""><input type="checkbox" id="extension_<?= $extname ?>_<?= $confkey ?>" name="<?php echo "extensions[".$extname."][".$confkey."]"; ?>" value="1" <?php if(isset($settings->_extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> />
|
|
||||||
<?php
|
|
||||||
break;
|
|
||||||
case 'select':
|
|
||||||
$allowempty = empty($conf['allow_empty']) ? false : $conf['allow_empty'];
|
|
||||||
$multiple = empty($conf['multiple']) ? false : $conf['multiple'];
|
|
||||||
$order = empty($conf['order']) ? '' : $conf['order'];
|
|
||||||
if(!empty($conf['options'])) {
|
|
||||||
$selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
|
|
||||||
echo "<select id=\"extension_".$extname."_".$confkey."\" class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "").($order ? " order=\"".$order."\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".($multiple ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_option")."\" style=\"width: 100%;\">";
|
|
||||||
if(is_array($conf['options'])) {
|
|
||||||
$options = $conf['options'];
|
|
||||||
} elseif(is_string($conf['options']) && $conf['options'] == 'hook') {
|
|
||||||
$options = $this->callHook('getOptions', $confkey, $extname, $extconf);
|
|
||||||
} else {
|
|
||||||
$options = [];
|
|
||||||
}
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
foreach($options as $key=>$opt) {
|
|
||||||
echo "<option value=\"".$key."\"";
|
|
||||||
if(in_array($key, $selections))
|
|
||||||
echo " selected";
|
|
||||||
if(is_array($opt)) {
|
|
||||||
echo " data-subtitle=\"".htmlspecialchars($opt['subtitle'])."\">".htmlspecialchars($opt['value']);
|
|
||||||
} else {
|
|
||||||
echo ">".htmlspecialchars(getMLText($extname.'_'.$opt, array(), $opt));
|
|
||||||
}
|
|
||||||
echo "</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
} elseif(!empty($conf['internal'])) {
|
|
||||||
$selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]);
|
|
||||||
switch($conf['internal']) {
|
|
||||||
case "categories":
|
|
||||||
$categories = $dms->getDocumentCategories();
|
|
||||||
if($categories) {
|
|
||||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".($multiple ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_category")."\" style=\"width: 100%;\">";
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
foreach($categories as $category) {
|
|
||||||
echo "<option value=\"".$category->getID()."\"";
|
|
||||||
if(in_array($category->getID(), $selections))
|
|
||||||
echo " selected";
|
|
||||||
echo ">".htmlspecialchars($category->getName())."</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "users":
|
|
||||||
$users = $dms->getAllUsers();
|
|
||||||
if($users) {
|
|
||||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_user")."\" style=\"width: 100%;\">";
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
foreach($users as $curuser) {
|
|
||||||
echo "<option value=\"".$curuser->getID()."\"";
|
|
||||||
if(in_array($curuser->getID(), $selections))
|
|
||||||
echo " selected";
|
|
||||||
echo ">".htmlspecialchars($curuser->getLogin()." - ".$curuser->getFullName())."</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "groups":
|
|
||||||
$recs = $dms->getAllGroups();
|
|
||||||
if($recs) {
|
|
||||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_group")."\" style=\"width: 100%;\">";
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
foreach($recs as $rec) {
|
|
||||||
echo "<option value=\"".$rec->getID()."\"";
|
|
||||||
if(in_array($rec->getID(), $selections))
|
|
||||||
echo " selected";
|
|
||||||
echo ">".htmlspecialchars($rec->getName())."</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "attributedefinitions":
|
|
||||||
$objtype = empty($conf['objtype']) ? 0 : $conf['objtype'];
|
|
||||||
$attrtype = empty($conf['attrtype']) ? 0 : $conf['attrtype'];
|
|
||||||
$order = empty($conf['order']) ? '' : $conf['order'];
|
|
||||||
$recs = $dms->getAllAttributeDefinitions($objtype, $attrtype);
|
|
||||||
if($recs) {
|
|
||||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "").($order ? " order=\"".$order."\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attrdef")."\" data-no_results_text=\"".getMLText('unknown_attrdef')."\" style=\"width: 100%;\">";
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
if($order == 'keep') {
|
|
||||||
foreach($selections as $selid) {
|
|
||||||
if($rec = $dms->getAttributeDefinition($selid)) {
|
|
||||||
echo "<option value=\"".$rec->getID()."\" selected data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
foreach($recs as $rec) {
|
|
||||||
if($order == 'keep' && in_array($rec->getID(), $selections))
|
|
||||||
continue;
|
|
||||||
echo "<option value=\"".$rec->getID()."\"";
|
|
||||||
if(in_array($rec->getID(), $selections))
|
|
||||||
echo " selected";
|
|
||||||
echo " data-subtitle=\"".htmlspecialchars(getAttributeObjectTypeText($rec).", ".getAttributeTypeText($rec))."\">".htmlspecialchars($rec->getName())."</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
} else {
|
|
||||||
printMLText('no_attribute_definitions');
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "workflows":
|
|
||||||
$recs = $dms->getAllWorkflows();
|
|
||||||
if($recs) {
|
|
||||||
echo "<select class=\"chzn-select\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\" style=\"width: 100%;\">";
|
|
||||||
if($allowempty)
|
|
||||||
echo "<option value=\"\"></option>";
|
|
||||||
foreach($recs as $rec) {
|
|
||||||
echo "<option value=\"".$rec->getID()."\"";
|
|
||||||
if(in_array($rec->getID(), $selections))
|
|
||||||
echo " selected";
|
|
||||||
echo ">".htmlspecialchars($rec->getName())."</option>";
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
} else {
|
|
||||||
printMLText('no_workflows');
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case "folders":
|
|
||||||
$this->formField(null, $this->getFolderChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getFolder($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
|
|
||||||
break;
|
|
||||||
case "folderlist":
|
|
||||||
echo "<select class=\"chzn-select-folder\"".($allowempty ? " data-allow-clear=\"true\"" : "")." name=\"extensions[".$extname."][".$confkey."][]\"".(!empty($conf['multiple']) ? " multiple" : "").(!empty($conf['size']) ? " size=\"".$conf['size']."\"" : "")." data-placeholder=\"".getMLText("select_attribute_value")."\" style=\"width: 100%;\">";
|
|
||||||
if($selections) {
|
|
||||||
foreach ($selections as $selid) {
|
|
||||||
if ($f = $dms->getFolder($selid)) {
|
|
||||||
echo "<option value=\"".$f->getID()."\"";
|
|
||||||
echo " selected";
|
|
||||||
echo ">".htmlspecialchars($f->getName())."</option>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
echo "</select>";
|
|
||||||
break;
|
|
||||||
case "documents":
|
|
||||||
$this->formField(null, $this->getDocumentChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getDocument($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]"));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 'hook':
|
|
||||||
echo $this->callHook('showConfig', $confkey, $extname, $extconf);
|
|
||||||
break;
|
|
||||||
case "date":
|
|
||||||
$this->formField(
|
|
||||||
null,
|
|
||||||
$this->getDateChooser((isset($settings->_extensions[$extname][$confkey]) ? getReadableDate($settings->_extensions[$extname][$confkey]) : ''), "extensions[".$extname."][".$confkey."]", $this->params['session']->getLanguage())
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$this->showTextField("extensions[".$extname."][".$confkey."]", isset($settings->_extensions[$extname][$confkey]) ? $settings->_extensions[$extname][$confkey] : '', isset($conf['type']) ? $conf['type'] : '', isset($conf['placeholder']) ? $conf['placeholder'] : '');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
echo getMLText('settings_conf_field_not_editable');
|
|
||||||
}
|
|
||||||
$html = ob_get_clean();
|
|
||||||
$this->showConfigPlain($conf['title'], isset($conf['help']) ? $conf['help'] : '', $html);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
/* Even no configuration exists, output the input field to enable/disable
|
/* Even no configuration exists, output the input field to enable/disable
|
||||||
* the extension. Otherwise it will be enabled each time the config is
|
* the extension. Otherwise it will be enabled each time the config is
|
||||||
|
|
|
@ -363,6 +363,7 @@ $(document).ready( function() {
|
||||||
}); /* }}} */
|
}); /* }}} */
|
||||||
|
|
||||||
$('body').on('click', '[data-toggle="modal"]', function(ev){ /* {{{ */
|
$('body').on('click', '[data-toggle="modal"]', function(ev){ /* {{{ */
|
||||||
|
setTimeout(function(){initMost();}, 500);
|
||||||
/* Also set the title */
|
/* Also set the title */
|
||||||
if($(this).data("modal-title"))
|
if($(this).data("modal-title"))
|
||||||
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
|
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
|
||||||
|
|
|
@ -1547,12 +1547,12 @@ function getOverallStatusIcon($status) { /* {{{ */
|
||||||
function getModalBox($config) { /* {{{ */
|
function getModalBox($config) { /* {{{ */
|
||||||
$content = '';
|
$content = '';
|
||||||
$content .= '
|
$content .= '
|
||||||
<div class="modal fade" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label" aria-hidden="true">
|
<div class="modal fade" id="'.$config['id'].'" tabindex="-1" role="dialog" aria-labelledby="'.$config['id'].'Label">
|
||||||
<div class="modal-dialog modal-lg" role="document">
|
<div class="modal-dialog modal-lg" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h3 id="'.$config['id'].'Label">'.$config['title'].'</h3>
|
<h3 id="'.$config['id'].'Label">'.$config['title'].'</h3>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
';
|
';
|
||||||
|
@ -1566,7 +1566,7 @@ function getOverallStatusIcon($status) { /* {{{ */
|
||||||
';
|
';
|
||||||
if($config['buttons']) {
|
if($config['buttons']) {
|
||||||
foreach($config['buttons'] as $button)
|
foreach($config['buttons'] as $button)
|
||||||
$content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': ' btn-secondary" ').' data-dismiss="modal" aria-hidden="true">'.$button['title'].'</button>';
|
$content .= '<button class="btn'.(!empty($button['id']) ? ' btn-primary" id="'.$button['id'].'"': ' btn-secondary" ').' data-dismiss="modal">'.$button['title'].'</button>';
|
||||||
}
|
}
|
||||||
$content .= '
|
$content .= '
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -396,7 +396,7 @@ $(document).ready( function() {
|
||||||
$('body').on('click', '[data-toggle="modal"]', function(ev){ /* {{{ */
|
$('body').on('click', '[data-toggle="modal"]', function(ev){ /* {{{ */
|
||||||
ev.preventDefault();
|
ev.preventDefault();
|
||||||
if($(this).data("remote"))
|
if($(this).data("remote"))
|
||||||
$($(this).data("target")+' .modal-body').load($(this).data("remote"));
|
$($(this).data("target")+' .modal-body').load($(this).data("remote"), function() {setTimeout(function(){initMost();}, 500);});
|
||||||
/* Also set the title */
|
/* Also set the title */
|
||||||
if($(this).data("modal-title"))
|
if($(this).data("modal-title"))
|
||||||
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
|
$($(this).data("target")+' .modal-header h3').html($(this).data("modal-title"));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user