pgcust.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php if (!defined('PmWiki')) exit();
  2. /* Copyright 2002-2005 Patrick R. Michaud (pmichaud@pobox.com)
  3. This file is part of PmWiki; you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published
  5. by the Free Software Foundation; either version 2 of the License, or
  6. (at your option) any later version. See pmwiki.php for full details.
  7. This script enables per-page and per-group customizations in the
  8. local/ subdirectory (or whatever directory is given by $LocalDir).
  9. For example, to create customizations for the 'Demo' group, place
  10. them in a file called local/Demo.php. To customize a single page,
  11. use the full page name (e.g., local/Demo.MyPage.php).
  12. Per-page/per-group customizations can be handled at any time by adding
  13. include_once("scripts/pgcust.php");
  14. to config.php. It is automatically included by scripts/stdconfig.php
  15. unless $EnablePGCust is set to zero in config.php.
  16. A page's customization is loaded first, followed by any group
  17. customization. If no page or group customizations are loaded,
  18. then 'local/default.php' is loaded.
  19. A per-page configuration file can prevent its group's config from
  20. loading by setting $EnablePGCust=0;. A per-page configuration file
  21. can force group customizations to be loaded first by using include_once
  22. on the group customization file.
  23. */
  24. $f = 1;
  25. for($p=$pagename;$p;$p=preg_replace('/\\.*[^.]*$/','',$p)) {
  26. if (!IsEnabled($EnablePGCust,1)) return;
  27. if (file_exists("$LocalDir/$p.php"))
  28. { include_once("$LocalDir/$p.php"); $f=0; }
  29. }
  30. if ($f && IsEnabled($EnablePGCust,1) && file_exists("$LocalDir/default.php"))
  31. include_once("$LocalDir/default.php");