diff options
-rw-r--r-- | mod/blocks.php | 2 | ||||
-rw-r--r-- | mod/editlayout.php | 27 | ||||
-rw-r--r-- | mod/layouts.php | 40 | ||||
-rw-r--r-- | view/css/mod_layouts.css | 29 | ||||
-rw-r--r-- | view/theme/redbasic/css/style.css | 1 | ||||
-rw-r--r-- | view/tpl/layoutlist.tpl | 58 |
6 files changed, 101 insertions, 56 deletions
diff --git a/mod/blocks.php b/mod/blocks.php index f609164e0..ac78473ce 100644 --- a/mod/blocks.php +++ b/mod/blocks.php @@ -106,7 +106,7 @@ function blocks_content(&$a) { $editor = status_editor($a,$x); - $r = q("select * from item_id left join item on item_id.iid = item.id + $r = q("select iid, sid, mid, body, created, edited from item_id left join item on item_id.iid = item.id where item_id.uid = %d and service = 'BUILDBLOCK' order by item.created desc", intval($owner) ); diff --git a/mod/editlayout.php b/mod/editlayout.php index 437c164c1..5c9b62cbb 100644 --- a/mod/editlayout.php +++ b/mod/editlayout.php @@ -23,7 +23,6 @@ function editlayout_init(&$a) { function editlayout_content(&$a) { - if(! $a->profile) { notice( t('Requested profile is not available.') . EOL ); $a->error = 404; @@ -69,7 +68,6 @@ function editlayout_content(&$a) { $o = ''; - // Figure out which post we're editing $post_id = ((argc() > 2) ? intval(argv(2)) : 0); @@ -105,7 +103,9 @@ function editlayout_content(&$a) { $plaintext = true; $o .= replace_macros(get_markup_template('edpost_head.tpl'), array( - '$title' => t('Edit Layout') + '$title' => t('Edit Layout'), + '$delete' => ((($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash)) ? t('Delete') : false), + '$id' => $itm[0]['id'] )); $a->page['htmlhead'] .= replace_macros(get_markup_template('jot-header.tpl'), array( @@ -176,27 +176,6 @@ function editlayout_content(&$a) { '$feature_expire' => false, '$expires' => t('Set expiration date'), )); - - - if(($itm[0]['author_xchan'] === $ob_hash) || ($itm[0]['owner_xchan'] === $ob_hash)) - $o .= '<br /><br /><a class="layout-delete-link" href="item/drop/' . $itm[0]['id'] . '" >' . t('Delete Layout') . '</a><br />'; - - - $x = array( - 'type' => 'layout', - 'title' => $itm[0]['title'], - 'body' => $itm[0]['body'], - 'term' => $itm[0]['term'], - 'created' => $itm[0]['created'], - 'edited' => $itm[0]['edited'], - 'mimetype' => $itm[0]['mimetype'], - 'pagetitle' => $page_title, - 'mid' => $itm[0]['mid'] - ); - - $o .= EOL . EOL . t('Share') . EOL . '<textarea onclick="this.select();" class="shareable_element_text" >[element]' . base64url_encode(json_encode($x)) . '[/element]</textarea>' . EOL . EOL; - - return $o; diff --git a/mod/layouts.php b/mod/layouts.php index 04d81f91e..e0021c35d 100644 --- a/mod/layouts.php +++ b/mod/layouts.php @@ -88,6 +88,9 @@ function layouts_content(&$a) { return; } + //This feature is not exposed in redbasic ui since it is not clear why one would want to + //download a json encoded pdl file - we dont have a possibility to import it. + //Use the buildin share/install feature instead. if((argc() > 3) && (argv(2) === 'share') && (argv(3))) { $r = q("select sid, service, mimetype, title, body from item_id left join item on item.id = item_id.iid @@ -103,18 +106,6 @@ function layouts_content(&$a) { } } - $tabs = array( - array( - 'label' => t('Layout Help'), - 'url' => 'help/Comanche', - 'sel' => '', - 'title' => t('Help with this feature'), - 'id' => 'layout-help-tab', - )); - - //$o .= replace_macros(get_markup_template('common_tabs.tpl'),array('$tabs' => $tabs)); - - // Create a status editor (for now - we'll need a WYSIWYG eventually) to create pages // Nickname is set to the observers xchan, and profile_uid to the owners. // This lets you post pages at other people's channels. @@ -123,8 +114,6 @@ function layouts_content(&$a) { 'webpage' => ITEM_PDL, 'is_owner' => true, 'nickname' => $a->profile['channel_address'], - //do we need that at this place? - //'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), 'bang' => '', 'showacl' => false, 'visitor' => false, @@ -141,11 +130,10 @@ function layouts_content(&$a) { if($_REQUEST['pagetitle']) $x['pagetitle'] = $_REQUEST['pagetitle']; - $editor = status_editor($a,$x); - $r = q("select iid, sid, mid from item_id left join item on item.id = item_id.iid - where item_id.uid = %d and service = 'PDL' order by sid asc", + $r = q("select iid, sid, mid, body, created, edited from item_id left join item on item_id.iid = item.id + where item_id.uid = %d and service = 'PDL' order by item.created desc", intval($owner) ); @@ -154,10 +142,22 @@ function layouts_content(&$a) { if($r) { $pages = array(); foreach($r as $rr) { + $element_arr = array( + 'type' => 'block', + 'body' => $rr['body'], + 'created' => $rr['created'], + 'edited' => $rr['edited'], + 'mimetype' => $rr['mimetype'], + 'pagetitle' => $rr['sid'], + 'mid' => $rr['mid'] + ); $pages[$rr['iid']][] = array( 'url' => $rr['iid'], 'title' => $rr['sid'], - 'mid' => $rr['mid'] + 'mid' => $rr['mid'], + 'created' => $rr['created'], + 'edited' => $rr['edited'], + 'bb_element' => '[element]' . base64url_encode(json_encode($element_arr)) . '[/element]' ); } } @@ -171,8 +171,12 @@ function layouts_content(&$a) { '$help' => array('text' => t('Help'), 'url' => 'help/Comanche', 'title' => t('Comanche page description language help')), '$editor' => $editor, '$baseurl' => $url, + '$name' => t('Layout Name'), + '$created' => t('Created'), + '$edited' => t('Edited'), '$edit' => t('Edit'), '$share' => t('Share'), + '$download' => t('Download PDL file'), '$pages' => $pages, '$channel' => $which, '$view' => t('View'), diff --git a/view/css/mod_layouts.css b/view/css/mod_layouts.css index 7f65713e7..5a3c86733 100644 --- a/view/css/mod_layouts.css +++ b/view/css/mod_layouts.css @@ -1,3 +1,32 @@ #layout-editor { display: none; } + +#layout-list-table { + width: 100%; +} + +#layout-list-table th:nth-child(1){ + padding: 7px 3px 7px 10px; + white-space: nowrap; +} + +#layout-list-table td:nth-child(1){ + padding: 7px 3px 7px 10px; +} + +#layout-list-table th:nth-child(5), +#layout-list-table td:nth-child(5){ + padding: 7px 3px; + white-space: nowrap; +} + +#layout-list-table th:nth-child(6), +#layout-list-table td:nth-child(6){ + padding: 7px 10px 7px 7px; + white-space: nowrap; +} + +.webpage-list-tool { + padding: 7px 10px; +} diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 28d443c74..a5e5dffdb 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -1938,6 +1938,7 @@ nav .dropdown-menu { [id^="webpage-list-item-"]:hover td, [id^="block-list-item-"]:hover td, +[id^="layout-list-item-"]:hover td, [id^="menu-list-item-"]:hover td, [id^="mitem-list-item-"]:hover td { background-color: $item_colour; diff --git a/view/tpl/layoutlist.tpl b/view/tpl/layoutlist.tpl index cd146377d..6812cf95b 100644 --- a/view/tpl/layoutlist.tpl +++ b/view/tpl/layoutlist.tpl @@ -15,19 +15,51 @@ {{/if}} {{if $pages}} - <div id="pagelist-content-wrapper" class="generic-content-wrapper"> +<div id="pagelist-content-wrapper" class="section-content-wrapper-np"> + <table id="layout-list-table"> + <tr> + <th width="97%">{{$name}}</th> + <th width="1%"></th> + <th width="1%"></th> + <th width="1%"></th> + <th width="1%" class="hidden-xs">{{$created}}</th> + <th width="1%" class="hidden-xs">{{$edited}}</th> + </tr> {{foreach $pages as $key => $items}} - {{foreach $items as $item}} - <div class="page-list-item"> - {{if $edit}}<a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil design-icons design-edit-icon btn btn-default"></i></a> {{/if}} - {{if $view}}<a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}"><i class="icon-external-link design-icons design-view-icon btn btn-default"></i></a> {{/if}} - {{if $share}}<a href="layouts/{{$channel}}/share/{{$item.mid}}" title="{{$share}}"><i class="icon-share design-icons btn btn-default"></i></a> {{/if}} - {{*if $preview}}<a href="page/{{$channel}}/{{$item.title}}?iframe=true&width=80%&height=80%" title="{{$preview}}" class="webpage-preview" ><i class="icon-eye-open design-icons design-preview-icon"></i></a> {{/if*}} - {{$item.title}} - </div> - {{/foreach}} + {{foreach $items as $item}} + <tr id="layout-list-item-{{$item.url}}"> + <td> + {{if $view}} + <a href="page/{{$channel}}/{{$item.title}}" title="{{$view}}">{{$item.title}}</a> + {{else}} + {{$item.title}} + {{/if}} + </td> + <td class="webpage-list-tool"> + {{if $edit}} + <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="icon-pencil"></i></a> + {{/if}} + </td> + <td class="webpage-list-tool"> + {{if $item.bb_element}} + <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="icon-share"></i></a> + {{/if}} + </td> + <td class="webpage-list-tool"> + {{if $edit}} + <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#layout-list-item-{{$item.url}}'); return false;"><i class="icon-trash drop-icons"></i></a> + {{/if}} + </td> + <td class="hidden-xs"> + {{$item.created}} + </td> + <td class="hidden-xs"> + {{$item.edited}} + </td> + </tr> {{/foreach}} - </div> - - <div class="clear"></div> + {{/foreach}} + </table> +</div> +<div class="clear"></div> {{/if}} |