From 0559e7ccd2c552e478a9824af6fbcad546d89ba1 Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Wed, 28 Apr 2010 22:51:32 +0000 Subject: [PATCH] Adding the unl_wdn theme for the drupal-7.x branch. git-svn-id: file:///tmp/wdn_thm_drupal/branches/drupal-7.x@59 20a16fea-79d4-4915-8869-1ea9d5ebf173 --- sites/all/themes/unl_wdn/block.tpl.php | 4 + sites/all/themes/unl_wdn/html.tpl.php | 52 ++ sites/all/themes/unl_wdn/includes/form.inc | 138 +++ sites/all/themes/unl_wdn/layouts/fourcol.inc | 21 + sites/all/themes/unl_wdn/layouts/fourcol.png | Bin 0 -> 18165 bytes .../themes/unl_wdn/layouts/fourcol.tpl.php | 33 + .../all/themes/unl_wdn/layouts/singlecol.inc | 18 + .../all/themes/unl_wdn/layouts/singlecol.png | Bin 0 -> 16154 bytes .../themes/unl_wdn/layouts/singlecol.tpl.php | 22 + .../themes/unl_wdn/layouts/threecol_112.inc | 20 + .../themes/unl_wdn/layouts/threecol_112.png | Bin 0 -> 17841 bytes .../unl_wdn/layouts/threecol_112.tpl.php | 30 + .../themes/unl_wdn/layouts/threecol_121.inc | 20 + .../themes/unl_wdn/layouts/threecol_121.png | Bin 0 -> 17950 bytes .../unl_wdn/layouts/threecol_121.tpl.php | 30 + .../themes/unl_wdn/layouts/threecol_211.inc | 20 + .../themes/unl_wdn/layouts/threecol_211.png | Bin 0 -> 17902 bytes .../unl_wdn/layouts/threecol_211.tpl.php | 30 + .../all/themes/unl_wdn/layouts/twocol_13.inc | 19 + .../all/themes/unl_wdn/layouts/twocol_13.png | Bin 0 -> 17233 bytes .../themes/unl_wdn/layouts/twocol_13.tpl.php | 27 + .../all/themes/unl_wdn/layouts/twocol_22.inc | 19 + .../all/themes/unl_wdn/layouts/twocol_22.png | Bin 0 -> 17359 bytes .../themes/unl_wdn/layouts/twocol_22.tpl.php | 27 + .../all/themes/unl_wdn/layouts/twocol_31.inc | 19 + .../all/themes/unl_wdn/layouts/twocol_31.png | Bin 0 -> 17435 bytes .../themes/unl_wdn/layouts/twocol_31.tpl.php | 27 + sites/all/themes/unl_wdn/lib/Cache/Lite.php | 835 ++++++++++++++++++ .../themes/unl_wdn/lib/Cache/Lite/File.php | 93 ++ .../unl_wdn/lib/Cache/Lite/Function.php | 211 +++++ .../themes/unl_wdn/lib/Cache/Lite/Output.php | 72 ++ sites/all/themes/unl_wdn/lib/UNL/DWT.php | 274 ++++++ .../themes/unl_wdn/lib/UNL/DWT/Generator.php | 476 ++++++++++ .../all/themes/unl_wdn/lib/UNL/DWT/Region.php | 22 + .../themes/unl_wdn/lib/UNL/DWT/Scanner.php | 138 +++ .../unl_wdn/lib/UNL/DWT/createTemplates.php | 44 + .../all/themes/unl_wdn/lib/UNL/Templates.php | 331 +++++++ .../lib/UNL/Templates/CachingService.php | 20 + .../Templates/CachingService/CacheLite.php | 64 ++ .../unl_wdn/lib/UNL/Templates/Scanner.php | 32 + .../unl_wdn/lib/UNL/Templates/Version.php | 21 + .../unl_wdn/lib/UNL/Templates/Version2.php | 51 ++ .../lib/UNL/Templates/Version2/Document.php | 42 + .../lib/UNL/Templates/Version2/Fixed.php | 47 + .../lib/UNL/Templates/Version2/Liquid.php | 47 + .../lib/UNL/Templates/Version2/Popup.php | 42 + .../lib/UNL/Templates/Version2/Secure.php | 45 + .../UNL/Templates/Version2/Unlaffiliate.php | 41 + .../UNL/Templates/Version2/Unlframework.php | 45 + .../Version2/Unlstandardtemplate.php | 48 + .../unl_wdn/lib/UNL/Templates/Version3.php | 67 ++ .../lib/UNL/Templates/Version3/Absolute.php | 50 ++ .../lib/UNL/Templates/Version3/Debug.php | 30 + .../lib/UNL/Templates/Version3/Document.php | 46 + .../lib/UNL/Templates/Version3/Fixed.php | 50 ++ .../lib/UNL/Templates/Version3/Liquid.php | 50 ++ .../lib/UNL/Templates/Version3/Popup.php | 45 + .../lib/UNL/Templates/Version3/Secure.php | 48 + .../Templates/Version3/Shared_column_left.php | 51 ++ .../Version3/Shared_column_right.php | 51 ++ sites/all/themes/unl_wdn/page.tpl.php | 168 ++++ sites/all/themes/unl_wdn/screenshot.png | Bin 0 -> 26133 bytes sites/all/themes/unl_wdn/style.css | 41 + sites/all/themes/unl_wdn/template.php | 145 +++ sites/all/themes/unl_wdn/unl_wdn.info | 12 + 65 files changed, 4471 insertions(+) create mode 100644 sites/all/themes/unl_wdn/block.tpl.php create mode 100644 sites/all/themes/unl_wdn/html.tpl.php create mode 100644 sites/all/themes/unl_wdn/includes/form.inc create mode 100644 sites/all/themes/unl_wdn/layouts/fourcol.inc create mode 100644 sites/all/themes/unl_wdn/layouts/fourcol.png create mode 100644 sites/all/themes/unl_wdn/layouts/fourcol.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/singlecol.inc create mode 100644 sites/all/themes/unl_wdn/layouts/singlecol.png create mode 100644 sites/all/themes/unl_wdn/layouts/singlecol.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_112.inc create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_112.png create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_112.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_121.inc create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_121.png create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_121.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_211.inc create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_211.png create mode 100644 sites/all/themes/unl_wdn/layouts/threecol_211.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_13.inc create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_13.png create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_13.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_22.inc create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_22.png create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_22.tpl.php create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_31.inc create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_31.png create mode 100644 sites/all/themes/unl_wdn/layouts/twocol_31.tpl.php create mode 100644 sites/all/themes/unl_wdn/lib/Cache/Lite.php create mode 100644 sites/all/themes/unl_wdn/lib/Cache/Lite/File.php create mode 100644 sites/all/themes/unl_wdn/lib/Cache/Lite/Function.php create mode 100644 sites/all/themes/unl_wdn/lib/Cache/Lite/Output.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/DWT.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/DWT/Generator.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/DWT/Region.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/DWT/Scanner.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/DWT/createTemplates.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService/CacheLite.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Scanner.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Document.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Fixed.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Liquid.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Popup.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Secure.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlaffiliate.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlframework.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlstandardtemplate.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Absolute.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Debug.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Document.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Fixed.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Liquid.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Popup.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Secure.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_left.php create mode 100644 sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_right.php create mode 100644 sites/all/themes/unl_wdn/page.tpl.php create mode 100644 sites/all/themes/unl_wdn/screenshot.png create mode 100644 sites/all/themes/unl_wdn/style.css create mode 100644 sites/all/themes/unl_wdn/template.php create mode 100644 sites/all/themes/unl_wdn/unl_wdn.info diff --git a/sites/all/themes/unl_wdn/block.tpl.php b/sites/all/themes/unl_wdn/block.tpl.php new file mode 100644 index 00000000..cc029978 --- /dev/null +++ b/sites/all/themes/unl_wdn/block.tpl.php @@ -0,0 +1,4 @@ +<?php + + +echo $content; \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/html.tpl.php b/sites/all/themes/unl_wdn/html.tpl.php new file mode 100644 index 00000000..65f3e942 --- /dev/null +++ b/sites/all/themes/unl_wdn/html.tpl.php @@ -0,0 +1,52 @@ +<?php +/** + * @file + * Default theme implementation to display the basic html structure of a single + * Drupal page. + * + * Variables: + * - $css: An array of CSS files for the current page. + * - $language: (object) The language the site is being displayed in. + * $language->language contains its textual representation. + * $language->dir contains the language direction. It will either be 'ltr' or 'rtl'. + * - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document. + * - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data. + * - $head_title: A modified version of the page title, for use in the TITLE tag. + * - $head: Markup for the HEAD section (including meta tags, keyword tags, and + * so on). + * - $styles: Style tags necessary to import all CSS files for the page. + * - $scripts: Script tags necessary to load the JavaScript files and settings + * for the page. + * - $page_top: Initial markup from any modules that have altered the + * page. This variable should always be output first, before all other dynamic + * content. + * - $page: The rendered page content. + * - $page_bottom: Final closing markup from any modules that have altered the + * page. This variable should always be output last, after all other dynamic + * content. + * - $classes String of classes that can be used to style contextually through + * CSS. + * + * @see template_preprocess() + * @see template_preprocess_html() + * @see template_process() + */ + +$t = unl_wdn_get_instance(); + +$t->head .= PHP_EOL + . $head . PHP_EOL + . $styles . PHP_EOL + . $scripts . PHP_EOL + ; + +$t->doctitle = '<title>'. unl_wdn_head_title() .'</title>'; + +$html = $t->toHtml(); + +$html = strtr($html, array('<div id="maincontent">' => $page_top . PHP_EOL . '<div id="maincontent">', + '<div id="footer">' => $page_bottom . PHP_EOL . '<div id="footer">')); + +echo $html; + + diff --git a/sites/all/themes/unl_wdn/includes/form.inc b/sites/all/themes/unl_wdn/includes/form.inc new file mode 100644 index 00000000..90b26ed7 --- /dev/null +++ b/sites/all/themes/unl_wdn/includes/form.inc @@ -0,0 +1,138 @@ +<?php +/** + * Return a themed form element. + * + * @param element + * An associative array containing the properties of the element. + * Properties used: title, description, id, required + * @param $value + * The form element's data. + * @return + * A string representing the form element. + * + * @ingroup themeable + */ +function unl_wdn_form_element($element, $value) { + //Based on + //http://api.drupal.org/api/function/theme_form_element/5 + // +//print_r($element); + $output = ''; + $output .= '<!-- start ' . $element['#type'] . '::' . $element['#id'] . ' -->' . PHP_EOL; + + $output .= '<li class="form-item">'."\n"; + $required = !empty($element['#required']) ? '<span class="required" title="'. t('This field is required.') .'">*</span>' : ''; + + if (!empty($element['#title'])) { + $title = $element['#title']; + if (!empty($element['#id'])) { + $output .= ' <label for="'. $element['#id'] .'">'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label>\n"; + } + else { + $output .= ' <label>'. t('!title: !required', array('!title' => filter_xss_admin($title), '!required' => $required)) ."</label>\n"; + } + } + + if ($element['#children']) { + $output .= '<ol>' . PHP_EOL; + } + + $output .= " $value\n"; + + if ($element['#children']) { + $output .= '</ol>' . PHP_EOL; + } + + if (!empty($element['#description'])) { + $output .= ' <div class="description">'. $element['#description'] ."</div>\n"; + } + $output .= "</li>\n"; + + $output .= '<!-- end ' . $element['#id'] . ' -->' . PHP_EOL; + + return $output; +} + +/** + * Format a set of radio buttons. + * + * @param $element + * An associative array containing the properties of the element. + * Properties used: title, value, options, description, required and attributes. + * @return + * A themed HTML string representing the radio button set. + * + * @ingroup themeable + */ +function unl_wdn_radios($element) { + $class = 'form-radios'; + if (isset($element['#attributes']['class'])) { + $class .= ' '. $element['#attributes']['class']; + } +// $element['#children'] = '<div class="'. $class .'">'. (!empty($element['#children']) ? $element['#children'] : '') .'</div>'; + if ($element['#title'] || $element['#description']) { + unset($element['#id']); + return theme('form_element', $element, $element['#children']); + } + else { + return $element['#children']; + } +} + +/** + * Format a group of form items. + * + * @param $element + * An associative array containing the properties of the element. + * Properties used: attributes, title, value, description, children, collapsible, collapsed + * @return + * A themed HTML string representing the form item group. + * + * @ingroup themeable + */ +function unl_wdn_fieldset($element) { + if (!empty($element['#collapsible'])) { + drupal_add_js('misc/collapse.js'); + + if (!isset($element['#attributes']['class'])) { + $element['#attributes']['class'] = ''; + } + + $element['#attributes']['class'] .= ' collapsible'; + if (!empty($element['#collapsed'])) { + $element['#attributes']['class'] .= ' collapsed'; + } + } + + return '<fieldset'. drupal_attributes($element['#attributes']) .'>' + . ($element['#title'] ? '<legend>'. $element['#title'] .'</legend>' : '') + . (isset($element['#description']) && $element['#description'] ? '<div class="description">' . $element['#description'] .'</div>' : '') + . '<ol>' . PHP_EOL + . (!empty($element['#children']) ? $element['#children'] : '') + . (isset($element['#value']) ? $element['#value'] : '') + . "</ol></fieldset>\n"; +} +/** + * Format a form. + * + * @param $element + * An associative array containing the properties of the element. + * Properties used: action, method, attributes, children + * @return + * A themed HTML string representing the form. + * + * @ingroup themeable + */ +function unl_wdn_form($element) { + // Anonymous div to satisfy XHTML compliance. + $action = $element['#action'] ? 'action="'. check_url($element['#action']) .'" ' : ''; + return '<script type="text/javascript"> + WDN.loadCSS("http://localhost/wdn/templates_3.0/css/content/forms.css"); + WDN.loadCSS("http://localhost/workspace/UNL_ENews/www/css/all.css"); + </script> + <form class="energetic" '. $action .' accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n". $element['#children'] ."\n</form>\n"; +} + + + + diff --git a/sites/all/themes/unl_wdn/layouts/fourcol.inc b/sites/all/themes/unl_wdn/layouts/fourcol.inc new file mode 100644 index 00000000..625c1f5c --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/fourcol.inc @@ -0,0 +1,21 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_fourcol_panels_layouts() { + $items['fourcol'] = array( + 'title' => t('UNL Four Column'), + 'icon' => 'fourcol.png', + 'theme' => 'fourcol', + 'panels' => array( + 'left' => t('Far Left'), + 'center-left' => t('Center Left'), + 'center-right' => t('Center Right'), + 'right' => t('Far Right'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/fourcol.png b/sites/all/themes/unl_wdn/layouts/fourcol.png new file mode 100644 index 0000000000000000000000000000000000000000..9d462c383623ac0bdf8bf3cb17dbeb0336849300 GIT binary patch literal 18165 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 literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/fourcol.tpl.php b/sites/all/themes/unl_wdn/layouts/fourcol.tpl.php new file mode 100644 index 00000000..47e24837 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/fourcol.tpl.php @@ -0,0 +1,33 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="col left"> + <?php echo $content['left']; ?> + </div> + <div class="col"> + <?php echo $content['center-left']; ?> + </div> + <div class="col"> + <?php echo $content['center-right']; ?> + </div> + <div class="col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/singlecol.inc b/sites/all/themes/unl_wdn/layouts/singlecol.inc new file mode 100644 index 00000000..33d52f23 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/singlecol.inc @@ -0,0 +1,18 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_singlecol_panels_layouts() { + $items['singlecol'] = array( + 'title' => t('UNL Single Column'), + 'icon' => 'singlecol.png', + 'theme' => 'singlecol', + 'panels' => array( + 'center' => t('Center') + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/singlecol.png b/sites/all/themes/unl_wdn/layouts/singlecol.png new file mode 100644 index 0000000000000000000000000000000000000000..3953488205a47ca9a91ef1ce56dd8c9d5c25b703 GIT binary patch literal 16154 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 URU23s7#J8lUHx3vIVCg!0EB8zumAu6 literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/singlecol.tpl.php b/sites/all/themes/unl_wdn/layouts/singlecol.tpl.php new file mode 100644 index 00000000..48e3b7f3 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/singlecol.tpl.php @@ -0,0 +1,22 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <?php echo $content['center']; ?> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/threecol_112.inc b/sites/all/themes/unl_wdn/layouts/threecol_112.inc new file mode 100644 index 00000000..8015fbcb --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_112.inc @@ -0,0 +1,20 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_threecol_112_panels_layouts() { + $items['threecol_112'] = array( + 'title' => t('UNL Three Column (1/1/2 layout)'), + 'icon' => 'threecol_112.png', + 'theme' => 'threecol_112', + 'panels' => array( + 'left' => t('Left side'), + 'center' => t('Center'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/threecol_112.png b/sites/all/themes/unl_wdn/layouts/threecol_112.png new file mode 100644 index 0000000000000000000000000000000000000000..5346db85efdb6dd8c82e734ef936b13ab6cb79f5 GIT binary patch literal 17841 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 D>Q)sQ literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/threecol_112.tpl.php b/sites/all/themes/unl_wdn/layouts/threecol_112.tpl.php new file mode 100644 index 00000000..b179edd2 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_112.tpl.php @@ -0,0 +1,30 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="col left"> + <?php echo $content['left']; ?> + </div> + <div class="col"> + <?php echo $content['center']; ?> + </div> + <div class="two_col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/threecol_121.inc b/sites/all/themes/unl_wdn/layouts/threecol_121.inc new file mode 100644 index 00000000..71eb1117 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_121.inc @@ -0,0 +1,20 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_threecol_121_panels_layouts() { + $items['threecol_121'] = array( + 'title' => t('UNL Three Column (1/2/1 layout)'), + 'icon' => 'threecol_121.png', + 'theme' => 'threecol_121', + 'panels' => array( + 'left' => t('Left side'), + 'center' => t('Center'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/threecol_121.png b/sites/all/themes/unl_wdn/layouts/threecol_121.png new file mode 100644 index 0000000000000000000000000000000000000000..a56cefe42ca7bac01df4cde07222ff36ee5c9f10 GIT binary patch literal 17950 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 KxvX<aXaWGVpE%h7 literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/threecol_121.tpl.php b/sites/all/themes/unl_wdn/layouts/threecol_121.tpl.php new file mode 100644 index 00000000..55abc696 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_121.tpl.php @@ -0,0 +1,30 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="col left"> + <?php echo $content['left']; ?> + </div> + <div class="two_col"> + <?php echo $content['center']; ?> + </div> + <div class="col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/threecol_211.inc b/sites/all/themes/unl_wdn/layouts/threecol_211.inc new file mode 100644 index 00000000..5054d540 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_211.inc @@ -0,0 +1,20 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_threecol_211_panels_layouts() { + $items['threecol_211'] = array( + 'title' => t('UNL Three Column (2/1/1 layout)'), + 'icon' => 'threecol_211.png', + 'theme' => 'threecol_211', + 'panels' => array( + 'left' => t('Left side'), + 'center' => t('Center'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/threecol_211.png b/sites/all/themes/unl_wdn/layouts/threecol_211.png new file mode 100644 index 0000000000000000000000000000000000000000..b9bdd61150355ef98d90e86ceb34585609d3efc5 GIT binary patch literal 17902 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 L^>bP0l+XkKoeC-p literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/threecol_211.tpl.php b/sites/all/themes/unl_wdn/layouts/threecol_211.tpl.php new file mode 100644 index 00000000..fc4a77da --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/threecol_211.tpl.php @@ -0,0 +1,30 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="two_col left"> + <?php echo $content['left']; ?> + </div> + <div class="col"> + <?php echo $content['center']; ?> + </div> + <div class="col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/twocol_13.inc b/sites/all/themes/unl_wdn/layouts/twocol_13.inc new file mode 100644 index 00000000..9c94b130 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_13.inc @@ -0,0 +1,19 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_twocol_13_panels_layouts() { + $items['twocol_13'] = array( + 'title' => t('UNL Two Column (1/3 layout)'), + 'icon' => 'twocol_13.png', + 'theme' => 'twocol_13', + 'panels' => array( + 'left' => t('Left side'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/twocol_13.png b/sites/all/themes/unl_wdn/layouts/twocol_13.png new file mode 100644 index 0000000000000000000000000000000000000000..dae6f974111aa12ffb93a61e89e4c461d8255140 GIT binary patch literal 17233 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 literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/twocol_13.tpl.php b/sites/all/themes/unl_wdn/layouts/twocol_13.tpl.php new file mode 100644 index 00000000..a6c8acf7 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_13.tpl.php @@ -0,0 +1,27 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="col left"> + <?php echo $content['left']; ?> + </div> + <div class="three_col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/twocol_22.inc b/sites/all/themes/unl_wdn/layouts/twocol_22.inc new file mode 100644 index 00000000..48ebab83 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_22.inc @@ -0,0 +1,19 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_twocol_22_panels_layouts() { + $items['twocol_22'] = array( + 'title' => t('UNL Two Column (2/2 layout)'), + 'icon' => 'twocol_22.png', + 'theme' => 'twocol_22', + 'panels' => array( + 'left' => t('Left side'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/twocol_22.png b/sites/all/themes/unl_wdn/layouts/twocol_22.png new file mode 100644 index 0000000000000000000000000000000000000000..56f4def2118aa3d44a65c48e1b5a0628cc9d12d6 GIT binary patch literal 17359 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 RH4F?444$rjF6*2UngD9yBB}rY literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/twocol_22.tpl.php b/sites/all/themes/unl_wdn/layouts/twocol_22.tpl.php new file mode 100644 index 00000000..d0290fc7 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_22.tpl.php @@ -0,0 +1,27 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="two_col left"> + <?php echo $content['left']; ?> + </div> + <div class="two_col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/layouts/twocol_31.inc b/sites/all/themes/unl_wdn/layouts/twocol_31.inc new file mode 100644 index 00000000..cb1d2d4a --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_31.inc @@ -0,0 +1,19 @@ +<?php +// $Id: twocol_stacked.inc,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ + +/** + * Implementation of hook_panels_layouts(). + */ +function unl_wdn_twocol_31_panels_layouts() { + $items['twocol_31'] = array( + 'title' => t('UNL Two Column (3/1 layout)'), + 'icon' => 'twocol_31.png', + 'theme' => 'twocol_31', + 'panels' => array( + 'left' => t('Left side'), + 'right' => t('Right side'), + ), + ); + + return $items; +} diff --git a/sites/all/themes/unl_wdn/layouts/twocol_31.png b/sites/all/themes/unl_wdn/layouts/twocol_31.png new file mode 100644 index 0000000000000000000000000000000000000000..fe610deb29f336e5bcdb9ab0da166ee46cb29f27 GIT binary patch literal 17435 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 literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/layouts/twocol_31.tpl.php b/sites/all/themes/unl_wdn/layouts/twocol_31.tpl.php new file mode 100644 index 00000000..a0090d25 --- /dev/null +++ b/sites/all/themes/unl_wdn/layouts/twocol_31.tpl.php @@ -0,0 +1,27 @@ +<?php +// $Id: panels-twocol-stacked.tpl.php,v 1.1.2.1 2008/12/16 21:27:59 merlinofchaos Exp $ +/** + * @file + * Template for a 2 column panel layout. + * + * This template provides a two column panel display layout, with + * additional areas for the top and the bottom. + * + * Variables: + * - $id: An optional CSS id to use for the layout. + * - $content: An array of content, each item in the array is keyed to one + * panel of the layout. This layout supports the following sections: + * - $content['left']: Content in the left column. + * - $content['right']: Content in the right column. + */ +?> +<div <?php if (!empty($css_id)) { print "id=\"$css_id\""; } ?>> + <div class="three_col left"> + <?php echo $content['left']; ?> + </div> + <div class="col right"> + <?php echo $content['right']; ?> + </div> + <div style="clear: both;"></div> +</div> + diff --git a/sites/all/themes/unl_wdn/lib/Cache/Lite.php b/sites/all/themes/unl_wdn/lib/Cache/Lite.php new file mode 100644 index 00000000..a691e2e4 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/Cache/Lite.php @@ -0,0 +1,835 @@ +<?php + +/** +* Fast, light and safe Cache Class +* +* Cache_Lite is a fast, light and safe cache system. It's optimized +* for file containers. It is fast and safe (because it uses file +* locking and/or anti-corruption tests). +* +* There are some examples in the 'docs/examples' file +* Technical choices are described in the 'docs/technical' file +* +* Memory Caching is from an original idea of +* Mike BENOIT <ipso@snappymail.ca> +* +* Nota : A chinese documentation (thanks to RainX <china_1982@163.com>) is +* available at : +* http://rainx.phpmore.com/manual/cache_lite.html +* +* @package Cache_Lite +* @category Caching +* @version $Id: Lite.php,v 1.54 2009/07/07 05:34:37 tacker Exp $ +* @author Fabien MARTY <fab@php.net> +*/ + +define('CACHE_LITE_ERROR_RETURN', 1); +define('CACHE_LITE_ERROR_DIE', 8); + +class Cache_Lite +{ + + // --- Private properties --- + + /** + * Directory where to put the cache files + * (make sure to add a trailing slash) + * + * @var string $_cacheDir + */ + var $_cacheDir = '/tmp/'; + + /** + * Enable / disable caching + * + * (can be very usefull for the debug of cached scripts) + * + * @var boolean $_caching + */ + var $_caching = true; + + /** + * Cache lifetime (in seconds) + * + * If null, the cache is valid forever. + * + * @var int $_lifeTime + */ + var $_lifeTime = 3600; + + /** + * Enable / disable fileLocking + * + * (can avoid cache corruption under bad circumstances) + * + * @var boolean $_fileLocking + */ + var $_fileLocking = true; + + /** + * Timestamp of the last valid cache + * + * @var int $_refreshTime + */ + var $_refreshTime; + + /** + * File name (with path) + * + * @var string $_file + */ + var $_file; + + /** + * File name (without path) + * + * @var string $_fileName + */ + var $_fileName; + + /** + * Enable / disable write control (the cache is read just after writing to detect corrupt entries) + * + * Enable write control will lightly slow the cache writing but not the cache reading + * Write control can detect some corrupt cache files but maybe it's not a perfect control + * + * @var boolean $_writeControl + */ + var $_writeControl = true; + + /** + * Enable / disable read control + * + * If enabled, a control key is embeded in cache file and this key is compared with the one + * calculated after the reading. + * + * @var boolean $_writeControl + */ + var $_readControl = true; + + /** + * Type of read control (only if read control is enabled) + * + * Available values are : + * 'md5' for a md5 hash control (best but slowest) + * 'crc32' for a crc32 hash control (lightly less safe but faster, better choice) + * 'strlen' for a length only test (fastest) + * + * @var boolean $_readControlType + */ + var $_readControlType = 'crc32'; + + /** + * Pear error mode (when raiseError is called) + * + * (see PEAR doc) + * + * @see setToDebug() + * @var int $_pearErrorMode + */ + var $_pearErrorMode = CACHE_LITE_ERROR_RETURN; + + /** + * Current cache id + * + * @var string $_id + */ + var $_id; + + /** + * Current cache group + * + * @var string $_group + */ + var $_group; + + /** + * Enable / Disable "Memory Caching" + * + * NB : There is no lifetime for memory caching ! + * + * @var boolean $_memoryCaching + */ + var $_memoryCaching = false; + + /** + * Enable / Disable "Only Memory Caching" + * (be carefull, memory caching is "beta quality") + * + * @var boolean $_onlyMemoryCaching + */ + var $_onlyMemoryCaching = false; + + /** + * Memory caching array + * + * @var array $_memoryCachingArray + */ + var $_memoryCachingArray = array(); + + /** + * Memory caching counter + * + * @var int $memoryCachingCounter + */ + var $_memoryCachingCounter = 0; + + /** + * Memory caching limit + * + * @var int $memoryCachingLimit + */ + var $_memoryCachingLimit = 1000; + + /** + * File Name protection + * + * if set to true, you can use any cache id or group name + * if set to false, it can be faster but cache ids and group names + * will be used directly in cache file names so be carefull with + * special characters... + * + * @var boolean $fileNameProtection + */ + var $_fileNameProtection = true; + + /** + * Enable / disable automatic serialization + * + * it can be used to save directly datas which aren't strings + * (but it's slower) + * + * @var boolean $_serialize + */ + var $_automaticSerialization = false; + + /** + * Disable / Tune the automatic cleaning process + * + * The automatic cleaning process destroy too old (for the given life time) + * cache files when a new cache file is written. + * 0 => no automatic cache cleaning + * 1 => systematic cache cleaning + * x (integer) > 1 => automatic cleaning randomly 1 times on x cache write + * + * @var int $_automaticCleaning + */ + var $_automaticCleaningFactor = 0; + + /** + * Nested directory level + * + * Set the hashed directory structure level. 0 means "no hashed directory + * structure", 1 means "one level of directory", 2 means "two levels"... + * This option can speed up Cache_Lite only when you have many thousands of + * cache file. Only specific benchs can help you to choose the perfect value + * for you. Maybe, 1 or 2 is a good start. + * + * @var int $_hashedDirectoryLevel + */ + var $_hashedDirectoryLevel = 0; + + /** + * Umask for hashed directory structure + * + * @var int $_hashedDirectoryUmask + */ + var $_hashedDirectoryUmask = 0700; + + /** + * API break for error handling in CACHE_LITE_ERROR_RETURN mode + * + * In CACHE_LITE_ERROR_RETURN mode, error handling was not good because + * for example save() method always returned a boolean (a PEAR_Error object + * would be better in CACHE_LITE_ERROR_RETURN mode). To correct this without + * breaking the API, this option (false by default) can change this handling. + * + * @var boolean + */ + var $_errorHandlingAPIBreak = false; + + // --- Public methods --- + + /** + * Constructor + * + * $options is an assoc. Available options are : + * $options = array( + * 'cacheDir' => directory where to put the cache files (string), + * 'caching' => enable / disable caching (boolean), + * 'lifeTime' => cache lifetime in seconds (int), + * 'fileLocking' => enable / disable fileLocking (boolean), + * 'writeControl' => enable / disable write control (boolean), + * 'readControl' => enable / disable read control (boolean), + * 'readControlType' => type of read control 'crc32', 'md5', 'strlen' (string), + * 'pearErrorMode' => pear error mode (when raiseError is called) (cf PEAR doc) (int), + * 'memoryCaching' => enable / disable memory caching (boolean), + * 'onlyMemoryCaching' => enable / disable only memory caching (boolean), + * 'memoryCachingLimit' => max nbr of records to store into memory caching (int), + * 'fileNameProtection' => enable / disable automatic file name protection (boolean), + * 'automaticSerialization' => enable / disable automatic serialization (boolean), + * 'automaticCleaningFactor' => distable / tune automatic cleaning process (int), + * 'hashedDirectoryLevel' => level of the hashed directory system (int), + * 'hashedDirectoryUmask' => umask for hashed directory structure (int), + * 'errorHandlingAPIBreak' => API break for better error handling ? (boolean) + * ); + * + * @param array $options options + * @access public + */ + function Cache_Lite($options = array(NULL)) + { + foreach($options as $key => $value) { + $this->setOption($key, $value); + } + } + + /** + * Generic way to set a Cache_Lite option + * + * see Cache_Lite constructor for available options + * + * @var string $name name of the option + * @var mixed $value value of the option + * @access public + */ + function setOption($name, $value) + { + $availableOptions = array('errorHandlingAPIBreak', 'hashedDirectoryUmask', 'hashedDirectoryLevel', 'automaticCleaningFactor', 'automaticSerialization', 'fileNameProtection', 'memoryCaching', 'onlyMemoryCaching', 'memoryCachingLimit', 'cacheDir', 'caching', 'lifeTime', 'fileLocking', 'writeControl', 'readControl', 'readControlType', 'pearErrorMode'); + if (in_array($name, $availableOptions)) { + $property = '_'.$name; + $this->$property = $value; + } + } + + /** + * Test if a cache is available and (if yes) return it + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested + * @return string data of the cache (else : false) + * @access public + */ + function get($id, $group = 'default', $doNotTestCacheValidity = false) + { + $this->_id = $id; + $this->_group = $group; + $data = false; + if ($this->_caching) { + $this->_setRefreshTime(); + $this->_setFileName($id, $group); + clearstatcache(); + if ($this->_memoryCaching) { + if (isset($this->_memoryCachingArray[$this->_file])) { + if ($this->_automaticSerialization) { + return unserialize($this->_memoryCachingArray[$this->_file]); + } + return $this->_memoryCachingArray[$this->_file]; + } + if ($this->_onlyMemoryCaching) { + return false; + } + } + if (($doNotTestCacheValidity) || (is_null($this->_refreshTime))) { + if (file_exists($this->_file)) { + $data = $this->_read(); + } + } else { + if ((file_exists($this->_file)) && (@filemtime($this->_file) > $this->_refreshTime)) { + $data = $this->_read(); + } + } + if (($data) and ($this->_memoryCaching)) { + $this->_memoryCacheAdd($data); + } + if (($this->_automaticSerialization) and (is_string($data))) { + $data = unserialize($data); + } + return $data; + } + return false; + } + + /** + * Save some data in a cache file + * + * @param string $data data to put in cache (can be another type than strings if automaticSerialization is on) + * @param string $id cache id + * @param string $group name of the cache group + * @return boolean true if no problem (else : false or a PEAR_Error object) + * @access public + */ + function save($data, $id = NULL, $group = 'default') + { + if ($this->_caching) { + if ($this->_automaticSerialization) { + $data = serialize($data); + } + if (isset($id)) { + $this->_setFileName($id, $group); + } + if ($this->_memoryCaching) { + $this->_memoryCacheAdd($data); + if ($this->_onlyMemoryCaching) { + return true; + } + } + if ($this->_automaticCleaningFactor>0 && ($this->_automaticCleaningFactor==1 || mt_rand(1, $this->_automaticCleaningFactor)==1)) { + $this->clean(false, 'old'); + } + if ($this->_writeControl) { + $res = $this->_writeAndControl($data); + if (is_bool($res)) { + if ($res) { + return true; + } + // if $res if false, we need to invalidate the cache + @touch($this->_file, time() - 2*abs($this->_lifeTime)); + return false; + } + } else { + $res = $this->_write($data); + } + if (is_object($res)) { + // $res is a PEAR_Error object + if (!($this->_errorHandlingAPIBreak)) { + return false; // we return false (old API) + } + } + return $res; + } + return false; + } + + /** + * Remove a cache file + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $checkbeforeunlink check if file exists before removing it + * @return boolean true if no problem + * @access public + */ + function remove($id, $group = 'default', $checkbeforeunlink = false) + { + $this->_setFileName($id, $group); + if ($this->_memoryCaching) { + if (isset($this->_memoryCachingArray[$this->_file])) { + unset($this->_memoryCachingArray[$this->_file]); + $this->_memoryCachingCounter = $this->_memoryCachingCounter - 1; + } + if ($this->_onlyMemoryCaching) { + return true; + } + } + if ( $checkbeforeunlink ) { + if (!file_exists($this->_file)) return true; + } + return $this->_unlink($this->_file); + } + + /** + * Clean the cache + * + * if no group is specified all cache files will be destroyed + * else only cache files of the specified group will be destroyed + * + * @param string $group name of the cache group + * @param string $mode flush cache mode : 'old', 'ingroup', 'notingroup', + * 'callback_myFunction' + * @return boolean true if no problem + * @access public + */ + function clean($group = false, $mode = 'ingroup') + { + return $this->_cleanDir($this->_cacheDir, $group, $mode); + } + + /** + * Set to debug mode + * + * When an error is found, the script will stop and the message will be displayed + * (in debug mode only). + * + * @access public + */ + function setToDebug() + { + $this->setOption('pearErrorMode', CACHE_LITE_ERROR_DIE); + } + + /** + * Set a new life time + * + * @param int $newLifeTime new life time (in seconds) + * @access public + */ + function setLifeTime($newLifeTime) + { + $this->_lifeTime = $newLifeTime; + $this->_setRefreshTime(); + } + + /** + * Save the state of the caching memory array into a cache file cache + * + * @param string $id cache id + * @param string $group name of the cache group + * @access public + */ + function saveMemoryCachingState($id, $group = 'default') + { + if ($this->_caching) { + $array = array( + 'counter' => $this->_memoryCachingCounter, + 'array' => $this->_memoryCachingArray + ); + $data = serialize($array); + $this->save($data, $id, $group); + } + } + + /** + * Load the state of the caching memory array from a given cache file cache + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested + * @access public + */ + function getMemoryCachingState($id, $group = 'default', $doNotTestCacheValidity = false) + { + if ($this->_caching) { + if ($data = $this->get($id, $group, $doNotTestCacheValidity)) { + $array = unserialize($data); + $this->_memoryCachingCounter = $array['counter']; + $this->_memoryCachingArray = $array['array']; + } + } + } + + /** + * Return the cache last modification time + * + * BE CAREFUL : THIS METHOD IS FOR HACKING ONLY ! + * + * @return int last modification time + */ + function lastModified() + { + return @filemtime($this->_file); + } + + /** + * Trigger a PEAR error + * + * To improve performances, the PEAR.php file is included dynamically. + * The file is so included only when an error is triggered. So, in most + * cases, the file isn't included and perfs are much better. + * + * @param string $msg error message + * @param int $code error code + * @access public + */ + function raiseError($msg, $code) + { + include_once('PEAR.php'); + return PEAR::raiseError($msg, $code, $this->_pearErrorMode); + } + + /** + * Extend the life of a valid cache file + * + * see http://pear.php.net/bugs/bug.php?id=6681 + * + * @access public + */ + function extendLife() + { + @touch($this->_file); + } + + // --- Private methods --- + + /** + * Compute & set the refresh time + * + * @access private + */ + function _setRefreshTime() + { + if (is_null($this->_lifeTime)) { + $this->_refreshTime = null; + } else { + $this->_refreshTime = time() - $this->_lifeTime; + } + } + + /** + * Remove a file + * + * @param string $file complete file path and name + * @return boolean true if no problem + * @access private + */ + function _unlink($file) + { + if (!@unlink($file)) { + return $this->raiseError('Cache_Lite : Unable to remove cache !', -3); + } + return true; + } + + /** + * Recursive function for cleaning cache file in the given directory + * + * @param string $dir directory complete path (with a trailing slash) + * @param string $group name of the cache group + * @param string $mode flush cache mode : 'old', 'ingroup', 'notingroup', + 'callback_myFunction' + * @return boolean true if no problem + * @access private + */ + function _cleanDir($dir, $group = false, $mode = 'ingroup') + { + if ($this->_fileNameProtection) { + $motif = ($group) ? 'cache_'.md5($group).'_' : 'cache_'; + } else { + $motif = ($group) ? 'cache_'.$group.'_' : 'cache_'; + } + if ($this->_memoryCaching) { + foreach($this->_memoryCachingArray as $key => $v) { + if (strpos($key, $motif) !== false) { + unset($this->_memoryCachingArray[$key]); + $this->_memoryCachingCounter = $this->_memoryCachingCounter - 1; + } + } + if ($this->_onlyMemoryCaching) { + return true; + } + } + if (!($dh = opendir($dir))) { + return $this->raiseError('Cache_Lite : Unable to open cache directory !', -4); + } + $result = true; + while ($file = readdir($dh)) { + if (($file != '.') && ($file != '..')) { + if (substr($file, 0, 6)=='cache_') { + $file2 = $dir . $file; + if (is_file($file2)) { + switch (substr($mode, 0, 9)) { + case 'old': + // files older than lifeTime get deleted from cache + if (!is_null($this->_lifeTime)) { + if ((time() - @filemtime($file2)) > $this->_lifeTime) { + $result = ($result and ($this->_unlink($file2))); + } + } + break; + case 'notingrou': + if (strpos($file2, $motif) === false) { + $result = ($result and ($this->_unlink($file2))); + } + break; + case 'callback_': + $func = substr($mode, 9, strlen($mode) - 9); + if ($func($file2, $group)) { + $result = ($result and ($this->_unlink($file2))); + } + break; + case 'ingroup': + default: + if (strpos($file2, $motif) !== false) { + $result = ($result and ($this->_unlink($file2))); + } + break; + } + } + if ((is_dir($file2)) and ($this->_hashedDirectoryLevel>0)) { + $result = ($result and ($this->_cleanDir($file2 . '/', $group, $mode))); + } + } + } + } + return $result; + } + + /** + * Add some date in the memory caching array + * + * @param string $data data to cache + * @access private + */ + function _memoryCacheAdd($data) + { + $this->_memoryCachingArray[$this->_file] = $data; + if ($this->_memoryCachingCounter >= $this->_memoryCachingLimit) { + list($key, ) = each($this->_memoryCachingArray); + unset($this->_memoryCachingArray[$key]); + } else { + $this->_memoryCachingCounter = $this->_memoryCachingCounter + 1; + } + } + + /** + * Make a file name (with path) + * + * @param string $id cache id + * @param string $group name of the group + * @access private + */ + function _setFileName($id, $group) + { + + if ($this->_fileNameProtection) { + $suffix = 'cache_'.md5($group).'_'.md5($id); + } else { + $suffix = 'cache_'.$group.'_'.$id; + } + $root = $this->_cacheDir; + if ($this->_hashedDirectoryLevel>0) { + $hash = md5($suffix); + for ($i=0 ; $i<$this->_hashedDirectoryLevel ; $i++) { + $root = $root . 'cache_' . substr($hash, 0, $i + 1) . '/'; + } + } + $this->_fileName = $suffix; + $this->_file = $root.$suffix; + } + + /** + * Read the cache file and return the content + * + * @return string content of the cache file (else : false or a PEAR_Error object) + * @access private + */ + function _read() + { + $fp = @fopen($this->_file, "rb"); + if ($this->_fileLocking) @flock($fp, LOCK_SH); + if ($fp) { + clearstatcache(); + $length = @filesize($this->_file); + $mqr = get_magic_quotes_runtime(); + if ($mqr) { + set_magic_quotes_runtime(0); + } + if ($this->_readControl) { + $hashControl = @fread($fp, 32); + $length = $length - 32; + } + if ($length) { + $data = @fread($fp, $length); + } else { + $data = ''; + } + if ($mqr) { + set_magic_quotes_runtime($mqr); + } + if ($this->_fileLocking) @flock($fp, LOCK_UN); + @fclose($fp); + if ($this->_readControl) { + $hashData = $this->_hash($data, $this->_readControlType); + if ($hashData != $hashControl) { + if (!(is_null($this->_lifeTime))) { + @touch($this->_file, time() - 2*abs($this->_lifeTime)); + } else { + @unlink($this->_file); + } + return false; + } + } + return $data; + } + return $this->raiseError('Cache_Lite : Unable to read cache !', -2); + } + + /** + * Write the given data in the cache file + * + * @param string $data data to put in cache + * @return boolean true if ok (a PEAR_Error object else) + * @access private + */ + function _write($data) + { + if ($this->_hashedDirectoryLevel > 0) { + $hash = md5($this->_fileName); + $root = $this->_cacheDir; + for ($i=0 ; $i<$this->_hashedDirectoryLevel ; $i++) { + $root = $root . 'cache_' . substr($hash, 0, $i + 1) . '/'; + if (!(@is_dir($root))) { + @mkdir($root, $this->_hashedDirectoryUmask); + } + } + } + $fp = @fopen($this->_file, "wb"); + if ($fp) { + if ($this->_fileLocking) @flock($fp, LOCK_EX); + if ($this->_readControl) { + @fwrite($fp, $this->_hash($data, $this->_readControlType), 32); + } + $mqr = get_magic_quotes_runtime(); + if ($mqr) { + set_magic_quotes_runtime(0); + } + @fwrite($fp, $data); + if ($mqr) { + set_magic_quotes_runtime($mqr); + } + if ($this->_fileLocking) @flock($fp, LOCK_UN); + @fclose($fp); + return true; + } + return $this->raiseError('Cache_Lite : Unable to write cache file : '.$this->_file, -1); + } + + /** + * Write the given data in the cache file and control it just after to avoir corrupted cache entries + * + * @param string $data data to put in cache + * @return boolean true if the test is ok (else : false or a PEAR_Error object) + * @access private + */ + function _writeAndControl($data) + { + $result = $this->_write($data); + if (is_object($result)) { + return $result; # We return the PEAR_Error object + } + $dataRead = $this->_read(); + if (is_object($dataRead)) { + return $dataRead; # We return the PEAR_Error object + } + if ((is_bool($dataRead)) && (!$dataRead)) { + return false; + } + return ($dataRead==$data); + } + + /** + * Make a control key with the string containing datas + * + * @param string $data data + * @param string $controlType type of control 'md5', 'crc32' or 'strlen' + * @return string control key + * @access private + */ + function _hash($data, $controlType) + { + switch ($controlType) { + case 'md5': + return md5($data); + case 'crc32': + return sprintf('% 32d', crc32($data)); + case 'strlen': + return sprintf('% 32d', strlen($data)); + default: + return $this->raiseError('Unknown controlType ! (available values are only \'md5\', \'crc32\', \'strlen\')', -5); + } + } + +} + +?> diff --git a/sites/all/themes/unl_wdn/lib/Cache/Lite/File.php b/sites/all/themes/unl_wdn/lib/Cache/Lite/File.php new file mode 100644 index 00000000..e34da4ef --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/Cache/Lite/File.php @@ -0,0 +1,93 @@ +<?php + +/** +* This class extends Cache_Lite and offers a cache system driven by a master file +* +* With this class, cache validity is only dependent of a given file. Cache files +* are valid only if they are older than the master file. It's a perfect way for +* caching templates results (if the template file is newer than the cache, cache +* must be rebuild...) or for config classes... +* There are some examples in the 'docs/examples' file +* Technical choices are described in the 'docs/technical' file +* +* @package Cache_Lite +* @version $Id: File.php,v 1.4 2009/03/07 12:55:39 tacker Exp $ +* @author Fabien MARTY <fab@php.net> +*/ + +require_once('Cache/Lite.php'); + +class Cache_Lite_File extends Cache_Lite +{ + + // --- Private properties --- + + /** + * Complete path of the file used for controlling the cache lifetime + * + * @var string $_masterFile + */ + var $_masterFile = ''; + + /** + * Masterfile mtime + * + * @var int $_masterFile_mtime + */ + var $_masterFile_mtime = 0; + + // --- Public methods ---- + + /** + * Constructor + * + * $options is an assoc. To have a look at availables options, + * see the constructor of the Cache_Lite class in 'Cache_Lite.php' + * + * Comparing to Cache_Lite constructor, there is another option : + * $options = array( + * (...) see Cache_Lite constructor + * 'masterFile' => complete path of the file used for controlling the cache lifetime(string) + * ); + * + * @param array $options options + * @access public + */ + function Cache_Lite_File($options = array(NULL)) + { + $options['lifetime'] = 0; + $this->Cache_Lite($options); + if (isset($options['masterFile'])) { + $this->_masterFile = $options['masterFile']; + } else { + return $this->raiseError('Cache_Lite_File : masterFile option must be set !'); + } + if (!($this->_masterFile_mtime = @filemtime($this->_masterFile))) { + return $this->raiseError('Cache_Lite_File : Unable to read masterFile : '.$this->_masterFile, -3); + } + } + + /** + * Test if a cache is available and (if yes) return it + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested + * @return string data of the cache (else : false) + * @access public + */ + function get($id, $group = 'default', $doNotTestCacheValidity = false) + { + if ($data = parent::get($id, $group, true)) { + if ($filemtime = $this->lastModified()) { + if ($filemtime > $this->_masterFile_mtime) { + return $data; + } + } + } + return false; + } + +} + +?> diff --git a/sites/all/themes/unl_wdn/lib/Cache/Lite/Function.php b/sites/all/themes/unl_wdn/lib/Cache/Lite/Function.php new file mode 100644 index 00000000..63a96d9e --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/Cache/Lite/Function.php @@ -0,0 +1,211 @@ +<?php + +/** +* This class extends Cache_Lite and can be used to cache the result and output of functions/methods +* +* This class is completly inspired from Sebastian Bergmann's +* PEAR/Cache_Function class. This is only an adaptation to +* Cache_Lite +* +* There are some examples in the 'docs/examples' file +* Technical choices are described in the 'docs/technical' file +* +* @package Cache_Lite +* @version $Id: Function.php,v 1.11 2006/12/14 12:59:43 cweiske Exp $ +* @author Sebastian BERGMANN <sb@sebastian-bergmann.de> +* @author Fabien MARTY <fab@php.net> +*/ + +require_once('Cache/Lite.php'); + +class Cache_Lite_Function extends Cache_Lite +{ + + // --- Private properties --- + + /** + * Default cache group for function caching + * + * @var string $_defaultGroup + */ + var $_defaultGroup = 'Cache_Lite_Function'; + + /** + * Don't cache the method call when its output contains the string "NOCACHE" + * + * if set to true, the output of the method will never be displayed (because the output is used + * to control the cache) + * + * @var boolean $_dontCacheWhenTheOutputContainsNOCACHE + */ + var $_dontCacheWhenTheOutputContainsNOCACHE = false; + + /** + * Don't cache the method call when its result is false + * + * @var boolean $_dontCacheWhenTheResultIsFalse + */ + var $_dontCacheWhenTheResultIsFalse = false; + + /** + * Don't cache the method call when its result is null + * + * @var boolean $_dontCacheWhenTheResultIsNull + */ + var $_dontCacheWhenTheResultIsNull = false; + + /** + * Debug the Cache_Lite_Function caching process + * + * @var boolean $_debugCacheLiteFunction + */ + var $_debugCacheLiteFunction = false; + + // --- Public methods ---- + + /** + * Constructor + * + * $options is an assoc. To have a look at availables options, + * see the constructor of the Cache_Lite class in 'Cache_Lite.php' + * + * Comparing to Cache_Lite constructor, there is another option : + * $options = array( + * (...) see Cache_Lite constructor + * 'debugCacheLiteFunction' => (bool) debug the caching process, + * 'defaultGroup' => default cache group for function caching (string), + * 'dontCacheWhenTheOutputContainsNOCACHE' => (bool) don't cache when the function output contains "NOCACHE", + * 'dontCacheWhenTheResultIsFalse' => (bool) don't cache when the function result is false, + * 'dontCacheWhenTheResultIsNull' => (bool don't cache when the function result is null + * ); + * + * @param array $options options + * @access public + */ + function Cache_Lite_Function($options = array(NULL)) + { + $availableOptions = array('debugCacheLiteFunction', 'defaultGroup', 'dontCacheWhenTheOutputContainsNOCACHE', 'dontCacheWhenTheResultIsFalse', 'dontCacheWhenTheResultIsNull'); + while (list($name, $value) = each($options)) { + if (in_array($name, $availableOptions)) { + $property = '_'.$name; + $this->$property = $value; + } + } + reset($options); + $this->Cache_Lite($options); + } + + /** + * Calls a cacheable function or method (or not if there is already a cache for it) + * + * Arguments of this method are read with func_get_args. So it doesn't appear + * in the function definition. Synopsis : + * call('functionName', $arg1, $arg2, ...) + * (arg1, arg2... are arguments of 'functionName') + * + * @return mixed result of the function/method + * @access public + */ + function call() + { + $arguments = func_get_args(); + $id = $this->_makeId($arguments); + $data = $this->get($id, $this->_defaultGroup); + if ($data !== false) { + if ($this->_debugCacheLiteFunction) { + echo "Cache hit !\n"; + } + $array = unserialize($data); + $output = $array['output']; + $result = $array['result']; + } else { + if ($this->_debugCacheLiteFunction) { + echo "Cache missed !\n"; + } + ob_start(); + ob_implicit_flush(false); + $target = array_shift($arguments); + if (is_array($target)) { + // in this case, $target is for example array($obj, 'method') + $object = $target[0]; + $method = $target[1]; + $result = call_user_func_array(array(&$object, $method), $arguments); + } else { + if (strstr($target, '::')) { // classname::staticMethod + list($class, $method) = explode('::', $target); + $result = call_user_func_array(array($class, $method), $arguments); + } else if (strstr($target, '->')) { // object->method + // use a stupid name ($objet_123456789 because) of problems where the object + // name is the same as this var name + list($object_123456789, $method) = explode('->', $target); + global $$object_123456789; + $result = call_user_func_array(array($$object_123456789, $method), $arguments); + } else { // function + $result = call_user_func_array($target, $arguments); + } + } + $output = ob_get_contents(); + ob_end_clean(); + if ($this->_dontCacheWhenTheResultIsFalse) { + if ((is_bool($result)) && (!($result))) { + echo($output); + return $result; + } + } + if ($this->_dontCacheWhenTheResultIsNull) { + if (is_null($result)) { + echo($output); + return $result; + } + } + if ($this->_dontCacheWhenTheOutputContainsNOCACHE) { + if (strpos($output, 'NOCACHE') > -1) { + return $result; + } + } + $array['output'] = $output; + $array['result'] = $result; + $this->save(serialize($array), $id, $this->_defaultGroup); + } + echo($output); + return $result; + } + + /** + * Drop a cache file + * + * Arguments of this method are read with func_get_args. So it doesn't appear + * in the function definition. Synopsis : + * remove('functionName', $arg1, $arg2, ...) + * (arg1, arg2... are arguments of 'functionName') + * + * @return boolean true if no problem + * @access public + */ + function drop() + { + $id = $this->_makeId(func_get_args()); + return $this->remove($id, $this->_defaultGroup); + } + + /** + * Make an id for the cache + * + * @var array result of func_get_args for the call() or the remove() method + * @return string id + * @access private + */ + function _makeId($arguments) + { + $id = serialize($arguments); // Generate a cache id + if (!$this->_fileNameProtection) { + $id = md5($id); + // if fileNameProtection is set to false, then the id has to be hashed + // because it's a very bad file name in most cases + } + return $id; + } + +} + +?> diff --git a/sites/all/themes/unl_wdn/lib/Cache/Lite/Output.php b/sites/all/themes/unl_wdn/lib/Cache/Lite/Output.php new file mode 100644 index 00000000..97322736 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/Cache/Lite/Output.php @@ -0,0 +1,72 @@ +<?php + +/** +* This class extends Cache_Lite and uses output buffering to get the data to cache. +* +* There are some examples in the 'docs/examples' file +* Technical choices are described in the 'docs/technical' file +* +* @package Cache_Lite +* @version $Id: Output.php,v 1.4 2006/01/29 00:22:07 fab Exp $ +* @author Fabien MARTY <fab@php.net> +*/ + +require_once('Cache/Lite.php'); + +class Cache_Lite_Output extends Cache_Lite +{ + + // --- Public methods --- + + /** + * Constructor + * + * $options is an assoc. To have a look at availables options, + * see the constructor of the Cache_Lite class in 'Cache_Lite.php' + * + * @param array $options options + * @access public + */ + function Cache_Lite_Output($options) + { + $this->Cache_Lite($options); + } + + /** + * Start the cache + * + * @param string $id cache id + * @param string $group name of the cache group + * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested + * @return boolean true if the cache is hit (false else) + * @access public + */ + function start($id, $group = 'default', $doNotTestCacheValidity = false) + { + $data = $this->get($id, $group, $doNotTestCacheValidity); + if ($data !== false) { + echo($data); + return true; + } + ob_start(); + ob_implicit_flush(false); + return false; + } + + /** + * Stop the cache + * + * @access public + */ + function end() + { + $data = ob_get_contents(); + ob_end_clean(); + $this->save($data, $this->_id, $this->_group); + echo($data); + } + +} + + +?> diff --git a/sites/all/themes/unl_wdn/lib/UNL/DWT.php b/sites/all/themes/unl_wdn/lib/UNL/DWT.php new file mode 100644 index 00000000..43aac0a3 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/DWT.php @@ -0,0 +1,274 @@ +<?php +/** + * This package is intended to create PHP Class files (Objects) from + * Dreamweaver template (.dwt) files. It allows designers to create a + * standalone Dreamweaver template for the website design, and developers + * to use that design in php pages without interference. + * + * Similar to the way DB_DataObject works, the DWT package uses a + * Generator to scan a .dwt file for editable regions and creates an + * appropriately named class for that .dwt file with member variables for + * each region. + * + * Once the objects have been generated, you can render a html page from + * the template. + * + * $page = new UNL_DWT::factory('Template_style1'); + * $page->pagetitle = "Contact Information"; + * $page->maincontent = "Contact us by telephone at 111-222-3333."; + * echo $page->toHtml(); + * + * Parts of this package are modeled on (borrowed from) the PEAR package + * DB_DataObject. + * + * PHP version 5 + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ + +/** + * Base class which understands Dreamweaver Templates. + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +class UNL_DWT +{ + + public $__template; + + /** + * Run-time configuration options + * + * @var array + * @see UNL_DWT::setOption() + */ + static public $options = array( + 'debug' => 0, + ); + + /** + * Constructor + */ + function __construct() + { + + } + + /** + * Returns the given DWT with all regions replaced with their assigned + * content. + * + * @return string + */ + public function toHtml() + { + $options = &UNL_DWT::$options; + if (!isset($this->__template)) { + return ''; + } + /* + More Options for this method: + Extend this to automatically generate the .tpl files and cache. + Check for a cached copy of the template file. + Connect to a template server and get the latest template copy. + + Ex: $p = file_get_contents("http://pear.unl.edu/UNL/Templates/server.php?template=".$this->__template); + */ + $p = file_get_contents($options['tpl_location'].$this->__template); + + $regions = get_object_vars($this); + return $this->replaceRegions($p, $regions); + } + + /** + * Replaces region tags within a template file wth their contents. + * + * @param string $p Page with DW Region tags. + * @param array $regions Associative array with content to replace. + * + * @return string page with replaced regions + */ + function replaceRegions($p, $regions) + { + UNL_DWT::debug('Replacing regions.', 'replaceRegions', 5); + foreach ($regions as $region=>$value) { + /* Replace the region with the replacement text */ + if (strpos($p, "<!--"." TemplateBeginEditable name=\"{$region}\" -->")) { + $p = str_replace(UNL_DWT_between("<!--"." TemplateBeginEditable name=\"{$region}\" -->", + "<!--"." TemplateEndEditable -->", $p), + $value, $p); + UNL_DWT::debug("$region is replaced with $value.", + 'replaceRegions', 5); + } elseif (strpos($p, "<!--"." InstanceBeginEditable name=\"{$region}\" -->")) { + $p = str_replace("<!--"." InstanceBeginEditable name=\"{$region}\" -->". + UNL_DWT_between("<!--"." InstanceBeginEditable name=\"{$region}\" -->", "<!--"." InstanceEndEditable -->", $p). + "<!--"." InstanceEndEditable -->", "<!--"." InstanceBeginEditable name=\"{$region}\" -->".$value."<!--"." InstanceEndEditable -->", $p); + UNL_DWT::debug("$region is replaced with $value.", 'replaceRegions', 5); + } else { + UNL_DWT::debug("Could not find region $region!", 'replaceRegions', 3); + } + } + return $p; + } + + + /** + * Create a new UNL_DWT object for the specified layout type + * + * @param string $type the template type (eg "fixed") + * @param array $coptions an associative array of option names and values + * + * @return object a new UNL_DWT. A UNL_DWT_Error object on failure. + * + * @see UNL_DWT::setOption() + */ + static function &factory($type, $coptions = false) + { + $options =& UNL_DWT::$options; + + include_once $options['class_location']."{$type}.php"; + + if (!is_array($coptions)) { + $coptions = array(); + } + + $classname = $options['class_prefix'].$type; + + if (!class_exists($classname)) { + throw new UNL_DWT_Exception("Unable to include the {$options['class_location']}{$type}.php file."); + } + + @$obj = new $classname; + + foreach ($coptions as $option => $value) { + $test = $obj->setOption($option, $value); + } + + return $obj; + } + + /** + * Sets options. + * + * @param string $option Option to set + * @param mixed $value Value to set for this option + * + * @return void + */ + function setOption($option, $value) + { + self::$options[$option] = $value; + } + + /* ----------------------- Debugger ------------------ */ + + /** + * Debugger. - use this in your extended classes to output debugging + * information. + * + * Uses UNL_DWT::debugLevel(x) to turn it on + * + * @param string $message message to output + * @param string $logtype bold at start + * @param string $level output level + * + * @return none + */ + static function debug($message, $logtype = 0, $level = 1) + { + if (empty(self::$options['debug']) || + (is_numeric(self::$options['debug']) && self::$options['debug'] < $level)) { + return; + } + // this is a bit flaky due to php's wonderfull class passing around crap.. + // but it's about as good as it gets.. + $class = (isset($this) && ($this instanceof UNL_DWT)) ? get_class($this) : 'UNL_DWT'; + + if (!is_string($message)) { + $message = print_r($message, true); + } + if (!is_numeric(self::$options['debug']) && is_callable(self::$options['debug'])) { + return call_user_func(self::$options['debug'], $class, $message, $logtype, $level); + } + + if (!ini_get('html_errors')) { + echo "$class : $logtype : $message\n"; + flush(); + return; + } + if (!is_string($message)) { + $message = print_r($message, true); + } + $colorize = ($logtype == 'ERROR') ? '<font color="red">' : '<font>'; + echo "<code>{$colorize}<strong>$class: $logtype:</strong> ". nl2br(htmlspecialchars($message)) . "</font></code><br />\n"; + flush(); + } + + /** + * sets and returns debug level + * eg. UNL_DWT::debugLevel(4); + * + * @param int $v level + * + * @return void + */ + function debugLevel($v = null) + { + if ($v !== null) { + $r = isset(self::$options['debug']) ? self::$options['debug'] : 0; + self::$options['debug'] = $v; + return $r; + } + return isset(self::$options['debug']) ? self::$options['debug'] : 0; + } + +} + +/** + * exception used by the UNL_DWT class + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +class UNL_DWT_Exception extends Exception +{ + +} + +if (!function_exists('UNL_DWT_between')) { + /** + * Returns content between two strings + * + * @param string $start String which bounds the start + * @param string $end end collecting content when you see this + * @param string $p larger body of content to search + * + * @return string + */ + function UNL_DWT_between($start, $end, $p) + { + if (!empty($start) && strpos($p, $start)!=false) { + $p = substr($p, strpos($p, $start)+strlen($start)); + } + if (strpos($p, $end)!=false) { + $p = substr($p, 0, strpos($p, $end)); + } + return $p; + } +} \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/DWT/Generator.php b/sites/all/themes/unl_wdn/lib/UNL/DWT/Generator.php new file mode 100644 index 00000000..172ac6a8 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/DWT/Generator.php @@ -0,0 +1,476 @@ +<?php +/** + * The Generator is used to generate UNL_DWT classes and cached .tpl files from + * Dreamweaver Template files. + * + * PHP version 5 + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ + +require_once 'UNL/DWT.php'; +require_once 'UNL/DWT/Region.php'; + +/** + * The generator parses actual .dwt Dreamweaver Template files to create object relationship + * files which have member variables for editable regions within the dreamweaver templates. + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +class UNL_DWT_Generator extends UNL_DWT +{ + + /** + * Array of template names. + */ + var $templates; + + /** + * Current template being output + */ + var $template; + + /** + * Assoc array of template region names. + * $_regions[$template] = array(); + */ + var $_regions; + + /** + * class being extended (can be overridden by + * [UNL_DWT_Generator] extends=xxxx + * + * @var string + * @access private + */ + var $_extends = 'UNL_DWT'; + + /** + * line to use for require_once 'UNL/DWT.php'; + * + * @var string + * @access private + */ + var $_extendsFile = 'UNL/DWT.php'; + + /** + * begins generation of template files + * + * @return void + */ + function start() + { + $this->debugLevel(3); + $this->createTemplateList(); + $this->generateTemplates(); + $this->generateClasses(); + } + + /** + * Generates .tpl files from .dwt + * + * @return void + */ + function generateTemplates() + { + $dwt_location = UNL_DWT::$options['dwt_location']; + if (!file_exists(UNL_DWT::$options['dwt_location'])) { + include_once 'System.php'; + System::mkdir(array('-p', UNL_DWT::$options['dwt_location'])); + } + if (!file_exists($options['tpl_location'])) { + include_once 'System.php'; + System::mkdir(array('-p', UNL_DWT::$options['tpl_location'])); + } + foreach ($this->templates as $this->template) { + $dwt = file_get_contents($dwt_location.$this->template); + $dwt = $this->scanRegions($dwt); + + $sanitizedName = $this->sanitizeTemplateName($this->template); + //Write out the .tpl file? + if (strpos(UNL_DWT::$options['tpl_location'], '%s') !== false) { + $outfilename = sprintf(UNL_DWT::$options['tpl_location'], $sanitizedName); + } else { + $outfilename = UNL_DWT::$options['tpl_location']."/{$sanitizedName}.tpl"; + } + $this->debug("Writing {$sanitizedName} to {$outfilename}", + 'generateTemplates'); + $fh = fopen($outfilename, "w"); + fputs($fh, $dwt); + fclose($fh); + } + } + + /** + * Create a list of dwts + * + * @return void + */ + function createTemplateList() + { + $this->templates = array(); + + $dwt_location = UNL_DWT::$options['dwt_location']; + if (is_dir($dwt_location)) { + $handle = opendir($dwt_location); + while (false !== ($file = readdir($handle))) { + if (isset(UNL_DWT::$options['generator_include_regex']) && + !preg_match(UNL_DWT::$options['generator_include_regex'], $file)) { + continue; + } else if (isset(UNL_DWT::$options['generator_exclude_regex']) && + preg_match(UNL_DWT::$options['generator_exclude_regex'], $file)) { + continue; + } + if (substr($file, strlen($file)-4) == '.dwt') { + $this->debug("Adding {$file} to the list of templates.", + 'createTemplateList'); + $this->templates[] = $file; + } + } + } else { + throw new UNL_DWT_Exception("dwt_location is incorrect\n"); + } + } + + /** + * Generate the classes for templates in $this->templates + * + * @return void + */ + function generateClasses() + { + if ($extends = @UNL_DWT::$options['extends']) { + $this->_extends = $extends; + $this->_extendsFile = UNL_DWT::$options['extends_location']; + } + + foreach ($this->templates as $this->template) { + $this->classname = $this->generateClassName($this->template); + if (strpos(UNL_DWT::$options['class_location'], '%s') !== false) { + $outfilename = sprintf(UNL_DWT::$options['class_location'], + sanitizeTemplateName($this->template)); + } else { + $outfilename = UNL_DWT::$options['class_location']."/".$this->sanitizeTemplateName($this->template).".php"; + } + $oldcontents = ''; + if (file_exists($outfilename)) { + // file_get_contents??? + $oldcontents = implode('', file($outfilename)); + } + $out = $this->_generateClassTemplate($oldcontents); + $this->debug("Writing {$this->classname} to {$outfilename}", + 'generateClasses'); + $fh = fopen($outfilename, "w"); + fputs($fh, $out); + fclose($fh); + } + } + + /** + * Generates the class name from a filename. + * + * @param string $filename The filename of the template. + * + * @return string Sanitized filename prefixed with the class_prefix + * defined in the ini. + */ + function generateClassName($filename) + { + if (!($class_prefix = @UNL_DWT::$options['class_prefix'])) { + $class_prefix = ''; + } + return $class_prefix.$this->sanitizeTemplateName($filename);; + } + + /** + * Cleans the template filename. + * + * @param string $filename Filename of the template + * + * @return string Sanitized template name + */ + function sanitizeTemplateName($filename) + { + return preg_replace('/[^A-Z0-9]/i', '_', + ucfirst(str_replace('.dwt', '', $filename))); + } + + /** + * Scans the .dwt for regions - all found are loaded into assoc array + * $this->_regions[$template]. + * + * @param string $dwt Dreamweaver template file to scan. + * + * @return string derived template file. + */ + function scanRegions($dwt) + { + + $this->_regions[$this->template] = array(); + + $dwt = str_replace("\r", "\n", $dwt); + $dwt = preg_replace("/(\<\!-- InstanceBeginEditable name=\"([A-Za-z0-9]*)\" -->)/i", "\n\\0\n", $dwt); + $dwt = preg_replace("/(\<\!-- TemplateBeginEditable name=\"([A-Za-z0-9]*)\" -->)/i", "\n\\0\n", $dwt); + $dwt = preg_replace("/\<\!-- InstanceEndEditable -->/", "\n\\0\n", $dwt); + $dwt = preg_replace("/\<\!-- TemplateEndEditable -->/", "\n\\0\n", $dwt); + $dwt = explode("\n", $dwt); + + $newRegion = false; + $region = new UNL_DWT_Region(); + $this->debug("Checking {$this->template}", 'scanRegions', 0); + foreach ($dwt as $key=>$fileregion) { + $matches = array(); + if (preg_match("/\<\!-- InstanceBeginEditable name=\"([A-Za-z0-9]*)\" -->/i", $fileregion, $matches) + || preg_match("/\<\!-- TemplateBeginEditable name=\"([A-Za-z0-9]*)\" -->/i", $fileregion, $matches)) { + if ($newRegion == true) { + // Found a new nested region. + // Remove the previous one. + $dwt[$region->line] = str_replace(array("<!--"." InstanceBeginEditable name=\"{$region->name}\" -->"), '', $dwt[$region->line]); + } + $newRegion = true; + $region = new UNL_DWT_Region(); + $region->name = $matches[1]; + $region->line = $key; + $region->value = ""; + } elseif ((preg_match("/\<\!-- InstanceEndEditable -->/i", $fileregion, $matches) || preg_match("/\<\!-- TemplateEndEditable -->/", $fileregion, $matches))) { + // Region is closing. + if ($newRegion===true) { + $region->value = trim($region->value); + if (strpos($region->value, "@@(\" \")@@") === false) { + $this->_regions[$this->template][] = $region; + } else { + // Editable Region tags must be removed within .tpl + unset($dwt[$region->line], $dwt[$key]); + } + $newRegion = false; + } else { + // Remove the nested region closing tag. + $dwt[$key] = str_replace("<!--"." InstanceEndEditable -->", '', $fileregion); + } + } else { + if ($newRegion===true) { + // Add the value of this region. + $region->value .= trim($fileregion)." "; + } + } + } + $dwt = implode("\n", $dwt); + $dwt = preg_replace("/<!--"." InstanceParam name=\"([\w]*)\" type=\"([\w]*)\" value=\"([\w]*)\" -->/", '', $dwt); + $dwt = str_replace(array( "<!--"." TemplateBeginEditable ", + "<!--"." TemplateEndEditable -->", + "\n\n"), + array( "<!--"." InstanceBeginEditable ", + "<!--"." InstanceEndEditable -->", + "\n"), $dwt); + if (preg_match("<!--"." InstanceBegin template=\"([\/\w\d\.]+)\" codeOutsideHTMLIsLocked=\"([\w]+)\" -->", $dwt)) { + $dwt = preg_replace("/<!--"." InstanceBegin template=\"([\/\w\d\.]+)\" codeOutsideHTMLIsLocked=\"([\w]+)\" -->/", "<!--"." InstanceBegin template=\"/Templates/{$this->template}\" codeOutsideHTMLIsLocked=\"\\2\" -->", $dwt); + } else { + $dwt = preg_replace("/<html[^>]*>/", "\\0<!--"." InstanceBegin template=\"/Templates/{$this->template}\" codeOutsideHTMLIsLocked=\"false\" -->", $dwt); + } + $dwt = str_replace('@@(" ")@@', '', $dwt); + return $dwt; + } + + /** + * The template class geneation part - single file. + * + * @param string $input file to generate a class for. + * + * @return updated .php file + */ + private function _generateClassTemplate($input = '') + { + // title = expand me! + $foot = ""; + $head = "<?php\n/**\n * Template Definition for {$this->template}\n */\n"; + // requires + $head .= "require_once '{$this->_extendsFile}';\n\n"; + // add dummy class header in... + // class + $head .= "class {$this->classname} extends {$this->_extends} \n{"; + + $body = "\n ###START_AUTOCODE\n"; + $body .= " /* the code below is auto generated do not remove the above tag */\n\n"; + // table + $padding = (30 - strlen($this->template)); + if ($padding < 2) { + $padding =2; + } + $p = str_repeat(' ', $padding); + + $var = (substr(phpversion(), 0, 1) > 4) ? 'public' : 'var'; + $body .= " {$var} \$__template = '".$this->sanitizeTemplateName($this->template).".tpl'; {$p}// template name\n"; + + $regions = $this->_regions[$this->template]; + + foreach ($regions as $t) { + if (!strlen(trim($t->name))) { + continue; + } + $padding = (30 - strlen($t->name)); + if ($padding < 2) $padding =2; + $p = str_repeat(' ', $padding); + + $body .=" {$var} \${$t->name} = \"".addslashes($t->value)."\"; {$p}// {$t->type}({$t->len}) {$t->flags}\n"; + } + + // simple creation tools ! (static stuff!) + $body .= "\n"; + $body .= " /* Static get */\n"; + $body .= " function staticGet(\$k,\$v=NULL) { return UNL_DWT::staticGet('{$this->classname}',\$k,\$v); }\n"; + + // generate getter and setter methods + $body .= $this->_generateGetters($input); + $body .= $this->_generateSetters($input); + + $body .= "\n /* the code above is auto generated do not remove the tag below */"; + $body .= "\n ###END_AUTOCODE\n"; + + $foot .= "}\n"; + $full = $head . $body . $foot; + + if (!$input) { + return $full; + } + if (!preg_match('/(\n|\r\n)\s*###START_AUTOCODE(\n|\r\n)/s', $input)) { + return $full; + } + if (!preg_match('/(\n|\r\n)\s*###END_AUTOCODE(\n|\r\n)/s', $input)) { + return $full; + } + + $class_rewrite = 'UNL_DWT'; + if (!($class_rewrite = @UNL_DWT::$options['generator_class_rewrite'])) { + $class_rewrite = 'UNL_DWT'; + } + if ($class_rewrite == 'ANY') { + $class_rewrite = '[a-z_]+'; + } + $input = preg_replace('/(\n|\r\n)class\s*[a-z0-9_]+\s*extends\s*' .$class_rewrite . '\s*\{(\n|\r\n)/si', + "\nclass {$this->classname} extends {$this->_extends} \n{\n", + $input); + + return preg_replace('/(\n|\r\n)\s*###START_AUTOCODE(\n|\r\n).*(\n|\r\n)\s*###END_AUTOCODE(\n|\r\n)/s', + $body, $input); + + } + + /** + * Generate getter methods for class definition + * + * @param string $input Existing class contents + * + * @return string + */ + function _generateGetters($input) + { + $getters = ''; + + // only generate if option is set to true + if (empty(UNL_DWT::$options['generate_getters'])) { + return ''; + } + + /* + * remove auto-generated code from input to be able to check if + * the method exists outside of the auto-code + */ + $input = preg_replace('/(\n|\r\n)\s*###START_AUTOCODE(\n|\r\n).*(\n|\r\n)\s*###END_AUTOCODE(\n|\r\n)/s', '', $input); + + $getters .= "\n\n"; + $regions = $this->_regions[$this->table]; + + // loop through properties and create getter methods + foreach ($regions = $regions as $t) { + + // build mehtod name + $methodName = 'get' . ucfirst($t->name); + + if (!strlen(trim($t->name)) + || preg_match("/function[\s]+[&]?$methodName\(/i", $input)) { + continue; + } + + $getters .= " /**\n"; + $getters .= " * Getter for \${$t->name}\n"; + $getters .= " *\n"; + $getters .= (stristr($t->flags, 'multiple_key')) ? " * @return object\n" + : " * @return {$t->type}\n"; + $getters .= " * @access public\n"; + $getters .= " */\n"; + $getters .= (substr(phpversion(), 0, 1) > 4) ? ' public ' + : ' '; + $getters .= "function $methodName() {\n"; + $getters .= " return \$this->{$t->name};\n"; + $getters .= " }\n\n"; + } + + return $getters; + } + + /** + * Generate setter methods for class definition + * + * @param string $input Existing class contents + * + * @return string + */ + function _generateSetters($input) + { + + $setters = ''; + + // only generate if option is set to true + if (empty(UNL_DWT::$options['generate_setters'])) { + return ''; + } + + /* + * remove auto-generated code from input to be able to check if + * the method exists outside of the auto-code + */ + $input = preg_replace('/(\n|\r\n)\s*###START_AUTOCODE(\n|\r\n).*(\n|\r\n)\s*###END_AUTOCODE(\n|\r\n)/s', '', $input); + + $setters .= "\n"; + $regions = $this->_regions[$this->table]; + + // loop through properties and create setter methods + foreach ($regions = $regions as $t) { + + // build mehtod name + $methodName = 'set' . ucfirst($t->name); + + if (!strlen(trim($t->name)) + || preg_match("/function[\s]+[&]?$methodName\(/i", $input)) { + continue; + } + + $setters .= " /**\n"; + $setters .= " * Setter for \${$t->name}\n"; + $setters .= " *\n"; + $setters .= " * @param mixed input value\n"; + $setters .= " * @access public\n"; + $setters .= " */\n"; + $setters .= (substr(phpversion(), 0, 1) > 4) ? ' public ' + : ' '; + $setters .= "function $methodName(\$value) {\n"; + $setters .= " \$this->{$t->name} = \$value;\n"; + $setters .= " }\n\n"; + } + + return $setters; + } + +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/DWT/Region.php b/sites/all/themes/unl_wdn/lib/UNL/DWT/Region.php new file mode 100644 index 00000000..b0963a1d --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/DWT/Region.php @@ -0,0 +1,22 @@ +<?php +/** + * Object representing a Dreamweaver template region + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +class UNL_DWT_Region +{ + var $name; + var $type = 'string'; + var $len; + var $line; + var $flags; + var $value; +} +?> \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/DWT/Scanner.php b/sites/all/themes/unl_wdn/lib/UNL/DWT/Scanner.php new file mode 100644 index 00000000..67b60600 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/DWT/Scanner.php @@ -0,0 +1,138 @@ +<?php +/** + * Handles scanning a dwt file for regions. + * + * PHP version 5 + * + * @category Templates + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +require_once 'UNL/DWT/Region.php'; + +/** + * Will scan a dreamweaver templated file for regions and other relevant info. + * + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ +class UNL_DWT_Scanner +{ + protected $_regions; + + /** + * The contents of the .dwt file you wish to scan. + * + * @param string $dwt Source of the .dwt file + */ + function __construct($dwt) + { + $this->scanRegions($dwt); + } + + function scanRegions($dwt) + { + $this->_regions[] = array(); + + $dwt = str_replace("\r", "\n", $dwt); + $dwt = preg_replace("/(\<\!-- InstanceBeginEditable name=\"([A-Za-z0-9]*)\" -->)/i", "\n\\0\n", $dwt); + $dwt = preg_replace("/(\<\!-- TemplateBeginEditable name=\"([A-Za-z0-9]*)\" -->)/i", "\n\\0\n", $dwt); + $dwt = preg_replace("/\<\!-- InstanceEndEditable -->/", "\n\\0\n", $dwt); + $dwt = preg_replace("/\<\!-- TemplateEndEditable -->/", "\n\\0\n", $dwt); + $dwt = explode("\n", $dwt); + + $newRegion = false; + $region = new UNL_DWT_Region(); + foreach ($dwt as $key=>$fileregion) { + $matches = array(); + if (preg_match("/\<\!-- InstanceBeginEditable name=\"([A-Za-z0-9]*)\" -->/i", $fileregion, $matches) + || preg_match("/\<\!-- TemplateBeginEditable name=\"([A-Za-z0-9]*)\" -->/i", $fileregion, $matches)) { + if ($newRegion == true) { + // Found a new nested region. + // Remove the previous one. + $dwt[$region->line] = str_replace(array("<!--"." InstanceBeginEditable name=\"{$region->name}\" -->"), '', $dwt[$region->line]); + } + $newRegion = true; + $region = new UNL_DWT_Region(); + $region->name = $matches[1]; + $region->line = $key; + $region->value = ""; + } elseif ((preg_match("/\<\!-- InstanceEndEditable -->/i", $fileregion, $matches) || preg_match("/\<\!-- TemplateEndEditable -->/", $fileregion, $matches))) { + // Region is closing. + if ($newRegion===true) { + $region->value = trim($region->value); + if (strpos($region->value, "@@(\" \")@@") === false) { + $this->_regions[$region->name] = $region; + } else { + // Editable Region tags must be removed within .tpl + unset($dwt[$region->line], $dwt[$key]); + } + $newRegion = false; + } else { + // Remove the nested region closing tag. + $dwt[$key] = str_replace("<!--"." InstanceEndEditable -->", '', $fileregion); + } + } else { + if ($newRegion===true) { + // Add the value of this region. + $region->value .= trim($fileregion)." "; + } + } + } + } + + /** + * returns the region object + * + * @param string $region + * + * @return UNL_DWT_Region + */ + public function getRegion($region) + { + if (isset($this->_regions[$region])) { + return $this->_regions[$region]; + } + return null; + } + + /** + * returns array of all the regions found + * + * @return array(UNL_DWT_Region) + */ + public function getRegions() + { + return $this->_regions; + } + + public function __isset($region) + { + return isset($this->_regions[$region]); + } + + public function __get($region) + { + if (isset($this->_regions[$region])) { + return $this->_regions[$region]->value; + } + + $trace = debug_backtrace(); + trigger_error( + 'Undefined property: ' . $region . + ' in ' . $trace[0]['file'] . + ' on line ' . $trace[0]['line'], + E_USER_NOTICE); + return null; + } + +} + +?> \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/DWT/createTemplates.php b/sites/all/themes/unl_wdn/lib/UNL/DWT/createTemplates.php new file mode 100644 index 00000000..df87cc25 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/DWT/createTemplates.php @@ -0,0 +1,44 @@ +#!/usr/bin/php -q +<?php +/** + * Tool to generate objects for dreamweaver template files. + * + * PHP version 5 + * + * @package UNL_DWT + * @author Brett Bieber <brett.bieber@gmail.com> + * @created 01/18/2006 + * @copyright 2008 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/package/UNL_DWT + */ + +// since this version doesnt use overload, +// and I assume anyone using custom generators should add this.. +define('UNL_DWT_NO_OVERLOAD',1); +ini_set('display_errors',true); +require_once 'UNL/DWT/Generator.php'; + +if (!ini_get('register_argc_argv')) { + throw new Exception("\nERROR: You must turn register_argc_argv On in your php.ini file for this to work\neg.\n\nregister_argc_argv = On\n\n"); +} + +if (!@$_SERVER['argv'][1]) { + throw new Exception("\nERROR: createTemplates.php usage:\n\nC:\php\pear\UNL\DWT\createTemplates.php example.ini\n\n"); +} + +$config = parse_ini_file($_SERVER['argv'][1], true); +foreach($config as $class=>$values) { + if ($class == 'UNL_DWT') { + UNL_DWT::$options = $values; + } +} + +if (empty(UNL_DWT::$options)) { + throw new Exception("\nERROR: could not read ini file\n\n"); +} +set_time_limit(0); +//UNL_DWT::debugLevel(1); +$generator = new UNL_DWT_Generator; +$generator->start(); + diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates.php b/sites/all/themes/unl_wdn/lib/UNL/Templates.php new file mode 100644 index 00000000..3ab6bda5 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates.php @@ -0,0 +1,331 @@ +<?php +/** + * Object oriented interface to create UNL Template based HTML pages. + * + * 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/ + */ + +/** + * Utilizes the UNL_DWT Dreamweaver template class. + */ +require_once 'UNL/DWT.php'; + +/** + * Allows you to create UNL Template based HTML pages through an object + * oriented interface. + * + * Install on your PHP server with: + * pear channel-discover pear.unl.edu + * pear install unl/UNL_Templates + * + * <code> + * <?php + * require_once 'UNL/Templates.php'; + * $page = UNL_Templates::factory('Fixed'); + * $page->titlegraphic = '<h1>UNL Templates</h1>'; + * $page->maincontentarea = 'Hello world!'; + * $page->loadSharedcodeFiles(); + * echo $page; + * </code> + * + * @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/ + */ +class UNL_Templates extends UNL_DWT +{ + const VERSION2 = 2; + const VERSION3 = 3; + + /** + * Cache object for output caching + * + * @var UNL_Templates_CachingService + */ + static protected $cache; + + static public $options = array( + 'debug' => 0, + 'sharedcodepath' => 'sharedcode', + 'templatedependentspath' => '', + 'cache' => array(), + 'version' => self::VERSION2 + ); + + /** + * The version of the templates we're using. + * + * @var UNL_Templates_Version + */ + static public $template_version; + + /** + * Construct a UNL_Templates object + */ + public function __construct() + { + date_default_timezone_set(date_default_timezone_get()); + self::$options['templatedependentspath'] = $_SERVER['DOCUMENT_ROOT']; + } + + /** + * Initialize the configuration for the UNL_DWT class + * + * @return void + */ + public static function loadDefaultConfig() + { + include_once 'UNL/Templates/Version'.self::$options['version'].'.php'; + $class = 'UNL_Templates_Version'.self::$options['version']; + self::$template_version = new $class(); + UNL_DWT::$options = array_merge(UNL_DWT::$options, self::$template_version->getConfig()); + } + + /** + * The factory returns a template object for any UNL Template style requested: + * * Fixed + * * Liquid + * * Popup + * * Document + * * Secure + * * Unlaffiliate + * + * <code> + * $page = UNL_Templates::factory('Fixed'); + * </code> + * + * @param string $type Type of template to get, Fixed, Liquid, Doc, Popup + * @param mixed $coptions Options for the constructor + * + * @return UNL_Templates + */ + static function &factory($type, $coptions = false) + { + UNL_Templates::loadDefaultConfig(); + return parent::factory($type, $coptions); + } + + /** + * Attempts to connect to the template server and grabs the latest cache of the + * template (.tpl) file. Set options for Cache_Lite in self::$options['cache'] + * + * @return string + */ + function getCache() + { + $cache = self::getCachingService(); + $cache_key = self::$options['version'].$this->__template; + // Test if there is a valid cache for this template + if ($data = $cache->get($cache_key)) { + // Content is in $data + self::debug('Using cached version from '. + date('Y-m-d H:i:s', $cache->lastModified()), 'getCache', 3); + } else { // No valid cache found + if ($data = self::$template_version->getTemplate($this->__template)) { + self::debug('Updating cache.', 'getCache', 3); + $data = $this->makeIncludeReplacements($data); + $cache->save($data, $cache_key); + } else { + // Error getting updated version of the templates. + self::debug('Could not connect to template server. ' . PHP_EOL . + 'Extending life of template cache.', 'getCache', 3); + $cache->extendLife(); + $data = $cache->get($this->__template); + } + } + return $data; + } + + /** + * Loads standard customized content (sharedcode) files from the filesystem. + * + * @return void + */ + function loadSharedcodeFiles() + { + $includes = array( + 'footercontent' => 'footer.html', + 'contactinfo' => 'footerContactInfo.html', + 'navlinks' => 'navigation.html', + 'leftcollinks' => 'relatedLinks.html', + 'optionalfooter' => 'optionalFooter.html', + 'collegenavigationlist' => 'unitNavigation.html', + ); + foreach ($includes as $element=>$filename) { + if (file_exists(self::$options['sharedcodepath'].'/'.$filename)) { + $this->{$element} = file_get_contents(self::$options['sharedcodepath'].'/'.$filename); + } + } + } + + + /** + * Add a link within the head of the page. + * + * @param string $href URI to the resource + * @param string $relation Relation of this link element (alternate) + * @param string $relType The type of relation (rel) + * @param array $attributes Any additional attribute=>value combinations + * + * @return void + */ + function addHeadLink($href, $relation, $relType = 'rel', array $attributes = array()) + { + $attributeString = ''; + foreach ($attributes as $name=>$value) { + $attributeString .= $name.'="'.$value.'" '; + } + + $this->head .= '<link '.$relType.'="'.$relation.'" href="'.$href.'" '.$attributeString.' />'.PHP_EOL; + + } + + /** + * Add a (java)script to the page. + * + * @param string $url URL to the script + * @param string $type Type of script text/javascript + * + * @return void + */ + function addScript($url, $type = 'text/javascript') + { + $this->head .= '<script type="'.$type.'" src="'.$url.'"></script>'.PHP_EOL; + } + + /** + * Adds a script declaration to the page. + * + * @param string $content The javascript you wish to add. + * @param string $type Type of script tag. + * + * @return void + */ + function addScriptDeclaration($content, $type = 'text/javascript') + { + $this->head .= '<script type="'.$type.'">//<![CDATA['.PHP_EOL.$content.PHP_EOL.'//]]></script>'.PHP_EOL; + } + + /** + * Add a style declaration to the head of the document. + * <code> + * $page->addStyleDeclaration('.course {font-size:1.5em}'); + * </code> + * + * @param string $content CSS content to add + * @param string $type type attribute for the style element + * + * @return void + */ + function addStyleDeclaration($content, $type = 'text/css') + { + $this->head .= '<style type="'.$type.'">'.$content.'</style>'.PHP_EOL; + } + + /** + * Add a link to a stylesheet. + * + * @param string $url Address of the stylesheet, absolute or relative + * @param string $media Media target (screen/print/projector etc) + * + * @return void + */ + function addStyleSheet($url, $media = 'all') + { + $this->addHeadLink($url, 'stylesheet', 'rel', array('media'=>$media, 'type'=>'text/css')); + } + + /** + * Returns the page in HTML form. + * + * @return string THe full HTML of the page. + */ + function toHtml() + { + $p = $this->getCache(); + $regions = get_object_vars($this); + return $this->replaceRegions($p, $regions); + } + + /** + * returns this template as a string. + * + * @return string + */ + function __toString() + { + return $this->toHtml(); + } + + + /** + * Populates templatedependents files + * + * Replaces the template dependent include statements with the corresponding + * files from the /ucomm/templatedependents/ directory. To specify the location + * of your templatedependents directory, use something like + * $page->options['templatedependentspath'] = '/var/www/'; + * and set the path to the directory containing /ucomm/templatedependents/ + * + * @param string $p Page to make replacements in + * + * @return string + */ + function makeIncludeReplacements($p) + { + return self::$template_version->makeIncludeReplacements($p); + } + + /** + * Debug handler for messages. + * + * @param string $message Message to send to debug output + * @param int $logtype Which log to send this to + * @param int $level The threshold to send this message or not. + * + * @return void + */ + static function debug($message, $logtype = 0, $level = 1) + { + UNL_DWT::$options['debug'] = self::$options['debug']; + parent::debug($message, $logtype, $level); + } + + /** + * Cleans the cache. + * + * @param mixed $o Pass a cached object to clean it's cache, or a string id. + * + * @return bool true if cache was successfully cleared. + */ + public function cleanCache($object = null) + { + return self::getCachingService()->clean($object); + } + + static public function setCachingService(UNL_Templates_CachingService $cache) + { + self::$cache = $cache; + } + + 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']); + } + return self::$cache; + } +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService.php new file mode 100644 index 00000000..3dc28c46 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService.php @@ -0,0 +1,20 @@ +<?php +/** + * An interface for a caching service. + * + * 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/ + */ +interface UNL_Templates_CachingService +{ + public function get($key); + public function save($data, $key); + public function clean($object = null); +} \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService/CacheLite.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService/CacheLite.php new file mode 100644 index 00000000..98853e32 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/CachingService/CacheLite.php @@ -0,0 +1,64 @@ +<?php +/** + * A Cache Service using 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.php'; +class UNL_Templates_CachingService_CacheLite implements UNL_Templates_CachingService +{ + protected $cache; + + function __construct($options = array()) + { + include_once 'Cache/Lite.php'; + $options = array_merge(array('lifeTime'=>3600), $options); + $this->cache = new Cache_Lite($options); + } + + function get($key) + { + return $this->cache->get($key, 'UNL_Templates'); + } + + function save($data, $key) + { + return $this->cache->save($data, $key, 'UNL_Templates'); + } + + function clean($object = null) + { + if (isset($object)) { + if (is_object($object) + && $object instanceof UNL_UCBCN_Cacheable) { + $key = $object->getCacheKey(); + if ($key === false) { + // This is a non-cacheable object. + return true; + } + } else { + $key = (string) $object; + } + if ($this->cache->get($key) !== false) { + // Remove the cache for this individual object. + return $this->cache->remove($key, 'UNL_Templates'); + } + } else { + return $this->cache->clean('UNL_Templates'); + } + return false; + } + function __call($method, $params) + { + return $this->cache->$method($params); + } + +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Scanner.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Scanner.php new file mode 100644 index 00000000..c8fdf51b --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Scanner.php @@ -0,0 +1,32 @@ +<?php +/** + * This class will scan a template file for the regions, which you can use to + * analyze and use a rendered template file. + * + * 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/DWT/Scanner.php'; + + +class UNL_Templates_Scanner extends UNL_DWT_Scanner +{ + /** + * Construct a remote file. + * + * @param string $html Contents of the page + */ + function __construct($html) + { + parent::__construct($html); + } +} + +?> \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version.php new file mode 100644 index 00000000..074d6af7 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version.php @@ -0,0 +1,21 @@ +<?php +/** + * Interface for a version of the template files. + * + * 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/ + */ +interface UNL_Templates_Version +{ + function getConfig(); + function getTemplate($template); + function makeIncludeReplacements($html); +} +?> \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2.php new file mode 100644 index 00000000..e89a38f4 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2.php @@ -0,0 +1,51 @@ +<?php +/** + * Base class for version 2 (2006) of the template files. + * + * 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/Version.php'; + +class UNL_Templates_Version2 implements UNL_Templates_Version +{ + function getConfig() + { + return array('class_location' => 'UNL/Templates/Version2/', + 'class_prefix' => 'UNL_Templates_Version2_'); + } + + function getTemplate($template) + { + return file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?template='.$template); + } + + function makeIncludeReplacements($html) + { + UNL_Templates::debug('Now making template include replacements.', + 'makeIncludeReplacements', 3); + $includes = array(); + preg_match_all('<!--#include virtual="(/ucomm/templatedependents/[A-Za-z0-9\.\/]+)" -->', + $html, $includes); + UNL_Templates::debug(print_r($includes, true), 'makeIncludeReplacements', 3); + foreach ($includes[1] as $include) { + UNL_Templates::debug('Replacing '.$include, 'makeIncludeReplacements', 3); + $file = UNL_Templates::$options['templatedependentspath'].$include; + if (!file_exists($file)) { + UNL_Templates::debug('File does not exist:'.$file, + 'makeIncludeReplacements', 3); + $file = 'http://www.unl.edu'.$include; + } + $html = str_replace('<!--#include virtual="'.$include.'" -->', + file_get_contents($file), $html); + } + return $html; + } +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Document.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Document.php new file mode 100644 index 00000000..62e6d3bc --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Document.php @@ -0,0 +1,42 @@ +<?php +/** + * Template Definition for document.dwt + * + * 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.php'; + +/** + * Document template object. + * + * @package UNL_Templates + */ +class UNL_Templates_Version2_Document extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Document.tpl'; // template name + public $doctitle = "<title>UNL | Document Template</title>"; // string() + public $head = "<script type=\"text/javascript\"> var navl2Links = 0; //Default navline2 links to display (zero based counting) </script>"; // string() + public $breadcrumbs = ""; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $maincontentarea = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Document',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Fixed.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Fixed.php new file mode 100644 index 00000000..fa02b800 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Fixed.php @@ -0,0 +1,47 @@ +<?php +/** + * Template Definition for fixed.dwt + * + * 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.php'; + +/** + * Fixed width template object. + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Fixed extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Fixed.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<script type=\"text/javascript\"> var navl2Links = 0; //Default navline2 links to display (zero based counting) </script>"; // string() + public $breadcrumbs = "<!-- WDN: see glossary item \'breadcrumbs\' --> <ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li><a href=\"http://www.unl.edu/\">Department</a></li> <li>New Page</li> </ul>"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // string() + public $leftRandomPromo = "<div class=\"image_small_short\" id=\"leftRandomPromo\"> <a href=\"#\" id=\"leftRandomPromoAnchor\"><img id=\"leftRandomPromoImage\" alt=\"\" src=\"/ucomm/templatedependents/templatecss/images/transpixel.gif\" /></a> <script type=\"text/javascript\" src=\"../sharedcode/leftRandomPromo.js\"></script> </div>"; // string() + public $leftcollinks = "<!-- WDN: see glossary item \'sidebar links\' --> <!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $maincontentarea = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Fixed',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Liquid.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Liquid.php new file mode 100644 index 00000000..673bc993 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Liquid.php @@ -0,0 +1,47 @@ +<?php +/** + * Template Definition for liquid.dwt + * + * 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.php'; + +/** + * Liquid width template object + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Liquid extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Liquid.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<script type=\"text/javascript\"> var navl2Links = 0; //Default navline2 links to display (zero based counting) </script>"; // string() + public $breadcrumbs = "<!-- WDN: see glossary item \'breadcrumbs\' --> <ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li><a href=\"http://www.unl.edu/\">Department</a></li> <li>New Page</li> </ul>"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // string() + public $leftRandomPromo = "<div class=\"image_small_short\" id=\"leftRandomPromo\"> <a href=\"#\" id=\"leftRandomPromoAnchor\"><img id=\"leftRandomPromoImage\" alt=\"\" src=\"/ucomm/templatedependents/templatecss/images/transpixel.gif\" /></a> <script type=\"text/javascript\" src=\"../sharedcode/leftRandomPromo.js\"></script> </div>"; // string() + public $leftcollinks = "<!-- WDN: see glossary item \'sidebar links\' --> <!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $maincontentarea = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Liquid',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Popup.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Popup.php new file mode 100644 index 00000000..44e5f823 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Popup.php @@ -0,0 +1,42 @@ +<?php +/** + * Template Definition for popup.dwt + * + * 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.php'; + +/** + * popup template object + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Popup extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Popup.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<script type=\"text/javascript\"> var navl2Links = 0; //Default navline2 links to display (zero based counting) </script>"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $maincontentarea = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Popup',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Secure.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Secure.php new file mode 100644 index 00000000..90ac4755 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Secure.php @@ -0,0 +1,45 @@ +<?php +/** + * Template Definition for secure.dwt + * + * 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.php'; + +/** + * Secure template object + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Secure extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Secure.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<script type=\"text/javascript\"> var navl2Links = 0; //Default navline2 links to display (zero based counting) </script>"; // string() + public $breadcrumbs = "<!-- WDN: see glossary item \'breadcrumbs\' --> <ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li><a href=\"http://www.unl.edu/\">Department</a></li> <li>New Page</li> </ul> <!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/badges/secure.html\" -->"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // string() + public $leftcollinks = "<!-- WDN: see glossary item \'sidebar links\' --> <!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $maincontentarea = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Secure',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlaffiliate.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlaffiliate.php new file mode 100644 index 00000000..194231ae --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlaffiliate.php @@ -0,0 +1,41 @@ +<?php +/** + * Template Definition for unlaffiliate.dwt + * + * 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.php'; + +class UNL_Templates_Version2_Unlaffiliate extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Unlaffiliate.tpl'; // template name + public $doctitle = "<title>UNL Redesign</title>"; // string() + public $head = "<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"/ucomm/templatedependents/templatecss/layouts/affiliate.css\" />"; // string() + public $siteheader = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/siteheader/affiliate.shtml\" -->"; // string() + public $breadcrumbs = "<!-- WDN: see glossary item \'breadcrumbs\' --> <ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li>UNL Framework</li> </ul>"; // string() + public $shelf = ""; // string() + public $titlegraphic = "<h1>Affiliate</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // string() + public $leftRandomPromo = "<div class=\"image_small_short\" id=\"leftRandomPromo\"> <a href=\"#\" id=\"leftRandomPromoAnchor\"><img id=\"leftRandomPromoImage\" alt=\"\" src=\"/ucomm/templatedependents/templatecss/images/transpixel.gif\" /></a> <script type=\"text/javascript\" src=\"../sharedcode/leftRandomPromo.js\"></script> </div>"; // string() + public $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $maincontentarea = "<h2 class=\"sec_main\">This template is only for affiliates of UNL, or units that have been granted a marketing exemption from the university. Confirm your use of this template before using it!</h2> <p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p> <!--THIS IS THE END OF THE MAIN CONTENT AREA.-->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Unlaffiliate',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlframework.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlframework.php new file mode 100644 index 00000000..47b42616 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlframework.php @@ -0,0 +1,45 @@ +<?php +/** + * Template Definition for unlframework.dwt + * + * 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.php'; + +/** + * Unlframework template object + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Unlframework extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Unlframework.tpl'; // template name + public $doctitle = "<title>UNL Redesign</title>"; // string() + public $head = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/browsersniffers/ie.html\" --> <!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/comments/developersnote.html\" --> <!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/metanfavico/metanfavico.html\" -->"; // string() + public $siteheader = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/siteheader/siteheader.shtml\" -->"; // string() + public $breadcrumbs = "<!-- WDN: see glossary item \'breadcrumbs\' --> <ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li>UNL Framework</li> </ul>"; // string() + public $shelf = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/shelf/shelf.shtml\" -->"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $leftcolcontent = "<div id=\"navigation\"> <h4 id=\"sec_nav\">Navigation</h4> <div id=\"navlinks\"> <!--#include virtual=\"../sharedcode/navigation.html\" --> </div> <div id=\"nav_end\"></div> <div class=\"image_small_short\" id=\"leftRandomPromo\"> <a href=\"#\" id=\"leftRandomPromoAnchor\"><img id=\"leftRandomPromoImage\" alt=\"\" src=\"/ucomm/templatedependents/templatecss/images/transpixel.gif\" /></a> <script type=\"text/javascript\" src=\"../sharedcode/leftRandomPromo.js\"></script> </div> <!-- WDN: see glossary item \'sidebar links\' --> <div id=\"leftcollinks\"> <!--#include virtual=\"../sharedcode/relatedLinks.html\" --> </div> </div> <!-- close navigation -->"; // string() + public $maincolcontent = "<!-- optional main big content image --> <div id=\"maincontent\"> <p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p> </div> <!-- close right-area -->"; // string() + public $bigfooter = "<div id=\"footer\"> <div id=\"footer_floater\"> <div id=\"copyright\"> <!--#include virtual=\"../sharedcode/footer.html\" --> <span><a href=\"http://jigsaw.w3.org/css-validator/check/referer\">CSS</a> <a href=\"http://validator.unl.edu/check/referer\">W3C</a> <a href=\"http://www1.unl.edu/feeds/\">RSS</a> </span><a href=\"http://www.unl.edu/\" title=\"UNL Home\"><img src=\"/ucomm/templatedependents/templatecss/images/wordmark.png\" alt=\"UNL\'s wordmark\" id=\"wordmark\" /></a></div> </div> </div>"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Unlframework',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlstandardtemplate.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlstandardtemplate.php new file mode 100644 index 00000000..5aff6955 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version2/Unlstandardtemplate.php @@ -0,0 +1,48 @@ +<?php +/** + * Template Definition for unlstandardtemplate.dwt + * + * 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.php'; + +/** + * Unlstandardtemplate object + * + * @package UNL_Templates + * + */ +class UNL_Templates_Version2_Unlstandardtemplate extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Unlstandardtemplate.tpl'; // template name + public $doctitle = "<title>UNL Redesign</title>"; // string() + public $head = ""; // string() + public $siteheader = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/siteheader/siteheader.shtml\" -->"; // string() + public $breadcrumbs = "<ul> <li class=\"first\"><a href=\"http://www.unl.edu/\">UNL</a></li> <li>UNL Standard Template</li> </ul>"; // string() + public $shelf = "<!--#include virtual=\"/ucomm/templatedependents/templatesharedcode/includes/shelf/shelf.shtml\" -->"; // string() + public $collegenavigationlist = ""; // string() + public $titlegraphic = "<h1>Department</h1> <h2>Taglines - We Do The Heavy Lifting</h2>"; // string() + public $navcontent = "<div id=\"navlinks\"> <!--#include virtual=\"../sharedcode/navigation.html\" --> </div>"; // string() + public $leftRandomPromo = "<div class=\"image_small_short\" id=\"leftRandomPromo\"> <a href=\"#\" id=\"leftRandomPromoAnchor\"><img id=\"leftRandomPromoImage\" alt=\"\" src=\"/ucomm/templatedependents/templatecss/images/transpixel.gif\" /></a> <script type=\"text/javascript\" src=\"../sharedcode/leftRandomPromo.js\"></script> </div>"; // string() + public $leftcollinks = "<h3>Related Links</h3> <!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $maincontent = "<p style=\"margin:20px; border:3px solid #CC0000;padding:10px; text-align:center\"> <strong>Delete this box and place your content here.</strong><br /> Remember to validate your pages before publishing! Sample layouts are available through the <a href=\"http://www.unl.edu/webdevnet/\">Web Developer Network</a>. <br /> <a href=\"http://validator.unl.edu/check/referer\">Click here to check Validation</a> </p>"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version2_Unlstandardtemplate',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3.php new file mode 100644 index 00000000..b55f6709 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3.php @@ -0,0 +1,67 @@ +<?php +/** + * Base class for Version 3 (2009) template files. + * + * 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/Version.php'; + +/** + * Base class for Version 3 (2009) template files. + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3 implements UNL_Templates_Version +{ + function getConfig() + { + return array('class_location' => 'UNL/Templates/Version3/', + 'class_prefix' => 'UNL_Templates_Version3_'); + } + + function getTemplate($template) + { + if (!file_exists(UNL_Templates::$options['templatedependentspath'].'/wdn/templates_3.0')) { + UNL_Templates::debug('ERROR You should have a local copy of wdn/templates_3.0!' + . ' Overriding your specified template to use absolute references' , + 'getTemplate', 1); + $template = 'Absolute.tpl'; + } + return file_get_contents('http://pear.unl.edu/UNL/Templates/server.php?version=3&template='.$template); + } + + function makeIncludeReplacements($html) + { + UNL_Templates::debug('Now making template include replacements.', + 'makeIncludeReplacements', 3); + $includes = array(); + preg_match_all('<!--#include virtual="(/wdn/templates_3.0/[A-Za-z0-9\.\/]+)" -->', + $html, $includes); + UNL_Templates::debug(print_r($includes, true), 'makeIncludeReplacements', 3); + foreach ($includes[1] as $include) { + UNL_Templates::debug('Replacing '.$include, 'makeIncludeReplacements', 3); + $file = UNL_Templates::$options['templatedependentspath'].$include; + if (!file_exists($file)) { + UNL_Templates::debug('File does not exist:'.$file, + 'makeIncludeReplacements', 3); + $file = 'http://www.unl.edu'.$include; + } + $html = str_replace('<!--#include virtual="'.$include.'" -->', + file_get_contents($file), $html); + } + return $html; + } +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Absolute.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Absolute.php new file mode 100644 index 00000000..3a7f120b --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Absolute.php @@ -0,0 +1,50 @@ +<?php +/** + * Template Definition for absolute.dwt + * + * 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.php'; + +/** + * Template Definition for absolute.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Absolute extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Absolute.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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 $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Absolute',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Debug.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Debug.php new file mode 100644 index 00000000..2a8e34e5 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Debug.php @@ -0,0 +1,30 @@ +<?php +/** + * Template Definition for debug.dwt + */ +require_once 'UNL/Templates.php'; + +class UNL_Templates_Version3_Debug extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Debug.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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 $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Debug',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Document.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Document.php new file mode 100644 index 00000000..efc45819 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Document.php @@ -0,0 +1,46 @@ +<?php +/** + * Template Definition for document.dwt + * + * 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.php'; + +/** + * Template Definition for document.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Document extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Document.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // 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_Document',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Fixed.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Fixed.php new file mode 100644 index 00000000..5f7a566d --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Fixed.php @@ -0,0 +1,50 @@ +<?php +/** + * Template Definition for fixed.dwt + * + * 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.php'; + +/** + * Template Definition for fixed.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Fixed extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Fixed.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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 $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Fixed',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Liquid.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Liquid.php new file mode 100644 index 00000000..065d3fc6 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Liquid.php @@ -0,0 +1,50 @@ +<?php +/** + * Template Definition for liquid.dwt + * + * 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.php'; + +/** + * Template Definition for liquid.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Liquid extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Liquid.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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 $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Liquid',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Popup.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Popup.php new file mode 100644 index 00000000..f8a9cb83 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Popup.php @@ -0,0 +1,45 @@ +<?php +/** + * Template Definition for popup.dwt + * + * 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.php'; + +/** + * Template Definition for popup.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Popup extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Popup.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_Popup',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Secure.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Secure.php new file mode 100644 index 00000000..21a45250 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Secure.php @@ -0,0 +1,48 @@ +<?php +/** + * Template Definition for secure.dwt + * + * 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.php'; + +/** + * Template Definition for secure.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Secure extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Secure.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $identitymanagement = "<a href=\"https://login.unl.edu/cas/logout\">Logout</a>"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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_Secure',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_left.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_left.php new file mode 100644 index 00000000..af770692 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_left.php @@ -0,0 +1,51 @@ +<?php +/** + * Template Definition for shared_column_left.dwt + * + * 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.php'; + +/** + * Template definition for shared_column_left.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Shared_column_left extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Shared_column_left.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // string() + public $titlegraphic = "<h1>Department</h1>"; // string() + public $pagetitle = ""; // string() + public $sharedcolumn = "<div class=\"col left\"> <!--#include virtual=\"../sharedcode/sharedColumn.html\" --> </div>"; // 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 $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Shared_column_left',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_right.php b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_right.php new file mode 100644 index 00000000..00247c20 --- /dev/null +++ b/sites/all/themes/unl_wdn/lib/UNL/Templates/Version3/Shared_column_right.php @@ -0,0 +1,51 @@ +<?php +/** + * Template Definition for shared_column_right.dwt + * + * 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.php'; + +/** + * Template Definition for shared_column_right.dwt + * + * @category Templates + * @package UNL_Templates + * @author Brett Bieber <brett.bieber@gmail.com> + * @copyright 2009 Regents of the University of Nebraska + * @license http://www1.unl.edu/wdn/wiki/Software_License BSD License + * @link http://pear.unl.edu/ + */ +class UNL_Templates_Version3_Shared_column_right extends UNL_Templates +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__template = 'Shared_column_right.tpl'; // template name + public $doctitle = "<title>UNL | Department | New Page</title>"; // string() + public $head = "<!-- Place optional header elements here -->"; // string() + public $breadcrumbs = "<ul> <li><a href=\"http://www.unl.edu/\" title=\"University of Nebraska–Lincoln\">UNL</a></li> <li>Department</li> </ul>"; // string() + public $navlinks = "<!--#include virtual=\"../sharedcode/navigation.html\" -->"; // 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 $sharedcolumn = "<div class=\"col right\"> <!--#include virtual=\"../sharedcode/sharedColumn.html\" --> </div>"; // string() + public $leftcollinks = "<!--#include virtual=\"../sharedcode/relatedLinks.html\" -->"; // string() + public $contactinfo = "<!--#include virtual=\"../sharedcode/footerContactInfo.html\" -->"; // string() + public $optionalfooter = ""; // string() + public $footercontent = "<!--#include virtual=\"../sharedcode/footer.html\" -->"; // string() + + /* Static get */ + function staticGet($k,$v=NULL) { return UNL_DWT::staticGet('UNL_Templates_Version3_Shared_column_right',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/sites/all/themes/unl_wdn/page.tpl.php b/sites/all/themes/unl_wdn/page.tpl.php new file mode 100644 index 00000000..0ad23671 --- /dev/null +++ b/sites/all/themes/unl_wdn/page.tpl.php @@ -0,0 +1,168 @@ +We need to output something to make drupal think this file actually does something. +Any real output is being deferred to html.tpl.php +<?php +// $Id: page.tpl.php,v 1.43 2010/01/30 07:59:25 dries Exp $ + +/** + * @file + * Default theme implementation to display a single Drupal page. + * + * Available variables: + * + * General utility variables: + * - $base_path: The base URL path of the Drupal installation. At the very + * least, this will always default to /. + * - $directory: The directory the template is located in, e.g. modules/system + * or themes/garland. + * - $is_front: TRUE if the current page is the front page. + * - $logged_in: TRUE if the user is registered and signed in. + * - $is_admin: TRUE if the user has permission to access administration pages. + * + * Site identity: + * - $front_page: The URL of the front page. Use this instead of $base_path, + * when linking to the front page. This includes the language domain or + * prefix. + * - $logo: The path to the logo image, as defined in theme configuration. + * - $site_name: The name of the site, empty when display has been disabled + * in theme settings. + * - $site_slogan: The slogan of the site, empty when display has been disabled + * in theme settings. + * + * Navigation: + * - $main_menu (array): An array containing the Main menu links for the + * site, if they have been configured. + * - $secondary_menu (array): An array containing the Secondary menu links for + * the site, if they have been configured. + * - $breadcrumb: The breadcrumb trail for the current page. + * + * Page content (in order of occurrence in the default page.tpl.php): + * - $title_prefix (array): An array containing additional output populated by + * modules, intended to be displayed in front of the main title tag that + * appears in the template. + * - $title: The page title, for use in the actual HTML content. + * - $title_suffix (array): An array containing additional output populated by + * modules, intended to be displayed after the main title tag that appears in + * the template. + * - $messages: HTML for status and error messages. Should be displayed + * prominently. + * - $tabs (array): Tabs linking to any sub-pages beneath the current page + * (e.g., the view and edit tabs when displaying a node). + * - $action_links (array): Actions local to the page, such as 'Add menu' on the + * menu administration interface. + * - $feed_icons: A string of all feed icons for the current page. + * - $node: The node object, if there is an automatically-loaded node + * associated with the page, and the node ID is the second argument + * in the page's path (e.g. node/12345 and node/12345/revisions, but not + * comment/reply/12345). + * + * Regions: + * - $page['navlinks']: Navigation Links + * - $page['content']: Main Content Area + * - $page['leftcollinks']: Related Links + * - $page['contactinfo']: Contact Us + * - $page['optionalfooter']: Optional Footer + * - $page['footercontent']: Footer Content + * + * @see template_preprocess() + * @see template_preprocess_page() + * @see template_process() + */ + +$t = unl_wdn_get_instance(); + + +if (isset($breadcrumb)) { + $t->breadcrumbs = $breadcrumb; +} + +$t->navlinks = render($page['navlinks']); + + +if (isset($site_name) && $site_name) { + $t->titlegraphic = '<h1>' . $site_name . '</h1>'; +} +if (isset($site_slogan) && $site_slogan) { + $t->pagetitle = '<h2>' . $site_slogan . '</h2>'; +} + + +if ($messages) { + $messages = <<<EOF +<script type="text/javascript"> +WDN.initializePlugin('notice'); +</script> +<div class="wdn_notice"> + <div class="close"> + <a href="#" title="Close this notice">Close this notice</a> + </div> + <div class="message"> + $messages + </div> +</div> +EOF; + +} + +$t->maincontentarea = $messages . PHP_EOL + . render($tabs) . PHP_EOL + . render($action_links) . PHP_EOL + . '<h3>' . render($title_prefix) . $title . render($title_suffix) . '</h3>' . PHP_EOL + . strtr(render($page['content']), array('sticky-enabled' => 'zentable cool')) . PHP_EOL + ; + + + +if ($page['leftcollinks']) { + $leftcollinks = render($page['leftcollinks']); +} else { + $leftcollinks = <<<EOF +<ul> + <li class="first"><a href="http://ucomm.unl.edu/">University Communications</a> + <ul> + <li><a href="http://ucomm.unl.edu/resources.shtml">Print Resources </a></li> + </ul> + </li> + <li><a href="http://www.unl.edu/ucomm/chancllr/">Office of the Chancellor</a> </li> +</ul> +EOF; +} + +$t->leftcollinks = <<<EOF +<h3>Related Links</h3> +$leftcollinks +EOF; + + + +if ($page['contactinfo']) { + $contactinfo = render($page['contactinfo']); +} else { + $contactinfo = <<<EOF +<p> + The WDN is coordinated by:<br /> + <strong>University Communications</strong><br /> + Internet and Interactive Media<br /> + WICK 17<br /> + Lincoln, NE 68583-0218 +</p> +EOF; +} + +$t->contactinfo = <<<EOF +<h3>Contacting Us</h3> +$contactinfo +EOF; + + + +if ($page['optionalfooter']) { + $t->optionalfooter = render($page['optionalfooter']); +} + + + +$t->footercontent = ''; +if ($page['footercontent']) { + $t->footercontent .= '<div>' . render($page['footercontent']) . '</div>'; +} + diff --git a/sites/all/themes/unl_wdn/screenshot.png b/sites/all/themes/unl_wdn/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5f09b1181adfc4a2cb44e9bfb5cb80fc91872746 GIT binary patch literal 26133 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 S*~Y-Yz~JfX=d#Wzp$Pz#^`wpf literal 0 HcmV?d00001 diff --git a/sites/all/themes/unl_wdn/style.css b/sites/all/themes/unl_wdn/style.css new file mode 100644 index 00000000..5ce55a49 --- /dev/null +++ b/sites/all/themes/unl_wdn/style.css @@ -0,0 +1,41 @@ + +ul.primary li a { + border-width: 0px; + margin-right:0; +} + +ul.secondary li { + border-width: 0; + padding:0; +} +#maincontent { + width: 940px; +} + +/* begin nested nav UL fixes */ +#navigation ul li ul { + overflow:hidden; +} + +#navigation ul li ul li ul li{ + margin-left: 10px; + overflow:hidden; +} +/* end nested nav UL fixes */ + +li.leaf { + list-style-image:none; +} +#edit-body-wrapper { + margin-left: -23px; + width: 986px; +} +html.tinyMceEditor#maincontent { + width: inherit; + padding: 0; +} +.tinyMceEditor body { + width: 940px; + margin: 0px 23px 0px 23px; + line-height: inherit; +} \ No newline at end of file diff --git a/sites/all/themes/unl_wdn/template.php b/sites/all/themes/unl_wdn/template.php new file mode 100644 index 00000000..c79c5679 --- /dev/null +++ b/sites/all/themes/unl_wdn/template.php @@ -0,0 +1,145 @@ +<?php + +function unl_wdn_get_instance() +{ + static $instance; + if (!$instance) { + set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/lib'); + require_once "UNL/Templates.php"; + + UNL_Templates::$options['version'] = UNL_Templates::VERSION3; + $instance = UNL_Templates::factory('Fixed'); + } + + return $instance; +} + + +//include dirname(__FILE__) . '/includes/form.inc'; + +function unl_wdn_breadcrumb($variables) +{ + $breadcrumbs = $variables['breadcrumb']; + + if (count($breadcrumbs) == 0) { + $breadcrumbs[] = variable_get('site_name', 'Department'); + } else { + //Change 'Home' to be $site_name + array_unshift($breadcrumbs, + str_replace('Home', variable_get('site_name', 'Department'), + array_shift($breadcrumbs))); + } + //Prepend UNL + array_unshift($breadcrumbs, '<a href="http://www.unl.edu/">UNL</a>'); + + //Append title of current page -- http://drupal.org/node/133242 + $breadcrumbs[] = drupal_get_title(); + + $html = '<ul>' . PHP_EOL; + foreach ($breadcrumbs as $breadcrumb) { + $html .= '<li>' . $breadcrumb . '</li>'; + } + $html .= '</ul>'; + + return $html; +} + +function unl_wdn_head_title() +{ + // Based on + // http://api.drupal.org/api/function/menu_get_active_breadcrumb/5 + // We don't have to add the current page, as drupal normally drops it + $path[] = 'Home'; + + // $trail = _menu_get_active_trail(); + $trail = array(); + foreach ($trail as $mid) { + $item = menu_get_item($mid); + + if ($item['type'] & MENU_VISIBLE_IN_BREADCRUMB) { + $path[] = $item['title']; + } + } + + // Change 'Home' to be $site_name + array_unshift($path, str_replace( 'Home', variable_get('site_name', 'Department'), array_shift($path))); + + //Prepend UNL + array_unshift($path, 'UNL'); + + return implode(' | ', $path); +} + +function unl_wdn_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) +{ + if ($extra_class) { + return '<li class="' . $extra_class . '">' . $link . $menu . '</li>' . "\n"; + } else { + return '<li>' . $link . $menu . '</li>' . PHP_EOL; + } +} + +function unl_wdn_menu_tree($variables) +{ + $tree = $variables['tree']; + return '<ul>' . $tree . '</ul>' . PHP_EOL; +} + +function unl_wdn_theme() +{ + return array('page_node_form' => array('arguments' => array('form' => NULL),)); +} + +function unl_wdn_menu_local_tasks() +{ + $output = array(); + + if ($primary = menu_primary_local_tasks()) { + $primary['#prefix'] = '<ul class="wdn_tabs disableSwitching">'; + $primary['#suffix'] = '</ul>'; + $output[] = $primary; + } + if ($secondary = menu_secondary_local_tasks()) { + $secondary['#prefix'] = '<ul class="wdn_tabs disableSwitching">'; + $secondary['#suffix'] = '</ul>'; + $output[] = $secondary; + } + + return $output; +} + +function unl_wdn_menu_local_task($variables) +{ + $link = $variables['element']['#link']; + $link_text = $link['title']; + + if (!empty($variables['element']['#active'])) { + // If the link does not contain HTML already, check_plain() it now. + // After we set 'html'=TRUE the link will not be sanitized by l(). + if (empty($link['localized_options']['html'])) { + $link['title'] = check_plain($link['title']); + } + $link['localized_options']['html'] = TRUE; + $link_text = t('!local-task-title !active', array('!local-task-title' => $link['title'], '!active' => '')); + } + return '<li' . (!empty($variables['element']['#active']) ? ' class="selected"' : '') . '>' . l($link_text, $link['href'], $link['localized_options']) . "</li>\n"; +} + + +function unl_wdn_status_messages($display) +{ + foreach (drupal_get_messages($display) as $type => $messages) { + $output .= '<div>' . PHP_EOL; + if (count($messages) > 1) { + $output .= '<ul>' . PHP_EOL; + foreach ($messages as $message) { + $output .= '<li>' . $message . '</li>' . PHP_EOL; + } + $output .= '</ul>' . PHP_EOL; + } else { + $output .= $messages[0]; + } + $output .= '</div>' . PHP_EOL; + } + return $output; +} diff --git a/sites/all/themes/unl_wdn/unl_wdn.info b/sites/all/themes/unl_wdn/unl_wdn.info new file mode 100644 index 00000000..adf9bee4 --- /dev/null +++ b/sites/all/themes/unl_wdn/unl_wdn.info @@ -0,0 +1,12 @@ +name = UNL WDN +description = UNL DWN theme for Drupal +screenshot = screenshot.png +core = 7.x +engine = phptemplate +regions[content] = Main Content +regions[navlinks] = Navigation Links +regions[leftcollinks] = Related Links +regions[contactinfo] = Contact Us +regions[optionalfooter] = Optional Footer +regions[footercontent] = Footer Content +plugins[panels][layouts] = layouts -- GitLab