mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-13 05:01:43 +00:00
allow to set config of extension only
This commit is contained in:
parent
073948d4c3
commit
1bff379d84
|
@ -332,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, $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'];
|
||||||
|
|
||||||
|
@ -386,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() { /* {{{ */
|
||||||
|
@ -704,177 +908,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, $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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user