Merge pull request #228 from fabrixxm/master

settings tabs, notifications js and quattro
This commit is contained in:
friendica 2012-04-12 05:47:57 -07:00
commit 23b08e3ea7
17 changed files with 143 additions and 130 deletions

View File

@ -137,13 +137,12 @@
$('#mail-update-li').html(mail); $('#mail-update-li').html(mail);
var eNotif = $(data).find('notif') var eNotif = $(data).find('notif')
notif = eNotif.attr('count');
if (notif>=0){ if (eNotif.children("note").length==0){
$("#nav-notifications-linkmenu").addClass("on"); $("#nav-notifications-menu").html(notifications_empty);
} else {
nnm = $("#nav-notifications-menu"); nnm = $("#nav-notifications-menu");
nnm.html(notifications_all + notifications_mark); nnm.html(notifications_all + notifications_mark);
//nnm.attr('popup','true'); //nnm.attr('popup','true');
eNotif.children("note").each(function(){ eNotif.children("note").each(function(){
e = $(this); e = $(this);
@ -151,10 +150,12 @@
html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen')); html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'), e.attr('seen'));
nnm.append(html); nnm.append(html);
}); });
}
notif = eNotif.attr('count');
if (notif>0){
$("#nav-notifications-linkmenu").addClass("on");
} else { } else {
// $("#nav-notifications-linkmenu").removeClass("on"); $("#nav-notifications-linkmenu").removeClass("on");
// $("#nav-notifications-menu").html(notifications_empty);
} }
if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') } if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') }
$('#notify-update').html(notif); $('#notify-update').html(notif);
@ -609,4 +610,4 @@ function previewTheme(elm) {
$('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>'); $('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><a href="' + data.img + '"><img src="' + data.img + '" width="320" height="240" alt="' + theme + '" /></a>');
}); });
} }

View File

