]> git.mxchange.org Git - friendica.git/commitdiff
Merge remote-tracking branch 'friendika/master' into newui
authorfabrixxm <fabrix.xm@gmail.com>
Fri, 26 Aug 2011 12:44:24 +0000 (14:44 +0200)
committerfabrixxm <fabrix.xm@gmail.com>
Fri, 26 Aug 2011 12:44:24 +0000 (14:44 +0200)
40 files changed:
boot.php
images/icons/gear_22.png [new file with mode: 0644]
images/icons/notify_off_22.png [new file with mode: 0644]
images/icons/notify_on_22.png [new file with mode: 0644]
include/main.js
include/nav.php
include/template_processor.php
index.php
mod/community.php
mod/contacts.php
mod/directory.php
mod/help.php
mod/message.php
mod/network.php
mod/notifications.php
mod/ping.php
mod/profile.php
mod/profiles.php
mod/search.php
mod/settings.php
view/default.php
view/nav.tpl
view/theme/clean/nav.tpl [new file with mode: 0644]
view/theme/darkness/nav.tpl [new file with mode: 0644]
view/theme/darkzero/nav.tpl [new file with mode: 0644]
view/theme/duepuntozero/nav.tpl [new file with mode: 0644]
view/theme/easterbunny/nav.tpl [new file with mode: 0644]
view/theme/goldenrod/nav.tpl [new file with mode: 0644]
view/theme/greenzero/nav.tpl [new file with mode: 0644]
view/theme/loozah/nav.tpl [new file with mode: 0644]
view/theme/purplezero/nav.tpl [new file with mode: 0644]
view/theme/quattro/LIBERATION-FONTS-COPYING [new file with mode: 0644]
view/theme/quattro/LiberationSans-Bold.ttf [new file with mode: 0644]
view/theme/quattro/LiberationSans-Italic.ttf [new file with mode: 0644]
view/theme/quattro/LiberationSans-Regular.ttf [new file with mode: 0644]
view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz [new file with mode: 0644]
view/theme/quattro/style.css [new file with mode: 0644]
view/theme/quattro/style.less [new file with mode: 0644]
view/theme/shady/nav.tpl [new file with mode: 0644]
view/theme/three-d/nav.tpl [new file with mode: 0644]

index e897f19aa12b21151bf8eb0d1f61e536da0fd8e1..28467006da4c03f538511a33cb0bf688eb3559d9 100644 (file)
--- 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.1083' );
@@ -1169,3 +1170,4 @@ function load_contact_links($uid) {
        $a->contacts = $ret;
        return;         
 }}
+
diff --git a/images/icons/gear_22.png b/images/icons/gear_22.png
new file mode 100644 (file)
index 0000000..e363de0
Binary files /dev/null and b/images/icons/gear_22.png differ
diff --git a/images/icons/notify_off_22.png b/images/icons/notify_off_22.png
new file mode 100644 (file)
index 0000000..0520af3
Binary files /dev/null and b/images/icons/notify_off_22.png differ
diff --git a/images/icons/notify_on_22.png b/images/icons/notify_on_22.png
new file mode 100644 (file)
index 0000000..a8b3052
Binary files /dev/null and b/images/icons/notify_on_22.png differ
index d59c992235962d7a7d1819b84d2f7e7a14764ced..83dcc720c7a165d55a57a2f85ec771cbc6f05067 100644 (file)
@@ -34,6 +34,9 @@
 
                msie = $.browser.msie ;
                
