homepage.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. $GLOBALS['organizrPages'][] = 'homepage';
  3. function get_page_homepage($Organizr = null)
  4. {
  5. if (!$Organizr) {
  6. $Organizr = new Organizr();
  7. }
  8. if ((!$Organizr->hasDB())) {
  9. return false;
  10. }
  11. return '
  12. <script>
  13. !function($) {
  14. "use strict";
  15. var CalendarApp = function() {
  16. this.$body = $("body");
  17. this.$calendar = $("#calendar"),
  18. this.$event = ("#calendar-events div.calendar-events"),
  19. this.$categoryForm = $("#add-new-event form"),
  20. this.$extEvents = $("#calendar-events"),
  21. this.$modal = $("#my-event"),
  22. this.$saveCategoryBtn = $(".save-category"),
  23. this.$calendarObj = null
  24. };
  25. /* Initializing */
  26. CalendarApp.prototype.init = function() {
  27. /* Initialize the calendar */
  28. var date = new Date();
  29. var d = date.getDate();
  30. var m = date.getMonth();
  31. var y = date.getFullYear();
  32. var form = "";
  33. var today = new Date($.now());
  34. var $this = this;
  35. $this.$calendarObj = $this.$calendar.fullCalendar({
  36. customButtons: {
  37. filterCalendar: {
  38. text: \'Filter\',
  39. click: function() {
  40. $(\'#calendar-filter-modal\').modal(\'show\');
  41. },
  42. //icon: \'x\'
  43. },
  44. refreshCalendar: {
  45. text: \'Refresh\',
  46. click: function() {
  47. homepageCalendar();
  48. }
  49. }
  50. },
  51. defaultView: (activeInfo.mobile) ? "list" : "' . $Organizr->config['calendarDefault'] . '",
  52. firstDay: "' . $Organizr->config['calendarFirstDay'] . '",
  53. timeFormat: "' . $Organizr->config['calendarTimeFormat'] . '",
  54. handleWindowResize: true,
  55. header: {
  56. left: "prev,next,today",
  57. center: "title",
  58. right: (activeInfo.mobile) ? "refreshCalendar,filterCalendar" : "refreshCalendar,filterCalendar,month,basicWeek,basicDay,list",
  59. },
  60. views: {
  61. basicDay: { buttonText: window.lang.translate("Day"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
  62. basicWeek: { buttonText: window.lang.translate("Week"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
  63. month: { buttonText: window.lang.translate("Month"), eventLimit: ' . $Organizr->config['calendarLimit'] . ' },
  64. list: { buttonText: window.lang.translate("List"), duration: {days: 15} },
  65. },
  66. timezone: "local",
  67. editable: false,
  68. navLinks: true, // can click day/week names to navigate views
  69. droppable: false, // this allows things to be dropped onto the calendar !!!
  70. selectable: false,
  71. height: "auto",
  72. eventRender: function eventRender( event, element, view ) {
  73. if (typeof filter !== "undefined" && filterDownload !== "undefined") {
  74. if(filter === "all" && filterDownload === "all"){
  75. return (event.imagetypeFilter === event.imagetypeFilter && event.downloadFilter === event.downloadFilter);
  76. }else if(filter !== "all" && filterDownload !== "all"){
  77. return filter === event.imagetypeFilter && filterDownload === event.downloadFilter;
  78. }else if(filter !== "all" && filterDownload === "all"){
  79. return filter === event.imagetypeFilter && event.downloadFilter === event.downloadFilter;
  80. }else if(filter === "all" && filterDownload !== "all"){
  81. return event.imagetypeFilter === event.imagetypeFilter && filterDownload === event.downloadFilter;
  82. }
  83. }else {
  84. return event.imagetypeFilter === event.imagetypeFilter && event.downloadFilter === event.downloadFilter;
  85. }
  86. },
  87. });
  88. },
  89. //init CalendarApp
  90. $.CalendarApp = new CalendarApp, $.CalendarApp.Constructor = CalendarApp
  91. }(window.jQuery),
  92. //initializing CalendarApp
  93. function($) {
  94. "use strict";
  95. $.CalendarApp.init()
  96. }(window.jQuery);
  97. $(".homepage-loading-box").fadeOut(1000);
  98. </script>
  99. <div class="container-fluid p-t-30" id="homepage-items">
  100. ' . $Organizr->buildHomepage() . '
  101. </div>
  102. <div id="open-youtube" class="white-popup mfp-with-anim mfp-hide">
  103. <div class="col-md-8 col-md-offset-2 youtube-div"> </div>
  104. </div>
  105. <!-- /.container-fluid -->
  106. <!-- modal content -->
  107. <div id="calendar-filter-modal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" style="display: none;">
  108. <div class="modal-dialog modal-sm">
  109. <div class="modal-content">
  110. <div class="modal-header">
  111. <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
  112. <h4 class="modal-title" id="mySmallModalLabel" lane="en">Filter Calendar</h4> </div>
  113. <div class="modal-body">
  114. <div class="row">
  115. <div class="col-md-12">
  116. <label class="control-label" lang="en">Choose Media Type</label>
  117. <select class="form-control form-white" data-placeholder="Choose media type" id="choose-calender-filter">
  118. <option value="all" lang="en">All</option>
  119. <option value="tv" lang="en">TV</option>
  120. <option value="film" lang="en">Movie</option>
  121. <option value="music" lang="en">Music</option>
  122. </select>
  123. </div>
  124. <div class="col-md-12">
  125. <label class="control-label" lang="en">Choose Media Status</label>
  126. <select class="form-control form-white" data-placeholder="Choose media status" id="choose-calender-filter-status">
  127. <option value="all" lang="en">All</option>
  128. <option value="text-success" lang="en">Downloaded</option>
  129. <option value="text-info" lang="en">Unaired</option>
  130. <option value="text-danger" lang="en">Missing</option>
  131. <option value="text-primary animated flash" lang="en">Premier</option>
  132. </select>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. <!-- /.modal-content -->
  138. </div>
  139. <!-- /.modal-dialog -->
  140. </div>
  141. <!-- /.modal -->
  142. ';
  143. }