PageRenderTime 54ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 1ms

/templates/we1rdo/includes/filters.inc.php

https://github.com/elstenaar86/spotweb
PHP | 418 lines | 384 code | 18 blank | 16 comment | 73 complexity | a85be3e7e862257049f5bccdaf39dd42 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-2.0, MPL-2.0-no-copyleft-exception, 0BSD, Apache-2.0
  1. <?php
  2. // We definieeren hier een aantal settings zodat we niet steeds dezelfde check hoeven uit te voeren
  3. $count_newspots = ($currentSession['user']['prefs']['count_newspots']);
  4. $show_multinzb_checkbox = ($currentSession['user']['prefs']['show_multinzb']);
  5. ?>
  6. <div id="toolbar">
  7. <div class="notifications">
  8. <?php if ($show_multinzb_checkbox) { ?>
  9. <p class="multinzb"><a class="button" onclick="downloadMultiNZB()" title="<?php echo _('MultiNZB'); ?>"><span class="count"></span></a><a class="clear" onclick="uncheckMultiNZB()" title="<?php echo _('Reset selection'); ?>">[x]</a></p>
  10. <?php } ?>
  11. </div>
  12. <div class="toolbarButton logininfo dropdown right"><ul>
  13. <li><p><a
  14. <?php if ($currentSession['user']['userid'] != SPOTWEB_ANONYMOUS_USERID) { ?>
  15. title="<?php echo sprintf(_('Last seen: %s ago'), $tplHelper->formatDate($currentSession['user']['lastvisit'], 'lastvisit')); ?>"
  16. ><?php echo $currentSession['user']['username']; ?></a></p>
  17. <?php } else { ?>
  18. ><?php echo _("Log in"); ?></a></p>
  19. <?php } ?>
  20. <ul>
  21. <?php if (($tplHelper->allowed(SpotSecurity::spotsec_perform_login, '')) && ($currentSession['user']['userid'] == $settings->get('nonauthenticated_userid'))) { ?>
  22. <li><a href="<?php echo $tplHelper->makeLoginAction(); ?>" onclick="return openDialog('editdialogdiv', '<?php echo _('Login'); ?>', '?page=login&data[htmlheaderssent]=true', 'editsecgroupform', null, 'autoclose', function() { window.location.reload(); }, null); "><?php echo _('Login'); ?></a></li>
  23. <?php } ?>
  24. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_create_new_user, '')) { ?>
  25. <li><a href="" onclick="return openDialog('editdialogdiv', '<?php echo _('Add user'); ?>', '?page=createuser', 'createuserform', null, 'showresultsonly', null, null); "><?php echo _('Add user'); ?></a></li>
  26. <?php } ?>
  27. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_edit_own_user, '')) { ?>
  28. <li><a href="<?php echo $tplHelper->makeEditUserUrl($currentSession['user']['userid'], 'edit'); ?>" onclick="return openDialog('editdialogdiv', '<?php echo _('Change user'); ?>', '?page=edituser&userid=<?php echo $currentSession['user']['userid'] ?>', 'edituserform', null, 'autoclose', function() { window.location.reload(); }, null);"><?php echo _('Change user'); ?></a></li>
  29. <?php } ?>
  30. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_perform_logout, '')) { ?>
  31. <li><a href="#" onclick="userLogout()"><?php echo _('Log out'); ?></a></li>
  32. <?php } ?>
  33. </ul></li>
  34. </li>
  35. </ul></div>
  36. <?php if (
  37. ($tplHelper->allowed(SpotSecurity::spotsec_edit_own_userprefs, ''))
  38. ||
  39. ($tplHelper->allowed(SpotSecurity::spotsec_view_spotweb_updates, ''))
  40. ||
  41. ($tplHelper->allowed(SpotSecurity::spotsec_edit_settings, ''))
  42. ||
  43. ($tplHelper->allowed(SpotSecurity::spotsec_edit_other_users, ''))
  44. ||
  45. ($tplHelper->allowed(SpotSecurity::spotsec_edit_securitygroups, ''))
  46. ||
  47. ($tplHelper->allowed(SpotSecurity::spotsec_list_all_users, ''))
  48. ) { ?>
  49. <div class="toolbarButton config dropdown right"><ul>
  50. <li><p><a><?php echo _('Config'); ?></a></p>
  51. <ul>
  52. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_edit_own_userprefs, '')) { ?>
  53. <li><a href="<?php echo $tplHelper->makeEditUserPrefsUrl($currentSession['user']['userid']); ?>"><?php echo _('Change preferences'); ?></a></li>
  54. <?php } ?>
  55. <?php if (
  56. ($tplHelper->allowed(SpotSecurity::spotsec_view_spotweb_updates, ''))
  57. ||
  58. ($tplHelper->allowed(SpotSecurity::spotsec_edit_settings, ''))
  59. ) { ?>
  60. <li><a href="?page=editsettings"><?php echo _('Settings'); ?></a></li>
  61. <?php } ?>
  62. <?php if (
  63. ($tplHelper->allowed(SpotSecurity::spotsec_edit_other_users, ''))
  64. ||
  65. ($tplHelper->allowed(SpotSecurity::spotsec_edit_securitygroups, ''))
  66. ||
  67. ($tplHelper->allowed(SpotSecurity::spotsec_list_all_users, ''))
  68. ) { ?>
  69. <li><a href="?page=render&amp;tplname=usermanagement"><?php echo _('User &amp; group management'); ?></a></li>
  70. <?php } ?>
  71. </ul></li>
  72. </li>
  73. </ul></div>
  74. <?php
  75. }
  76. ?>
  77. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_post_spot, '') && $currentSession['user']['userid'] > SPOTWEB_ADMIN_USERID) { ?>
  78. <div class="toolbarButton addspot"><p><a onclick="return openDialog('editdialogdiv', '<?php echo _('Add spot'); ?>', '<?php echo $tplHelper->getPageUrl('postspot'); ?>', 'newspotform', function() { new spotPosting().postNewSpot(this.form, postSpotUiStart, postSpotUiDone); return false; }, 'autoclose', null, null);" title='<?php echo _('Add spot'); ?>'><?php echo _('Add spot'); ?></a></p></div>
  79. <?php } ?>
  80. <span class="scroll"><input type="checkbox" name="filterscroll" id="filterscroll" value="Scroll" title="<?php echo _('Switch between static or scrolling sidebar'); ?>"><label>&nbsp;</label></span>
  81. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_perform_search, '')) { ?>
  82. <form id="filterform" action="" onsubmit="submitFilterBtn(this)">
  83. <input type="hidden" id="searchfilter-includeprevfilter-toggle" name="search[includeinfilter]" value="false" />
  84. <?php
  85. // Omdat we nu op meerdere criteria tegelijkertijd kunnen zoeken is dit onmogelijk
  86. // om 100% juist in de UI weer te geven. We doen hierdoor een gok die altijd juist
  87. // is zolang je maar zoekt via de UI.
  88. // Voor uitgebreide filters tonen we een lijst met op dat moment actieve filters
  89. $searchType = 'Titel';
  90. $searchText = '';
  91. # Zoek nu een filter op dat eventueel matched, dan gebruiken we die. We willen deze
  92. # boom toch doorlopen ook al is er meer dan 1 filter, anders kunnen we de filesize
  93. # en reportcount niet juist zetten
  94. foreach($parsedsearch['filterValueList'] as $filterType) {
  95. if (in_array($filterType['fieldname'], array('Titel', 'Poster', 'Tag', 'SpotterID'))) {
  96. $searchType = $filterType['fieldname'];
  97. $searchText = $filterType['value'];
  98. } elseif ($filterType['fieldname'] == 'filesize' && $filterType['operator'] == ">") {
  99. $minFilesize = $filterType['value'];
  100. } elseif ($filterType['fieldname'] == 'filesize' && $filterType['operator'] == "<") {
  101. $maxFilesize = $filterType['value'];
  102. } elseif ($filterType['fieldname'] == 'reportcount' && $filterType['operator'] == "<=") {
  103. $maxReportCount = $filterType['value'];
  104. } elseif ($filterType['fieldname'] == 'date') {
  105. $ageFilter = $filterType['operator'] . $filterType['value'];
  106. } # if
  107. } # foreach
  108. # Als er een sortering is die we kunnen gebruiken, dan willen we ook dat
  109. # in de UI weergeven
  110. $tmpSort = $tplHelper->getActiveSorting();
  111. $sortType = strtolower($tmpSort['friendlyname']);
  112. $sortOrder = strtolower($tmpSort['direction']);
  113. /*
  114. * Als er geen sorteer volgorde opgegeven is door de user, dan gebruiken we de user
  115. * preference om een sorteerveld te pakken
  116. */
  117. if (empty($sortType)) {
  118. $sortType = $currentSession['user']['prefs']['defaultsortfield'];
  119. } # if
  120. # als er meer dan 1 filter is, dan tonen we dat als een lijst
  121. if (count($parsedsearch['filterValueList']) > 1) {
  122. $searchText = '';
  123. $searchType = 'Titel';
  124. } # if
  125. # Zorg er voor dat de huidige filterwaardes nog beschikbaar zijn
  126. foreach($parsedsearch['filterValueList'] as $filterType) {
  127. if (in_array($filterType['fieldname'], array('Titel', 'Poster', 'Tag', 'SpotterID'))) {
  128. echo '<input data-currentfilter="true" type="hidden" name="search[value][]" value="' . $filterType['fieldname'] . ':=:' . htmlspecialchars($filterType['value'], ENT_QUOTES, 'utf-8') . '">';
  129. } # if
  130. } # foreach
  131. ?>
  132. <div><input type="hidden" id="search-tree" name="search[tree]" value="<?php echo $tplHelper->categoryListToDynatree(); ?>"></div>
  133. <?php
  134. $filterColCount = 4;
  135. ?>
  136. <div class="search"><input class='searchbox' type="text" name="search[text]" value="<?php echo htmlspecialchars($searchText); ?>"><input type='submit' class="filtersubmit" value='+' onclick='$("#searchfilter-includeprevfilter-toggle").val("true");' title='<?php echo _('Search within current filters'); ?>'><input type='submit' class="filtersubmit default" onclick='$("#searchfilter-includeprevfilter-toggle").val(""); return true;' value='>>' title='<?php echo _('Search'); ?>'></div>
  137. <div class="sidebarPanel advancedSearch">
  138. <h4><a class="toggle" onclick="toggleSidebarPanel('.advancedSearch')" title="<?php echo _("Close 'Advanced Search'"); ?>">[x]</a><?php echo _('Search on:'); ?></h4>
  139. <ul class="search <?php if ($filterColCount == 3) {echo " threecol";} else {echo " fourcol";} ?>">
  140. <li> <input type="radio" name="search[type]" value="Titel" <?php echo $searchType == "Titel" ? 'checked="checked"' : "" ?> ><label><?php echo _('Title'); ?></label></li>
  141. <li> <input type="radio" name="search[type]" value="Poster" <?php echo $searchType == "Poster" ? 'checked="checked"' : "" ?> ><label><?php echo _('Poster'); ?></label></li>
  142. <li> <input type="radio" name="search[type]" value="Tag" <?php echo $searchType == "Tag" ? 'checked="checked"' : "" ?> ><label><?php echo _('Tag'); ?></label></li>
  143. <li> <input type="radio" name="search[type]" value="SpotterID" <?php echo $searchType == "SpotterID" ? 'checked="checked"' : "" ?> ><label><?php echo _('SpotterID'); ?></label></li>
  144. </ul>
  145. <?php
  146. if (count($parsedsearch['filterValueList']) > 0) {
  147. ?>
  148. <h4><?php echo _('Active filters:'); ?></h4>
  149. <table class='search currentfilterlist'>
  150. <?php
  151. foreach($parsedsearch['filterValueList'] as $filterType) {
  152. if (in_array($filterType['fieldname'], array('Titel', 'Poster', 'Tag', 'SpotterID'))) {
  153. ?>
  154. <tr> <th> <?php echo ($filterType['fieldname'] == 'Titel') ? _('Title') : _($filterType['fieldname']); ?> </th> <td> <?php echo htmlentities($filterType['value'], ENT_QUOTES, 'UTF-8'); ?> </td> <td> <a href="javascript:location.href=removeFilter('?page=index<?php echo addcslashes(urldecode($tplHelper->convertFilterToQueryParams()), "\\\'\"&\n\r<>"); ?>', '<?php echo $filterType['fieldname']; ?>', '<?php echo $filterType['operator']; ?>', '<?php echo addcslashes(htmlspecialchars($filterType['value'], ENT_QUOTES, 'utf-8'), "\\\'\"&\n\r<>"); ?>');">x</a> </td> </tr>
  155. <?php
  156. } # if
  157. } # foreach
  158. ?>
  159. </table>
  160. <?php
  161. }
  162. ?>
  163. <h4><?php echo _('Sort on:'); ?></h4>
  164. <input type="hidden" name="sortdir" value="<?php if($sortType == "stamp" || $sortType == "spotrating" || $sortType == "commentcount") {echo "DESC";} else {echo "ASC";} ?>">
  165. <ul class="search sorting threecol">
  166. <li> <input type="radio" name="sortby" value="" <?php echo $sortType == "" ? 'checked="checked"' : "" ?>><label><?php echo _('Relevance'); ?></label> </li>
  167. <li> <input type="radio" name="sortby" value="title" <?php echo $sortType == "title" ? 'checked="checked"' : "" ?>><label><?php echo _('Title'); ?></label> </li>
  168. <li> <input type="radio" name="sortby" value="poster" <?php echo $sortType == "poster" ? 'checked="checked"' : "" ?>><label><?php echo _('Poster');?></label> </li>
  169. <li> <input type="radio" name="sortby" value="stamp" <?php echo $sortType == "stamp" ? 'checked="checked"' : "" ?>><label><?php echo _('Date');?></label> </li>
  170. <li> <input type="radio" name="sortby" value="commentcount" <?php echo $sortType == "commentcount" ? 'checked="checked"' : "" ?>><label><?php echo _('Comments'); ?></label> </li>
  171. <li> <input type="radio" name="sortby" value="spotrating" <?php echo $sortType == "spotrating" ? 'checked="checked"' : "" ?>><label><?php echo _('Rating'); ?></label> </li>
  172. </ul>
  173. <h4><?php echo _('Limit age'); ?></h4>
  174. <ul class="search age onecol">
  175. <?php if (!isset($ageFilter)) { $ageFilter = ''; } ?>
  176. <li><select name="search[value][]">
  177. <option value=""><?php echo _('Show all'); ?></option>
  178. <option value="date:>:-1 day" <?php echo $ageFilter == ">-1 day" ? 'selected="selected"' : "" ?>><?php echo _('1 day'); ?></option>
  179. <option value="date:>:-3 days" <?php echo $ageFilter == ">-3 days" ? 'selected="selected""' : "" ?>><?php echo _('3 days'); ?></option>
  180. <option value="date:>:-1 week" <?php echo $ageFilter == ">-1 week" ? 'selected="selected""' : "" ?>><?php echo _('1 week'); ?></option>
  181. <option value="date:>:-2 weeks" <?php echo $ageFilter == ">-2 weeks" ? 'selected="selected"' : "" ?>><?php echo _('2 weeks'); ?></option>
  182. <option value="date:>:-1 month" <?php echo $ageFilter == ">-1 month" ? 'selected="selected"' : "" ?>><?php echo _('1 month'); ?></option>
  183. <option value="date:>:-3 months" <?php echo $ageFilter == ">-3 months" ? 'selected="selected"' : "" ?>><?php echo _('3 months'); ?></option>
  184. <option value="date:>:-6 months" <?php echo $ageFilter == ">-6 months" ? 'selected="selected"' : "" ?>><?php echo _('6 months'); ?></option>
  185. <option value="date:>:-1 year" <?php echo $ageFilter == ">-1 year" ? 'selected="selected"' : "" ?>><?php echo _('1 year'); ?></option>
  186. </select></li>
  187. </ul>
  188. <h4><?php echo _('Size'); ?></h4>
  189. <input type="hidden" name="search[value][]" id="min-filesize" />
  190. <input type="hidden" name="search[value][]" id="max-filesize" />
  191. <div id="human-filesize"></div>
  192. <div id="slider-filesize"></div>
  193. <h4><?php echo _('Categories'); ?></h4>
  194. <div id="tree"></div>
  195. <ul class="search clearCategories onecol">
  196. <li> <input type="checkbox" name="search[unfiltered]" value="true" <?php echo $parsedsearch['unfiltered'] == "true" ? 'checked="checked"' : '' ?>>
  197. <label><?php if ($parsedsearch['unfiltered'] == 'true') { echo _("Use categories"); } else { echo _("Don't use categories"); } ?></label> </li>
  198. </ul>
  199. <?php if ($settings->get('retrieve_reports')) { ?>
  200. <h4><?php echo _('Number of reports'); ?></h4>
  201. <input type="hidden" name="search[value][]" id="max-reportcount" />
  202. <div id="human-reportcount"></div>
  203. <div id="slider-reportcount"></div>
  204. <?php } ?>
  205. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_keep_own_filters, '')) { ?>
  206. <h4><?php echo _('Filters'); ?></h4>
  207. <a onclick="return openDialog('editdialogdiv', '<?php echo _('Add a filter'); ?>', '?page=render&amp;tplname=editfilter&amp;data[isnew]=true<?php echo addcslashes($tplHelper->convertTreeFilterToQueryParams() .$tplHelper->convertTextFilterToQueryParams() . $tplHelper->convertSortToQueryParams(), "\\\'\"&\n\r<>"); ?>', 'editfilterform', null, 'autoclose', null, null); " class="greyButton addFilter"><?php echo _('Save search as filter'); ?></a>
  208. <?php } ?>
  209. </div>
  210. </form>
  211. <?php } # if perform search ?>
  212. <div class="sidebarPanel sabnzbdPanel">
  213. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_use_sabapi, '')) { ?>
  214. <h4><a class="toggle" onclick="toggleSidebarPanel('.sabnzbdPanel')" title='<?php echo sprintf(_('Close "%s" panel'), $tplHelper->getNzbHandlerName()); ?>'>[x]</a><?php echo $tplHelper->getNzbHandlerName(); ?></h4>
  215. <?php
  216. $apikey = $tplHelper->apiToHash($currentSession['user']['apikey']);
  217. echo "<input class='apikey' type='hidden' value='".$apikey."'>";
  218. if ($tplHelper->getNzbHandlerApiSupport() === false)
  219. {?>
  220. <table class="sabInfo" summary="SABnzbd infomatie">
  221. <tr><td><?php echo _('Selected NZB download method doesn\'t support sidepanel'); ?></td></tr>
  222. </table>
  223. <?php }
  224. else
  225. {
  226. ?> <table class="sabInfo" summary="SABnzbd infomatie">
  227. <tr><td><?php echo _('Status:'); ?></td><td class="state"></td></tr>
  228. <tr><td><?php echo _('Free storage:'); ?></td><td class="diskspace"></td></tr>
  229. <tr><td><?php echo _('Speed:'); ?></td><td class="speed"></td></tr>
  230. <tr><td><?php echo _('Max. speed:'); ?></td><td class="speedlimit"></td></tr>
  231. <tr><td><?php echo _('To go:'); ?></td><td class="timeleft"></td></tr>
  232. <tr><td><?php echo _('ETA:'); ?></td><td class="eta"></td></tr>
  233. <tr><td><?php echo _('Queue:'); ?></td><td class="mb"></td></tr>
  234. </table>
  235. <canvas id="graph" width="215" height="125"></canvas>
  236. <table class="sabGraphData" summary="SABnzbd Graph Data" style="display:none;"><tbody><tr><td></td></tr></tbody></table>
  237. <h4><?php echo _('Queue'); ?></h4>
  238. <table class="sabQueue" summary="SABnzbd queue"><tbody><tr><td></td></tr></tbody></table>
  239. <?php }
  240. } ?>
  241. </div>
  242. </div>
  243. <div id="filter" class="filter">
  244. <a class="viewState" onclick="toggleSidebarItem(this)"><h4><?php echo _('Quick Links'); ?><span></span></h4></a>
  245. <ul class="filterlist quicklinks">
  246. <?php foreach($quicklinks as $quicklink) {
  247. if ($tplHelper->allowed($quicklink[4][0], $quicklink[4][1])) {
  248. if (empty($quicklink[5]) || $currentSession['user']['prefs'][$quicklink[5]]) {
  249. $newCount = ($count_newspots && stripos($quicklink[2], 'New:0')) ? $tplHelper->getNewCountForFilter($quicklink[2]) : "";
  250. ?>
  251. <li> <a class="filter <?php echo " " . $quicklink[3]; if (parse_url($tplHelper->makeSelfUrl("full"), PHP_URL_QUERY) == parse_url($tplHelper->makeBaseUrl("full") . $quicklink[2], PHP_URL_QUERY)) { echo " selected"; } ?>" href="<?php echo $quicklink[2]; ?>">
  252. <a class="filter <?php if (parse_url($tplHelper->makeSelfUrl("full"), PHP_URL_QUERY) == parse_url($tplHelper->makeBaseUrl("full") . $quicklink[2], PHP_URL_QUERY)) { echo " selected"; } ?>" href="<?php echo $quicklink[2]; ?>">
  253. <span class='spoticon spoticon-<?php echo str_replace('images/icons/', '', str_replace('.png', '', $quicklink[1])); ?>'>&nbsp;</span><?php echo $quicklink[0]; if ($newCount > 0) { echo "<span class='newspots'>".$newCount."</span>"; } ?></a>
  254. <?php }
  255. }
  256. } ?>
  257. </ul>
  258. <a class="viewState" onclick="toggleSidebarItem(this)"><h4><?php echo _('Filters'); ?><span></span></h4></a>
  259. <ul class="filterlist filters">
  260. <?php
  261. function processFilters($tplHelper, $count_newspots, $filterList) {
  262. $selfUrl = $tplHelper->makeSelfUrl("path");
  263. foreach($filterList as $filter) {
  264. $strFilter = $tplHelper->getPageUrl('index') . '&amp;search[tree]=' . $filter['tree'];
  265. if (!empty($filter['valuelist'])) {
  266. foreach($filter['valuelist'] as $value) {
  267. $strFilter .= '&amp;search[value][]=' . $value;
  268. } # foreach
  269. } # if
  270. if (!empty($filter['sorton'])) {
  271. $strFilter .= '&amp;sortby=' . $filter['sorton'] . '&amp;sortdir=' . $filter['sortorder'];
  272. } # if
  273. $newCount = ($count_newspots) ? $tplHelper->getNewCountForFilter($strFilter) : "";
  274. /* add the current search terms */
  275. $strFilterInclusive = $strFilter . $tplHelper->convertSortToQueryParams() . $tplHelper->convertTextFilterToQueryParams();
  276. # escape the filter values
  277. $filter['title'] = htmlentities($filter['title'], ENT_QUOTES, 'UTF-8');
  278. $filter['icon'] = htmlentities($filter['icon'], ENT_QUOTES, 'UTF-8');
  279. # Output de HTML
  280. echo '<li class="'. $tplHelper->filter2cat($filter['tree']) .'">';
  281. echo '<a class="filter ' . $filter['title'];
  282. if ($selfUrl == $strFilter) {
  283. echo ' selected';
  284. } # if
  285. echo '" href="' . $strFilter . '">';
  286. echo '<span class="spoticon spoticon-' . str_replace('.png', '', $filter['icon']) . '">&nbsp;</span>' . $filter['title'];
  287. if ($newCount > 0) {
  288. echo "<span onclick=\"gotoNew('".$strFilter."')\" class='newspots' title='" . sprintf(_('Show new spots in filter &quot;%s&quot;'), $filter['title']) . "'>$newCount</span>";
  289. } # if
  290. # als er children zijn, moeten we de category kunnen inklappen
  291. if (!empty($filter['children'])) {
  292. echo '<span class="toggle" title="' . _('Collapse filter') . '" onclick="toggleFilter(this)">&nbsp;</span>';
  293. } # if
  294. # show the inclusive filter
  295. echo '<span onclick="gotoFilteredCategory(\'' . $strFilterInclusive . '\')" class="inclusive" title="' . _('Include current search terms') . '">+</span>';
  296. echo '</a>';
  297. # Als er children zijn, output die ook
  298. if (!empty($filter['children'])) {
  299. echo '<ul class="filterlist subfilterlist">';
  300. processFilters($tplHelper, $count_newspots, $filter['children']);
  301. echo '</ul>';
  302. } # if
  303. echo '</li>' . PHP_EOL;
  304. } # foreach
  305. } # processFilters
  306. processFilters($tplHelper, $count_newspots, $filters);
  307. ?>
  308. </ul>
  309. <a class="viewState" onclick="toggleSidebarItem(this)"><h4><?php echo _('Maintenance'); ?><span></span></h4></a>
  310. <ul class="filterlist maintenancebox">
  311. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_view_spotcount_total, '')) { ?>
  312. <li class="info"> <?php echo _('Last update:'); ?> <?php echo $tplHelper->formatDate($tplHelper->getLastSpotUpdates(), 'lastupdate'); ?> </li>
  313. <?php } ?>
  314. <?php
  315. if ($currentSession['user']['userid'] > SPOTWEB_ADMIN_USERID) {
  316. if ( ($tplHelper->allowed(SpotSecurity::spotsec_retrieve_spots, '')) && ($tplHelper->allowed(SpotSecurity::spotsec_consume_api, ''))) { ?>
  317. <li><a href="<?php echo $tplHelper->makeRetrieveUrl(); ?>" onclick="retrieveSpots()" class="greyButton retrievespots"><?php echo _('Retrieve'); ?></a></li>
  318. <?php }
  319. } ?>
  320. <?php if (($tplHelper->allowed(SpotSecurity::spotsec_keep_own_downloadlist, '')) && ($tplHelper->allowed(SpotSecurity::spotsec_keep_own_downloadlist, 'erasedls'))) { ?>
  321. <li><a href="<?php echo $tplHelper->getPageUrl('erasedls'); ?>" onclick="eraseDownloads()" class="greyButton erasedownloads"><?php echo _('Erase downloadhistory'); ?></a></li>
  322. <?php } ?>
  323. <?php if ($tplHelper->allowed(SpotSecurity::spotsec_keep_own_seenlist, '')) { ?>
  324. <li><a href="<?php echo $tplHelper->getPageUrl('markallasread'); ?>" onclick="markAsRead()" class="greyButton markasread"><?php echo _('Mark everything as read'); ?></a></li>
  325. <?php } ?>
  326. </ul>
  327. </div>
  328. <script>
  329. $(function() {
  330. // console.time("11th-ready");
  331. var max = (1024*1024*1024)*350;
  332. $( "#slider-filesize" ).slider({
  333. range: true,
  334. min: 0,
  335. max: max,
  336. step: ((1024*1024*1024)*350) / 1024,
  337. values: [ <?php echo (isset($minFilesize)) ? $minFilesize : "0"; ?>, <?php echo (isset($maxFilesize)) ? $maxFilesize : "375809638400"; ?> ],
  338. slide: function( event, ui ) {
  339. var minSize = Math.round((ui.values[0] / max * ((ui.values[0] / max))) * max);
  340. var maxSize = Math.round((ui.values[1] / max * ((ui.values[1] / max))) * max);
  341. $( "#min-filesize" ).val( "filesize:>:" + minSize );
  342. $( "#max-filesize" ).val( "filesize:<:" + maxSize );
  343. $( "#human-filesize" ).text( "<?php echo _('Between '); ?>" + format_size( minSize ) + "<?php echo _(' and '); ?>" + format_size( maxSize ) );
  344. }
  345. });
  346. $( "#slider-reportcount" ).slider({
  347. range: 'max',
  348. min: 0,
  349. max: 21,
  350. step: 1,
  351. values: [ <?php echo (isset($maxReportCount)) ? $maxReportCount : "21"; ?> ],
  352. slide: function( event, ui ) {
  353. $( "#max-reportcount" ).val( "reportcount:<=:" + ui.values[0]);
  354. if (ui.values[0] == 21) {
  355. /* In de submit handler wordt 21 gefiltered */
  356. $( "#human-reportcount" ).text( "<?php echo _('Do not filter on # reports'); ?>" );
  357. } else {
  358. $( "#human-reportcount" ).text( "<?php echo _('Maximum %1 reports'); ?>".replace("%1", ui.values[0]) );
  359. } // if
  360. }
  361. });
  362. /* Filesizes */
  363. $( "#min-filesize" ).val( "filesize:>:" + $( "#slider-filesize" ).slider( "values", 0 ) );
  364. $( "#max-filesize" ).val( "filesize:<:" + $( "#slider-filesize" ).slider( "values", 1 ) );
  365. $( "#human-filesize" ).text( "<?php echo _('Between '); ?>" + format_size( $( "#slider-filesize" ).slider( "values", 0 ) ) + "<?php echo _(' and '); ?>" + format_size( $( "#slider-filesize" ).slider( "values", 1 ) ) );
  366. /* Report counts */
  367. var reportSlideValue = $( "#slider-reportcount" ).slider("values", 0);
  368. $( "#max-reportcount" ).val( "reportcount:<=:" + reportSlideValue);
  369. if (reportSlideValue == 21) {
  370. $( "#human-reportcount" ).text("<?php echo _('Do not filter on # reports'); ?>");
  371. } else {
  372. $( "#human-reportcount" ).text( "<?php echo _('Maximum %1 reports'); ?>".replace("%1", reportSlideValue));
  373. } // if
  374. // console.timeEnd("11th-ready");
  375. });
  376. </script>