@ -15,10 +15,6 @@ function get_theme_config_file($theme){
} }
function settings_init(&$a) { function settings_init(&$a) {
if(local_user()) {
profile_load($a,$a->user['nickname']);
}
// These lines provide the javascript needed by the acl selector // These lines provide the javascript needed by the acl selector
$a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ; $a->page['htmlhead'] .= "<script> var ispublic = '" . t('everybody') . "';" ;
@ -47,6 +43,47 @@ function settings_init(&$a) {
EOT; EOT;
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings',
'selected' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
),
array(
'label' => t('Connector settings'),
'url' => $a->get_baseurl(true).'/settings/connectors',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
),
array(
'label' => t('Plugin settings'),
'url' => $a->get_baseurl(true).'/settings/addon',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
),
array(
'label' => t('Connected apps'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
),
array(
'label' => t('Export personal data'),
'url' => $a->get_baseurl(true) . '/uexport',
'selected' => ''
)
);
$tabtpl = get_markup_template("generic_links_widget.tpl");
$a->page['aside'] = replace_macros($tabtpl, array(
'$title' => t('Settings'),
'$items' => $tabs,
));
} }
@ -479,44 +516,7 @@ function settings_content(&$a) {
return; return;
} }
$tabs = array(
array(
'label' => t('Account settings'),
'url' => $a->get_baseurl(true).'/settings',
'sel' => (($a->argc == 1)?'active':''),
),
array(
'label' => t('Display settings'),
'url' => $a->get_baseurl(true).'/settings/display',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
),
array(
'label' => t('Connector settings'),
'url' => $a->get_baseurl(true).'/settings/connectors',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
),
array(
'label' => t('Plugin settings'),
'url' => $a->get_baseurl(true).'/settings/addon',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
),
array(
'label' => t('Connections'),
'url' => $a->get_baseurl(true) . '/settings/oauth',
'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
),
array(
'label' => t('Export personal data'),
'url' => $a->get_baseurl(true) . '/uexport',
'sel' => ''
)
);
$tabtpl = get_markup_template("common_tabs.tpl");
$tabs = replace_macros($tabtpl, array(
'$tabs' => $tabs,
));
if(($a->argc > 1) && ($a->argv[1] === 'oauth')) { if(($a->argc > 1) && ($a->argv[1] === 'oauth')) {
@ -524,7 +524,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_oauth_edit.tpl"); $tpl = get_markup_template("settings_oauth_edit.tpl");
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_oauth"), '$form_security_token' => get_form_security_token("settings_oauth"),
'$tabs' => $tabs,
'$title' => t('Add application'), '$title' => t('Add application'),
'$submit' => t('Submit'), '$submit' => t('Submit'),
'$cancel' => t('Cancel'), '$cancel' => t('Cancel'),
@ -551,7 +550,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_oauth_edit.tpl"); $tpl = get_markup_template("settings_oauth_edit.tpl");
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_oauth"), '$form_security_token' => get_form_security_token("settings_oauth"),
'$tabs' => $tabs,
'$title' => t('Add application'), '$title' => t('Add application'),
'$submit' => t('Update'), '$submit' => t('Update'),
'$cancel' => t('Cancel'), '$cancel' => t('Cancel'),
@ -594,7 +592,6 @@ function settings_content(&$a) {
'$consumerkey' => t('Client key starts with'), '$consumerkey' => t('Client key starts with'),
'$noname' => t('No name'), '$noname' => t('No name'),
'$remove' => t('Remove authorization'), '$remove' => t('Remove authorization'),
'$tabs' => $tabs,
'$apps' => $r, '$apps' => $r,
)); ));
return $o; return $o;
@ -614,7 +611,6 @@ function settings_content(&$a) {
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$form_security_token' => get_form_security_token("settings_addon"), '$form_security_token' => get_form_security_token("settings_addon"),
'$title' => t('Plugin Settings'), '$title' => t('Plugin Settings'),
'$tabs' => $tabs,
'$settings_addons' => $settings_addons '$settings_addons' => $settings_addons
)); ));
return $o; return $o;
@ -658,7 +654,6 @@ function settings_content(&$a) {
'$form_security_token' => get_form_security_token("settings_connectors"), '$form_security_token' => get_form_security_token("settings_connectors"),
'$title' => t('Connector Settings'), '$title' => t('Connector Settings'),
'$tabs' => $tabs,
'$diasp_enabled' => $diasp_enabled, '$diasp_enabled' => $diasp_enabled,
'$ostat_enabled' => $ostat_enabled, '$ostat_enabled' => $ostat_enabled,
@ -735,7 +730,6 @@ function settings_content(&$a) {
$tpl = get_markup_template("settings_display.tpl"); $tpl = get_markup_template("settings_display.tpl");
$o = replace_macros($tpl, array( $o = replace_macros($tpl, array(
'$tabs' => $tabs,
'$ptitle' => t('Display Settings'), '$ptitle' => t('Display Settings'),
'$form_security_token' => get_form_security_token("settings_display"), '$form_security_token' => get_form_security_token("settings_display"),
'$submit' => t('Submit'), '$submit' => t('Submit'),
@ -920,7 +914,6 @@ function settings_content(&$a) {
); );
$o .= replace_macros($stpl,array( $o .= replace_macros($stpl,array(
'$tabs' => $tabs,
'$ptitle' => t('Account Settings'), '$ptitle' => t('Account Settings'),
'$submit' => t('Submit'), '$submit' => t('Submit'),

View File

@ -0,0 +1,11 @@
<div class="widget">
{{if $title}}<h3>$title</h3>{{endif}}
{{if $desc}}<div class="desc">$desc</div>{{endif}}
<ul>
{{ for $items as $item }}
<li class="tool"><a href="$item.url" class="{{ if $item.selected }}selected{{ endif }}">$item.label</a></li>
{{ endfor }}
</ul>
</div>

View File

@ -1,5 +1,3 @@
$tabs
<h1>$ptitle</h1> <h1>$ptitle</h1>
$nickname_block $nickname_block

View File

@ -1,5 +1,3 @@
$tabs
<h1>$title</h1> <h1>$title</h1>

View File

@ -1,5 +1,3 @@
$tabs
<h1>$title</h1> <h1>$title</h1>
<div class="connector_statusmsg">$diasp_enabled</div> <div class="connector_statusmsg">$diasp_enabled</div>

View File

@ -1,5 +1,3 @@
$tabs
<h1>$ptitle</h1> <h1>$ptitle</h1>
<form action="settings/display" id="settings-form" method="post" autocomplete="off" > <form action="settings/display" id="settings-form" method="post" autocomplete="off" >

View File

@ -1,5 +1,3 @@
$tabs
<h1>$title</h1> <h1>$title</h1>

View File

@ -1,5 +1,3 @@
$tabs
<h1>$title</h1> <h1>$title</h1>
<form method="POST"> <form method="POST">

View File

@ -48,6 +48,9 @@
.icon.s10.unlock { .icon.s10.unlock {
background-image: url("../../../images/icons/10/unlock.png"); background-image: url("../../../images/icons/10/unlock.png");
} }
.icon.s10.plugin {
background-image: url("../../../images/icons/10/plugin.png");
}
.icon.s10.type-unkn { .icon.s10.type-unkn {
background-image: url("../../../images/icons/10/zip.png"); background-image: url("../../../images/icons/10/zip.png");
} }
@ -100,6 +103,9 @@
.icon.s16.unlock { .icon.s16.unlock {
background-image: url("../../../images/icons/16/unlock.png"); background-image: url("../../../images/icons/16/unlock.png");
} }
.icon.s16.plugin {
background-image: url("../../../images/icons/16/plugin.png");
}
.icon.s16.type-unkn { .icon.s16.type-unkn {
background-image: url("../../../images/icons/16/zip.png"); background-image: url("../../../images/icons/16/zip.png");
} }
@ -152,6 +158,9 @@
.icon.s22.unlock { .icon.s22.unlock {
background-image: url("../../../images/icons/22/unlock.png"); background-image: url("../../../images/icons/22/unlock.png");
} }
.icon.s22.plugin {
background-image: url("../../../images/icons/22/plugin.png");
}
.icon.s22.type-unkn { .icon.s22.type-unkn {
background-image: url("../../../images/icons/22/zip.png"); background-image: url("../../../images/icons/22/zip.png");
} }
@ -204,6 +213,9 @@
.icon.s48.unlock { .icon.s48.unlock {
background-image: url("../../../images/icons/48/unlock.png"); background-image: url("../../../images/icons/48/unlock.png");
} }
.icon.s48.plugin {
background-image: url("../../../images/icons/48/plugin.png");
}
.icon.s48.type-unkn { .icon.s48.type-unkn {
background-image: url("../../../images/icons/48/zip.png"); background-image: url("../../../images/icons/48/zip.png");
} }
@ -501,6 +513,17 @@ ul.menu-popup .empty {
text-align: center; text-align: center;
color: #9eabb0; color: #9eabb0;
} }
ul.menu-popup .toolbar {
background-color: #9eabb0;
height: auto;
overflow: auto;
}
ul.menu-popup .toolbar a {
float: right;
}
ul.menu-popup .toolbar a:hover {
background-color: #ffffff;
}
/* autocomplete popup */ /* autocomplete popup */
.acpopup { .acpopup {
max-height: 150px; max-height: 150px;

View File

@ -0,0 +1,11 @@
<div class="widget">
{{if $title}}<h3>$title</h3>{{endif}}
{{if $desc}}<div class="desc">$desc</div>{{endif}}
<ul>
{{ for $items as $item }}
<li class="tool {{ if $item.selected }}selected{{ endif }}"><a href="$item.url" class="link">$item.label</a></li>
{{ endfor }}
</ul>
</div>

View File

@ -48,6 +48,9 @@
.icon.s10.unlock { .icon.s10.unlock {
background-image: url("../../../images/icons/10/unlock.png"); background-image: url("../../../images/icons/10/unlock.png");
} }
.icon.s10.plugin {
background-image: url("../../../images/icons/10/plugin.png");
}
.icon.s10.type-unkn { .icon.s10.type-unkn {
background-image: url("../../../images/icons/10/zip.png"); background-image: url("../../../images/icons/10/zip.png");
} }
@ -100,6 +103,9 @@
.icon.s16.unlock { .icon.s16.unlock {
background-image: url("../../../images/icons/16/unlock.png"); background-image: url("../../../images/icons/16/unlock.png");
} }
.icon.s16.plugin {
background-image: url("../../../images/icons/16/plugin.png");
}
.icon.s16.type-unkn { .icon.s16.type-unkn {
background-image: url("../../../images/icons/16/zip.png"); background-image: url("../../../images/icons/16/zip.png");
} }
@ -152,6 +158,9 @@
.icon.s22.unlock { .icon.s22.unlock {
background-image: url("../../../images/icons/22/unlock.png"); background-image: url("../../../images/icons/22/unlock.png");
} }
.icon.s22.plugin {
background-image: url("../../../images/icons/22/plugin.png");
}
.icon.s22.type-unkn { .icon.s22.type-unkn {
background-image: url("../../../images/icons/22/zip.png"); background-image: url("../../../images/icons/22/zip.png");
} }
@ -204,6 +213,9 @@
.icon.s48.unlock { .icon.s48.unlock {
background-image: url("../../../images/icons/48/unlock.png"); background-image: url("../../../images/icons/48/unlock.png");
} }
.icon.s48.plugin {
background-image: url("../../../images/icons/48/plugin.png");
}
.icon.s48.type-unkn { .icon.s48.type-unkn {
background-image: url("../../../images/icons/48/zip.png"); background-image: url("../../../images/icons/48/zip.png");
} }
@ -501,6 +513,17 @@ ul.menu-popup .empty {
text-align: center; text-align: center;
color: #9eabb0; color: #9eabb0;
} }
ul.menu-popup .toolbar {
background-color: #9eabb0;
height: auto;
overflow: auto;
}
ul.menu-popup .toolbar a {
float: right;
}
ul.menu-popup .toolbar a:hover {
background-color: #ffffff;
}
/* autocomplete popup */ /* autocomplete popup */
.acpopup { .acpopup {
max-height: 150px; max-height: 150px;

View File

@ -13,6 +13,7 @@
&.link { background-image: url("../../../images/icons/@{size}/link.png"); } &.link { background-image: url("../../../images/icons/@{size}/link.png"); }
&.lock { background-image: url("../../../images/icons/@{size}/lock.png"); } &.lock { background-image: url("../../../images/icons/@{size}/lock.png"); }
&.unlock { background-image: url("../../../images/icons/@{size}/unlock.png"); } &.unlock { background-image: url("../../../images/icons/@{size}/unlock.png"); }
&.plugin { background-image: url("../../../images/icons/@{size}/plugin.png"); }
&.type-unkn { background-image: url("../../../images/icons/@{size}/zip.png"); } &.type-unkn { background-image: url("../../../images/icons/@{size}/zip.png"); }
&.type-audio{ background-image: url("../../../images/icons/@{size}/audio.png"); } &.type-audio{ background-image: url("../../../images/icons/@{size}/audio.png"); }
&.type-video{ background-image: url("../../../images/icons/@{size}/video.png"); } &.type-video{ background-image: url("../../../images/icons/@{size}/video.png"); }

View File

@ -43,8 +43,7 @@
<li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a> <li id="nav-notifications-linkmenu" class="nav-menu-icon"><a href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1"><span class="icon s22 notify">$nav.notifications.1</span></a>
<span id="notify-update" class="nav-notify"></span> <span id="notify-update" class="nav-notify"></span>
<ul id="nav-notifications-menu" class="menu-popup"> <ul id="nav-notifications-menu" class="menu-popup">
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li> <li id="nav-notifications-mark-all" class="toolbar"><a href="#" onclick="notifyMarkAll(); return false;" title="$nav.notifications.mark.1"><span class="icon s10 edit"></span></a></a><a href="$nav.notifications.all.0" title="$nav.notifications.all.1"><span class="icon s10 plugin"></span></a></li>
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
<li class="empty">$emptynotifications</li> <li class="empty">$emptynotifications</li>
</ul> </ul>
</li> </li>
@ -92,40 +91,3 @@
<li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li> <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
</ul> </ul>
{#
{{ if $nav.logout }}<a id="nav-logout-link" class="nav-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a> {{ endif }}
{{ if $nav.login }}<a id="nav-login-link" class="nav-login-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a> {{ endif }}
<span id="nav-link-wrapper" >
{{ if $nav.register }}<a id="nav-register-link" class="nav-commlink $nav.register.2" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>{{ endif }}
<a id="nav-help-link" class="nav-link $nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
{{ if $nav.apps }}<a id="nav-apps-link" class="nav-link $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>{{ endif }}
<a id="nav-search-link" class="nav-link $nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
<a id="nav-directory-link" class="nav-link $nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
{{ if $nav.admin }}<a id="nav-admin-link" class="nav-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a>{{ endif }}
{{ if $nav.notifications }}
<a id="nav-notify-link" class="nav-commlink $nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a>
<span id="notify-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.messages }}
<a id="nav-messages-link" class="nav-commlink $nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>
<span id="mail-update" class="nav-ajax-left"></span>
{{ endif }}
{{ if $nav.manage }}<a id="nav-manage-link" class="nav-commlink $nav.manage.2" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>{{ endif }}
{{ if $nav.settings }}<a id="nav-settings-link" class="nav-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a>{{ endif }}
{{ if $nav.profiles }}<a id="nav-profiles-link" class="nav-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a>{{ endif }}
</span>
<span id="nav-end"></span>
<span id="banner">$banner</span>
#}

View File

@ -227,6 +227,12 @@ ul.menu-popup {
text-align: center; text-align: center;
color: @MenuEmpty; color: @MenuEmpty;
} }
.toolbar {
background-color: @MenuEmpty;
height: auto; overflow: auto;
a { float: right; }
a:hover { background-color: @MenuBg; }
}
} }

View File

@ -1,5 +1,9 @@
<?php <?php
$color = get_pconfig(local_user(), "quattro","color"); $color = false;
if (local_user()) {
$color = get_pconfig(local_user(), "quattro","color");
$quattro_align = get_pconfig(local_user(), 'quattro', 'align' );
}
if ($color===false) $color="dark"; if ($color===false) $color="dark";
@ -7,3 +11,13 @@
echo file_get_contents("$THEMEPATH/$color/style.css"); echo file_get_contents("$THEMEPATH/$color/style.css");
} }
if($quattro_align=="center"){
echo "
html { width: 100%; margin:0px; padding:0px; }
body {
margin: 50px auto;
width: 900px;
}
";
}

View File

@ -1,20 +0,0 @@
<?php
$quattro_align = get_pconfig(local_user(), 'quattro', 'align' );
if(local_user() && $quattro_align=="center"){
$a->page['htmlhead'].="
<style>
html { width: 100%; margin:0px; padding:0px; }
body {
margin: 50px auto;
width: 900px;
}
</style>
";
}