示例#1
0
function wikiMain()
{
    checkPerm('view');
    $can_mod = checkPerm('edit', true);
    $can_admin = checkPerm('admin', true);
    $out =& $GLOBALS["page"];
    $out->setWorkingZone("content");
    $res = "";
    $cwa =& cwaSetup();
    $wiki_list = $cwa->getCourseWikiList();
    if (count($wiki_list["list"]) == 1 && !$can_admin) {
        $um =& UrlManager::getInstance();
        $where = implode(",", $wiki_list["list"]);
        $url = $um->getUrl("op=show&wiki_id=" . $where);
        Util::jump_to($url);
        return TRUE;
    }
    $title = $cwa->lang->def("_WIKI");
    $res .= $cwa->titleArea($title);
    $res .= $cwa->getHead($can_mod, TRUE, TRUE, TRUE, TRUE);
    if (count($wiki_list["list"]) == 0 && !$can_admin) {
        $res .= getInfoUi($cwa->lang->def("_NO_WIKI_AVAILABLE"));
    } else {
        //$res.=$cwa->getWikiListTable(0);
        $res .= $cwa->getCourseWikiTable($can_admin, $wiki_list);
    }
    $res .= $cwa->getFooter(TRUE);
    $out->add($res);
}
示例#2
0
function list_element_certificate()
{
    checkPerm('view');
    require_once _base_ . '/lib/lib.form.php';
    require_once _base_ . '/lib/lib.table.php';
    $mod_perm = checkPerm('mod', true);
    $id_certificate = importVar('id_certificate', true);
    // create a language istance for module admin_certificate
    $lang =& DoceboLanguage::createInstance('certificate', 'lms');
    $out =& $GLOBALS['page'];
    $out->setWorkingZone('content');
    $form = new Form();
    $page_title = array('index.php?modname=pcertificate&op=certificate' => $lang->def('_TITLE_CERTIFICATE'), $lang->def('_STRUCTURE_CERTIFICATE'));
    $out->add(getTitleArea($page_title, 'certificate') . '<div class="std_block">' . getBackUi('index.php?modname=pcertificate&amp;op=certificate', $lang->def('_BACK')));
    if (isset($_GET['result'])) {
        switch ($_GET['result']) {
            case "ok":
                $out->add(getResultUi($lang->def('_OPERATION_SUCCESSFUL')));
                break;
            case "err":
                $out->add(getErrorUi($lang->def('_OPERATION_FAILURE')));
                break;
            case "err_del":
                $out->add(getErrorUi($lang->def('_OPERATION_FAILURE')));
                break;
        }
    }
    $query_structure = "\r\n\tSELECT cert_structure, orientation, bgimage\r\n\tFROM " . $GLOBALS['prefix_lms'] . "_certificate \r\n\tWHERE id_certificate = '" . (int) $id_certificate . "'";
    list($structure, $orientation, $bgimage) = sql_fetch_row(sql_query($query_structure));
    $out->add('<div class="std_block">');
    $out->add(getInfoUi($lang->def('_CERTIFICATE_WARNING')));
    $out->add($form->openForm('structure_certificate', 'index.php?modname=pcertificate&amp;op=savecertificate', false, false, 'multipart/form-data'));
    $out->add($form->openElementSpace() . $form->getTextarea($lang->def('_STRUCTURE_CERTIFICATE'), 'structure', 'structure', $structure) . '<p><b>' . $lang->def('_ORIENTATION') . '</b></p>' . $form->getRadio($lang->def('_PORTRAIT'), 'portrait', 'orientation', 'P', $orientation == 'P') . $form->getRadio($lang->def('_LANDSCAPE'), 'landscape', 'orientation', 'L', $orientation == 'L') . $form->getExtendedFilefield($lang->def('_BACK_IMAGE'), 'bgimage', 'bgimage', $bgimage) . $form->closeElementSpace() . $form->openButtonSpace() . $form->getHidden('id_certificate', 'id_certificate', $id_certificate) . $form->getButton('save_structure', 'save_structure', $lang->def('_SAVE')) . $form->getButton('undo', 'undo', $lang->def('_UNDO')) . $form->closeButtonSpace() . $form->closeForm());
    $tb = new Table(0, $lang->def('_TAG_LIST_CAPTION'), $lang->def('_TAG_LIST_SUMMARY'));
    $tb->setColsStyle(array('', ''));
    $tb->addHead(array($lang->def('_TAG_CODE'), $lang->def('_TAG_DESCRIPTION')));
    //search query of certificates tag
    $query_format_tag = "\r\n\tSELECT file_name, class_name \r\n\tFROM " . $GLOBALS['prefix_lms'] . "_certificate_tags ";
    $re_certificate_tags = sql_query($query_format_tag);
    while (list($file_name, $class_name) = sql_fetch_row($re_certificate_tags)) {
        if (file_exists($GLOBALS['where_lms'] . '/lib/certificate/' . $file_name)) {
            require_once $GLOBALS['where_lms'] . '/lib/certificate/' . $file_name;
            $instance = new $class_name(0, 0);
            $this_subs = $instance->getSubstitutionTags();
            foreach ($this_subs as $tag => $description) {
                $tb->addBody(array($tag, $description));
            }
            // end foreach
        }
        // end if
    }
    $out->add($tb->getTable());
    $out->add('</div>');
}
function mod_report_cols()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.form.php';
    $ref =& $_SESSION['report_tempdata']['columns_filter_category'];
    if (isset($_POST['columns_filter'])) {
        $ref = $_POST['columns_filter'];
    }
    $idrep = Get::req('modid', DOTY_INT, false);
    $lang =& DoceboLanguage::createInstance('report');
    $obj_report = openreport($idrep);
    $obj_report->back_url = 'index.php?modname=public_report_admin&op=modify_rows&modid=' . $idrep;
    $obj_report->jump_url = 'index.php?modname=public_report_admin&op=modify_cols&modid=' . $idrep;
    $obj_report->next_url = 'index.php?modname=public_report_admin&op=modify_save&modid=' . $idrep;
    //page title
    $page_title = getTitleArea(array('index.php?modname=public_report_admin&amp;op=reportlist' => $lang->def('_REPORT'), 'index.php?modname=public_report_admin&op=modify_name&modid=' . $idrep => $lang->def('_REPORT_MOD_NAME'), 'index.php?modname=public_report_admin&op=modify_rows&modid=' . $idrep => $lang->def('_REPORT_MOD_ROWS'), $lang->def('_REPORT_MOD_COLUMNS'))) . '<div class="std_block">';
    /*$info = get_update_info();
    	if($info) $GLOBALS['page']->add( getInfoUi($info) );*/
    if ($obj_report->useStandardTitle_Columns()) {
        $GLOBALS['page']->add($page_title, 'content');
        $info = get_update_info();
        if ($info) {
            $GLOBALS['page']->add(getInfoUi($info), 'content');
        }
        $GLOBALS['page']->add(Form::openForm('user_report_columns_courses_mod', str_replace('&', '&amp;', $obj_report->jump_url)), 'content');
    } else {
        //this is used just to pass std title string to object functions, who may use it
        $obj_report->page_title = $page_title;
    }
    $query = "SELECT filter_data FROM " . $GLOBALS['prefix_lms'] . "_report_filter WHERE id_filter='" . (int) $idrep . "'";
    list($old_data_serialized) = mysql_fetch_row(mysql_query($query));
    $old_data = unserialize($old_data_serialized);
    $category = $old_data['columns_filter_category'];
    $_SESSION['report_tempdata']['columns_filter_category'] = $category;
    unset($old_data);
    unset($old_data_serialized);
    $output = $obj_report->get_columns_filter($category);
    //($_SESSION['report_tempdata']['columns_filter_category']);
    $GLOBALS['page']->add($output, 'content');
    if ($obj_report->useStandardTitle_Columns()) {
        $GLOBALS['page']->add(Form::openButtonSpace(), 'content');
        $GLOBALS['page']->add(Form::getBreakRow() . Form::getButton('pre_filter', 'pre_filter', $lang->def('_SHOW_NOSAVE', 'report')) . Form::getButton('ok_filter', 'import_filter', $lang->def('_SAVE_BACK', 'report')) . Form::getButton('show_filter', 'show_filter', $lang->def('_SAVE_SHOW', 'report')) . Form::getButton('undo_filter', 'undo_filter', $lang->def('_UNDO', 'report')), 'content');
        $GLOBALS['page']->add(Form::closeButtonSpace(), 'content');
        $GLOBALS['page']->add(Form::closeForm(), 'content');
        $GLOBALS['page']->add('</div>', 'content');
        //close std_block div
    }
}
示例#4
0
 function modAvatarGui()
 {
     require_once _base_ . '/lib/lib.form.php';
     require_once _base_ . '/lib/lib.preference.php';
     $this->loadUserData(getLogUserId());
     $html = '<div class="up_user_info">' . '<div class="up_name">' . $this->resolveUsername(false, getLogUserId()) . '</div>';
     // user standard info -----------------------------------------------------------------
     $html .= getInfoUi(str_replace('[max_px]', $this->max_dim_avatar, $this->_lang->def('_AVATAR_PHOTO_INSTRUCTION')));
     $html .= Form::openForm('mod_avatar', $this->_url_man->getUrl($this->_varname_action . '=saveavatar'), false, false, 'multipart/form-data');
     $html .= Form::getFilefield($this->_lang->def('_AVATAR'), 'up_avatar', 'up_avatar');
     if ($this->user_info[ACL_INFO_AVATAR] != '') {
         $html .= Form::getButton('delete_current', 'delete_current', $this->_lang->def('_DEL'), 'up_delete_current');
     }
     $html .= Form::openButtonSpace() . Form::getButton('save', 'save', $this->_lang->def('_SAVE')) . Form::getButton('undo', 'undo', $this->_lang->def('_UNDO')) . Form::closeButtonSpace();
     $html .= Form::closeForm() . '</div>';
     return $html;
 }
