access_url_edit_courses_to_url_functions.lib.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Definition of the Accessurleditcoursestourl class
  5. * @package chamilo.library
  6. */
  7. /**
  8. * Init
  9. */
  10. require_once ('xajax/xajax.inc.php');
  11. /**
  12. * Access_url_edit_courses_to_url class
  13. * Contains several functions dealing with displaying,
  14. * editing,... of a Access_url_edit_courses_to_url_functions
  15. *
  16. * @version 1.0
  17. * @author Toon Keppens <toon@vi-host.net>
  18. * @author Julio Montoya - Cleaning code
  19. * @author Ricardo Rodriguez - Separated the function and code
  20. */
  21. class Accessurleditcoursestourl {
  22. /**
  23. * Search for a list of available courses by title or code, based on
  24. * a given string
  25. * @param string String to search for
  26. * @param int Deprecated param
  27. * @return string A formatted, xajax answer block
  28. * @assert () === false
  29. */
  30. function search_courses($needle, $id)
  31. {
  32. global $tbl_course;
  33. $xajax_response = new XajaxResponse();
  34. $return = '';
  35. if(!empty($needle)) {
  36. // xajax send utf8 datas... datas in db can be non-utf8 datas
  37. $charset = api_get_system_encoding();
  38. $needle = api_convert_encoding($needle, $charset, 'utf-8');
  39. $needle = Database::escape_string($needle);
  40. // search courses where username or firstname or lastname begins likes $needle
  41. $sql = 'SELECT code, title FROM '.$tbl_course.' u
  42. WHERE (title LIKE "'.$needle.'%"
  43. OR code LIKE "'.$needle.'%"
  44. )
  45. ORDER BY title, code
  46. LIMIT 11';
  47. $rs = Database::query($sql);
  48. $i=0;
  49. while ($course = Database :: fetch_array($rs)) {
  50. $i++;
  51. if ($i<=10) {
  52. $return .= '<a href="javascript: void(0);" onclick="javascript: add_user_to_url(\''.addslashes($course['code']).'\',\''.addslashes($course['title']).' ('.addslashes($course['code']).')'.'\')">'.$course['title'].' ('.$course['code'].')</a><br />';
  53. } else {
  54. $return .= '...<br />';
  55. }
  56. }
  57. }
  58. $xajax_response -> addAssign('ajax_list_courses','innerHTML',api_utf8_encode($return));
  59. return $xajax_response;
  60. }
  61. }
  62. ?>