This commit is contained in:
friendica 2013-01-10 22:27:53 -08:00
commit 6881edf1f7
32 changed files with 77 additions and 110 deletions

View file

@ -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'];
}

View 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 = '') {

View file

@ -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,

View file

@ -23,7 +23,6 @@ function replace_macros($s,$r) {
if(gettype($s) === 'string') {
$template = $s;
$s = new FriendicaSmarty();
$s->error_reporting = E_ALL & ~E_NOTICE;
}
foreach($r as $key=>$value) {
if($key[0] === '$') {

View 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'),

View file

@ -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) {

View 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,

View 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"

View 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"

View file

@ -77,7 +77,7 @@ def fix_element(element):
if parts[first+1][0] == '$':
# This takes care of elements where the filename is a variable, e.g. {{ inc $file }}
element += 'file:' + ldelim + parts[first+1].rstrip('}') + rdelim
element += ldelim + parts[first+1].rstrip('}') + rdelim
else:
# This takes care of elements where the filename is a path, e.g. {{ inc file.tpl }}
element += parts[first+1].rstrip('}')
@ -189,10 +189,14 @@ for a_file in files:
filename = os.path.join(path,a_file)
ext = a_file.split('.')[-1]
if os.path.isfile(filename) and ext == 'tpl':
with open(filename, 'r') as f:
f = open(filename, 'r')
newfilename = os.path.join(outpath,a_file)
with open(newfilename, 'w') as outf:
outf = open(newfilename, 'w')
print "Converting " + filename + " to " + newfilename
convert(f, outf, php_tpl)
outf.close()
f.close()

View file

@ -11,7 +11,7 @@
{{/if}}
{{if $item.comment_lastcollapsed}}</div>{{/if}}
{{include file="file:{{$item.template}}"}}
{{include file="{{$item.template}}"}}
{{/foreach}}

View file

@ -1,7 +1,7 @@
{{$live_update}}
{{foreach $threads as $thread}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/foreach}}
<div id="conversation-end"></div>

View file

@ -108,7 +108,7 @@
<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>
</div>
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
{{if $item.flatten}}

View file

@ -11,7 +11,7 @@
{{/if}}
{{if $item.comment_lastcollapsed}}</div>{{/if}}
{{include file="file:{{$item.template}}"}}
{{include file="{{$item.template}}"}}
{{/foreach}}

View file

@ -1,7 +1,7 @@
{{$live_update}}
{{foreach $threads as $thread}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/foreach}}
<div id="conversation-end"></div>

View file

@ -132,7 +132,7 @@ class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onc
<div class="wall-item-outside-wrapper-end {{$item.indent}} {{$item.shiny}}" ></div>
</div>
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
</div>

View file

@ -11,7 +11,7 @@
{{/if}}
{{if $item.comment_lastcollapsed}}</div>{{/if}}
{{include file="file:{{$item.template}}"}}
{{include file="{{$item.template}}"}}
{{/foreach}}

View file

@ -1,7 +1,7 @@
{{$live_update}}
{{foreach $threads as $thread}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/foreach}}
<div id="conversation-end"></div>

View file

@ -113,7 +113,7 @@
<!--<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>-->
<!--</div>-->
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
{{if $item.flatten}}

View file

@ -9,7 +9,6 @@
</div>
<div class="acl-list-item" rel="acl-template" style="display:none">
<img data-src="{0}"><p>{1}</p>
<a href="#" class='acl-button-show'>{{$show}}</a>
<a href="#" class='acl-button-hide'>{{$hide}}</a>
</div>

View file

@ -13,7 +13,7 @@
{{$live_update}}
{{foreach $threads as $thread}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/foreach}}
<div id="conversation-end"></div>

View file

@ -112,7 +112,7 @@
<!--<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div>-->
<!--</div>-->
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
{{if $item.flatten}}

View file

@ -17,7 +17,7 @@
{{if $item.type == tag}}
{{include file="wall_item_tag.tpl"}}
{{else}}
{{include file="file:{{$item.template}}"}}
{{include file="{{$item.template}}"}}
{{/if}}
{{/foreach}}

View file

@ -8,7 +8,7 @@
{{if $thread.type == tag}}
{{include file="wall_item_tag.tpl" item=$thread}}
{{else}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/if}}
</div>

View file

@ -149,7 +149,7 @@
{{if $child.type == tag}}
{{include file="wall_item_tag.tpl" item=$child}}
{{else}}
{{include file="file:{{$item.template}}" item=$child}}
{{include file="{{$item.template}}" item=$child}}
{{/if}}
{{/foreach}}

View file

@ -148,7 +148,7 @@
<div class="wall-item-outside-wrapper-end {{$item.indent}} {{$item.shiny}}" ></div>
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
{{if $item.flatten}}

View file

@ -95,7 +95,7 @@
<div class="wall-item-outside-wrapper-end {{$item.indent}} {{$item.shiny}}" ></div>
{{foreach $item.children as $child}}
{{include file="file:{{$child.template}}" item=$child}}
{{include file="{{$child.template}}" item=$child}}
{{/foreach}}
{{if $item.flatten}}

View file

@ -8,7 +8,7 @@
{{if $thread.type == tag}}
{{include file="wall_item_tag.tpl" item=$thread}}
{{else}}
{{include file="file:{{$thread.template}}" item=$thread}}
{{include file="{{$thread.template}}" item=$thread}}
{{/if}}
</div>

View file

@ -150,7 +150,7 @@
{{if $item.type == tag}}
{{include file="wall_item_tag.tpl" item=$child}}
{{else}}
{{include file="file:{{$item.template}}" item=$child}}
{{include file="{{$item.template}}" item=$child}}
{{/if}}
{{/foreach}}