plugin search course: support anonymous user, list open courses, remove registration #4597

skala
Laurent Opprecht 14 years ago
parent 9ed034fd1e
commit 0adb2748e5
  1. 26
      plugin/search_course/lib/search_course_widget.class.php

@ -69,7 +69,7 @@ class SearchCourseWidget
return $url == $index_url || $url == $root;
}
/**
*
* @return bool
@ -245,13 +245,16 @@ EOT;
$details = implode(' - ', $details);
$title = $course['title'];
$href = api_get_path(WEB_PATH) . 'courses/' . $course['code'];
$href = api_get_path(WEB_PATH) . 'courses/' . $course['code'] .'/index.php';
echo '<tr><td><b><a href="' . $href . '">' . "$title</a></b><br/>$details</td><td>";
if ($course['registration_code'])
if (!api_is_anonymous())
{
Display::display_icon('passwordprotected.png', '', array('style' => 'float:left;'));
if ($course['registration_code'])
{
Display::display_icon('passwordprotected.png', '', array('style' => 'float:left;'));
}
$this->display_subscribe_icon($course, $user_courses);
}
$this->display_subscribe_icon($course, $user_courses);
echo '</td></tr>';
}
echo '</table>';
@ -333,9 +336,20 @@ EOT;
$search_term = Database::escape_string($search_term);
$course_table = Database::get_main_table(TABLE_MAIN_COURSE);
if (api_is_anonymous())
{
$course_fiter = 'visibility = ' . COURSE_VISIBILITY_OPEN_WORLD;
}
else
{
$course_fiter = 'visibility = ' . COURSE_VISIBILITY_OPEN_WORLD . ' OR ';
$course_fiter .= 'visibility = ' . COURSE_VISIBILITY_OPEN_PLATFORM . ' OR ';
$course_fiter .= '(visibility = ' . COURSE_VISIBILITY_REGISTERED . ' AND subscribe = 1)';
}
$sql = <<<EOT
SELECT * FROM $course_table
WHERE code LIKE '%$search_term%' OR visual_code LIKE '%$search_term%' OR title LIKE '%$search_term%' OR tutor_name LIKE '%$search_term%'
WHERE ($course_fiter) AND (code LIKE '%$search_term%' OR visual_code LIKE '%$search_term%' OR title LIKE '%$search_term%' OR tutor_name LIKE '%$search_term%')
ORDER BY title, visual_code ASC
EOT;

Loading…
Cancel
Save