diff options
author | redmatrix <redmatrix@redmatrix.me> | 2015-11-26 11:38:07 -0800 |
---|---|---|
committer | redmatrix <redmatrix@redmatrix.me> | 2015-11-26 11:38:07 -0800 |
commit | 5ec5b127d0b1e8a5d4b6e2d87f6a318aac17f987 (patch) | |
tree | 36f9f4b1e29d7a7d5212ebe19bf53b89d3e94da5 | |
parent | 0cf9e498b963f2f8b5717d1eae8de183dd98d8d6 (diff) | |
parent | c407e72dcc4d4f892e88e8260e662104586695f2 (diff) | |
download | volse-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.php | 1 | ||||
-rw-r--r-- | include/conversation.php | 1 | ||||
-rw-r--r-- | include/event.php | 12 | ||||
-rw-r--r-- | include/text.php | 51 | ||||
-rw-r--r-- | view/css/conversation.css | 3 | ||||
-rw-r--r-- | view/theme/redbasic/css/style.css | 16 | ||||
-rwxr-xr-x | view/tpl/conv_item.tpl | 5 | ||||
-rwxr-xr-x | view/tpl/conv_list.tpl | 5 | ||||
-rwxr-xr-x | view/tpl/event_head.tpl | 19 | ||||
-rwxr-xr-x | view/tpl/search_item.tpl | 5 |
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> ' . bbcode($object['title']) . '</h3></div>' . "\r\n"; + + $event['header'] .= '<div class="event-start"><span class="event-label">' . t('Starts:') . '</span> <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> <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> <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'> {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'> {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'> {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}}"> |