function db_get_template ($tpl_name, &$tpl_source, &$smarty_obj) {
global $db,$error,$node, $error_messages;
- $add_template_id = preg_replace('/\.tpl$/', '', $tpl_name);
-
- if (!is_numeric($add_template_id)) {
- $error = $error_messages['NOT_NUMERIC'];
- return false;
+ $template_id = preg_replace('/\.tpl$/', '', $tpl_name);
+
+ //from now on module names need not to be numeric!
+ if (!is_numeric($template_id)) {
+ $template_id=nodes::getNodeIdByName($tpl_name);
+ if (!is_numeric($template_id)) {
+ $error = $error_messages['NOT_NUMERIC'];
+ return false;
+ }
}
- /*
- //logging of every template for security reasons FIXME!!! TODO!!!
- $params['node_creator'] = UBIK_ID;
- $params['node_parent'] = 2029360;
- $params['node_name'] = "addTemplate execute: node $add_template_id";
- $params['node_content'] = db_escape_string("addTemplate execute: node <a href='$add_template_id'>$add_template_id</a> by user ".$_SESSION['user_name']);
- nodes::addNode($params);
- */
- /*
- if(!($set=$db->query("select node_content from nodes where node_id='$add_template_id'"))) return false;
- $set->next();
- */
- // populating $tpl_source with actual template contents
- //$tpl_source = stripslashes($set->getString('node_content'));
- $tpl_source = nodes::getNodeById($add_template_id,empty($_SESSION['user_id']) ? "" : $_SESSION['user_id']);
- $tpl_source = $tpl_source['node_content'];
+ if (is_numeric($template_id)) {
+ $tpl_source = nodes::getNodeById($template_id,empty($_SESSION['user_id']) ? "" : $_SESSION['user_id']);
+ }
+ $tpl_source = "\n<!-- BEGIN TEMPLATE $template_id -->\n".
+ $tpl_source['node_content'].
+ "\n<!-- END TEMPLATE $template_id -->\n";
+
// return true on success, false to generate failure notification
- return true;
+ return (bool)$tpl_source;
}
// do database call here to populate $tpl_timestamp
// with unix epoch time value of last template modification.
// This is used to determine if recompile is necessary.
- $recompile = 100; //recompile every N seconds
+ $recompile = 10; //recompile every N seconds
$tpl_timestamp = floor(time()/$recompile)*$recompile;
// this example will recompile even unchanged templates! XXX!!! FIXME!!! TODO!!!
// return true on success, false to generate failure notification