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;
 }