From a6437b81e68d5b14ded9cd2eaed7f134999ab794 Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 13 Mar 2008 01:43:45 +0000 Subject: - changes to template to accomodate nbm (solved issue when we had same template filename with different root dirs) - started some changes in mail templates git-svn-id: http://piwigo.org/svn/trunk@2278 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/maintenance.php | 3 +- include/functions_mail.inc.php | 61 ++++++++++------------ include/template.class.php | 36 ++++++++++++- nbm.php | 29 +++------- .../yoga/mail/text/html/admin/cat_group_info.tpl | 14 ++--- template/yoga/mail/text/html/footer.tpl | 16 +++--- template/yoga/mail/text/html/global-mail-css.tpl | 25 +++++---- template/yoga/mail/text/html/header.tpl | 16 +++--- .../yoga/mail/text/plain/admin/cat_group_info.tpl | 12 ++--- template/yoga/mail/text/plain/footer.tpl | 4 +- template/yoga/mail/text/plain/header.tpl | 6 +-- template/yoga/nbm.tpl | 27 +++++----- 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 @@ - +{* $Id$ *}
-

{lang:Informations}

-

{IMG_URL}

-

{lang:Hello,}

-

{lang:Come to discover the category:} {CAT_NAME}

-

{CPL_CONTENT}

-

{lang:See you soon.}

+

{'Informations'|@translate}

+

{$IMG_URL}

+

{'Hello,'|@translate}

+

{'Come to discover the category:'|@translate} {$CAT_NAME}

+

{$CPL_CONTENT}

+

{'See you soon.'|@translate}

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 @@ - +{* $Id$ *} 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 @@ - -/* $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 @@ - ------={BOUNDARY_KEY} -Content-Type: {CONTENT_TYPE}; charset="{CONTENT_ENCODING}"; +{* $Id$ *} +-----={$BOUNDARY_KEY} +Content-Type: {$CONTENT_TYPE}; charset="{$CONTENT_ENCODING}"; Content-Transfer-Encoding: 8bit - + PhpWebGallery Mail - + 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 @@ - -{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 @@ - +{* $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 @@ - ------={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 @@ - - +{* $Id$ *}
    -
  • {lang:home}
  • +
  • {'home'|@translate}
-

{lang:nbm_item_notification}

+

{'nbm_item_notification'|@translate}

- + {if not empty($errors)}
    - -
  • {errors.error.ERROR}
  • - + {foreach from=$errors item=error} +
  • {$error}
  • + {/foreach}
- + {/if} - + {if not empty($infos)}
    - -
  • {infos.info.INFO}
  • - + {foreach from=$infos item=info} +
  • {$info}
  • + {/foreach}
- + {/if}
-- cgit v1.2.3