aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/comanche.php27
-rw-r--r--include/conversation.php6
2 files changed, 33 insertions, 0 deletions
diff --git a/include/comanche.php b/include/comanche.php
index c3a513332..56a16fd3b 100644
--- a/include/comanche.php
+++ b/include/comanche.php
@@ -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
diff --git a/include/conversation.php b/include/conversation.php
index 2b568c35e..0c1479356 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -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']),