示例#5
0
 function loadSimpleSelector($anonymous = true, $orgchart_button = false)
 {
     $res = "";
     require_once _base_ . '/lib/lib.table.php';
     require_once _base_ . "/lib/lib.form.php";
     $lang =& DoceboLanguage::createInstance('simplesel', 'framework');
     $form = new Form();
     $acl_manger = Docebo::user()->getAclManager();
     $anonymous_idst = $acl_manger->getAnonymousId();
     $res .= getBackUi($this->getLink("back"), $lang->def("_BACK"));
     if ($this->hasManualSelection()) {
         $msg = $lang->def('_MSG_HASMANUAL_1') . " \"" . $lang->def('_MANUAL_SEL') . "\" " . $lang->def('_MSG_HASMANUAL_2');
         $res .= getInfoUi($msg);
     }
     $url = $this->getLink("main");
     $res .= $form->openForm("simple_selector", $url);
     $vis_item = $GLOBALS["framework"]["visuItem"];
     $tab = new Table(2, $lang->def("_SIMPLESEL_TITLE"), $lang->def("_SIMPLESEL_TITLE"));
     $head_type = array('');
     $head = array($lang->def("_USERS"));
     foreach ($this->getPermList() as $key => $val) {
         $head_type[] = "image";
         $img = "<img src=\"" . $val["img"] . "\" alt=\"" . $val["alt"] . "\" ";
         $img .= "title=\"" . $val["alt"] . "\" />";
         $head[] = $img;
     }
     $tab->setColsStyle($head_type);
     $tab->addHead($head);
     $users_list = $this->getSimpleUserList();
     $saved_data = $this->getSavedData();
     if (!$anonymous) {
         unset($users_list[$anonymous_idst]);
     }
     foreach ($users_list as $idst => $label) {
         $rowcnt = array($label);
         foreach ($this->getPermList() as $key => $val) {
             $chk = false;
             if (isset($saved_data[$key]) && is_array($saved_data[$key])) {
                 if (in_array($idst, array_keys($saved_data[$key]))) {
                     $chk = true;
                 }
             }
             $check_box = $form->getLabel($key . "_" . $idst . "_", $lang->def("_VIEW") . " " . $label, "access-only");
             $check_box .= $form->getInputCheckbox($key . "_" . $idst . "_", $key . "[" . $idst . "]", 1, $chk, NULL);
             $rowcnt[] = $check_box;
         }
         $tab->addBody($rowcnt);
     }
     $res .= $tab->getTable();
     $res .= $form->getHidden("saved_data", "saved_data", urlencode(serialize($saved_data)));
     $res .= $form->openButtonSpace();
     if ($orgchart_button) {
         $res .= $form->getButton('orgchartselector', 'orgchartselector', $lang->def('_ORGCHART_SEL'), "transparent_aslink_button") . ' ';
     }
     $res .= $form->getButton('manualselector', 'manualselector', $lang->def('_MANUAL_SEL'), "transparent_aslink_button");
     $res .= $form->closeButtonSpace();
     $res .= $form->openButtonSpace();
     $res .= $form->getButton('okselector', 'okselector', $lang->def('_CONFIRM'));
     $res .= $form->getButton('cancelselector', 'cancelselector', $lang->def('_UNDO'));
     $res .= $form->closeButtonSpace();
     $res .= $form->closeForm();
     return $res;
 }
