/** * @return bool true if the operation was successfull false otherwise * * @access public */ function saveElement($regroup) { if ($regroup == 'templ_man') { return $this->_saveTemplateManager(); } if ($regroup == 'suiteman') { return $this->_saveSuiteManager(); } $reSetting = sql_query("\r\n\t\tSELECT param_name, value_type, extra_info\r\n\t\tFROM " . $this->table . "\r\n\t\tWHERE regroup = '" . $regroup . "' AND hide_in_modify = '0'"); $re = true; while (list($var_name, $value_type, $extra_info) = sql_fetch_row($reSetting)) { switch ($value_type) { case "menuvoice": require_once $GLOBALS['where_framework'] . '/lib/lib.menu.php'; $menu_man = new MenuManager(); if (isset($_POST['option'][$var_name]) && $_POST['option'][$var_name] == 1) { $menu_man->addPerm(ADMIN_GROUP_GODADMIN, '/lms/admin' . $extra_info); $new_value = 1; } else { $menu_man->removePerm(ADMIN_GROUP_GODADMIN, '/lms/admin' . $extra_info); $new_value = 0; } break; case "menuvoice_course_public": $after_reload_perm = true; require_once $GLOBALS['where_framework'] . '/lib/lib.menu.php'; $menu_man = new MenuManager(); if (isset($_POST['option'][$var_name]) && $_POST['option'][$var_name] == 1) { $perm = explode(';', $extra_info); foreach ($perm as $k => $perm_suffix) { $menu_man->addPerm('/oc_0', '/lms/course' . trim($perm_suffix)); } $new_value = 1; } else { $perm = explode(';', $extra_info); foreach ($perm as $k => $perm_suffix) { $menu_man->removePerm('/oc_0', '/lms/course' . trim($perm_suffix)); } $new_value = 0; } break; case "tablist_coursecatalogue": $tab_selected = array(); foreach ($_POST['tablist'] as $tab_code => $v) { $tab_selected[$tab_code] = 1; } $new_value = urlencode(serialize($tab_selected)); break; case "tablist_mycourses": $temp_arr = array(); for ($i = 0; $i < 3; $i++) { $temp_var = $_POST['mycourses'][$i]; if ($temp_var != '' && !in_array($temp_var, $temp_arr)) { //avoid repeated params $temp_arr[] = $temp_var; } } $new_value = implode(',', $temp_arr); break; //if is int cast it //if is int cast it case "language": $lang = Docebo::langManager()->getAllLangCode(); $new_value = $lang[$_POST['option'][$var_name]]; break; case "template": $templ = getTemplateList(); $new_value = $templ[$_POST['option'][$var_name]]; break; case "int": $new_value = (int) $_POST['option'][$var_name]; break; //if is enum switch value to on or off //if is enum switch value to on or off case "enum": if (isset($_POST['option'][$var_name])) { $new_value = 'on'; } else { $new_value = 'off'; } break; case "check": if (isset($_POST['option'][$var_name]) && $_POST['option'][$var_name] == 1) { $new_value = 1; } else { $new_value = 0; } break; case "menuvoice": require_once $GLOBALS['where_framework'] . '/lib/lib.menu.php'; $menu_man = new MenuManager(); if (isset($_POST['option'][$var_name]) && $_POST['option'][$var_name] == 1) { $menu_man->addPerm(ADMIN_GROUP_GODADMIN, '/framework/admin' . $extra_info); $new_value = 1; } else { $menu_man->removePerm(ADMIN_GROUP_GODADMIN, '/framework/admin' . $extra_info); $new_value = 0; } break; //else simple assignament //else simple assignament default: $new_value = $_POST['option'][$var_name]; } if (!sql_query("UPDATE " . $this->table . "\r\n\t\t\tSET param_value = '{$new_value}'\r\n\t\t\tWHERE param_name = '{$var_name}' AND regroup = '" . $regroup . "'")) { $re = false; } } return $re; }