This commit is contained in:
friendica 2014-11-11 20:44:43 -08:00
parent b5af667985
commit 4b9ec6645b
4 changed files with 55 additions and 40 deletions

View File

@ -1493,7 +1493,11 @@ function network_tabs() {
function profile_tabs($a, $is_owner=False, $nickname=Null){ function profile_tabs($a, $is_owner=False, $nickname=Null){
//echo "<pre>"; var_dump($a->user); killme();
// Don't provide any profile tabs if we're running as the sys channel
if($a->is_sys)
return;
$channel = $a->get_channel(); $channel = $a->get_channel();

View File

@ -2023,10 +2023,12 @@ function json_decode_plus($s) {
function design_tools() { function design_tools() {
$channel = get_app()->get_channel(); $channel = get_app()->get_channel();
$sys = false;
if(get_app()->is_sys && is_site_admin()) { if(get_app()->is_sys && is_site_admin()) {
require_once('include/identity.php'); require_once('include/identity.php');
$channel = get_sys_channel(); $channel = get_sys_channel();
$sys = true;
} }
$who = $channel['channel_address']; $who = $channel['channel_address'];
@ -2034,6 +2036,7 @@ function design_tools() {
return replace_macros(get_markup_template('design_tools.tpl'), array( return replace_macros(get_markup_template('design_tools.tpl'), array(
'$title' => t('Design'), '$title' => t('Design'),
'$who' => $who, '$who' => $who,
'$sys' => $sys,
'$blocks' => t('Blocks'), '$blocks' => t('Blocks'),
'$menus' => t('Menus'), '$menus' => t('Menus'),
'$layout' => t('Layouts'), '$layout' => t('Layouts'),

View File

@ -1,9 +1,12 @@
<?php <?php
require_once('include/identity.php');
require_once('include/conversation.php');
require_once('include/acl_selectors.php');
function webpages_init(&$a) { function webpages_init(&$a) {
if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) { if(argc() > 1 && argv(1) === 'sys' && is_site_admin()) {
require_once('include/identity.php');
$sys = get_sys_channel(); $sys = get_sys_channel();
if($sys && intval($sys['channel_id'])) { if($sys && intval($sys['channel_id'])) {
$a->is_sys = true; $a->is_sys = true;
@ -15,7 +18,7 @@ function webpages_init(&$a) {
else else
return; return;
profile_load($a,$which,$profile); profile_load($a,$which);
} }
@ -28,16 +31,16 @@ function webpages_content(&$a) {
return; return;
} }
$which = argv(1);
$uid = 0; $uid = 0;
$owner = 0; $owner = 0;
$channel = null; $channel = null;
$observer = $a->get_observer(); $observer = $a->get_observer();
$profile = 0;
$channel = $a->get_channel(); $channel = $a->get_channel();
if($a->is_sys && is_site_admin()) { if($a->is_sys && is_site_admin()) {
require_once('include/identity.php');
$sys = get_sys_channel(); $sys = get_sys_channel();
if($sys && intval($sys['channel_id'])) { if($sys && intval($sys['channel_id'])) {
$uid = $owner = intval($sys['channel_id']); $uid = $owner = intval($sys['channel_id']);
@ -83,8 +86,6 @@ function webpages_content(&$a) {
// Nickname is set to the observers xchan, and profile_uid to the owner's. // Nickname is set to the observers xchan, and profile_uid to the owner's.
// This lets you post pages at other people's channels. // This lets you post pages at other people's channels.
require_once ('include/conversation.php');
require_once('include/acl_selectors.php');
if((! $channel) && ($uid) && ($uid == $a->profile_uid)) { if((! $channel) && ($uid) && ($uid == $a->profile_uid)) {
@ -101,21 +102,20 @@ function webpages_content(&$a) {
else else
$channel_acl = array(); $channel_acl = array();
require_once('include/conversation.php');
$o = profile_tabs($a,true); $o = profile_tabs($a,true);
$x = array( $x = array(
'webpage' => ITEM_WEBPAGE, 'webpage' => ITEM_WEBPAGE,
'is_owner' => true, 'is_owner' => true,
'nickname' => $a->profile['channel_address'], 'nickname' => $a->profile['channel_address'],
'lockstate' => (($group || $cid || $channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'), 'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
'bang' => (($group || $cid) ? '!' : ''), 'bang' => '',
'acl' => (($uid && $uid == $owner) ? populate_acl($channel_acl,false) : ''), 'acl' => (($uid && $uid == $owner) ? populate_acl($channel_acl,false) : ''),
'visitor' => true, 'visitor' => true,
'profile_uid' => intval($owner), 'profile_uid' => intval($owner),
'mimetype' => $mimetype, 'mimetype' => $mimetype,
'layout' => $layout, 'layout' => $layout,
); );
if($_REQUEST['title']) if($_REQUEST['title'])
@ -127,10 +127,12 @@ function webpages_content(&$a) {
$o .= status_editor($a,$x); $o .= status_editor($a,$x);
// Get a list of webpages. We can't display all them because endless scroll makes that unusable, so just list titles and an edit link. // Get a list of webpages. We can't display all them because endless scroll makes that unusable,
// so just list titles and an edit link.
//TODO - this should be replaced with pagelist_widget //TODO - this should be replaced with pagelist_widget
$r = q("select * from item_id left join item on item_id.iid = item.id where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc", $r = q("select * from item_id left join item on item_id.iid = item.id
where item_id.uid = %d and service = 'WEBPAGE' order by item.created desc",
intval($owner) intval($owner)
); );
@ -140,30 +142,36 @@ function webpages_content(&$a) {
$pages = array(); $pages = array();
foreach($r as $rr) { foreach($r as $rr) {
unobscure($rr); unobscure($rr);
$pages[$rr['iid']][] = array('url' => $rr['iid'],'pagetitle' => $rr['sid'],'title' => $rr['title'],'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited'])); $pages[$rr['iid']][] = array(
'url' => $rr['iid'],
'pagetitle' => $rr['sid'],
'title' => $rr['title'],
'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited'])
);
} }
} }
//Build the base URL for edit links //Build the base URL for edit links
$url = z_root() . "/editwebpage/" . $which; $url = z_root() . '/editwebpage/' . $which;
// This isn't pretty, but it works. Until I figure out what to do with the UI, it's Good Enough(TM).
return $o . replace_macros(get_markup_template("webpagelist.tpl"), array( $o .= replace_macros(get_markup_template('webpagelist.tpl'), array(
'$listtitle' => t('Webpages'), '$listtitle' => t('Webpages'),
'$baseurl' => $url, '$baseurl' => $url,
'$edit' => t('Edit'), '$edit' => t('Edit'),
'$pages' => $pages, '$pages' => $pages,
'$channel' => $which, '$channel' => $which,
'$view' => t('View'), '$view' => t('View'),
'$preview' => t('Preview'), '$preview' => t('Preview'),
'$actions_txt' => t('Actions'), '$actions_txt' => t('Actions'),
'$pagelink_txt' => t('Page Link'), '$pagelink_txt' => t('Page Link'),
'$title_txt' => t('Title'), '$title_txt' => t('Title'),
'$created_txt' => t('Created'), '$created_txt' => t('Created'),
'$edited_txt' => t('Edited') '$edited_txt' => t('Edited')
)); ));
$o .= '</div>'; return $o;
} }

View File

@ -2,7 +2,7 @@
<h3>{{$title}}</h3> <h3>{{$title}}</h3>
<ul> <ul>
<li><a href="blocks/{{$who}}">{{$blocks}}</a></li> <li><a href="blocks/{{$who}}">{{$blocks}}</a></li>
<li><a href="menu">{{$menus}}</a></li> <li><a href="menu{{if $sys}}?f=&sys=1{{/if}}">{{$menus}}</a></li>
<li><a href="layouts/{{$who}}">{{$layout}}</a></li> <li><a href="layouts/{{$who}}">{{$layout}}</a></li>
<li><a href="webpages/{{$who}}">{{$pages}}</a></li> <li><a href="webpages/{{$who}}">{{$pages}}</a></li>
</ul> </ul>