function JLMS_edit_notice_no_ajax($option) { global $JLMS_CONFIG, $my, $JLMS_DB, $JLMS_SESSION; JLMS_ShowHeading($JLMS_CONFIG->get('jlms_heading'), true); $cid = mosGetParam($_REQUEST, 'cid', array(0)); $ntask = strval(mosGetParam($_REQUEST, 'ntask', '')); $doc_id = intval(mosGetParam($_REQUEST, 'doc_id', 0)); $course_id = intval(mosGetParam($_REQUEST, 'course_id', 0)); $v_id = intval(mosGetParam($_REQUEST, 'v_id', 0)); $notices = array(); $query = "SELECT * FROM #__lms_page_notices WHERE id = '" . $cid[0] . "' AND usr_id=" . $my->id; $JLMS_DB->setQuery($query); $noticez = $JLMS_DB->loadObjectList(); if (isset($noticez[0])) { $row = $noticez[0]; } else { $row = null; } $course_id = isset($row->course_id) ? $row->course_id : $course_id; $course_available = 0; if (isset($row->doc_id) && !$row->doc_id) { $course_available = 1; } $lists = array(); if ($JLMS_CONFIG->get('multicat_use', 0)) { $query = "SELECT * FROM #__lms_course_cats_config ORDER BY id"; $JLMS_DB->setQuery($query); $lists['levels'] = $JLMS_DB->loadObjectList(); if (count($lists['levels']) == 0) { for ($i = 0; $i < 5; $i++) { if ($i > 0) { $lists['levels'][$i]->cat_name = _JLMS_COURSES_COURSES_GROUPS; } else { $lists['levels'][$i]->cat_name = _JLMS_COURSES_COURSES_GROUPS; } } } $level_id = array(); for ($i = 0; $i < count($lists['levels']); $i++) { if ($i == 0) { $level_id[$i] = intval(mosGetParam($_REQUEST, 'filter_id_' . $i . '', $JLMS_SESSION->get('FLMS_filter_id_' . $i . '', 0))); $JLMS_SESSION->set('FLMS_filter_id_' . $i . '', $level_id[$i]); } else { $level_id[$i] = intval(mosGetParam($_REQUEST, 'filter_id_' . $i . '', $JLMS_SESSION->get('FLMS_filter_id_' . $i . '', 0))); $JLMS_SESSION->set('FLMS_filter_id_' . $i . '', $level_id[$i]); } if ($i == 0) { $parent_id[$i] = 0; } else { $parent_id[$i] = $level_id[$i - 1]; } if ($i == 0 || $parent_id[$i]) { //(Max): extra requests $query = "SELECT count(id) FROM `#__lms_course_cats` WHERE parent = '" . $parent_id[$i] . "' ORDER BY c_category"; $JLMS_DB->setQuery($query); $groups = $JLMS_DB->loadResult(); if ($groups == 0) { $level_id[$i] = 0; $JLMS_SESSION->set('FLMS_filter_id_' . $i . '', $level_id[$i]); } } } for ($i = 0; $i < count($lists['levels']); $i++) { if ($i > 0 && $level_id[$i - 1] == 0) { $level_id[$i] = 0; $JLMS_SESSION->set('FLMS_filter_id_' . $i . '', $level_id[$i]); $parent_id[$i] = 0; } elseif ($i == 0 && $level_id[$i] == 0) { $level_id[$i] = 0; $JLMS_SESSION->set('FLMS_filter_id_' . $i . '', $level_id[$i]); $parent_id[$i] = 0; } } $javascript = 'onclick="javascript:read_filter();" onchange="javascript:write_filter();document.form_pgnotice.task.value=\'edit_notice_no_ajax\';document.form_pgnotice.submit();"'; $query1 = "SELECT group_id FROM `#__lms_users_in_global_groups` WHERE user_id = '" . $my->id . "'"; $JLMS_DB->setQuery($query1); $user_group_ids = $JLMS_DB->loadResultArray(); for ($i = 0; $i < count($lists['levels']); $i++) { if ($i == 0 || $parent_id[$i]) { //(Max): extra requests if ($parent_id[$i] == 0) { $query = "SELECT * FROM `#__lms_course_cats` WHERE `parent` = '0'"; /* $query .= "\n AND ("; if (count($user_group_ids)) { $query .= "( `restricted` = 1 AND ( `groups` LIKE '%|$user_group_ids[0]|%'"; for($i1=1;$i1<count($user_group_ids);$i1++) { $query .= "\n OR `groups` like '%|$user_group_ids[$i1]|%'"; } $query .= "\n ) ) \n OR "; } $query .= "(`restricted` = 0 )) "; */ $query .= "\n ORDER BY `c_category`"; } else { $query = "SELECT * FROM `#__lms_course_cats` WHERE parent = '" . $parent_id[$i] . "' ORDER BY c_category"; } $JLMS_DB->setQuery($query); $groups = $JLMS_DB->loadObjectList(); if ($parent_id[$i] && $i > 0 && count($groups)) { $type_level[$i][] = mosHTML::makeOption(0, ' '); foreach ($groups as $group) { $type_level[$i][] = mosHTML::makeOption($group->id, $group->c_category); } $lists['filter_' . $i . ''] = mosHTML::selectList($type_level[$i], 'filter_id_' . $i . '', 'class="inputbox" size="1" ' . $javascript, 'value', 'text', $level_id[$i]); //onchange="document.location.href=\''. $link_multi .'\';" } elseif ($i == 0) { $type_level[$i][] = mosHTML::makeOption(0, ' '); foreach ($groups as $group) { $type_level[$i][] = mosHTML::makeOption($group->id, $group->c_category); } $lists['filter_' . $i . ''] = mosHTML::selectList($type_level[$i], 'filter_id_' . $i . '', 'class="inputbox" size="1" ' . $javascript, 'value', 'text', $level_id[$i]); //onchange="document.location.href=\''. $link_multi .'\';" } } } } //FLMS multicat $where = ''; if ($JLMS_CONFIG->get('multicat_use', 0)) { //NEW MUSLTICATS // $tmp_level = array(); $last_catid = 0; $tmp_cats_filter = JLMS_getFilterMulticategories($last_catid); /* $i=0; foreach($_REQUEST as $key=>$item){ if(preg_match('#filter_id_(\d+)#', $key, $result)){ if($item){ $tmp_level[$i] = $result; $last_catid = $item; $i++; } } } $query = "SELECT * FROM #__lms_course_cats ORDER BY id"; $JLMS_DB->setQuery($query); $all_cats = $JLMS_DB->loadObjectList(); $tmp_cats_filter = array(); $children = array(); foreach($all_cats as $cat){ $pt = $cat->parent; $list = @$children[$pt] ? $children[$pt] : array(); array_push($list, $cat->id); $children[$pt] = $list; } $tmp_cats_filter[0] = $last_catid; $i=1; foreach($children as $key=>$childs){ if($last_catid == $key){ foreach($children[$key] as $v){ if(!in_array($v, $tmp_cats_filter)){ $tmp_cats_filter[$i] = $v; $i++; } } } } foreach($children as $key=>$childs){ if(in_array($key, $tmp_cats_filter)){ foreach($children[$key] as $v){ if(!in_array($v, $tmp_cats_filter)){ $tmp_cats_filter[$i] = $v; $i++; } } } } $tmp_cats_filter = array_unique($tmp_cats_filter); */ $catids = implode(",", $tmp_cats_filter); if ($last_catid && count($tmp_cats_filter)) { $where .= "\n AND ( a.cat_id IN (" . $catids . ")"; if ($JLMS_CONFIG->get('sec_cat_use', 0)) { foreach ($tmp_cats_filter as $tmp_cats_filter_one) { $where .= "\n OR a.sec_cat LIKE '%|" . $tmp_cats_filter_one . "|%'"; } } $where .= "\n )"; } //NEW MUSLTICATS } $query = "SELECT a.id as value, a.course_name as text" . "\n FROM #__lms_courses as a" . "\n WHERE a.id > 0" . "\n {$where}" . "\n ORDER BY " . ($JLMS_CONFIG->get('lms_courses_sortby', 0) ? "ordering, " : "") . "course_name"; $JLMS_DB->setQuery($query); $courses = $JLMS_DB->loadObjectList(); $courses_ids = array(); foreach ($courses as $course) { $courses_ids[] = $course->value; } $str_courses_ids = implode(",", $courses_ids); $f_courses = array(); $f_courses[] = mosHTML::makeOption(0, ' '); $f_courses = array_merge($f_courses, $courses); $lists['f_course'] = mosHTML::selectList($f_courses, 'course_id', 'class="inputbox" size="1" ' . (!$course_available ? 'disabled="disabled"' : ''), 'value', 'text', $course_id); $lists['course_available'] = $course_available; if (!$course_available) { $lists['course_id'] = $course_id; } FLMS_page_notice::new_notice_no_ajax($option, $notices, $ntask, $doc_id, $course_id, $lists, $row); }