* @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ /** * Include parent class */ require_once("class.Bootstrap.php"); /** * Class which outputs the html page for Settings view * * @category DMS * @package SeedDMS * @author Markus Westphal, Malcolm Cowe, Uwe Steinmann * @copyright Copyright (C) 2002-2005 Markus Westphal, * 2006-2008 Malcolm Cowe, 2010 Matteo Lucarelli, * 2010-2012 Uwe Steinmann * @version Release: @package_version@ */ class SeedDMS_View_Settings extends SeedDMS_Bootstrap_Style { protected function showPaneHeader($name, $title, $isactive) { /* {{{ */ echo '
  • '.$title.'
  • '."\n"; } /* }}} */ protected function showStartPaneContent($name, $isactive) { /* {{{ */ echo '
    '; $this->contentContainerStart(); echo ''; } /* }}} */ protected function showEndPaneContent($name, $currentab) { /* {{{ */ echo '
    '; $this->contentContainerEnd(); echo '
    '; } /* }}} */ protected function getTextField($name, $value, $type='', $placeholder='') { /* {{{ */ $html = ''; if($type != 'password' && strlen($value) > 80) $html .= ''; else { if(strlen($value) > 40) $class = 'input-xxlarge'; elseif(strlen($value) > 30) $class = 'input-xlarge'; elseif(strlen($value) > 18) $class = 'input-large'; elseif(strlen($value) > 12) $class = 'input-medium'; else $class = 'input-small'; $html .= ''; } return $html; } /* }}} */ protected function showTextField($name, $value, $type='', $placeholder='') { /* {{{ */ echo $this->getTextField($name, $value, $type, $placeholder); } /* }}} */ /** * Place arbitrary html in a headline * * @param string $text html code to be shown as headline */ protected function showRawConfigHeadline($text) { /* {{{ */ ?> showRawConfigHeadline(htmlspecialchars(getMLText($title))); } /* }}} */ /** * Show a text input configuration option * * @param string $title title of the option * @param string $name name of html input field * @param string $type can be 'password', 'array' * @param string $placeholder placeholder for input field */ protected function showConfigText($title, $name, $type='', $placeholder='') { /* {{{ */ $settings = $this->params['settings']; ?> "> : arrayToString($settings->{"_".$name}); else $value = $settings->{"_".$name}; ?> showTextField($name, $value, ($type=='password' ? 'password' : ''), $placeholder); ?> params['settings']; ?> : params['settings']; ?> "> : {"_".$name}) echo "checked" ?> /> params['settings']; $isass = count(array_filter(array_keys($values), 'is_string')) > 0; // var_dump($values); // echo $isass ? 'asso' : 'indexed'; ?> "> : $value) { $optval = trim($isass ? $i : $value); echo ''; } ?> $(document).ready( function() { $('#settingstab li a').click(function(event) { $('#currenttab').val($(event.currentTarget).data('target').substring(1)); }); $('a.sendtestmail').click(function(ev){ ev.preventDefault(); $.ajax({url: '../op/op.Ajax.php', type: 'GET', dataType: "json", data: {command: 'testmail'}, success: function(data) { noty({ text: data.msg, type: (data.error) ? 'error' : 'success', dismissQueue: true, layout: 'topRight', theme: 'defaultTheme', timeout: 1500, }); if(data.data) { $('#maildebug').text(data.data); } } }); }); }); $extconf) { if($extconf['config']) { foreach($extconf['config'] as $confkey=>$conf) { switch($conf['type']) { case 'select': if(!empty($conf['internal'])) { switch($conf['internal']) { case "folders": $this->printFolderChooserJs("form".$extname.$confkey); break; } } break; } } } } } /* }}} */ function show() { /* {{{ */ $dms = $this->params['dms']; $user = $this->params['user']; $settings = $this->params['settings']; $currenttab = $this->params['currenttab']; $this->htmlStartPage(getMLText("admin_tools")); $this->globalNavigation(); $this->contentStart(); $this->pageNavigation(getMLText("admin_tools"), "admin_tools"); $this->contentHeading(getMLText("settings")); ?>
    _configFilePath)) { print "
    "; echo "

    ".getMLText("settings_notwritable")."

    "; print "
    "; } ?>
    showStartPaneContent('site', (!$currenttab || $currenttab == 'site')); ?> showConfigHeadline('settings_Display'); ?> showConfigText('settings_siteName', 'siteName'); ?> showConfigText('settings_footNote', 'footNote'); ?> showConfigCheckbox('settings_printDisclaimer', 'printDisclaimer'); ?> showConfigOption('settings_available_languages', 'availablelanguages', getAvailableLanguages(), true, true); ?> showConfigOption('settings_language', 'language', getAvailableLanguages(), false, true); ?> showConfigOption('settings_theme', 'theme', UI::getStyles(), false, false); ?> showConfigCheckbox('settings_onePageMode', 'onePageMode'); ?> showConfigText('settings_previewWidthList', 'previewWidthList'); ?> showConfigText('settings_previewWidthMenuList', 'previewWidthMenuList'); ?> showConfigText('settings_previewWidthDropFolderList', 'previewWidthDropFolderList'); ?> showConfigText('settings_previewWidthDetail', 'previewWidthDetail'); ?> showConfigCheckbox('settings_showFullPreview', 'showFullPreview'); ?> showConfigCheckbox('settings_convertToPdf', 'convertToPdf'); ?> showConfigText('settings_maxItemsPerPage', 'maxItemsPerPage'); ?> showConfigText('settings_incItemsPerPage', 'incItemsPerPage'); ?> showConfigHeadline('settings_Edition'); ?> showConfigCheckbox('settings_strictFormCheck', 'strictFormCheck'); ?> showConfigText('settings_viewOnlineFileTypes', 'viewOnlineFileTypes', 'array'); ?> showConfigText('settings_editOnlineFileTypes', 'editOnlineFileTypes', 'array'); ?> showConfigCheckbox('settings_enableConverting', 'enableConverting'); ?> showConfigCheckbox('settings_enableEmail', 'enableEmail'); ?> showConfigCheckbox('settings_enableUsersView', 'enableUsersView'); ?> showConfigCheckbox('settings_enableFullSearch', 'enableFullSearch'); ?> showConfigText('settings_maxSizeForFullText', 'maxSizeForFullText'); ?> showConfigOption('settings_fullSearchEngine', 'fullSearchEngine', array('lucene'=>'settings_fullSearchEngine_vallucene', 'sqlitefts'=>'settings_fullSearchEngine_valsqlitefts'), false, true); ?> showConfigOption('settings_defaultSearchMethod', 'defaultSearchMethod', array('database'=>'settings_defaultSearchMethod_valdatabase', 'fulltext'=>'settings_defaultSearchMethod_valfulltext'), false, true); ?> showConfigCheckbox('settings_showSingleSearchHit', 'showSingleSearchHit'); ?> showConfigText('settings_stopWordsFile', 'stopWordsFile'); ?> showConfigCheckbox('settings_enableClipboard', 'enableClipboard'); ?> showConfigCheckbox('settings_enableMenuTasks', 'enableMenuTasks'); ?> showConfigCheckbox('settings_enableDropFolderList', 'enableDropFolderList'); ?> showConfigCheckbox('settings_enableSessionList', 'enableSessionList'); ?> showConfigCheckbox('settings_enableDropUpload', 'enableDropUpload'); ?> showConfigCheckbox('settings_enableMultiUpload', 'enableMultiUpload'); ?> showConfigCheckbox('settings_enableFolderTree', 'enableFolderTree'); ?> showConfigOption('settings_expandFolderTree', 'expandFolderTree', array(' 0'=>'settings_expandFolderTree_val0', ' 1'=>'settings_expandFolderTree_val1', ' 2'=>'settings_expandFolderTree_val2'), false, true); ?> showConfigCheckbox('settings_enableRecursiveCount', 'enableRecursiveCount'); ?> showConfigText('settings_maxRecursiveCount', 'maxRecursiveCount'); ?> showConfigCheckbox('settings_enableLanguageSelector', 'enableLanguageSelector'); ?> showConfigCheckbox('settings_enableHelp', 'enableHelp'); ?> showConfigCheckbox('settings_enableThemeSelector', 'enableThemeSelector'); ?> showConfigOption('settings_sortUsersInList', 'sortUsersInList', array(' '=>'settings_sortUsersInList_val_login', 'fullname'=>'settings_sortUsersInList_val_fullname'), false, true); ?> showConfigOption('settings_sortFoldersDefault', 'sortFoldersDefault', array('u'=>'settings_sortFoldersDefault_val_unsorted', 's'=>'settings_sortFoldersDefault_val_sequence', 'n'=>'settings_sortFoldersDefault_val_name'), false, true); ?> showConfigOption('settings_defaultDocPosition', 'defaultDocPosition', array('end'=>'settings_defaultDocPosition_val_end', 'start'=>'settings_defaultDocPosition_val_start'), false, true); ?> showConfigHeadline('settings_webdav'); ?> showConfigCheckbox('settings_enableWebdavReplaceDoc', 'enableWebdavReplaceDoc'); ?> showConfigHeadline('settings_Calendar'); ?> showConfigCheckbox('settings_enableCalendar', 'enableCalendar'); ?> showConfigOption('settings_calendarDefaultView', 'calendarDefaultView', array('w'=>'week_view', 'm'=>'month_view', 'y'=>'year_view'), false, true); ?> showConfigOption('settings_firstDayOfWeek', 'firstDayOfWeek', array(' 0'=>'sunday', ' 1'=>'monday', ' 2'=>'tuesday', ' 3'=>'wednesday', ' 4'=>'thursday', ' 5'=>'friday', ' 6'=>'saturday'), false, true); ?> showEndPaneContent('site', $currenttab); $this->showStartPaneContent('system', $currenttab == 'system'); ?> showConfigHeadline('settings_Server'); ?> showConfigText('settings_rootDir', 'rootDir'); ?> showConfigText('settings_httpRoot', 'httpRoot'); ?> showConfigText('settings_contentDir', 'contentDir'); ?> showConfigText('settings_backupDir', 'backupDir'); ?> showConfigText('settings_cacheDir', 'cacheDir'); ?> showConfigText('settings_stagingDir', 'stagingDir'); ?> showConfigText('settings_luceneDir', 'luceneDir'); ?> showConfigText('settings_dropFolderDir', 'dropFolderDir'); ?> showConfigText('settings_repositoryUrl', 'repositoryUrl'); ?> showConfigCheckbox('settings_logFileEnable', 'logFileEnable'); ?> showConfigOption('settings_logFileRotation', 'logFileRotation', array('h'=>'hourly', 'd'=>'daily', 'm'=>'monthly'), false, true); ?> showConfigCheckbox('settings_enableLargeFileUpload', 'enableLargeFileUpload'); ?> showConfigText('settings_partitionSize', 'partitionSize'); ?> showConfigText('settings_maxUploadSize', 'maxUploadSize'); ?> showConfigCheckbox('settings_enableXsendfile', 'enableXsendfile'); ?> showConfigHeadline('settings_Authentication'); ?> showConfigCheckbox('settings_enableGuestLogin', 'enableGuestLogin'); ?> showConfigCheckbox('settings_enableGuestAutoLogin', 'enableGuestAutoLogin'); ?> showConfigCheckbox('settings_restricted', 'restricted'); ?> showConfigCheckbox('settings_enableUserImage', 'enableUserImage'); ?> showConfigCheckbox('settings_disableSelfEdit', 'disableSelfEdit'); ?> showConfigCheckbox('settings_enablePasswordForgotten', 'enablePasswordForgotten'); ?> showConfigText('settings_passwordStrength', 'passwordStrength'); ?> showConfigOption('settings_passwordStrengthAlgorithm', 'passwordStrengthAlgorithm', array('simple'=>'settings_passwordStrengthAlgorithm_valsimple', 'advanced'=>'settings_passwordStrengthAlgorithm_valadvanced'), false, true); ?> showConfigText('settings_passwordExpiration', 'passwordExpiration'); ?> showConfigText('settings_passwordHistory', 'passwordHistory'); ?> showConfigText('settings_loginFailure', 'loginFailure'); ?> showConfigText('settings_autoLoginUser', 'autoLoginUser'); ?> showConfigText('settings_quota', 'quota'); ?> showConfigText('settings_undelUserIds', 'undelUserIds'); ?> showConfigText('settings_encryptionKey', 'encryptionKey'); ?> showConfigText('settings_cookieLifetime', 'cookieLifetime'); ?> showConfigOption('settings_defaultAccessDocs', 'defaultAccessDocs', array(' 0'=>'inherited', ' '.M_NONE=>'access_mode_none', ' '.M_READ=>'access_mode_read', ' '.M_READWRITE=>'access_mode_readwrite'), false, true); ?> showConfigHeadline('settings_Database'); ?> showConfigText('settings_dbDriver', 'dbDriver'); ?> showConfigText('settings_dbHostname', 'dbHostname'); ?> showConfigText('settings_dbDatabase', 'dbDatabase'); ?> showConfigText('settings_dbUser', 'dbUser'); ?> showConfigText('settings_dbPass', 'dbPass', 'password'); ?> showConfigHeadline('settings_SMTP'); ?> showConfigText('settings_smtpServer', 'smtpServer'); ?> showConfigText('settings_smtpPort', 'smtpPort'); ?> showConfigText('settings_smtpSendFrom', 'smtpSendFrom'); ?> showConfigText('settings_smtpUser', 'smtpUser'); ?> showConfigText('settings_smtpPassword', 'smtpPassword', 'password'); ?> showConfigPlain(htmlspecialchars(getMLText('settings_smtpSendTestMail')), htmlspecialchars(getMLText('settings_smtpSendTestMail_desc')), ''.getMLText('send_test_mail').'
    You will see debug messages here
    '); ?> showEndPaneContent('system', $currenttab); $this->showStartPaneContent('advanced', $currenttab == 'advanced'); ?> showConfigHeadline('settings_Display'); ?> showConfigText('settings_siteDefaultPage', 'siteDefaultPage'); ?> showConfigText('settings_rootFolderID', 'rootFolderID'); ?> showConfigCheckbox('settings_titleDisplayHack', 'titleDisplayHack'); ?> showConfigCheckbox('settings_showMissingTranslations', 'showMissingTranslations'); ?> showConfigHeadline('settings_Authentication'); ?> showConfigText('settings_guestID', 'guestID'); ?> showConfigText('settings_adminIP', 'adminIP'); ?> showConfigHeadline('settings_Edition'); ?> showConfigOption('settings_workflowMode', 'workflowMode', array('traditional'=>'settings_workflowMode_valtraditional', 'traditional_only_approval'=>'settings_workflowMode_valtraditional_only_approval', 'advanced'=>'settings_workflowMode_valadvanced'), false, true); ?> showConfigText('settings_versioningFileName', 'versioningFileName'); ?> showConfigText('settings_presetExpirationDate', 'presetExpirationDate'); ?> showConfigCheckbox('settings_allowReviewerOnly', 'allowReviewerOnly'); ?> showConfigCheckbox('settings_enableAdminRevApp', 'enableAdminRevApp'); ?> showConfigCheckbox('settings_enableOwnerRevApp', 'enableOwnerRevApp'); ?> showConfigCheckbox('settings_enableSelfRevApp', 'enableSelfRevApp'); ?> showConfigCheckbox('settings_enableUpdateRevApp', 'enableUpdateRevApp'); ?> showConfigCheckbox('settings_enableVersionDeletion', 'enableVersionDeletion'); ?> showConfigCheckbox('settings_enableVersionModification', 'enableVersionModification'); ?> showConfigCheckbox('settings_enableDuplicateDocNames', 'enableDuplicateDocNames'); ?> showConfigCheckbox('settings_enableDuplicateSubFolderNames', 'enableDuplicateSubFolderNames'); ?> showConfigCheckbox('settings_overrideMimeType', 'overrideMimeType'); ?> showConfigCheckbox('settings_removeFromDropFolder', 'removeFromDropFolder'); ?> showConfigHeadline('settings_Notification'); ?> showConfigCheckbox('settings_enableOwnerNotification', 'enableOwnerNotification'); ?> showConfigCheckbox('settings_enableNotificationAppRev', 'enableNotificationAppRev'); ?> showConfigCheckbox('settings_enableNotificationWorkflow', 'enableNotificationWorkflow'); ?> showConfigHeadline('settings_Server'); ?> showConfigText('settings_coreDir', 'coreDir'); ?> showConfigText('settings_luceneClassDir', 'luceneClassDir'); ?> showConfigText('settings_extraPath', 'extraPath'); ?> showConfigText('settings_contentOffsetDir', 'contentOffsetDir'); ?> showConfigText('settings_maxDirID', 'maxDirID'); ?> showConfigText('settings_updateNotifyTime', 'updateNotifyTime'); ?> showConfigText('settings_maxExecutionTime', 'maxExecutionTime'); ?> showConfigText('settings_cmdTimeout', 'cmdTimeout'); ?> showConfigHeadline($target."_converters"); if(!empty($settings->_converters[$target])) { foreach($settings->_converters[$target] as $mimetype=>$cmd) { $this->showConfigPlain(htmlspecialchars($mimetype), htmlspecialchars($mimetype), $this->getTextField("converters[".$target."][".$mimetype."]", htmlspecialchars($cmd))); } } $this->showConfigPlain($this->getTextField("converters[".$target."][newmimetype]", "", '', getMLText('converter_new_mimetype')), '', $this->getTextField("converters[".$target."][newcmd]", "", "", getMLText('converter_new_cmd'))); } $this->showEndPaneContent('advanced', $currenttab); $this->showStartPaneContent('extensions', $currenttab == 'extensions'); ?> $extconf) { if($this->hasHook('processConfig')) $extconf = $this->callHook('processConfig', $extname, $extconf); if($extconf['config']) { $this->showRawConfigHeadline("".$extconf['title']); foreach($extconf['config'] as $confkey=>$conf) { ob_start(); switch($conf['type']) { case 'checkbox': ?> " value="1" _extensions[$extname][$confkey]) && $settings->_extensions[$extname][$confkey]) echo 'checked'; ?> /> _extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]); echo ""; } elseif(!empty($conf['internal'])) { $selections = empty($settings->_extensions[$extname][$confkey]) ? array() : explode(",", $settings->_extensions[$extname][$confkey]); $allowempty = empty($conf['allow_empty']) ? false : $conf['allow_empty']; switch($conf['internal']) { case "categories": $categories = $dms->getDocumentCategories(); if($categories) { echo ""; } break; case "users": $users = $dms->getAllUsers(); if($users) { echo ""; } break; case "groups": $recs = $dms->getAllGroups(); if($recs) { echo ""; } break; case "attributedefinitions": $recs = $dms->getAllAttributeDefinitions(); if($recs) { echo ""; } break; case "folders": $this->formField(null, $this->getFolderChooserHtml("form".$extname.$confkey, M_READ, -1, $selections ? $dms->getFolder($selections[0]) : 0, 'extensions['.$extname."][".$confkey."]")); break; } } break; case 'hook': echo $this->callHook('showConfig', $confkey, $extname, $extconf); 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'] : ''); } $html = ob_get_clean(); $this->showConfigPlain($conf['title'], isset($conf['help']) ? $conf['help'] : '', $html); } } } $this->showEndPaneContent('extensions', $currenttab); ?>
    _configFilePath)) { ?>
    contentEnd(); $this->htmlEndPage(); } /* }}} */ } ?>