示例#6
0
function report_modify_columns()
{
    checkPerm('mod');
    require_once _base_ . '/lib/lib.form.php';
    $ref =& $_SESSION['report_tempdata']['columns_filter_category'];
    if (isset($_POST['columns_filter'])) {
        $ref = $_POST['columns_filter'];
    }
    $idrep = Get::req('modid', DOTY_INT, false);
    $lang =& DoceboLanguage::createInstance('report');
    $obj_report = openreport();
    $obj_report->back_url = 'index.php?modname=report&op=modify_rows&modid=' . $idrep;
    $obj_report->jump_url = 'index.php?modname=report&op=modify_cols&modid=' . $idrep;
    $obj_report->next_url = 'index.php?modname=report&op=report_save&modid=' . $idrep;
    //page title
    $page_title = getTitleArea(array('index.php?modname=report&amp;op=reportlist' => $lang->def('_REPORT'), 'index.php?modname=report&op=modify_name&modid=' . $idrep => $lang->def('_MOD'), 'index.php?modname=report&op=modify_rows&modid=' . $idrep => $lang->def('_REPORT_MOD_ROWS'), $lang->def('_REPORT_MOD_COLUMNS'))) . '<div class="std_block">';
    /*$info = get_update_info();
    	if($info) cout( getInfoUi($info) );*/
    if ($obj_report->useStandardTitle_Columns()) {
        cout($page_title);
        $info = get_update_info();
        if ($info) {
            cout(getInfoUi($info));
        }
        cout(Form::openForm('user_report_columns_courses_mod', $obj_report->jump_url));
    } else {
        //this is used just to pass std title string to object functions, who may use it
        $obj_report->page_title = $page_title;
    }
    $obj_report->get_columns_filter($_SESSION['report_tempdata']['columns_filter_category']);
    if ($obj_report->useStandardTitle_Columns()) {
        cout(Form::openButtonSpace());
        cout(Form::getBreakRow() . Form::getButton('pre_filter', 'pre_filter', $lang->def('_SHOW_NOSAVE', 'report')) . Form::getButton('ok_filter', 'import_filter', $lang->def('_SAVE_BACK', 'report')) . Form::getButton('show_filter', 'show_filter', $lang->def('_SAVE_SHOW', 'report')) . Form::getButton('undo_filter', 'undo_filter', $lang->def('_UNDO', 'report')));
        cout(Form::closeButtonSpace());
        cout(Form::closeForm());
        cout('</div>');
        //close std_block div
    }
}
示例#7
0
 function editWikiPage()
 {
     require_once _base_ . "/lib/lib.form.php";
     require_once $GLOBALS["where_framework"] . "/lib/lib.wiki_revision.php";
     $res = "";
     $lang =& DoceboLanguage::createInstance('wiki', 'framework');
     $um =& UrlManager::getInstance();
     $page_code = $this->getPageCode();
     $wiki_id = $this->getWikiId();
     //$root_info=$this->wikiManager->getRootPageInfo($wiki_id);
     //$back_url=$um->getUrl("page=".$root_info["page_code"]);
     $back_url = $um->getUrl("page=" . $page_code);
     $wiki_lang = $this->getWikiLanguage();
     if (isset($_POST["undo"])) {
         Util::jump_to($back_url);
     } else {
         if (isset($_POST["save"])) {
             $page_temp_info = $this->getPageTempInfo($wiki_id, $page_code);
             $this->wikiManager->savePage($wiki_id, $_POST, $wiki_lang, $page_code, $page_temp_info);
             Util::jump_to($back_url);
         } else {
             $page_info = $this->wikiManager->getPageInfo($wiki_id, $wiki_lang, $page_code);
             if ($page_info === FALSE) {
                 $page_temp_info = $this->getPageTempInfo($wiki_id, $page_code);
                 if ($page_temp_info !== FALSE) {
                     $title = $page_temp_info["title"];
                 } else {
                     $title = $page_code;
                 }
                 $content = "";
                 $page_id = 0;
             } else {
                 $version = $page_info["version"];
                 $page_id = $page_info["page_id"];
                 $rev = new WikiRevisionManager(array($wiki_id, $page_id, $wiki_lang));
                 $last = $rev->getLastRevision();
                 $title = $page_info["title"];
                 $content = $last["content"];
             }
             $url = $um->getUrl("op=edit&page=" . $page_code);
             $form = new Form();
             $res .= $form->openForm("main_form", $url);
             //$res.=$form->openElementSpace();
             $res .= $form->getTextfield($this->lang->def("_TITLE"), "title", "title", 255, $title);
             //$res.=$form->getTextfield($this->lang->def("_QUESTION"), "question", "question", 255, $question);
             //$res.=$form->getSimpleTextarea($this->lang->def("_KEYWORDS"), "keyword", "keyword", $keyword);
             $res .= $form->getTextarea($this->lang->def("_TEXTOF"), "wiki_content", "content", $content);
             $res .= $form->getHidden("page_id", "page_id", $page_id);
             //$res.=$form->closeElementSpace();
             $res .= $form->openButtonSpace();
             $res .= $form->getButton('save', 'save', $this->lang->def('_SAVE'));
             $res .= $form->getButton('undo', 'undo', $this->lang->def('_UNDO'));
             $res .= $form->closeButtonSpace();
             $res .= $form->closeForm();
             $res .= '<p>' . $lang->def('_GUIDE') . '</p>';
             $res .= getInfoUi($this->lang->def('_WIKI_INSTRUCTION'));
         }
     }
     return $res;
 }
