Exemplo n.º 1
0
        $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);
 }