当前位置: 首页>>代码示例>>PHP>>正文


PHP Docebo::aclm方法代码示例

本文整理汇总了PHP中Docebo::aclm方法的典型用法代码示例。如果您正苦于以下问题:PHP Docebo::aclm方法的具体用法?PHP Docebo::aclm怎么用?PHP Docebo::aclm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Docebo的用法示例。


在下文中一共展示了Docebo::aclm方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * This constructor require the source file name
  * @param array $params the array of params
  *		- 'filename' => name of the file (required)
  *		- 'first_row_header' => bool TRUE if first row is header (Optional, default = TRUE )
  *		- 'separator' => string a char with the fields separator (Optional, default = ,)
  **/
 function __construct($params)
 {
     if ($params !== NULL) {
         $this->set_config($params);
     }
     $this->aclm = Docebo::aclm();
     $this->cols_descriptor = array(array(DOCEBOIMPORT_COLNAME => Lang::t('_TYPE'), DOCEBOIMPORT_COLID => 'admin_type', DOCEBOIMPORT_COLMANDATORY => true, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => ''), array(DOCEBOIMPORT_COLNAME => Lang::t('_PROFILE'), DOCEBOIMPORT_COLID => 'profile', DOCEBOIMPORT_COLMANDATORY => true, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => ''), array(DOCEBOIMPORT_COLNAME => Lang::t('_USERNAME'), DOCEBOIMPORT_COLID => 'username', DOCEBOIMPORT_COLMANDATORY => true, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => ''), array(DOCEBOIMPORT_COLNAME => Lang::t('_FOLDER_NAME'), DOCEBOIMPORT_COLID => 'folder_name', DOCEBOIMPORT_COLMANDATORY => false, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => 'root'), array(DOCEBOIMPORT_COLNAME => Lang::t('courses'), DOCEBOIMPORT_COLID => 'courses', DOCEBOIMPORT_COLMANDATORY => false, DOCEBOIMPORT_DATATYPE => 'text', DOCEBOIMPORT_DEFAULT => 'root'));
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:15,代码来源:connector.doceboadmin.php

示例2: reportList

function reportList()
{
    checkPerm('view');
    require_once _base_ . '/lib/lib.table.php';
    $lang =& DoceboLanguage::createInstance('report', 'framework');
    $_SESSION['report_tempdata'] = array();
    $can_mod = checkPerm('mod', true);
    $acl_man = Docebo::aclm();
    $public_admin_mod = true;
    $query = "SELECT t1.*, t2.userid \r\n\tFROM %lms_report_filter as t1 \r\n\t\tLEFT JOIN %adm_user as t2 ON t1.author=t2.idst\r\n\tWHERE t1.is_public = 1 OR t1.author = " . Docebo::user()->getId();
    $tb = new Table();
    $tb->initNavBar('ini', 'button');
    $col_type = array('', 'align_center', 'align_center', 'image');
    $col_content = array($lang->def('_NAME'), $lang->def('_TAB_REP_CREATOR', 'report', 'framework'), $lang->def('_CREATION_DATE'), '<img src="' . getPathImage() . 'standard/view.png" alt="' . $lang->def('REPORT_SHOW_RESULTS') . '" title="' . $lang->def('REPORT_SHOW_RESULTS') . '" />');
    if ($public_admin_mod && $can_mod) {
        $col_type[] = 'image';
        $col_content[] = '<img src="' . getPathImage() . 'standard/edit.png"  alt="' . $lang->def('_MOD') . '" title="' . $lang->def('_MOD') . '"/>';
        $col_type[] = 'image';
        $col_content[] = '<img src="' . getPathImage() . 'standard/delete.png"  alt="' . $lang->def('_DEL') . '" title="' . $lang->def('_DEL') . '"/>';
    }
    $tb->setColsStyle($col_type);
    $tb->addHead($col_content);
    $res = sql_query($query);
    if ($res) {
        while ($row = sql_fetch_assoc($res)) {
            $id = $row['id_filter'];
            $opn_link = '<a href="index.php?modname=public_report_admin&amp;op=view_report&amp;idrep=' . $id . '" ' . ' title="' . $lang->def('REPORT_SHOW_RESULTS', 'report', 'framework') . '">' . '<img src="' . getPathImage() . 'standard/view.png" alt="' . $lang->def('REPORT_SHOW_RESULTS', 'report', 'framework') . '" />' . '</a>';
            $tb_content = array($row['author'] == 0 ? $lang->def($row['filter_name']) : $row['filter_name'], $row['author'] == 0 ? '<div class="align_center">-</div>' : $acl_man->relativeId($row['userid']), Format::date($row['creation_date']), $opn_link);
            if ($public_admin_mod && $can_mod) {
                if ($row['author'] == Docebo::user()->getId()) {
                    $tb_content[] = '<a href="index.php?modname=public_report_admin&amp;op=modify_name&amp;modid=' . $id . '" ' . ' title="' . $lang->def('_MOD', 'report', 'framework') . '">' . '<img src="' . getPathImage() . 'standard/edit.png" alt="' . $lang->def('_MOD', 'report', 'framework') . '" />' . '</a>';
                } else {
                    $tb_content[] = '';
                }
                if ($row['author'] == Docebo::user()->getId()) {
                    $tb_content[] = '<a href="index.php?modname=public_report_admin&amp;op=del_public_report&amp;idrep=' . $id . '" ' . ' title="' . $lang->def('_DEL', 'report', 'framework') . '">' . '<img src="' . getPathImage() . 'standard/delete.png" alt="' . $lang->def('_DEL', 'report', 'framework') . '" />' . '</a>';
                } else {
                    $tb_content[] = '';
                }
            }
            $tb->addBody($tb_content);
        }
    }
    require_once _base_ . '/lib/lib.dialog.php';
    setupHrefDialogBox('a[href*=del_public_report]');
    if ($public_admin_mod && $can_mod) {
        $tb->addActionAdd('<a href="index.php?modname=public_report_admin&amp;op=create_name">' . '<img src="' . getPathImage() . 'standard/add.png" title="' . $lang->def('_NEW') . '" /> ' . $lang->def('_NEW') . '</a>');
    }
    cout(getTitleArea($lang->def('_REPORT')) . '<div class="std_block">' . $tb->getTable() . '</div>', 'content');
}
开发者ID:abhinay100,项目名称:forma_app,代码行数:50,代码来源:public_report_admin.php

示例3: applyRulesMultiLang

 public function applyRulesMultiLang($log_action, $arr_users, $id_org, $id_entity = false, $user_temp = false)
 {
     $ent = array();
     if ($id_org != false) {
         $acl_man = Docebo::aclm();
         $oc_sn = $acl_man->getGroupST('oc_' . $id_org);
         $um_adm = new UsermanagementAdm();
         $ancestor = $um_adm->getAncestorInfoFolders($id_org);
         $ancestor['idst_ocd'][] = $oc_sn;
         $ent = $ancestor['idst_ocd'];
     }
     if ($id_entity != false) {
         $ent[] = $id_entity;
     }
     if (empty($ent)) {
         return false;
     }
     // FORMA: if we have the user_temp param we have to use user_temp table
     $user_table = "%adm_user";
     if ($user_temp) {
         $user_table = "%adm_user_temp";
     }
     $query = "SELECT DISTINCT u.idst, us.value " . " FROM " . $user_table . " AS u " . " LEFT JOIN %adm_setting_user AS us " . " ON ( u.idst = us.id_user AND us.path_name = 'ui.language' ) " . " WHERE u.idst IN ( " . implode(",", $arr_users) . " )";
     // END FORMA
     $re_query = $this->db->query($query);
     if (!$re_query) {
         return false;
     }
     $arr_users = array();
     $langs = array();
     $default_lang = getDefaultLanguage();
     while (list($idst_user, $value) = $this->db->fetch_row($re_query)) {
         if ($value == '') {
             $value = $default_lang;
         }
         $langs[$value] = $value;
         $arr_users[$value][] = $idst_user;
     }
     // find rules for evry language in the array
     require_once _lms_ . '/lib/lib.subscribe.php';
     $cs = new CourseSubscribe_Management();
     $applicable = $this->getApplicableRuleForEntityMultiLang($ent);
     $course_list = $applicable['course_list'];
     if (!isset($course_list['all'])) {
         $course_list['all'] = array();
     }
     $this->db->start_transaction();
     // create a entry log
     $id_log = $this->addLogEntry($log_action, $applicable['rules']);
     if (!$id_log) {
         return false;
     }
     foreach ($langs as $i => $lang_code) {
         if (!empty($course_list[$lang_code])) {
             $courses = array_unique(array_merge($course_list['all'], $course_list[$lang_code]));
         } else {
             $courses = array_unique($course_list['all']);
         }
         if (!empty($arr_users[$lang_code]) && !empty($courses)) {
             $re = $cs->multipleSubscribe($arr_users[$lang_code], $courses, 3, $id_log);
         }
     }
     $this->db->commit();
     return $re;
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:65,代码来源:EnrollrulesAlms.php

示例4: _get_delay_query


//.........这里部分代码省略.........
                 $query_order_by = "cu.date_inscr " . $_dir . ", u.userid " . $_dir . ", u.lastname " . $_dir;
                 break;
             case 'date_first_access':
                 $query_order_by = "cu.date_first_access " . $_dir . ", u.userid " . $_dir . ", u.lastname " . $_dir;
                 break;
             case 'date_last_access':
                 $query_order_by = "cu.date_last_access " . $_dir . ", u.userid " . $_dir . ", u.lastname " . $_dir;
                 break;
             case 'date_complete':
                 $query_order_by = "cu.date_complete " . $_dir . ", u.userid " . $_dir . ", u.lastname " . $_dir;
                 break;
         }
         $query_course_user = "\r\n\t\t\t\tSELECT cu.idUser, cu.idCourse, cu.edition_id, cu.date_inscr, cu.date_first_access,\r\n\t\t\t\tcu.date_complete, cu.status, cu.level, cu.date_last_access,\r\n\t\t\t\tu.userid, u.firstname, u.lastname, u.email, u.valid\r\n\t\t\t\tFROM " . $GLOBALS['prefix_lms'] . "_courseuser AS cu " . " JOIN " . $GLOBALS['prefix_fw'] . "_user as u ON cu.idUser = u.idst\r\n\t\t\t\tWHERE cu.idCourse > 0 " . $query_show_suspended . ($alluser ? "" : " AND cu.idUser IN ( " . implode(',', $user_selected) . " ) ") . ($all_courses ? '' : " AND cu.idCourse IN (" . implode(',', $course_selected) . ")") . " ORDER BY " . $query_order_by;
         $re_course_user = sql_query($query_course_user);
         $element_to_print = array();
         $courses_codes = array();
         while (list($id_u, $id_c, $id_e, $date_inscr, $date_first_access, $date_complete, $status, $level, $date_last_access, $u_userid, $u_firstname, $u_lastname, $u_email, $u_valid) = sql_fetch_row($re_course_user)) {
             if ($level == '3') {
                 //$report_type === 'course_started' && $level == '3') {
                 $user_check = false;
                 $now_timestamp = mktime('0', '0', '0', date('m'), date('d'), date('Y'));
                 //check the condition on status (course started and/or completed)
                 $status_condition = $status != _CUS_END;
                 //&& $status != _CUS_SUSPEND;
                 if ($report_type_completed && !$report_type_started) {
                     $status_condition = $status_condition && $status == _CUS_BEGIN;
                 }
                 if ($report_type_started && !$report_type_completed) {
                     $status_condition = $status_condition && $status != _CUS_BEGIN;
                 }
                 if ($day_from_subscription) {
                     if ($status_condition) {
                         $user_timestamp = mktime('0', '0', '0', $date_inscr[5] . $date_inscr[6], $date_inscr[8] . $date_inscr[9] + $day_from_subscription, $date_inscr[0] . $date_inscr[1] . $date_inscr[2] . $date_inscr[3]);
                         if ($user_timestamp < $now_timestamp) {
                             $user_check = true;
                         }
                     }
                 }
                 if ($day_until_course_end) {
                     if ($status_condition) {
                         if ($id_e > 0) {
                             $query = "SELECT date_end" . " FROM " . $GLOBALS['prefix_lms'] . "_course_edition" . " WHERE idCourseEdition = '" . $id_e . "'";
                             list($date_end) = sql_fetch_row(sql_query($query));
                             $user_timestamp = mktime('0', '0', '0', $date_end[5] . $date_end[6], $date_end[8] . $date_end[9] - $day_until_course_end, $date_end[0] . $date_end[1] . $date_end[2] . $date_end[3]);
                             if ($user_timestamp < $now_timestamp) {
                                 $user_check = true;
                             }
                         } else {
                             $query = "SELECT date_end" . " FROM " . $GLOBALS['prefix_lms'] . "_course" . " WHERE idCourse = '" . $id_c . "'";
                             list($date_end) = sql_fetch_row(sql_query($query));
                             $user_timestamp = mktime('0', '0', '0', $date_end[5] . $date_end[6], $date_end[8] . $date_end[9] - $day_until_course_end, $date_end[0] . $date_end[1] . $date_end[2] . $date_end[3]);
                             if ($user_timestamp < $now_timestamp) {
                                 $user_check = true;
                             }
                         }
                     }
                 }
                 if ($date_until_course_end) {
                     if ($status_condition) {
                         if ($id_e > 0) {
                             $query = "SELECT COUNT(*)" . " FROM " . $GLOBALS['prefix_lms'] . "_course_edition" . " WHERE idCourseEdition = '" . $id_e . "'" . " AND date_end < '" . Format::dateDb($date_until_course_end, 'date') . "'";
                             list($control) = sql_fetch_row(sql_query($query));
                             if ($control) {
                                 $user_check = true;
                             }
                         } else {
                             $query = "SELECT COUNT(*)" . " FROM " . $GLOBALS['prefix_lms'] . "_course" . " WHERE idCourse = '" . $id_c . "'" . " AND date_end < '" . Format::dateDb($date_until_course_end, 'date') . "'";
                             list($control) = sql_fetch_row(sql_query($query));
                             if ($control) {
                                 $user_check = true;
                             }
                         }
                     }
                 }
                 if (!$date_until_course_end && !$day_from_subscription && !$date_until_course_end) {
                     if ($status_condition) {
                         $user_check = true;
                     }
                 }
                 if ($user_check) {
                     $course_info = $course_man->getCourseInfo($id_c);
                     //$user_detail = $acl_man->getUser($id_u, false);
                     $element_to_print[$id_c]['name'] = $course_info['name'];
                     $element_to_print[$id_c]['code'] = $course_info['code'];
                     $element_to_print[$id_c]['data'][] = array('idUser' => $id_u, 'idCourse' => $id_c, 'idCourseEdition' => $id_e, 'status' => $status, 'level' => $level, 'userid' => Docebo::aclm()->relativeId($u_userid), 'firstname' => $u_firstname, 'lastname' => $u_lastname, 'mail' => $u_email, 'suspended' => $u_valid <= 0, 'date_subscription' => $date_inscr, 'date_first_access' => $date_first_access, 'date_completed' => $date_complete, 'date_last_access' => $date_last_access);
                 }
             }
         }
         //backward compatibility
         $showed_columns = array();
         foreach ($cdata['showed_columns'] as $_column_key) {
             $showed_columns[] = $this->_check_delay_column($_column_key);
         }
         //print course table
         $this->_printTable_delay($type, $element_to_print, $showed_columns);
         if ($this->use_mail) {
             $this->_loadEmailActions();
         }
     }
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:101,代码来源:class.report_user.php

