public static function settings() { $content = array(); $form = new PHPWS_Form('user_settings'); $form->addHidden('module', 'users'); $form->addHidden('action', 'admin'); $form->addHidden('command', 'update_settings'); $form->addSubmit('submit', dgettext('users', 'Update Settings')); $form->addText('site_contact', PHPWS_User::getUserSetting('site_contact')); $form->setLabel('site_contact', dgettext('users', 'Site contact email')); $form->setSize('site_contact', 40); if (Current_User::isDeity()) { $signup_modes = array(0, AUTO_SIGNUP, CONFIRM_SIGNUP); $signup_labels = array(dgettext('users', 'Not allowed'), dgettext('users', 'Immediate'), dgettext('users', 'Email Verification')); $form->addRadio('user_signup', $signup_modes); $form->setLabel('user_signup', $signup_labels); $form->addTplTag('USER_SIGNUP_LABEL', dgettext('users', 'User Signup Mode')); $form->setMatch('user_signup', PHPWS_User::getUserSetting('new_user_method')); if (extension_loaded('gd')) { $form->addCheckbox('graphic_confirm'); $form->setLabel('graphic_confirm', dgettext('users', 'New user CAPTCHA confirmation')); $form->setMatch('graphic_confirm', PHPWS_User::getUserSetting('graphic_confirm')); } $included_usermenu = PHPWS_File::readDirectory(PHPWS_SOURCE_DIR . 'mod/users/templates/usermenus/', FALSE, TRUE, FALSE, array('tpl')); $theme_usermenu = PHPWS_File::readDirectory(PHPWS_SOURCE_DIR . Layout::getThemeDir() . 'templates/users/usermenus/', FALSE, TRUE, FALSE, array('tpl')); if ($theme_usermenu) { $options = array_unique(array_merge($included_usermenu, $theme_usermenu)); } else { $options = $included_usermenu; } $menu_options = array_combine($options, $options); // Replace below with a directory read $menu_options['none'] = dgettext('users', 'None'); $menu_options['css.tpl'] = 'css.tpl'; $menu_options['Default.tpl'] = 'Default.tpl'; $menu_options['top.tpl'] = 'top.tpl'; $form->addSelect('user_menu', $menu_options); $form->setMatch('user_menu', PHPWS_User::getUserSetting('user_menu')); $form->setLabel('user_menu', dgettext('users', 'User Menu')); $form->addCheckBox('show_login', 1); $form->setMatch('show_login', PHPWS_Settings::get('users', 'show_login')); $form->setLabel('show_login', dgettext('users', 'Show login box')); $form->addTplTag('AFFIRM', dgettext('users', 'Yes')); $form->addCheckBox('allow_remember', 1); $form->setMatch('allow_remember', PHPWS_Settings::get('users', 'allow_remember')); $form->setLabel('allow_remember', dgettext('users', 'Allow Remember Me')); $form->addRadioAssoc('allow_new_users', array(1 => 'Yes', 0 => 'No')); $form->setMatch('allow_new_users', PHPWS_Settings::get('users', 'allow_new_users')); $form->addTplTag('ALLOW_NEW_USERS_LABEL', dgettext('users', 'Allow new user creation?')); } $form->addTextArea('forbidden_usernames', PHPWS_Settings::get('users', 'forbidden_usernames')); $form->setLabel('forbidden_usernames', dgettext('users', 'Forbidden usernames (one per line)')); $form->addCheckbox('session_warning', 1); $form->setMatch('session_warning', PHPWS_Settings::get('users', 'session_warning')); $form->setlabel('session_warning', 'Show session warning'); $template = $form->getTemplate(); if (Current_User::isDeity()) { $vars['action'] = 'admin'; $vars['command'] = 'check_permission_tables'; $template['VERIFY_PERMISSIONS'] = PHPWS_Text::secureLink(dgettext('users', 'Register user permissions'), 'users', $vars); $template['VERIFY_EXPLAIN'] = dgettext('users', 'Users module will re-register each module\'s permissions.'); } return PHPWS_Template::process($template, 'users', 'forms/settings.tpl'); }
/** * Inserts the content data into the current theme */ public static function loadTheme($theme, $template) { $tpl = new PHPWS_Template(); $tpl->setRoot(PHPWS_SOURCE_DIR); $themeDir = Layout::getThemeDir(); if (PHPWS_Error::isError($themeDir)) { PHPWS_Error::log($themeDir); PHPWS_Core::errorPage(); } $result = $tpl->setFile($themeDir . 'theme.tpl', TRUE); if (PHPWS_Error::isError($result)) { return $result; } if (!empty($GLOBALS['Layout_Collapse'])) { $template['COLLAPSE'] = 'id="layout-collapse"'; } $template['THEME_DIRECTORY'] = Layout::getThemeDirRoot() . $theme . '/'; $template['THEME_HTTP'] = Layout::getThemeHttpRoot() . $theme . '/'; $template['SOURCE_THEME_HTTP'] = PHPWS_SOURCE_HTTP . 'themes/'; $template['SOURCE_THEME_DIR'] = PHPWS_SOURCE_DIR . 'themes/'; $tpl->setData($template); return $tpl; }
public function getTemplateList() { $included_result = PHPWS_File::listDirectories(PHPWS_Template::getTemplateDirectory('menu') . 'menu_layout/'); $theme_result = PHPWS_File::listDirectories(PHPWS_SOURCE_DIR . Layout::getThemeDir() . 'templates/menu/menu_layout/'); if (PHPWS_Error::logIfError($included_result) || PHPWS_Error::logIfError($theme_result)) { return null; } if ($theme_result) { $result = array_unique(array_merge($included_result, $theme_result)); } else { $result = $included_result; } $result = array_combine($result, $result); if (empty($result)) { return null; } foreach ($result as $dir) { $directories[$dir] = $dir; } return $directories; }