'videoheight' => 350,
'force_max_items' => 0,
'thread_allow' => true,
- 'stylesheet' => ''
+ 'stylesheet' => '',
+ 'template_engine' => 'internal',
);
+ public $smarty3_ldelim = '{{';
+ public $smarty3_rdelim = '}}';
+
private $scheme;
private $hostname;
private $baseurl;
if(!isset($this->page['htmlhead']))
$this->page['htmlhead'] = '';
$tpl = get_markup_template('head.tpl');
+
+ // If we're using Smarty, then doing replace_macros() will replace
+ // any unrecognized variables with a blank string. Since we delay
+ // 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;
+ else
+ $stylesheet = '$stylesheet';
+
$this->page['htmlhead'] = replace_macros($tpl,array(
'$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
'$local_user' => local_user(),
'$comment' => t('Comment'),
'$showmore' => t('show more'),
'$showfewer' => t('show fewer'),
- '$update_interval' => $interval
+ '$update_interval' => $interval,
+ '$stylesheet' => $stylesheet
)) . $this->page['htmlhead'];
}
}
- $o .= replace_macros($tpl,array(
+ $includes = array(
+ '$field_input' => 'field_input.tpl',
+ '$field_password' => 'field_password.tpl',
+ '$field_openid' => 'field_openid.tpl',
+ '$field_checkbox' => 'field_checkbox.tpl',
+ );
+ $includes = set_template_includes($a->theme['template_engine'], $includes);
+
+ $o .= replace_macros($tpl,$includes + array(
'$dest_url' => $dest_url,
'$logout' => t('Logout'),
$tpl = get_markup_template('profile_vcard.tpl');
- $o .= replace_macros($tpl, array(
+
+ $includes = array(
+ '$diaspora_vcard' => 'diaspora_vcard.tpl'
+ );
+ $includes = set_template_includes($a->theme['template_engine'], $includes);
+
+ if($a->theme['template_engine'] === 'internal')
+ $location = template_escape($location);
+
+ $o .= replace_macros($tpl, $includes + array(
'$profile' => $profile,
'$connect' => $connect,
'$wallmessage' => $wallmessage,
- '$location' => template_escape($location),
+ '$location' => $location,
'$gender' => $gender,
'$pdesc' => $pdesc,
'$marital' => $marital,
'$homepage' => $homepage,
- '$diaspora' => $diaspora,
+ '$diaspora_info' => $diaspora,
'$contact_block' => $contact_block,
));
closedir($dh);
}
}
+
+function set_template_engine(&$a, $engine = 'internal') {
+
+ $a->theme['template_engine'] = 'internal';
+
+ if(is_writable('view/smarty3/')) {
+ switch($engine) {
+ case 'smarty3':
+ $a->theme['template_engine'] = 'smarty3';
+ break;
+ default:
+ break;
+ }
+ }
+}