Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_official / html / includes [ view in CVS ]
| Date | Directory [filter] | File(s) [view] | Author [filter] |
| 07 Aug 2002 03:31:33 | postnuke_official/html/includes | pnTemplate.php,1.43,1.44 | Paul Rosania |
| first draft pnBlockTemplate(), untested but should work - will code into pnBlockShow and test in a bit | |||
Update of /home/cvsroot/postnuke_official/html/includes
In directory ns7.hostnuke.net:/tmp/cvs-serv24439
Modified Files:
pnTemplate.php
Log Message:
first draft pnBlockTemplate(), untested but should work - will code into pnBlockShow and test in a bit
Index: pnTemplate.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/includes/pnTemplate.php,v
retrieving revision 1.43
retrieving revision 1.44
diff -C2 -d -r1.43 -r1.44
*** pnTemplate.php 5 Aug 2002 17:53:07 -0000 1.43
--- pnTemplate.php 7 Aug 2002 03:31:31 -0000 1.44
***************
*** 664,667 ****
--- 664,738 ----
return $output;
}
+
+ /**
+ * turns block output into a template
+ *
+ * @access public
+ * @param moddir the directory the module is in
+ * @param type user|admin
+ * @param func module function to template
+ * @param args arguments for the template
+ * @param template the specific template to call
+ * @return output output of the template
+ **/
+ function pnBlockTemplate($module, $block, $args = array(), $template = NULL)
+ {
+ // FIXME <marco> You should note that $moddir != $moddir, you're doing a wrong thing!
+ // If you don't use module (that is module name), accept moddir as param.
+ // FIXME <marco> Could you make regenerate an optional param instead of a global?
+ $theme = pnUserGetTheme();
+
+ if (isset($template)) {
+ $template = pnVarPrepForOS($template);
+ }
+
+ // Try theme template
+ $template_sourcefile = "$theme/modules/$moddir/blocks/$block" . (isset($template) ? "-$template.pnt" : '.pnt');
+ $template_file = 'cache/templates/' . md5($template_sourcefile) . '.php';
+
+ if (!file_exists($template_file) && !file_exists($template_sourcefile)) {
+ // FIXME: <marco> This is wrong because no one want to load the default template as fallback here.
+ //if (isset($template)) {
+ // Try with default template
+ //return pnModTemplate($moddir, $type, $func, $args);
+ //}
+ // Use internal template
+ $template_sourcefile = "modules/$moddir/pntemplates/pnblocks/$block" . (isset($template) ? "-$template.pnd" : '.pnd');
+ $template_file = 'cache/templates/' . md5($template_sourcefile) . '.php';
+
+ if (!file_exists($template_sourcefile)) {
+ $msg = pnML('Could not locate template source for function \'#(1)\' in module \'#(2)\', missing file path is: \'#(3)\'.', $func, $moddir, $template_sourcefile);
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'UNKNOWN',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return;
+ }
+ }
+
+ if (pnVarCleanFromInput('regenerate') == true || !file_exists($template_file) ||
+ filemtime($template_sourcefile) > filemtime($template_file)) {
+ $res = pnTplCompile($template_sourcefile);
+ if (!isset($res)) {
+ return; // Throw back
+ }
+ }
+
+ // $args should be an array (-even-if- it only has one value in it),
+ // if it's not throw an exception.
+ if (is_array($args)) {
+ extract($args, EXTR_OVERWRITE);
+ } else {
+ $msg = pnML('Incorrect format for args -- Must be an array of arguments');
+ pnExceptionSet(PN_SYSTEM_EXCEPTION, 'UNKNOWN',
+ new SystemException(__FILE__.'('.__LINE__.'): '.$msg));
+ return;
+ }
+
+ ob_start();
+ include $template_file;
+ $output = ob_get_contents();
+ ob_end_clean();
+ return $output;
+ }
+
////
//FIXME johnny better description
View Statistics - Next Notice - Previous Notice
| Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |