Merge branch 'dev' of https://github.com/redmatrix/hubzilla into dev_merge

This commit is contained in:
zotlabs 2017-02-06 11:14:59 -08:00
commit 00cfc4be44
44 changed files with 399 additions and 409 deletions

View File

@ -341,7 +341,6 @@ class Apps {
$install_action = (($installed) ? t('Update') : t('Install')); $install_action = (($installed) ? t('Update') : t('Install'));
$icon = ((strpos($papp['photo'],'icon:') === 0) ? substr($papp['photo'],5) : ''); $icon = ((strpos($papp['photo'],'icon:') === 0) ? substr($papp['photo'],5) : '');
return replace_macros(get_markup_template('app.tpl'),array( return replace_macros(get_markup_template('app.tpl'),array(
'$app' => $papp, '$app' => $papp,
'$icon' => $icon, '$icon' => $icon,
@ -352,7 +351,8 @@ class Apps {
'$delete' => ((local_channel() && $installed && $mode == 'edit') ? t('Delete') : ''), '$delete' => ((local_channel() && $installed && $mode == 'edit') ? t('Delete') : ''),
'$undelete' => ((local_channel() && $installed && $mode == 'edit') ? t('Undelete') : ''), '$undelete' => ((local_channel() && $installed && $mode == 'edit') ? t('Undelete') : ''),
'$deleted' => $papp['deleted'], '$deleted' => $papp['deleted'],
'$featured' => ((strpos($papp['categories'], 'nav_featured_app') === false) ? false : true) '$featured' => ((strpos($papp['categories'], 'nav_featured_app') === false) ? false : true),
'$navapps' => ((local_channel() && $installed && $mode == 'nav') ? true : false)
)); ));
} }
@ -451,13 +451,13 @@ class Apps {
intval($uid) intval($uid)
); );
$x = q("select * from term where otype = %d and oid = %d limit 1", $x = q("select * from term where otype = %d and oid = %d and term = 'nav_featured_app' limit 1",
intval(TERM_OBJ_APP), intval(TERM_OBJ_APP),
intval($r[0]['id']) intval($r[0]['id'])
); );
if($x) { if($x) {
q("delete from term where otype = %d and oid = %d", q("delete from term where otype = %d and oid = %d and term = 'nav_featured_app'",
intval(TERM_OBJ_APP), intval(TERM_OBJ_APP),
intval($x[0]['oid']) intval($x[0]['oid'])
); );
@ -504,6 +504,7 @@ class Apps {
$r = q("select * from app where app_channel = %d $sql_extra order by app_name asc", $r = q("select * from app where app_channel = %d $sql_extra order by app_name asc",
intval($uid) intval($uid)
); );
if($r) { if($r) {
for($x = 0; $x < count($r); $x ++) { for($x = 0; $x < count($r); $x ++) {
if(! $r[$x]['app_system']) if(! $r[$x]['app_system'])
@ -514,6 +515,7 @@ class Apps {
); );
} }
} }
return($r); return($r);
} }
@ -719,6 +721,9 @@ class Apps {
if($app['app_photo']) if($app['app_photo'])
$ret['photo'] = $app['app_photo']; $ret['photo'] = $app['app_photo'];
if($app['app_icon'])
$ret['icon'] = $app['app_icon'];
if($app['app_version']) if($app['app_version'])
$ret['version'] = $app['app_version']; $ret['version'] = $app['app_version'];

View File

@ -1,4 +0,0 @@
url: $baseurl/admin
requires: admin
name: Site Admin
photo: $baseurl/app/admin.png

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/bookmarks url: $baseurl/bookmarks
requires: local_channel requires: local_channel
name: View Bookmarks name: View Bookmarks
photo: $baseurl/app/bookmarks.png photo: icon:bookmark
categories: Productivity

View File

@ -1,3 +1,5 @@
version: 1
url: https://github.com/redmatrix/hubzilla/issues url: https://github.com/redmatrix/hubzilla/issues
name: Report Bug name: Report Bug
photo: $baseurl/app/bugreport.png photo: icon:bug
categories: System

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/channel/$nick url: $baseurl/channel/$nick
requires: local_channel requires: local_channel
name: Channel Home name: Channel Home
photo: $baseurl/app/home.png photo: icon:home
categories: nav_featured_app, Personal

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/chat/$nick url: $baseurl/chat/$nick
requires: local_channel requires: local_channel, ajaxchat
name: My Chatrooms name: My Chatrooms
photo: $baseurl/app/chat.png photo: icon:comments-o
categories: Productivity

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/connections url: $baseurl/connections
requires: local_channel requires: local_channel
name: Connections name: Connections
photo: $baseurl/app/connections.png photo: icon:users
categories: nav_featured_app, Networking

View File

@ -1,3 +1,5 @@
version: 1
url: $baseurl/directory url: $baseurl/directory
name: Directory name: Directory
photo: $baseurl/app/directory.png photo: icon:sitemap
categories: nav_featured_app, Networking

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/events url: $baseurl/events
requires: local_channel requires: local_channel
name: Events name: Events
photo: $baseurl/app/events.png photo: icon:calendar
categories: nav_featured_app, Productivity

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/settings/features url: $baseurl/settings/features
requires: local_channel requires: local_channel
name: Features name: Features
photo: $baseurl/app/features.png photo: icon:cogs
categories: System

View File

@ -1,4 +0,0 @@
url: $baseurl/ffsapi
requires: local_channel
name: Firefox Share
photo: $baseurl/app/firefoxshare.png

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/network url: $baseurl/network
requires: local_channel requires: local_channel
name: Grid name: Grid
photo: $baseurl/images/hubzilla_logo_6.png photo: icon:th
categories: nav_featured_app, Networking

View File

@ -1,3 +1,5 @@
version: 1
url: $baseurl/help url: $baseurl/help
name: Help name: Help
photo: $baseurl/app/help.png photo: icon:question
categories: nav_featured_app, System

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/invite url: $baseurl/invite
requires: local_channel requires: local_channel
name: Invite name: Invite
photo: $baseurl/app/invite.png photo: icon:user-plus
categories: Networking

View File

@ -1,3 +1,5 @@
version: 1
url: $baseurl/lang url: $baseurl/lang
name: Language name: Language
photo: $baseurl/app/lang.png photo: icon:language
categories: System

View File

@ -1,4 +1,5 @@
version: 1
url: $baseurl/login url: $baseurl/login
requires: nologin requires: nologin
name: Login name: Login
photo: $baseurl/app/login.png photo: icon:sign-in

View File

@ -1,4 +1,6 @@
url: $baseurl/message version: 1
url: $baseurl/mail/combined
requires: local_channel requires: local_channel
name: Mail name: Mail
photo: $baseurl/app/mail.png photo: icon:envelope
categories: nav_featured_app, Personal

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/manage url: $baseurl/manage
requires: local_channel requires: local_channel
name: Channel Manager name: Channel Manager
photo: $baseurl/app/manage.png photo: icon:id-card-o
categories: Personal

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/mood url: $baseurl/mood
requires: local_channel requires: local_channel
name: Mood name: Mood
photo: $baseurl/app/mood.png photo: icon:smile-o
categories: Social

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/photos/$nick url: $baseurl/photos/$nick
requires: local_channel requires: local_channel
name: Photos name: Photos
photo: $baseurl/app/photos.png photo: icon:photo
categories: Multimedia

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/poke url: $baseurl/poke
requires: local_channel requires: local_channel
name: Poke name: Poke
photo: $baseurl/app/poke.png photo: icon:hand-o-right
categories: Social

View File

@ -1,4 +1,6 @@
url: $baseurl/rpost?f=&body=%0A version: 1
url: $baseurl/rpost?f=&body=
requires: observer requires: observer
name: Post name: Post
photo: $baseurl/app/post.png photo: icon:pencil-square
categories: Productivity

View File

@ -1,4 +0,0 @@
url: $baseurl/profile_photo
requires: local_channel
name: Profile Photo
photo: $baseurl/app/pphoto.png

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/probe url: $baseurl/probe
requires: local_channel requires: local_channel
name: Remote Diagnostics name: Remote Diagnostics
photo: $baseurl/app/probe.png photo: icon:user-md
categories: System

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/profile/$nick url: $baseurl/profile/$nick
requires: local_channel requires: local_channel
name: View Profile name: View Profile
photo: $baseurl/app/profile.png photo: icon:user
categories: Personal

View File

@ -1,6 +1,6 @@
version: 1
url: $baseurl/randprof url: $baseurl/randprof
name: Random Channel name: Random Channel
target: randprof target: randprof
photo: $baseurl/app/randprof.png photo: icon:random
categories: Networking

View File

@ -1,3 +1,4 @@
version: 1
url: $baseurl/search url: $baseurl/search
name: Search name: Search
photo: $baseurl/app/search.png photo: icon:search

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/settings url: $baseurl/settings
requires: local_channel requires: local_channel
name: Settings name: Settings
photo: $baseurl/app/settings.png photo: icon:cog
categories: System

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/cloud/$nick url: $baseurl/cloud/$nick
requires: local_channel requires: local_channel
name: Files name: Files
photo: $baseurl/app/storage.png photo: icon:folder-open
categories: Productivity

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/suggest url: $baseurl/suggest
requires: local_channel requires: local_channel
name: Suggest Channels name: Suggest Channels
photo: $baseurl/app/suggest.png photo: icon:lightbulb-o
categories: Networking

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/webpages/$nick url: $baseurl/webpages/$nick
requires: local_channel, webpages requires: local_channel, webpages
name: Webpages name: Webpages
photo: $baseurl/app/webpages.png photo: icon:newspaper-o
categories: Productivity

View File

@ -1,4 +1,6 @@
version: 1
url: $baseurl/wiki/$nick url: $baseurl/wiki/$nick
requires: local_channel requires: local_channel, wiki
name: Wiki name: Wiki
photo: $baseurl/app/wiki.png photo: icon:pencil-square-o
categories: Productivity

View File

@ -99,30 +99,30 @@ EOT;
$nav['logout'] = Array('logout',t('Logout'), "", t('End this session'),'logout_nav_btn'); $nav['logout'] = Array('logout',t('Logout'), "", t('End this session'),'logout_nav_btn');
// user menu // user menu
$nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'),'channel_nav_btn'); //$nav['usermenu'][] = Array('channel/' . $channel['channel_address'], t('Home'), "", t('Your posts and conversations'),'channel_nav_btn');
$nav['usermenu'][] = Array('profile/' . $channel['channel_address'], t('View Profile'), "", t('Your profile page'),'profile_nav_btn'); $nav['usermenu'][] = Array('profile/' . $channel['channel_address'], t('View Profile'), "", t('Your profile page'),'profile_nav_btn');
if(feature_enabled(local_channel(),'multi_profiles') && (! $basic)) if(feature_enabled(local_channel(),'multi_profiles') && (! $basic))
$nav['usermenu'][] = Array('profiles', t('Edit Profiles'),"", t('Manage/Edit profiles'),'profiles_nav_btn'); $nav['usermenu'][] = Array('profiles', t('Edit Profiles'),"", t('Manage/Edit profiles'),'profiles_nav_btn');
else else
$nav['usermenu'][] = Array('profiles/' . $prof[0]['id'], t('Edit Profile'),"", t('Edit your profile'),'profiles_nav_btn'); $nav['usermenu'][] = Array('profiles/' . $prof[0]['id'], t('Edit Profile'),"", t('Edit your profile'),'profiles_nav_btn');
$nav['usermenu'][] = Array('photos/' . $channel['channel_address'], t('Photos'), "", t('Your photos'),'photos_nav_btn'); //$nav['usermenu'][] = Array('photos/' . $channel['channel_address'], t('Photos'), "", t('Your photos'),'photos_nav_btn');
$nav['usermenu'][] = Array('cloud/' . $channel['channel_address'],t('Files'),"",t('Your files'),'cloud_nav_btn'); //$nav['usermenu'][] = Array('cloud/' . $channel['channel_address'],t('Files'),"",t('Your files'),'cloud_nav_btn');
if((! $basic) && feature_enabled(local_channel(),'ajaxchat')) //if((! $basic) && feature_enabled(local_channel(),'ajaxchat'))
$nav['usermenu'][] = Array('chat/' . $channel['channel_address'], t('Chat'),"",t('Your chatrooms'),'chat_nav_btn'); // $nav['usermenu'][] = Array('chat/' . $channel['channel_address'], t('Chat'),"",t('Your chatrooms'),'chat_nav_btn');
require_once('include/menu.php'); //require_once('include/menu.php');
$has_bookmarks = menu_list_count(local_channel(),'',MENU_BOOKMARK) + menu_list_count(local_channel(),'',MENU_SYSTEM|MENU_BOOKMARK); //$has_bookmarks = menu_list_count(local_channel(),'',MENU_BOOKMARK) + menu_list_count(local_channel(),'',MENU_SYSTEM|MENU_BOOKMARK);
if(($has_bookmarks) && (! $basic)) { //if(($has_bookmarks) && (! $basic)) {
$nav['usermenu'][] = Array('bookmarks', t('Bookmarks'), "", t('Your bookmarks'),'bookmarks_nav_btn'); // $nav['usermenu'][] = Array('bookmarks', t('Bookmarks'), "", t('Your bookmarks'),'bookmarks_nav_btn');
} //}
if(feature_enabled($channel['channel_id'],'webpages') && (! $basic)) //if(feature_enabled($channel['channel_id'],'webpages') && (! $basic))
$nav['usermenu'][] = Array('webpages/' . $channel['channel_address'],t('Webpages'),"",t('Your webpages'),'webpages_nav_btn'); // $nav['usermenu'][] = Array('webpages/' . $channel['channel_address'],t('Webpages'),"",t('Your webpages'),'webpages_nav_btn');
if(feature_enabled($channel['channel_id'],'wiki') && (! $basic)) //if(feature_enabled($channel['channel_id'],'wiki') && (! $basic))
$nav['usermenu'][] = Array('wiki/' . $channel['channel_address'],t('Wikis'),"",t('Your wikis'),'wiki_nav_btn'); // $nav['usermenu'][] = Array('wiki/' . $channel['channel_address'],t('Wikis'),"",t('Your wikis'),'wiki_nav_btn');
} }
else { else {
if(! get_account_id()) { if(! get_account_id()) {
@ -254,27 +254,27 @@ EOT;
//app bin //app bin
$navapps = ''; if(local_channel()) {
if(get_config('system','experimental_app_bin')) { if(get_pconfig(local_channel(), 'system','initial_import_system_apps') === false) {
if(local_channel()) { Zlib\Apps::import_system_apps();
//Zlib\Apps::import_system_apps(); set_pconfig(local_channel(), 'system','initial_import_system_apps', 1);
$syslist = array();
$list = Zlib\Apps::app_list(local_channel(), false, 'nav_featured_app');
if($list) {
foreach($list as $li) {
$syslist[] = Zlib\Apps::app_encode($li);
}
}
Zlib\Apps::translate_system_apps($syslist);
}
else {
$syslist = Zlib\Apps::get_system_apps(true);
} }
$navapps = replace_macros(get_markup_template('navapps.tpl'), array( $syslist = array();
'$apps' => $syslist, $list = Zlib\Apps::app_list(local_channel(), false, 'nav_featured_app');
'$localuser' => local_channel(), if($list) {
)); foreach($list as $li) {
$syslist[] = Zlib\Apps::app_encode($li);
}
}
Zlib\Apps::translate_system_apps($syslist);
}
else {
$syslist = Zlib\Apps::get_system_apps(true);
}
foreach($syslist as $app) {
$navapps[] = Zlib\Apps::app_render($app,'nav');
} }
$tpl = get_markup_template('nav.tpl'); $tpl = get_markup_template('nav.tpl');

View File

@ -3,23 +3,15 @@
/* nav overrides */ /* nav overrides */
nav .badge { nav .badge {
position: relative; position: absolute;
top: -49px; top: 1px;
left: 2px; left: 1px;
float: left;
font-size: 10px; font-size: 10px;
line-height: 20px; line-height: 20px;
padding: 0px 5px; padding: 0px 5px;
height: 20px; height: 20px;
min-width: 20px; min-width: 20px;
border-radius: 10px; border-radius: 10px;
cursor: pointer;
}
@media screen and (max-width: 767px) {
nav .badge {
top: -46px;
}
} }
#navbar-collapse-1 i, #navbar-collapse-1 i,
@ -27,31 +19,12 @@ nav .badge {
font-size: 14px; font-size: 14px;
} }
nav ul li {
max-height: 50px;
}
nav .navbar-header img { nav .navbar-header img {
height: 49px; height: 49px;
width: 49px; width: 49px;
margin-top: 1px; margin-top: 1px;
} }
nav .dropdown-menu {
max-height: 450px;
width: 270px;
overflow-y: auto;
margin-top: 0px;
}
nav .navbar-collapse .navbar-left {
float: left;
}
nav .navbar-collapse .navbar-right {
float: right;
}
/* nav overrides end */ /* nav overrides end */
@ -60,13 +33,19 @@ aside .nav-pills > li > a,
padding: 6px 10px; padding: 6px 10px;
} }
.wall-item-tools .dropdown-menu { nav .dropdown-menu {
min-width: auto; margin-top: 0px;
max-height: 70vh;
overflow: auto;
} }
.dropdown-menu li a { nav .navbar-collapse.in .dropdown-menu {
overflow: hidden; max-height: none;
text-overflow: ellipsis; overflow: none;
}
.wall-item-tools .dropdown-menu {
min-width: auto;
} }
.nav-tabs.nav-justified > li { .nav-tabs.nav-justified > li {

View File

@ -5,12 +5,6 @@
padding: 20px; padding: 20px;
} }
.app-detail { .app-name {
height: 130px; margin: 10px 0px;
overflow-x: hidden;
overflow-y: hidden;
}
.app-tools {
margin-bottom: 0;
} }

View File

@ -308,12 +308,6 @@ $(function() {
} }
} }
// fancyboxes
// Is this actually used anywhere?
$("a.popupbox").colorbox({
'transition' : 'elastic'
});
NavUpdate(); NavUpdate();
// Allow folks to stop the ajax page updates with the pause/break key // Allow folks to stop the ajax page updates with the pause/break key
$(document).keydown(function(event) { $(document).keydown(function(event) {
@ -374,30 +368,38 @@ function NavUpdate() {
updateCountsOnly = false; updateCountsOnly = false;
if(data.network || data.home || data.intros || data.mail || data.all_events || data.notify) {
$('#notifications-btn').css('color', 'white').prop('disabled', false);
}
else {
$('#notifications-btn').css('color', 'grey').prop('disabled', true);
$('#navbar-collapse-1').removeClass('in');
}
if(data.network == 0) { if(data.network == 0) {
data.network = ''; data.network = '';
$('.net-update').removeClass('show'); $('.net-update, .net-button').hide();
} else { } else {
$('.net-update').addClass('show'); $('.net-update, .net-button').show();
} }
$('.net-update').html(data.network); $('.net-update').html(data.network);
if(data.home == 0) { data.home = ''; $('.home-update').removeClass('show'); } else { $('.home-update').addClass('show'); } if(data.home == 0) { data.home = ''; $('.home-update, .home-button').hide(); } else { $('.home-update, .home-button').show(); }
$('.home-update').html(data.home); $('.home-update').html(data.home);
if(data.intros == 0) { data.intros = ''; $('.intro-update').removeClass('show'); } else { $('.intro-update').addClass('show'); } if(data.intros == 0) { data.intros = ''; $('.intro-update, .intro-button').hide(); } else { $('.intro-update, .intro-button').show(); }
$('.intro-update').html(data.intros); $('.intro-update').html(data.intros);
if(data.mail == 0) { data.mail = ''; $('.mail-update').removeClass('show'); } else { $('.mail-update').addClass('show'); } if(data.mail == 0) { data.mail = ''; $('.mail-update, .mail-button').hide(); } else { $('.mail-update, .mail-button').show(); }
$('.mail-update').html(data.mail); $('.mail-update').html(data.mail);
if(data.notify == 0) { data.notify = ''; $('.notify-update').removeClass('show'); } else { $('.notify-update').addClass('show'); } if(data.notify == 0) { data.notify = ''; $('.notify-update, .notify-button').hide(); } else { $('.notify-update, .notify-button').show(); }
$('.notify-update').html(data.notify); $('.notify-update').html(data.notify);
if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show'); } else { $('.register-update').addClass('show'); } if(data.register == 0) { data.register = ''; $('.register-update').removeClass('show'); } else { $('.register-update').addClass('show'); }
$('.register-update').html(data.register); $('.register-update').html(data.register);
if(data.events == 0) { data.events = ''; $('.events-update').removeClass('show'); } else { $('.events-update').addClass('show'); } if(data.events == 0) { data.events = ''; $('.events-update, .events-button').hide(); } else { $('.events-update, .events-button').show(); }
$('.events-update').html(data.events); $('.events-update').html(data.events);
if(data.events_today == 0) { data.events_today = ''; $('.events-today-update').removeClass('show'); } else { $('.events-today-update').addClass('show'); $('.events-update').html(data.events + '*'); } if(data.events_today == 0) { data.events_today = ''; $('.events-today-update').removeClass('show'); } else { $('.events-today-update').addClass('show'); $('.events-update').html(data.events + '*'); }
@ -409,7 +411,7 @@ function NavUpdate() {
if(data.birthdays_today == 0) { data.birthdays_today = ''; $('.birthdays-today-update').removeClass('show'); } else { $('.birthdays-today-update').addClass('show'); $('.birthdays-update').html(data.birthdays + '*'); } if(data.birthdays_today == 0) { data.birthdays_today = ''; $('.birthdays-today-update').removeClass('show'); } else { $('.birthdays-today-update').addClass('show'); $('.birthdays-update').html(data.birthdays + '*'); }
$('.birthdays-today-update').html(data.birthdays_today); $('.birthdays-today-update').html(data.birthdays_today);
if(data.all_events == 0) { data.all_events = ''; $('.all_events-update').removeClass('show'); } else { $('.all_events-update').addClass('show'); } if(data.all_events == 0) { data.all_events = ''; $('.all_events-update, .all_events-button').hide(); } else { $('.all_events-update, .all_events-button').show(); }
$('.all_events-update').html(data.all_events); $('.all_events-update').html(data.all_events);
if(data.all_events_today == 0) { data.all_events_today = ''; $('.all_events-today-update').removeClass('show'); } else { $('.all_events-today-update').addClass('show'); $('.all_events-update').html(data.all_events + '*'); } if(data.all_events_today == 0) { data.all_events_today = ''; $('.all_events-today-update').removeClass('show'); } else { $('.all_events-today-update').addClass('show'); $('.all_events-update').html(data.all_events + '*'); }

View File

@ -1188,6 +1188,16 @@ margin-right: 50px;
color: $toolicon_colour; color: $toolicon_colour;
} }
.generic-icons-nav {
font-size: 1.2em;
margin-right: 7px;
}
nav .navbar-collapse.in .generic-icons,
nav .navbar-collapse.collapsing .generic-icons {
color: $nav_active_icon_colour;
}
.admin-icons { .admin-icons {
font-size: 1.2em; font-size: 1.2em;
color: $toolicon_colour; color: $toolicon_colour;
@ -1524,7 +1534,6 @@ img.mail-conv-sender-photo {
/* nav bootstrap */ /* nav bootstrap */
nav img { nav img {
border-radius: $radiuspx; border-radius: $radiuspx;
} }
@ -1747,22 +1756,11 @@ blockquote {
border-radius: $radiuspx; border-radius: $radiuspx;
} }
nav .badge:hover {
background-color: #999;
}
nav .badge.home-update, nav .badge.home-update,
nav .badge.notify-update, nav .badge.notify-update,
nav .badge.intro-update, nav .badge.intro-update,
nav .badge.mail-update { nav .badge.mail-update {
background-color:#C9302C; background-color: #C9302C;
}
nav .badge.home-update:hover,
nav .badge.notify-update:hover,
nav .badge.intro-update:hover,
nav .badge.mail-update:hover {
background-color:#D9534F;
} }
.dropdown-menu { .dropdown-menu {
@ -1830,7 +1828,8 @@ nav .badge.mail-update:hover {
#expand-aside, #expand-aside,
#expand-tabs, #expand-tabs,
#doco-return-to-top-btn, #doco-return-to-top-btn,
#context-help-btn { #context-help-btn,
#notifications-btn {
color: $nav_active_icon_colour; color: $nav_active_icon_colour;
padding: 7px 10px; padding: 7px 10px;
} }
@ -2103,6 +2102,8 @@ dl.bb-dl > dd > li {
.app-icon { .app-icon {
font-size: 80px; font-size: 80px;
color: $toolicon_colour;
text-shadow: 3px 3px 3px lightgrey;
text-align: center; text-align: center;
} }

View File

@ -53,8 +53,8 @@ $(document).ready(function() {
}); });
$('.usermenu-head').click(function() { $('.usermenu-head').click(function() {
if($('#navbar-collapse-1').hasClass('in')){ if($('#navbar-collapse-1, #navbar-collapse-2').hasClass('in')){
$('#navbar-collapse-1').removeClass('in'); $('#navbar-collapse-1, #navbar-collapse-2').removeClass('in');
} }
}); });

View File

@ -1,6 +1,7 @@
{{if !$navapps}}
<div class="app-container"> <div class="app-container">
<div class="app-detail{{if $deleted}} app-deleted{{/if}}"> <div class="app-detail{{if $deleted}} app-deleted{{/if}}">
<a href="{{$app.url}}" {{if $ap.target}}target="{{$ap.target}}" {{/if}}{{if $app.desc}}title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}>{{if $icon}}<i class="app-icon fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="80" height="80" />{{/if}} <a href="{{$app.url}}"{{if $app.target}} target="{{$app.target}}"{{/if}}{{if $app.desc}} title="{{$app.desc}}{{if $app.price}} ({{$app.price}}){{/if}}"{{else}}title="{{$app.name}}"{{/if}}>{{if $icon}}<i class="app-icon fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="80" height="80" />{{/if}}
<div class="app-name" style="text-align:center;">{{$app.name}}</div> <div class="app-name" style="text-align:center;">{{$app.name}}</div>
</a> </a>
</div> </div>
@ -10,17 +11,21 @@
<a href="{{$app.page}}" class="btn btn-default" title="{{$purchase}}" ><i class="fa fa-external"></i></a> <a href="{{$app.page}}" class="btn btn-default" title="{{$purchase}}" ><i class="fa fa-external"></i></a>
</div> </div>
{{/if}} {{/if}}
{{if $install || $update || $delete }}
<div class="app-tools"> <div class="app-tools">
<form action="{{$hosturl}}appman" method="post"> <form action="{{$hosturl}}appman" method="post">
<input type="hidden" name="papp" value="{{$app.papp}}" /> <input type="hidden" name="papp" value="{{$app.papp}}" />
{{if $install || $update || $delete }}
{{if $install}}<button type="submit" name="install" value="{{$install}}" class="btn btn-default btn-xs" title="{{$install}}" ><i class="fa fa-arrow-circle-o-down" ></i></button>{{/if}} {{if $install}}<button type="submit" name="install" value="{{$install}}" class="btn btn-default btn-xs" title="{{$install}}" ><i class="fa fa-arrow-circle-o-down" ></i></button>{{/if}}
{{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default btn-xs" title="{{$edit}}" ><i class="fa fa-pencil" ></i></button>{{/if}} {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-default btn-xs" title="{{$edit}}" ><i class="fa fa-pencil" ></i></button>{{/if}}
{{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-default btn-xs" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-trash-o drop-icons"></i></button>{{/if}} {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-default btn-xs" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-trash-o drop-icons"></i></button>{{/if}}
{{/if}}
<button type="submit" name="feature" value="feature" class="btn btn-default btn-xs" ><i class="fa fa-star"{{if $featured}} style="color: gold"{{/if}}></i></button> <button type="submit" name="feature" value="feature" class="btn btn-default btn-xs" ><i class="fa fa-star"{{if $featured}} style="color: gold"{{/if}}></i></button>
</form> </form>
</div> </div>
{{/if}} {{/if}}
{{/if}}
</div> </div>
{{else}}
<li><a href="{{$app.url}}">{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}</a></li>
{{/if}}

View File

@ -1,36 +1,40 @@
<h2>{{$banner}}</h2> <div class="generic-content-wrapper">
<div class="section-title-wrapper">
<h2>{{$banner}}</h2>
</div>
<div class="section-content-wrapper">
<form action="appman" method="post">
{{if $guid}}
<input type="hidden" name="guid" value="{{$guid}}" />
{{/if}}
{{if $author}}
<input type="hidden" name="author" value="{{$author}}" />
{{/if}}
{{if $addr}}
<input type="hidden" name="addr" value="{{$addr}}" />
{{/if}}
<input type="hidden" name="requires" value="{{$requires}}" />
<input type="hidden" name="system" value="{{$system}}" />
<input type="hidden" name="plugin" value="{{$plugin}}" />
<form action="appman" method="post"> {{include file="field_input.tpl" field=$name}}
{{if $guid}} {{include file="field_input.tpl" field=$categories}}
<input type="hidden" name="guid" value="{{$guid}}" /> {{include file="field_input.tpl" field=$url}}
{{/if}} {{include file="field_textarea.tpl" field=$desc}}
{{if $author}} {{include file="field_input.tpl" field=$photo}}
<input type="hidden" name="author" value="{{$author}}" /> {{include file="field_input.tpl" field=$version}}
{{/if}} {{include file="field_input.tpl" field=$price}}
{{if $addr}} {{include file="field_input.tpl" field=$page}}
<input type="hidden" name="addr" value="{{$addr}}" />
{{/if}}
<input type="hidden" name="requires" value="{{$requires}}" /> {{if $embed}}
<input type="hidden" name="system" value="{{$system}}" /> {{include file="field_textarea.tpl" field=$embed}}
<input type="hidden" name="plugin" value="{{$plugin}}" /> {{/if}}
<input type="submit" name="submit" value="{{$submit}}" />
{{include file="field_input.tpl" field=$name}} </form>
{{include file="field_input.tpl" field=$categories}} </div>
{{include file="field_input.tpl" field=$url}} </div>
{{include file="field_textarea.tpl" field=$desc}}
{{include file="field_input.tpl" field=$photo}}
{{include file="field_input.tpl" field=$version}}
{{include file="field_input.tpl" field=$price}}
{{include file="field_input.tpl" field=$page}}
{{if $embed}}
{{include file="field_textarea.tpl" field=$embed}}
{{/if}}
<input type="submit" name="submit" value="{{$submit}}" />
</form>

View File

@ -1,8 +1,11 @@
<div class="generic-content-wrapper-styled"> <div class="generic-content-wrapper">
<h3>{{$title}}{{$cat}}</h3> <div class="section-title-wrapper">
<h2>{{$title}}{{$cat}}</h2>
{{foreach $apps as $ap}} </div>
{{$ap}} <div class="section-content-wrapper">
{{/foreach}} {{foreach $apps as $ap}}
<div class="clear"></div> {{$ap}}
{{/foreach}}
<div class="clear"></div>
</div>
</div> </div>

View File

@ -1,225 +1,190 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
<div> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-2">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> <span class="icon-bar"></span>
<span class="icon-bar"></span> </button>
</button> {{if $localuser}}
<button id="expand-tabs" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#tabs-collapse-1"> <button id="notifications-btn" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1" style="color: grey;">
<i class="fa fa-arrow-circle-down" id="expand-tabs-icon"></i> <i class="fa fa-exclamation-circle"></i>
</button> </button>
<button id="expand-aside" type="button" class="navbar-toggle" data-toggle="offcanvas" data-target="#region_1"> {{/if}}
<i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i> <button id="expand-tabs" type="button" class="navbar-toggle" data-toggle="collapse" data-target="#tabs-collapse-1">
</button> <i class="fa fa-arrow-circle-down" id="expand-tabs-icon"></i>
{{if $nav.help.6}} </button>
<button id="context-help-btn" class="navbar-toggle" type="button" onclick="contextualHelp(); return false;"> <button id="expand-aside" type="button" class="navbar-toggle" data-toggle="offcanvas" data-target="#region_1">
<i class="fa fa-question-circle"></i> <i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i>
</button> </button>
{{/if}} {{if $nav.help.6}}
</div> <button id="context-help-btn" class="navbar-toggle" type="button" onclick="contextualHelp(); return false;">
{{if $userinfo}} <i class="fa fa-question-circle"></i>
<div class="usermenu-head dropdown-toggle fakelink" data-toggle="dropdown"> </button>
<img id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"> {{/if}}
<span class="caret" id="usermenu-caret"></span> {{if $userinfo}}
</div> <div class="usermenu-head dropdown-toggle fakelink" data-toggle="dropdown">
{{if $localuser}} <img id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}">
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar"> <span class="caret" id="usermenu-caret"></span>
{{foreach $nav.usermenu as $usermenu}}
<li role="presentation"><a href="{{$usermenu.0}}" title="{{$usermenu.3}}" role="menuitem" id="{{$usermenu.4}}">{{$usermenu.1}}</a></li>
{{/foreach}}
<li role="presentation" class="divider"></li>
{{if $nav.profiles}}<li role="presentation"><a href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}" role="menuitem" id="{{$nav.profiles.4}}">{{$nav.profiles.1}}</a></li>{{/if}}
{{if $nav.settings}}<li role="presentation"><a href="{{$nav.settings.0}}" title="{{$nav.settings.3}}" role="menuitem" id="{{$nav.settings.4}}">{{$nav.settings.1}}</a></li>{{/if}}
{{if $nav.manage}}<li role="presentation"><a href="{{$nav.manage.0}}" title="{{$nav.manage.3}}" role="menuitem" id="{{$nav.manage.4}}">{{$nav.manage.1}}</a></li>{{/if}}
{{if $nav.channels}}
{{foreach $nav.channels as $chan}}
<li role="presentation" class="nav-channel-select"><a href="manage/{{$chan.channel_id}}" title="{{$chan.channel_name}}" role="menuitem">{{$chan.channel_name}}</a></li>
{{/foreach}}
{{/if}}
{{if $nav.admin}}
<li role="presentation" class="divider"></li>
<li role="presentation"><a href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" role="menuitem" id="{{$nav.admin.4}}">{{$nav.admin.1}}</a></li>
{{/if}}
{{if $nav.logout}}
<li role="presentation" class="divider"></li>
<li role="presentation"><a href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" role="menuitem" id="{{$nav.logout.4}}">{{$nav.logout.1}}</a></li>
{{/if}}
</ul>
{{else}}
{{if $nav.rusermenu}}
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
<li role="presentation"><a href="{{$nav.rusermenu.0}}" role="menuitem">{{$nav.rusermenu.1}}</a></li>
<li role="presentation"><a href="{{$nav.rusermenu.2}}" role="menuitem">{{$nav.rusermenu.3}}</a></li>
</ul>
{{/if}}
{{/if}}
{{/if}}
</div> </div>
<div class="collapse navbar-collapse" id="navbar-collapse-1"> {{if $localuser}}
<ul class="nav navbar-nav navbar-left"> <ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
{{foreach $nav.usermenu as $usermenu}}
<li role="presentation"><a href="{{$usermenu.0}}" title="{{$usermenu.3}}" role="menuitem" id="{{$usermenu.4}}">{{$usermenu.1}}</a></li>
{{/foreach}}
{{if $nav.manage}}
<li role="presentation"><a href="{{$nav.manage.0}}" title="{{$nav.manage.3}}" role="menuitem" id="{{$nav.manage.4}}">{{$nav.manage.1}}</a></li>
{{/if}}
{{if $nav.channels}}
{{foreach $nav.channels as $chan}}
<li role="presentation" class="nav-channel-select"><a href="manage/{{$chan.channel_id}}" title="{{$chan.channel_name}}" role="menuitem">{{$chan.channel_name}}</a></li>
{{/foreach}}
{{/if}}
<li role="presentation" class="divider"></li>
{{if $nav.profiles}}
<li role="presentation"><a href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}" role="menuitem" id="{{$nav.profiles.4}}">{{$nav.profiles.1}}</a></li>
{{/if}}
{{if $nav.settings}}
<li role="presentation"><a href="{{$nav.settings.0}}" title="{{$nav.settings.3}}" role="menuitem" id="{{$nav.settings.4}}">{{$nav.settings.1}}</a></li>
{{/if}}
{{if $nav.admin}}
<li role="presentation" class="divider"></li>
<li role="presentation"><a href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" role="menuitem" id="{{$nav.admin.4}}">{{$nav.admin.1}}</a></li>
{{/if}}
{{if $nav.logout}}
<li role="presentation" class="divider"></li>
<li role="presentation"><a href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" role="menuitem" id="{{$nav.logout.4}}">{{$nav.logout.1}}</a></li>
{{/if}}
</ul>
{{else}}
{{if $nav.rusermenu}}
<ul class="dropdown-menu" role="menu" aria-labelledby="avatar">
<li role="presentation"><a href="{{$nav.rusermenu.0}}" role="menuitem">{{$nav.rusermenu.1}}</a></li>
<li role="presentation"><a href="{{$nav.rusermenu.2}}" role="menuitem">{{$nav.rusermenu.3}}</a></li>
</ul>
{{/if}}
{{/if}}
{{/if}}
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav navbar-left">
{{if $nav.network}} {{if $nav.network}}
<li class="{{$sel.network}} hidden-xs"> <li class="{{$sel.network}} net-button" style="display: none;">
<a href="{{$nav.network.0}}" title="{{$nav.network.3}}" id="{{$nav.network.4}}"><i class="fa fa-th"></i></a> <a href="#" title="{{$nav.network.3}}" id="{{$nav.network.4}}" data-toggle="dropdown" rel="#nav-network-menu">
<span class="net-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-network-menu"></span> <i class="fa fa-fw fa-th"></i>
<ul id="nav-network-menu" role="menu" class="dropdown-menu" rel="network"> <span class="net-update badge"></span>
{{* <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li> *}} </a>
<li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">{{$nav.network.mark.1}}</a></li> <ul id="nav-network-menu" role="menu" class="dropdown-menu" rel="network">
<li class="empty">{{$emptynotifications}}</li> {{* <li id="nav-network-see-all"><a href="{{$nav.network.all.0}}">{{$nav.network.all.1}}</a></li> *}}
</ul> <li id="nav-network-mark-all"><a href="#" onclick="markRead('network'); return false;">{{$nav.network.mark.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.network}} visible-xs"> </ul>
<a href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><i class="fa fa-th"></i></a> </li>
<span class="net-update badge" rel="#nav-network-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.home}} {{if $nav.home}}
<li class="{{$sel.home}} hidden-xs"> <li class="{{$sel.home}} home-button" style="display: none;">
<a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" id="{{$nav.home.4}}"><i class="fa fa-home"></i></a> <a class="{{$nav.home.2}}" href="#" title="{{$nav.home.3}}" id="{{$nav.home.4}}" data-toggle="dropdown" rel="#nav-home-menu">
<span class="home-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-home-menu"></span> <i class="fa fa-fw fa-home"></i>
<ul id="nav-home-menu" class="dropdown-menu" rel="home"> <span class="home-update badge"></span>
{{* <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li> *}} </a>
<li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">{{$nav.home.mark.1}}</a></li> <ul id="nav-home-menu" class="dropdown-menu" rel="home">
<li class="empty">{{$emptynotifications}}</li> {{* <li id="nav-home-see-all"><a href="{{$nav.home.all.0}}">{{$nav.home.all.1}}</a></li> *}}
</ul> <li id="nav-home-mark-all"><a href="#" onclick="markRead('home'); return false;">{{$nav.home.mark.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.home}} visible-xs"> </ul>
<a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><i class="fa fa-home"></i></a> </li>
<span class="home-update badge" rel="#nav-home-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.messages}} {{if $nav.messages}}
<li class="{{$sel.messages}} hidden-xs"> <li class="{{$sel.messages}} mail-button" style="display: none;">
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" id="{{$nav.messages.4}}"><i class="fa fa-envelope"></i></a> <a class="{{$nav.messages.2}}" href="#" title="{{$nav.messages.3}}" id="{{$nav.messages.4}}" data-toggle="dropdown" rel="#nav-messages-menu">
<span class="mail-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-messages-menu"></span> <i class="fa fa-fw fa-envelope"></i>
<ul id="nav-messages-menu" class="dropdown-menu" rel="messages"> <span class="mail-update badge"></span>
<li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li> </a>
<li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">{{$nav.messages.mark.1}}</a></li> <ul id="nav-messages-menu" class="dropdown-menu" rel="messages">
<li class="empty">{{$emptynotifications}}</li> <li id="nav-messages-see-all"><a href="{{$nav.messages.all.0}}">{{$nav.messages.all.1}}</a></li>
</ul> <li id="nav-messages-mark-all"><a href="#" onclick="markRead('messages'); return false;">{{$nav.messages.mark.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.messages}} visible-xs"> </ul>
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="fa fa-envelope"></i></a> </li>
<span class="mail-update badge" rel="#nav-messages-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.all_events}} {{if $nav.all_events}}
<li class="{{$sel.all_events}} hidden-xs"> <li class="{{$sel.all_events}} all_events-button" style="display: none;">
<a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" id='{{$nav.all_events.4}}'><i class="fa fa-calendar"></i></a> <a class="{{$nav.all_events.2}}" href="#" title="{{$nav.all_events.3}}" id="{{$nav.all_events.4}}" data-toggle="dropdown" rel="#nav-all_events-menu">
<span class="all_events-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-all_events-menu"></span> <i class="fa fa-fw fa-calendar"></i>
<ul id="nav-all_events-menu" class="dropdown-menu" rel="all_events"> <span class="all_events-update badge"></span>
<li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li> </a>
<li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">{{$nav.all_events.mark.1}}</a></li> <ul id="nav-all_events-menu" class="dropdown-menu" rel="all_events">
<li class="empty">{{$emptynotifications}}</li> <li id="nav-all_events-see-all"><a href="{{$nav.all_events.all.0}}">{{$nav.all_events.all.1}}</a></li>
</ul> <li id="nav-all_events-mark-all"><a href="#" onclick="markRead('all_events'); return false;">{{$nav.all_events.mark.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.all_events}} visible-xs"> </ul>
<a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><i class="fa fa-calendar"></i></a> </li>
<span class="all_events-update badge" rel="#nav-all_events-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.intros}} {{if $nav.intros}}
<li class="{{$sel.intros}} hidden-xs"> <li class="{{$sel.intros}} intro-button" style="display: none;">
<a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" id="{{$nav.intros.4}}"><i class="fa fa-user"></i></a> <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" id="{{$nav.intros.4}}" data-toggle="dropdown" rel="#nav-intros-menu">
<span class="intro-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-intros-menu"></span> <i class="fa fa-fw fa-users"></i>
<ul id="nav-intros-menu" class="dropdown-menu" rel="intros"> <span class="intro-update badge"></span>
<li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li> </a>
<li class="empty">{{$emptynotifications}}</li> <ul id="nav-intros-menu" class="dropdown-menu" rel="intros">
</ul> <li id="nav-intros-see-all"><a href="{{$nav.intros.all.0}}">{{$nav.intros.all.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.intros}} visible-xs"> </ul>
<a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><i class="fa fa-user"></i></a> </li>
<span class="intro-update badge" rel="#nav-intros-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.notifications}} {{if $nav.notifications}}
<li class="{{$sel.notifications}} hidden-xs"> <li class="{{$sel.notifications}} notify-button" style="display: none;">
<a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}" id="{{$nav.notifications.4}}"><i class="fa fa-exclamation"></i></a> <a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}" id="{{$nav.notifications.4}}" data-toggle="dropdown" rel="#nav-notify-menu">
<span class="notify-update badge dropdown-toggle" data-toggle="dropdown" rel="#nav-notify-menu"></span> <i class="fa fa-fw fa-exclamation"></i>
<ul id="nav-notify-menu" class="dropdown-menu" rel="notify"> <span class="notify-update badge"></span>
<li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li> </a>
<li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">{{$nav.notifications.mark.1}}</a></li> <ul id="nav-notify-menu" class="dropdown-menu" rel="notify">
<li class="empty">{{$emptynotifications}}</li> <li id="nav-notify-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li>
</ul> <li id="nav-notify-mark-all"><a href="#" onclick="markRead('notify'); return false;">{{$nav.notifications.mark.1}}</a></li>
</li> <li class="empty">{{$emptynotifications}}</li>
<li class="{{$sel.notifications}} visible-xs"> </ul>
<a href="{{$nav.notifications.0}}" title="{{$nav.notifications.1}}"><i class="fa fa-exclamation"></i></a> </li>
<span class="notify-update badge" rel="#nav-notify-menu"></span>
</li>
{{/if}} {{/if}}
{{if $nav.login && !$userinfo}} {{if $nav.login && !$userinfo}}
<li class=""> <li class="">
<a href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">{{$nav.loginmenu.1.1}}</a> <a href="#" title="{{$nav.loginmenu.1.3}}" id="{{$nav.loginmenu.1.4}}" data-toggle="modal" data-target="#nav-login">{{$nav.loginmenu.1.1}}</a>
</li> </li>
{{/if}} {{/if}}
{{if $nav.register}} {{if $nav.register}}
<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li> <li class="{{$nav.register.2}} hidden-xs"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li>
{{/if}} {{/if}}
{{if $nav.alogout}} {{if $nav.alogout}}
<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li> <li class="{{$nav}}-alogout.2 hidden-xs"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li>
{{/if}} {{/if}}
</ul> </ul>
<ul class="nav navbar-nav navbar-right hidden-xs">
<ul class="nav navbar-nav navbar-right"> <li class="">
<li class="hidden-xs"> <form method="get" action="search" role="search">
<form method="get" action="search" role="search"> <div id="nav-search-spinner"></div><input class="fa-search" id="nav-search-text" type="text" value="" placeholder="&#xf002; {{$help}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();"/>
<div id="nav-search-spinner"></div><input class="fa-search" id="nav-search-text" type="text" value="" placeholder="&#xf002; {{$help}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();"/> </form>
</form> </li>
</li> {{if $nav.help.6}}
<li class="visible-xs"> <li class="{{$sel.help}}">
<a href="/search" title="{{$nav.search.3}}"><i class="fa fa-search"></i></a> <a class="{{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}" onclick="contextualHelp(); return false;"><i class="fa fa-question-circle"></i></a>
</li> </li>
{{if $powered_by}}
<div id="powered-by">{{$powered_by}}</div>
{{/if}} {{/if}}
{{if ! $navapps}} <li class="">
{{if $nav.directory}} <a href="#" data-toggle="dropdown"><i class="fa fa-bars"></i></a>
<li class="{{$sel.directory}}"> <ul class="dropdown-menu">
<a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" id="{{$nav.directory.4}}"><i class="fa fa-sitemap"></i></a> {{foreach $navapps as $navapp}}
</li> {{$navapp}}
{{/if}} {{/foreach}}
{{if $localuser}}
{{if $nav.apps}} <li class="divider"></li>
<li class="{{$sel.apps}}"> <li><a href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>Add Apps</a></li>
<a class="{{$nav.apps.2}}" href="{{$nav.apps.0}}" title="{{$nav.apps.3}}" id="{{$nav.apps.4}}"><i class="fa fa-cogs"></i></a> {{/if}}
</li> </ul>
{{/if}} </li>
</ul>
{{if $nav.help}} </div>
<li class="{{$sel.help}}{{if $nav.help.6}} hidden-xs{{/if}}"> <div class="collapse navbar-collapse" id="navbar-collapse-2">
<a class="{{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}"{{if $nav.help.6}} onclick="contextualHelp(); return false;"{{/if}}>{{if $nav.help.6}}<i class="fa fa-question-circle"></i>{{else}}<i class="fa fa-question"></i>{{/if}}</a> <ul class="nav navbar-nav navbar-left hidden-sm hidden-md hidden-lg">
</li>
{{/if}}
{{/if}}
{{if $navapps}}
{{if $nav.help.6}}
<li class="{{$sel.help}} hidden-xs">
<a class="{{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}" onclick="contextualHelp(); return false;"><i class="fa fa-question-circle"></i></a>
</li>
{{/if}}
<li class="dropdown-toggle" data-toggle="dropdown">
<a href="#"><i class="fa fa-bars"></i></a>
</li>
{{$navapps}}
{{/if}}
</ul>
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-2">
{{$navapps}} {{$navapps}}
</div> </ul>
</div> </div>
{{if $nav.help.6}} {{if $nav.help.6}}
@ -231,3 +196,4 @@
</div> </div>
</div> </div>
{{/if}} {{/if}}
</div>

View File

@ -1,9 +0,0 @@
<ul class="dropdown-menu" style="max-height: 80vh">
{{foreach $apps as $app}}
<li><a href="{{$app.url}}">{{if $icon}}<i class="app-icon fa fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" />{{/if}}&nbsp;{{$app.name}}</a></li>
{{/foreach}}
{{if $localuser}}
<li class="divider"></li>
<li><a href="/apps/edit"><i class="app-icon fa fa-plus-circle"></i>&nbsp;Add Apps</a></li>
{{/if}}
</ul>