aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorredmatrix <redmatrix@redmatrix.me>2015-11-26 11:38:07 -0800
committerredmatrix <redmatrix@redmatrix.me>2015-11-26 11:38:07 -0800
commit5ec5b127d0b1e8a5d4b6e2d87f6a318aac17f987 (patch)
tree36f9f4b1e29d7a7d5212ebe19bf53b89d3e94da5
parent0cf9e498b963f2f8b5717d1eae8de183dd98d8d6 (diff)
parentc407e72dcc4d4f892e88e8260e662104586695f2 (diff)
downloadvolse-hubzilla-5ec5b127d0b1e8a5d4b6e2d87f6a318aac17f987.tar.gz
volse-hubzilla-5ec5b127d0b1e8a5d4b6e2d87f6a318aac17f987.tar.bz2
volse-hubzilla-5ec5b127d0b1e8a5d4b6e2d87f6a318aac17f987.zip
Merge https://github.com/redmatrix/hubzilla into pending_merge
-rw-r--r--include/ItemObject.php1
-rw-r--r--include/conversation.php1
-rw-r--r--include/event.php12
-rw-r--r--include/text.php51
-rw-r--r--view/css/conversation.css3
-rw-r--r--view/theme/redbasic/css/style.css16
-rwxr-xr-xview/tpl/conv_item.tpl5
-rwxr-xr-xview/tpl/conv_list.tpl5
-rwxr-xr-xview/tpl/event_head.tpl19
-rwxr-xr-xview/tpl/search_item.tpl5
10 files changed, 105 insertions, 13 deletions
diff --git a/include/ItemObject.php b/include/ItemObject.php
index 512e12838..8be99d91e 100644
--- a/include/ItemObject.php
+++ b/include/ItemObject.php
@@ -346,6 +346,7 @@ class Item extends BaseObject {
'owner_photo' => $this->get_owner_photo(),
'owner_name' => $this->get_owner_name(),
'photo' => $body['photo'],
+ 'event' => $body['event'],
'has_tags' => $has_tags,
// Item toolbar buttons
diff --git a/include/conversation.php b/include/conversation.php
index 2c447acbc..3b534dc69 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -697,6 +697,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'thumb' => $profile_avatar,
'title' => $item['title'],
'body' => $body['html'],
+ 'event' => $body['event'],
'photo' => $body['photo'],
'tags' => $body['tags'],
'categories' => $body['categories'],
diff --git a/include/event.php b/include/event.php
index 9d111ca25..539bfe484 100644
--- a/include/event.php
+++ b/include/event.php
@@ -787,6 +787,12 @@ function event_store_item($arr, $event) {
'type' => ACTIVITY_OBJ_EVENT,
'id' => z_root() . '/event/' . $r[0]['resource_id'],
'title' => $arr['summary'],
+ 'start' => $arr['start'],
+ 'finish' => $arr['finish'],
+ 'nofinish' => $arr['nofinish'],
+ 'description' => $arr['description'],
+ 'location' => $arr['location'],
+ 'adjust' => $arr['adjust'],
'content' => format_event_bbcode($arr),
'author' => array(
'name' => $r[0]['xchan_name'],
@@ -926,6 +932,12 @@ function event_store_item($arr, $event) {
'type' => ACTIVITY_OBJ_EVENT,
'id' => z_root() . '/event/' . $event['event_hash'],
'title' => $arr['summary'],
+ 'start' => $arr['start'],
+ 'finish' => $arr['finish'],
+ 'nofinish' => $arr['nofinish'],
+ 'description' => $arr['description'],
+ 'location' => $arr['location'],
+ 'adjust' => $arr['adjust'],
'content' => format_event_bbcode($arr),
'author' => array(
'name' => $x[0]['xchan_name'],
diff --git a/include/text.php b/include/text.php
index eb9171b40..f40d67f23 100644
--- a/include/text.php
+++ b/include/text.php
@@ -5,6 +5,7 @@
require_once("include/template_processor.php");
require_once("include/smarty.php");
+require_once("include/bbcode.php");
// random string, there are 86 characters max in text mode, 128 for hex
// output is urlsafe
@@ -1413,9 +1414,55 @@ function prepare_body(&$item,$attach = false) {
}
}
+ $event = array();
+ $is_event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? true : false);
+
+ if($is_event) {
+ $object = json_decode($item['object'],true);
+
+ //ensure compatibility with older items
+ if(array_key_exists('description', $object)) {
+
+ $bd_format = t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8:01 AM
+
+ $event['header'] = '<div class="event-title"><h3><i class="icon-calendar"></i>&nbsp;' . bbcode($object['title']) . '</h3></div>' . "\r\n";
+
+ $event['header'] .= '<div class="event-start"><span class="event-label">' . t('Starts:') . '</span>&nbsp;<span class="dtstart" title="'
+ . datetime_convert('UTC', 'UTC', $object['start'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
+ . '" >'
+ . (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
+ $object['start'] , $bd_format ))
+ : day_translate(datetime_convert('UTC', 'UTC',
+ $object['start'] , $bd_format)))
+ . '</span></div>' . "\r\n";
+
+ if(! $object['nofinish'])
+ $event['header'] .= '<div class="event-end" ><span class="event-label">' . t('Finishes:') . '</span>&nbsp;<span class="dtend" title="'
+ . datetime_convert('UTC','UTC',$object['finish'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
+ . '" >'
+ . (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
+ $object['finish'] , $bd_format ))
+ : day_translate(datetime_convert('UTC', 'UTC',
+ $object['finish'] , $bd_format )))
+ . '</span></div>' . "\r\n";
+
+
+ $event['content'] = '<div class="event-description">' . bbcode($object['description']) . '</div>' . "\r\n";
+
+ if(strlen($object['location']))
+ $event['content'] .= '<div class="event-location"><span class="event-label"> ' . t('Location:') . '</span>&nbsp;<span class="location">'
+ . bbcode($object['location'])
+ . '</span></div>' . "\r\n";
+ }
+ else {
+ $is_event = false;
+ }
+ }
+
$prep_arr = array(
'item' => $item,
- 'html' => $s,
+ 'html' => $is_event ? $event['content'] : $s,
+ 'event' => $event['header'],
'photo' => $photo
);
@@ -1423,6 +1470,7 @@ function prepare_body(&$item,$attach = false) {
$s = $prep_arr['html'];
$photo = $prep_arr['photo'];
+ $event = $prep_arr['event'];
// q("update item set html = '%s' where id = %d",
// dbesc($s),
@@ -1489,6 +1537,7 @@ function prepare_body(&$item,$attach = false) {
'item' => $item,
'photo' => $photo,
'html' => $s,
+ 'event' => $event,
'categories' => $categories,
'folders' => $filer,
'tags' => $tags,
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 6a64e7cc2..24a22defb 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -249,11 +249,10 @@ a.wall-item-name-link {
/* event item */
.event-title h3 {
+ margin: 0px 0px 10px 0px;
font-weight: bold;
}
-.event-title,
-.event-end,
.event-description {
padding-bottom: 10px;
}
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 357bb5093..fe6f10365 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -857,6 +857,18 @@ nav .acpopup {
border-color: #ccc !important;
}
+.wall-event-item {
+ padding: 10px;
+ color: #fff;
+ background-color: #3A87AD; /* should reflect calendar color */
+ border-top-left-radius: $radiuspx;
+ border-top-right-radius: $radiuspx;
+}
+
+.vevent .event-end {
+ padding-bottom: 10px;
+}
+
#event-summary-text {
margin-top: 15px;
}
@@ -1242,14 +1254,14 @@ a.rconnect:hover, a.rateme:hover, div.rateme:hover {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
-/* display: block; */
+ display: block;
}
.dropdown-sub-text {
line-height: 1em;
overflow: hidden;
text-overflow: ellipsis;
-/* display: block; */
+ display: block;
}
.notify-seen a {
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 5257b3ed6..206ee245e 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -13,6 +13,11 @@
{{$item.photo}}
</div>
{{/if}}
+ {{if $item.event}}
+ <div class="wall-event-item" id="wall-event-item-{{$item.id}}">
+ {{$item.event}}
+ </div>
+ {{/if}}
<div class="wall-item-head">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl
index 53f65bc78..cf1310ea6 100755
--- a/view/tpl/conv_list.tpl
+++ b/view/tpl/conv_list.tpl
@@ -13,6 +13,11 @@
{{$item.photo}}
</div>
{{/if}}
+ {{if $item.event}}
+ <div class="wall-event-item" id="wall-event-item-{{$item.id}}">
+ {{$item.event}}
+ </div>
+ {{/if}}
<div class="wall-item-head">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index ec43d7ab7..4362360d3 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -64,33 +64,36 @@
},
eventRender: function(event, element, view) {
+
//console.log(view.name);
if (event.item['author']['xchan_name']==null) return;
switch(view.name){
case "month":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format(
+ element.find(".fc-title").html(
+ "<img src='{0}' style='height:10px;width:10px'>&nbsp;{1}: {2}".format(
event.item['author']['xchan_photo_s'],
event.item['author']['xchan_name'],
event.title
));
break;
case "agendaWeek":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
+ element.find(".fc-title").html(
+ "<img src='{0}' style='height:10px; width:10px'>&nbsp;{1}: {2}<p>{3}</p><p>{4}</p>".format(
event.item['author']['xchan_photo_s'],
event.item['author']['xchan_name'],
- event.item.desc,
+ event.title,
+ event.item.description,
event.item.location
));
break;
case "agendaDay":
- element.find(".fc-event-title").html(
- "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
+ element.find(".fc-title").html(
+ "<img src='{0}' style='height:10px;width:10px'>&nbsp;{1}: {2}<p>{3}</p><p>{4}</p>".format(
event.item['author']['xchan_photo_s'],
event.item['author']['xchan_name'],
- event.item.desc,
+ event.title,
+ event.item.description,
event.item.location
));
break;
diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl
index b44e1c39e..b2689c7ba 100755
--- a/view/tpl/search_item.tpl
+++ b/view/tpl/search_item.tpl
@@ -7,6 +7,11 @@
{{$item.photo}}
</div>
{{/if}}
+ {{if $item.event}}
+ <div class="wall-event-item" id="wall-event-item-{{$item.id}}">
+ {{$item.event}}
+ </div>
+ {{/if}}
<div class="wall-item-head">
<div class="wall-item-info" id="wall-item-info-{{$item.id}}" >
<div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}">