mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-11 12:11:19 +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
|
||||
} /* }}} */
|
||||
|
||||
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() { /* {{{ */
|
||||
$extmgr = $this->params['extmgr'];
|
||||
|
||||
|
@ -386,9 +563,36 @@ console.log($(event.currentTarget).data('target').substring(1));
|
|||
public function extension() { /* {{{ */
|
||||
$dms = $this->params['dms'];
|
||||
$user = $this->params['user'];
|
||||
$extname = $this->params['extname'];
|
||||
$settings = $this->params['settings'];
|
||||
$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() { /* {{{ */
|
||||
|
@ -704,177 +908,7 @@ if(($kkk = $this->callHook('getFullSearchEngine')) && is_array($kkk))
|
|||
if($this->isVisible($extname.'|')) {
|
||||
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>');
|
||||
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);
|
||||
}
|
||||
$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
|
||||
|
|
Loading…
Reference in New Issue
Block a user