]> git.mxchange.org Git - friendica.git/commitdiff
allow Smarty use on international templates
authorZach Prezkuta <fermion@gmx.com>
Fri, 11 Jan 2013 04:46:48 +0000 (21:46 -0700)
committerZach Prezkuta <fermion@gmx.com>
Fri, 11 Jan 2013 04:46:48 +0000 (21:46 -0700)
boot.php
include/friendica_smarty.php
include/items.php
mod/dfrn_confirm.php
mod/install.php
mod/lostpass.php
mod/register.php
mod/regmod.php

index fd7f18279a6202113f22cafe415dddae1b83b9f8..6cc5d08a5389bf0e5516763f255a4c93f892986a 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -384,8 +384,14 @@ if(! class_exists('App')) {
                        'template_engine' => 'internal',
                );
 
-               public $smarty3_ldelim = '{{';
-               public $smarty3_rdelim = '}}';
+               private $ldelim = array(
+                       'internal' => '',
+                       'smarty3' => '{{'
+               );
+               private $rdelim = array(
+                       'internal' => '',
+                       'smarty3' => '}}'
+               );
 
                private $scheme;
                private $hostname;
@@ -623,7 +629,7 @@ if(! class_exists('App')) {
                        // replacing $stylesheet until later, we need to replace it now
                        // with another variable name
                        if($this->theme['template_engine'] === 'smarty3')
-                               $stylesheet = $this->smarty3_ldelim . '$stylesheet' . $this->smarty3_rdelim;
+                               $stylesheet = $this->get_template_ldelim('smarty3') . '$stylesheet' . $this->get_template_rdelim('smarty3');
                        else
                                $stylesheet = '$stylesheet';
 
@@ -695,6 +701,31 @@ if(! class_exists('App')) {
                        return $this->cached_profile_image[$avatar_image];
                }
 
+               function get_template_engine() {
+                       return $this->theme['template_engine'];
+               }
+
+               function set_template_engine($engine = 'internal') {
+
+                       $this->theme['template_engine'] = 'internal';
+
+                       switch($engine) {
+                               case 'smarty3':
+                                       if(is_writable('view/smarty3/'))
+                                               $this->theme['template_engine'] = 'smarty3';
+                                       break;
+                               default:
+                                       break;
+                       }
+               }
+
+               function get_template_ldelim($engine = 'internal') {
+                       return $this->ldelim[$engine];
+               }
+
+               function get_template_rdelim($engine = 'internal') {
+                       return $this->rdelim[$engine];
+               }
 
        }
 }