示例5: getAdminAllSett

 public function getAdminAllSett($id_admin, $idst_field_name)
 {
     $acl_man = Docebo::aclm();
     $admin_tree = $this->getAdminTree($id_admin);
     // separate the users and the groups
     $admin_users = $acl_man->getUsersFromMixedIdst($admin_tree);
     $admin_groups = $acl_man->getGroupsFromMixedIdst($admin_tree);
     $tree = array('users' => $admin_users, 'groups' => $admin_groups);
     // retrive parent groups
     $tmp_admin_groups = array();
     foreach ($admin_groups as $id_group) {
         $tmp_admin_groups = array_merge($tmp_admin_groups, $acl_man->getGroupGDescendants($id_group));
     }
     $admin_groups = array_merge($admin_groups, $tmp_admin_groups);
     //$admin_groups = $tmp_admin_groups;
     $admin_userlist = array_merge($admin_users, $acl_man->getGroupUMembers($admin_groups));
     if (!empty($admin_users)) {
         $arr_query[] = " {$idst_field_name} IN (" . implode(',', $admin_userlist) . ") ";
     }
     if (!empty($admin_groups)) {
         $arr_query[] = " {$idst_field_name} IN ( SELECT idstMember FROM %adm_group_members WHERE idst IN (" . implode(',', $admin_groups) . ") ) ";
     }
     if (!empty($arr_query)) {
         $query = "( " . implode($arr_query, 'OR') . " )";
     } else {
         $query = " 0 ";
     }
     return array('tree' => $tree, 'users' => $admin_userlist, 'groups' => $admin_groups, 'query' => $query);
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:29,代码来源:lib.preference.php

示例6: getReportRecipients

function getReportRecipients($id_rep)
{
    //get month, day
    $arr_days = array();
    $arr_months = array();
    $output = array();
    //check for daily
    $recipients = array();
    $qry = "SELECT * FROM %lms_report_schedule WHERE period LIKE '%day%' AND id_report_filter={$id_rep} AND enabled = 1";
    $res = sql_query($qry);
    while ($row = sql_fetch_assoc($res)) {
        $qry2 = "SELECT id_user FROM %lms_report_schedule_recipient WHERE id_report_schedule=" . $row['id_report_schedule'];
        $res2 = sql_query($qry2);
        while (list($recipient) = sql_fetch_row($res2)) {
            $recipients[] = $recipient;
            //idst of the recipients
        }
        $recipients_flat = Docebo::aclm()->getAllUsersFromSelection($recipients);
        if (!empty($recipients_flat)) {
            $qry3 = "SELECT email FROM %adm_user WHERE idst IN (" . implode(',', $recipients_flat) . ") AND email<>'' AND valid = 1";
            $res3 = sql_query($qry3);
            while (list($email) = sql_fetch_row($res3)) {
                $output[] = $email;
            }
        }
    }
    //check for weekly
    $daynumber = date('w');
    $recipients = array();
    $qry = "SELECT * FROM %lms_report_schedule WHERE period LIKE '%week,{$daynumber}%' AND id_report_filter={$id_rep} AND enabled = 1";
    $res = sql_query($qry);
    while ($row = sql_fetch_assoc($res)) {
        $qry2 = "SELECT id_user FROM %lms_report_schedule_recipient WHERE id_report_schedule=" . $row['id_report_schedule'];
        $res2 = sql_query($qry2);
        while (list($recipient) = sql_fetch_row($res2)) {
            $recipients[] = $recipient;
        }
        $recipients_flat = Docebo::aclm()->getAllUsersFromSelection($recipients);
        if (!empty($recipients_flat)) {
            $qry3 = "SELECT email FROM %adm_user WHERE idst IN (" . implode(',', $recipients_flat) . ") AND email<>'' AND valid = 1";
            $res3 = sql_query($qry3);
            while (list($email) = sql_fetch_row($res3)) {
                $output[] = $email;
            }
        }
    }
    //check for monthly
    $monthdaynumber = date('j');
    //today's day of the month, 1-31
    $monthdays = date('t');
    //amount of days in current month 28-31
    $recipients = array();
    $options = array();
    if ($monthdays < 31 && $monthdaynumber == $monthdays) {
        //if it's the last day of tehe month
        for ($i = 31; $i >= $monthdays; $i--) {
            $options[] = "'month,{$i}'";
        }
    } else {
        $options[] = "'month,{$monthdaynumber}'";
    }
    $qry = "SELECT * FROM %lms_report_schedule WHERE period IN (" . implode(',', $options) . ") AND id_report_filter={$id_rep} AND enabled = 1";
    $res = sql_query($qry);
    while ($row = sql_fetch_assoc($res)) {
        $qry2 = "SELECT id_user FROM %lms_report_schedule_recipient WHERE id_report_schedule=" . $row['id_report_schedule'];
        $res2 = sql_query($qry2);
        while (list($recipient) = sql_fetch_row($res2)) {
            $recipients[] = $recipient;
        }
        $recipients_flat = Docebo::aclm()->getAllUsersFromSelection($recipients);
        if (!empty($recipients_flat)) {
            $qry3 = "SELECT email FROM %adm_user WHERE idst IN (" . implode(',', $recipients_flat) . ") AND email<>'' AND valid = 1";
            $res3 = sql_query($qry3);
            while (list($email) = sql_fetch_row($res3)) {
                $output[] = $email;
            }
        }
    }
    //die(print_r($output, true));
    //prepare output
    return array_unique($output);
}
开发者ID:abhinay100,项目名称:forma_app,代码行数:82,代码来源:cron.report.php

示例7: getCourseLevel

 /**
  * Find the idst of the group of a course that represent the level
  * @param 	int 	$id_course 	the id of the course
  *
  * @return 	array	[lv] => idst, [lv] => idst
  */
 function getCourseLevel($id_course, $also_waiting = false)
 {
     require_once _lms_ . '/lib/lib.subscribe.php';
     $subscribe_man = new CourseSubscribe_Manager();
     $map = array();
     $levels = $subscribe_man->getUserLevel();
     //CourseLevel::getLevels();
     $acl_man =& Docebo::user()->getAclManager();
     // find all the group created for this menu custom for permission management
     $arr_groupid = array();
     foreach ($levels as $lv => $name_level) {
         $arr_groupid[$lv] = '/lms/course/' . $id_course . '/subscribed/' . $lv;
     }
     $arr_idst = Docebo::aclm()->getArrGroupST($arr_groupid);
     $map = array();
     $flip = array_flip($arr_groupid);
     foreach ($arr_idst as $groupid => $idst) {
         $lv = $flip[$groupid];
         $map[$lv] = (int) $idst;
     }
     return $map;
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:28,代码来源:lib.course.php

示例8: add_row

 /**
  * @param array data to insert; is an array with keys the names of cols and
  *				values the data
  * @return TRUE if the row was succesfully inserted, FALSE otherwise
  **/
 function add_row($row)
 {
     $acl =& Docebo::user()->getACL();
     $acl_manager = Docebo::aclm();
     foreach ($row as $k => $v) {
         if ($row[$k] !== false) {
             $row[$k] = trim($v);
         }
     }
     $userid = strtolower(addslashes($this->_convert_char($row['userid'])));
     $firstname = ucfirst(strtolower(addslashes($this->_convert_char($row['firstname']))));
     $lastname = ucfirst(strtolower(addslashes($this->_convert_char($row['lastname']))));
     $pass = addslashes($this->_convert_char($row['pass']));
     $email = addslashes($this->_convert_char($row['email']));
     $force_change = '';
     switch ($this->pwd_force_change_policy) {
         case "by_setting":
             $force_change = Get::sett('pass_change_first_login', 'off') == 'on' ? 1 : 0;
             break;
         case "true":
             $force_change = 1;
             break;
         case 'false':
             $force_change = 0;
             break;
     }
     $idst = false;
     $is_an_update = false;
     if ($this->insert_update) {
         // check if we need to update alredy existent users
         $idst = $acl_manager->getUserST($userid);
         if ($idst !== false) {
             $result = $acl_manager->updateUser($idst, $userid, $firstname, $lastname, $pass, $email, FALSE, FALSE, FALSE, TRUE, $force_change, FALSE, FALSE, FALSE, FALSE);
             $is_an_update = true;
             // the user exist but the update query fails
             if (!$result) {
                 $this->last_error = 'Error on update user';
                 return FALSE;
             }
         }
     }
     if ($idst === FALSE) {
         // create a new user
         $idst = $acl_manager->registerUser($userid, $firstname, $lastname, $pass, $email, '', '', FALSE, FALSE, '', $force_change, FALSE, FALSE, FALSE, FALSE);
     }
     if ($idst !== false) {
         $result = TRUE;
         $this->idst_imported[$idst] = $idst;
         if (!$is_an_update) {
             // -- Add user to registered users group if not importing into root ---
             $acl_manager->addToGroup($this->idst_oc, $idst);
             $acl_manager->addToGroup($this->idst_ocd, $idst);
             // -- add to group level ----------------------------------------------
             $acl_manager->addToGroup($this->userlevel, $idst);
         }
         // --------------------------------------------------------------------
         if (isset($row['tree_name']) && $row['tree_name'] != '') {
             $row['tree_name'] = strtolower($row['tree_name']);
             if (isset($this->orgchart[$row['tree_name']])) {
                 $f = $this->orgchart[$row['tree_name']];
                 $acl_manager->addToGroup($f->idst_oc, $idst);
                 $acl_manager->addToGroup($f->idst_ocd, $idst);
                 // apply enroll rules
                 $enrollrules = new EnrollrulesAlms();
                 $enrollrules->newRules('_NEW_IMPORTED_USER', array($idst), 'all', $f->idOrg);
             }
         } elseif ($this->idst_group != $this->idst_oc) {
             $acl_manager->addToGroup($this->idst_group, $idst);
             $acl_manager->addToGroup($this->idst_desc, $idst);
         }
         $array_subst = array('[url]' => Get::sett('url'), '[userid]' => $userid, '[password]' => $pass);
         //send email alert
         if ($this->send_alert) {
             $e_msg = new EventMessageComposer();
             $e_msg->setSubjectLangText('email', '_REGISTERED_USER_SBJ', false);
             $e_msg->setBodyLangText('email', '_REGISTERED_USER_TEXT', $array_subst);
             $e_msg->setBodyLangText('sms', '_REGISTERED_USER_TEXT_SMS', $array_subst);
             $recipients = array($idst);
             createNewAlert('UserNew', 'directory', 'edit', '1', 'New user created', $recipients, $e_msg, true);
         }
         //-save extra field------------------------------------------
         /*
         $arr_idst_all = $acl->getArrSTGroupsST(array($this->idst_group,$this->idst_desc));
         $arr_fields = $this->fl->getFieldsFromIdst($arr_idst_all);
         $arr_fields_toset = array();
         foreach( $arr_fields as $field_id => $field_info)
         	if(isset($row[$field_id]) && $row[$field_id] !== false)
         		$arr_fields_toset[$field_id] = addslashes($this->_convert_char($row[$field_id]));
         */
         foreach ($row as $field_id => $field_value) {
             if (isset($this->arr_fields[$field_id])) {
                 $arr_fields_toset[$field_id] = addslashes($this->_convert_char($field_value));
             }
         }
         if (count($arr_fields_toset) > 0) {
//.........这里部分代码省略.........
开发者ID:abhinay100,项目名称:forma_app,代码行数:101,代码来源:import.org_chart.php

示例9: Table

?>
<br/>
					<?php 
echo Lang::t('_NUM_ATTEMPTS', 'standard') . ': ' . $track['num_attempts'];
?>
<br/>
				</p>
				<div class="nofloat"></div>
				<br/>
				<h3><?php 
echo Lang::t('_FIRST_PLACES', 'standard');
?>
</h3>
				<?php 
$tb = new Table(30);
$tb->addHead(array(Lang::t('_POSITION', 'games'), Lang::t('_USERNAME', 'standard'), Lang::t('_FULLNAME', 'standard'), Lang::t('_CURRENT_SCORE', 'standard'), Lang::t('_MAX_SCORE', 'standard')), array('image', '', '', 'image', 'image'));
$i = 1;
foreach ($standings as $row) {
    $tb->addBody(array($i++, Docebo::aclm()->relativeID($row['userid']), $row['lastname'] . ' ' . $row['firstname'], $row['current_score'], $row['max_score']));
}
echo $tb->getTable();
?>
				<div class="nofloat"></div>
			</div>
		</div>
	</div>
	<?php 
// close the tab structure
$lmstab->endWidget();
?>
</div>
开发者ID:abhinay100,项目名称:forma_app,代码行数:31,代码来源:standings.php

示例10: connect

 function connect()
 {
     require_once _base_ . '/lib/lib.userselector.php';
     require_once _adm_ . '/modules/org_chart/tree.org_chart.php';
     $this->directory = new UserSelector();
     //$this->tree_view = $this->directory->getTreeView_OrgView();
     $orgDb = new TreeDb_OrgDb($GLOBALS['prefix_fw'] . '_org_chart_tree');
     $this->tree_view = new TreeView_OrgView($orgDb, 'organization_chart', Get::sett('title_organigram_chart'));
     $this->tree_view->aclManager =& Docebo::aclm();
     list($this->tree_desc) = $this->tree_view->tdb->getDescendantsSTFromST(array($this->tree));
     require_once $GLOBALS['where_framework'] . '/lib/lib.field.php';
     // load language for fields names
     $lang_dir = DoceboLanguage::createInstance('admin_directory', 'framework');
     $fl = new FieldList();
     $fl->setGroupFieldsTable($GLOBALS['prefix_fw'] . ORGCHAR_FIELDTABLE);
     $arr_fields = $fl->getAllFields();
     $this->cols_descriptor = NULL;
     if ($this->dbconn === NULL) {
         $this->dbconn = $GLOBALS['dbConn'];
     }
     $table_fields = array(array('Field' => 'idOrg', 'Type' => 'text'), array('Field' => 'idParent', 'Type' => 'text'), array('Field' => 'path', 'Type' => 'text'), array('Field' => 'level', 'Type' => 'text'));
     $this->cols_descriptor = array();
     foreach ($table_fields as $field_info) {
         if (!in_array($field_info['Field'], $this->ignore_cols)) {
             $mandatory = in_array($field_info['Field'], $this->mandatory_cols);
             if (isset($this->default_cols[$field_info['Field']])) {
                 $this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $lang_dir->def('_DIRECTORY_FILTER_' . $field_info['Field']), DOCEBOIMPORT_COLID => $field_info['Field'], DOCEBOIMPORT_COLMANDATORY => $mandatory, DOCEBOIMPORT_DATATYPE => $field_info['Type'], DOCEBOIMPORT_DEFAULT => $this->default_cols[$field_info['Field']]);
             } else {
                 $this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $lang_dir->def('_DIRECTORY_FILTER_' . $field_info['Field']), DOCEBOIMPORT_COLID => $field_info['Field'], DOCEBOIMPORT_COLMANDATORY => $mandatory, DOCEBOIMPORT_DATATYPE => $field_info['Type']);
             }
         }
     }
     foreach ($arr_fields as $field_id => $field_info) {
         if (in_array($field_info[FIELD_INFO_TYPE], $this->valid_filed_type)) {
             $this->cols_descriptor[] = array(DOCEBOIMPORT_COLNAME => $field_info[FIELD_INFO_TRANSLATION], DOCEBOIMPORT_COLID => $field_id, DOCEBOIMPORT_COLMANDATORY => FALSE, DOCEBOIMPORT_DATATYPE => 'text');
         }
     }
     $this->tree_view->tdb->setFolderLang($this->default_lang);
     $arr_foldersid = $this->tree_view->tdb->getFoldersIdFromIdst(array($this->tree));
     $folderid = $arr_foldersid[$this->tree];
     $root_folder = $this->tree_view->tdb->getFolderById($folderid);
     $arr_id = $this->tree_view->tdb->getDescendantsId($root_folder);
     $this->arr_folders = array();
     if ($arr_id !== FALSE) {
         $coll_folders = $this->tree_view->tdb->getFoldersCollection($arr_id);
         // make the new structure
         $curr_path = array();
         while (($folder = $coll_folders->getNext()) !== FALSE) {
             $curr_path = array_slice($curr_path, 0, $folder->level - $root_folder->level - 1);
             $curr_path[] = $folder->otherValues[ORGDB_POS_TRANSLATION];
             $this->arr_folders[implode('/', $curr_path)] = array('id' => $folder->id, 'inserted' => FALSE);
         }
     }
     return TRUE;
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:55,代码来源:connector.doceboorgchart.php

示例11: _special_field

 function _special_field($options, $platform, $opt_link)
 {
     $lang =& DoceboLanguage::createInstance('register', $platform);
     // Check for error
     $out = '';
     $error = $this->_checkField($_POST, $options, $platform, false);
     if ($error['error']) {
         $this->error = true;
         $out .= '<div class="reg_err_data">' . $error['msg'] . '</div>';
         return $out;
     }
     // if the user had enter a code we must check if there are folder related to it and
     // add the folder's field
     $registration_code_type = Get::sett('registration_code_type', '0');
     $code_is_mandatory = Get::sett('mandatory_code', 'off');
     $reg_code = Get::req('reg_code', DOTY_MIXED, '');
     if ($registration_code_type === 'custom') {
         $reg_code = 'change_by_custom_operation';
     }
     $array_folder = false;
     $folder_group = false;
     $uma = new UsermanagementAdm();
     if ($reg_code != '') {
         switch ($registration_code_type) {
             case "0":
                 //nothin to do
                 break;
             case "tree_course":
                 //a mixed code, let's cut the tree part and go on with the tree_man
                 $reg_code = substr(str_replace('-', '', $reg_code), 0, 10);
                 //procced with tree_man
             //procced with tree_man
             case "tree_man":
                 // resolving the tree_man
                 $uma = new UsermanagementAdm();
                 $array_folder = $uma->getFoldersFromCode($reg_code);
                 break;
             case "code_module":
                 require_once _adm_ . '/lib/lib.code.php';
                 $code_manager = new CodeManager();
                 $valid_code = $code_manager->controlCodeValidity($reg_code);
                 if ($valid_code == 1) {
                     $array_folder = $code_manager->getOrgAssociateWithCode($reg_code);
                 }
                 break;
             case "tree_drop":
                 // from the dropdown we will recive the id of the folder
                 // then we get the oc and ocd
                 $array_folder = $uma->getFolderGroups($reg_code);
                 break;
             case "custom":
                 //Custom code
                 require_once _adm_ . '/lib/lib.field.php';
                 $field_man = new FieldList();
                 $id_common_filed_1 = $field_man->getFieldIdCommonFromTranslation('Filiale');
                 $id_common_filed_2 = $field_man->getFieldIdCommonFromTranslation('Codice Concessionario');
                 $query = "SELECT `translation`" . " FROM core_field_son" . " WHERE id_common_son = " . (int) $_POST['field_dropdown'][$id_common_filed_1] . " AND lang_code = '" . getLanguage() . "'";
                 list($filed_1_translation) = sql_fetch_row(sql_query($query));
                 $code_part = substr($filed_1_translation, 1, 1);
                 $reg_code = strtoupper($code_part . '_' . $_POST['field_textfield'][$id_common_filed_2]);
                 // resolving the tree_man
                 $array_folder = $uma->getFoldersFromCode($reg_code);
                 break;
         }
     }
     if ($array_folder !== false) {
         if ($folder_group === false) {
             $folder_group = array();
         }
         foreach ($array_folder as $id_org_folder) {
             $folder_group[] = Docebo::aclm()->getGroupST('/oc_' . $id_org_folder);
         }
     }
     // find all the related extra field
     $extra_field = new FieldList();
     $play_field = $extra_field->playFieldsForUser(0, isset($_POST['group_sel']) ? $_POST['group_sel'] : (isset($_POST['group_sel_implode']) ? explode(',', $_POST['group_sel_implode']) : $array_folder), false, true);
     if ($play_field === false) {
         return $this->_opt_in($options, $platform, $opt_link);
     }
     $mand_sym = '<span class="mandatory">*</span>';
     $out .= '<div class="reg_note">' . $lang->def('_GROUPS_FIELDS') . '<ul class="reg_instruction">' . '<li>' . str_replace('[mandatory]', $mand_sym, $lang->def('_REG_MANDATORY')) . '</li>' . '</ul>' . '</div>';
     $out .= Form::getHidden('next_step', 'next_step', 'opt_in') . Form::getHidden('register_userid', 'register[userid]', $_POST['register']['userid']) . Form::getHidden('register_email', 'register[email]', $_POST['register']['email']) . Form::getHidden('register_firstname', 'register[firstname]', $_POST['register']['firstname']) . Form::getHidden('register_lastname', 'register[lastname]', $_POST['register']['lastname']) . Form::getHidden('register_pwd', 'register[pwd]', $_POST['register']['pwd']) . Form::getHidden('register_pwd_retype', 'register[pwd_retype]', $_POST['register']['pwd_retype']) . Form::getHidden('register_privacy', 'register[privacy]', 'ok');
     if (!empty($_POST['group_sel'])) {
         //&& !empty($_POST['group_sel_implode'])) {
         $out .= Form::getHidden('group_sel_implode', 'group_sel_implode', isset($_POST['group_sel']) ? implode(',', $_POST['group_sel']) : (isset($_POST['group_sel_implode']) ? $_POST['group_sel_implode'] : ''));
     }
     $out .= ($reg_code != '' ? Form::getHidden('reg_code', 'reg_code', $reg_code) : '') . $play_field . Form::getBreakRow() . Form::closeElementSpace() . Form::openButtonSpace('reg_form_button') . Form::getButton('reg_button', 'reg_button', $lang->def('_REGISTER')) . Form::closeButtonSpace();
     return $out;
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:89,代码来源:lib.usermanager.php

示例12: show_usersTask

 public function show_usersTask()
 {
     $id_group = Get::req('id', DOTY_INT, 0);
     if ($id_group <= 0) {
         return;
     }
     $res = Get::req('res', DOTY_STRING, '');
     switch ($res) {
         case 'ok_assignuser':
             $message = getResultUi(Lang::t('_OPERATION_SUCCESSFUL', 'admin_directory'));
             break;
         case 'err_assignuser':
             $message = getErrorUi(Lang::t('_GROUP_USERASSIGN_ERROR', 'admin_directory'));
             break;
         default:
             $message = "";
     }
     $group = $this->model->getGroupInfo($id_group, true);
     $this->render('show_users', array('id_group' => $id_group, 'groupid' => Docebo::aclm()->relativeId($group->groupid), 'filter_text' => "", 'result_message' => $message, 'permissions' => $this->permissions));
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:20,代码来源:GroupmanagementAdmController.php

示例13: array

 function &getCourseLevelSt($id_course)
 {
     $map = array();
     $levels = CourseLevel::getLevels();
     // find all the group created for this menu custom for permission management
     foreach ($levels as $lv => $name_level) {
         $group_info = Docebo::aclm()->getGroup(FALSE, '/lms/course/' . $id_course . '/subscribed/' . $lv);
         $map[$lv] = $group_info[ACL_INFO_IDST];
     }
     return $map;
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:11,代码来源:CourseAlmsController.php

示例14: fastsubscribe

 public function fastsubscribe()
 {
     if (!$this->permissions['subscribe_course']) {
         $output = array('success' => false, 'message' => $this->_getMessage("no permission"));
         echo $this->json->encode($output);
         return;
     } else {
         if (!$this->checkAdminLimit()) {
             $output = array('success' => false, 'message' => Lang::t('_SUBSCRIBE_LIMIT_REACHED', 'subscribe'));
             echo $this->json->encode($output);
             return;
         }
     }
     $id_user = Get::req('idst', DOTY_INT, 0);
     //user idst
     $userid = Get::req('userid', DOTY_STRING, '');
     //user username
     $result = false;
     if (Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
         require_once _base_ . '/lib/lib.preference.php';
         $adminManager = new AdminPreference();
         $admin_users = $adminManager->getAdminUsers(Docebo::user()->getIdST());
         $is_admin = true;
     }
     //adjust idst to subscribe
     if ($id_user <= 0) {
         $id_user = false;
         if ($userid != '') {
             $id_user = Docebo::aclm()->getUserST($userid);
         }
     }
     if ($id_user <= 0) {
         $output = array('success' => false, 'message' => $this->_getMessage("invalid user"));
         echo $this->json->encode($output);
         return;
     }
     if (isset($admin_users) && array_search($id_user, $admin_users) == false && Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
         $output = array('success' => true);
         echo $this->json->encode($output);
     } elseif ($id_user) {
         $level = 3;
         //student level
         $waiting = false;
         $result = $this->model->subscribeUser($id_user, $level, $waiting);
         if ($result) {
             require_once _lms_ . '/lib/lib.course.php';
             $docebo_course = new DoceboCourse($this->id_course);
             $level_idst =& $docebo_course->getCourseLevel($this->model->getIdCourse());
             if (count($level_idst) == 0 || $level_idst[1] == '') {
                 $level_idst =& $docebo_course->createCourseLevel($this->id_course);
             }
             //$this->acl_man->addToGroup($level_idst[$level], $id_user);
             $this->_addToCourseGroup($level_idst[$level], $id_user);
             // Save limit preference for admin
             if (Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
                 $admin_pref = new AdminPreference();
                 $pref = $admin_pref->getAdminRules(Docebo::user()->getIdSt());
                 if ($pref['admin_rules.limit_course_subscribe'] == 'on') {
                     $user_pref = new UserPreferences(Docebo::user()->getIdSt());
                     $subscribed_count = $user_pref->getPreference('user_subscribed_count');
                     $user_pref->setPreference('user_subscribed_count', $subscribed_count + 1);
                 }
             }
             //check if we have selected send alert checkbox
             $send_alert = Get::req('send_alert', DOTY_INT, 0) > 0;
             if ($send_alert) {
                 require_once _base_ . '/lib/lib.eventmanager.php';
                 $uinfo = Docebo::aclm()->getUser($id_user, false);
                 $course_info = $docebo_course->getAllInfo();
                 $array_subst = array('[url]' => Get::sett('url'), '[course]' => $course_info['name'], '[medium_time]' => $course_info['mediumTime'], '[firstname]' => $uinfo[ACL_INFO_FIRSTNAME], '[lastname]' => $uinfo[ACL_INFO_LASTNAME], '[username]' => Docebo::aclm()->relativeId($uinfo[ACL_INFO_USERID]));
                 // message to user that is waiting
                 $msg_composer = new EventMessageComposer();
                 $msg_composer->setSubjectLangText('email', '_NEW_USER_SUBSCRIBED_SUBJECT', false);
                 $msg_composer->setBodyLangText('email', '_NEW_USER_SUBSCRIBED_TEXT', $array_subst);
                 $msg_composer->setBodyLangText('sms', '_NEW_USER_SUBSCRIBED_TEXT_SMS', $array_subst);
                 // send message to the user subscribed
                 $users = array($id_user);
                 createNewAlert('UserCourseInserted', 'subscribe', 'insert', '1', 'User subscribed', $users, $msg_composer, $send_alert, true);
             }
         }
         $output = array('success' => $result);
         echo $this->json->encode($output);
     }
 }
开发者ID:abhinay100,项目名称:forma_app,代码行数:84,代码来源:SubscriptionAlmsController.php

示例15: delCourse

 public function delCourse($id_course)
 {
     if ((int) $id_course <= 0) {
         return false;
     }
     require_once _lms_ . '/lib/lib.course.php';
     require_once _base_ . '/lib/lib.upload.php';
     $course_man = new Man_Course();
     //remove course subscribed------------------------------------------
     $levels =& $course_man->getCourseIdstGroupLevel($id_course);
     foreach ($levels as $lv => $idst) {
         Docebo::aclm()->deleteGroup($idst);
     }
     $alluser = getIDGroupAlluser($id_course);
     Docebo::aclm()->deleteGroup($alluser);
     $course_man->removeCourseRole($id_course);
     $course_man->removeCourseMenu($id_course);
     $query = "DELETE FROM %lms_courseuser WHERE idCourse = '" . (int) $id_course . "'";
     $qres = sql_query($query);
     if (!$qres) {
         return false;
     }
     //--- remove course data ---------------------------------------------------
     $query_course = "SELECT imgSponsor, img_course, img_material, img_othermaterial, course_demo, course_type, has_editions\n\t\t\tFROM %lms_course\n\t\t\tWHERE idCourse = '" . (int) $id_course . "'";
     $qres = sql_query($query_course);
     list($file_sponsor, $file_logo, $file_material, $file_othermaterial, $file_demo, $course_type, $course_edition) = sql_fetch_row($qres);
     require_once _base_ . '/lib/lib.upload.php';
     $path = '/appLms/' . Get::sett('pathcourse');
     if (substr($path, -1) != '/' && substr($path, -1) != '\\') {
         $path .= '/';
     }
     sl_open_fileoperations();
     if ($file_sponsor != '') {
         sl_unlink($path . $file_sponsor);
     }
     if ($file_logo != '') {
         sl_unlink($path . $file_logo);
     }
     if ($file_material != '') {
         sl_unlink($path . $file_material);
     }
     if ($file_othermaterial != '') {
         sl_unlink($path . $file_othermaterial);
     }
     if ($file_demo != '') {
         sl_unlink($path . $file_demo);
     }
     sl_close_fileoperations();
     //if the scs exist delete course rooms
     if ($GLOBALS['where_scs'] !== false) {
         require_once _scs_ . '/lib/lib.room.php';
         $re = deleteRoom(false, 'course', $id_course);
     }
     //--- delete classroom or editions -----------------------------------------
     if ($course_type == 'classroom') {
         require_once _lms_ . '/admin/model/ClassroomAlms.php';
         $classroom_model = new ClassroomAlms($id_course);
         $classroom = $classroom_model->classroom_man->getDateIdForCourse($id_course);
         foreach ($classroom as $id_date) {
             if (!$classroom_model->classroom_man->delDate($id_date)) {
                 return false;
             }
         }
     } elseif ($course_edition == 1) {
         require_once _lms_ . '/admin/model/EditionAlms.php';
         $edition_model = new EditionAlms($id_course);
         $editions = $edition_model->classroom_man->getEditionIdFromCourse($id_course);
         foreach ($editions as $id_edition) {
             if (!$edition_model->edition_man->delEdition($id_edition)) {
                 return false;
             }
         }
     }
     //--- end classrooms or editions -------------------------------------------
     //--- clear LOs ------------------------------------------------------------
     require_once _lms_ . '/lib/lib.module.php';
     require_once _lms_ . '/lib/lib.param.php';
     require_once _lms_ . '/class.module/track.object.php';
     $arr_lo_param = array();
     $arr_lo_track = array();
     $arr_org_access = array();
     $query = "SELECT * FROM %lms_organization WHERE idCourse = " . (int) $id_course;
     $ores = sql_query($query);
     while ($obj = sql_fetch_object($ores)) {
         $deleted = true;
         if ($obj->idResource != 0 && $obj->objectType != "") {
             $lo = createLO($obj->objectType);
             $deleted = $lo->del($obj->idResource);
             //delete learning object
         }
         if ($deleted) {
             $arr_lo_track[] = $obj->idOrg;
             $arr_org_access[] = $obj->idOrg;
             //collect org access ids
             $arr_lo_param[] = $obj->idParam;
             //collect idParams ids
         }
     }
     //delete all organizations references for the course
     $query = "DELETE FROM %lms_organization WHERE idCourse = " . (int) $id_course;
//.........这里部分代码省略.........
开发者ID:abhinay100,项目名称:forma_app,代码行数:101,代码来源:CourseAlms.php


注:本文中的Docebo::aclm方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。