From 7ae0317b6a2bed323492ef987ddbaaf4f2a1a9b9 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Mon, 22 May 2017 17:07:34 -0700 Subject: apporder style improvement and add to nav menu, also add language awareness to webpages --- Zotlabs/Module/Editwebpage.php | 2 +- Zotlabs/Module/Page.php | 59 +++++++++++++++++++++++++++++++++--------- Zotlabs/Module/Webpages.php | 4 +-- include/nav.php | 1 + view/tpl/app.tpl | 4 +-- view/tpl/nav.tpl | 2 ++ 6 files changed, 55 insertions(+), 17 deletions(-) diff --git a/Zotlabs/Module/Editwebpage.php b/Zotlabs/Module/Editwebpage.php index db33cd1db..3effe7ff5 100644 --- a/Zotlabs/Module/Editwebpage.php +++ b/Zotlabs/Module/Editwebpage.php @@ -112,7 +112,7 @@ class Editwebpage extends \Zotlabs\Web\Controller { intval($itm[0]['id']) ); if($item_id) - $page_title = $item_id[0]['v']; + $page_title = str_replace('%2f','/',$item_id[0]['v']); $mimetype = $itm[0]['mimetype']; diff --git a/Zotlabs/Module/Page.php b/Zotlabs/Module/Page.php index 6ef285dd0..7bc90c091 100644 --- a/Zotlabs/Module/Page.php +++ b/Zotlabs/Module/Page.php @@ -43,11 +43,31 @@ class Page extends \Zotlabs\Web\Controller { $channel_address = argv(1); + // Always look first for the page name prefixed by the observer language; for instance page/nickname/de/foo + // followed by page/nickname/foo if that is not found. + // If your browser language is de and you want to access the default in this case, + // use page/nickname/-/foo to over-ride the language and access only the page with pagelink of 'foo' + + $page_name = ''; + $ignore_language = false; + + for($x = 2; $x < argc(); $x ++) { + if($page_name === '' && argv($x) === '-') { + $ignore_language = true; + continue; + } + if($page_name) + $page_name .= '/'; + $page_name .= argv($x); + } + + // The page link title was stored in a urlencoded format // php or the browser may/will have decoded it, so re-encode it for our search - $page_id = urlencode(argv(2)); - + $page_id = urlencode($page_name); + $lang_page_id = urlencode(\App::$language . '/' . $page_name); + $u = q("select channel_id from channel where channel_address = '%s' limit 1", dbesc($channel_address) ); @@ -64,16 +84,31 @@ class Page extends \Zotlabs\Web\Controller { require_once('include/security.php'); $sql_options = item_permissions_sql($u[0]['channel_id']); - - $r = q("select item.* from item left join iconfig on item.id = iconfig.iid - where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0 - and (( iconfig.k = 'WEBPAGE' and item_type = %d ) - OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", - intval($u[0]['channel_id']), - dbesc($page_id), - intval(ITEM_TYPE_WEBPAGE), - intval(ITEM_TYPE_PDL) - ); + + $r = null; + + if(! $ignore_language) { + $r = q("select item.* from item left join iconfig on item.id = iconfig.iid + where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0 + and (( iconfig.k = 'WEBPAGE' and item_type = %d ) + OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", + intval($u[0]['channel_id']), + dbesc($lang_page_id), + intval(ITEM_TYPE_WEBPAGE), + intval(ITEM_TYPE_PDL) + ); + } + if(! $r) { + $r = q("select item.* from item left join iconfig on item.id = iconfig.iid + where item.uid = %d and iconfig.cat = 'system' and iconfig.v = '%s' and item.item_delayed = 0 + and (( iconfig.k = 'WEBPAGE' and item_type = %d ) + OR ( iconfig.k = 'PDL' AND item_type = %d )) $sql_options $revision limit 1", + intval($u[0]['channel_id']), + dbesc($page_id), + intval(ITEM_TYPE_WEBPAGE), + intval(ITEM_TYPE_PDL) + ); + } if(! $r) { // Check again with no permissions clause to see if it is a permissions issue diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php index effe92614..be697ba2c 100644 --- a/Zotlabs/Module/Webpages.php +++ b/Zotlabs/Module/Webpages.php @@ -218,13 +218,13 @@ class Webpages extends \Zotlabs\Web\Controller { 'created' => $rr['created'], 'edited' => $rr['edited'], 'mimetype' => $rr['mimetype'], - 'pagetitle' => $rr['v'], + 'pagetitle' => str_replace('%2f','/',$rr['v']), 'mid' => $rr['mid'], 'layout_mid' => $rr['layout_mid'] ); $pages[$rr['iid']][] = array( 'url' => $rr['iid'], - 'pagetitle' => $rr['v'], + 'pagetitle' => str_replace('%2f','/',$rr['v']), 'title' => $rr['title'], 'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']), 'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']), diff --git a/include/nav.php b/include/nav.php index 0fd555abf..91bade5a7 100644 --- a/include/nav.php +++ b/include/nav.php @@ -281,6 +281,7 @@ EOT; '$nav_apps' => $nav_apps, '$channel_apps' => $channel_apps, '$addapps' => t('Add Apps'), + '$orderapps' => t('Arrange Apps'), '$sysapps_toggle' => t('Toggle System Apps') )); diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl index 0c8ba7459..804db426f 100644 --- a/view/tpl/app.tpl +++ b/view/tpl/app.tpl @@ -29,8 +29,8 @@ {{if $icon}}{{else}}{{/if}}{{$app.name}} {{/if}} {{if $order}} - - + + {{if $icon}}{{else}}{{/if}}{{$app.name}}
{{/if}} diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl index 5c301b4d2..39fe686a9 100755 --- a/view/tpl/nav.tpl +++ b/view/tpl/nav.tpl @@ -207,6 +207,7 @@ {{if $localuser}} {{$addapps}} + {{$orderapps}} {{/if}} @@ -232,6 +233,7 @@ {{if $localuser}} {{$addapps}} + {{$orderapps}} {{/if}} -- cgit v1.2.3