@@ -847,10 +878,6 @@ if(! function_exists('check_config')) {
                                                        $retval = $func();
                                                        if($retval) {
                                                                //send the administrator an e-mail
-
-                                                       $engine = get_app()->get_template_engine();
-                                                       get_app()->set_template_engine();
-
                                                                $email_tpl = get_intltext_template("update_fail_eml.tpl");
                                                                $email_msg = replace_macros($email_tpl, array(
                                                                        '$sitename' => $a->config['sitename'],
@@ -858,9 +885,6 @@ if(! function_exists('check_config')) {
                                                                        '$update' => $x,
                                                                        '$error' => sprintf( t('Update %s failed. See error logs.'), $x)
                                                                ));
-
-                                                               get_app()->set_template_engine($engine);
-
                                                                $subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
                                                                require_once('include/email.php');
                                                                $subject = email_header_encode($subject,'UTF-8');       
@@ -1205,7 +1229,7 @@ if(! function_exists('profile_load')) {
                 * load/reload current theme info
                 */
 
-               set_template_engine($a); // reset the template engine to the default in case the user's theme doesn't specify one
+               $a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one
 
                $theme_info_file = "view/theme/".current_theme()."/theme.php";
                if (file_exists($theme_info_file)){
@@ -1968,20 +1992,9 @@ function clear_cache($basepath = "", $path = "") {
 }
 
 function set_template_engine(&$a, $engine = 'internal') {
+// This function is no longer necessary, but keep it as a wrapper to the class method
+// to avoid breaking themes again unnecessarily
 
-       $a->theme['template_engine'] = 'internal';
-
-       if(is_writable('view/smarty3/')) {
-               switch($engine) {
-                       case 'smarty3':
-                               $a->theme['template_engine'] = 'smarty3';
-                               break;
-                       default:
-                               break;
-               }
-       }
+       $a->set_template_engine($engine);
 }
 
-function get_template_engine($a) {
-       return $a->theme['template_engine'];
-}
\ No newline at end of file
index 9ad14ad8a4738e610e6c346ebb14a56ec1720b8b..b3f0d18a01d32509f1ca8345c6f0403eff148d51 100644 (file)
@@ -24,8 +24,11 @@ class FriendicaSmarty extends Smarty {
                $this->setConfigDir('view/smarty3/config/');
                $this->setCacheDir('view/smarty3/cache/');
 
-               $this->left_delimiter = $a->smarty3_ldelim;
-               $this->right_delimiter = $a->smarty3_rdelim;
+               $this->left_delimiter = $a->get_template_ldelim('smarty3');
+               $this->right_delimiter = $a->get_template_rdelim('smarty3');
+
+               // Don't report errors so verbosely
+               $this->error_reporting = E_ALL & ~E_NOTICE;
        }
 
        function parsed($template = '') {
index f65032c9688beaea01da2dafc7b854b887a0950e..b465c444ed5cdbec262771edb77949338306adfd 100755 (executable)
@@ -3361,10 +3361,6 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                        }
 
                        if(($r[0]['notify-flags'] & NOTIFY_INTRO) && ($r[0]['page-flags'] == PAGE_NORMAL)) {
-
-                               $engine = get_app()->get_template_engine();
-                               get_app()->set_template_engine();
-
                                $email_tpl = get_intltext_template('follow_notify_eml.tpl');
                                $email = replace_macros($email_tpl, array(
                                        '$requestor' => ((strlen($name)) ? $name : t('[Name Withheld]')),
@@ -3373,9 +3369,6 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
                                        '$siteurl' => $a->get_baseurl(),
                                        '$sitename' => $a->config['sitename']
                                ));
-
-                               get_app()->set_template_engine($engine);
-
                                $res = mail($r[0]['email'], 
                                        email_header_encode((($sharing) ? t('A new person is sharing with you at ') : t("You have a new follower at ")) . $a->config['sitename'],'UTF-8'),
                                        $email,
index 64fd6df2fdab447152e3e548602fd6b301a604d8..769036c5e0b694627bdfba20a4669c6cd5be9e58 100644 (file)
@@ -737,11 +737,6 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                ? get_intltext_template('friend_complete_eml.tpl')
                                : get_intltext_template('intro_complete_eml.tpl'));
                
-
-                       $engine = get_app()->get_template_engine();
-                       get_app()->set_template_engine();
-
-
                        $email_tpl = replace_macros($tpl, array(
                                '$sitename' => $a->config['sitename'],
                                '$siteurl' =>  $a->get_baseurl(),
@@ -751,10 +746,6 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
                                '$dfrn_url' => $r[0]['url'],
                                '$uid' => $newuid )
                        );
-
-
-                       get_app()->set_template_engine($engine);
-
                        require_once('include/email.php');
 
                        $res = mail($r[0]['email'], email_header_encode( sprintf( t("Connection accepted at %s") , $a->config['sitename']),'UTF-8'),
index 91725cf2ff99770c08be4b56289baab36229d3d8..7247ebb2c12c13598398f58b9373cc006456e4c0 100755 (executable)
@@ -73,9 +73,6 @@ function install_post(&$a) {
                        // connect to db
                        $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
 
-                       // disable smarty for this template
-                       $engine = $a->get_template_engine();
-                       $a->set_template_engine();
                        $tpl = get_intltext_template('htconfig.tpl');
                        $txt = replace_macros($tpl,array(
                                '$dbhost' => $dbhost,
@@ -87,7 +84,6 @@ function install_post(&$a) {
                                '$phpath' => $phpath,
                                '$adminmail' => $adminmail
                        ));
-                       $a->set_template_engine($engine);
 
                        $result = file_put_contents('.htconfig.php', $txt);
                        if(! $result) {
index ac67f8b20ac7a772a508a29659c12cf5701fef06..cc31efd973f663c9ee9697129efa65a0f44a1146 100644 (file)
@@ -32,9 +32,6 @@ function lostpass_post(&$a) {
        if($r)
                info( t('Password reset request issued. Check your email.') . EOL);
 
-       $engine = get_app()->get_template_engine();
-       get_app()->set_template_engine();
-
        $email_tpl = get_intltext_template("lostpass_eml.tpl");
        $email_tpl = replace_macros($email_tpl, array(
                        '$sitename' => $a->config['sitename'],
@@ -44,8 +41,6 @@ function lostpass_post(&$a) {
                        '$reset_link' => $a->get_baseurl() . '/lostpass?verify=' . $new_password
        ));
 
-       get_app()->set_template_engine($engine);
-
        $res = mail($email, email_header_encode(sprintf( t('Password reset requested at %s'),$a->config['sitename']),'UTF-8'),
                        $email_tpl,
                        'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
@@ -99,8 +94,6 @@ function lostpass_content(&$a) {
                                info("Your password has been reset." . EOL);
 
 
-                       $engine = get_app()->get_template_engine();
-                       get_app()->set_template_engine();
 
                        $email_tpl = get_intltext_template("passchanged_eml.tpl");
                        $email_tpl = replace_macros($email_tpl, array(
@@ -111,8 +104,6 @@ function lostpass_content(&$a) {
                        '$new_password' => $new_password,
                        '$uid' => $newuid ));
 
-                       get_app()->set_template_engine($engine);
-
                        $subject = sprintf( t('Your password has been changed at %s'), $a->config['sitename']);
 
                        $res = mail($email, email_header_encode( $subject, 'UTF-8'), $email_tpl,
index 580101924c2130475d34e3762c4e901ff1497a86..3532f92e8d132e65d6b17578325c557ae314fc3a 100644 (file)
@@ -79,10 +79,6 @@ function register_post(&$a) {
                        set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
                }
 
-               $engine = get_app()->get_template_engine();
-               get_app()->set_template_engine();
-
-
                $email_tpl = get_intltext_template("register_open_eml.tpl");
                $email_tpl = replace_macros($email_tpl, array(
                                '$sitename' => $a->config['sitename'],
@@ -92,10 +88,6 @@ function register_post(&$a) {
                                '$password' => $result['password'],
                                '$uid' => $user['uid'] ));
 
-
-               get_app()->set_template_engine($engine);
-
-
                $res = mail($user['email'], email_header_encode( sprintf( t('Registration details for %s'), $a->config['sitename']),'UTF-8'),
                        $email_tpl, 
                                'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
@@ -139,10 +131,6 @@ function register_post(&$a) {
                        set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
                }
 
-
-               $engine = get_app()->get_template_engine();
-               get_app()->set_template_engine();
-
                $email_tpl = get_intltext_template("register_verify_eml.tpl");
                $email_tpl = replace_macros($email_tpl, array(
                                '$sitename' => $a->config['sitename'],
@@ -154,9 +142,6 @@ function register_post(&$a) {
                                '$hash' => $hash
                 ));
 
-               get_app()->set_template_engine($engine);
-
-
                $res = mail($a->config['admin_email'], email_header_encode( sprintf(t('Registration request at %s'), $a->config['sitename']),'UTF-8'),
                        $email_tpl,
                                'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"
index 73bfc597b57f86466cd7ae96bdc60469ed6a200e..5ed7642005628546069db335f818a55e97fe5971 100644 (file)
@@ -41,9 +41,6 @@ function user_allow($hash) {
 
        push_lang($register[0]['language']);
 
-       $engine = get_app()->get_template_engine();
-       get_app()->set_template_engine();
-
        $email_tpl = get_intltext_template("register_open_eml.tpl");
        $email_tpl = replace_macros($email_tpl, array(
                        '$sitename' => $a->config['sitename'],
@@ -54,10 +51,6 @@ function user_allow($hash) {
                        '$uid' => $user[0]['uid']
        ));
 
-
-       get_app()->set_template_engine($engine);
-
-
        $res = mail($user[0]['email'], email_header_encode( sprintf(t('Registration details for %s'), $a->config['sitename']), 'UTF-8'),
                $email_tpl,
                        'From: ' . 'Administrator' . '@' . $_SERVER['SERVER_NAME'] . "\n"