aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addon/calc/calc.php2
-rw-r--r--addon/convert/convert.php2
-rw-r--r--addon/sniper/sniper.php2
-rw-r--r--addon/tictac/tictac.php2
-rw-r--r--boot.php127
-rw-r--r--images/connect-bg.pngbin0 -> 689 bytes
-rw-r--r--images/icons/gear_22.pngbin0 -> 886 bytes
-rw-r--r--images/icons/notify_off_22.pngbin0 -> 884 bytes
-rw-r--r--images/icons/notify_on_22.pngbin0 -> 561 bytes
-rw-r--r--include/main.js58
-rw-r--r--include/nav.php45
-rw-r--r--include/template_processor.php16
-rw-r--r--include/text.php36
-rw-r--r--index.php5
-rw-r--r--mod/admin.php2
-rw-r--r--mod/apps.php19
-rw-r--r--mod/community.php2
-rw-r--r--mod/contacts.php2
-rw-r--r--mod/directory.php2
-rw-r--r--mod/help.php3
-rw-r--r--mod/message.php2
-rw-r--r--mod/network.php2
-rw-r--r--mod/notifications.php2
-rw-r--r--mod/ping.php153
-rw-r--r--mod/profile.php5
-rw-r--r--mod/profiles.php2
-rw-r--r--mod/search.php2
-rw-r--r--mod/settings.php2
-rw-r--r--view/apps.tpl7
-rw-r--r--view/contact_block.tpl9
-rw-r--r--view/default.php3
-rw-r--r--view/diaspora_vcard.tpl44
-rw-r--r--view/nav.tpl114
-rw-r--r--view/profile_vcard.tpl47
-rw-r--r--view/theme/clean/nav.tpl51
-rw-r--r--view/theme/darkness/nav.tpl51
-rw-r--r--view/theme/darkzero/nav.tpl51
-rw-r--r--view/theme/duepuntozero/nav.tpl51
-rw-r--r--view/theme/easterbunny/nav.tpl51
-rw-r--r--view/theme/goldenrod/nav.tpl51
-rw-r--r--view/theme/greenzero/nav.tpl51
-rw-r--r--view/theme/loozah/nav.tpl51
-rw-r--r--view/theme/purplezero/nav.tpl51
-rw-r--r--view/theme/quattro/colors.less63
-rw-r--r--view/theme/quattro/experimental0
-rw-r--r--view/theme/quattro/quattro.less243
-rw-r--r--view/theme/quattro/style.css304
-rw-r--r--view/theme/quattro/style.less13
-rw-r--r--view/theme/shady/nav.tpl51
-rw-r--r--view/theme/three-d/nav.tpl51
50 files changed, 1693 insertions, 210 deletions
diff --git a/addon/calc/calc.php b/addon/calc/calc.php
index 8c079dc7a..47fb22d33 100644
--- a/addon/calc/calc.php
+++ b/addon/calc/calc.php
@@ -17,7 +17,7 @@ function calc_uninstall() {
}
function calc_app_menu($a,&$b) {
- $b['app_menu'] .= '<div class="app-title"><a href="calc">Calculator</a></div>';
+ $b['app_menu'][] = Array('url'=>'calc', 'name'=>'Calculator');
}
diff --git a/addon/convert/convert.php b/addon/convert/convert.php
index 7a4c90a53..aaa56a43e 100644
--- a/addon/convert/convert.php
+++ b/addon/convert/convert.php
@@ -15,7 +15,7 @@ function convert_uninstall() {
}
function convert_app_menu($a,&$b) {
- $b['app_menu'] .= '<div class="app-title"><a href="convert">Units Conversion</a></div>';
+ $b['app_menu'][] = Array('url'=>'convert', 'name'=>'Units Conversion');
}
diff --git a/addon/sniper/sniper.php b/addon/sniper/sniper.php
index d431a2466..c7d29cfdf 100644
--- a/addon/sniper/sniper.php
+++ b/addon/sniper/sniper.php
@@ -22,7 +22,7 @@ function sniper_uninstall() {
}
function sniper_app_menu($a,&$b) {
- $b['app_menu'] .= '<div class="app-title"><a href="sniper">Hot Shot Sniper</a></div>';
+ $b['app_menu'][] = Array('url'=>'sniper', 'name'=>'Hot Shot Sniper');
}
diff --git a/addon/tictac/tictac.php b/addon/tictac/tictac.php
index d6cec08a0..cc2701f8b 100644
--- a/addon/tictac/tictac.php
+++ b/addon/tictac/tictac.php
@@ -17,7 +17,7 @@ function tictac_uninstall() {
}
function tictac_app_menu($a,&$b) {
- $b['app_menu'] .= '<div class="app-title"><a href="tictac">' . t('Three Dimensional Tic-Tac-Toe') . '</a></div>';
+ $b['app_menu'][] = Array('url'=>'tictac', 'name'=>'Three Dimensional Tic-Tac-Toe');
}
diff --git a/boot.php b/boot.php
index a196ccadc..d7c00428f 100644
--- a/boot.php
+++ b/boot.php
@@ -5,6 +5,7 @@ require_once('include/network.php');
require_once('include/plugin.php');
require_once('include/text.php');
require_once("include/pgettext.php");
+require_once('include/nav.php');
define ( 'FRIENDIKA_VERSION', '2.2.1093' );
@@ -245,7 +246,7 @@ class App {
public $timezone;
public $interactive = true;
public $plugins;
- public $apps;
+ public $apps = Array();
public $identities;
private $scheme;
@@ -809,8 +810,8 @@ function profile_load(&$a, $nickname, $profile = 0) {
$a->page['aside'] .= profile_sidebar($a->profile, $block);
- if(! $block)
- $a->page['aside'] .= contact_block();
+ /*if(! $block)
+ $a->page['aside'] .= contact_block();*/
return;
}}
@@ -838,132 +839,69 @@ function profile_sidebar($profile, $block = 0) {
$a = get_app();
$o = '';
- $location = '';
+ $location = false;
$address = false;
+ $pdesc = true;
if((! is_array($profile)) && (! count($profile)))
return $o;
call_hooks('profile_sidebar_enter', $profile);
- $fullname = '<div class="fn">' . $profile['name'] . '</div>';
-
- $pdesc = '<div class="title">' . $profile['pdesc'] . '</div>';
-
- $tabs = '';
-
- $photo = '<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="' . $profile['photo'] . '" alt="' . $profile['name'] . '" /></div>';
-
+
// don't show connect link to yourself
- $connect = (($profile['uid'] != local_user()) ? '<li><a id="dfrn-request-link" href="dfrn_request/' . $profile['nickname'] . '">' . t('Connect') . '</a></li>' : '');
+ $connect = (($profile['uid'] != local_user()) ? t('Connect') : False);
// don't show connect link to authenticated visitors either
if((remote_user()) && ($_SESSION['visitor_visiting'] == $profile['uid']))
- $connect = '';
+ $connect = False;
+
if((x($profile,'address') == 1)
|| (x($profile,'locality') == 1)
|| (x($profile,'region') == 1)
|| (x($profile,'postal-code') == 1)
|| (x($profile,'country-name') == 1))
- $address = true;
-
- if($address) {
- $location .= '<div class="location"><span class="location-label">' . t('Location:') . '</span> <div class="adr">';
- $location .= ((x($profile,'address') == 1) ? '<div class="street-address">' . $profile['address'] . '</div>' : '');
- $location .= (((x($profile,'locality') == 1) || (x($profile,'region') == 1) || (x($profile,'postal-code') == 1))
- ? '<span class="city-state-zip"><span class="locality">' . $profile['locality'] . '</span>'
- . ((x($profile['locality']) == 1) ? t(', ') : '')
- . '<span class="region">' . $profile['region'] . '</span>'
- . ' <span class="postal-code">' . $profile['postal-code'] . '</span></span>' : '');
- $location .= ((x($profile,'country-name') == 1) ? ' <span class="country-name">' . $profile['country-name'] . '</span>' : '');
- $location .= '</div></div><div class="profile-clear"></div>';
+ $location = t('Location:');
- }
+ $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False);
- $gender = ((x($profile,'gender') == 1) ? '<div class="mf"><span class="gender-label">' . t('Gender:') . '</span> <span class="x-gender">' . $profile['gender'] . '</span></div><div class="profile-clear"></div>' : '');
+ $marital = ((x($profile,'marital') == 1) ? t('Status:') : False);
- $pubkey = ((x($profile,'pubkey') == 1) ? '<div class="key" style="display:none;">' . $profile['pubkey'] . '</div>' : '');
-
- $marital = ((x($profile,'marital') == 1) ? '<div class="marital"><span class="marital-label"><span class="heart">&hearts;</span> ' . t('Status:') . ' </span><span class="marital-text">' . $profile['marital'] . '</span></div><div class="profile-clear"></div>' : '');
-
- $homepage = ((x($profile,'homepage') == 1) ? '<div class="homepage"><span class="homepage-label">' . t('Homepage:') . ' </span><span class="homepage-url">' . linkify($profile['homepage']) . '</span></div><div class="profile-clear"></div>' : '');
+ $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False);
if(($profile['hidewall'] || $block) && (! local_user()) && (! remote_user())) {
- $location = $pdesc = $connect = $gender = $marital = $homepage = '';
+ $location = $pdesc = $connect = $gender = $marital = $homepage = False;
}
- $podloc = $a->get_baseurl();
- $searchable = (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' );
- $nickname = $profile['nickname'];
- $photo300 = $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg';
- $photo100 = $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg';
- $photo50 = $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg';
-
- $diaspora_vcard = <<< EOT
-
-<div style="display:none;">
-<dl class='entity_nickname'>
-<dt>Nickname</dt>
-<dd>
-<a class="nickname url uid" href="$podloc/" rel="me">$nickname</a>
-</dd>
-</dl>
-<dl class='entity_fn'>
-<dt>Full name</dt>
-<dd>
-<span class='fn'>$fullname</span>
-</dd>
-</dl>
-<dl class="entity_url">
-<dt>URL</dt>
-<dd>
-<a class="url" href="$podloc/" id="pod_location" rel="me">$podloc/</a>
-</dd>
-</dl>
-<dl class="entity_photo">
-<dt>Photo</dt>
-<dd>
-<img class="photo avatar" height="300px" width="300px" src="$photo300">
-</dd>
-</dl>
-<dl class="entity_photo_medium">
-<dt>Photo</dt>
-<dd>
-<img class="photo avatar" height="100px" width="100px" src="$photo100">
-</dd>
-</dl>
-<dl class="entity_photo_small">
-<dt>Photo</dt>
-<dd>
-<img class="photo avatar" height="50px" width="50px" src="$photo50">
-</dd>
-</dl>
-<dl class="entity_searchable">
-<dt>Searchable</dt>
-<dd>
-<span class="searchable">$searchable</span>
-</dd>
-</dl>
-</div>
-EOT;
+ $diaspora = array(
+ 'podloc' => $a->get_baseurl(),
+ 'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ),
+ 'nickname ' => $profile['nickname'],
+ 'fullname' => $profile['name'],
+ 'photo300 ' => $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
+ 'photo100 ' => $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
+ 'photo50 ' => $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg',
+ );
+
+ if (!$block){
+ $contact_block = contact_block();
+ }
$tpl = get_markup_template('profile_vcard.tpl');
$o .= replace_macros($tpl, array(
- '$fullname' => $fullname,
- '$pdesc' => $pdesc,
- '$tabs' => $tabs,
- '$photo' => $photo,
+ '$profile' => $profile,
'$connect' => $connect,
'$location' => $location,
'$gender' => $gender,
- '$pubkey' => $pubkey,
+ '$pdesc' => $pdesc,
'$marital' => $marital,
'$homepage' => $homepage,
- '$diaspora' => $diaspora_vcard
+ '$diaspora' => $diaspora,
+ '$contact_block' => $contact_block,
));
@@ -1171,3 +1109,4 @@ function load_contact_links($uid) {
$a->contacts = $ret;
return;
}}
+
diff --git a/images/connect-bg.png b/images/connect-bg.png
new file mode 100644
index 000000000..0611c73e5
--- /dev/null
+++ b/images/connect-bg.png
Binary files differ
diff --git a/images/icons/gear_22.png b/images/icons/gear_22.png
new file mode 100644
index 000000000..e363de00d
--- /dev/null
+++ b/images/icons/gear_22.png
Binary files differ
diff --git a/images/icons/notify_off_22.png b/images/icons/notify_off_22.png
new file mode 100644
index 000000000..0520af327
--- /dev/null
+++ b/images/icons/notify_off_22.png
Binary files differ
diff --git a/images/icons/notify_on_22.png b/images/icons/notify_on_22.png
new file mode 100644
index 000000000..a8b305245
--- /dev/null
+++ b/images/icons/notify_on_22.png
Binary files differ
diff --git a/include/main.js b/include/main.js
index d59c99223..83dcc720c 100644
--- a/include/main.js
+++ b/include/main.js
@@ -34,6 +34,9 @@
msie = $.browser.msie ;
+ /* setup navbar menus */
+
+
/* setup onoff widgets */
$(".onoff input").each(function(){
@@ -55,34 +58,51 @@
/* setup field_richtext */
setupFieldRichtext();
-
- /* load tinyMCE if needed and setup field_richtext */
- /*if(typeof tinyMCE == "undefined") {
- window.tinyMCEPreInit = {
- suffix:"",
- base: baseurl+"/library/tinymce/jscripts/tiny_mce/",
- query:"",
- };
- $.getScript(baseurl +"/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js", setupFieldRichtext);
- } else {
- }*/
+
+ /* popup menus */
+ $('a[rel^=#]').click(function(e){
+ menu = $( $(this).attr('rel') );
+ e.stopPropagation();
+ if (menu.attr('popup')=="false") return false;
+ $(this).parent().toggleClass("selected");
+ menu.toggle();
+ return false;
+ });
+
+ /* notifications template */
+ var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
+ var notifications_empty = unescape($("#nav-notifications-menu").html());
/* nav update event */
$('nav').bind('nav-update', function(e,data){;
var net = $(data).find('net').text();
- if(net == 0) { net = ''; $('#net-update').hide() } else { $('#net-update').show() }
+ if(net == 0) { net = ''; $('#net-update').removeClass('show') } else { $('#net-update').addClass('show') }
$('#net-update').html(net);
+
var home = $(data).find('home').text();
- if(home == 0) { home = ''; $('#home-update').hide() } else { $('#home-update').show() }
+ if(home == 0) { home = ''; $('#home-update').removeClass('show') } else { $('#home-update').addClass('show') }
$('#home-update').html(home);
- var mail = $(data).find('mail').text();
- if(mail == 0) { mail = ''; $('#mail-update').hide() } else { $('#mail-update').show() }
- $('#mail-update').html(mail);
- var intro = $(data).find('intro').text();
- if(intro == 0) { intro = ''; $('#notify-update').hide() } else { $('#notify-update').show() }
- $('#notify-update').html(intro);
+
+ var eNotif = $(data).find('notif')
+ notif = eNotif.attr('count');
+ if (notif>0){
+ nnm = $("#nav-notifications-menu");
+ nnm.html("");
+ nnm.attr('popup','true');
+ eNotif.children("note").each(function(){
+ e = $(this);
+ text = e.text().format("<span class='contactname'>"+e.attr('name')+"</span>");
+ html = notifications_tpl.format(e.attr('href'),e.attr('photo'), text, e.attr('date'));
+ nnm.append(html);
+ });
+ } else {
+ $("#nav-notifications-menu").html(notifications_empty);
+ }
+ if(notif == 0) { notif = ''; $('#notify-update').removeClass('show') } else { $('#notify-update').addClass('show') }
+ $('#notify-update').html(notif);
+
});
diff --git a/include/nav.php b/include/nav.php
index 895c321e6..b290a8da2 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -37,11 +37,29 @@ function nav(&$a) {
* Display login or logout
*/
+ $nav['usermenu']=array();
+ $userinfo = null;
+
if(local_user()) {
$nav['logout'] = Array('logout',t('Logout'), "", t('End this session'));
+
+ // user menu
+ $nav['usermenu'][] = Array('profile/' . $a->user['nickname'], t('Status'), "", t('Your posts and conversations'));
+ $nav['usermenu'][] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page'));
+ $nav['usermenu'][] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos'));
+ $nav['usermenu'][] = Array('events/', t('Events'), "", t('Your events'));
+ $nav['usermenu'][] = Array('notes/', t('Personal notes'), "", t('Your personal photos'));
+
+ // user info
+ $r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid']));
+ $userinfo = array(
+ 'icon' => (count($r) ? $r[0]['micro']: $a->get_baseurl()."/images/default-profile-mm.jpg"),
+ 'name' => $a->user['username'],
+ );
+
}
else {
- $nav['login'] = Array('login',t('Login'), ($a->module == 'login'?'nav-selected':''), t('Sign in'));
+ $nav['login'] = Array('login',t('Login'), ($a->module == 'login'?'selected':''), t('Sign in'));
}
@@ -63,7 +81,7 @@ function nav(&$a) {
if(! get_config('system','hide_help'))
$nav['help'] = array($help_url, t('Help'), "", t('Help and documentation'));
- if($a->apps)
+ if(count($a->apps)>0)
$nav['apps'] = array('apps', t('Apps'), "", t('Addon applications, utilities, games'));
$nav['search'] = array('search', t('Search'), "", t('Search site content'));
@@ -137,8 +155,31 @@ function nav(&$a) {
'$sitelocation' => $sitelocation,
'$nav' => $nav,
'$banner' => $banner,
+ '$emptynotifications' => t('Nothing new here'),
+ '$userinfo' => $userinfo,
+ '$sel' => $a->nav_sel,
+ '$apps' => $a->apps,
));
call_hooks('page_header', $a->page['nav']);
+}
+/*
+ * Set a menu item in navbar as selected
+ *
+ */
+function nav_set_selected($item){
+ $a = get_app();
+ $a->nav_sel = array(
+ 'community' => null,
+ 'network' => null,
+ 'home' => null,
+ 'profiles' => null,
+ 'notifications' => null,
+ 'messages' => null,
+ 'directyory' => null,
+ 'settings' => null,
+ 'contacts' => null,
+ );
+ $a->nav_sel[$item] = 'selected';
}
diff --git a/include/template_processor.php b/include/template_processor.php
index 83f680f02..11769bbd0 100644
--- a/include/template_processor.php
+++ b/include/template_processor.php
@@ -11,15 +11,18 @@
private function _preg_error(){
switch(preg_last_error()){
- case PREG_INTERNAL_ERROR: die('PREG_INTERNAL_ERROR'); break;
- case PREG_BACKTRACK_LIMIT_ERROR: die('PREG_BACKTRACK_LIMIT_ERROR'); break;
- case PREG_RECURSION_LIMIT_ERROR: die('PREG_RECURSION_LIMIT_ERROR'); break;
- case PREG_BAD_UTF8_ERROR: die('PREG_BAD_UTF8_ERROR'); break;
- case PREG_BAD_UTF8_OFFSET_ERROR: die('PREG_BAD_UTF8_OFFSET_ERROR'); break;
+ case PREG_INTERNAL_ERROR: echo('PREG_INTERNAL_ERROR'); break;
+ case PREG_BACKTRACK_LIMIT_ERROR: echo('PREG_BACKTRACK_LIMIT_ERROR'); break;
+ case PREG_RECURSION_LIMIT_ERROR: echo('PREG_RECURSION_LIMIT_ERROR'); break;
+ case PREG_BAD_UTF8_ERROR: echo('PREG_BAD_UTF8_ERROR'); break;
+ case PREG_BAD_UTF8_OFFSET_ERROR: echo('PREG_BAD_UTF8_OFFSET_ERROR'); break;
default:
//die("Unknown preg error.");
return;
}
+ echo "<hr><pre>";
+ debug_print_backtrace();
+ die();
}
private function _build_replace($r, $prefix){
@@ -166,6 +169,9 @@
$s = preg_replace_callback('/\|\|([0-9]+)\|\|/', array($this, "_replcb_node"), $s);
if ($s==Null) $this->_preg_error();
+ // remove comments block
+ $s = preg_replace('/{#[^#]*#}/', "" , $s);
+
// replace strings recursively (limit to 10 loops)
$os = ""; $count=0;
while($os!=$s && $count<10){
diff --git a/include/text.php b/include/text.php
index e3d984a1f..78eae145e 100644
--- a/include/text.php
+++ b/include/text.php
@@ -539,22 +539,30 @@ function contact_block() {
$total = intval($r[0]['total']);
}
if(! $total) {
- $o .= '<h4 class="contact-h4">' . t('No contacts') . '</h4>';
- return $o;
- }
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT %d",
- intval($a->profile['uid']),
- intval($shown)
- );
- if(count($r)) {
- $o .= '<h4 class="contact-h4">' . sprintf( tt('%d Contact','%d Contacts', $total),$total) . '</h4><div id="contact-block">';
- foreach($r as $rr) {
- $o .= micropro($rr,true,'mpfriend');
- }
- $o .= '</div><div id="contact-block-end"></div>';
- $o .= '<div id="viewcontacts"><a id="viewcontacts-link" href="viewcontacts/' . $a->profile['nickname'] . '">' . t('View Contacts') . '</a></div>';
+ $contacts = t('No contacts');
+ $micropro = Null;
+ } else {
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 ORDER BY RAND() LIMIT %d",
+ intval($a->profile['uid']),
+ intval($shown)
+ );
+ if(count($r)) {
+ $contacts = sprintf( tt('%d Contact','%d Contacts', $total),$total);
+ $micropro = Array();
+ foreach($r as $rr) {
+ $micropro[] = micropro($rr,true,'mpfriend');
+ }
+ }
}
+
+ $tpl = get_markup_template('contact_block.tpl');
+ $o = replace_macros($tpl, array(
+ '$contacts' => $contacts,
+ '$nickname' => $a->profile['nickname'],
+ '$viewcontacts' => t('View Contacts'),
+ '$micropro' => $micropro,
+ ));
$arr = array('contacts' => $r, 'output' => $o);
diff --git a/index.php b/index.php
index 80e8ca3b0..51c87cae6 100644
--- a/index.php
+++ b/index.php
@@ -195,8 +195,8 @@ if(strlen($a->module)) {
if(! $a->module_loaded) {
- // Stupid browser tried to pre-fetch our ACL img template. Don't log the event or return anything - just quietly exit.
- if((x($_SERVER,'QUERY_STRING')) && strpos($_SERVER['QUERY_STRING'],'{0}') !== false) {
+ // Stupid browser tried to pre-fetch our Javascript img template. Don't log the event or return anything - just quietly exit.
+ if((x($_SERVER,'QUERY_STRING')) && preg_match('/{[0-9]}/',$_SERVER['QUERY_STRING']) !== 0) {
killme();
}
@@ -306,7 +306,6 @@ $a->page['content'] .= '<div id="pause"></div>';
*/
if($a->module != 'install') {
- require_once('nav.php');
nav($a);
}
diff --git a/mod/admin.php b/mod/admin.php
index e42fe93f6..da561d554 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -540,7 +540,7 @@ function admin_page_plugins(&$a){
}
$admin_form="";
- if (in_array($plugin, $a->plugins_admin)){
+ if (is_array($a->plugins_admin) && in_array($plugin, $a->plugins_admin)){
@require_once("addon/$plugin/$plugin.php");
$func = $plugin.'_plugin_admin';
$func($a, $admin_form);
diff --git a/mod/apps.php b/mod/apps.php
index 7a0a3f59e..8049b45fb 100644
--- a/mod/apps.php
+++ b/mod/apps.php
@@ -1,15 +1,18 @@
<?php
-
function apps_content(&$a) {
+ $title = t('Applications');
- $o .= '<h3>' . t('Applications') . '</h3>';
-
- if($a->apps)
- $o .= $a->apps;
- else
+ if(count($a->apps)==0)
notice( t('No installed applications.') . EOL);
- return $o;
-} \ No newline at end of file
+ $tpl = get_markup_template("apps.tpl");
+ return replace_macros($tpl, array(
+ '$title' => $title,
+ '$apps' => $a->apps,
+ ));
+
+
+
+}
diff --git a/mod/community.php b/mod/community.php
index cf43598b5..cb255029f 100644
--- a/mod/community.php
+++ b/mod/community.php
@@ -25,7 +25,7 @@ function community_content(&$a, $update = 0) {
$o .= '<h3>' . t('Community') . '</h3>';
if(! $update) {
- $o .= '<script> $(document).ready(function() { $(\'#nav-community-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('community');
$o .= '<div id="live-community"></div>' . "\r\n";
$o .= "<script> var profile_uid = -1; var netargs = '/?f='; var profile_page = " . $a->pager['page'] . "; </script>\r\n";
}
diff --git a/mod/contacts.php b/mod/contacts.php
index 307e9b15b..4decc5042 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -114,7 +114,7 @@ function contacts_content(&$a) {
$sort_type = 0;
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-contacts-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('contacts');
$_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
diff --git a/mod/directory.php b/mod/directory.php
index 0c60f04bf..93abcd5de 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -22,7 +22,7 @@ function directory_content(&$a) {
}
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-directory-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('directory');
if(x($_SESSION,'theme'))
unset($_SESSION['theme']);
diff --git a/mod/help.php b/mod/help.php
index 495b4ccc2..59e062f6d 100644
--- a/mod/help.php
+++ b/mod/help.php
@@ -17,6 +17,7 @@ function load_doc_file($s) {
function help_content(&$a) {
+ nav_set_selected('help');
global $lang;
@@ -41,4 +42,4 @@ function help_content(&$a) {
return Markdown($text);
-} \ No newline at end of file
+}
diff --git a/mod/message.php b/mod/message.php
index 165d63814..cc94730bc 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -36,7 +36,7 @@ function message_post(&$a) {
function message_content(&$a) {
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-messages-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('messages');
if(! local_user()) {
notice( t('Permission denied.') . EOL);
diff --git a/mod/network.php b/mod/network.php
index 1434f5d31..3c8125303 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -146,7 +146,7 @@ function network_content(&$a, $update = 0) {
}
}
- $o .= '<script> $(document).ready(function() { $(\'#nav-network-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('network');
$_SESSION['return_url'] = $a->cmd;
diff --git a/mod/notifications.php b/mod/notifications.php
index 8c32ee862..0c35d4cd1 100644
--- a/mod/notifications.php
+++ b/mod/notifications.php
@@ -64,7 +64,7 @@ function notifications_content(&$a) {
}
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-notify-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected("notifications");
if(($a->argc > 1) && ($a->argv[1] == 'all'))
$sql_extra = '';
diff --git a/mod/ping.php b/mod/ping.php
index 924f9ff76..8a3d284af 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -1,5 +1,5 @@
<?php
-
+require_once("include/datetime.php");
function ping_init(&$a) {
@@ -7,42 +7,161 @@ function ping_init(&$a) {
if(! local_user())
xml_status(0);
- $r = q("SELECT COUNT(*) AS `total` FROM `item`
- WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `wall` = 0 ",
+
+ $comments = array();
+ $likes = array();
+ $dislikes = array();
+ $friends = array();
+
+ $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`,
+ `item`.`author-link`, `item`.`author-avatar`, `item`.`created`,
+ `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
+ FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
+ WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
+ `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 0",
intval(local_user())
);
- $network = $r[0]['total'];
+
+ $network = count($r);
+ foreach ($r as $it) {
+ switch($it['verb']){
+ case 'http://activitystrea.ms/schema/1.0/like':
+ $likes[] = $it;
+ break;
+ case 'http://activitystrea.ms/schema/1.0/dislike':
+ $dislikes[] = $it;
+ break;
+ case 'http://activitystrea.ms/schema/1.0/make-friend':
+ $friends[] = $it;
+ break;
+ default:
+ if ($it['parent']!=$it['id']) $comments[] = $it;
+ }
+ }
+
- $r = q("SELECT COUNT(*) AS `total` FROM `item`
- WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `wall` = 1 ",
+ $r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`,
+ `item`.`author-link`, `item`.`author-avatar`, `item`.`created`,
+ `pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`
+ FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
+ WHERE `item`.`unseen` = 1 AND `item`.`visible` = 1 AND
+ `item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1",
intval(local_user())
- );
- $home = $r[0]['total'];
+ );
+ $home = count($r);
+ foreach ($r as $it) {
+ switch($it['verb']){
+ case 'http://activitystrea.ms/schema/1.0/like':
+ $likes[] = $it;
+ break;
+ case 'http://activitystrea.ms/schema/1.0/dislike':
+ $dislikes[] = $it;
+ break;
+ case 'http://activitystrea.ms/schema/1.0/make-friend':
+ $friends[] = $it;
+ break;
+ default:
+ if ($it['parent']!=$it['id']) $comments[] = $it;
+ }
+ }
- $r = q("SELECT COUNT(*) AS `total` FROM `intro`
- WHERE `uid` = %d AND `blocked` = 0 AND `ignore` = 0 ",
+
+ $intros1 = q("SELECT COUNT(`intro`.`id`) AS `total`, `intro`.`id`, `intro`.`datetime`,
+ `fcontact`.`name`, `fcontact`.`url`, `fcontact`.`photo`
+ FROM `intro` LEFT JOIN `fcontact` ON `intro`.`fid` = `fcontact`.`id`
+ WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`fid`!=0",
+ intval(local_user())
+ );
+ $intros2 = q("SELECT COUNT(`intro`.`id`) AS `total`, `intro`.`id`, `intro`.`datetime`,
+ `contact`.`name`, `contact`.`url`, `contact`.`photo`
+ FROM `intro` LEFT JOIN `contact` ON `intro`.`contact-id` = `contact`.`id`
+ WHERE `intro`.`uid` = %d AND `intro`.`blocked` = 0 AND `intro`.`ignore` = 0 AND `intro`.`contact-id`!=0",
intval(local_user())
);
- $intro = $r[0]['total'];
+
+ $intro = $intros1[0]['total'] + $intros2[0]['total'];
+ if ($intros1[0]['total']==0) $intros1=Array();
+ if ($intros2[0]['total']==0) $intros2=Array();
+ $intros = $intros1+$intros2;
+
+
$myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ;
- $r = q("SELECT COUNT(*) AS `total` FROM `mail`
+ $mails = q("SELECT *, COUNT(*) AS `total` FROM `mail`
WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ",
intval(local_user()),
dbesc($myurl)
);
- $mail = $r[0]['total'];
-
+ $mail = $mails[0]['total'];
+
if ($a->config['register_policy'] == REGISTER_APPROVE && is_site_admin()){
- $r = q("SELECT COUNT(*) AS `total` FROM `register`");
- $register = $r[0]['total'];
+ $regs = q("SELECT `contact`.`name`, `contact`.`url`, `contact`.`micro`, `register`.`created`, COUNT(*) as `total` FROM `contact` RIGHT JOIN `register` ON `register`.`uid`=`contact`.`uid` WHERE `contact`.`self`=1");
+ $register = $regs[0]['total'];
} else {
$register = "0";
}
+
+ function xmlize($href, $name, $url, $photo, $date, $message){
+ $notsxml = '<note href="%s" name="%s" url="%s" photo="%s" date="%s">%s</note>';
+ return sprintf ( $notsxml,
+ $href, $name, $url, $photo, $date, $message
+ );
+ }
header("Content-type: text/xml");
- echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\r\n<result><intro>$intro</intro><mail>$mail</mail><net>$network</net><home>$home</home><register>$register</register></result>\r\n";
+ echo "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>
+ <result>
+ <intro>$intro</intro>
+ <mail>$mail</mail>
+ <net>$network</net>
+ <home>$home</home>";
+ if ($register!=0) echo "<register>$register</register>";
+
+ $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends);
+
+ echo ' <notif count="'.$tot.'">';
+ if ($intro>0){
+ foreach ($intros as $i) {
+ echo xmlize( $a->get_baseurl().'/notifications/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), t("{0} wants to be your friend") );
+ };
+ }
+ if ($mail>0){
+ foreach ($mails as $i) {
+ echo xmlize( $a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), t("{0} sent you a message") );
+ };
+ }
+ if ($register>0){
+ foreach ($regs as $i) {
+ echo xmlize( $a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), t("{0} requested registration") );
+ };
+ }
+
+ if (count($comments)){
+ foreach ($comments as $i) {
+ echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} commented %s's post"), $i['pname'] ) );
+ };
+ }
+ if (count($likes)){
+ foreach ($likes as $i) {
+ echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} like %s's post"), $i['pname'] ) );
+ };
+ }
+ if (count($dislikes)){
+ foreach ($dislikes as $i) {
+ echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} dislike %s's post"), $i['pname'] ) );
+ };
+ }
+ if (count($friends)){
+ foreach ($friends as $i) {
+ echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friend with %s"), $i['pname'] ) );
+ };
+ }
+
+
+ echo " </notif>
+ </result>
+ ";
killme();
}
diff --git a/mod/profile.php b/mod/profile.php
index 2dd5df758..66fa17554 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -70,8 +70,9 @@ function profile_content(&$a, $update = 0) {
$a->profile['profile_uid'] = $update;
}
else {
- if($a->profile['profile_uid'] == local_user())
- $o .= '<script> $(document).ready(function() { $(\'#nav-home-link\').addClass(\'nav-selected\'); });</script>';
+ if($a->profile['profile_uid'] == local_user()) {
+ nav_set_selected('home');
+ }
}
$contact = null;
diff --git a/mod/profiles.php b/mod/profiles.php
index b269fa30c..5cc9fa38c 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -220,7 +220,7 @@ function profiles_post(&$a) {
function profiles_content(&$a) {
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-profiles-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('profiles');
if(! local_user()) {
notice( t('Permission denied.') . EOL);
diff --git a/mod/search.php b/mod/search.php
index 88ff9bbb7..f7ce75905 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -13,6 +13,8 @@ function search_content(&$a) {
notice( t('Public access denied.') . EOL);
return;
}
+
+ nav_set_selected('search');
require_once("include/bbcode.php");
require_once('include/security.php');
diff --git a/mod/settings.php b/mod/settings.php
index 1b4098de8..44ebdd77b 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -299,7 +299,7 @@ if(! function_exists('settings_content')) {
function settings_content(&$a) {
$o = '';
- $o .= '<script> $(document).ready(function() { $(\'#nav-settings-link\').addClass(\'nav-selected\'); });</script>';
+ nav_set_selected('settings');
if(! local_user()) {
notice( t('Permission denied.') . EOL );
diff --git a/view/apps.tpl b/view/apps.tpl
new file mode 100644
index 000000000..61ea9ee5f
--- /dev/null
+++ b/view/apps.tpl
@@ -0,0 +1,7 @@
+<h3>$title</h3>
+
+<ul>
+ {{ for $apps as $ap }}
+ <li><a href="$ap.url">$ap.name</a></li>
+ {{ endfor }}
+</ul>
diff --git a/view/contact_block.tpl b/view/contact_block.tpl
new file mode 100644
index 000000000..00b97a6d8
--- /dev/null
+++ b/view/contact_block.tpl
@@ -0,0 +1,9 @@
+<h4 class="contact-h4">$contacts</h4>
+{{ if $micropro }}
+ <div id="contact-block">
+ {{ for $micropro as $m }}
+ $m
+ {{ endfor }}
+ </div>
+ <div id="viewcontacts"><a id="viewcontacts-link" href="viewcontacts/$nickname">$viewcontacts</a></div>
+{{ endif }}
diff --git a/view/default.php b/view/default.php
index 0d4a69054..ab1cb0f09 100644
--- a/view/default.php
+++ b/view/default.php
@@ -6,8 +6,7 @@
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
<body>
- <header><?php if(x($page,'header')) echo $page['header']; ?></header>
- <nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>
+ <?php if(x($page,'nav')) echo $page['nav']; ?>
<aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>
<section><?php if(x($page,'content')) echo $page['content']; ?>
<div id="page-footer"></div>
diff --git a/view/diaspora_vcard.tpl b/view/diaspora_vcard.tpl
new file mode 100644
index 000000000..aa2c9eded
--- /dev/null
+++ b/view/diaspora_vcard.tpl
@@ -0,0 +1,44 @@
+<div style="display:none;">
+ <dl class='entity_nickname'>
+ <dt>Nickname</dt>
+ <dd>
+ <a class="nickname url uid" href="$podloc/" rel="me">$diaspora.nickname</a>
+ </dd>
+ </dl>
+ <dl class='entity_fn'>
+ <dt>Full name</dt>
+ <dd>
+ <span class='fn'>$diaspora.fullname</span>
+ </dd>
+ </dl>
+ <dl class="entity_url">
+ <dt>URL</dt>
+ <dd>
+ <a class="url" href="$diaspora.podloc/" id="pod_location" rel="me">$diaspora.podloc/</a>
+ </dd>
+ </dl>
+ <dl class="entity_photo">
+ <dt>Photo</dt>
+ <dd>
+ <img class="photo avatar" height="300px" width="300px" src="$diaspora.photo300">
+ </dd>
+ </dl>
+ <dl class="entity_photo_medium">
+ <dt>Photo</dt>
+ <dd>
+ <img class="photo avatar" height="100px" width="100px" src="$diaspora.photo100">
+ </dd>
+ </dl>
+ <dl class="entity_photo_small">
+ <dt>Photo</dt>
+ <dd>
+ <img class="photo avatar" height="50px" width="50px" src="$diaspora.photo50">
+ </dd>
+ </dl>
+ <dl class="entity_searchable">
+ <dt>Searchable</dt>
+ <dd>
+ <span class="searchable">$diaspora.searchable</span>
+ </dd>
+ </dl>
+</div>
diff --git a/view/nav.tpl b/view/nav.tpl
index 09a25ac83..cf1c2a227 100644
--- a/view/nav.tpl
+++ b/view/nav.tpl
@@ -1,6 +1,102 @@
-$langselector
+<header>
+ {# $langselector #}
-<div id="site-location">$sitelocation</div>
+ <div id="site-location">$sitelocation</div>
+ <div id="banner">$banner</div>
+</header>
+<nav>
+ <ul>
+ {{ if $userinfo }}
+ <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="$sitelocation"><img src="$userinfo.icon" alt="$userinfo.name"></a>
+ <ul id="nav-user-menu" class="menu-popup">
+ {{ for $nav.usermenu as $usermenu }}
+ <li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
+ {{ endfor }}
+
+ {{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
+ {{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
+ {{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </ul>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.community }}
+ <li id="nav-community-link" class="nav-menu $sel.community">
+ <a class="$nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.network }}
+ <li id="nav-network-link" class="nav-menu $sel.network">
+ <a class="$nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+ {{ if $nav.home }}
+ <li id="nav-home-link" class="nav-menu $sel.home">
+ <a class="$nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-notify"></span>
+ </li>
+ {{ endif }}
+
+ {{ if $nav.notifications }}
+ <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>
+ <ul id="nav-notifications-menu" class="menu-popup">
+ <li class="empty">$emptynotifications</li>
+ </ul>
+ </li>
+ {{ endif }}
+
+
+
+
+
+
+
+
+
+
+ <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">Site</span></a>
+ <ul id="nav-site-menu" class="menu-popup">
+ {{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
+ {{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
+
+ {{ if $nav.logout }}<li><a class="menu-sep $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>{{ endif }}
+ {{ if $nav.login }}<li><a class="$nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><li>{{ endif }}
+ </ul>
+ </li>
+
+
+ <li id="nav-help-link" class="nav-menu $sel.help">
+ <a class="$nav.help.2" target="friendika-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a>
+ </li>
+
+ <li id="nav-search-link" class="nav-menu $sel.search">
+ <a class="$nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a>
+ </li>
+ <li id="nav-directory-link" class="nav-menu $sel.directory">
+ <a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a>
+ </li>
+
+ {{ if $nav.apps }}
+ <li id="nav-apps-link" class="nav-menu $sel.apps">
+ <a class=" $nav.apps.2" href="#" rel="#nav-apps-menu" title="$nav.apps.3" >$nav.apps.1</a>
+ <ul id="nav-apps-menu" class="menu-popup">
+ {{ for $apps as $ap }}
+ <li><a href="$ap.url">$ap.name</a></li>
+ {{ endfor }}
+ </ul>
+ </li>
+ {{ endif }}
+ </ul>
+
+</nav>
+<ul id="nav-notifications-template" style="display:none;" rel="template">
+ <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li>
+</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 }}
@@ -18,17 +114,6 @@ $langselector
{{ 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.network }}
-<a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
-<span id="net-update" class="nav-ajax-left"></span>
-{{ endif }}
-{{ if $nav.home }}
-<a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
-<span id="home-update" class="nav-ajax-left"></span>
-{{ endif }}
-{{ if $nav.community }}
-<a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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>
@@ -43,7 +128,8 @@ $langselector
{{ 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 }}
-{{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+
</span>
<span id="nav-end"></span>
<span id="banner">$banner</span>
+#}
diff --git a/view/profile_vcard.tpl b/view/profile_vcard.tpl
index 34f265ee6..88111b0f1 100644
--- a/view/profile_vcard.tpl
+++ b/view/profile_vcard.tpl
@@ -1,29 +1,44 @@
<div class="vcard">
- $fullname
- $pdesc
- $tabs
+ <div class="fn">$profile.name</div>
+ {{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
+ <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo" alt="$profile.name"></div>
- $photo
- <div id="profile-extra-links">
- <ul>
- $connect
- </ul>
- </div>
- $location
+ {{ if $location }}
+ <dl class="location"><dt class="location-label">$location</dt>
+ <dd class="adr">
+ {{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
+ <span class="city-state-zip">
+ <span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
+ <span class="region">$profile.region</span>
+ <span class="postal-code">$profile.postal-code</span>
+ </span>
+ {{ if $profile.country-name }}<span class="country-name">$profile.country-name</span>{{ endif }}
+ </dd>
+ </dl>
+ {{ endif }}
- $gender
+ {{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
+
+ {{ if $profile.pubkey }}<div class="key" style="display:none;">$profile.pubkey</div>{{ endif }}
- $pubkey
+ {{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
-$diaspora
+ {{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" target="external-link">$profile.homepage</a></dd></dl>{{ endif }}
+ {{ inc diaspora_vcard.tpl }}{{ endinc }}
+
+ <div id="profile-extra-links">
+ <ul>
+ {{ if $connect }}
+ <li><a id="dfrn-request-link" href="dfrn_request/$profile.nickname">$connect</a></li>
+ {{ endif }}
+ </ul>
+ </div>
</div>
-$marital
-
-$homepage
+$contact_block
diff --git a/view/theme/clean/nav.tpl b/view/theme/clean/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/clean/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/darkness/nav.tpl b/view/theme/darkness/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/darkness/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/darkzero/nav.tpl b/view/theme/darkzero/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/darkzero/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/duepuntozero/nav.tpl b/view/theme/duepuntozero/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/duepuntozero/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/easterbunny/nav.tpl b/view/theme/easterbunny/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/easterbunny/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/goldenrod/nav.tpl b/view/theme/goldenrod/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/goldenrod/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/greenzero/nav.tpl b/view/theme/greenzero/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/greenzero/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/loozah/nav.tpl b/view/theme/loozah/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/loozah/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/purplezero/nav.tpl b/view/theme/purplezero/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/purplezero/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/quattro/colors.less b/view/theme/quattro/colors.less
new file mode 100644
index 000000000..6015c61ee
--- /dev/null
+++ b/view/theme/quattro/colors.less
@@ -0,0 +1,63 @@
+// Quattro Theme LESS file
+
+// "Echo" palette from Inkscape
+@Blue1:rgb(25,174,255);
+@Blue2:rgb(0,132,200);
+@Blue3:rgb(0,92,148);
+@Red1:rgb(255,65,65);
+@Red2:rgb(220,0,0);
+@Red3:rgb(181,0,0);
+@Orange1:rgb(255,255,62);
+@Orange2:rgb(255,153,0);
+@Orange3:rgb(255,102,0);
+@Brown1:rgb(255,192,34);
+@Brown2:rgb(184,129,0);
+@Brown3:rgb(128,77,0);
+@Green1:rgb(204,255,66);
+@Green2:rgb(154,222,0);
+@Green3:rgb(0,145,0);
+@Purple1:rgb(241,202,255);
+@Purple2:rgb(215,108,255);
+@Purple3:rgb(186,0,255);
+@Metalic1:rgb(189,205,212);
+@Metalic2:rgb(158,171,176);
+@Metalic3:rgb(54,78,89);
+@Metalic4:rgb(14,35,46);
+@Grey1:rgb(255,255,255);
+@Grey2:rgb(204,204,204);
+@Grey3:rgb(153,153,153);
+@Grey4:rgb(102,102,102);
+@Grey5:rgb(45,45,45);
+
+
+// Theme colors
+@BodyBackground: @Grey1;
+@BodyColor: @Grey5;
+
+@Link: @Blue3;
+@LinkHover: @Blue3;
+@LinkVisited: @Blue3;
+
+@Banner: @Grey1;
+
+@NavbarBackground:@Metalic4;
+@NavbarSelectedBg:@Metalic3;
+@NavbarSelectedBorder: @Metalic2;
+@NavbarNotifBg: @Blue1;
+
+@Menu: @Grey5;
+@MenuBg: @Grey1;
+@MenuBorder: @Metalic3;
+@MenuItem: @Grey5;
+@MenuItemHoverBg: @Metalic1;
+@MenuItemSeparator: @Metalic2;
+@MenuEmpty: @Metalic2;
+@MenuItemDetail: @Metalic2;
+
+@AsideBorder: @Metalic1;
+@AsideConnect: @Grey1;
+@AsideConnectBg: @Blue3;
+@AsideConnectHoverBg: @Blue1;
+
+
+
diff --git a/view/theme/quattro/experimental b/view/theme/quattro/experimental
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/view/theme/quattro/experimental
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
new file mode 100644
index 000000000..d21c3c182
--- /dev/null
+++ b/view/theme/quattro/quattro.less
@@ -0,0 +1,243 @@
+// Quattro Theme LESS file
+
+/* global */
+body {
+ font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
+ font-size: 12px;
+ background-color: @BodyBackground;
+ color: @BodyColor;
+ margin: 50px 0px 0px 0px;
+ display:table;
+}
+
+.shadow(@x: 0px, @y: 5px){
+ -webkit-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+ box-shadow:@x @y 10px rgba(0, 0, 0, 0.7);
+}
+
+.rounded(@tr: 5px, @tl: 5px, @bl: 5px, @br: 5px){
+ -moz-border-radius: @arguments;
+ -webkit-border-radius: @arguments;
+ border-radius: @arguments;
+}
+
+.roundbottom (@radius: 5px){ .rounded(0, 0, @radius, @radius); }
+.roundtop (@radius: 5px){ .rounded(@radius, @radius, 0, 0); }
+
+a, a:link { color: @Link; text-decoration: none; }
+a:visited { color: @LinkVisited; text-decoration: none; }
+a:hover {color: @LinkHover; text-decoration: underline; }
+
+.left { float: left; }
+.right { float: right; }
+
+/* icons */
+
+
+.icons(@size: 22) {
+ &.notify { background-image: url("../../../images/icons/notify_off_@{size}.png"); }
+ &.gear { background-image: url("../../../images/icons/gear_@{size}.png"); }
+}
+
+
+.icon {
+ background-color: transparent ;
+ background-repeat: no-repeat;
+ background-position: center center;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+
+ &.s22 {
+ width:22px; height: 22px;
+ padding: 1px;
+ .icons(22);
+ }
+
+}
+
+
+
+/* header */
+header {
+ position: fixed; left: 43%; right: 43%; top: 0px;
+ margin: 0px; padding: 0px;
+ /*width: 100%; height: 12px; */
+ z-index: 110;
+ color: @Grey1;
+ #site-location {
+ display: none;
+ }
+
+ #banner {
+
+ text-align: center;
+ width: 100%;
+ a, a:active, a:visited, a:link, a:hover { color: @Grey1; text-decoration: none; outline: none; vertical-align: bottom; }
+ #logo-img { height: 22px; margin-top:5px;}
+ #logo-text { font-size: 22px }
+ }
+}
+/* nav */
+nav {
+ width: 100%; height: 32px;
+ position: fixed; left: 0px; top: 0px;
+ padding: 0px;
+ background-color: @NavbarBackground;
+ color: @Grey1;
+ z-index: 100;
+ .shadow(0px, 0px);
+
+ a, a:active, a:visited, a:link, a:hover { color: @Banner; text-decoration: none; outline: none; }
+
+ ul {
+ margin: 0px;
+ padding: 0px 20px;
+ li {
+ list-style: none;
+ margin: 0px; padding: 0px;
+ float: left;
+ .menu-popup{ left: 0px; right: auto; }
+ }
+
+ }
+
+ .nav-menu-icon {
+ position: relative;
+ height: 22px;
+ padding: 5px;
+ margin: 0px 10px;
+ .roundtop();
+
+ &.selected {
+ background-color: @NavbarSelectedBg;
+ }
+
+ img { width: 22px; height: 22px; }
+ .nav-notify { top: 3px; }
+ }
+
+ .nav-menu {
+ position: relative;
+ height: 16px;
+ padding: 5px;
+ margin: 3px 15px 0px;
+ font-size: 14px;
+ border-bottom: 3px solid @NavbarBackground;
+ &.selected {
+ border-bottom: 3px solid @NavbarSelectedBorder;
+ }
+
+ }
+
+ .nav-notify {
+ display: none;
+ position: absolute;
+ background-color: @NavbarNotifBg;
+ .rounded();
+ font-size: 10px;
+ padding: 1px 3px;
+ top: 0px;
+ right: -10px;
+ min-width: 15px;
+ text-align: right;
+
+ &.show{ display: block; }
+ }
+
+
+ #nav-help-link,
+ #nav-search-link,
+ #nav-directory-link,
+ #nav-apps-link,
+ #nav-site-linkmenu {
+ float: right;
+ .menu-popup{ right: 0px; left: auto; }
+ }
+
+ #nav-notifications-linkmenu.selected .icon.s22.notify { background-image: url("../../../images/icons/notify_on_22.png") }
+ #nav-apps-link.selected { background-color: @NavbarSelectedBg; }
+}
+
+
+ul.menu-popup {
+ position: absolute;
+ display: none;
+ width: 10em;
+ background: @MenuBg;
+ color: @Menu;
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ border: 3px solid @MenuBorder;
+ z-index: 100000;
+
+ .shadow();
+
+ a { display: block; color: @MenuItem; padding: 5px 10px;}
+ a:hover { background-color: @MenuItemHoverBg; }
+ .menu-sep { border-top: 1px solid @MenuItemSeparator; }
+ li { float: none; overflow: auto; height: auto; display: block; }
+
+ .empty {
+ padding: 5px;
+ text-align: center;
+ color: @MenuEmpty;
+ }
+}
+
+#nav-notifications-menu {
+ width: 400px;
+ img { float: left; margin-right: 5px; }
+ .contactname { font-weight: bold; }
+ .notif-when { font-size: 10px; color: @MenuItemDetail; display: block; }
+}
+
+
+
+
+/* aside */
+aside {
+ display: table-cell;
+ width: 200px;
+ padding:0px 10px 0px 20px;
+ border-right: 1px solid @AsideBorder;
+
+ .vcard {
+ .fn { font-size: 16px; font-weight: bold; margin-bottom: 5px; }
+ .title { margin-bottom: 5px; }
+ dl { height: auto; overflow: auto; }
+ dt {float: left; margin-left: 0px; width: 35%; }
+ dd {float: left; margin-left: 4px; width: 60%;}
+
+ }
+
+ #profile-extra-links {
+ ul { padding: 0px; margin: 0px; }
+ li { padding: 0px; margin: 0px; list-style: none; }
+ }
+
+ #dfrn-request-link {
+ display: block;
+ .rounded();
+ color: @AsideConnect;
+ background: @AsideConnectBg url('../../../images/connect-bg.png') no-repeat left center;
+ font-weight: bold;
+ text-transform:uppercase;
+ padding: 4px 2px 2px 35px;
+
+ &:hover { text-decoration: none; background-color: @AsideConnectHoverBg; }
+ }
+
+}
+
+
+
+
+/* section */
+section {
+ display: table-cell;
+ width: 800px;
+ padding:0px 20px 0px 10px;
+}
diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css
new file mode 100644
index 000000000..28e6f5fa1
--- /dev/null
+++ b/view/theme/quattro/style.css
@@ -0,0 +1,304 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+/* global */
+body {
+ font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
+ font-size: 12px;
+ background-color: #ffffff;
+ color: #2d2d2d;
+ margin: 50px 0px 0px 0px;
+ display: table;
+}
+a, a:link {
+ color: #005c94;
+ text-decoration: none;
+}
+a:visited {
+ color: #005c94;
+ text-decoration: none;
+}
+a:hover {
+ color: #005c94;
+ text-decoration: underline;
+}
+.left {
+ float: left;
+}
+.right {
+ float: right;
+}
+/* icons */
+.icon {
+ background-color: transparent ;
+ background-repeat: no-repeat;
+ background-position: center center;
+ display: block;
+ overflow: hidden;
+ text-indent: -9999px;
+}
+.icon.s22 {
+ width: 22px;
+ height: 22px;
+ padding: 1px;
+}
+.icon.s22.notify {
+ background-image: url("../../../images/icons/notify_off_22.png");
+}
+.icon.s22.gear {
+ background-image: url("../../../images/icons/gear_22.png");
+}
+/* header */
+header {
+ position: fixed;
+ left: 43%;
+ right: 43%;
+ top: 0px;
+ margin: 0px;
+ padding: 0px;
+ /*width: 100%; height: 12px; */
+
+ z-index: 110;
+ color: #ffffff;
+}
+header #site-location {
+ display: none;
+}
+header #banner {
+ text-align: center;
+ width: 100%;
+}
+header #banner a,
+header #banner a:active,
+header #banner a:visited,
+header #banner a:link,
+header #banner a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+ vertical-align: bottom;
+}
+header #banner #logo-img {
+ height: 22px;
+ margin-top: 5px;
+}
+header #banner #logo-text {
+ font-size: 22px;
+}
+/* nav */
+nav {
+ width: 100%;
+ height: 32px;
+ position: fixed;
+ left: 0px;
+ top: 0px;
+ padding: 0px;
+ background-color: #0e232e;
+ color: #ffffff;
+ z-index: 100;
+ -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
+}
+nav a,
+nav a:active,
+nav a:visited,
+nav a:link,
+nav a:hover {
+ color: #ffffff;
+ text-decoration: none;
+ outline: none;
+}
+nav ul {
+ margin: 0px;
+ padding: 0px 20px;
+}
+nav ul li {
+ list-style: none;
+ margin: 0px;
+ padding: 0px;
+ float: left;
+}
+nav ul li .menu-popup {
+ left: 0px;
+ right: auto;
+}
+nav .nav-menu-icon {
+ position: relative;
+ height: 22px;
+ padding: 5px;
+ margin: 0px 10px;
+ -moz-border-radius: 5px 5px 0 0;
+ -webkit-border-radius: 5px 5px 0 0;
+ border-radius: 5px 5px 0 0;
+}
+nav .nav-menu-icon.selected {
+ background-color: #364e59;
+}
+nav .nav-menu-icon img {
+ width: 22px;
+ height: 22px;
+}
+nav .nav-menu-icon .nav-notify {
+ top: 3px;
+}
+nav .nav-menu {
+ position: relative;
+ height: 16px;
+ padding: 5px;
+ margin: 3px 15px 0px;
+ font-size: 14px;
+ border-bottom: 3px solid #0e232e;
+}
+nav .nav-menu.selected {
+ border-bottom: 3px solid #9eabb0;
+}
+nav .nav-notify {
+ display: none;
+ position: absolute;
+ background-color: #19aeff;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+ font-size: 10px;
+ padding: 1px 3px;
+ top: 0px;
+ right: -10px;
+ min-width: 15px;
+ text-align: right;
+}
+nav .nav-notify.show {
+ display: block;
+}
+nav #nav-help-link,
+nav #nav-search-link,
+nav #nav-directory-link,
+nav #nav-apps-link,
+nav #nav-site-linkmenu {
+ float: right;
+}
+nav #nav-help-link .menu-popup,
+nav #nav-search-link .menu-popup,
+nav #nav-directory-link .menu-popup,
+nav #nav-apps-link .menu-popup,
+nav #nav-site-linkmenu .menu-popup {
+ right: 0px;
+ left: auto;
+}
+nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+ background-image: url("../../../images/icons/notify_on_22.png");
+}
+nav #nav-apps-link.selected {
+ background-color: #364e59;
+}
+ul.menu-popup {
+ position: absolute;
+ display: none;
+ width: 10em;
+ background: #ffffff;
+ color: #2d2d2d;
+ margin: 0px;
+ padding: 0px;
+ list-style: none;
+ border: 3px solid #364e59;
+ z-index: 100000;
+ -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+ box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7);
+}
+ul.menu-popup a {
+ display: block;
+ color: #2d2d2d;
+ padding: 5px 10px;
+}
+ul.menu-popup a:hover {
+ background-color: #bdcdd4;
+}
+ul.menu-popup .menu-sep {
+ border-top: 1px solid #9eabb0;
+}
+ul.menu-popup li {
+ float: none;
+ overflow: auto;
+ height: auto;
+ display: block;
+}
+ul.menu-popup .empty {
+ padding: 5px;
+ text-align: center;
+ color: #9eabb0;
+}
+#nav-notifications-menu {
+ width: 400px;
+}
+#nav-notifications-menu img {
+ float: left;
+ margin-right: 5px;
+}
+#nav-notifications-menu .contactname {
+ font-weight: bold;
+}
+#nav-notifications-menu .notif-when {
+ font-size: 10px;
+ color: #9eabb0;
+ display: block;
+}
+/* aside */
+aside {
+ display: table-cell;
+ width: 200px;
+ padding: 0px 10px 0px 20px;
+ border-right: 1px solid #bdcdd4;
+}
+aside .vcard .fn {
+ font-size: 16px;
+ font-weight: bold;
+ margin-bottom: 5px;
+}
+aside .vcard .title {
+ margin-bottom: 5px;
+}
+aside .vcard dl {
+ height: auto;
+ overflow: auto;
+}
+aside .vcard dt {
+ float: left;
+ margin-left: 0px;
+ width: 35%;
+}
+aside .vcard dd {
+ float: left;
+ margin-left: 4px;
+ width: 60%;
+}
+aside #profile-extra-links ul {
+ padding: 0px;
+ margin: 0px;
+}
+aside #profile-extra-links li {
+ padding: 0px;
+ margin: 0px;
+ list-style: none;
+}
+aside #dfrn-request-link {
+ display: block;
+ -moz-border-radius: 5px 5px 5px 5px;
+ -webkit-border-radius: 5px 5px 5px 5px;
+ border-radius: 5px 5px 5px 5px;
+ color: #ffffff;
+ background: #005c94 url('../../../images/connect-bg.png') no-repeat left center;
+ font-weight: bold;
+ text-transform: uppercase;
+ padding: 4px 2px 2px 35px;
+}
+aside #dfrn-request-link:hover {
+ text-decoration: none;
+ background-color: #19aeff;
+}
+/* section */
+section {
+ display: table-cell;
+ width: 800px;
+ padding: 0px 20px 0px 10px;
+}
diff --git a/view/theme/quattro/style.less b/view/theme/quattro/style.less
new file mode 100644
index 000000000..d1c677b22
--- /dev/null
+++ b/view/theme/quattro/style.less
@@ -0,0 +1,13 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+// Less file http://lesscss.org/
+// compile with lessc
+// $ lessc style.less > style.css
+
+@import "colors";
+@import "quattro";
+
+
+
+
diff --git a/view/theme/shady/nav.tpl b/view/theme/shady/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/shady/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>
diff --git a/view/theme/three-d/nav.tpl b/view/theme/three-d/nav.tpl
new file mode 100644
index 000000000..2cd29a7c2
--- /dev/null
+++ b/view/theme/three-d/nav.tpl
@@ -0,0 +1,51 @@
+<nav>
+ $langselector
+
+ <div id="site-location">$sitelocation</div>
+
+ {{ 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.network }}
+ <a id="nav-network-link" class="nav-commlink $nav.network.2" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
+ <span id="net-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.home }}
+ <a id="nav-home-link" class="nav-commlink $nav.home.2" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a>
+ <span id="home-update" class="nav-ajax-left"></span>
+ {{ endif }}
+ {{ if $nav.community }}
+ <a id="nav-community-link" class="nav-commlink $nav.community.2" href="$nav.community.0" title="$nav.community.3" >$nav.community.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 }}
+
+ {{ if $nav.contacts }}<a id="nav-contacts-link" class="nav-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a>{{ endif }}
+ </span>
+ <span id="nav-end"></span>
+ <span id="banner">$banner</span>
+</nav>