start.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. require_once(dirname(__FILE__) . "/lib/functions.php");
  3. elgg_register_event_handler('init', 'system', 'follow_tags_init');
  4. function follow_tags_init() {
  5. //Register Save Action for saving and changing FollowTags
  6. elgg_register_action("follow_tags/save", dirname(__FILE__) . '/action/save.php');
  7. //Register a River Tab
  8. if (elgg_is_logged_in()) {
  9. $user = elgg_get_logged_in_user_entity();
  10. elgg_register_menu_item('filter', array(
  11. 'name' => 'tags',
  12. 'href' => "/activity/tags",
  13. 'text' => elgg_echo("follow_tags:tab:title"),
  14. 'priority' => 500,
  15. 'contexts' => array('activity'),
  16. ));
  17. //Register a Sidebar Item for Usersettings
  18. elgg_register_menu_item('page', array(
  19. 'name' => "follow_tags",
  20. 'text' => elgg_echo("follow_tags:sidebar:title"),
  21. 'href' => "follow_tags/settings/" . $user->username,
  22. 'context' => "settings",
  23. ));
  24. }
  25. elgg_register_plugin_hook_handler("route", "activity", "follow_tags_route_activity_hook");
  26. //Register Pagehandlers
  27. elgg_register_page_handler('follow_tags', 'follow_tags_page_handler');
  28. elgg_register_page_handler('follow_tags_data', 'follow_tags_data_page_handler');
  29. //Register JS and CSS for custom taginput field
  30. $js_url = 'mod/follow_tags/vendors/jquery.tagsinput.min.js';
  31. elgg_register_js('jquery.tagsinput', $js_url, 'footer');
  32. // Register CSS for TagInput
  33. $css_url = 'mod/follow_tags/vendors/jquery.tagsinput.css';
  34. elgg_register_css('jquery.tagsinput', $css_url);
  35. // extend tags to include js/css just in time
  36. elgg_extend_view("input/tags", "follow_tags/extends/tags");
  37. // Add a JavaScript Initialization
  38. elgg_extend_view('js/elgg','js/follow_tags/site');
  39. // Run the followtags_notofy function in event is triggerd
  40. elgg_register_event_handler('create', 'object', 'follow_tags_notify', 501);
  41. }
  42. function follow_tags_data_page_handler() {
  43. echo follow_tags_get_all_tags();
  44. return true;
  45. }
  46. function follow_tags_route_activity_hook($hook, $type, $return_value, $params) {
  47. $result = $return_value;
  48. if ($page = elgg_extract("segments", $return_value)){
  49. if (elgg_extract(0, $page) == "tags") {
  50. include(dirname(__FILE__) . '/pages/activity/follow_tags.php');
  51. $result = false; // block other page handlers
  52. }
  53. }
  54. return $result;
  55. }
  56. function follow_tags_page_handler($page){
  57. require_once dirname(__FILE__) . '/pages/follow_tags/settings.php';
  58. return true;
  59. }