+               /* setup navbar menus */
+               
+               
                
                /* setup onoff widgets */
                $(".onoff input").each(function(){
                
                /* 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);
+                       
                });
                
                
index 895c321e6ad39ac893d3dadd3585c1d34377a97f..f9e72bda7d9aff304711b08683dcefe3ad51c718 100644 (file)
@@ -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'));
        }
 
 
@@ -137,8 +155,30 @@ function nav(&$a) {
                '$sitelocation' => $sitelocation,
                '$nav' => $nav,
                '$banner' =>  $banner,
+               '$emptynotifications' => t('Nothing new here'),
+               '$userinfo' => $userinfo,
+               '$sel' =>       $a->nav_sel,
        ));
 
        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';
 }
index 83f680f0262a43983f11bbaaf2732e95b2ef4808..11769bbd0791bcbf5dccda75ef15666ce7cd0cab 100644 (file)
                
                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){
                        $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){
index 80e8ca3b027de00de8c45540f790af8bfa0e0021..51c87cae6e6feff8b7f4abee66c6a4a61a76f635 100644 (file)
--- 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);
 }
 
index cf43598b518bdf5a5cd5a64cc7ed878c1b36794b..cb255029f0d47e84d64ae9e825c731cdf1982362 100644 (file)
@@ -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";
        }
index 5d72cff88ad1ad1c63c3d46cca46287fdf173b06..3b2b16acf90345e4d49b113bfff8c10eba7e884d 100644 (file)
@@ -124,7 +124,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;
 
index 0c60f04bf4be14cb8ff4a2b29363047813405924..93abcd5de845dd661fd9afef49649c438ed44644 100644 (file)
@@ -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']);
 
index 495b4ccc22d866362481c17af36e430491c33bcf..59e062f6d4398d16c9c6657e3828313b296dda3c 100644 (file)
@@ -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
+}
index 165d638141ce98ac1dcb7bc2b4f6b3af2dc7c7e4..cc94730bc561b2d393c5bacaab6b3c94fbdfd934 100644 (file)
@@ -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);
index 05b74b50a4252782c7a9c410ea97cdfae4c46bea..cf4c994f0dd0a5324282ef1470730aaef98ada1a 100644 (file)
@@ -98,7 +98,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;
 
index 8c32ee8628bbe5250a9dd163e6cb4d09c2f245d3..0c35d4cd1a2672e4b7e731eb735e13d2cccca397 100644 (file)
@@ -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 = '';
index 924f9ff76bff228c0db16ff41e91c34d2c59d25c..8a3d284af06acf01971c740b2989878645a7d445 100644 (file)
@@ -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();
 }
index 2dd5df75855079153c9bb47e5b22736baa50b510..66fa175543aca7fd75b4e869078ac80742e6b9fc 100644 (file)
@@ -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;
index b269fa30c716f9fd68abf30f629aa4fb8fdf588a..5cc9fa38c4728e31c0473d339701dc9d68e1efb7 100644 (file)
@@ -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);
index 88ff9bbb73d57db751f067f263cedb6fe317a6f9..f7ce75905a80b23c6616baf39da485d2da594423 100644 (file)
@@ -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');
index 1b4098de8f6c1c6b929bfd00785df79d1a63b4b7..44ebdd77b1eb73d048f9d2bfe649011ddd73034b 100644 (file)
@@ -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 );
index 0d4a690541c09b406789a736de82c751d12e6fd7..ab1cb0f092ae4094c2f3dcc9d60b3fd520eed118 100644 (file)
@@ -6,8 +6,7 @@
   <?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>\r
 </head>\r
 <body>\r
-       <header><?php if(x($page,'header')) echo $page['header']; ?></header>\r
-       <nav><div id="top-margin"></div><?php if(x($page,'nav')) echo $page['nav']; ?></nav>\r
+       <?php if(x($page,'nav')) echo $page['nav']; ?>\r
        <aside><?php if(x($page,'aside')) echo $page['aside']; ?></aside>\r
        <section><?php if(x($page,'content')) echo $page['content']; ?>\r
                <div id="page-footer"></div>\r
index 09a25ac837d88bc939fe4559a5ba8b5ca33bf23e..434c9f844c8b70eb47deff22a446c9e8a0d96c62 100644 (file)
@@ -1,6 +1,97 @@
-$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="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a>
+                       </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 +109,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 +123,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/theme/clean/nav.tpl b/view/theme/clean/nav.tpl
new file mode 100644 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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/LIBERATION-FONTS-COPYING b/view/theme/quattro/LIBERATION-FONTS-COPYING
new file mode 100644 (file)
index 0000000..d511905
--- /dev/null
@@ -0,0 +1,339 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/view/theme/quattro/LiberationSans-Bold.ttf b/view/theme/quattro/LiberationSans-Bold.ttf
new file mode 100644 (file)
index 0000000..169fac3
Binary files /dev/null and b/view/theme/quattro/LiberationSans-Bold.ttf differ
diff --git a/view/theme/quattro/LiberationSans-Italic.ttf b/view/theme/quattro/LiberationSans-Italic.ttf
new file mode 100644 (file)
index 0000000..8b9dc76
Binary files /dev/null and b/view/theme/quattro/LiberationSans-Italic.ttf differ
diff --git a/view/theme/quattro/LiberationSans-Regular.ttf b/view/theme/quattro/LiberationSans-Regular.ttf
new file mode 100644 (file)
index 0000000..ceeaa27
Binary files /dev/null and b/view/theme/quattro/LiberationSans-Regular.ttf differ
diff --git a/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz b/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz
new file mode 100644 (file)
index 0000000..0c86f73
Binary files /dev/null and b/view/theme/quattro/liberation-fonts-ttf-1.07.0.tar.gz differ
diff --git a/view/theme/quattro/style.css b/view/theme/quattro/style.css
new file mode 100644 (file)
index 0000000..ea0ed8e
--- /dev/null
@@ -0,0 +1,256 @@
+/**
+ * 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: 0px;
+  display: table-row;
+}
+a, a:visited, a:link {
+  color: #005c94;
+  text-decoration: none;
+}
+a:hover {
+  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 {
+  /*font-size:8px;
+               float:left;
+               background-color: @Metalic3;
+               padding: 1px 5px;
+               margin-left: 20px;
+               .roundbottom()*/
+
+  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");
+}
+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: 50px 10px 0px 20px;
+}
+/* section */
+section {
+  display: table-cell;
+  width: 800px;
+  padding: 50px 20px 0px 10px;
+}
diff --git a/view/theme/quattro/style.less b/view/theme/quattro/style.less
new file mode 100644 (file)
index 0000000..5f3958f
--- /dev/null
@@ -0,0 +1,269 @@
+/**
+ * Fabio Comuni <http://kirgroup.com/profile/fabrixxm>
+ **/
+// Less file http://lesscss.org/
+// compile with lessc
+// $ lessc style.less > style.css
+
+// "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);
+
+///* fonts */
+// @font-face {  
+//   font-family: "LiberationSans";  
+//   src: local("Liberation Sans"),url( LiberationSans-Regular.ttf ) format("truetype");
+//   font-weight: bold; font-style: italic;
+// }
+// 
+// @font-face {  
+//   font-family: "LiberationSans";  
+//   src: local("Liberation Sans"),url( LiberationSans-Bold.ttf ) format("truetype");
+//   font-weight: bold; font-style: normal;
+// }
+// @font-face {  
+//   font-family: "LiberationSans";  
+//   src:  local("Liberation Sans"),url( LiberationSans-Italic.ttf ) format("truetype");
+//   font-weight: normal; font-style: italic;
+// }
+
+
+/* global */
+body {
+       font-family: Liberation Sans,helvetica,arial,clean,sans-serif;
+       font-size: 12px;
+       background-color: @Grey1;
+       color: @Grey5;
+       margin: 0px;
+       display:table-row;
+}
+
+.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:visited, a:link { color: @Blue3; text-decoration: none; }
+a:hover {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 {
+               /*font-size:8px;
+               float:left;
+               background-color: @Metalic3;
+               padding: 1px 5px;
+               margin-left: 20px;
+               .roundbottom()*/
+               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: @Metalic4;
+       color: @Grey1;
+       z-index: 100;
+       .shadow(0px, 0px);
+
+               a, a:active, a:visited, a:link, a:hover { color: @Grey1; 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: @Metalic3;
+                       }
+                       
+                               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 @Metalic4;
+                       &.selected {
+                               border-bottom: 3px solid @Metalic2;
+                       }
+                       
+               }
+
+               .nav-notify {
+                       display: none;
+                       position: absolute;
+                       background-color: @Blue1;
+                       .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") }
+               
+}
+
+ul.menu-popup {
+       position: absolute;
+       display: none;
+       width: 10em;
+       background: @Grey1;
+       color: @Grey5;
+       margin: 0px;
+       padding: 0px;
+       list-style: none;
+       border: 3px solid @Metalic3;
+       z-index: 100000;
+       
+       .shadow();
+       
+               a { display: block; color: @Grey5; padding: 5px 10px;}
+               a:hover { background-color: @Metalic1; }
+               .menu-sep  { border-top: 1px solid @Metalic2; }
+               li { float: none;  overflow: auto; height: auto; display: block; }
+               
+               .empty {
+                       padding: 5px;
+                       text-align: center;
+                       color: @Metalic2;
+               }
+}
+
+#nav-notifications-menu {
+       width: 400px;
+       img { float: left; margin-right: 5px; }
+       .contactname { font-weight: bold; }
+       .notif-when { font-size: 10px; color: @Metalic2; display: block; }
+}
+
+
+
+
+/* aside */
+aside { 
+       display: table-cell;
+       width: 200px;
+       padding:50px 10px 0px 20px;
+}
+
+/* section */
+section { 
+       display: table-cell;
+       width: 800px;
+       padding:50px 20px 0px 10px;
+}
diff --git a/view/theme/shady/nav.tpl b/view/theme/shady/nav.tpl
new file mode 100644 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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 (file)
index 0000000..2cd29a7
--- /dev/null
@@ -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>