functions.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. // Set UTC timezone
  3. date_default_timezone_set("UTC");
  4. // Autoload frameworks
  5. require_once(__DIR__ . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php');
  6. // Include all function and class files
  7. foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'functions' . DIRECTORY_SEPARATOR . '*.php') as $filename) {
  8. require_once $filename;
  9. }
  10. foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'homepage' . DIRECTORY_SEPARATOR . '*.php') as $filename) {
  11. require_once $filename;
  12. }
  13. foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'classes' . DIRECTORY_SEPARATOR . '*.php') as $filename) {
  14. require_once $filename;
  15. }
  16. // Include all pages files
  17. foreach (glob(__DIR__ . DIRECTORY_SEPARATOR . 'pages' . DIRECTORY_SEPARATOR . "*.php") as $filename) {
  18. require_once $filename;
  19. }
  20. // Include all custom pages files
  21. if (file_exists(dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'pages')) {
  22. foreach (glob(dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'pages' . DIRECTORY_SEPARATOR . '*.php') as $filename) {
  23. require_once $filename;
  24. }
  25. }
  26. // Include all plugin files
  27. try {
  28. $folder = __DIR__ . DIRECTORY_SEPARATOR . 'plugins';
  29. $directoryIterator = new RecursiveDirectoryIterator($folder, FilesystemIterator::SKIP_DOTS);
  30. $iteratorIterator = new RecursiveIteratorIterator($directoryIterator);
  31. foreach ($iteratorIterator as $info) {
  32. if ($info->getFilename() == 'plugin.php' || strpos($info->getFilename(), 'page.php') !== false || $info->getFilename() == 'cron.php') {
  33. require_once $info->getPathname();
  34. }
  35. }
  36. } catch (UnexpectedValueException $e) {
  37. // Folder doesn't exist or permission denied
  38. }
  39. // Include all custom plugin files
  40. try {
  41. if (file_exists(dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'plugins')) {
  42. $folder = dirname(__DIR__, 1) . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'plugins';
  43. $directoryIterator = new RecursiveDirectoryIterator($folder, FilesystemIterator::SKIP_DOTS);
  44. $iteratorIterator = new RecursiveIteratorIterator($directoryIterator);
  45. foreach ($iteratorIterator as $info) {
  46. if ($info->getFilename() == 'plugin.php' || strpos($info->getFilename(), 'page.php') !== false || $info->getFilename() == 'cron.php') {
  47. require_once $info->getPathname();
  48. }
  49. }
  50. }
  51. } catch (UnexpectedValueException $e) {
  52. // Permission denied
  53. }