$msg .= $br_char . "----------------------------------" . $br_char; /** Getting client info */ $result = parse_user_agent(); $msg .= $br_char . "---------- CLIENT INFO -----------" . $br_char; $msg .= "IP: " . $_SERVER['REMOTE_ADDR'] . $br_char; $msg .= "USER AGENT: " . $_SERVER['HTTP_USER_AGENT'] . $br_char; $msg .= "OS: " . $result['platform'] . $br_char; $msg .= "BROWSER: " . $result['browser'] . " " . $result['version'] . $br_char; $msg .= "RESOLUTION: " . Get::req("help_req_resolution", DOTY_STRING, "") . $br_char; $msg .= "FLASH: " . Get::req("help_req_flash_installed", DOTY_STRING, "") . $br_char; $mailer = new DoceboMailer(); $mailer->IsHTML(true); $res = $mailer->SendMail($user_email, $help_email, $subject, $msg); $output = array('success' => $res); if (!$res) { $output['message'] = UIFeedback::perror(Lang::t('_OPERATION_FAILURE', 'menu')); } $json = new Services_JSON(); aout($json->encode($output)); break; default: break; } /** * Parses a user agent string into its important parts * * @author Jesse G. Donat <*****@*****.**> * @link https://github.com/donatj/PhpUserAgent * @link http://donatstudios.com/PHP-Parser-HTTP_USER_AGENT * @param string|null $u_agent User agent string to parse or null. Uses $_SERVER['HTTP_USER_AGENT'] on NULL * @return array an array with browser, version and platform keys
/** * produces the form to load into modify dialog */ public function modTask() { //check permissions if (!$this->permissions['mod']) { $output = array('success' => false, 'message' => $this->_getErrorMessage('no permission')); echo $this->json->encode($output); return; } $id_policy = Get::req('id', DOTY_INT, -1); if ($id_policy <= 0) { $output = array('success' => false, 'message' => UIFeedback::perror($this->_getErrorMessage("failure"))); echo $this->json->encode($output); return; } //retrieve category info (name and translations $info = $this->model->getPolicyInfo($id_policy); $this->render('policy_editmask', array('id_policy' => $id_policy, 'name' => $info->name, 'translations' => $info->translations)); $params = array('success' => true, 'header' => Lang::t('_MOD', 'standard'), 'body' => ob_get_clean()); @ob_start(); echo $this->json->encode($params); }
public function fast_subscribe_dialog_action() { require_once _lms_ . '/lib/lib.course.php'; $man_course = new Man_Course(); $acl_man = Docebo::user()->getAclManager(); $id_user = Get::req('id_user', DOTY_INT, 0); $id_course = Get::Req('id_course', DOTY_INT, 0); $level = Get::Req('level', DOTY_INT, 3); //default: student level $userid = Get::req('userid', DOTY_STRING, ""); $course = Get::req('course', DOTY_STRING, ""); if ($course != "") { $course = trim(preg_replace('|^\\[([^\\]]*)\\][\\s]*|i', '', $course)); } //eliminates che code from the course name $id_user = $acl_man->getUserST($userid); $id_course = $man_course->getCourseIdByName($course); //check if input is correct if ($id_user <= 0 || $id_course <= 0) { $output['success'] = false; $output['message'] = UiFeedback::perror(Lang::t('_INVALID_DATA', 'standard')); //'Invalid input. COURSE: '.$id_course.'; USER: '******'edition', DOTY_INT, 0); $classroom = Get::Req('classroom', DOTY_INT, 0); $cinfo = $man_course->getCourseInfo($id_course); if ($cinfo['course_edition'] > 0) { $classroom = 0; } else { $edition = 0; } if ($cinfo['course_type'] == 'classroom') { $edition = 0; } if ($cinfo['course_type'] == 'classroom' && $classroom <= 0) { $output['success'] = false; $output['message'] = UIFeedback::pnotice(Lang::t('_CLASSROOM', 'standard') . ': ' . Lang::t('_EMPTY_SELECTION', 'standard')); echo $this->json->encode($output); return; } $_model = new SubscriptionAlms($id_course, $edition > 0 ? $edition : false, $classroom > 0 ? $classroom : false); //check if user is already subscribed if ($_model->isUserSubscribed($id_user)) { $output['success'] = false; $output['message'] = UIFeedback::pnotice(Lang::t('_USER_ALREADY_SUBSCRIBED', 'course') . ': ' . $userid); echo $this->json->encode($output); return; } //subscribe user $res = $_model->subscribeUser($id_user, $level, false); if ($res) { $docebo_course = new DoceboCourse($id_course); $level_idst =& $docebo_course->getCourseLevel($id_course); if (count($level_idst) == 0 || $level_idst[1] == '') { $level_idst =& $docebo_course->createCourseLevel($id_course); } //$this->acl_man->addToGroup($level_idst[$level], $id_user); $this->_addToCourseGroup($level_idst[$level], $id_user); } $output['success'] = $res ? true : false; if (!$res) { $output['message'] = UIFeedback::perror(Lang::t('_ERROR_WHILE_SAVING', 'standard')); } else { $output['message'] = UIFeedback::pinfo(Lang::t('_GOTO_COURSE_T', 'course')); } echo $this->json->encode($output); }
public function delete_waitingTask() { //check permissions if (!$this->permissions['approve_waiting_user']) { $output = array('success' => false, 'message' => $this->_getErrorMessage('no permission')); echo $this->json->encode($output); return; } $arr_users = array(); $id_user = Get::req('id_user', DOTY_INT, -1); if ($id_user > 0) { $arr_users = array($id_user); } else { $str_users = trim(Get::Req('users', DOTY_STRING, "")); $arr_users = $str_users != "" ? explode(",", $str_users) : array(); } $output = array(); if (!is_array($arr_users) || empty($arr_users)) { $output['success'] = false; $output['message'] = UIFeedback::pnotice(Lang::t('_NO_USERS_SPECIFIED', 'admin_directory')); echo $this->json->encode($output); return; } $res = $this->model->deleteWaitingUsers($arr_users); if ($res) { $output['success'] = true; } else { $output['success'] = false; $output['message'] = UIFeedback::perror(Lang::t('_OPERATION_FAILURE', 'standard')); } echo $this->json->encode($output); }
public function del_course_competenceTask() { $id_course = Get::req('id_course', DOTY_INT, 0); $id_competence = Get::req('id_competence', DOTY_INT, 0); $output = array(); if ($id_course <= 0 || $id_competence <= 0) { $message_text = $id_course <= 0 ? $this->_getErrorMessage("invalid course") : $this->_getErrorMessage("invalid competence"); $output['success'] = false; $output['message'] = UIFeedback::perror($message_text); } else { $res = $this->model->deleteCourseCompetences((int) $id_course, (int) $id_competence); $output['success'] = $res ? true : false; if (!$res) { $output['message'] = UIFeedback::perror($this->_getErrorMessage("remove course competence")); } } echo $this->json->encode($output); }
public function move_categoryTask() { //check permissions if (!$this->permissions['mod']) { $output = array('success' => false, 'message' => $this->_getMessage('no permission')); echo $this->json->encode($output); return; } $src = Get::req('src', DOTY_INT, -1); $dest = Get::req('dest', DOTY_INT, -1); $output = array(); if ($src <= 0 || $dest < 0) { $output['success'] = false; $output['message'] = UIFeedback::perror($this->_getMessage("invalid category")); echo $this->json->encode($output); return; } $res = $this->model->moveCategory($src, $dest); $output['success'] = $res ? true : false; if (!$res) { $output['message'] = UIFeedback::perror($this->_getMessage("move category")); } echo $this->json->encode($output); }