/** * @param string $base_path if specified load only preference form this base_path * @param bool $only_visible if true only the visible * * @return string the code for the mod mask */ function getModifyMask($base_path = false, $only_visible = true, $separate_output = false) { require_once _base_ . '/lib/lib.form.php'; $lang =& DoceboLanguage::createInstance('preferences', 'framework'); $preferences = $this->_up_db->getFullPreferences($this->id_user, $only_visible, false, $base_path); $html = array(); while (list(, $pref) = each($preferences)) { // Navigation trought the preferences // array( 'path_name', 'label', 'default_value', 'type', 'visible', 'load_at_startup', 'user_value' ) switch ($pref['type']) { case "language": //drop down language $lang_sel = $this->getLanguage(); $langs_var = Docebo::langManager()->getAllLangCode(); $langs = array(); foreach ($langs_var as $k => $v) { $langs[$k] = $v; } /* XXX: remove when alll lang ready*/ $html[$pref['path_name']] = Form::getDropdown($lang->def($pref['label']), $this->base_name . '_' . $pref['path_name'], $this->base_name . '[' . $pref['path_name'] . ']', $langs, array_search($lang_sel, $langs)); break; case "template": //drop down template $templ_sel = $this->getTemplate(); $templ = getTemplateList(); $html[$pref['path_name']] = Form::getDropdown($lang->def($pref['label']), $this->base_name . '_' . $pref['path_name'], $this->base_name . '[' . $pref['path_name'] . ']', $templ, array_search($templ_sel, $templ)); break; case "hteditor": //drop down hteditor $ht_edit = getHTMLEditorList(); $html[$pref['path_name']] = Form::getDropdown($lang->def($pref['label']), $this->base_name . '_' . $pref['path_name'], $this->base_name . '[' . $pref['path_name'] . ']', $ht_edit, $pref['user_value'] ? $pref['user_value'] : $pref['default_value']); break; case "layout_chooser": //drop down hteditor $layout = array('left' => Lang::t('_LAYOUT_LEFT'), 'over' => Lang::t('_LAYOUT_OVER'), 'right' => Lang::t('_LAYOUT_RIGHT')); $html[$pref['path_name']] = Form::getDropdown($lang->def($pref['label']), $this->base_name . '_' . $pref['path_name'], $this->base_name . '[' . $pref['path_name'] . ']', $layout, $pref['user_value'] ? $pref['user_value'] : $pref['default_value']); break; case "enum": //on off $value = $pref['user_value'] ? $pref['user_value'] : $pref['default_value']; $html[$pref['path_name']] = Form::openFormLine() . Form::getInputCheckbox($this->base_name . '_' . $pref['path_name'] . '_on', $this->base_name . '[' . $pref['path_name'] . ']', 'on', $value == 'on', '') . ' ' . Form::getLabel($this->base_name . '_' . $pref['path_name'] . '_on', $lang->def($pref['label'])) . Form::closeFormLine(); break; //string or int //string or int default: $html[$pref['path_name']] = Form::getTextfield($lang->def($pref['label']), $this->base_name . '_' . $pref['path_name'], $this->base_name . '[' . $pref['path_name'] . ']', '65535', $pref['user_value'] ? $pref['user_value'] : $pref['default_value']); } } return $separate_output ? $html : implode("", $html) . '<div class="nofloat"></div>'; }
/** * @return string contains the displayable information for a selected group * * @access public */ function getPageWithElement($regroup) { require_once _base_ . '/lib/lib.form.php'; if ($regroup == 'templ_man') { return $this->_maskTemplateManager(); } elseif ($regroup == 'suiteman') { return $this->_maskSuiteManager(); } $lang =& DoceboLanguage::createInstance('configuration', 'framework'); $reSetting = sql_query("\r\n\t\tSELECT param_name, param_value, value_type, max_size\r\n\t\tFROM " . $this->table . "\r\n\t\tWHERE regroup = '" . $regroup . "' AND\r\n\t\t\thide_in_modify = '0'\r\n\t\tORDER BY regroup, pack, sequence"); $html = ''; while (list($var_name, $var_value, $value_type, $max_size) = sql_fetch_row($reSetting)) { $i_after = ' <span class="ico-tooltip" id="tt_target_' . $var_name . '" title="' . $lang->def('_CONF_DESCR_' . strtoupper($var_name)) . '">info</span>'; switch ($value_type) { case "register_type": //on off $html .= Form::getOpenCombo($lang->def('_' . strtoupper($var_name))) . Form::getLineRadio('', 'label_bold', $lang->def('_REGISTER_TYPE_SELF'), $var_name . '_self', 'option[' . $var_name . ']', 'self', $var_value == 'self') . Form::getLineRadio('', 'label_bold', $lang->def('_REGISTER_TYPE_SELF_OPTIN'), $var_name . '_self_optin', 'option[' . $var_name . ']', 'self_optin', $var_value == 'self_optin') . Form::getLineRadio('', 'label_bold', $lang->def('_REGISTER_TYPE_MODERATE'), $var_name . '_moderate', 'option[' . $var_name . ']', 'moderate', $var_value == 'moderate') . Form::getLineRadio('', 'label_bold', $lang->def('_REGISTER_TYPE_ADMIN'), $var_name . '_admin', 'option[' . $var_name . ']', 'admin', $var_value == 'admin') . Form::getCloseCombo($i_after); break; case "register_tree": $register_possible_option = array('off' => $lang->def('_DONT_USE_TREE_REGISTRATION'), 'manual_insert' => $lang->def('_USE_WITH_MANUALEINSERT'), 'selection' => $lang->def('_USE_WITH_SELECTION')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $register_possible_option, $var_value, $i_after); break; case "field_tree": require_once $GLOBALS['where_framework'] . '/lib/lib.field.php'; $fl = new FieldList(); $all_fields = $fl->getAllFields(false); $fields[0] = $lang->def('_NO_VALUE'); foreach ($all_fields as $key => $val) { $fields[$val[FIELD_INFO_ID]] = $val[FIELD_INFO_TRANSLATION]; } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $fields, $var_value, $i_after); break; case "save_log_attempt": //on off $html .= Form::getOpenCombo($lang->def('_' . strtoupper($var_name))) . Form::getLineRadio('', 'label_bold', $lang->def('_SAVE_LA_ALL'), $var_name . '_all', 'option[' . $var_name . ']', 'all', $var_value == 'all') . Form::getLineRadio('', 'label_bold', $lang->def('_SAVE_LA_AFTER_MAX'), $var_name . '_after_max', 'option[' . $var_name . ']', 'after_max', $var_value == 'after_max') . Form::getLineRadio('', 'label_bold', $lang->def('_NO'), $var_name . '_no', 'option[' . $var_name . ']', 'no', $var_value == 'no') . Form::getCloseCombo($i_after); break; case "language": //drop down language $langs = Docebo::langManager()->getAllLangCode(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $langs, array_search($var_value, $langs), $i_after); break; case "template": //drop down template $templ = getTemplateList(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $templ, array_search($var_value, $templ), $i_after); break; case "hteditor": //drop down hteditor $ht_edit = getHTMLEditorList(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $ht_edit, $var_value, $i_after); break; case "layout_chooser": //drop down hteditor $layout = array('left' => Lang::t('_LAYOUT_LEFT'), 'over' => Lang::t('_LAYOUT_OVER'), 'right' => Lang::t('_LAYOUT_RIGHT')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $layout, $var_value, $i_after); break; case "pubflow_method_chooser": //drop down hteditor $options = array('onestate' => Lang::t('_PUBFLOW_ONESTATE'), 'twostate' => Lang::t('_PUBFLOW_TWOSTATE'), 'advanced' => Lang::t('_PUBFLOW_ADVANCED')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $options, $var_value, $i_after); break; case "field_select": require_once $GLOBALS['where_framework'] . '/lib/lib.field.php'; $fl = new FieldList(); $all_fields = $fl->getAllFields(); $fields = array(); foreach ($all_fields as $key => $val) { $fields[$val[FIELD_INFO_ID]] = $val[FIELD_INFO_TRANSLATION]; } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $fields, $var_value, $i_after); break; case "sel_sms_gateway": $options = array('0' => Lang::t('_SMS_GATEWAY_AUTO'), '1' => Lang::t('_SMS_GATEWAY_1'), '2' => Lang::t('_SMS_GATEWAY_2'), '3' => Lang::t('_SMS_GATEWAY_3'), '4' => Lang::t('_SMS_GATEWAY_4')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $options, $var_value, $i_after); break; case "menuvoice": case "menuvoice_course_public": case "layout_chooser": //drop down hteditor $layout = array('left' => Lang::t('_LAYOUT_LEFT'), 'over' => Lang::t('_LAYOUT_OVER'), 'right' => Lang::t('_LAYOUT_RIGHT')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $layout, $var_value, $i_after); break; case "grpsel_chooser": $layout = array('group' => $lang->def('_GROUPS'), 'orgchart' => $lang->def('_ORGCHART')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $layout, $var_value, $i_after); break; case "tablist_coursecatalogue": $lang_c =& DoceboLanguage::createInstance('catalogue', 'lms'); $tab_selected = unserialize(urldecode($var_value)); $tab_list = array('time' => $lang_c->def('_TAB_VIEW_TIME'), 'category' => $lang_c->def('_TAB_VIEW_CATEGORY'), 'all' => $lang_c->def('_ALL')); if (Get::sett('use_coursepath') == '1') { $tab_list['pathcourse'] = $lang_c->def('_COURSEPATH'); } if (Get::sett('use_social_courselist') == 'on') { $tab_list['mostscore'] = $lang_c->def('_TAB_VIEW_MOSTSCORE'); $tab_list['popular'] = $lang_c->def('_TAB_VIEW_MOSTPOPULAR'); $tab_list['recent'] = $lang_c->def('_TAB_VIEW_RECENT'); } foreach ($tab_list as $tab_code => $name) { $html .= Form::getCheckbox($name, 'tablist_' . $tab_code, 'tablist[' . $tab_code . ']', 1, isset($tab_selected[$tab_code]), '', $i_after); } break; case "first_coursecatalogue_tab": $lang_c =& DoceboLanguage::createInstance('catalogue', 'lms'); $tab_list = array('time' => $lang_c->def('_TAB_VIEW_TIME'), 'category' => $lang_c->def('_TAB_VIEW_CATEGORY'), 'all' => $lang_c->def('_ALL')); if (Get::sett('use_coursepath') == '1') { $tab_list['pathcourse'] = $lang_c->def('_COURSEPATH'); } if (Get::sett('use_social_courselist') == 'on') { $tab_list['mostscore'] = $lang_c->def('_TAB_VIEW_MOSTSCORE'); $tab_list['popular'] = $lang_c->def('_TAB_VIEW_MOSTPOPULAR'); $tab_list['recent'] = $lang_c->def('_TAB_VIEW_RECENT'); } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $tab_list, $var_value, $i_after); break; case "tablist_mycourses": //$var_value=deformat($var_value); $arr_value = explode(',', $var_value); //$arr_value=array(); $tab_list = array(); $tab_list[''] = $lang->def('_MYCOURSES_NOTUSED'); $tab_list['status'] = $lang->def('_STATUS'); $tab_list['name'] = $lang->def('_NAME'); $tab_list['code'] = $lang->def('_CODE'); $html .= '<div class="form_line_l"><p>' . '<label class="floating">' . $lang->def('_' . strtoupper($var_name)) . '</label></p>'; for ($i = 0; $i < 3; $i++) { $html .= Form::getInputDropdown('dropdown', $var_name . '_' . $i, "mycourses[{$i}]", $tab_list, isset($arr_value[$i]) ? $arr_value[$i] : '', ''); } $html .= $i_after . '</div>'; break; case "point_field": require_once $GLOBALS['where_framework'] . '/lib/lib.field.php'; $fl = new FieldList(); $all_fields = $fl->getAllFields(); $fields[0] = $lang->def('_NO_VALUE'); foreach ($all_fields as $key => $val) { $fields[$val[FIELD_INFO_ID]] = $val[FIELD_INFO_TRANSLATION]; } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $fields, $var_value, $i_after); break; case "rest_auth_sel_method": $value_set = array($lang->def('_REST_AUTH_UCODE') => 0, $lang->def('_REST_AUTH_TOKEN') => 1); $html .= Form::getRadioSet($lang->def('_REST_AUTH_SEL_METHOD'), $var_name, 'option[' . $var_name . ']', $value_set, $var_value, $i_after); break; // Common types // Common types case "password": $html .= Form::getPassword($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $max_size, $var_value, $i_after); break; case "textarea": $html .= Form::getSimpletextarea($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $var_value, $i_after); break; case "check": $html .= Form::getCheckbox($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', 1, $var_value == 1, '', '', $i_after . ' '); break; case "enum": $html .= Form::getCheckbox($lang->def('_' . strtoupper($var_name)), $var_name . '_on', 'option[' . $var_name . ']', 'on', $var_value == 'on', '', '', $i_after . ' '); break; default: //string or int $html .= Form::getTextfield($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $max_size, $var_value, false, $i_after); } } return $html; }
/** * @return string contains the displayable information for a selected group * * @access public */ function getPageWithElement($regroup) { require_once _base_ . '/lib/lib.form.php'; $lang =& DoceboLanguage::createInstance('configuration', 'lms'); $reSetting = sql_query("\r\n\t\tSELECT param_name, param_value, value_type, max_size \r\n\t\tFROM " . $this->table . " \r\n\t\tWHERE regroup = '" . $regroup . "' AND \r\n\t\t\thide_in_modify = '0'\r\n\t\tORDER BY sequence"); $html = ''; while (list($var_name, $var_value, $value_type, $max_size) = sql_fetch_row($reSetting)) { switch ($value_type) { case "point_field": require_once $GLOBALS['where_framework'] . '/lib/lib.field.php'; $fl = new FieldList(); $all_fields = $fl->getAllFields(); $fields[0] = $lang->def('_NO_VALUE'); foreach ($all_fields as $key => $val) { $fields[$val[FIELD_INFO_ID]] = $val[FIELD_INFO_TRANSLATION]; } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $fields, $var_value); break; case "language": //drop down language $langs = Docebo::langManager()->getAllLangCode(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $langs, array_search($var_value, $langs)); break; case "template": //drop down template $templ = getTemplateList(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $templ, array_search($var_value, $templ)); break; case "hteditor": //drop down hteditor $ht_edit = getHTMLEditorList(); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $ht_edit, $var_value); break; case "layout_chooser": //drop down hteditor $layout = array('left' => Lang::t('_LAYOUT_LEFT'), 'over' => Lang::t('_LAYOUT_OVER'), 'right' => Lang::t('_LAYOUT_RIGHT')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $layout, $var_value); break; case "sel_news": $mode = array('off' => Lang::t('_DONT_SHOW'), 'link' => Lang::t('_SHOW_AS_LINK'), 'block' => Lang::t('_SHOW_AS_BLOCK')); $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $mode, $var_value); break; case "enum": //on off $html .= Form::openFormLine() . Form::getInputCheckbox($var_name . '_on', 'option[' . $var_name . ']', 'on', $var_value == 'on', '') . ' ' . Form::getLabel($var_name . '_on', $lang->def('_' . strtoupper($var_name))) . Form::closeFormLine(); break; case "menuvoice": case "menuvoice_course_public": case "check": //on off $html .= Form::getCheckbox($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', 1, $var_value == 1); break; case "tablist_coursecatalogue": $lang_c =& DoceboLanguage::createInstance('catalogue', 'lms'); $tab_selected = unserialize(urldecode($var_value)); $tab_list = array('time' => $lang_c->def('_TAB_VIEW_TIME'), 'category' => $lang_c->def('_TAB_VIEW_CATEGORY'), 'all' => $lang_c->def('_ALL')); if (Get::sett('use_coursepath') == '1') { $tab_list['pathcourse'] = $lang_c->def('_COURSEPATH'); } if (Get::sett('use_social_courselist') == 'on') { $tab_list['mostscore'] = $lang_c->def('_TAB_VIEW_MOSTSCORE'); $tab_list['popular'] = $lang_c->def('_TAB_VIEW_MOSTPOPULAR'); $tab_list['recent'] = $lang_c->def('_TAB_VIEW_RECENT'); } foreach ($tab_list as $tab_code => $name) { $html .= Form::getCheckbox($name, 'tablist_' . $tab_code, 'tablist[' . $tab_code . ']', 1, isset($tab_selected[$tab_code])); } break; case "first_coursecatalogue_tab": $lang_c =& DoceboLanguage::createInstance('catalogue', 'lms'); $tab_list = array('time' => $lang_c->def('_TAB_VIEW_TIME'), 'category' => $lang_c->def('_TAB_VIEW_CATEGORY'), 'all' => $lang_c->def('_ALL')); if (Get::sett('use_coursepath') == '1') { $tab_list['pathcourse'] = $lang_c->def('_COURSEPATH'); } if (Get::sett('use_social_courselist') == 'on') { $tab_list['mostscore'] = $lang_c->def('_TAB_VIEW_MOSTSCORE'); $tab_list['popular'] = $lang_c->def('_TAB_VIEW_MOSTPOPULAR'); $tab_list['recent'] = $lang_c->def('_TAB_VIEW_RECENT'); } $html .= Form::getDropdown($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $tab_list, $var_value); break; case "tablist_mycourses": //$var_value=deformat($var_value); $arr_value = explode(',', $var_value); //$arr_value=array(); $tab_list = array(); $tab_list[''] = $lang->def('_MYCOURSES_NOTUSED'); $tab_list['status'] = $lang->def('_STATUS'); $tab_list['name'] = $lang->def('_NAME'); $tab_list['code'] = $lang->def('_CODE'); $html .= '<div class="form_line_l"><p>' . '<label class="floating">' . $lang->def('_' . strtoupper($var_name)) . '</label></p>'; for ($i = 0; $i < 3; $i++) { $html .= Form::getInputDropdown('dropdown', $var_name . '_' . $i, "mycourses[{$i}]", $tab_list, isset($arr_value[$i]) ? $arr_value[$i] : '', ''); } $html .= '</div>'; break; //string or int //string or int default: $html .= Form::getTextfield($lang->def('_' . strtoupper($var_name)), $var_name, 'option[' . $var_name . ']', $max_size, $var_value); } } return $html; }