/** * Validates imported data. */ function validate_data($courses) { $errors = array(); $coursecodes = array(); foreach ($courses as $index => $course) { $course['line'] = $index + 1; // 1. Check whether mandatory fields are set. $mandatory_fields = array('Code', 'Title', 'CourseCategory'); foreach ($mandatory_fields as $field) { if (!isset($course[$field]) || strlen($course[$field]) == 0) { $course['error'] = get_lang($field . 'Mandatory'); $errors[] = $course; } } // 2. Check current course code. if (isset($course['Code']) && strlen($course['Code']) != 0) { // 2.1 Check whether code has been already used by this CVS-file. if (isset($coursecodes[$course['Code']])) { $course['error'] = get_lang('CodeTwiceInFile'); $errors[] = $course; } else { // 2.2 Check whether course code has been occupied. $courseInfo = api_get_course_info($course['Code']); if (!empty($courseInfo)) { $course['error'] = get_lang('CodeExists'); $errors[] = $course; } } $coursecodes[$course['Code']] = 1; } // 3. Check whether teacher exists. $teacherList = getTeacherListInArray($course['Teacher']); if (!empty($teacherList)) { foreach ($teacherList as $teacher) { $teacherInfo = api_get_user_info_from_username($teacher); if (empty($teacherInfo)) { $course['error'] = get_lang('UnknownTeacher') . ' (' . $teacher . ')'; $errors[] = $course; } else { /*if ($teacherInfo['status'] != COURSEMANAGER) { $course['error'] = get_lang('UserIsNotATeacher').' ('.$teacher.')'; $errors[] = $course; }*/ } } } // 4. Check whether course category exists. if (isset($course['CourseCategory']) && strlen($course['CourseCategory']) != 0) { $categoryInfo = CourseCategory::getCategory($course['CourseCategory']); if (empty($categoryInfo)) { //@todo this is so bad even all lang variables are wrong ... $course['error'] = get_lang('UnkownCategoryCourseCode') . ' (' . $course['CourseCategory'] . ')'; $errors[] = $course; } } } return $errors; }
<?php session_start(); define("CONST_FILE_PATH", "includes/constants.php"); define("CURRENT_PAGE", "courses"); require 'classes/WebPage.php'; //Set up page as a web page $thisPage = new WebPage(); //Create new instance of webPage class $dbObj = new Database(); //Instantiate database $thisPage->dbObj = $dbObj; $courseObj = new Course($dbObj); $categoryObj = new CourseCategory($dbObj); $clientObj = new Sponsor($dbObj); $quoteObj = new Quote($dbObj); $calendar = new Calendar($dbObj); include 'includes/other-settings.php'; require 'includes/page-properties.php'; $recordPerPage = Setting::getValue($dbObj, 'TOTAL_DISPLAYABLE_COURSES') ? trim(strip_tags(Setting::getValue($dbObj, 'TOTAL_DISPLAYABLE_COURSES'))) : 100; $pageNum = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT) ? filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT) : 1; $categoryParam = filter_input(INPUT_GET, 'category', FILTER_VALIDATE_INT) ? filter_input(INPUT_GET, 'category', FILTER_VALIDATE_INT) : 0; $classParam = filter_input(INPUT_GET, 'class') ? filter_input(INPUT_GET, 'class') : ''; $classVal = ''; $classLink = ''; //Handler for sector based search switch ($classParam) { case 'private-sector': $classVal = ' AND featured = 1 '; $classLink = 'private-sector/'; $thisPage->title = "Private Sector Courses" . ' - ' . WEBSITE_AUTHOR;
/** * Show the Session Catalogue with filtered session by a query term * @param array $limit */ public function sessionListBySearch(array $limit) { $q = isset($_REQUEST['q']) ? Security::remove_XSS($_REQUEST['q']) : null; $hiddenLinks = isset($_GET['hidden_links']) ? intval($_GET['hidden_links']) == 1 : false; $courseUrl = CourseCategory::getCourseCategoryUrl(1, $limit['length'], null, 0, 'subscribe'); $searchDate = isset($_POST['date']) ? $_POST['date'] : date('Y-m-d'); $sessions = $this->model->browseSessionsBySearch($q, $limit); $sessionsBlocks = $this->getFormatedSessionsBlock($sessions); echo Container::getTemplating()->render('@temaplte_style/auth/session_catalog.html.twig', ['show_courses' => CoursesAndSessionsCatalog::showCourses(), 'show_sessions' => CoursesAndSessionsCatalog::showSessions(), 'show_tutor' => api_get_setting('session.show_session_coach') === 'true' ? true : false, 'course_url' => $courseUrl, 'already_subscribed_label' => $this->getAlreadyRegisteredInSessionLabel(), 'hidden_links' => $hiddenLinks, 'search_token' => Security::get_token(), 'search_date' => Security::remove_XSS($searchDate), 'search_tag' => Security::remove_XSS($q), 'sessions' => $sessionsBlocks]); }
} else { // Ensure the database prefix + database name do not get over 40 characters. $maxlength = 40; // Build the form. $form = new FormValidator('add_course', 'post', 'course_request_edit.php?id=' . $id . '&caller=' . $caller); // Form title. $form->addElement('header', $tool_name); // Title. $form->addElement('text', 'title', get_lang('CourseName'), array('size' => '60', 'id' => 'title')); $form->applyFilter('title', 'html_filter'); $form->addRule('title', get_lang('ThisFieldIsRequired'), 'required'); // Course category. $url = api_get_path(WEB_AJAX_PATH) . 'course.ajax.php?a=search_category'; $courseSelect = $form->addElement('select_ajax', 'category_code', get_lang('CourseFaculty'), null, array('url' => $url)); if (!empty($course_request_info['category_code'])) { $data = CourseCategory::getCategory($course_request_info['category_code']); $courseSelect->addOption($data['name'], $data['code'], ['selected' => 'selected']); } // Course code. $form->addText('wanted_code', get_lang('Code'), false, array('size' => '$maxlength', 'maxlength' => $maxlength)); $form->applyFilter('wanted_code', 'html_filter'); $form->addRule('wanted_code', get_lang('Max'), 'maxlength', $maxlength); $form->addRule('wanted_code', get_lang('ThisFieldIsRequired'), 'required'); // The teacher. $titular = $form->addText('tutor_name', get_lang('Professor'), null, array('size' => '60', 'disabled' => 'disabled')); // Description of the requested course. $form->addElement('textarea', 'description', get_lang('Description'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116')); $form->addRule('description', get_lang('ThisFieldIsRequired'), 'required'); // Objectives of the requested course. $form->addElement('textarea', 'objetives', get_lang('Objectives'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116')); $form->addRule('objetives', get_lang('ThisFieldIsRequired'), 'required');
<?php session_start(); define("CONST_FILE_PATH", "includes/constants.php"); define("CURRENT_PAGE", "course-categories"); require 'classes/WebPage.php'; //Set up page as a web page $thisPage = new WebPage(); //Create new instance of webPage class $dbObj = new Database(); //Instantiate database $thisPage->dbObj = $dbObj; $courseObj = new Course($dbObj); $categoryObj = new CourseCategory($dbObj); $clientObj = new Sponsor($dbObj); $quoteObj = new Quote($dbObj); $calendar = new Calendar($dbObj); include 'includes/other-settings.php'; require 'includes/page-properties.php'; ?> <!DOCTYPE html> <html lang="en-US"> <head> <?php include 'includes/meta-tags.php'; ?> <style type="text/css">img.wp-smiley,img.emoji {display: inline !important;border: none !important;box-shadow: none !important;height: 1em !important;width: 1em !important;margin: 0 .07em !important;vertical-align: -0.1em !important;background: none !important;padding: 0 !important; }</style> <link rel='stylesheet' id='rs-plugin-settings-css' href='<?php echo SITE_URL; ?> plugins/revslider/rs-plugin/css/settings1dc6.css?ver=4.6.5' type='text/css' media='all' />
<?php /* @var $this CourseController */ /* @var $dataProvider CActiveDataProvider */ ?> <div class="row "> <?php ?> <div class="span2 dxd-course-category"> <?php $this->widget('bootstrap.widgets.TbMenu', array('type' => 'list', 'items' => CourseCategory::getItems())); ?> </div> <div class="span10"> <h3 class="side-lined"><?php echo '关注话题'; ?> </h3> <br/> <?php $this->widget('bootstrap.widgets.TbThumbnails', array('dataProvider' => $dataProvider, 'template' => "{items}\n{pager}", 'itemView' => '_card')); ?> </div> </div>
$text = get_lang('Save'); $form->setDefaults($categoryInfo); $form->addButtonSave($text); } else { $class = "add"; $text = get_lang('AddCategory'); $form->setDefaults(array('auth_course_child' => 'TRUE')); $form->addButtonCreate($text); } $form->display(); } else { // If multiple URLs and not main URL, prevent deletion and inform user if ($action == 'delete' && api_get_multiple_access_url() && api_get_current_access_url_id() != 1) { Display::display_warning_message(get_lang('CourseCategoriesAreGlobal')); } echo '<div class="actions">'; $link = null; if (!empty($parentInfo)) { $parentCode = $parentInfo['parent_id']; echo Display::url(Display::return_icon('back.png', get_lang("Back"), '', ICON_SIZE_MEDIUM), api_get_path(WEB_CODE_PATH) . 'admin/course_category.php?category=' . $parentCode); } if (empty($parentInfo) || $parentInfo['auth_cat_child'] == 'TRUE') { echo Display::url(Display::return_icon('new_folder.png', get_lang("AddACategory"), '', ICON_SIZE_MEDIUM), api_get_path(WEB_CODE_PATH) . 'admin/course_category.php?action=add&category=' . Security::remove_XSS($category)); } echo '</div>'; if (!empty($parentInfo)) { echo Display::page_subheader($parentInfo['name'] . ' (' . $parentInfo['code'] . ')'); } echo CourseCategory::listCategories($category); } Display::display_footer();
/** Method that fetches courses from database * @param string $column Column name of the data to be fetched * @param string $condition Additional condition e.g category_id > 9 * @param string $sort column name to be used as sort parameter * @return JSON JSON encoded course details */ public function fetch($column = "*", $condition = "", $sort = "id") { $sql = "SELECT {$column} FROM course ORDER BY {$sort}"; if (!empty($condition)) { $sql = "SELECT {$column} FROM course WHERE {$condition} ORDER BY {$sort}"; } $data = $this->dbObj->fetchAssoc($sql); $result = array(); if (count($data) > 0) { foreach ($data as $r) { $result[] = array("id" => $r['id'], "name" => utf8_encode($r['name']), "image" => utf8_encode($r['image']), 'shortName' => utf8_encode($r['short_name']), 'category' => utf8_encode($r['category']), 'startDate' => utf8_encode($r['start_date']), 'endDate' => utf8_encode($r['end_date']), 'code' => utf8_encode($r['code']), 'description' => utf8_encode(StringManipulator::trimStringToFullWord(200, stripcslashes(strip_tags($r['description'])))), 'media' => utf8_encode($r['media']), 'currency' => utf8_encode($r['currency']), 'amount' => utf8_encode($r['amount']), 'cost' => utf8_encode($r['currency'] . number_format($r['amount'], 2)), 'status' => utf8_encode($r['status']), 'dateRegistered' => utf8_encode($r['date_registered']), 'categoryName' => utf8_encode(CourseCategory::getName($this->dbObj, $r['category']))); } $json = array("status" => 1, "info" => $result); } else { $json = array("status" => 2, "msg" => "Necessary parameters not set. Or empty result. " . mysqli_error($this->dbObj->connection)); } $this->dbObj->close(); header('Content-type: application/json'); return json_encode($json); }
<div class="sidebar widget_area bg_tint_light sidebar_style_light" role="complementary"> <aside id="woocommerce_product_categories-3" class="widget_number_1 widget woocommerce widget_product_categories"> <h5 class="widget_title">Categories</h5> <ul class="product-categories"> <?php $sideCategoryObj = new CourseCategory($dbObj); foreach ($sideCategoryObj->fetchRaw("*", " 1=1 ", " name ASC LIMIT 10") as $category) { $categoryData = array('id' => 'id', 'name' => 'name', 'image' => 'image', 'description' => 'description'); foreach ($categoryData as $key => $value) { switch ($key) { case 'image': $sideCategoryObj->{$key} = MEDIA_FILES_PATH1 . 'category/' . $category[$value]; break; default: $sideCategoryObj->{$key} = $category[$value]; break; } } ?> <li class="cat-item cat-item-65"><a href="<?php echo SITE_URL . 'courses/category/' . $sideCategoryObj->id . '/' . StringManipulator::slugify($sideCategoryObj->name) . '/'; ?> "><?php echo $sideCategoryObj->name; ?> </a> <span class="count">(<?php echo Course::getSingleCategoryCount($dbObj, $sideCategoryObj->id); ?> )</span></li> <?php }
/** * Updates the access_url_rel_course_category table with a given list * @author Julio Montoya * @param array course category list * @param int access_url_id **/ public static function updateUrlRelCourseCategory($list, $urlId) { $table = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE_CATEGORY); $sql = "SELECT course_category_id FROM {$table} WHERE access_url_id = " . intval($urlId); $result = Database::query($sql); $existingItems = array(); while ($row = Database::fetch_array($result)) { $existingItems[] = $row['course_category_id']; } // Adding foreach ($list as $id) { UrlManager::addCourseCategoryToUrl($id, $urlId); $categoryInfo = CourseCategory::getCategoryById($id); $children = CourseCategory::getChildren($categoryInfo['code']); if (!empty($children)) { foreach ($children as $category) { UrlManager::addCourseCategoryToUrl($category['id'], $urlId); } } } // Deleting old items foreach ($existingItems as $id) { if (!in_array($id, $list)) { UrlManager::deleteUrlRelCourseCategory($id, $urlId); $categoryInfo = CourseCategory::getCategoryById($id); $children = CourseCategory::getChildren($categoryInfo['code']); if (!empty($children)) { foreach ($children as $category) { UrlManager::deleteUrlRelCourseCategory($category['id'], $urlId); } } } } }
/** * Display all the courses in the given course category. I could have used a parameter here * @param string $categoryCode Category code * @param int $randomValue * @param array $limit will be used if $random_value is not set. * This array should contains 'start' and 'length' keys * @return array Courses data */ public function browse_courses_in_category($categoryCode, $randomValue = null, $limit = array()) { return CourseCategory::browseCoursesInCategory($categoryCode, $randomValue, $limit); }
echo SITE_URL . 'courses/private-sector/'; ?> ">Private Sector Courses</a></li> <li id="menu-item-1154" class="menu-item menu-item-type-post_type menu-item-object-courses menu-item-1154"><a href="<?php echo SITE_URL . 'courses/public-sector/'; ?> ">Public Sector Courses</a></li> </ul> </li> <li id="menu-item-1398" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-1398"><a href="<?php echo SITE_URL . 'course-categories/'; ?> ">Course Categories</a> <ul class="sub-menu"> <?php $menuCatObj = new CourseCategory($dbObj); foreach ($menuCatObj->fetchRaw("*", " 1=1 ", " name ASC ") as $menuCategory) { ?> <li id="menu-item-1399" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1399"><a href="<?php echo SITE_URL . 'courses/category/' . $menuCategory['id'] . '/' . StringManipulator::slugify($menuCategory['name']) . '/'; ?> "><?php echo $menuCategory['name']; ?> </a></li> <?php } ?> </ul> </li> </ul>
/** * Adds an object to the instance pool. * * Propel keeps cached copies of objects in an instance pool when they are retrieved * from the database. In some cases -- especially when you override doSelect*() * methods in your stub classes -- you may need to explicitly add objects * to the cache in order to ensure that the same objects are always returned by doSelect*() * and retrieveByPK*() calls. * * @param CourseCategory $value A CourseCategory object. * @param string $key (optional) key to use for instance map (for performance boost if key was already calculated externally). */ public static function addInstanceToPool(CourseCategory $obj, $key = null) { if (Propel::isInstancePoolingEnabled()) { if ($key === null) { $key = (string) $obj->getId(); } // if key === null self::$instances[$key] = $obj; } }
} $a_profs[0] = '-- ' . get_lang('NoManager') . ' --'; while ($a_titulars = Database::fetch_array($q_result_titulars)) { $s_username = $a_titulars['username']; $s_lastname = $a_titulars['lastname']; $s_firstname = $a_titulars['firstname']; if (api_get_person_name($s_firstname, $s_lastname) == $s_tutor) { $s_selected_tutor = api_get_person_name($s_firstname, $s_lastname); } $s_disabled_select_titular = ''; if (!api_is_course_admin()) { $s_disabled_select_titular = 'disabled=disabled'; } $a_profs[api_get_person_name($s_firstname, $s_lastname)] = api_get_person_name($s_lastname, $s_firstname) . ' (' . $s_username . ')'; } $categories = CourseCategory::getCategoriesCanBeAddedInCourse($_course['categoryCode']); $linebreak = '<div class="row"><div class="label"></div><div class="formw" style="border-bottom:1px dashed grey"></div></div>'; // Build the form $form = new FormValidator('update_course', 'post', api_get_self() . '?' . api_get_cidreq()); // COURSE SETTINGS $form->addElement('html', '<div><h3>' . Display::return_icon('settings.png', Security::remove_XSS(get_lang('CourseSettings')), '', ICON_SIZE_SMALL) . ' ' . Security::remove_XSS(get_lang('CourseSettings')) . '</h3><div>'); $image_html = ''; // Display course picture $course_path = api_get_path(SYS_COURSE_PATH) . $currentCourseRepository; // course path if (file_exists($course_path . '/course-pic85x85.png')) { $course_web_path = api_get_path(WEB_COURSE_PATH) . $currentCourseRepository; // course web path $course_medium_image = $course_web_path . '/course-pic85x85.png?' . rand(1, 1000); // redimensioned image 85x85 $image_html = '<div class="row"><label class="col-md-2 control-label">' . get_lang('Image') . '</label> <div class="col-md-8"><img src="' . $course_medium_image . '" /></div></div>';
<h6 class="small-text">Email:</h6> <p><a href="mailto:<?php echo COMPANY_EMAIL; ?> "><?php echo COMPANY_EMAIL; ?> </a></p> </div> <div class="event-cta"> </div> <div class="related-event "> <h3>Other Categories</h3> <div class="ev-content"> <div class="row"> <?php $relatedCategoryObj = new CourseCategory($dbObj); foreach ($relatedCategoryObj->fetchRaw("*", " id != {$categoryObj->id} ", " RAND() LIMIT 2 ") as $relatedCategory) { $categoryData = array('id' => 'id', 'name' => 'name', 'image' => 'image', 'description' => 'description'); foreach ($categoryData as $key => $value) { switch ($key) { case 'image': $relatedCategoryObj->{$key} = MEDIA_FILES_PATH1 . 'category/' . $relatedCategory[$value]; break; default: $relatedCategoryObj->{$key} = $relatedCategory[$value]; break; } } ?> <div class="col-md-6 col-sm-6 related-item"> <div class="thumb">
} $noUserGroupList = $userGroupList = array(); $ajax_search = $add_type == 'unique' ? true : false; if ($ajax_search) { $userGroups = UrlManager::getUrlRelCourseCategory($access_url_id); foreach ($userGroups as $item) { $userGroupList[$item['id']] = $item; } } else { $userGroups = UrlManager::getUrlRelCourseCategory(); foreach ($userGroups as $item) { if ($item['access_url_id'] == $access_url_id) { $userGroupList[$item['id']] = $item; } } $noUserGroupList = CourseCategory::getCourseCategoryNotInList(array_keys($userGroupList)); } if ($add_type == 'multiple') { $link_add_type_unique = '<a href="' . api_get_self() . '?add_type=unique&access_url_id=' . $access_url_id . '">' . get_lang('SessionAddTypeUnique') . '</a>'; $link_add_type_multiple = get_lang('SessionAddTypeMultiple'); } else { $link_add_type_unique = get_lang('SessionAddTypeUnique'); $link_add_type_multiple = '<a href="' . api_get_self() . '?add_type=multiple&access_url_id=' . $access_url_id . '">' . get_lang('SessionAddTypeMultiple') . '</a>'; } $url_list = UrlManager::get_url_data(); ?> <div style="text-align: left;"> <?php echo $link_add_type_unique; ?> | <?php
<div class="post_info"> <span class="post_info_item post_info_posted"> <a href="<?php echo SITE_URL . 'course/' . $courseObj->id . '/' . StringManipulator::slugify($courseObj->name) . '/'; ?> " class="post_info_date"><?php echo $courseObj->startDate; ?> </a> </span> <span class="post_info_item post_info_posted_by"> | <a href="<?php echo SITE_URL . 'category/' . $courseObj->category . '/' . StringManipulator::slugify(CourseCategory::getName($dbObj, $courseObj->category)) . '/'; ?> " class="post_info_author"><?php echo CourseCategory::getName($dbObj, $courseObj->category); ?> </a> </span> <span class="post_info_item post_info_counters"> <a href="<?php echo SITE_URL . 'course/' . $courseObj->id . '/' . StringManipulator::slugify($courseObj->name) . '/'; ?> " class="post_counters_item post_counters_rating icon-star-1"> <span class="post_counters_number"><?php echo $courseObj->currency . ' ' . number_format($courseObj->amount, 2); ?> </span> </a> </span>
/** * Exclude object from result * * @param CourseCategory $courseCategory Object to remove from the list of results * * @return CourseCategoryQuery The current query, for fluid interface */ public function prune($courseCategory = null) { if ($courseCategory) { $this->addUsingAlias(CourseCategoryPeer::ID, $courseCategory->getId(), Criteria::NOT_EQUAL); } return $this; }
/** Method that fetches courses from database for JQuery Data Table * @param string $column Column name of the data to be fetched * @param string $condition Additional condition e.g category_id > 9 * @param string $sort column name to be used as sort parameter * @return JSON JSON encoded course details */ public function fetchForJQDT($draw, $totalData, $totalFiltered, $customSql = "", $column = "*", $condition = "", $sort = "id") { $sql = "SELECT {$column} FROM course ORDER BY {$sort}"; if (!empty($condition)) { $sql = "SELECT {$column} FROM course WHERE {$condition} ORDER BY {$sort}"; } if ($customSql != "") { $sql = $customSql; } $data = $this->dbObj->fetchAssoc($sql); $result = array(); $fetCourseStat = 'icon-check-empty'; $fetCourseRolCol = 'btn-warning'; $fetCourseRolTit = "Activate Course"; if (count($data) > 0) { foreach ($data as $r) { $courseMediaLink = ''; $fetCourseStat = 'icon-check-empty'; $fetCourseRolCol = 'btn-warning'; $fetCourseRolTit = "Activate Course"; $fetCourseFeat = 'icon-eye-close'; $fetCourseFeatCol = 'btn-warning'; $fetCourseFeatTit = "Make Featured Course"; if ($r['status'] == 1) { $fetCourseStat = 'icon-check'; $fetCourseRolCol = 'btn-success'; $fetCourseRolTit = "De-activate Course"; } if ($r['featured'] == 1) { $fetCourseFeat = 'icon-eye-open'; $fetCourseFeatCol = 'btn-success'; $fetCourseFeatTit = "Remove Course as Featured"; } if ($r['media'] != '') { $courseMediaLink = '<a href="' . SITE_URL . 'media/course/' . $r['media'] . '">View Media</a>'; } $result[] = array($r['id'], utf8_encode($r['name']), utf8_encode($r['short_name']), CourseCategory::getName($this->dbObj, $r['category']), utf8_encode($r['start_date']), utf8_encode($r['end_date']), utf8_encode($r['code']), StringManipulator::trimStringToFullWord(60, utf8_encode(stripcslashes(strip_tags($r['description'])))), utf8_encode($courseMediaLink), utf8_encode($r['currency'] . ' ' . number_format($r['amount'])), utf8_encode('<img src="../media/course-image/' . utf8_encode($r['image']) . '" width="60" height="50" style="width:60px; height:50px;" alt="Pix">'), utf8_encode($r['date_registered']), utf8_encode(' <button data-id="' . $r['id'] . '" data-name="' . $r['name'] . '" data-currency="' . $r['currency'] . '" data-short-name="' . $r['short_name'] . '" data-category="' . $r['category'] . '" data-start-date="' . $r['start_date'] . '" data-end-date="' . $r['end_date'] . '" data-code="' . $r['code'] . '" data-description ="" data-media="' . $r['media'] . '" data-image="' . $r['image'] . '" data-amount="' . $r['amount'] . '" data-date-registered="' . $r['date_registered'] . '" class="btn btn-info btn-sm edit-course" title="Edit"><i class="btn-icon-only icon-pencil"> </i> <span class="hidden" id="JQDTdescriptionholder">' . $r['description'] . '</span> </button> <button data-id="' . $r['id'] . '" data-name="' . $r['name'] . '" data-currency="' . $r['currency'] . '" data-status="' . $r['status'] . '" class="btn ' . $fetCourseRolCol . ' btn-sm activate-course" title="' . $fetCourseRolTit . '"><i class="btn-icon-only ' . $fetCourseStat . '"> </i></button> <button data-id="' . $r['id'] . '" data-media="' . $r['media'] . '" data-image="' . $r['image'] . '" data-name="' . $r['name'] . '" class="btn btn-danger btn-sm delete-course" title="Delete"><i class="btn-icon-only icon-trash"> </i></button> <button data-id="' . $r['id'] . '" data-name="' . $r['name'] . '" data-currency="' . $r['currency'] . '" data-featured="' . $r['featured'] . '" class="btn ' . $fetCourseFeatCol . ' btn-sm make-featured-course" title="' . $fetCourseFeatTit . '"><i class="btn-icon-only ' . $fetCourseFeat . '"> </i></button>')); // } $json = array("status" => 1, "draw" => intval($draw), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => $result); } else { $json = array("status" => 2, "msg" => "Necessary parameters not set. Or empty result. " . mysqli_error($this->dbObj->connection), "draw" => intval($draw), "recordsTotal" => intval($totalData), "recordsFiltered" => intval($totalFiltered), "data" => false); } $this->dbObj->close(); //header('Content-type: application/json'); return json_encode($json); }
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Course'])) { $model->attributes = $_POST['Course']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->courseId)); } } $cates = CourseCategory::model()->findAll(array('condition' => 'referid=0')); $this->render('update', array('model' => $model, 'cates' => $cates)); }
$link_url = ''; } else { $filename = ''; } } break; } } break; } //end of second switch($action) (when POST['formSent'] was not set, yet) } // end of "else" in if($_POST['formSent']) condition } else { //if $action is empty, then prepare a list of the course categories to display (?) $Categories = CourseCategory::getCategoriesToDisplayInHomePage(); } // Display section Display::display_header($tool_name); switch ($action) { case 'open_link': if (!empty($link)) { // $link is only set in case of action=open_link and is filtered $open = @(string) file_get_contents($homep . $link); $open = api_to_system_encoding($open, api_detect_encoding(strip_tags($open))); echo $open; } break; case 'edit_notice': // Display for edit_notice case ?>
//TODO change this function to search not only courses STARTING with $_GET['q'] if (api_is_platform_admin()) { $courseList = CourseManager::get_courses_list(0, 0, 1, 'ASC', -1, $_GET['q'], null, true); } elseif (api_is_teacher()) { $courseList = CourseManager::get_course_list_of_user_as_course_admin(api_get_user_id(), $_GET['q']); } } $results = array(); if (empty($courseList)) { echo json_encode([]); break; } foreach ($courseList as $course) { $title = $course['title']; if (!empty($course['category_code'])) { $parents = CourseCategory::getParentsToString($course['category_code']); $title = $parents . $course['title']; } $results['items'][] = array('id' => $course['id'], 'text' => $title); } echo json_encode($results); } break; case 'search_course_by_session': if (api_is_platform_admin()) { $results = SessionManager::get_course_list_by_session_id($_GET['session_id'], $_GET['q']); $results2 = array(); if (!empty($results)) { foreach ($results as $item) { $item2 = array(); foreach ($item as $id => $internal) {
$user_can_view_page = false; } else { $user_can_view_page = true; } //For teachers/admins if (api_is_platform_admin() || api_is_course_admin() || api_is_allowed_to_create_course()) { $user_can_view_page = true; } // filter actions $actions = array('sortmycourses', 'createcoursecategory', 'subscribe', 'deletecoursecategory', 'display_courses', 'display_random_courses', 'subscribe_user_with_password', 'display_sessions', 'subscribe_to_session', 'search_tag', 'search_session'); $action = CoursesAndSessionsCatalog::is(CATALOG_SESSIONS) ? 'display_sessions' : 'display_courses'; if (isset($_GET['action']) && in_array($_GET['action'], $actions)) { $action = Security::remove_XSS($_GET['action']); } $categoryCode = isset($_GET['category_code']) ? $_GET['category_code'] : 'ALL'; $nameTools = CourseCategory::getCourseCatalogNameTools($action); if (empty($nameTools)) { $nameTools = get_lang('CourseManagement'); } else { if (!in_array($action, array('sortmycourses', 'createcoursecategory', 'display_random_courses', 'display_courses', 'subscribe'))) { $interbreadcrumb[] = array('url' => api_get_path(WEB_CODE_PATH) . 'auth/courses.php', 'name' => get_lang('CourseManagement')); } if ($action == 'createcoursecategory') { $interbreadcrumb[] = array('url' => api_get_path(WEB_CODE_PATH) . 'auth/courses.php?action=sortmycourses', 'name' => get_lang('SortMyCourses')); } $interbreadcrumb[] = array('url' => '#', 'name' => $nameTools); } // course description controller object $courses_controller = new CoursesController(); // We are moving a course or category of the user up/down the list (=Sort My Courses). if (isset($_GET['move'])) {
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer $id the ID of the model to be loaded * @return CourseCategory the loaded model * @throws CHttpException */ public function loadModel($id) { $model = CourseCategory::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
} $groupName = 'session_coaches[' . $sessionId . ']'; $platformTeacherId = 'platform_teachers_by_session_' . $sessionId; $coachId = 'coaches_by_session_' . $sessionId; $platformTeacherName = 'platform_teachers_by_session'; $coachName = 'coaches_by_session'; $sessionUrl = api_get_path(WEB_CODE_PATH) . 'session/resume_session.php?id_session=' . $sessionId; $form->addElement('advmultiselect', $groupName, Display::url($session['name'], $sessionUrl, array('target' => '_blank')) . ' - ' . get_lang('Coaches'), $allTeachers); $courseInfo[$groupName] = $sessionTeachers; } } // Category code $url = api_get_path(WEB_AJAX_PATH) . 'course.ajax.php?a=search_category'; $categorySelect = $form->addElement('select_ajax', 'category_code', get_lang('CourseFaculty'), null, array('url' => $url)); if (!empty($courseInfo['categoryCode'])) { $data = CourseCategory::getCategory($courseInfo['categoryCode']); $categorySelect->addOption($data['name'], $data['code']); } $form->addText('department_name', get_lang('CourseDepartment'), false, array('size' => '60')); $form->applyFilter('department_name', 'html_filter'); $form->applyFilter('department_name', 'trim'); $form->addText('department_url', get_lang('CourseDepartmentURL'), false, array('size' => '60')); $form->applyFilter('department_url', 'html_filter'); $form->applyFilter('department_url', 'trim'); $form->addElement('select_language', 'course_language', get_lang('CourseLanguage')); $form->applyFilter('select_language', 'html_filter'); $group = array(); $group[] = $form->createElement('radio', 'visibility', get_lang("CourseAccess"), get_lang('OpenToTheWorld'), COURSE_VISIBILITY_OPEN_WORLD); $group[] = $form->createElement('radio', 'visibility', null, get_lang('OpenToThePlatform'), COURSE_VISIBILITY_OPEN_PLATFORM); $group[] = $form->createElement('radio', 'visibility', null, get_lang('Private'), COURSE_VISIBILITY_REGISTERED); $group[] = $form->createElement('radio', 'visibility', null, get_lang('CourseVisibilityClosed'), COURSE_VISIBILITY_CLOSED);
<?php session_start(); define("CONST_FILE_PATH", "../includes/constants.php"); include '../classes/WebPage.php'; //Set up page as a web page $thisPage = new WebPage(); //Create new instance of webPage class $dbObj = new Database(); //Instantiate database $coursCatObj = new CourseCategory($dbObj); // Create an object of CourseCategory class $errorArr = array(); //Array of errors $oldMedia = ""; $newMedia = ""; $coursCatMedFil = ""; if (!isset($_SESSION['TSILoggedInAdmin']) || !isset($_SESSION["TSIadminEmail"])) { $json = array("status" => 0, "msg" => "You are not logged in."); echo json_encode($json); } else { if (filter_input(INPUT_POST, "addNewCategory") != NULL && filter_input(INPUT_POST, "addNewCategory") == "addNewCategory") { $postVars = array('name', 'description', 'image'); // Form fields names //Validate the POST variables and add up to error message if empty foreach ($postVars as $postVar) { switch ($postVar) { case 'image': $coursCatObj->{$postVar} = basename($_FILES["image"]["name"]) ? rand(100000, 1000000) . "_" . strtolower(str_replace(" ", "_", filter_input(INPUT_POST, 'name'))) . "." . pathinfo(basename($_FILES["image"]["name"]), PATHINFO_EXTENSION) : ""; $coursCatMedFil = $coursCatObj->{$postVar}; if ($coursCatObj->{$postVar} == "") {
<?php session_start(); define("CONST_FILE_PATH", "../includes/constants.php"); include '../classes/WebPage.php'; //Set up page as a web page $thisPage = new WebPage(); //Create new instance of webPage class $dbObj = new Database(); //Instantiate database $coursCatObj = new CourseCategory($dbObj); // Create an object of CourseCategory class $errorArr = array(); //Array of errors //fetch all users header('Content-type: application/json'); echo $coursCatObj->fetch();
$form .= '</div>'; $form .= '</form>'; echo $form; ?> </div> </div> <?php if ($showSessions) { ?> <div class="col-md-4"> <h5><?php echo get_lang('Sessions'); ?> </h5> <a class="btn btn-default btn-block" href="<?php echo CourseCategory::getCourseCategoryUrl(1, $pageLength, null, 0, 'display_sessions'); ?> "> <?php echo get_lang('SessionList'); ?> </a> </div> <?php } ?> </div> <?php } ?> <div class="row">