aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--admin/maintenance.php3
-rw-r--r--include/functions_mail.inc.php61
-rw-r--r--include/template.class.php36
-rw-r--r--nbm.php29
-rw-r--r--template/yoga/mail/text/html/admin/cat_group_info.tpl14
-rw-r--r--template/yoga/mail/text/html/footer.tpl16
-rw-r--r--template/yoga/mail/text/html/global-mail-css.tpl25
-rw-r--r--template/yoga/mail/text/html/header.tpl16
-rw-r--r--template/yoga/mail/text/plain/admin/cat_group_info.tpl12
-rw-r--r--template/yoga/mail/text/plain/footer.tpl4
-rw-r--r--template/yoga/mail/text/plain/header.tpl6
-rw-r--r--template/yoga/nbm.tpl27
12 files changed, 132 insertions, 117 deletions
diff --git a/admin/maintenance.php b/admin/maintenance.php
index eb71adda9..1325e4928 100644
--- a/admin/maintenance.php
+++ b/admin/maintenance.php
@@ -106,8 +106,7 @@ DELETE
}
case 'compiled-templates' :
{
- $template->smarty->clear_compiled_tpl();
- file_put_contents($template->smarty->compile_dir.'/index.htm', '');
+ $template->delete_compiled_templates();
break;
}
default :
diff --git a/include/functions_mail.inc.php b/include/functions_mail.inc.php
index 74e8f3218..dae9b4bfc 100644
--- a/include/functions_mail.inc.php
+++ b/include/functions_mail.inc.php
@@ -170,14 +170,12 @@ function get_array_template_theme($args = array())
* o template: template to use [default get_default_template()]
* o theme: template to use [default get_default_template()]
*/
-function get_mail_template($email_format, $args = array())
+function & get_mail_template($email_format, $args = array())
{
$args = get_array_template_theme($args);
$mail_template = new Template(PHPWG_ROOT_PATH.'template/'.$args['template'], $args['theme']);
- $mail_template->_old->set_rootdir(PHPWG_ROOT_PATH.'template/'.$args['template'].'/mail/'.$email_format);
- $mail_template->smarty->template_dir = PHPWG_ROOT_PATH.'template/'.$args['template'].'/mail/'.$email_format;
-
+ $mail_template->set_template_dir(PHPWG_ROOT_PATH.'template/'.$args['template'].'/mail/'.$email_format);
return $mail_template;
}
@@ -297,7 +295,7 @@ function switch_lang_back()
function pwg_mail_notification_admins($keyargs_subject, $keyargs_content)
{
// Check arguments
- if
+ if
(
empty($keyargs_subject) or
empty($keyargs_content)
@@ -391,7 +389,7 @@ function pwg_mail_group(
$assign_vars = array(), $language_selected = '')
{
// Check arguments
- if
+ if
(
empty($group_id) or
empty($email_format) or
@@ -475,7 +473,7 @@ WHERE
$mail_template->set_filename($tpl_shortname,
(empty($dirname) ? '' : $dirname.'/').$tpl_shortname.'.tpl');
- $mail_template->assign_vars(
+ $mail_template->assign(
trigger_event('mail_group_assign_vars', $assign_vars));
$return = pwg_mail
@@ -629,7 +627,7 @@ function pwg_mail($to, $args = array())
$mail_template->set_filename('mail_header', 'header.tpl');
$mail_template->set_filename('mail_footer', 'footer.tpl');
- $mail_template->assign_vars(
+ $mail_template->assign(
array(
//Header
'BOUNDARY_KEY' => $conf_mail['boundary_key'],
@@ -654,29 +652,27 @@ function pwg_mail($to, $args = array())
if ($args['email_format'] == 'text/html')
{
- $old_root = $mail_template->root;
-
- if (is_file($mail_template->root.'/global-mail-css.tpl'))
+ if (is_file($mail_template->get_template_dir().'/global-mail-css.tpl'))
{
- $mail_template->set_filename('global_mail_css', 'global-mail-css.tpl');
- $mail_template->assign_var_from_handle('GLOBAL_MAIL_CSS', 'global_mail_css');
+ $mail_template->set_filename('css', 'global-mail-css.tpl');
+ $mail_template->assign_var_from_handle('GLOBAL_MAIL_CSS', 'css');
}
- $mail_template->root = PHPWG_ROOT_PATH.'template/'.$args['template'].'/theme/'.$args['theme'];
- if (is_file($mail_template->root.'/mail-css.tpl'))
+ $root_abs_path = dirname(dirname(__FILE__));
+
+ $file = $root_abs_path.'/template/'.$args['template'].'/theme/'.$args['theme'].'/mail-css.tpl';
+ if (is_file($file))
{
- $mail_template->set_filename('mail_css', 'mail-css.tpl');
- $mail_template->assign_var_from_handle('MAIL_CSS', 'mail_css');
+ $mail_template->set_filename('css', $file);
+ $mail_template->assign_var_from_handle('MAIL_CSS', 'css');
}
- $mail_template->root = PHPWG_ROOT_PATH.'template-common';
- if (is_file($mail_template->root.'/local-mail-css.tpl'))
+ $file = $root_abs_path.'/template-common/local-mail-css.tpl';
+ if (is_file($file))
{
- $mail_template->set_filename('local_mail_css', 'local-mail-css.tpl');
- $mail_template->assign_var_from_handle('LOCAL_MAIL_CSS', 'local_mail_css');
+ $mail_template->set_filename('css', $file);
+ $mail_template->assign_var_from_handle('LOCAL_MAIL_CSS', 'css');
}
-
- $mail_template->root = $old_root;
}
// what are displayed on the header of each mail ?
@@ -770,12 +766,13 @@ function pwg_send_mail($result, $to, $subject, $content, $headers)
}
}
-/*Testing block
-function pwg_send_mail_test($result, $to, $subject, $content, $headers, $args)
+/*Testing block*/
+/*function pwg_send_mail_test($result, $to, $subject, $content, $headers, $args)
{
- global $user, $lang_info;
- @mkdir(PHPWG_ROOT_PATH.'testmail');
- $filename = PHPWG_ROOT_PATH.'testmail/mail.'.$user['username'].'.'.$lang_info['code'].'.'.$args['template'].'.'.$args['theme'];
+ global $conf, $user, $lang_info;
+ $dir = $conf['local_data_dir'].'/tmp';
+ @mkdir( $dir );
+ $filename = $dir.'/mail.'.$user['username'].'.'.$lang_info['code'].'.'.$args['template'].'.'.$args['theme'];
if ($args['content_format'] == 'text/plain')
{
$filename .= '.txt';
@@ -785,14 +782,14 @@ function pwg_send_mail_test($result, $to, $subject, $content, $headers, $args)
$filename .= '.html';
}
$file = fopen($filename, 'w+');
- fwrite($file, $to);
- fwrite($file, $subject);
+ fwrite($file, $to ."\n");
+ fwrite($file, $subject ."\n");
fwrite($file, $headers);
fwrite($file, $content);
fclose($file);
- return true;
+ return $result;
}
-add_event_handler('send_mail', 'pwg_send_mail_test', 0, 6);*/
+add_event_handler('send_mail', 'pwg_send_mail_test', EVENT_HANDLER_PRIORITY_NEUTRAL+10, 6);*/
add_event_handler('send_mail', 'pwg_send_mail', EVENT_HANDLER_PRIORITY_NEUTRAL, 5);
diff --git a/include/template.class.php b/include/template.class.php
index 77b6df5f0..f5faa7d94 100644
--- a/include/template.class.php
+++ b/include/template.class.php
@@ -78,7 +78,6 @@ class Template {
$this->smarty->compile_dir = $compile_dir;
- $this->smarty->template_dir = $root;
$this->smarty->register_function( 'lang', array('Template', 'fn_l10n') );
$this->smarty->assign_by_ref( 'pwg', new PwgTemplateAdapter() );
@@ -91,6 +90,41 @@ class Template {
}
$this->_old = & new TemplateOld($root, $theme);
+
+ $this->set_template_dir($root);
+ }
+
+ /**
+ * Sets the template root directory for this Template object.
+ */
+ function set_template_dir($dir)
+ {
+ $this->_old->set_rootdir($dir);
+ $this->smarty->template_dir = $dir;
+
+ $real_dir = realpath($dir);
+ $compile_id = crc32( $real_dir===false ? $dir : $real_dir);
+ $this->smarty->compile_id = sprintf('%08X', $compile_id );
+ }
+
+ /**
+ * Gets the template root directory for this Template object.
+ */
+ function get_template_dir()
+ {
+ return $this->smarty->template_dir;
+ }
+
+ /**
+ * Deletes all compiled templates.
+ */
+ function delete_compiled_templates()
+ {
+ $save_compile_id = $this->smarty->compile_id;
+ $this->smarty->compile_id = null;
+ $this->smarty->clear_compiled_tpl();
+ $this->smarty->compile_id = $save_compile_id;
+ file_put_contents($this->smarty->compile_dir.'/index.htm', '');
}
/** DEPRECATED */
diff --git a/nbm.php b/nbm.php
index c96bbc252..b672ee724 100644
--- a/nbm.php
+++ b/nbm.php
@@ -2,7 +2,7 @@
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
-// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
+// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
@@ -72,32 +72,19 @@ include(PHPWG_ROOT_PATH.'include/page_header.php');
$template->set_filenames(array('nbm'=>'nbm.tpl'));
-$template->assign_vars(array('U_HOME' => make_index_url()));
-
// +-----------------------------------------------------------------------+
// | errors & infos |
// +-----------------------------------------------------------------------+
-if (count($page['errors']) != 0)
-{
- $template->assign_block_vars('errors',array());
- foreach ($page['errors'] as $error)
- {
- $template->assign_block_vars('errors.error',array('ERROR'=>$error));
- }
-}
-
-if (count($page['infos']) != 0)
-{
- $template->assign_block_vars('infos',array());
- foreach ($page['infos'] as $info)
- {
- $template->assign_block_vars('infos.info',array('INFO'=>$info));
- }
-}
+$template->assign(
+ array(
+ 'errors' => $page['errors'],
+ 'infos' => $page['infos'],
+ )
+ );
// +-----------------------------------------------------------------------+
// | html code display |
// +-----------------------------------------------------------------------+
$template->parse('nbm');
include(PHPWG_ROOT_PATH.'include/page_tail.php');
-?> \ No newline at end of file
+?>
diff --git a/template/yoga/mail/text/html/admin/cat_group_info.tpl b/template/yoga/mail/text/html/admin/cat_group_info.tpl
index 8d744746c..2c8c45d6a 100644
--- a/template/yoga/mail/text/html/admin/cat_group_info.tpl
+++ b/template/yoga/mail/text/html/admin/cat_group_info.tpl
@@ -1,9 +1,9 @@
-<!-- DEV TAG: not smarty migrated -->
+{* $Id$ *}
<div id="cat_group_info">
-<h2>{lang:Informations}</h2>
-<p>{IMG_URL}</p>
-<p>{lang:Hello,}</p>
-<p>{lang:Come to discover the category:} <a href="{LINK}">{CAT_NAME}</a></p>
-<p>{CPL_CONTENT}</p>
-<p>{lang:See you soon.}</p>
+<h2>{'Informations'|@translate}</h2>
+<p>{$IMG_URL}</p>
+<p>{'Hello,'|@translate}</p>
+<p>{'Come to discover the category:'|@translate} <a href="{$LINK}">{$CAT_NAME}</a></p>
+<p>{$CPL_CONTENT}</p>
+<p>{'See you soon.'|@translate}</p>
</div>
diff --git a/template/yoga/mail/text/html/footer.tpl b/template/yoga/mail/text/html/footer.tpl
index 50b661486..0b627bc00 100644
--- a/template/yoga/mail/text/html/footer.tpl
+++ b/template/yoga/mail/text/html/footer.tpl
@@ -1,17 +1,17 @@
-<!-- DEV TAG: not smarty migrated -->
+{* $Id$ *}
</div> <!-- content -->
<div id="copyright">
-<HR>
- <!-- Please, do not remove this copyright. If you really want to,
+<hr/>
+ {* Please, do not remove this copyright. If you really want to,
contact us on http://phpwebgallery.net to find a solution on how
- to show the origin of the script...-->
+ to show the origin of the script...*}
- {lang:powered_by}
+ {'powered_by'|@translate}
<a href="http://www.phpwebgallery.net" class="PWG">
<span class="P">Php</span><span class="W">Web</span><span class="G">Gallery</span></a>
- {VERSION}
- - {lang:send_mail}
- <a href="mailto:{MAIL}?subject={TITLE_MAIL}">{lang:Webmaster}</a>
+ {$VERSION}
+ - {'send_mail'|@translate}
+ <a href="mailto:{$MAIL}?subject={$TITLE_MAIL}">{'Webmaster'|@translate}</a>
</div> <!-- copyright -->
</div> <!-- the_page -->
diff --git a/template/yoga/mail/text/html/global-mail-css.tpl b/template/yoga/mail/text/html/global-mail-css.tpl
index f3c59f1e5..c47505e66 100644
--- a/template/yoga/mail/text/html/global-mail-css.tpl
+++ b/template/yoga/mail/text/html/global-mail-css.tpl
@@ -1,19 +1,18 @@
-<!-- DEV TAG: not smarty migrated -->
-/* $Id$ */
+{* $Id$ *}
/* Global mail css */
/* Including like css style on HTML mail */
-body{background-color:#fff;font-family: Univers, Helvetica, Optima;font-size:12px; margin:0px;padding:0px; color:#369;}
-#the_page {background: #fff url({pwg_root}template/{themeconf:template}/mail/text/html/images/mailbody-bg.png) repeat-y scroll left top;
+body {ldelim}background-color:#fff;font-family: Univers, Helvetica, Optima;font-size:12px; margin:0px;padding:0px; color:#369;}
+#the_page {ldelim}background: #fff url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/mailbody-bg.png) repeat-y scroll left top;
margin:0px;padding:0px;text-align: left;}
-#content {background: transparent url({pwg_root}template/{themeconf:template}/mail/text/html/images/header-bg.png) no-repeat scroll left top;
+#content {ldelim}background: transparent url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/header-bg.png) no-repeat scroll left top;
margin:0px;padding:82px 0px 0px 62px; width:732px;}
-hr {width:632px;margin-left:0px;}
-#copyright {background: transparent url({pwg_root}template/{themeconf:template}/mail/text/html/images/footer-bg.png) no-repeat scroll left bottom;
+hr {ldelim}width:632px;margin-left:0px;}
+#copyright {ldelim}background: transparent url({$ROOT_URL}template/{$themeconf.template}/mail/text/html/images/footer-bg.png) no-repeat scroll left bottom;
color: #69c;font-size:10px;margin:0px;padding:98px 0px 62px 62px;}
-.PWG {font-family: verdana, sans-serif !important; font-size: 0.9em; font-weight: normal; letter-spacing: 0px;}
-h2 { background-color:#ddd;padding: 7px 15px; width:617px;font-weight:bold;}
-img { margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
-img:hover { padding: 15px; border: 1px solid yellow; -moz-border-radius: 4px; border-radius: 4px 4px; }
-a { color: #005e89; background: transparent; }
-a:hover { color: #858460; text-decoration: none;}
+.PWG {ldelim}font-family: verdana, sans-serif !important; font-size: 0.9em; font-weight: normal; letter-spacing: 0px;}
+h2 {ldelim}background-color:#ddd;padding: 7px 15px; width:617px;font-weight:bold;}
+img {ldelim}margin: 16px; border: 16px solid #aaa; -moz-border-radius: 4px; border-radius: 4px 4px; }
+img:hover {ldelim}padding: 15px; border: 1px solid yellow; -moz-border-radius: 4px; border-radius: 4px 4px; }
+a {ldelim}color: #005e89; background: transparent; }
+a:hover {ldelim}color: #858460; text-decoration: none;}
diff --git a/template/yoga/mail/text/html/header.tpl b/template/yoga/mail/text/html/header.tpl
index 63ccbe327..598e25c62 100644
--- a/template/yoga/mail/text/html/header.tpl
+++ b/template/yoga/mail/text/html/header.tpl
@@ -1,17 +1,17 @@
-<!-- DEV TAG: not smarty migrated -->
------={BOUNDARY_KEY}
-Content-Type: {CONTENT_TYPE}; charset="{CONTENT_ENCODING}";
+{* $Id$ *}
+-----={$BOUNDARY_KEY}
+Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}";
Content-Transfer-Encoding: 8bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="{LANG}" dir="{DIR}">
+<html lang="{$LANG}" dir="{$DIR}">
<head>
<title>PhpWebGallery Mail</title>
-<meta http-equiv="Content-Type" content="text/html; charset={CONTENT_ENCODING}">
+<meta http-equiv="Content-Type" content="text/html; charset={$CONTENT_ENCODING}">
<style><!-- /* Mini style for mails */
-{GLOBAL_MAIL_CSS}
-{MAIL_CSS}
-{LOCAL_MAIL_CSS}
+{if isset($GLOBAL_MAIL_CSS)}{$GLOBAL_MAIL_CSS}{/if}
+{if isset($MAIL_CSS)}{$MAIL_CSS}{/if}
+{if isset($LOCAL_MAIL_CSS)}{$LOCAL_MAIL_CSS}{/if}
--></style>
</head>
<body>
diff --git a/template/yoga/mail/text/plain/admin/cat_group_info.tpl b/template/yoga/mail/text/plain/admin/cat_group_info.tpl
index c6df0aac9..d91c0ebcc 100644
--- a/template/yoga/mail/text/plain/admin/cat_group_info.tpl
+++ b/template/yoga/mail/text/plain/admin/cat_group_info.tpl
@@ -1,9 +1,9 @@
-<!-- DEV TAG: not smarty migrated -->
-{lang:Hello,}
+{* $Id$ *}
+{'Hello,'|@translate}
-{lang:Come to discover the category:} {CAT_NAME}
-{LINK}
+{'Come to discover the category:'|@translate} {$CAT_NAME}
+{$LINK}
-{CPL_CONTENT}
+{$CPL_CONTENT}
-{lang:See you soon.} \ No newline at end of file
+{'See you soon.'|@translate}
diff --git a/template/yoga/mail/text/plain/footer.tpl b/template/yoga/mail/text/plain/footer.tpl
index b3e48bc30..cb740c96a 100644
--- a/template/yoga/mail/text/plain/footer.tpl
+++ b/template/yoga/mail/text/plain/footer.tpl
@@ -1,4 +1,4 @@
-<!-- DEV TAG: not smarty migrated -->
+{* $Id$ *}
------------------------
-PhpWebGallery {VERSION}
+PhpWebGallery {$VERSION}
diff --git a/template/yoga/mail/text/plain/header.tpl b/template/yoga/mail/text/plain/header.tpl
index 2b710b439..7471010c9 100644
--- a/template/yoga/mail/text/plain/header.tpl
+++ b/template/yoga/mail/text/plain/header.tpl
@@ -1,4 +1,4 @@
-<!-- DEV TAG: not smarty migrated -->
------={BOUNDARY_KEY}
-Content-Type: {CONTENT_TYPE}; charset="{CONTENT_ENCODING}";
+{* $Id$ *}
+-----={$BOUNDARY_KEY}
+Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}";
Content-Transfer-Encoding: 8bit
diff --git a/template/yoga/nbm.tpl b/template/yoga/nbm.tpl
index 68643f4fb..b8d174839 100644
--- a/template/yoga/nbm.tpl
+++ b/template/yoga/nbm.tpl
@@ -1,32 +1,31 @@
-<!-- DEV TAG: not smarty migrated -->
-<!-- $Id$ -->
+{* $Id$ *}
<div id="content">
<div class="titrePage">
<ul class="categoryActions">
- <li><a href="{U_HOME}" title="{lang:Go through the gallery as a visitor}"><img src="{themeconf:icon_dir}/home.png" class="button" alt="{lang:home}"/></a></li>
+ <li><a href="{$U_HOME}" title="{'Go through the gallery as a visitor'|@translate}"><img src="{$themeconf.icon_dir}/home.png" class="button" alt="{'home'|@translate}"/></a></li>
</ul>
- <h2>{lang:nbm_item_notification}</h2>
+ <h2>{'nbm_item_notification'|@translate}</h2>
</div>
- <!-- BEGIN errors -->
+ {if not empty($errors)}
<div class="errors">
<ul>
- <!-- BEGIN error -->
- <li>{errors.error.ERROR}</li>
- <!-- END error -->
+ {foreach from=$errors item=error}
+ <li>{$error}</li>
+ {/foreach}
</ul>
</div>
- <!-- END errors -->
+ {/if}
- <!-- BEGIN infos -->
+ {if not empty($infos)}
<div class="infos">
<ul>
- <!-- BEGIN info -->
- <li>{infos.info.INFO}</li>
- <!-- END info -->
+ {foreach from=$infos item=info}
+ <li>{$info}</li>
+ {/foreach}
</ul>
</div>
- <!-- END infos -->
+ {/if}
</div>