public function process() { $results = array(); foreach ($this->rows as $row_val) { $search_show_unlinked_results = api_get_setting('search_show_unlinked_results') == 'true'; $course_visible_for_user = api_is_course_visible_for_user(NULL, $row_val['courseid']); // can view course? if ($course_visible_for_user || $search_show_unlinked_results) { // is visible? $visibility = api_get_item_visibility(api_get_course_info($row_val['courseid']), TOOL_DOCUMENT, $row_val['xapian_data'][SE_DATA]['doc_id']); if ($visibility) { list($thumbnail, $image, $name, $author, $url) = $this->get_information($row_val['courseid'], $row_val['xapian_data'][SE_DATA]['doc_id']); $result = array('toolid' => TOOL_DOCUMENT, 'score' => $row_val['score'], 'url' => $url, 'thumbnail' => $thumbnail, 'image' => $image, 'title' => $name, 'author' => $author); if ($course_visible_for_user) { $results[] = $result; } else { // course not visible for user if ($search_show_unlinked_results) { $result['url'] = ''; $results[] = $result; } } } } } // get information to sort foreach ($results as $key => $row) { $score[$key] = $row['score']; } // Sort results with score descending array_multisort($score, SORT_DESC, $results); return $results; }
public function process() { $results = array(); foreach ($this->links as $courseid => $one_course_links) { $course_info = api_get_course_info($courseid); $search_show_unlinked_results = (api_get_setting('search_show_unlinked_results') == 'true'); $course_visible_for_user = api_is_course_visible_for_user(NULL, $courseid); // can view course? if ($course_visible_for_user || $search_show_unlinked_results) { $result = NULL; foreach ($one_course_links['links'] as $one_link) { // is visible? $visibility = api_get_item_visibility($course_info, TOOL_LINK, $one_link['link_id']); if ($visibility) { // if one is visible let show the result for a course // also asume all data of this item like the data of the whole group of links(Ex. author) list($thumbnail, $image, $name, $author, $url) = $this->get_information($courseid, $one_link['link_id']); $result_tmp = array( 'toolid' => TOOL_LINK, 'score' => $one_course_links['total_score'] / (count($one_course_links) - 1), // not count total_score array item 'url' => $url, 'thumbnail' => $thumbnail, 'image' => $image, 'title' => $name, 'author' => $author, ); if ($course_visible_for_user) { $result = $result_tmp; } else { // course not visible for user if ($search_show_unlinked_results) { $result_tmp['url'] = ''; $result = $result_tmp; } } break; } } if (!is_null($result)) { // if there is at least one link item found show link to course Links tool page $results[] = $result; } } } // get information to sort foreach ($results as $key => $row) { $score[$key] = $row['score']; } // Sort results with score descending array_multisort($score, SORT_DESC, $results); return $results; }
public function process() { $results = array(); foreach ($this->learnpaths as $courseid => $learnpaths) { $search_show_unlinked_results = api_get_setting('search_show_unlinked_results') == 'true'; $course_visible_for_user = api_is_course_visible_for_user(NULL, $courseid); // can view course? if ($course_visible_for_user || $search_show_unlinked_results) { foreach ($learnpaths as $lp_id => $lp) { // is visible? $visibility = api_get_item_visibility(api_get_course_info($courseid), TOOL_LEARNPATH, $lp_id); if ($visibility) { list($thumbnail, $image, $name, $author) = $this->get_information($courseid, $lp_id, $lp['has_document_id']); $url = api_get_path(WEB_PATH) . 'main/newscorm/lp_controller.php?cidReq=%s&action=view&lp_id=%s'; $url = sprintf($url, $courseid, $lp_id); $result = array('toolid' => TOOL_LEARNPATH, 'score' => $lp['total_score'] / (count($lp) - 1), 'url' => $url, 'thumbnail' => $thumbnail, 'image' => $image, 'title' => $name, 'author' => $author); if ($course_visible_for_user) { $results[] = $result; } else { // course not visible for user if ($search_show_unlinked_results) { $result['url'] = ''; $results[] = $result; } } } } } } // get information to sort foreach ($results as $key => $row) { $score[$key] = $row['score']; } // Sort results with score descending array_multisort($score, SORT_DESC, $results); return $results; }