provide templating options in comanche for the underlying webpage element - in this case the way the author is displayed. Leave this open for other forms templating options.

This commit is contained in:
friendica 2013-09-04 21:24:57 -07:00
parent ba28302811
commit 99ea251b12
2 changed files with 33 additions and 0 deletions

View File

@ -60,6 +60,14 @@ function comanche_parser(&$a,$s) {
}
}
$cnt = preg_match_all("/\[webpage\](.*?)\[\/webpage\]/ism", $s, $matches, PREG_SET_ORDER);
if($cnt) {
// only the last webpage definition is used if there is more than one
foreach($matches as $mtch) {
$a->layout['webpage'] = comanche_webpage($a,$mtch[1]);
}
}
}
@ -92,6 +100,25 @@ function comanche_block($name) {
return $o;
}
// This doesn't really belong in Comanche, but it could also be argued that it is the perfect place.
// We need to be able to select what kind of template and decoration to use for the webpage at the heart of our content.
// For now we'll allow an '[authored]' element which defaults to name and date, or 'none' to remove these, and perhaps
// 'full' to provide a social network style profile photo.
// But leave it open to have richer templating options and perhaps ultimately discard this one, once we have a better idea
// of what template and webpage options we might desire.
function comanche_webpage(&$a,$s) {
$ret = array();
$cnt = preg_match_all("/\[authored\](.*?)\[\/authored\]/ism", $s, $matches, PREG_SET_ORDER);
if($cnt) {
foreach($matches as $mtch) {
$ret['authored'] = $mtch[1];
}
}
return $ret;
}
// Widgets will have to get any operational arguments from the session,
// the global app environment, or config storage until we implement argument passing

View File

@ -1262,7 +1262,13 @@ function render_location_default($item) {
function prepare_page($item) {
$a = get_app();
$naked = ((get_pconfig($item['uid'],'system','nakedpage')) ? 1 : 0);
if(array_key_exists('webpage',$a->layout) && array_key_exists('authored',$a->layout['webpage'])) {
if($a->layout['webpage']['authored'] === 'none')
$naked = 1;
// ... other possible options
}
return replace_macros(get_markup_template('page_display.tpl'),array(
'$author' => (($naked) ? '' : $item['author']['xchan_name']),