bookmarks.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. trait BookmarksHomepageItem
  3. {
  4. public function bookmarksSettingsArray($infoOnly = false)
  5. {
  6. $homepageInformation = [
  7. 'name' => 'Bookmarks',
  8. 'enabled' => true,
  9. 'image' => 'plugins/images/bookmark.png',
  10. 'category' => 'Links',
  11. 'settingsArray' => __FUNCTION__
  12. ];
  13. if ($infoOnly) {
  14. return $homepageInformation;
  15. }
  16. $homepageSettings = [
  17. 'debug' => true,
  18. 'settings' => [
  19. 'Enable' => [
  20. $this->settingsOption('enable', 'homepageBookmarksEnabled'),
  21. $this->settingsOption('auth', 'homepageBookmarksAuth'),
  22. ],
  23. 'Options' => [
  24. $this->settingsOption('title', 'homepageBookmarksHeader'),
  25. $this->settingsOption('toggle-title', 'homepageBookmarksHeaderToggle'),
  26. $this->settingsOption('enable', 'homepageBookmarksEnabled', ['label' => 'Enable Bookmarks', 'help' => 'Toggles the view module for Bookmarks']),
  27. $this->settingsOption('refresh', 'homepageBookmarksRefresh'),
  28. ],
  29. ]
  30. ];
  31. return array_merge($homepageInformation, $homepageSettings);
  32. }
  33. public function bookmarksHomepagePermissions($key = null)
  34. {
  35. $permissions = [
  36. 'main' => [
  37. 'enabled' => [
  38. 'homepageBookmarksEnabled'
  39. ],
  40. 'auth' => [
  41. 'homepageBookmarksAuth'
  42. ]
  43. ]
  44. ];
  45. return $this->homepageCheckKeyPermissions($key, $permissions);
  46. }
  47. public function homepageOrderBookmarks()
  48. {
  49. if ($this->homepageItemPermissions($this->bookmarksHomepagePermissions('main'))) {
  50. return '
  51. <div id="' . __FUNCTION__ . '">
  52. <div class="white-box homepage-loading-box"><h2 class="text-center" lang="en">Loading Bookmarks...</h2></div>
  53. <script>
  54. // Bookmarks And Air
  55. homepageBookmarks("' . $this->config['homepageBookmarksRefresh'] . '");
  56. // End Bookmarks And Air
  57. </script>
  58. </div>
  59. ';
  60. }
  61. }
  62. }