示例#8
0
function modrule(&$url)
{
    checkPerm('mod');
    YuiLib::load(array('animation' => 'animation-min.js', 'dragdrop' => 'dragdrop-min.js', 'button' => 'button-min.js', 'container' => 'container-min.js', 'my_window' => 'windows.js'), array('container/assets/skins/sam' => 'container.css', 'button/assets/skins/sam' => 'button.css'));
    addJs($GLOBALS['where_lms_relative'] . '/admin/modules/preassessment/', 'ajax.preassessment.js');
    $id_assessment = importVar('id_assess', true, 0);
    require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
    $course_man = new Man_Course();
    require_once $GLOBALS['where_lms'] . '/lib/lib.coursepath.php';
    $coursepath_man = new CoursePath_Manager();
    require_once $GLOBALS['where_lms'] . '/lib/lib.preassessment.php';
    $assess_man = new AssessmentList();
    $rule_man = new AssessmentRule();
    $lang =& DoceboLanguage::createInstance('preassessment');
    // recover assessment
    $assessment = $assess_man->getAssessment($id_assessment);
    $rule_list = $rule_man->getAllRule($id_assessment);
    // recover new type one
    require_once _base_ . '/lib/lib.table.php';
    $tb = new Table(0, $lang->def('_CAPTION_PREASSESSMENT_RULE'), $lang->def('_SUMMARY_PREASSESSMENT_RULE'));
    // table header --------------------------------------------------------------------------------------------
    $cont_h = array($lang->def('_RULE_TEXT'), $lang->def('_RULE_ACTION'), '<img src="' . getPathImage('lms') . 'standard/modelem.png" alt="' . $lang->def('_ALT_ADD_EFFECT') . '" />', '<img src="' . getPathImage('lms') . 'standard/edit.png" alt="' . $lang->def('_MOD') . '" />', '<img src="' . getPathImage('lms') . 'standard/delete.png" alt="' . $lang->def('_DEL') . '" />');
    $type_h = array('nowrap', '', 'image', 'image', 'image');
    $usedef = 1;
    $tb->addHead($cont_h, $type_h);
    while ($rule = $rule_man->fetch_row($rule_list)) {
        $id = $rule[RULE_ID];
        if ($rule[RULE_TYPE] == RULE_DEFAULT) {
            $usedef = 0;
        }
        $rule_name = $rule_man->resolveRuleTypePhrase($lang, $rule);
        $cont = array($rule_name);
        $effect = '';
        $effects = $rule_man->parseEffects($rule[RULE_EFFECT]);
        if (count($effects['course']) > 0) {
            $effect .= $lang->def('_COURSES') . ': ' . $course_man->listCourseName($effects['course']);
        }
        if (count($effects['coursepath']) > 0) {
            if (count($effects['course']) > 0) {
                $effect .= '<br/>';
            }
            $path_list =& $coursepath_man->getNames($effects['coursepath']);
            $effect .= $lang->def('_COURSEPATH') . ': ' . implode(', ', $path_list);
        }
        if (count($effects['course']) == 0 && count($effects['coursepath']) == 0) {
            $effect = $lang->def('_DO_NOTHING');
        }
        $cont[] = $effect;
        $cont[] = '<a href="' . $url->getUrl('op=assignrule&id_rule=' . $id . '&load=1') . '" title=""' . $lang->def('_ADD_EFFECT') . '">' . '<img src="' . getPathImage('lms') . 'standard/modelem.png" alt="' . $lang->def('_ALT_ADD_EFFECT') . '" />' . '</a>';
        $cont[] = '<a href="' . $url->getUrl('op=modrulet&id_rule=' . $id) . '" title="' . $lang->def('_MOD_TITLE') . '"' . '" onclick="mod_rule_mask(\'' . $id_assessment . '\', \'' . $id . '\'); return false;"' . '>' . '<img src="' . getPathImage('lms') . 'standard/edit.png" alt="' . $lang->def('_MOD') . '" />' . '</a>';
        $cont[] = '<a href="' . $url->getUrl('op=delrule&id_rule=' . $id) . '" title="' . $lang->def('_DEL') . ': ' . $rule_name . '"' . '	onclick="del_assessment_rule(\'' . $id . '\', \'' . strip_tags($rule_name) . '\'); return false;"' . '>' . '<img src="' . getPathImage('lms') . 'standard/delete.png" alt="' . $lang->def('_DEL') . '" />' . '</a>';
        $tb->addBody($cont);
    }
    require_once _base_ . '/lib/lib.dialog.php';
    setupHrefDialogBox('a[href*=delrule]');
    $tb->addActionAdd('<a class="new_element_link" ' . ' 	onclick="add_rule_mask(\'' . $id_assessment . '\', \'' . $usedef . '\'); return false;"' . ' id="add_rule" ' . 'href="#" ' . '>' . $lang->def('_ADD_RULE') . '</a>');
    $GLOBALS['page']->add('<script type="text/javascript">' . 'YAHOO.util.Event.onDOMReady( function(e) {' . ' setup_assessment(); ' . ' YAHOO.util.Event.addListener("add_rule", "click", function(e) { add_rule_mask(\'' . $id_assessment . '\', \'' . $usedef . '\'); });' . '});' . '</script>', 'page_head');
    $GLOBALS['page']->add(getTitleArea(array($url->getUrl() => $lang->def('_ASSESSMENT'), $lang->def('_RULES') . ': ' . $assessment['name']), 'preassessment') . '<div class="std_block">' . getInfoUi($lang->def('_RULE_OVERLAPPED')), 'content');
    if (isset($_GET['result'])) {
        $GLOBALS['page']->add(guiResultStatus($lang, $_GET['result']), 'content');
    }
    $GLOBALS['page']->add($tb->getTable(), 'content');
    $GLOBALS['page']->add(getBackUi($url->getUrl(), $lang->def('_BACK')) . '</div>', 'content');
}
 public function show()
 {
     require_once _adm_ . '/lib/lib.field.php';
     $fman = new FieldList();
     $fields = $fman->getFlatAllFields(array('framework', 'lms'));
     $f_list = array('email' => Lang::t('_EMAIL', 'standard'), 'lastenter' => Lang::t('_DATE_LAST_ACCESS', 'profile'), 'register_date' => Lang::t('_DIRECTORY_FILTER_register_date', 'admin_directory'), 'language' => Lang::t('_LANGUAGE', 'standard'), 'level' => Lang::t('_LEVEL', 'standard'));
     $f_list = $f_list + $fields;
     $f_selected = $this->json->decode(Docebo::user()->getPreference('ui.directory.custom_columns'));
     if ($f_selected == false) {
         $f_selected = array('email', 'lastenter', 'register_date');
         /*$k_list = array_keys($f_list);
         		$counter = 0;
         		$lastkey = !empty($k_list) ? $k_list[0] : false;
         		while (list($key, $value) = each($f_list) && $counter < $this->numVarFields) {
         			$f_selected[] = $key;
         			$lastkey = $key;
         			$counter++;
         		}
         		if (count($f_selected) < $this->numVarFields) {
         			for ($i=0; $i<($this->numVarFields - $counter); $i++) {
         				$f_selected[] = $lastkey;
         			}
         		}*/
     }
     $js_arr = array();
     foreach ($f_list as $key => $value) {
         $js_arr[] = $key . ': ' . $this->json->encode($value);
     }
     $f_list_js = '{' . implode(',', $js_arr) . '}';
     if ($this->permissions['add_user'] == false && $this->reached_max_user_created) {
         $message = getInfoUi(Lang::t('_USER_CREATION_LIMIT_REACHED', 'admin_directory'));
     }
     $res = Get::req('res', DOTY_STRING, '');
     switch ($res) {
         case 'ok_assignuser':
             $message = getResultUi(Lang::t('_OPERATION_SUCCESSFUL', 'standard'));
             break;
         case 'err_assignuser':
             $message = getErrorUi(Lang::t('_GROUP_USERASSIGN_ERROR', 'admin_directory'));
             break;
         default:
             $message = "";
     }
     $root_node_actions = $this->_getNodeActions(0);
     require_once _adm_ . '/lib/user_selector/lib.dynamicuserfilter.php';
     $dyn_filter = new DynamicUserFilter("user_dyn_filter");
     $dyn_filter->init();
     Util::get_js(Get::rel_path('base') . '/lib/js_utils.js', true, true);
     Util::get_js(Get::rel_path('adm') . '/views/usermanagement/usermanagement.js', true, true);
     if (!$this->_issetSessionValue('selected_node') && Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
         //select the first folder of the sub admin
         $this->_setSessionValue('selected_node', $this->model->getAdminFolder(Docebo::user()->getIdst(), true));
     }
     $selected_orgchart = $this->_getSessionValue('selected_node', 0);
     $this->render('show', array('permissions' => $this->permissions, 'num_var_fields' => $this->numVarFields, 'fieldlist' => $f_list, 'fieldlist_js' => $f_list_js, 'selected' => $f_selected, 'selected_orgchart' => $selected_orgchart, 'root_node_actions' => $root_node_actions, 'show_descendants' => $this->_getSessionValue('show_descendants', false), 'show_suspended' => $this->_getSessionValue('show_suspended', true), 'filter_text' => $this->_getSessionValue('text_filter', ""), 'result_message' => $message, 'dynamic_filter' => $dyn_filter, 'num_waiting_users' => $this->model->getWaitingUsersTotal(), 'num_deleted_users' => $this->model->getDeletedUsersTotal()));
 }