From d021eba0c1f1b9462792af4951b91163073672d6 Mon Sep 17 00:00:00 2001 From: Eric Rasmussen <erasmussen2@unl.edu> Date: Wed, 29 Sep 2010 21:25:39 +0000 Subject: [PATCH] Upgraded to pear.unl.edu/UNL_Templates-1.1.0 --- .../configsnapshot-2010-09-29 16-24-52.xml | 2 + lib/.pear2registry | Bin 337920 -> 345088 bytes .../{1.0.0RC9-info.xml => 1.1.0-info.xml} | 160 ++++++++++++------ .../data/tpl_cache/Version3/Mobile.tpl | 67 ++++++++ .../UNL_Templates/docs/examples/convert.php | 37 ++++ .../UNL_Templates/docs/examples/example1.php | 8 +- lib/downloads/UNL_Templates-1.1.0.tgz | Bin 0 -> 20250 bytes lib/php/UNL/Templates.php | 43 ++++- lib/php/UNL/Templates/CachingService/Null.php | 33 ++++ .../Templates/CachingService/UNLCacheLite.php | 26 +++ lib/php/UNL/Templates/Version2.php | 12 +- lib/php/UNL/Templates/Version3.php | 13 +- lib/php/UNL/Templates/Version3/Mobile.php | 33 ++++ 13 files changed, 376 insertions(+), 58 deletions(-) create mode 100644 lib/.configsnapshots/configsnapshot-2010-09-29 16-24-52.xml rename lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/{1.0.0RC9-info.xml => 1.1.0-info.xml} (91%) create mode 100644 lib/data/UNL_Templates/data/tpl_cache/Version3/Mobile.tpl create mode 100644 lib/docs/UNL_Templates/docs/examples/convert.php create mode 100644 lib/downloads/UNL_Templates-1.1.0.tgz create mode 100644 lib/php/UNL/Templates/CachingService/Null.php create mode 100644 lib/php/UNL/Templates/CachingService/UNLCacheLite.php create mode 100644 lib/php/UNL/Templates/Version3/Mobile.php diff --git a/lib/.configsnapshots/configsnapshot-2010-09-29 16-24-52.xml b/lib/.configsnapshots/configsnapshot-2010-09-29 16-24-52.xml new file mode 100644 index 00000000..95e67518 --- /dev/null +++ b/lib/.configsnapshots/configsnapshot-2010-09-29 16-24-52.xml @@ -0,0 +1,2 @@ +<?xml version="1.0"?> +<pearconfig version="1.0"><php_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/php</php_dir><ext_dir>/usr/lib/php/extensions/no-debug-non-zts-20090626</ext_dir><cfg_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/cfg</cfg_dir><doc_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/docs</doc_dir><bin_dir>/usr/bin</bin_dir><data_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/data</data_dir><www_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/www</www_dir><test_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/tests</test_dir><src_dir>/Library/WebServer/Documents/workspace/UNL_Elgg/lib/src</src_dir><php_bin>/usr/bin/php</php_bin><php_ini>/private/etc/php.ini</php_ini><php_prefix></php_prefix><php_suffix></php_suffix></pearconfig> diff --git a/lib/.pear2registry b/lib/.pear2registry index 4725af4a3c8e5ef360ce2e3221cbd16284336017..a91563c82a9051144ca7f6c4b13e488bced7b4a3 100644 GIT binary patch delta 12262 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 b9$Ebs%P-LRKv$98d4`W?QToRLJOTa(9@~V= delta 7936 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 N#>&9^e0M*E|1ag7vEl## diff --git a/lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.0.0RC9-info.xml b/lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.1.0-info.xml similarity index 91% rename from lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.0.0RC9-info.xml rename to lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.1.0-info.xml index 4b1688f1..43e6f36a 100644 --- a/lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.0.0RC9-info.xml +++ b/lib/.xmlregistry/packages/pear.unl.edu/UNL_Templates/1.1.0-info.xml @@ -16,55 +16,22 @@ <email>nhummel2@math.unl.edu</email> <active>yes</active> </lead> - <date>2010-01-27</date> - <time>10:09:00</time> + <date>2010-09-29</date> + <time>16:24:52</time> <version> - <release>1.0.0RC9</release> + <release>1.1.0</release> <api>1.0.0</api> </version> <stability> - <release>beta</release> - <api>beta</api> + <release>stable</release> + <api>stable</api> </stability> <license uri="http://www1.unl.edu/wdn/wiki/Software_License">BSD License</license> <notes> Feature Release! -Added support for specifying the template version, 2 or 3. -* UNL_Templates::$options['version'] = 3; to use the new templates. -* Added the secure template. -* Add debug template. -* Updated Version 3 templates to reflect footer changes. - -Additional work to prevent broken pages. -* If local files are not present for the <!--#include statements, it will grab them remotely. -* If wdn/templates_3.0 does not exist locally it will use a template with absolute references to prevent broken pages. - -New methods: -* addHeadLink($href, $relation, $relType = 'rel', array $attributes = array()) -* addScript($url, $type = 'text/javascript') -* addScriptDeclaration($content, $type = 'text/javascript') -* addStyleDeclaration($content, $type = 'text/css') -* addStyleSheet($url, $media = 'all') -* __toString() Now you can just use echo $page; - -Auto loading of files - now supporting: -* optionalfooter=>optionalFooter.html -* collegenavigationlist=>unitNavigation.html -* contactinfo=>footerContactInfo.html - -New Remote Template Scanner UNL_Templates_Scanner -* Scans a rendered UNL Template page for the editable content areas. - -Other fixes: -* Use static vars instead of PEAR::getStaticProperty() - fixes E_STRICT warnings -* Remove debug code causing cache to never be used. -* Fix debugging. -* Merge UNL_DWT::$options with options from ini file instead of overwriting. -* Set default timezone to use before we use date functions. -* Add newlines after header additions. -* Fix addScriptDeclaration method to comment out CDATA to prevent syntax errors. - -Add example of a custom class with auto-breadcrumb generation and body content loading. +* Added the mobile template. +* Fix support for version 2 templates. +* Only set templatedependentspath if it has not been set. </notes> <contents> <dir name="/"> @@ -84,6 +51,10 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> + <file baseinstalldir="/" md5sum="da29bd0de202f2fe27d593c1a35c4d65" name="UNL/Templates/Version3/Mobile.php" role="php"> + <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> + <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> + </file> <file baseinstalldir="/" md5sum="5ae65bf4c045a5b9b65b726b52d6cd26" name="UNL/Templates/Version3/Liquid.php" role="php"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> @@ -104,7 +75,7 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> - <file baseinstalldir="/" md5sum="f307432bd99d2cccc6ed4fca2782604e" name="UNL/Templates/Version3.php" role="php"> + <file baseinstalldir="/" md5sum="95edca2102f2160a7b53162ca94a8b99" name="UNL/Templates/Version3.php" role="php"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> @@ -140,7 +111,7 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> - <file baseinstalldir="/" md5sum="44c17f55c20fce235d7d2556dc43b23c" name="UNL/Templates/Version2.php" role="php"> + <file baseinstalldir="/" md5sum="4c1b93f62221e5229be657196f07f048" name="UNL/Templates/Version2.php" role="php"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> @@ -152,6 +123,14 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> + <file baseinstalldir="/" md5sum="4fa04418d0aa08834b4795caeae5b8c8" name="UNL/Templates/CachingService/UNLCacheLite.php" role="php"> + <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> + <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> + </file> + <file baseinstalldir="/" md5sum="47991f0e5cffed6d138725a3294f4e6a" name="UNL/Templates/CachingService/Null.php" role="php"> + <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> + <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> + </file> <file baseinstalldir="/" md5sum="5b09b184e7d59a2520e99c0b5c66428a" name="UNL/Templates/CachingService/CacheLite.php" role="php"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> @@ -160,7 +139,7 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> - <file baseinstalldir="/" md5sum="66cf2ca7074e1ae7d602e94a438ff95a" name="UNL/Templates.php" role="php"> + <file baseinstalldir="/" md5sum="1b3de8279d951ccb05f8ad61903f6b03" name="UNL/Templates.php" role="php"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> @@ -172,7 +151,7 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> - <file baseinstalldir="/" md5sum="3c1307e7a73e10f1af082ec3a48e481f" name="docs/examples/example1.php" role="doc"> + <file baseinstalldir="/" md5sum="3a3851e70662c3e0bb3ffbc7e5765325" name="docs/examples/example1.php" role="doc"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> @@ -188,6 +167,10 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> + <file baseinstalldir="/" md5sum="a7114a3868d0ba54d4ff76b370ea3201" name="docs/examples/convert.php" role="doc"> + <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> + <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> + </file> <file baseinstalldir="/" md5sum="742720269e3488e0fa34f0ad53b2cb00" name="data/tpl_cache/Version3/Shared_column_right.tpl" role="data"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> @@ -204,6 +187,10 @@ Add example of a custom class with auto-breadcrumb generation and body content l <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> </file> + <file baseinstalldir="/" md5sum="922b27d1257d43020214ab70e2da5829" name="data/tpl_cache/Version3/Mobile.tpl" role="data"> + <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> + <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> + </file> <file baseinstalldir="/" md5sum="962756c965f0f2881e88c83a72fe0545" name="data/tpl_cache/Version3/Liquid.tpl" role="data"> <tasks:replace from="@DATA_DIR@" to="data_dir" type="pear-config"/> <tasks:replace from="@PHP_DIR@" to="php_dir" type="pear-config"/> @@ -266,17 +253,24 @@ Add example of a custom class with auto-breadcrumb generation and body content l <pearinstaller> <min>1.4.3</min> </pearinstaller> + <package> + <name>UNL_DWT</name> + <channel>pear.unl.edu</channel> + <min>0.7.1</min> + </package> + </required> + <optional> <package> <name>Cache_Lite</name> <channel>pear.php.net</channel> <min>1.0</min> </package> <package> - <name>UNL_DWT</name> + <name>UNL_Cache_Lite</name> <channel>pear.unl.edu</channel> - <min>0.7.1</min> + <min>0.1.0</min> </package> - </required> + </optional> </dependencies> <phprelease> <changelog> @@ -737,6 +731,76 @@ Other fixes: Add example of a custom class with auto-breadcrumb generation and body content loading. </notes> </release> + <release> + <version> + <release>1.0.0</release> + <api>1.0.0</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2010-03-26</date> + <license uri="http://www1.unl.edu/wdn/wiki/Software_License">BSD License</license> + <notes> +Feature Release! +Added support for specifying the template version, 2 or 3. +* UNL_Templates::$options['version'] = 3; to use the new templates. +* Added the secure template. +* Add debug template. +* Updated Version 3 templates to reflect footer changes. +* Multiple template caching backends are + +Additional work to prevent broken pages. +* If local files are not present for the <!--#include statements, it will grab them remotely. +* If wdn/templates_3.0 does not exist locally it will use a template with absolute references to prevent broken pages. + +New methods: +* addHeadLink($href, $relation, $relType = 'rel', array $attributes = array()) +* addScript($url, $type = 'text/javascript') +* addScriptDeclaration($content, $type = 'text/javascript') +* addStyleDeclaration($content, $type = 'text/css') +* addStyleSheet($url, $media = 'all') +* __toString() Now you can just use echo $page; + +Auto loading of files - now supporting: +* optionalfooter=>optionalFooter.html +* collegenavigationlist=>unitNavigation.html +* contactinfo=>footerContactInfo.html + +New Remote Template Scanner UNL_Templates_Scanner +* Scans a rendered UNL Template page for the editable content areas. + +Other fixes: +* Use static vars instead of PEAR::getStaticProperty() - fixes E_STRICT warnings +* Remove debug code causing cache to never be used. +* Fix debugging. +* Merge UNL_DWT::$options with options from ini file instead of overwriting. +* Set default timezone to use before we use date functions. +* Add newlines after header additions. +* Fix addScriptDeclaration method to comment out CDATA to prevent syntax errors. + +Add example of a custom class with auto-breadcrumb generation and body content loading. + </notes> + </release> + <release> + <version> + <release>1.1.0</release> + <api>1.0.0</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <date>2010-09-09</date> + <license uri="http://www1.unl.edu/wdn/wiki/Software_License">BSD License</license> + <notes> +Feature Release! +* Added the mobile template. +* Fix support for version 2 templates. +* Only set templatedependentspath if it has not been set. + </notes> + </release> </changelog> </phprelease> </package> diff --git a/lib/data/UNL_Templates/data/tpl_cache/Version3/Mobile.tpl b/lib/data/UNL_Templates/data/tpl_cache/Version3/Mobile.tpl new file mode 100644 index 00000000..3215adec --- /dev/null +++ b/lib/data/UNL_Templates/data/tpl_cache/Version3/Mobile.tpl @@ -0,0 +1,67 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> +<!-- InstanceBegin template="/Templates/mobile.dwt" codeOutsideHTMLIsLocked="false" --> +<head> +<!-- + Membership and regular participation in the UNL Web Developer Network + is required to use the UNL templates. Visit the WDN site at + http://wdn.unl.edu/. Click the WDN Registry link to log in and + register your unl.edu site. + All UNL template code is the property of the UNL Web Developer Network. + The code seen in a source code view is not, and may not be used as, a + template. You may not use this code, a reverse-engineered version of + this code, or its associated visual presentation in whole or in part to + create a derivative work. + This message may not be removed from any pages based on the UNL site template. + + $Id: mobile.dwt 536 2009-07-23 15:47:30Z bbieber2 $ +--> +<link rel="stylesheet" type="text/css" media="screen" href="/wdn/templates_3.0/css/mobile.css" /> +<script type="text/javascript" src="/wdn/templates_3.0/scripts/mobile.js"></script> +<!--#include virtual="/wdn/templates_3.0/includes/browserspecifics.html" --> +<!--#include virtual="/wdn/templates_3.0/includes/metanfavico.html" --> +<!-- InstanceBeginEditable name="doctitle" --> +<title>UNL | Department | New Page</title> +<!-- InstanceEndEditable --><!-- InstanceBeginEditable name="head" --> +<!-- Place optional header elements here --> +<!-- InstanceEndEditable --> +</head> +<body class="mobile"> +<p class="skipnav"> <a class="skipnav" href="#maincontent">Skip Navigation</a> </p> +<div id="wdn_wrapper"> + <div id="header"> <a href="http://www.unl.edu/" title="UNL website"><img src="/wdn/templates_3.0/images/logo.png" alt="UNL graphic identifier" id="logo" /></a> + <h1>University of Nebraska–Lincoln</h1> + </div> + <div id="wdn_content_wrapper"> + <div id="titlegraphic"><!-- InstanceBeginEditable name="titlegraphic" --> + <h1>Department</h1> + <!-- InstanceEndEditable --></div> + <div id="pagetitle"><!-- InstanceBeginEditable name="pagetitle" --> <!-- InstanceEndEditable --></div> + <div id="maincontent"> + <!--THIS IS THE MAIN CONTENT AREA; WDN: see glossary item 'main content area' --> + <!-- InstanceBeginEditable name="maincontentarea" --> + <p>Place your content here.<br /> + Remember to validate your pages before publishing! Sample layouts are available through the <a href="http://wdn.unl.edu//">Web Developer Network</a>. <br /> + <a href="http://validator.unl.edu/check/referer">Check this page</a> </p> + <!-- InstanceEndEditable --> + <div class="clear"></div> + <!--#include virtual="/wdn/templates_3.0/includes/noscript.html" --> + <!--THIS IS THE END OF THE MAIN CONTENT AREA.--> + </div> + <div id="footer"> + <div id="footer_floater"></div> + <div id="wdn_copyright"><!-- InstanceBeginEditable name="footercontent" --> + <!--#include virtual="sharedcode/footer.html" --> + <!-- InstanceEndEditable --> + <ul> + <li><a href="http://validator.unl.edu/check/referer">W3C</a></li> + <li><a href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3">CSS</a></li> + </ul> + <!--#include virtual="/wdn/templates_3.0/includes/wdn.html" --> + <a href="http://www.unl.edu/" title="UNL Home" id="wdn_unl_wordmark"><img src="/wdn/templates_3.0/css/footer/images/wordmark.png" alt="UNL's wordmark" /></a> </div> + </div> + </div> + <div id="wdn_wrapper_footer"> </div> +</div> +</body> +<!-- InstanceEnd --></html> diff --git a/lib/docs/UNL_Templates/docs/examples/convert.php b/lib/docs/UNL_Templates/docs/examples/convert.php new file mode 100644 index 00000000..f16cee1a --- /dev/null +++ b/lib/docs/UNL_Templates/docs/examples/convert.php @@ -0,0 +1,37 @@ +#!/usr/bin/env php +<?php +if (!isset($_SERVER['argv'],$_SERVER['argv'][1]) + || $_SERVER['argv'][1] == '--help' || $_SERVER['argc'] != 2) { + echo "This program requires 1 argument.\n"; + echo "convert.php oldfile.shtml newfile.shtml\n\n"; + exit(); +} + +require_once 'UNL/Autoload.php'; + +if (!file_exists($_SERVER['argv'][1])) { + echo "Filename does not exist!\n"; + exit(); +} + +UNL_Templates::$options['version'] = 3; +UNL_Templates::$options['templatedependentspath'] = '/Library/WebServer/Documents'; + + +$p = new UNL_Templates_Scanner(file_get_contents($_SERVER['argv'][1])); + + + +$new = UNL_Templates::factory('Fixed'); +UNL_Templates::$options['templatedependentspath'] = '/Library/WebServer/Documents'; + + +foreach ($p->getRegions() as $region) { + if (count($region)) { + $new->{$region->name} = $region->value; + } +} +UNL_Templates::$options['templatedependentspath'] = 'paththatdoesnotexist!'; + +echo $new; +?> \ No newline at end of file diff --git a/lib/docs/UNL_Templates/docs/examples/example1.php b/lib/docs/UNL_Templates/docs/examples/example1.php index 912af5ef..cc5245dc 100644 --- a/lib/docs/UNL_Templates/docs/examples/example1.php +++ b/lib/docs/UNL_Templates/docs/examples/example1.php @@ -5,12 +5,12 @@ * * @package UNL_Templates */ - -ini_set('display_errors',true); -error_reporting(E_STRICT); -set_include_path(realpath(dirname(__FILE__).'/../../').PATH_SEPARATOR.realpath(dirname(__FILE__).'/../../../UNL_DWT').PATH_SEPARATOR.realpath(dirname(__FILE__).'/includes/pear/php')); +ini_set('display_errors', true); +error_reporting(E_ALL); +set_include_path(realpath(dirname(__FILE__).'/../../').PATH_SEPARATOR.realpath(dirname(__FILE__).'/../../lib/php')); require_once 'UNL/Templates.php'; UNL_Templates::$options['version'] = 3; + $page = UNL_Templates::factory('Fixed', array('sharedcodepath' => 'sharedcode')); $page->addScript('test.js'); $page->addScriptDeclaration('function sayHello(){alert("Hello!");}'); diff --git a/lib/downloads/UNL_Templates-1.1.0.tgz b/lib/downloads/UNL_Templates-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..83953896ef39dea33cfff04e6919e9c58bb5cba5 GIT binary patch literal 20250 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 H0M-KlJl6g0 literal 0 HcmV?d00001 diff --git a/lib/php/UNL/Templates.php b/lib/php/UNL/Templates.php index 3ab6bda5..46c4eabc 100644 --- a/lib/php/UNL/Templates.php +++ b/lib/php/UNL/Templates.php @@ -61,7 +61,7 @@ class UNL_Templates extends UNL_DWT 'sharedcodepath' => 'sharedcode', 'templatedependentspath' => '', 'cache' => array(), - 'version' => self::VERSION2 + 'version' => self::VERSION3 ); /** @@ -77,7 +77,9 @@ class UNL_Templates extends UNL_DWT public function __construct() { date_default_timezone_set(date_default_timezone_get()); - self::$options['templatedependentspath'] = $_SERVER['DOCUMENT_ROOT']; + if (empty(self::$options['templatedependentspath'])) { + self::$options['templatedependentspath'] = $_SERVER['DOCUMENT_ROOT']; + } } /** @@ -323,9 +325,42 @@ class UNL_Templates extends UNL_DWT static public function getCachingService() { if (!isset(self::$cache)) { - include_once 'UNL/Templates/CachingService/CacheLite.php'; - self::$cache = new UNL_Templates_CachingService_CacheLite(self::$options['cache']); + $file = 'UNL/Templates/CachingService/Null.php'; + $class = 'UNL_Templates_CachingService_Null'; + + $fp = @fopen('UNL/Cache/Lite.php', 'r', true); + if ($fp) { + fclose($fp); + $file = 'UNL/Templates/CachingService/UNLCacheLite.php'; + $class = 'UNL_Templates_CachingService_UNLCacheLite'; + } else { + $fp = @fopen('Cache/Lite.php', 'r', true); + if ($fp) { + fclose($fp); + $file = 'UNL/Templates/CachingService/CacheLite.php'; + $class = 'UNL_Templates_CachingService_CacheLite'; + } + } + + include_once $file; + self::$cache = new $class(self::$options['cache']); } return self::$cache; } + + static public function getDataDir() + { + if ('/Library/WebServer/Documents/workspace/UNL_Elgg/lib/data' != '@DATA_DIR'.'@') { + // pear/pyrus installation + return '/Library/WebServer/Documents/workspace/UNL_Elgg/lib/data/UNL_Templates/data/'; + } + + if (file_exists(dirname(__FILE__).'/../data/tpl_cache')) { + // svn checkout + return realpath(dirname(__FILE__).'/../data'); + } + + // new pear2 package & pyrus installation layout + return dirname(__FILE__).'/../../data/UNL_Templates/pear.unl.edu/data'; + } } diff --git a/lib/php/UNL/Templates/CachingService/Null.php b/lib/php/UNL/Templates/CachingService/Null.php new file mode 100644 index 00000000..6a2f16f1 --- /dev/null +++ b/lib/php/UNL/Templates/CachingService/Null.php @@ -0,0 +1,33 @@ +<?php +/** + * A Null cache service that can be used for testing + * + * PHP version 5 + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @author Ned Hummel <nhummel2@unl.edu> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +require_once 'UNL/Templates/CachingService.php'; +class UNL_Templates_CachingService_Null implements UNL_Templates_CachingService +{ + + function clean($object = null) + { + return true; + } + + function save($data, $key) + { + return true; + } + + function get($key) + { + return false; + } +} \ No newline at end of file diff --git a/lib/php/UNL/Templates/CachingService/UNLCacheLite.php b/lib/php/UNL/Templates/CachingService/UNLCacheLite.php new file mode 100644 index 00000000..1226c665 --- /dev/null +++ b/lib/php/UNL/Templates/CachingService/UNLCacheLite.php @@ -0,0 +1,26 @@ +<?php +/** + * A Cache Service using UNL_Cache_Lite + * + * PHP version 5 + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @author Ned Hummel <nhummel2@unl.edu> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +require_once 'UNL/Templates/CachingService/CacheLite.php'; +class UNL_Templates_CachingService_UNLCacheLite extends UNL_Templates_CachingService_CacheLite +{ + + function __construct($options = array()) + { + include_once 'UNL/Cache/Lite.php'; + $options = array_merge(array('lifeTime'=>3600), $options); + $this->cache = new UNL_Cache_Lite($options); + } + +} diff --git a/lib/php/UNL/Templates/Version2.php b/lib/php/UNL/Templates/Version2.php index e89a38f4..22a3a553 100644 --- a/lib/php/UNL/Templates/Version2.php +++ b/lib/php/UNL/Templates/Version2.php @@ -24,7 +24,17 @@ class UNL_Templates_Version2 implements UNL_Templates_Version function getTemplate($template) { - return file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?template='.$template); + // Always try and retrieve the latest + if (!(UNL_Templates::getCachingService() instanceof UNL_Templates_CachingService_Null) + && $tpl = file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?version=2&template='.$template)) { + return $tpl; + } + + if (file_exists(UNL_Templates::getDataDir().'/tpl_cache/Version2/'.$template)) { + return file_get_contents($template); + } + + throw new Exception('Could not get the template file!'); } function makeIncludeReplacements($html) diff --git a/lib/php/UNL/Templates/Version3.php b/lib/php/UNL/Templates/Version3.php index b55f6709..8dd1e100 100644 --- a/lib/php/UNL/Templates/Version3.php +++ b/lib/php/UNL/Templates/Version3.php @@ -40,7 +40,18 @@ class UNL_Templates_Version3 implements UNL_Templates_Version 'getTemplate', 1); $template = 'Absolute.tpl'; } - return file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?version=3&template='.$template); + + // Always try and retrieve the latest + if (!(UNL_Templates::getCachingService() instanceof UNL_Templates_CachingService_Null) + && $tpl = file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?version=3&template='.$template)) { + return $tpl; + } + + if (file_exists(UNL_Templates::getDataDir().'/tpl_cache/Version3/'.$template)) { + return file_get_contents(UNL_Templates::getDataDir().'/tpl_cache/Version3/'.$template); + } + + throw new Exception('Could not get the template file!'); } function makeIncludeReplacements($html) diff --git a/lib/php/UNL/Templates/Version3/Mobile.php b/lib/php/UNL/Templates/Version3/Mobile.php new file mode 100644 index 00000000..cc17d8ac --- /dev/null +++ b/lib/php/UNL/Templates/Version3/Mobile.php @@ -0,0 +1,33 @@ +<?php +/** + * Template Definition for mobile.dwt + * + * PHP version 5 + * + * @category Templates + * @package UNL_Templates + * @author Kyle Powers <kylepowers@gmail.com> + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +require_once 'UNL/Templates.php'; + +class UNL_Templates_Version3_Mobile extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Mobile.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $titlegraphic = "<h1>Department</h1>"; // string() + public $pagetitle = ""; // string() + public $maincontentarea = "<p>Place your content here.<br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://wdn.unl.edu//\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Check this page</a> </p>"; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Mobile',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} -- GitLab