Exemplo n.º 1
0
function clearAllLogs()
{
    //$sql = "DELETE FROM module_chat WHERE 1";
    eF_deleteTableData("module_chat", "1");
    //echo _CHAT_CHAT_HISTORY_SUCCESSFULY_DELETED;
    echo 'Chat history successfuly deleted';
}
Exemplo n.º 2
0
 public function getModule()
 {
     // Get smarty variable
     $smarty = $this->getSmartyVar();
     if (isset($_GET['delete_faq']) && eF_checkParameter($_GET['delete_faq'], 'id')) {
         eF_deleteTableData("module_faq", "id=" . $_GET['delete_faq']);
         eF_redirect("" . $this->moduleBaseUrl . "&message=" . urlencode(_FAQ_SUCCESFULLYDELETEDFAQENTRY) . "&message_type=success");
     } else {
         if (isset($_GET['add_faq']) || isset($_GET['edit_faq']) && eF_checkParameter($_GET['edit_faq'], 'id')) {
             $load_editor = true;
             //TODO
             $form = new HTML_QuickForm("faq_entry_form", "post", $_SERVER['REQUEST_URI'], "", null, true);
             $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
             //Register this rule for checking user input with our function, eF_checkParameter
             $form->addElement('textarea', 'question', null, 'class = "simpleEditor" style = "width:100%;height:5em;"');
             $form->addElement('textarea', 'answer', null, 'class = "simpleEditor" style = "width:100%;height:25em;"');
             $currentLesson = $this->getCurrentLesson();
             $units = eF_getTableDataFlat("content", "id, name", "lessons_ID = " . $currentLesson->lesson['id']);
             //$units['id'] = array_merge(array("0"), $units['id']);
             //$units['name'] = array_merge(array(_FAQ_GENERAL_LESSON), $units['name']);
             sizeof($units) > 0 ? $units = array(0 => _FAQ_GENERAL_LESSON) + array_combine($units['id'], $units['name']) : ($units = array("0" => _FAQ_GENERAL_LESSON));
             $form->addElement('select', 'related_content', _CONTENT, $units, 'class = "inputSelectLong"');
             $form->addElement('submit', 'submit_faq', _SUBMIT, 'class = "flatButton"');
             if (isset($_GET['edit_faq'])) {
                 $faq_entry = eF_getTableData("module_faq", "*", "id=" . $_GET['edit_faq']);
                 $form->setDefaults(array('related_content' => $faq_entry[0]['unit_ID'], 'question' => $faq_entry[0]['question'], 'answer' => $faq_entry[0]['answer']));
             }
             if ($form->isSubmitted() && $form->validate()) {
                 $fields = array('lessons_ID' => $_SESSION['s_lessons_ID'], 'unit_ID' => $form->exportValue('related_content'), 'question' => $form->exportValue('question'), 'answer' => $form->exportValue('answer'));
                 if (isset($_GET['edit_faq'])) {
                     if (eF_updateTableData("module_faq", $fields, "id=" . $_GET['edit_faq'])) {
                         eF_redirect("" . $this->moduleBaseUrl . "&message=" . urlencode(_FAQ_SUCCESFULLYUPDATEDFAQENTRY) . "&message_type=success");
                     } else {
                         $this->setMessageVar(_FAQ_PROBLEMUPDATINGFAQENTRY, 'failure');
                     }
                 } else {
                     if (eF_insertTableData("module_faq", $fields)) {
                         eF_redirect("" . $this->moduleBaseUrl . "&message=" . urlencode(_FAQ_SUCCESFULLYINSERTEDFAQENTRY) . "&message_type=success");
                     } else {
                         $this->setMessageVar(_FAQ_PROBLEMINSERTINGFAQENTRY, 'failure');
                     }
                 }
             }
             $renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty);
             $form->accept($renderer);
             $smarty->assign('T_FAQ_FORM', $renderer->toArray());
         } else {
             $currentLesson = $this->getCurrentLesson();
             $faq = eF_getTableDataFlat("module_faq", "*", "lessons_ID=" . $currentLesson->lesson['id']);
             $currentUser = $this->getCurrentUser();
             $smarty->assign("T_FAQUSERLESSONROLE", $currentUser->getRole($currentLesson));
             $smarty->assign("T_FAQ", $faq);
             $smarty->assign("T_QUESTIONS_FOUND", sizeof($faq));
         }
     }
     return true;
 }
 /**
  * Delete user
  *
  * This function is used to delete a user from the system.
  * The user cannot be deleted if he is the last system administrator.
  * <br/>Example:
  * <code>
  * $user = EfrontUserFactory :: factory('jdoe');
  * $user -> delete();
  * </code>
  *
  * @return boolean True if the user was deleted successfully
  * @since 3.5.0
  * @access public
  */
 public function delete()
 {
     parent::delete();
     $userDoneTests = eF_getTableData("done_tests", "id", "users_LOGIN='******'login'] . "'");
     if (sizeof($userDoneTests) > 0) {
         eF_deleteTableData("done_questions", "done_tests_ID IN (" . implode(",", $userDoneTests['id']) . ")");
         eF_deleteTableData("done_tests", "users_LOGIN='******'login'] . "'");
     }
     eF_deleteTableData("users_to_lessons", "users_LOGIN='******'login'] . "'");
     eF_deleteTableData("users_to_courses", "users_LOGIN='******'login'] . "'");
     /*
     		foreach ($this -> getCourses() as $id => $value) {
     			$cacheKey = "user_course_status:course:".$id."user:"******"users_to_projects", "users_LOGIN='******'login'] . "'");
     //eF_deleteTableData("users_to_done_tests",   "users_LOGIN='******'login']."'");
     if (G_VERSIONTYPE != 'community') {
         #cpp#ifndef COMMUNITY
         if (G_VERSIONTYPE != 'standard') {
             #cpp#ifndef STANDARD
             eF_deleteTableData("users_to_skillgap_tests", "users_LOGIN='******'login'] . "'");
         }
         #cpp#endif
     }
     #cpp#endif
     eF_deleteTableData("completed_tests", "users_LOGIN='******'login'] . "'");
 }
Exemplo n.º 4
0
 /**
  * (non-PHPdoc)
  * @see libraries/EfrontEntity#delete()
  */
 public function delete()
 {
     if (!$this->remote) {
         $directory = new EfrontDirectory(G_THEMESPATH . $this->{$this->entity}['path']);
         $directory->delete();
     }
     eF_deleteTableData($this->entity, "id=" . $this->{$this->entity}['id']);
     $modules = eF_loadAllModules();
     foreach ($modules as $key => $module) {
         $module->onDeleteTheme($this->{$this->entity}['id']);
     }
     EfrontCache::getInstance()->deleteCache('themes');
 }
Exemplo n.º 5
0
 /**
  * Set the lesson mode to 'shared' in the course
  *
  * @param EfrontLesson $lesson The lesson to set the mode for
  * @since 3.6.1
  * @access private
  */
 private function setSharedLessonMode($lesson)
 {
     $courseUsers = $this->countCourseUsers(array('archive' => false));
     if ($courseUsers['count'] > 0) {
         throw new Exception(_YOUCANNOTCHANGEMODECOURSENOTEMPTY, EfrontCourseException::COURSE_NOT_EMPTY);
     }
     $coursedata = eF_getTableData("lessons_to_courses", "*", "lessons_ID=" . $lesson->lesson['id'] . " and courses_ID=" . $this->course['id']);
     $lessonsSchedule[$lesson->lesson['instance_source']] = array('start_date' => $coursedata[0]['start_date'], 'end_date' => $coursedata[0]['end_date'], 'start_period' => $coursedata[0]['start_period'], 'end_period' => $coursedata[0]['end_period']);
     $this->addLessons($lesson->lesson['instance_source'], $lessonsSchedule);
     $this->replaceLessonInCourseOrder($lesson, $lesson->lesson['instance_source']);
     $this->replaceLessonInCourseRules($lesson, $lesson->lesson['instance_source']);
     //Must be put *before* removeLessons()
     //$this -> removeLessons($lesson);		//commented out because it was messing up with order
     eF_deleteTableData("lessons_to_courses", "courses_ID=" . $this->course['id'] . " and lessons_ID=" . $lesson->lesson['id']);
 }
Exemplo n.º 6
0
 public static function switchLessonReportingMode($mode)
 {
     if ($GLOBALS['configuration']['time_reports'] != $mode && $mode == 1) {
         //step one: Read all times from the user_times table, per user,lesson and unit
         $data = $totals = array();
         $result = eF_getTableData("user_times", "users_LOGIN, entity_ID, lessons_ID, time", "entity = 'unit'");
         foreach ($result as $value) {
             if (isset($totals[$value['users_LOGIN']][$value['lessons_ID']][$value['entity_ID']])) {
                 $totals[$value['users_LOGIN']][$value['lessons_ID']][$value['entity_ID']] += $value['time'];
             } else {
                 $totals[$value['users_LOGIN']][$value['lessons_ID']][$value['entity_ID']] = $value['time'];
             }
         }
         //step 2: read all current time entries in the users_to_content table
         $result = eF_getTableData("users_to_content", "users_LOGIN, content_ID, lessons_ID, total_time");
         foreach ($result as $value) {
             $existing[$value['users_LOGIN']][$value['lessons_ID']][$value['content_ID']] = $value['total_time'];
         }
         //step 3: Populate the users_to_content table with the data from the user_times table, or update if a value already exist (overwriting it).
         foreach ($totals as $user => $lesson) {
             foreach ($lesson as $lessonId => $content) {
                 foreach ($content as $contentId => $seconds) {
                     if (isset($existing[$user][$lessonId][$contentId])) {
                         eF_updateTableData("users_to_content", array("total_time" => $seconds), "users_LOGIN='******' and content_ID={$contentId} and lessons_ID={$lessonId}");
                     } else {
                         $data[] = array("users_LOGIN" => $user, "content_ID" => $contentId, "lessons_ID" => $lessonId, "total_time" => $seconds);
                     }
                 }
             }
         }
         eF_insertTableDataMultiple("users_to_content", $data);
         //step 4: Read the lesson (but not unit) times from the user_times table
         $data = $totals = array();
         $result = eF_getTableData("user_times", "users_LOGIN, entity_ID, time", "entity = 'lesson'");
         foreach ($result as $value) {
             if (isset($totals[$value['users_LOGIN']][$value['entity_ID']])) {
                 $totals[$value['users_LOGIN']][$value['entity_ID']] += $value['time'];
             } else {
                 $totals[$value['users_LOGIN']][$value['entity_ID']] = $value['time'];
             }
         }
         //step 5: Populate the users_to_content table with the plain lesson times, using null as a contentId
         foreach ($totals as $user => $lesson) {
             foreach ($lesson as $lessonId => $seconds) {
                 $data[] = array("users_LOGIN" => $user, "content_ID" => null, "lessons_ID" => $lessonId, "total_time" => $seconds);
             }
         }
         eF_deleteTableData("users_to_content", "content_ID is null or content_ID=0");
         //empty previous entries
         eF_insertTableDataMultiple("users_to_content", $data);
     }
 }
Exemplo n.º 7
0
 protected function importDataMultiple($type, $data)
 {
     try {
         switch ($type) {
             case "users_to_groups":
                 foreach ($data as $value) {
                     $groups_ID = current($this->getGroupByName($value['groups.name']));
                     $groups[$groups_ID][] = $value['users_login'];
                 }
                 foreach ($groups as $id => $groupUsers) {
                     try {
                         $group = new EfrontGroup($id);
                         $this->log["success"][] = _NEWGROUPASSIGNMENT . " " . $group->group['name'];
                         $group->addUsers($groupUsers);
                     } catch (Exception $e) {
                         $this->log["failure"][] = _LINE . " " . ($key + 2) . ": " . $e->getMessage();
                         // ." ". str_replace("\n", "<BR>", $e->getTraceAsString());
                     }
                 }
                 break;
             case "users":
                 $existingUsers = eF_getTableDataFlat("users", "login, active, archive");
                 $roles = EfrontUser::getRoles();
                 foreach (EfrontUser::getRoles(true) as $key => $value) {
                     $rolesTypes[$key] = mb_strtolower($value);
                 }
                 $languages = EfrontSystem::getLanguages();
                 $addedUsers = array();
                 foreach ($data as $key => $value) {
                     try {
                         $newUser = EfrontUser::createUser($value, $existingUsers, false);
                         $existingUsers['login'][] = $newUser->user['login'];
                         $existingUsers['active'][] = $newUser->user['active'];
                         $existingUsers['archive'][] = $newUser->user['archive'];
                         $addedUsers[] = $newUser->user['login'];
                         $this->log["success"][] = _IMPORTEDUSER . " " . $newUser->user['login'];
                     } catch (Exception $e) {
                         if ($this->options['replace_existing']) {
                             if ($this->isAlreadyExistsException($e->getCode(), $type)) {
                                 if (!in_array($value['login'], $existingUsers['login'], true)) {
                                     //For case-insensitive matches
                                     foreach ($existingUsers['login'] as $login) {
                                         if (mb_strtolower($value['login']) == mb_strtolower($login)) {
                                             $value['login'] = $login;
                                         }
                                     }
                                 }
                                 if (!isset($value['user_type'])) {
                                     $value['user_type'] = 'student';
                                 } else {
                                     if (in_array(mb_strtolower($value['user_type']), $roles)) {
                                         $value['user_type'] = mb_strtolower($value['user_type']);
                                     } else {
                                         if ($k = array_search(mb_strtolower($value['user_type']), $rolesTypes)) {
                                             $value['user_types_ID'] = $k;
                                             $value['user_type'] = $roles[$k];
                                         } else {
                                             $value['user_type'] = 'student';
                                         }
                                     }
                                 }
                                 if (!in_array($value['user_type'], EFrontUser::$basicUserTypes)) {
                                     $value['user_type'] = 'student';
                                     $value['user_types_ID'] = 0;
                                 }
                                 if ($value['languages_NAME'] == "") {
                                     unset($value['languages_NAME']);
                                 } elseif (in_array($value['languages_NAME'], array_keys($languages)) === false) {
                                     $value['languages_NAME'] = $GLOBALS['configuration']['default_language'];
                                 }
                                 $this->updateExistingData($key + 2, $type, $value);
                             } else {
                                 $this->log["failure"][] = _LINE . " " . ($key + 2) . ": " . $e->getMessage();
                                 // ." ". str_replace("\n", "<BR>", $e->getTraceAsString());
                             }
                         } else {
                             $this->log["failure"][] = _LINE . " " . ($key + 2) . ": " . $e->getMessage();
                             // ." ". str_replace("\n", "<BR>", $e->getTraceAsString());
                         }
                     }
                 }
                 $defaultGroup = eF_getTableData("groups", "id", "is_default = 1 AND active = 1");
                 if (!empty($defaultGroup) && !empty($addedUsers)) {
                     $defaultGroup = new EfrontGroup($defaultGroup[0]['id']);
                     $defaultGroup->addUsers($addedUsers);
                 }
                 break;
             case "users_to_jobs":
                 $jobDescriptions = $userJobs = $userBranchesAssigned = $userBranchesUnassigned = array();
                 $result = eF_getTableData("module_hcd_job_description", "job_description_ID, branch_ID, description");
                 foreach ($result as $value) {
                     $jobDescriptions[$value['job_description_ID']] = $value;
                 }
                 $result = eF_getTableData("module_hcd_employee_has_job_description", "*");
                 foreach ($result as $value) {
                     $userJobs[$value['users_login']][$value['job_description_ID']] = $value['job_description_ID'];
                 }
                 $result = eF_getTableData("module_hcd_employee_works_at_branch", "*");
                 foreach ($result as $value) {
                     if ($value['assigned']) {
                         $userBranchesAssigned[$value['users_login']][$value['branch_ID']] = $value;
                     } else {
                         $userBranchesUnassigned[$value['users_login']][$value['branch_ID']] = $value;
                     }
                 }
                 $allBranches = eF_getTableData("module_hcd_branch", "branch_ID, father_branch_ID", "");
                 $addedJobs = $addedBranches = array();
                 foreach ($data as $key => $value) {
                     try {
                         if (!$value['description']) {
                             throw new EfrontJobException(_MISSING_JOB_DESCRIPTION, EfrontJobException::MISSING_JOB_DESCRIPTION);
                         }
                         $branchId = $this->getBranchByName($value['branch_name']);
                         //Executes only once
                         if ($branchId[0]) {
                             if (sizeof($branchId) == 1) {
                                 $branchId = $branchId[0];
                             } else {
                                 throw new EfrontBranchException(_BRANCHNAMEAMBIGUOUS . ': ' . $value['branch_name'], EfrontBranchException::BRANCH_AMBIGUOUS);
                             }
                         } else {
                             throw new EfrontBranchException(_BRANCHDOESNOTEXIST . ': ' . $value['branch_name'], EfrontBranchException::BRANCH_NOT_EXISTS);
                         }
                         $jobId = false;
                         foreach ($jobDescriptions as $job) {
                             if ($job['description'] == $value['description'] && $job['branch_ID'] == $branchId) {
                                 $jobId = $job['job_description_ID'];
                             }
                         }
                         if (!$jobId) {
                             $jobId = eF_insertTableData("module_hcd_job_description", array('description' => $value['description'], 'branch_ID' => $branchId));
                             $jobDescriptions[$jobId] = array('job_description_ID' => $jobId, 'description' => $value['description'], 'branch_ID' => $branchId);
                         }
                         $user = EfrontUserFactory::factory($value["users_login"]);
                         $value['users_login'] = $user->user['login'];
                         if (isset($userJobs[$value['users_login']]) && $this->options['replace_assignments']) {
                             $unset = false;
                             foreach ($userJobs[$value['users_login']] as $key => $v) {
                                 if (!isset($addedJobs[$v][$value['users_login']])) {
                                     $user->aspects['hcd']->removeJob($v);
                                     unset($userJobs[$value['users_login']][$v]);
                                     $unset = true;
                                 }
                             }
                             if ($unset) {
                                 unset($userBranchesAssigned[$value['users_login']]);
                             }
                         }
                         if (isset($userJobs[$value['users_login']][$jobId]) && $this->options['replace_existing']) {
                             eF_deleteTableData("module_hcd_employee_has_job_description", "users_login='******'users_login'] . "' AND job_description_ID ='" . $jobId . "'");
                             unset($userJobs[$value['users_login']][$jobId]);
                         }
                         // Check if this job description is already assigned
                         if (!isset($userJobs[$value['users_login']][$jobId])) {
                             if (!isset($userBranchesAssigned[$value['users_login']][$branchId])) {
                                 // Write to the database the new branch assignment: employee to branch (if such an assignment is not already true)
                                 if (isset($userBranchesUnassigned[$value['users_login']][$branchId])) {
                                     eF_updateTableData("module_hcd_employee_works_at_branch", array("assigned" => 1), "users_login='******'users_login'] . "' and branch_ID={$branchId}");
                                     unset($userBranchesUnassigned[$value['users_login']][$branchId]);
                                 } else {
                                     $fields = array('users_login' => $value['users_login'], 'supervisor' => $value['supervisor'], 'assigned' => '1', 'branch_ID' => $branchId);
                                     eF_insertTableData("module_hcd_employee_works_at_branch", $fields);
                                     if ($value['supervisor']) {
                                         //Iterate through sub branches
                                         foreach (eF_subBranches($branchId, $allBranches) as $subBranchId) {
                                             //If this subranch is not associated with the user, associate it
                                             if (!isset($userBranchesAssigned[$value['users_login']][$subBranchId]) && !isset($userBranchesUnassigned[$value['users_login']][$subBranchId])) {
                                                 $fields = array('users_login' => $value['users_login'], 'supervisor' => 1, 'assigned' => '0', 'branch_ID' => $subBranchId);
                                                 eF_insertTableData("module_hcd_employee_works_at_branch", $fields);
                                                 $userBranchesUnassigned[$value['users_login']][$branchId] = array('branch_ID' => $branchId, 'supervisor' => $value['supervisor'], 'assigned' => 0);
                                             } elseif (isset($userBranchesAssigned[$value['users_login']][$subBranchId]) && $userBranchesAssigned[$value['users_login']][$subBranchId]['supervisor'] == 0) {
                                                 eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 1), "users_login='******'users_login'] . "' and branch_ID={$subBranchId}");
                                                 $userBranchesAssigned[$value['users_login']][$subBranchId]['supervisor'] = 1;
                                             } elseif (isset($userBranchesUnassigned[$value['users_login']][$subBranchId]) && $userBranchesUnassigned[$value['users_login']][$subBranchId]['supervisor'] == 0) {
                                                 eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 1), "users_login='******'users_login'] . "' and branch_ID={$subBranchId}");
                                                 $userBranchesUnassigned[$value['users_login']][$subBranchId]['supervisor'] = 1;
                                             }
                                         }
                                     }
                                 }
                                 $userBranchesAssigned[$value['users_login']][$branchId] = array('branch_ID' => $branchId, 'supervisor' => $value['supervisor'], 'assigned' => 1);
                                 $addedBranches[$branchId][$value['users_login']] = $value['users_login'];
                             } elseif (!$userBranchesAssigned[$value['users_login']][$branchId]['supervisor'] && $value['supervisor']) {
                                 eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 1), "users_login='******'users_login'] . "' and branch_ID={$branchId}");
                                 //Iterate through sub branches
                                 foreach (eF_subBranches($branchId, $allBranches) as $subBranchId) {
                                     //If this subranch is not associated with the user, associate it
                                     if (!isset($userBranchesAssigned[$value['users_login']][$subBranchId]) && !isset($userBranchesUnassigned[$value['users_login']][$subBranchId])) {
                                         $fields = array('users_login' => $value['users_login'], 'supervisor' => 1, 'assigned' => '0', 'branch_ID' => $subBranchId);
                                         eF_insertTableData("module_hcd_employee_works_at_branch", $fields);
                                         $userBranchesUnassigned[$value['users_login']][$branchId] = array('branch_ID' => $branchId, 'supervisor' => $value['supervisor'], 'assigned' => 0);
                                     } elseif (isset($userBranchesAssigned[$value['users_login']][$subBranchId]) && $userBranchesAssigned[$value['users_login']][$subBranchId]['supervisor'] == 0) {
                                         eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 1), "users_login='******'users_login'] . "' and branch_ID={$subBranchId}");
                                         $userBranchesAssigned[$value['users_login']][$subBranchId]['supervisor'] = 1;
                                     } elseif (isset($userBranchesUnassigned[$value['users_login']][$subBranchId]) && $userBranchesUnassigned[$value['users_login']][$subBranchId]['supervisor'] == 0) {
                                         eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 1), "users_login='******'users_login'] . "' and branch_ID={$subBranchId}");
                                         $userBranchesUnassigned[$value['users_login']][$subBranchId]['supervisor'] = 1;
                                     }
                                 }
                             } elseif ($userBranchesAssigned[$value['users_login']][$branchId]['supervisor'] && !$value['supervisor']) {
                                 eF_updateTableData("module_hcd_employee_works_at_branch", array("supervisor" => 0), "users_login='******'users_login'] . "' and branch_ID={$branchId}");
                             }
                             // Write to database the new job assignment: employee to job description
                             $fields = array('users_login' => $value['users_login'], 'job_description_ID' => $jobId);
                             eF_insertTableData("module_hcd_employee_has_job_description", $fields);
                             $userJobs[$value['users_login']][$jobId] = $jobId;
                             $addedJobs[$jobId][$value['users_login']] = $value['users_login'];
                             /*
                             									if ($event_info) {
                             										EfrontEvent::triggerEvent(array("type" => EfrontEvent::HCD_NEW_JOB_ASSIGNMENT, "users_LOGIN" => $this -> login, "lessons_ID" => $branchID, "lessons_name" => $bname[0]['name'], "entity_ID" => $jobID, "entity_name" => $job_description, "timestamp" => $event_info['timestamp'], "explicitly_selected" => $event_info['manager']));
                             									} else {
                             										EfrontEvent::triggerEvent(array("type" => EfrontEvent::HCD_NEW_JOB_ASSIGNMENT, "users_LOGIN" => $this -> login, "lessons_ID" => $branchID, "lessons_name" => $bname[0]['name'], "entity_ID" => $jobID, "entity_name" => $job_description));
                             									}
                             */
                         } else {
                             throw new EfrontUserException(_JOBALREADYASSIGNED . ": " . $value['users_login'], EfrontUserException::WRONG_INPUT_TYPE);
                         }
                         $this->log["success"][] = _LINE . " " . ($key + 2) . " : " . _NEWJOBASSIGNMENT . " " . $value["users_login"] . " - (" . $value['branch_name'] . " - " . $value['description'] . ") ";
                     } catch (Exception $e) {
                         $this->log["failure"][] = _LINE . " " . ($key + 2) . " : " . $e->getMessage() . ' (' . $e->getCode() . ')';
                     }
                 }
                 $courseAssignmentsToUsers = $lessonAssignmentsToUsers = array();
                 $result = eF_getTableData("module_hcd_course_to_job_description", "*");
                 foreach ($result as $value) {
                     foreach ($addedJobs[$value['job_description_ID']] as $user) {
                         $courseAssignmentsToUsers[$value['courses_ID']][] = $user;
                     }
                 }
                 $result = eF_getTableData("module_hcd_lesson_to_job_description", "*");
                 foreach ($result as $value) {
                     foreach ($addedJobs[$value['job_description_ID']] as $user) {
                         $lessonAssignmentsToUsers[$value['lessons_ID']][] = $user;
                     }
                 }
                 if ($GLOBALS['configuration']['mode_propagate_courses_to_branch_users']) {
                     $result = eF_getTableData("module_hcd_course_to_branch", "*");
                     foreach ($result as $value) {
                         foreach ($addedBranches[$value['branches_ID']] as $user) {
                             $courseAssignmentsToUsers[$value['courses_ID']][] = $user;
                         }
                     }
                 }
                 foreach ($courseAssignmentsToUsers as $courseId => $users) {
                     $course = new EfrontCourse($courseId);
                     $course->addUsers($users);
                 }
                 foreach ($lessonAssignmentsToUsers as $lessonId => $users) {
                     $course = new EfrontLesson($lessonId);
                     $course->addUsers($users);
                 }
                 break;
         }
     } catch (Exception $e) {
         $this->log["failure"][] = $e->getMessage() . ' (' . $e->getCode() . ')';
         // ." ". str_replace("\n", "<BR>", $e->getTraceAsString());
     }
 }
Exemplo n.º 8
0
 /**
  * Remove association of a branch with this lesson
  *
  * This function is used to stop the correlation of a branch to the lesson
  *
  * <br/>Example:
  * <code>
  * $lesson -> removeBranch(2);   // The lesson will stop offering branch with id 2
  * </code>
  *
  * @param $branch_ID the id of the branch to be removed from the lesson
  * @return boolean true/false
  * @since 3.6.0
  * @access public
  */
 public function removeBranch($branch_ID)
 {
     $this->getBranches();
     // Check if the branch is not assigned as offered by this lesson
     if ($this->branches[$branch_ID]['lessons_ID'] == $this->lesson['id']) {
         if ($ok = eF_deleteTableData("module_hcd_lesson_to_branch", "branches_ID = '" . $branch_ID . "' AND lessons_ID = '" . $this->lesson['id'] . "'")) {
             $this->branches[$branch_ID]['lessons_ID'] = "";
         } else {
             throw new EfrontLessonException(_EMPLOYEESRECORDCOULDNOTBEUPDATED, EfrontLessonException::DATABASE_ERROR);
         }
     }
     return true;
 }
 /**
  * Delete a direction
  * This function is used to delete the current direction
  * <br/>Example:
  * <code>
  * $direction_array = eF_getTableData("directions", "*", "id=4");
  * $direction = new EfrontDirection($direction_array[0]);
  * $direction -> delete();
  * </code>
  *
  * @since 3.5.0
  * @access public
  */
 function delete()
 {
     foreach (new EfrontAttributeFilterIterator(new RecursiveIteratorIterator(new RecursiveArrayIterator($this)), 'id') as $key => $value) {
         eF_deleteTableData("directions", "id=" . $value);
         //Delete Units from database
         eF_updateTableData("lessons", array("directions_ID" => 0), "directions_ID=" . $value);
         eF_updateTableData("courses", array("directions_ID" => 0), "directions_ID=" . $value);
     }
 }
Exemplo n.º 10
0
 /**
  * Remove courses from group
  *
  * This function is used to remove courses from the current group
  * <br>Example:
  * <code>
  * $group = new EfrontGroup(2);
  * $group -> removeCourses(array(21, 32));	// remove courses with ids 21 and 32
  * </code>
  *
  * @param mixed $users An array of course ids or EfrontCourse objects, or a single id or EfrontCourse object
  * @return boolean True if everything is ok
  * @since 3.5.2
  * @access public
  */
 public function removeCourses($courses)
 {
     if (!is_array($courses)) {
         if ($courses instanceof EfrontCourse) {
             $courses = $courses->course['id'];
         }
         $courses = array($courses);
     }
     foreach ($courses as $course) {
         if ($course instanceof EfrontCourse) {
             $course = $course->course['id'];
         }
         if (eF_checkParameter($course, 'id')) {
             eF_deleteTableData("courses_to_groups", "courses_ID ='" . $course . "' and groups_ID=" . $this->group['id']);
         }
     }
     return true;
 }
Exemplo n.º 11
0
 public function getModule()
 {
     $currentLesson = $this->getCurrentLesson();
     $smarty = $this->getSmartyVar();
     $smarty->assign("T_LESSON_ID", $currentLesson->lesson['id']);
     if (isset($_GET['delete_link']) && eF_checkParameter($_GET['delete_link'], 'id')) {
         eF_deleteTableData("module_links", "id=" . $_GET['delete_link']);
         $this->setMessageVar(_LINKS_SUCCESFULLYDELETEDLINK, 'success');
         eF_redirect("" . $this->moduleBaseUrl . "&message=" . urlencode($message) . "&message_type={$message_type}");
     } else {
         if (isset($_GET['add_link']) || isset($_GET['edit_link']) && eF_checkParameter($_GET['edit_link'], 'id')) {
             $form = new HTML_QuickForm("link_entry_form", "POST", $_SERVER['REQUEST_URI'], "");
             $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
             //Register this rule for checking user input with our function, eF_checkParameter
             $form->addElement('text', 'display', null);
             $form->addElement('text', 'link', null);
             $form->addElement('textarea', 'description', null);
             $form->addElement('submit', 'submit_link', _SUBMIT, 'class = "flatButton"');
             $element =& $form->getElement('display');
             $element->setSize(50);
             $element =& $form->getElement('link');
             $element->setSize(50);
             $element =& $form->getElement('description');
             $element->setCols(50);
             if (isset($_GET['edit_link'])) {
                 $link_entry = eF_getTableData("module_links", "*", "id=" . $_GET['edit_link']);
                 $form->setDefaults(array('display' => $link_entry[0]['display'], 'link' => $link_entry[0]['link'], 'description' => $link_entry[0]['description']));
             } else {
                 $form->setDefaults(array('link' => "http://"));
             }
             if ($form->isSubmitted() && $form->validate()) {
                 $fields = array('lessons_ID' => $_SESSION['s_lessons_ID'], 'display' => $form->exportValue('display'), 'link' => $form->exportValue('link'), 'description' => $form->exportValue('description'));
                 if (isset($_GET['edit_link'])) {
                     if (eF_updateTableData("module_links", $fields, "id=" . $_GET['edit_link'])) {
                         $message = _LINKS_SUCCESFULLYUPDATEDLINKENTRY;
                         $message_type = 'success';
                         eF_redirect("" . $_SERVER['PHP_SELF'] . "?ctg=module&op=module_links&message=" . urlencode($message) . "&message_type={$message_type}");
                     } else {
                         $message = _LINKS_PROBLEMUPDATINGLINKENTRY;
                         $message_type = 'failure';
                         eF_redirect("" . $_SERVER['PHP_SELF'] . "?ctg=module&op=module_links&message=" . urlencode($message) . "&message_type={$message_type}");
                     }
                 } else {
                     if (eF_insertTableData("module_links", $fields)) {
                         $message = _LINKS_SUCCESFULLYINSERTEDLINKENTRY;
                         $message_type = 'success';
                         eF_redirect("" . $_SERVER['PHP_SELF'] . "?ctg=module&op=module_links&message=" . urlencode($message) . "&message_type={$message_type}");
                     } else {
                         $message = _LINKS_PROBLEMINSERTINGLINKENTRY;
                         $message_type = 'failure';
                         eF_redirect("" . $_SERVER['PHP_SELF'] . "?ctg=module&op=module_links&message=" . urlencode($message) . "&message_type={$message_type}");
                     }
                 }
             }
             $renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty);
             $form->accept($renderer);
             $smarty->assign('T_LINKS_FORM', $renderer->toArray());
         } else {
             $links = eF_getTableDataFlat("module_links", "*", "lessons_ID = " . $_SESSION['s_lessons_ID']);
             $smarty->assign("T_LINKS", $links);
         }
     }
     return true;
 }
Exemplo n.º 12
0
 /**
  * Function reBuiltIndex()
  *
  * This function is used to built the keywords from scratch
  *
  * @since 3.5.0
  * @access public
  */
 public static function reBuiltIndex()
 {
     eF_deleteTableData("search_keywords");
     //Delete old search terms
     //		eF_deleteTableData("search");
     $GLOBALS['db']->Execute("truncate table search_invertedindex");
     //Courses Data
     $courses = eF_getTableData("courses", "id,name");
     for ($i = 0; $i < sizeof($courses); $i++) {
         EfrontSearch::insertText($courses[$i]['name'], $courses[$i]['id'], "courses", "title");
     }
     //Lesson Data
     $lessons = eF_getTableData("lessons", "id,name");
     for ($i = 0; $i < sizeof($lessons); $i++) {
         EfrontSearch::insertText($lessons[$i]['name'], $lessons[$i]['id'], "lessons", "title");
     }
     //Content Data
     $content = eF_getTableData("content", "id,name,data");
     for ($i = 0; $i < sizeof($content); $i++) {
         EfrontSearch::insertText($content[$i]['name'], $content[$i]['id'], "content", "title");
         EfrontSearch::insertText(strip_tags($content[$i]['data']), $content[$i]['id'], "content", "data");
     }
     //Forum Messages
     $forum_messages = eF_getTableData("f_messages", "id, title, body");
     for ($i = 0; $i < sizeof($forum_messages); $i++) {
         EfrontSearch::insertText(strip_tags($forum_messages[$i]['body']), $forum_messages[$i]['id'], "f_messages", "data");
         EfrontSearch::insertText($forum_messages[$i]['title'], $forum_messages[$i]['id'], "f_messages", "title");
     }
     //Forums
     $forums = eF_getTableData("f_forums", "id, title, comments");
     for ($i = 0; $i < sizeof($forums); $i++) {
         EfrontSearch::insertText($forums[$i]['title'], $forums[$i]['id'], "f_forums", "title");
         if (strlen($forums[$i]['comments']) > 3) {
             EfrontSearch::insertText(strip_tags($forums[$i]['comments']), $forums[$i]['id'], "f_forums", "data");
         }
     }
     //Forums Topics
     $f_topics = eF_getTableData("f_topics", "id, title, comments");
     for ($i = 0; $i < sizeof($f_topics); $i++) {
         EfrontSearch::insertText($f_topics[$i]['title'], $f_topics[$i]['id'], "f_topics", "title");
         if (strlen($f_topics[$i]['comments']) > 3) {
             EfrontSearch::insertText(strip_tags($f_topics[$i]['comments']), $f_topics[$i]['id'], "f_topics", "data");
         }
     }
     //Forums Polls
     $f_poll = eF_getTableData("f_poll", "id, title, question");
     for ($i = 0; $i < sizeof($f_poll); $i++) {
         EfrontSearch::insertText($f_poll[$i]['title'], $f_poll[$i]['id'], "f_poll", "title");
         if (strlen($f_poll[$i]['question']) > 3) {
             EfrontSearch::insertText(strip_tags($f_poll[$i]['question']), $f_poll[$i]['id'], "f_poll", "data");
         }
     }
     //Personal Messages
     $personal_messages = eF_getTableData("f_personal_messages", "id, title, body");
     //Get all the personal messages
     for ($i = 0; $i < sizeof($personal_messages); $i++) {
         EfrontSearch::insertText($personal_messages[$i]['body'], $personal_messages[$i]['id'], "f_personal_messages", "data");
         EfrontSearch::insertText($personal_messages[$i]['title'], $personal_messages[$i]['id'], "f_personal_messages", "title");
     }
     //Questions
     $questions = eF_getTableData("questions", "id, text");
     for ($i = 0; $i < sizeof($questions); $i++) {
         EfrontSearch::insertText(strip_tags($questions[$i]['data']), $questions[$i]['id'], "questions", "data");
     }
     //Glossary terms
     $glossary = eF_getTableData("glossary", "id, name, info");
     for ($i = 0; $i < sizeof($glossary); $i++) {
         EfrontSearch::insertText(strip_tags($glossary[$i]['info']), $glossary[$i]['id'], "glossary", "data");
         EfrontSearch::insertText($glossary[$i]['name'], $glossary[$i]['id'], "glossary", "title");
     }
 }
Exemplo n.º 13
0
             if (!$currentEmployee->isSupervisor()) {
                 $_change_evaluations_ = false;
             } else {
                 if ($currentEmployee->supervisesEmployee($editedUser->user['login'])) {
                     $_change_evaluations_ = true;
                 } else {
                     $_change_evaluations_ = false;
                 }
             }
         }
     }
 }
 $smarty->assign("_change_evaluations_", $_change_evaluations_);
 if (isset($_GET['delete_evaluation']) && eF_checkParameter($_GET['delete_evaluation'], 'id') && $_change_evaluations_) {
     try {
         eF_deleteTableData("module_hcd_events", "event_ID = '" . $_GET['delete_evaluation'] . "'");
     } catch (Exception $e) {
         handleAjaxExceptions($e);
     }
     exit;
 } elseif (isset($_GET['add_evaluation']) || isset($_GET['edit_evaluation']) && eF_checkParameter($_GET['edit_evaluation'], 'id') && $_change_evaluations_) {
     $load_editor = true;
     $form = new HTML_QuickForm("evaluations_form", "post", basename($_SERVER['PHP_SELF']) . "?ctg=personal&user="******"&op=evaluations&" . (isset($_GET['edit_evaluation']) ? "&edit_evaluation=" . $_GET['edit_evaluation'] : "&add_evaluation=1"), "", null, true);
     $form->addElement('textarea', 'specification', _EVALUATIONCOMMENT, 'class = "simpleEditor" style = "width:400px;"');
     $form->addElement('submit', 'submit', _SUBMIT, 'class = "flatButton"');
     if (isset($_GET['edit_evaluation'])) {
         $evaluations = eF_getTableData("module_hcd_events", "*", "event_ID = '" . $_GET['edit_evaluation'] . "'");
         $form->setDefaults(array('specification' => $evaluations[0]['specification']));
     }
     try {
         if ($form->isSubmitted() && $form->validate()) {
Exemplo n.º 14
0
     if ($testInstance->options['automatic_assignment']) {
         $analysisResults = $testInstance->analyseSkillGapTest();
         foreach ($analysisResults['lessons'] as $lesson) {
             $currentUser->addLessons($lesson['lesson_ID']);
         }
         foreach ($analysisResults['courses'] as $course) {
             $currentUser->addCourses($course['courses_ID']);
         }
         eF_redirect("" . basename($_SERVER['PHP_SELF']) . "?ctg=lessons&op=tests&message=" . urlencode(_SKILLGAPTESTCOMPLETEDSUCCESSFULLYANDTHECORRESPONDING) . " " . sizeof($analysisResults['lessons']) . " " . _LESSONS . " " . _AND . " " . sizeof($analysisResults['courses']) . " " . _COURSES . " " . _HAVEBEENASSIGNED . "&message_type=success");
     } else {
         eF_redirect("" . basename($_SERVER['PHP_SELF']) . "?ctg=lessons&op=tests&message=" . urlencode(_SKILLGAPTESTCOMPLETEDSUCCESSFULLY) . ". " . urlencode(_YOURRESULTSHAVEBEENSENTTOYOURPROFESSORSWHOWILLASSIGNLESSONSACCORDINGTOYOURNEEDS) . "&message_type=success");
     }
     exit;
 }
 //HACK to remove incomplete tests
 eF_deleteTableData("completed_tests", "tests_id = '" . $_GET['solve_test'] . "' AND users_LOGIN = '******'login'] . "'");
 $test = new EfrontTest($_GET['solve_test']);
 $testInstance = $test->start($currentUser->user['login']);
 // Hard coded to disallow pause test
 $testInstance->options['pause_test'] = 0;
 $testString = $testInstance->toHTMLQuickForm($form);
 $testString = $testInstance->toHTML($testString, $remainingTime);
 $form->addElement('hidden', 'time_start', $timeStart);
 //This element holds the time the test started, so we know the remaining time even if the user left the system
 $form->addElement('submit', 'submit_test', _SUBMITTEST, 'class = "flatButton" onclick = "if (typeof(checkedQuestions) != \'undefined\' && (unfinished = checkQuestions())) return confirm(\'' . _YOUHAVENOTCOMPLETEDTHEFOLLOWINGQUESTIONS . ': \'+unfinished+\'. ' . _AREYOUSUREYOUWANTTOSUBMITTEST . '\');"');
 if ($testInstance->options['pause_test']) {
     $form->addElement('submit', 'pause_test', _PAUSETEST, 'class = "flatButton"');
 }
 $renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty);
 $form->accept($renderer);
 $smarty->assign('T_TEST_FORM', $renderer->toArray());
Exemplo n.º 15
0
 /**
  * Delete the project
  *
  * This function is used to delete the current project.
  * All related information is lost, as well as files associated
  * with the project.
  * <br/>Example:
  * <code>
  * $project = new EfrontProject(12);                //Instantiate project with id 12
  * $project -> delete();                            //Delete project and all associated information
  * </code>
  *
  * @since 3.5.0
  * @access public
  * @todo delete project files
  */
 public function delete()
 {
     foreach ($this->getUsers() as $value) {
         if ($value['filename']) {
             try {
                 $file = new EfrontFile($value['filename']);
                 $file->delete();
                 $file = new EfrontFile($value['professor_upload_filename']);
                 $file->delete();
             } catch (Exception $e) {
                 /*bypass non-existing files*/
             }
         }
     }
     eF_deleteTableData("users_to_projects", "projects_ID=" . $this->project['id']);
     eF_deleteTableData("projects", "id=" . $this->project['id']);
 }
Exemplo n.º 16
0
 $form->addElement('select', 'allow_html', _ALLOWHTMLFPM, array(1 => _YES, 0 => _NO));
 $form->addElement('select', 'polls', _ACTIVATEPOLLS, array(1 => _YES, 0 => _NO));
 $form->addElement('select', 'forum_attachments', _ALLOWATTACHMENTSINF, array(1 => _YES, 0 => _NO));
 $form->addElement('select', 'students_add_forums', _USERSMAYADDFORUMS, array(0 => _NO, 1 => _YES));
 $form->addElement('text', 'pm_quota', _PMQUOTA, 'class = "inputText" style = "width:40px"');
 $form->addElement('text', 'pm_attach_quota', _PMATTACHMENTSQUOTA, 'class = "inputText" style = "width:40px"');
 $form->addRule('pm_quota', _THEFIELD . ' "' . _PMQUOTA . '" ' . _MUSTBENUMERIC, 'numeric', null, 'client');
 $form->addRule('pm_attach_quota', _THEFIELD . ' "' . _PMATTACHMENTSQUOTA . '" ' . _MUSTBENUMERIC, 'numeric', null, 'client');
 $form->addElement('submit', 'submit_settings', _SUBMIT, 'class = "flatButton"');
 $current_values = eF_getTableDataFlat("f_configuration", "*");
 $current_values = array_combine($current_values['name'], $current_values['value']);
 $form->setDefaults($current_values);
 if ($form->isSubmitted() && $form->validate()) {
     //If the form is submitted and validated
     $values = $form->exportValues();
     eF_deleteTableData("f_configuration");
     $fields[] = array('name' => 'allow_html', "value" => $values['allow_html'] ? 1 : 0);
     $fields[] = array('name' => 'polls', "value" => $values['polls'] ? 1 : 0);
     $fields[] = array('name' => 'forum_attachments', "value" => $values['forum_attachments'] ? 1 : 0);
     $fields[] = array('name' => 'students_add_forums', "value" => $values['students_add_forums'] ? 1 : 0);
     $fields[] = array('name' => 'pm_quota', "value" => $values['pm_quota'] ? $values['pm_quota'] : "");
     $fields[] = array('name' => 'pm_attach_quota', "value" => $values['pm_attach_quota'] ? $values['pm_attach_quota'] : "");
     foreach ($fields as $field) {
         eF_insertTableData("f_configuration", array("name" => $field['name'], "value" => $field['value']));
     }
     $message = _SUCCESSFULLYINSERTEDVALUES;
     $message_type = 'success';
 }
 $renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty);
 //Create a smarty renderer
 $renderer->setRequiredTemplate('{$html}{if $required}
 private function doJobCourses()
 {
     $smarty = $this->getSmartyVar();
     $currentUser = $this->getCurrentUser();
     $result = eF_getTableData("module_hcd_job_description j left outer join module_hcd_course_to_job_description cj on cj.job_description_ID=j.job_description_ID", "j.job_description_ID,description,branch_ID,count(courses_ID) as total_courses", "", "", "j.job_description_ID");
     $branchesTree = new EfrontBranchesTree();
     $branchesTreePaths = $branchesTree->toPathString();
     $jobs = array();
     foreach ($result as $value) {
         $jobsArray[$value['job_description_ID']] = $value;
         $jobs[$value['job_description_ID']] = $branchesTreePaths[$value['branch_ID']] . "&nbsp;&rarr;&nbsp;" . $value['description'] . " (" . $value['total_courses'] . ")";
     }
     $form = new HTML_QuickForm("job_courses_form", "post", basename($_SERVER['PHP_SELF']) . "?ctg=module&op=module_administrator_tools&tab=job_courses&do=enterprise", "", null, true);
     $form->addElement('select', 'job', _JOBDESCRIPTION, $jobs);
     $form->addElement("submit", "submit", _MODULE_ADMINISTRATOR_TOOLS_COPYCOURSESELECTION, 'class = "flatButton"');
     $form->addElement("static", "", _MODULE_ADMINISTRATOR_TOOLS_COPYCOURSESELECTIONTOALLSIMILARJOBS);
     $form->setDefaults(array("idle_from_timestamp" => $_SESSION['timestamp_from']));
     if ($form->isSubmitted() && $form->validate()) {
         $GLOBALS['currentEmployee'] = $currentUser->aspects['hcd'];
         $job = new EfrontJob($form->exportValue('job'));
         $courses = $job->getJobCourses();
         foreach ($sameJobs = $job->getSameDescriptions() as $value) {
             eF_deleteTableData("module_hcd_course_to_job_description", "job_description_id = '" . $value . "'");
         }
         $job->associateCoursesToJob($courses, true);
         $message = str_replace(array("%x", "%y"), array(sizeof($sameJobs), sizeof($courses)), _MODULE_ADMINISTRATOR_TOOLS_SUCCESSFULLYASSIGNEDCOURSESTOJOBS);
         $message_type = 'success';
         $this->setMessageVar($message, $message_type);
     }
     $smarty->assign("T_JOB_COURSES_FORM", $form->toArray());
 }
Exemplo n.º 18
0
 public function deleteCache($parameters)
 {
     $key = self::_encode($parameters);
     eF_deleteTableData("cache", "cache_key='" . $key . "'");
 }
Exemplo n.º 19
0
         $smarty->assign("T_MESSAGE_TYPE", $message_type);
     }
 }
 if (isset($_GET['add_topic']) || isset($_GET['del_topic']) || isset($_GET['edit_topic'])) {
     /* Check permissions: only professors are allowed to manage topics */
     if ($currentUser->getType() != 'professor') {
         eF_redirect(basename($_SERVER['PHP_SELF']) . "?ctg=personal&message=" . urlencode(_SORRYYOUDONOTHAVEPERMISSIONTOPERFORMTHISACTION) . "&message_type=failure");
         exit;
     }
     // ON DELETING A LESSONTIMELINE TOPIC
     if (isset($_GET['del_topic']) && eF_checkParameter($_GET['del_topic'], 'id')) {
         //The administrator asked to delete a skill
         //@todo: delete events too?
         //eF_deleteTableData("lessons_timeline_topics", "type = " . . "  AND lessons_ID = ". ." AND entity_ID = '".$_GET['del_topic']."'");
         eF_deleteTableData("lessons_timeline_topics_data", "topics_ID = '" . $_GET['del_topic'] . "'");
         eF_deleteTableData("lessons_timeline_topics", "id = '" . $_GET['del_topic'] . "'");
         $message = _LESSONTIMELINETOPICDELETED;
         $message_type = 'success';
         eF_redirect("" . $_SESSION['s_type'] . ".php?ctg=social&op=timeline&lessons_ID=" . $_GET['lessons_ID'] . "&all=1&message=" . $message . "&message_type=" . $message_type);
         exit;
         //ON INSERTING OR EDITING A LESSONTIMELINE TOPIC
     } else {
         if (isset($_GET['add_topic']) || isset($_GET['edit_topic'])) {
             if (isset($_GET['add_topic'])) {
                 $form = new HTML_QuickForm("topic_form", "post", $_SESSION['s_type'] . ".php?ctg=social&op=timeline&lessons_ID=" . $_SESSION['s_lessons_ID'] . "&add_topic=1", "", null, true);
             } elseif (eF_checkParameter($_GET['edit_topic'], 'id')) {
                 $form = new HTML_QuickForm("topic_form", "post", $_SESSION['s_type'] . ".php?ctg=social&op=timeline&lessons_ID=" . $_SESSION['s_lessons_ID'] . "&edit_topic=" . $_GET['edit_topic'], "", null, true);
                 $topic = eF_getTableData("lessons_timeline_topics", "title", "id ='" . $_GET['edit_topic'] . "'");
             }
             $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
             //Register this rule for checking user input with our function, eF_checkParameter
Exemplo n.º 20
0
 public function getSmartyTpl()
 {
     $smarty = $this->getSmartyVar();
     $smarty->assign("T_RSS_MODULE_BASEURL", $this->moduleBaseUrl);
     $smarty->assign("T_RSS_MODULE_BASELINK", $this->moduleBaseLink);
     $smarty->assign("T_RSS_PROVIDED_FEEDS_MODES", $this->feedProviderModes);
     $smarty->assign("T_RSS_PROVIDED_FEEDS_TYPES", $this->providedFeeds);
     $smarty->assign("T_RSS_PROVIDED_FEEDS_LESSON_TYPES", $this->lessonProvidedFeeds);
     if (isset($_GET['delete_feed']) && eF_checkParameter($_GET['delete_feed'], 'id')) {
         try {
             if ($_GET['type'] == 'provider') {
                 eF_deleteTableData("module_rss_provider", "id=" . $_GET['delete_feed']);
             } else {
                 eF_deleteTableData("module_rss_feeds", "id=" . $_GET['delete_feed']);
             }
         } catch (Exception $e) {
             handleAjaxExceptions($e);
         }
         exit;
     } elseif (isset($_GET['deactivate_feed']) && eF_checkParameter($_GET['deactivate_feed'], 'id')) {
         try {
             if ($_GET['type'] == 'provider') {
                 eF_updateTableData("module_rss_provider", array("active" => 0), "id=" . $_GET['deactivate_feed']);
             } else {
                 eF_updateTableData("module_rss_feeds", array("active" => 0), "id=" . $_GET['deactivate_feed']);
             }
             echo 0;
         } catch (Exception $e) {
             handleAjaxExceptions($e);
         }
         exit;
     } elseif (isset($_GET['activate_feed']) && eF_checkParameter($_GET['activate_feed'], 'file')) {
         //Although db operations do not support exceptions (yet), we leave this here for future support
         try {
             if ($_GET['type'] == 'provider') {
                 eF_updateTableData("module_rss_provider", array("active" => 1), "id=" . $_GET['activate_feed']);
             } else {
                 eF_updateTableData("module_rss_feeds", array("active" => 1), "id=" . $_GET['activate_feed']);
             }
             echo 1;
         } catch (Exception $e) {
             handleAjaxExceptions($e);
         }
         exit;
     } else {
         if (isset($_GET['add_feed']) || isset($_GET['edit_feed']) && eF_checkParameter($_GET['edit_feed'], 'id')) {
             if ($_SESSION['s_lesson_user_type']) {
                 $type = $_SESSION['s_lesson_user_type'];
             } else {
                 $type = $this->getCurrentUser()->getType();
             }
             $smarty->assign("T_RSS_USERTYPE", $type);
             $feeds = $this->getFeeds();
             $lessons = array(-1 => _RSS_NONE, 0 => _ALLLESSONS);
             $result = EfrontLesson::getLessons();
             foreach ($result as $key => $lesson) {
                 $lessons[$key] = $lesson['name'];
             }
             isset($_GET['add_feed']) ? $postTarget = "&add_feed=1" : ($postTarget = "&edit_feed=" . $_GET['edit_feed']);
             $form = new HTML_QuickForm("add_feed_form", "post", $this->moduleBaseUrl . $postTarget, "", null, true);
             $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
             $form->addElement('text', 'title', _RSS_FEEDTITLE, 'class = "inputText"');
             $form->addElement('text', 'url', _RSS_FEEDURL, 'class = "inputText"');
             $form->addElement('select', 'lessons_ID', _LESSON, $lessons);
             if ($type != 'administrator' && $_SESSION['s_lessons_ID']) {
                 $form->setDefaults(array('lessons_ID' => $_SESSION['s_lessons_ID']));
                 $form->freeze(array('lessons_ID'));
             }
             $form->addElement("advcheckbox", "active", _RSS_ACTIVE, null, 'class = "inputCheckBox"', array(0, 1));
             $form->setDefaults(array('active' => 1));
             $form->addElement("advcheckbox", "only_summary", _RSS_ONLYSUMMARY, null, 'class = "inputCheckBox"', array(0, 1));
             $form->addRule('title', _THEFIELD . ' "' . _RSS_FEEDTITLE . '" ' . _ISMANDATORY, 'required', null, 'client');
             $form->addRule('url', _THEFIELD . ' "' . _RSS_FEEDURL . '" ' . _ISMANDATORY, 'required', null, 'client');
             $form->addRule('title', _INVALIDFIELDDATA, 'checkParameter', 'text');
             $form->addElement('submit', 'submit', _SUBMIT, 'class = "flatButton"');
             if (isset($_GET['edit_feed'])) {
                 $editFeed = $feeds[$_GET['edit_feed']];
                 $form->setDefaults($editFeed);
             }
             if ($form->isSubmitted() && $form->validate()) {
                 //If the form is submitted and validated
                 $values = $form->exportValues();
                 $fields = array("title" => $values['title'], "url" => $values['url'], "active" => $values['active'], "only_summary" => $values['only_summary'], "lessons_ID" => $values['lessons_ID']);
                 if (isset($_GET['add_feed'])) {
                     eF_insertTableData("module_rss_feeds", $fields);
                     $smarty->assign("T_RSS_RSS_MESSAGE", _RSS_SUCCESSFULLYADDEDFEED);
                 } else {
                     eF_updateTableData("module_rss_feeds", $fields, "id=" . $_GET['edit_feed']);
                     $smarty->assign("T_RSS_RSS_MESSAGE", _RSS_SUCCESSFULLYEDITEDFEED);
                     EfrontCache::getInstance()->deleteCache('rss_cache:' . $_GET['edit_feed']);
                 }
             }
             $smarty->assign("T_RSS_ADD_RSS_FORM", $form->toArray());
         } else {
             if (isset($_GET['add_feed_provider']) || isset($_GET['edit_feed_provider']) && eF_checkParameter($_GET['edit_feed_provider'], 'id')) {
                 if ($_SESSION['s_lesson_user_type']) {
                     $type = $_SESSION['s_lesson_user_type'];
                 } else {
                     $type = $this->getCurrentUser()->getType();
                 }
                 $smarty->assign("T_RSS_USERTYPE", $type);
                 $feeds = $this->getProvidedFeeds();
                 isset($_GET['add_feed_provider']) ? $postTarget = "&add_feed_provider=1" : ($postTarget = "&edit_feed_provider=" . $_GET['edit_feed_provider']);
                 !isset($_GET['lesson']) or $postTarget .= '&lesson=1';
                 $form = new HTML_QuickForm("add_feed_provider_form", "post", $this->moduleBaseUrl . $postTarget . '&tab=rss_provider', "", null, true);
                 $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
                 if ($_GET['lesson']) {
                     $lessons = array(0 => _ALLLESSONS);
                     $result = EfrontLesson::getLessons();
                     foreach ($result as $key => $lesson) {
                         $lessons[$key] = $lesson['name'];
                     }
                     $form->addElement('select', 'feeds_provided', _RSS_PROVIDEDFEEDS, $this->lessonProvidedFeeds);
                     $form->addElement('select', 'lessons_ID', _LESSON, $lessons);
                     if ($type != 'administrator' && $_SESSION['s_lessons_ID']) {
                         $form->setDefaults(array('lessons_ID' => $_SESSION['s_lessons_ID']));
                         $form->freeze(array('lessons_ID'));
                     }
                 } else {
                     $form->addElement('select', 'feeds_provided', _RSS_PROVIDEDFEEDS, $this->providedFeeds);
                 }
                 $form->addElement("advcheckbox", "active", _RSS_ACTIVE, null, 'class = "inputCheckBox"', array(0, 1));
                 $form->setDefaults(array('active' => 1));
                 $form->addElement('submit', 'submit', _SUBMIT, 'class = "flatButton"');
                 if (isset($_GET['edit_feed_provider'])) {
                     $editFeed = $feeds[$_GET['edit_feed_provider']];
                     $form->setDefaults($editFeed);
                 }
                 try {
                     if ($form->isSubmitted() && $form->validate()) {
                         //If the form is submitted and validated
                         $values = $form->exportValues();
                         $fields = array("mode" => $_GET['lesson'] ? 'lesson' : 'system', "type" => $values['feeds_provided'], "active" => $values['active'], "lessons_ID" => $values['lessons_ID']);
                         foreach ($feeds as $feed) {
                             if ($feed['type'] == $fields['type'] && $feed['mode'] == $fields['mode'] && $feed['lessons_ID'] == $fields['lessons_ID']) {
                                 throw new Exception(_FEEDALREADYEXISTS);
                             }
                         }
                         if (isset($_GET['add_feed_provider'])) {
                             eF_insertTableData("module_rss_provider", $fields);
                             $smarty->assign("T_RSS_RSS_MESSAGE", _RSS_SUCCESSFULLYADDEDFEED);
                         } else {
                             eF_updateTableData("module_rss_provider", $fields, "id=" . $_GET['edit_feed_provider']);
                             $smarty->assign("T_RSS_RSS_MESSAGE", _RSS_SUCCESSFULLYEDITEDFEED);
                         }
                     }
                 } catch (Exception $e) {
                     $smarty->assign("T_EXCEPTION_TRACE", $e->getTraceAsString());
                     $message = $e->getMessage() . ' (' . $e->getCode() . ') &nbsp;<a href = "javascript:void(0)" onclick = "eF_js_showDivPopup(event, \'' . _ERRORDETAILS . '\', 2, \'error_details\')">' . _MOREINFO . '</a>';
                     $message_type = 'failure';
                 }
                 $smarty->assign("T_RSS_PROVIDE_RSS_FORM", $form->toArray());
             } else {
                 if (isset($_GET['ajax'])) {
                     echo $this->getRssFeeds($_GET['refresh']);
                     //echo $this -> getRssFeeds(true);
                     exit;
                 } else {
                     $lessons = array(0 => _ALLLESSONS);
                     $result = EfrontLesson::getLessons();
                     foreach ($result as $key => $lesson) {
                         $lessons[$key] = $lesson['name'];
                     }
                     $smarty->assign("T_LESSON_NAMES", $lessons);
                     if ($_SESSION['s_lesson_user_type']) {
                         $type = $_SESSION['s_lesson_user_type'];
                         $smarty->assign("T_RSS_PROVIDED_FEEDS", $this->getProvidedFeeds($_SESSION['s_lessons_ID']));
                         $smarty->assign("T_RSS_FEEDS", $this->getFeeds(false, $_SESSION['s_lessons_ID']));
                     } else {
                         $type = $this->getCurrentUser()->getType();
                         $smarty->assign("T_RSS_PROVIDED_FEEDS", $this->getProvidedFeeds());
                         $smarty->assign("T_RSS_FEEDS", $this->getFeeds());
                     }
                     $smarty->assign("T_RSS_USERTYPE", $type);
                 }
             }
         }
     }
     if ($message) {
         $this->setMessageVar($message, $message_type);
     }
     return $this->moduleBaseDir . "module_rss.tpl";
 }
Exemplo n.º 21
0
             echo "<xml>";
             echo "<status>error</status>";
             echo "<message>Incomplete arguments</message>";
             echo "</xml>";
         }
     } else {
         echo "<xml>";
         echo "<status>error</status>";
         echo "<message>Invalid token</message>";
         echo "</xml>";
     }
     break;
 case 'logout':
     if (isset($_GET['token'])) {
         $token = $_GET['token'];
         eF_deleteTableData("tokens", "token='{$token}'");
         echo "<xml>";
         echo "<status>ok</status>";
         echo "</xml>";
     } else {
         echo "<xml>";
         echo "<status>error</status>";
         echo "<message>No token provided</message>";
         echo "</xml>";
     }
     break;
 default:
     echo "<xml>";
     echo "<status>error</status>";
     echo "<message>Invalid action argument</message>";
     echo "</xml>";
Exemplo n.º 22
0
                 $editCourse->persist();
                 if (isset($updateCourseInstancesCategory) && $updateCourseInstancesCategory) {
                     eF_updateTableData("courses", array("directions_ID" => $editCourse->course['directions_ID']), "instance_source=" . $editCourse->course['id']);
                 }
                 if ($form->exportValue('branches_ID') && eF_checkParameter($form->exportValue('branches_ID'), 'id')) {
                     $result = eF_getTableDataFlat("module_hcd_course_to_branch", "branches_ID", "courses_ID=" . $editCourse->course['id']);
                     if (sizeof($result['branches_ID']) == 0) {
                         eF_insertTableData("module_hcd_course_to_branch", array("branches_ID" => $form->exportValue('branches_ID'), "courses_ID" => $editCourse->course['id']));
                     } elseif (sizeof($result['branches_ID']) == 1) {
                         //Only one branch associated with this course, as a 'location'
                         eF_updateTableData("module_hcd_course_to_branch", array("branches_ID" => $form->exportValue('branches_ID')), "courses_ID=" . $editCourse->course['id']);
                     }
                 } else {
                     if (G_VERSIONTYPE == 'enterprise') {
                         #cpp#ifdef ENTERPRISE
                         eF_deleteTableData("module_hcd_course_to_branch", "courses_ID=" . $editCourse->course['id']);
                     }
                     #cpp#endif
                 }
                 !isset($redirect) or eF_redirect($redirect);
             } catch (Exception $e) {
                 handleNormalFlowExceptions($e);
             }
         }
     }
     $renderer = prepareFormRenderer($form);
     $form->accept($renderer);
     $smarty->assign('T_COURSE_FORM', $renderer->toArray());
     //The courses advanced settings
 } elseif (isset($_GET['course'])) {
     $currentCourse = new EfrontCourse($_GET['course']);
 /**
  * Delete a personal message
  *
  * This function is used to delete a message, including any attachments it may have
  *
  * @param int $msg_id The message id
  * @return bool True if the deletion was succesful
  * @version 0.1
  * @deprecated
  */
 public static function eF_deletePersonalMessage($msg_id)
 {
     if (eF_checkParameter($msg_id, 'id')) {
         $res = eF_getTableData("f_personal_messages", "users_LOGIN, attachments, f_folders_ID", "id=" . $msg_id);
         if ($_SESSION['s_login'] == $res[0]['users_LOGIN'] || $_SESSION['s_type'] == 'administrator') {
             eF_deleteTableData("f_personal_messages", "id=" . $msg_id);
             if ($res[0]['attachments'] != '') {
                 $attached_file = new EfrontFile($res[0]['attachments']);
                 $attached_file->delete();
             }
             return true;
         } else {
             $message = 'You cannot delete this message';
             return $message;
         }
     } else {
         $message = _INVALIDID;
         return $message;
     }
 }
Exemplo n.º 24
0
 /**
  * Delete comments from content
  *
  * This function is used to delete the specified comments from the
  * content.
  * <br/>Example:
  * <code>
  * $content = new EfrontContentTree(34);        //Initialize content for lesson with id 34
  * $content -> deleteComments(4);   //Delete comment with ids 4
  * $content -> deleteComments(array(4,6,2));    //Delete comments with ids 4,6,2
  * $content -> deleteComments(array_keys($content -> getComments()));   //Delete all comments
  * </code>
  *
  * @param mixed $comments A comment id or an array of comment ids
  * @since 3.5.2
  * @access public
  */
 public function deleteComments($comments)
 {
     if (!is_array($comments)) {
         $comments = array($comments);
     }
     $contentComments = array_keys($this->getComments());
     $ids = array();
     foreach ($comments as $key => $value) {
         if (in_array($value, $contentComments)) {
             $ids[] = $value;
         }
     }
     if (sizeof($ids) > 0) {
         eF_deleteTableData("comments", "id in (" . implode(",", $ids) . ")");
     }
 }
 /**
  * Delete configuration value
  *
  * This function deletes the specified value from the configuration table and variable
  * @param string $name The variable name
  * @since 3.6.8
  * @access public
  * @static
  */
 public static function deleteValue($name)
 {
     EfrontCache::getInstance()->deleteCache('configuration');
     eF_deleteTableData("configuration", "name = '{$name}'");
     unset($GLOBALS['configuration'][$name]);
 }
 /**
  * The main functionality
  *
  * (non-PHPdoc)
  * @see libraries/EfrontModule#getModule()
  */
 public function getModule()
 {
     $smarty = $this->getSmartyVar();
     $currentUser = $this->getCurrentUser();
     $directionsTree = new EfrontDirectionsTree();
     $directionsPaths = $directionsTree->toPathString();
     $smarty->assign("T_MODULE_OUTLOOK_INVITATION_DIRECTION_PATHS", $directionsPaths);
     $temp = eF_getTableData("module_outlook_invitation as m,courses as c", "m.*,c.name,c.directions_ID", "m.courses_ID=c.id");
     $events = array();
     foreach ($temp as $value) {
         $events[$value['courses_ID']] = $value;
     }
     if (isset($_GET['delete_event']) && eF_checkParameter($_GET['delete_event'], 'id') && in_array($_GET['delete_event'], array_keys($events))) {
         try {
             $event = $events[$_GET['delete_event']];
             $course = new EfrontCourse($event['courses_ID']);
             $users = $course->getCourseUsers(array('active' => true, archive => false, 'return_objects' => false));
             $recipients = array();
             foreach ($users as $value) {
                 $recipients[] = $value['email'];
             }
             $this->cancelInvitation($course->course['id'], $recipients);
             eF_deleteTableData("module_outlook_invitation", "courses_ID=" . $_GET['delete_event']);
         } catch (Exception $e) {
             header("HTTP/1.0 500 ");
             echo $e->getMessage() . ' (' . $e->getCode() . ')';
         }
         exit;
     }
     if ($_SESSION['s_type'] != 'administrator') {
         $userCourses = $currentUser->getUserCourses(array('archive' => 0, 'active' => true, 'return_objects' => false));
         if (G_VERSIONTYPE == 'enterprise') {
             if ($_SESSION['s_current_branch']) {
                 $result = eF_getTableData("module_hcd_course_to_branch", "courses_ID", "branches_ID='{$_SESSION['s_current_branch']}'");
             } else {
                 if ($currentUser->aspects['hcd']->isSupervisor()) {
                     $result = eF_getTableData("module_hcd_course_to_branch", "courses_ID", "branches_ID in (select branches_ID from module_hcd_employee_works_at_branch where users_login='******'login']}' and supervisor=1)");
                 }
             }
             $branchCourses = array();
             foreach ($result as $value) {
                 $branchCourses[$value['courses_ID']] = $value['courses_ID'];
             }
             foreach ($events as $key => $value) {
                 if (!isset($branchCourses[$key]) && !isset($userCourses[$key])) {
                     unset($events[$key]);
                 }
             }
         } else {
             foreach ($events as $key => $value) {
                 if (!isset($userCourses[$key])) {
                     unset($events[$key]);
                 }
             }
         }
     }
     if (!isset($_GET['course'])) {
         $dataSource = $events;
         $tableName = 'outlookInvitationsTable';
         isset($_GET['limit']) && eF_checkParameter($_GET['limit'], 'uint') ? $limit = $_GET['limit'] : ($limit = G_DEFAULT_TABLE_SIZE);
         if (isset($_GET['sort']) && eF_checkParameter($_GET['sort'], 'text')) {
             $sort = $_GET['sort'];
             isset($_GET['order']) && $_GET['order'] == 'desc' ? $order = 'desc' : ($order = 'asc');
         } else {
             $sort = 'login';
         }
         $dataSource = eF_multiSort($dataSource, $sort, $order);
         $smarty->assign("T_TABLE_SIZE", sizeof($dataSource));
         if (isset($_GET['filter'])) {
             $dataSource = eF_filterData($dataSource, $_GET['filter']);
         }
         if (isset($_GET['limit']) && eF_checkParameter($_GET['limit'], 'int')) {
             isset($_GET['offset']) && eF_checkParameter($_GET['offset'], 'int') ? $offset = $_GET['offset'] : ($offset = 0);
             $dataSource = array_slice($dataSource, $offset, $limit);
         }
         $smarty->assign("T_DATA_SOURCE", $dataSource);
     } else {
         $course = new EfrontCourse($_GET['course']);
         $form = new HTML_QuickForm("import_outlook_invitation_form", "post", $this->moduleBaseUrl . "&course={$course->course['id']}&add_event=1" . (isset($_GET['popup']) ? '&popup=1' : ''), "", null, true);
         $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
         //Register this rule for checking user input with our function, eF_checkParameter
         $form->addElement('text', 'email', _SENDER, 'class = "inputText"');
         $form->addElement('text', 'location', _LOCATION, 'class = "inputText"');
         $form->addElement('text', 'subject', _SUBJECT, 'class = "inputText"');
         $form->addElement('textarea', 'description', _DESCRIPTION, 'class = "inputTestTextarea" style = "width:80%;height:6em;"');
         //$form -> addElement('checkbox', 'calendar', _MODULE_OUTLOOK_INVITATION_CREATE_CALENDAR);
         //$form -> addElement('static', 'static', _MODULE_OUTLOOK_INVITATION_INFO);
         $form->addElement('submit', 'submit_event_all', _MODULE_OUTLOOK_INVITATION_SENDALL, 'class=flatButton');
         $form->addElement('submit', 'submit_event_new', _MODULE_OUTLOOK_INVITATION_SENDNEW, 'class=flatButton');
         if (empty($events[$course->course['id']])) {
             //new invitation
             $currentEvent = null;
             $form->setDefaults(array('email' => $currentUser->user['email'], 'subject' => 'Invitation to attend training: ' . $course->course['name']));
         } else {
             //existing invitation
             $currentEvent = $events[$course->course['id']];
             $form->setDefaults(array('email' => $currentEvent['email'], 'description' => $currentEvent['description'], 'subject' => $currentEvent['subject'], 'location' => $currentEvent['location']));
         }
         if ($form->isSubmitted() && $form->validate()) {
             try {
                 $message = "";
                 // Set info to store into database
                 $permanent_info = array("courses_ID" => $course->course['id'], "email" => $form->exportValue('email') ? $form->exportValue('email') : $GLOBALS['configuration']['system_email'], "location" => $form->exportValue('location'), "subject" => $form->exportValue('subject'), "description" => $form->exportValue('description'));
                 if ($currentEvent) {
                     $permanent_info['sequence'] = $currentEvent['sequence'] + 1;
                     eF_updateTableData("module_outlook_invitation", $permanent_info, "courses_ID={$course->course['id']}");
                 } else {
                     eF_insertTableData("module_outlook_invitation", $permanent_info);
                 }
                 if ($form->exportValue('submit_event_all')) {
                     $users = $course->getCourseUsers(array('active' => true, archive => false, 'return_objects' => false));
                     $recipients = array();
                     foreach ($users as $value) {
                         $recipients[] = $value['email'];
                     }
                     $this->sendInvitation($course->course['id'], $recipients);
                 }
                 //					$smarty->assign('T_RELOAD', true);
                 if (isset($_GET['popup'])) {
                     $this->setMessageVar(_OPERATIONCOMPLETEDSUCCESSFULLY, 'success');
                 } else {
                     eF_redirect($this->moduleBaseUrl . "&message=" . urlencode(_OPERATIONCOMPLETEDSUCCESSFULLY) . "&message_type=success");
                 }
             } catch (Exception $e) {
                 $smarty->assign("T_EXCEPTION_TRACE", $e->getTraceAsString());
                 $this->setMessageVar($e->getMessage() . ' (' . $e->getCode() . ') &nbsp;<a href = "javascript:void(0)" onclick = "eF_js_showDivPopup(event, \'' . _ERRORDETAILS . '\', 2, \'error_details\')">' . _MOREINFO . '</a>', 'failure');
             }
         }
         $form->setJsWarnings(_BEFOREJAVASCRIPTERROR, _AFTERJAVASCRIPTERROR);
         $form->setRequiredNote(_REQUIREDNOTE);
         $smarty->assign('T_MODULE_OUTLOOK_INVITATION_FORM', $form->toArray());
     }
     $smarty->assign("T_MODULE_BASEDIR", $this->moduleBaseDir);
     $smarty->assign("T_MODULE_BASELINK", $this->moduleBaseLink);
     $smarty->assign("T_MODULE_BASEURL", $this->moduleBaseUrl);
     return true;
 }
Exemplo n.º 27
0
                                 }
                             }
                         }
                         echo _FROM . ' ' . formatTimestamp($fromTimestamp, 'time_nosec') . ' ' . _TO . ' ' . formatTimestamp($toTimestamp, 'time_nosec') . '&nbsp;';
                     } else {
                         header("HTTP/1.0 500");
                         echo _ENDDATEMUSTBEBEFORESTARTDATE;
                     }
                     exit;
                 } else {
                     if (isset($_GET['delete_schedule']) && $_GET['delete_schedule'] == 0) {
                         $currentCourse->course['start_date'] = '';
                         $currentCourse->course['end_date'] = '';
                         $currentCourse->persist();
                         eF_deleteTableData("notifications", "id_type_entity LIKE '%_" . -1 * EfrontEvent::COURSE_PROGRAMMED_START . "_" . $currentCourse->course['id'] . "'");
                         eF_deleteTableData("notifications", "id_type_entity LIKE '%_" . -1 * EfrontEvent::COURSE_PROGRAMMED_EXPIRY . "_" . $currentCourse->course['id'] . "'");
                     }
                 }
             }
         }
     }
 } catch (Exception $e) {
     handleAjaxExceptions($e);
 }
 $days_after_enrollment = array();
 for ($k = 0; $k <= 360; $k++) {
     $days_after_enrollment[$k] = $k;
     if ($k >= 100) {
         $k += 5;
     }
 }
