Example #1
0
 function newroom()
 {
     require_once _base_ . '/lib/lib.form.php';
     require_once $GLOBALS['where_scs'] . '/lib/lib.room.php';
     $lang =& DoceboLanguage::createInstance('admin_config', 'scs');
     $out =& $GLOBALS['page'];
     $rules = getAdminRules();
     $out->setWorkingZone('content');
     $out->add(getTitleArea($lang->def('_ROOM_MAN'), 'admin_conf') . '<div class="std_block">');
     $room_types = array("course" => $lang->def('_COURSE'), "private" => $lang->def('_PRIVATE'), "public" => $lang->def('_PUBLIC'));
     $out->add(Form::openForm('rules_admin', 'index.php?modname=room&amp;op=insroom') . Form::openElementSpace() . Form::getTextfield($lang->def('_ROOM_NAME'), 'rules_room_name', 'rules[room_name]', 255) . Form::getDropdown($lang->def('_ROOM_TYPE'), 'rules_room_type', 'rules[room_type]', $room_types));
     while (list($var_name, $var_value) = each($rules)) {
         $out->add(maskMultiple($var_name, $var_value));
     }
     $out->add(Form::closeElementSpace() . Form::openButtonSpace() . Form::getButton('save', 'save', $lang->def('_SAVE')) . Form::getButton('undo', 'undo', $lang->def('_UNDO')) . Form::closeButtonSpace() . Form::closeForm());
     $out->add('</div>');
 }
 function add_row($row, $pk)
 {
     $id_course = false;
     if ($row['code'] == '') {
         $row['code'] = $this->default_cols['code'];
     }
     if ($row['name'] == '') {
         $row['name'] = $this->default_cols['name'];
     }
     if ($row['description'] == '') {
         $row['description'] = $this->default_cols['description'];
     }
     if ($row['lang_code'] == '') {
         $row['lang_code'] = $this->default_cols['lang_code'];
     }
     if ($row['status'] == '') {
         $row['status'] = $this->default_cols['status'];
     }
     if ($row['subscribe_method'] == '') {
         $row['subscribe_method'] = $this->default_cols['subscribe_method'];
     }
     if ($row['permCloseLO'] == '') {
         $row['permCloseLO'] = $this->default_cols['permCloseLO'];
     }
     if ($row['difficult'] == '') {
         $row['difficult'] = $this->default_cols['difficult'];
     }
     if ($row['show_progress'] == '') {
         $row['show_progress'] = $this->default_cols['show_progress'];
     }
     if ($row['show_time'] == '') {
         $row['show_time'] = $this->default_cols['show_time'];
     }
     if ($row['show_extra_info'] == '') {
         $row['show_extra_info'] = $this->default_cols['show_extra_info'];
     }
     if ($row['show_rules'] == '') {
         $row['show_rules'] = $this->default_cols['show_rules'];
     }
     if ($row['date_begin'] == '') {
         $row['date_begin'] = $this->default_cols['date_begin'];
     }
     if ($row['date_end'] == '') {
         $row['date_end'] = $this->default_cols['date_end'];
     }
     if ($row['valid_time'] == '') {
         $row['valid_time'] = $this->default_cols['valid_time'];
     }
     if ($row['max_num_subscribe'] == '') {
         $row['max_num_subscribe'] = $this->default_cols['max_num_subscribe'];
     }
     if ($row['prize'] == '') {
         $row['prize'] = $this->default_cols['prize'];
     }
     if ($row['selling'] == '') {
         $row['selling'] = $this->default_cols['selling'];
     }
     // check if the course identified by the pk alredy exits
     $id_course = $this->get_row_by_pk($pk);
     if ($id_course === false) {
         $this->last_error = 'Error in search query : ( ' . mysql_error() . ' )';
         return false;
     }
     if ($id_course === 'jump') {
         return true;
     }
     $is_add = false;
     if ($id_course === 0) {
         $is_add = true;
         // course is to add
         $query_course = "\r\n\t\t\tINSERT INTO " . $GLOBALS['prefix_lms'] . "_course \r\n\t\t\tSET idCategory = '0', \r\n\t\t\t\tcode = '" . addslashes($row['code']) . "', \r\n\t\t\t\tname = '" . addslashes($row['name']) . "', \r\n\t\t\t\tdescription = '" . $row['description'] . "', \r\n\t\t\t\tlang_code = '" . $row['lang_code'] . "', \r\n\t\t\t\tstatus = '" . $row['status'] . "', \r\n\t\t\t\tsubscribe_method = '" . $row['subscribe_method'] . "',\r\n\t\t\t\tpermCloseLO = '" . $row['permCloseLO'] . "', \r\n\t\t\t\tdifficult = '" . $row['difficult'] . "', \r\n\t\t\t\tshow_progress = '" . $row['show_progress'] . "', \r\n\t\t\t\tshow_time = '" . $row['show_time'] . "', \r\n\t\t\t\tshow_extra_info = '" . $row['show_extra_info'] . "', \r\n\t\t\t\tshow_rules = '" . $row['show_rules'] . "', \r\n\t\t\t\tdate_begin = '" . $row['date_begin'] . "', \r\n\t\t\t\tdate_end = '" . $row['date_end'] . "', \r\n\t\t\t\tvalid_time = '" . $row['valid_time'] . "',\r\n\t\t\t\tmax_num_subscribe = '" . $row['max_num_subscribe'] . "', \r\n\t\t\t\tprize = '" . $row['prize'] . "',\r\n\t\t\t\tselling = '" . $row['selling'] . "',\r\n\t\t\t\timported_from_connection = '" . $this->get_name() . "'";
         if (!sql_query($query_course)) {
             $this->last_error = 'Error in insert query : ( ' . mysql_error() . ' )' . '<!-- ' . $query_course . ' -->';
             return false;
         }
         $id_course = mysql_insert_id();
         // import the menu
         if (Docebo::user()->getUserLevelId() != ADMIN_GROUP_GODADMIN) {
             $re &= sql_query("\r\n\t\t\t\tINSERT INTO " . $GLOBALS['prefix_fw'] . "_admin_course \r\n\t\t\t\t( id_entry, type_of_entry, idst_user ) VALUES \r\n\t\t\t\t( '" . $id_course . "', 'course', '" . getLogUserId() . "') ");
         }
         //if the scs exist create a room
         if ($GLOBALS['where_scs'] !== false) {
             require_once $GLOBALS['where_scs'] . '/lib/lib.room.php';
             $rules = array('room_name' => $row['name'], 'room_type' => 'course', 'id_source' => $id_course);
             $admin_rules = getAdminRules();
             $rules = array_merge($rules, $admin_rules);
             $re = insertRoom($rules);
         }
         $course_idst = DoceboCourse::createCourseLevel($id_course);
         require_once $GLOBALS['where_lms'] . '/lib/lib.manmenu.php';
         if (!cerateCourseMenuFromCustom($this->std_menu_to_assign, $id_course, $course_idst)) {
             $this->last_error = 'Error in menu assignament';
             return false;
         }
     } else {
         // course is to update
         $query_course = "\r\n\t\t\tUPDATE " . $GLOBALS['prefix_lms'] . "_course \r\n\t\t\tSET code = '" . addslashes($row['code']) . "', \r\n\t\t\t\tname = '" . addslashes($row['name']) . "', \r\n\t\t\t\tdescription = '" . $row['description'] . "', \r\n\t\t\t\tlang_code = '" . $row['lang_code'] . "', \r\n\t\t\t\tstatus = '" . $row['status'] . "', \r\n\t\t\t\tsubscribe_method = '" . $row['subscribe_method'] . "',\r\n\t\t\t\tpermCloseLO = '" . $row['permCloseLO'] . "', \r\n\t\t\t\tdifficult = '" . $row['difficult'] . "', \r\n\t\t\t\tshow_progress = '" . $row['show_progress'] . "', \r\n\t\t\t\tshow_time = '" . $row['show_time'] . "', \r\n\t\t\t\tshow_extra_info = '" . $row['show_extra_info'] . "', \r\n\t\t\t\tshow_rules = '" . $row['show_rules'] . "', \r\n\t\t\t\tdate_begin = '" . $row['date_begin'] . "', \r\n\t\t\t\tdate_end = '" . $row['date_end'] . "', \r\n\t\t\t\tvalid_time = '" . $row['valid_time'] . "',\r\n\t\t\t\tmax_num_subscribe = '" . $row['max_num_subscribe'] . "', \r\n\t\t\t\tprize = '" . $row['prize'] . "',\r\n\t\t\t\tselling = '" . $row['selling'] . "'\r\n\t\t\tWHERE idCourse = '" . $id_course . "'";
         if (!sql_query($query_course)) {
             $this->last_error = 'Error in update query : ( ' . mysql_error() . ' )' . '<!-- ' . $query_course . ' -->';
             return false;
         }
     }
     if ($id_course != false) {
         if ($this->cache_inserted) {
             $this->arr_id_inserted[] = $id_course;
         }
         if ($this->sendnotify == 1) {
             // send notify
             if ($is_add) {
                 require_once $GLOBALS['where_framework'] . '/lib/lib.eventmanager.php';
                 $msg_composer = new EventMessageComposer();
                 $msg_composer->setSubjectLangText('email', '_ALERT_SUBJECT', false);
                 $msg_composer->setBodyLangText('email', '_ALERT_TEXT', array('[url]' => Get::sett('url'), '[course_code]' => $row['code'], '[course]' => $row['name']));
                 $msg_composer->setBodyLangText('sms', '_ALERT_TEXT_SMS', array('[url]' => Get::sett('url'), '[course_code]' => $row['code'], '[course]' => $row['name']));
                 require_once $GLOBALS['where_lms'] . '/lib/lib.course.php';
                 $course_man = new Man_Course();
                 $recipients = $course_man->getIdUserOfLevel($id_course);
                 createNewAlert('CoursePropModified', 'course', 'add', '1', 'Inserted course ' . $_POST['course_name'], $recipients, $msg_composer);
             }
         }
         return true;
     }
     $this->last_error = 'Unknow error';
     return false;
 }