Exemplo n.º 28
0
    $form->addElement('submit', 'submit_add_period', _SAVECHANGES, 'class = "flatButton"');
    //The submit period button
    if ($form->isSubmitted() && $form->validate()) {
        $fromTimestamp = mktime($_POST['from_Hour'], $_POST['from_Minute'], 0, $_POST['from_Month'], $_POST['from_Day'], $_POST['from_Year']);
        $toTimestamp = mktime($_POST['to_Hour'], $_POST['to_Minute'], 0, $_POST['to_Month'], $_POST['to_Day'], $_POST['to_Year']);
        if ($fromTimestamp < $toTimestamp) {
            $currentLesson->lesson['from_timestamp'] = $fromTimestamp;
            $currentLesson->lesson['to_timestamp'] = $toTimestamp;
            //$currentLesson -> lesson['shift']          = $form -> exportValue('shift') ? 1 : 0;
            $smarty->assign("T_FROM_TIMESTAMP", $currentLesson->lesson['from_timestamp']);
            $smarty->assign("T_TO_TIMESTAMP", $currentLesson->lesson['to_timestamp']);
            // Note: the semantics of the following event triggers: these triggerings are used to create future "before event" notifications now
            // For this reason the timestamp is set to the values of the lesson
            eF_deleteTableData("notifications", "id_type_entity LIKE '%_" . -1 * EfrontEvent::LESSON_PROGRAMMED_START . "_" . $lesson->lesson['id'] . "'");
            eF_deleteTableData("notifications", "id_type_entity LIKE '%_" . -1 * EfrontEvent::LESSON_PROGRAMMED_EXPIRY . "_" . $lesson->lesson['id'] . "'");
            eF_deleteTableData("events", "lessons_ID = " . $currentLesson->lesson['id'] . " AND (type = '" . EfrontEvent::LESSON_PROGRAMMED_START . "' OR type = '" . EfrontEvent::LESSON_PROGRAMMED_EXPIRY . "')");
            $currentLesson->persist();
            if ($fromTimestamp > time()) {
                EfrontEvent::triggerEvent(array("type" => EfrontEvent::LESSON_PROGRAMMED_START, "timestamp" => $fromTimestamp, "lessons_ID" => $currentLesson->lesson['id'], "lessons_name" => $currentLesson->lesson['name']));
            }
            if ($toTimestamp > time()) {
                EfrontEvent::triggerEvent(array("type" => EfrontEvent::LESSON_PROGRAMMED_EXPIRY, "timestamp" => $toTimestamp, "lessons_ID" => $currentLesson->lesson['id'], "lessons_name" => $currentLesson->lesson['name']));
            }
            $message = _OPERATIONCOMPLETEDSUCCESSFULLY;
            $message_type = 'success';
        } else {
            $message = _ENDDATEMUSTBEBEFORESTARTDATE;
            $message_type = 'failure';
        }
    }
}
Exemplo n.º 29
0
        if (isset($_GET['filter'])) {
            $scormData = eF_filterData($scormData, $_GET['filter']);
        }
        if (isset($_GET['limit']) && eF_checkParameter($_GET['limit'], 'int')) {
            isset($_GET['offset']) && eF_checkParameter($_GET['offset'], 'int') ? $offset = $_GET['offset'] : ($offset = 0);
            $scormData = array_slice($scormData, $offset, $limit);
        }
        $smarty->assign("T_SCORM_DATA", $scormData);
        $smarty->display('professor.tpl');
        exit;
    }
    foreach ($scormData as $value) {
        $scormIds[] = $value['id'];
    }
    if (isset($_GET['delete']) && in_array($_GET['delete'], $scormIds)) {
        eF_deleteTableData("scorm_data", "id=" . $_GET['delete']);
        $user = EfrontUserFactory::factory($scormData[0]['users_LOGIN']);
        $user->setSeenUnit($scormData[0]['content_ID'], $currentLesson, false);
        exit;
    }
} else {
    if ($_GET['scorm_import']) {
        if (isset($currentUser->coreAccess['content']) && $currentUser->coreAccess['content'] != 'change') {
            eF_redirect("" . basename($_SERVER['PHP_SELF']) . "?ctg=control_panel&message=" . urlencode(_UNAUTHORIZEDACCESS) . "&message_type=failure");
        }
        try {
            $smarty->assign("T_MAX_FILE_SIZE", FileSystemTree::getUploadMaxSize());
            $maxUploads = 5;
            $form = new HTML_QuickForm("upload_scorm_form", "post", basename($_SERVER['PHP_SELF']) . '?ctg=scorm&scorm_import=1', "", null, true);
            $form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
            //Register this rule for checking user input with our function, eF_checkParameter
Exemplo n.º 30
0
         }
     } else {
         $folder = $module_folder_position[0]['position'];
         require_once G_MODULESPATH . $folder . "/" . $className . ".class.php";
         if (class_exists($className)) {
             $module = new $className("administrator.php?ctg=module&op=" . $className, $folder);
             try {
                 $module->onUninstall();
             } catch (Exception $e) {
                 /*Do nothing*/
             }
         }
         // PROBLEM: if the folder is open and cannot be deleted then the module cannot be reinstalled
         $folder = new EfrontDirectory(G_MODULESPATH . $folder . '/');
         $folder->delete();
         eF_deleteTableData("modules", "className='" . $className . "'");
     }
     EfrontCache::getInstance()->deleteCache('modules');
     exit;
 } elseif (isset($_GET['activate_module']) && eF_checkParameter($_GET['activate_module'], 'filename')) {
     if (isset($currentUser->coreAccess['modules']) && $currentUser->coreAccess['modules'] != 'change') {
         throw new EfrontSystemException(_UNAUTHORIZEDACCESS, EfrontSystemException::UNAUTHORIZED_ACCESS);
     }
     eF_updateTableData("modules", array("active" => 1), "className = '" . $_GET['activate_module'] . "'");
     EfrontCache::getInstance()->deleteCache('modules');
     echo "1";
     exit;
 } elseif (isset($_GET['deactivate_module']) && eF_checkParameter($_GET['deactivate_module'], 'filename')) {
     if (isset($currentUser->coreAccess['modules']) && $currentUser->coreAccess['modules'] != 'change') {
         throw new EfrontSystemException(_UNAUTHORIZEDACCESS, EfrontSystemException::UNAUTHORIZED_ACCESS);
     }