diff --git a/boot.php b/boot.php index 3da6d2c33..140ef095a 100644 --- a/boot.php +++ b/boot.php @@ -1161,3 +1161,49 @@ function load_contact_links($uid) { return; }} +if(! function_exists('profile_tabs')){ +function profile_tabs($a, $is_owner=False, $nickname=Null){ + //echo "
"; var_dump($a->user); killme(); + + if (is_null($nickname)) + $nickname = $a->user['nickname']; + + if(x($_GET,'tab')) + $tab = notags(trim($_GET['tab'])); + + $url = $a->get_baseurl() . '/profile/' . $nickname; + + $tabs = array( + array( + 'label'=>t('Status'), + 'url' => $url, + 'sel' => ((!isset($tab)&&$a->argv[0]=='profile')?'active':''), + ), + array( + 'label' => t('Profile'), + 'url' => $url.'/?tab=profile', + 'sel' => (($tab=='profile')?'active':''), + ), + array( + 'label' => t('Photos'), + 'url' => $a->get_baseurl() . '/photos/' . $nickname, + 'sel' => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''), + ), + ); + + if ($is_owner){ + $tabs[] = array( + 'label' => t('Events'), + 'url' => $a->get_baseurl() . '/events', + 'sel' =>((!isset($tab)&&$a->argv[0]=='events')?'active':''), + ); + $tabs[] = array( + 'label' => t('Personal Notes'), + 'url' => $a->get_baseurl() . '/notes', + 'sel' =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''), + ); + } + + $tpl = get_markup_template('common_tabs.tpl'); + return replace_macros($tpl,array('$tabs'=>$tabs)); +}} diff --git a/mod/events.php b/mod/events.php index 5bc9807ed..fb68d53db 100644 --- a/mod/events.php +++ b/mod/events.php @@ -112,17 +112,7 @@ function events_content(&$a) { $o =""; // tabs - $tpl = get_markup_template('profile_tabs.tpl'); - $o .= replace_macros($tpl,array( - '$url' => $a->get_baseurl() . '/profile/' . $a->user['nickname'], - '$phototab' => $a->get_baseurl() . '/photos/' . $a->user['nickname'], - '$status' => t('Status'), - '$profile' => t('Profile'), - '$photos' => t('Photos'), - '$events' => t('Events') , - '$notes' => t('Personal Notes'), - '$activetab' => "events", - )); + $o .= profile_tabs($a, True); $o .= '' . t('Events') . '
'; diff --git a/mod/network.php b/mod/network.php index f0e9e4441..9b7c4e611 100644 --- a/mod/network.php +++ b/mod/network.php @@ -42,66 +42,7 @@ function network_init(&$a) { ); } - // item filter tabs - // TODO: fix this logic, reduce duplication - $a->page['content'] .= ''; - - $starred_active = ''; - $new_active = ''; - $bookmarked_active = ''; - $all_active = ''; - $search_active = ''; - - if(($a->argc > 1 && $a->argv[1] === 'new') - || ($a->argc > 2 && $a->argv[2] === 'new')) { - $new_active = 'active'; - } - - if(x($_GET,'search')) { - $search_active = 'active'; - } - - if(x($_GET,'star')) { - $starred_active = 'active'; - } - - if($_GET['bmark']) { - $bookmarked_active = 'active'; - } - - if (($new_active == '') - && ($starred_active == '') - && ($bookmarked_active == '') - && ($search_active == '')) { - $all_active = 'active'; - } - - // network links moved to content to match other pages - // all - // added 'button' class for easier styling - not the best place for it, should be moved into the tpl like profile_tabs.tpl - // once there is a network_tabs.tpl or something - $a->page['content'] .= '' - . t('All') . ''; - - // new - $a->page['content'] .= '' - . t('New') . ''; - - // starred - $a->page['content'] .= '' - . t('Starred') . ''; - - // bookmarks - $a->page['content'] .= '' - . t('Bookmarks') . ''; - - $a->page['content'] .= ''; - // --- end item filter tabs + // search terms header if(x($_GET,'search')) { @@ -157,6 +98,71 @@ function network_content(&$a, $update = 0) { $o = ''; + // item filter tabs + // TODO: fix this logic, reduce duplication + $a->page['content'] .= ''; + + $starred_active = ''; + $new_active = ''; + $bookmarked_active = ''; + $all_active = ''; + $search_active = ''; + + if(($a->argc > 1 && $a->argv[1] === 'new') + || ($a->argc > 2 && $a->argv[2] === 'new')) { + $new_active = 'active'; + } + + if(x($_GET,'search')) { + $search_active = 'active'; + } + + if(x($_GET,'star')) { + $starred_active = 'active'; + } + + if($_GET['bmark']) { + $bookmarked_active = 'active'; + } + + if (($new_active == '') + && ($starred_active == '') + && ($bookmarked_active == '') + && ($search_active == '')) { + $all_active = 'active'; + } + + // tabs + $tabs = array( + array( + 'label' => t('All'), + 'url'=>$a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '?cid=' . $_GET['cid'] : ''), + 'sel'=>$all_active, + ), + array( + 'label' => t('New'), + 'url' => $a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . '/new' . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : ''), + 'sel' => $new_active, + ), + array( + 'label' => t('Starred'), + 'url'=>$a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '&star=1', + 'sel'=>$starred_active, + ), + array( + 'label' => t('Bookmarks'), + 'url'=>$a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?cid=' . $_GET['cid'] : '') . '&bmark=1', + 'sel'=>$bookmarked_active, + ), + ); + $tpl = get_markup_template('common_tabs.tpl'); + $o .= replace_macros($tpl, array('$tabs'=>$tabs)); + // --- end item filter tabs + + + + + $contact_id = $a->cid; $group = 0; diff --git a/mod/notes.php b/mod/notes.php index 369f120a7..94ea10e81 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -38,19 +38,7 @@ function notes_content(&$a,$update = false) { $is_owner = true; $o =""; - // tabs - $tpl = get_markup_template('profile_tabs.tpl'); - $o .= replace_macros($tpl,array( - '$url' => $a->get_baseurl() . '/profile/' . $a->user['nickname'], - '$phototab' => $a->get_baseurl() . '/photos/' . $a->user['nickname'], - '$status' => t('Status'), - '$profile' => t('Profile'), - '$photos' => t('Photos'), - '$events' => t('Events') , - '$notes' => t('Personal Notes'), - '$activetab' => "notes", - )); - + $o .= profile_tabs($a,True); if(! $update) { $o .= '' . t('Personal Notes') . '
'; diff --git a/mod/photos.php b/mod/photos.php index 1321af192..284169221 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -831,18 +831,8 @@ function photos_content(&$a) { $o = ""; // tabs - $tpl = get_markup_template('profile_tabs.tpl'); $_is_owner = (local_user() && (local_user() == $owner_uid)); - $o .= replace_macros($tpl,array( - '$url' => $a->get_baseurl() . '/profile/' .$a->data['user']['nickname'], - '$phototab' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'], - '$status' => t('Status'), - '$profile' => t('Profile'), - '$photos' => t('Photos'), - '$events' => (($_is_owner) ? t('Events') : ''), - '$notes' => (($_is_owner) ? t('Personal Notes') : ''), - '$activetab' => "photos", - )); + $o .= profile_tabs($a,$_is_owner, $a->data['user']['nickname']); // // dispatch request diff --git a/mod/profile.php b/mod/profile.php index 50bbdd46e..a453f72f1 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -110,18 +110,7 @@ function profile_content(&$a, $update = 0) { if(x($_GET,'tab')) $tab = notags(trim($_GET['tab'])); - $tpl = get_markup_template('profile_tabs.tpl'); - - $o .= replace_macros($tpl,array( - '$url' => $a->get_baseurl() . '/' . $a->cmd, - '$phototab' => $a->get_baseurl() . '/photos/' . $a->profile['nickname'], - '$status' => t('Status'), - '$profile' => t('Profile'), - '$photos' => t('Photos'), - '$events' => (($is_owner) ? t('Events') : ''), - '$notes' => (($is_owner) ? t('Personal Notes') : ''), - '$activetab' => $tab, - )); + $o.=profile_tabs($a, $is_owner, $a->profile['nickname']); if($tab === 'profile') { @@ -131,6 +120,8 @@ function profile_content(&$a, $update = 0) { return $o; } + + if(x($_SESSION,'new_member') && $_SESSION['new_member'] && $is_owner) $o .= '' . t('Tips for New Members') . '' . EOL; diff --git a/mod/settings.php b/mod/settings.php index 44ebdd77b..7112db887 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -306,10 +306,22 @@ function settings_content(&$a) { return; } - $tabtpl = get_markup_template("settings_tabs.tpl"); + $tabs = array( + array( + 'label' => t('Account settings'), + 'url' => $a->get_baseurl().'/settings', + 'sel' => (($a->argc == 1)?'active':''), + ), + array( + 'label' => t('Plugin settings'), + 'url' => $a->get_baseurl().'/settings/addon', + 'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''), + ) + ); + + $tabtpl = get_markup_template("common_tabs.tpl"); $tabs = replace_macros($tabtpl, array( - '$account' => array( t('Account settings'), $a->get_baseurl().'/settings'), - '$plugins' => array( t('Plugin settings'), $a->get_baseurl().'/settings/addon') + '$tabs' => $tabs, )); diff --git a/view/common_tabs.tpl b/view/common_tabs.tpl new file mode 100644 index 000000000..146ad29fa --- /dev/null +++ b/view/common_tabs.tpl @@ -0,0 +1,5 @@ ++ {{ for $tabs as $tab }} +
diff --git a/view/profile_tabs.tpl b/view/profile_tabs.tpl deleted file mode 100644 index d57c33acf..000000000 --- a/view/profile_tabs.tpl +++ /dev/null @@ -1,9 +0,0 @@ - -- $tab.label
+ {{ endfor }} +- $status - $profile - $photos - {{ if $events }}$events{{ endif }} - {{ if $notes }}$notes{{ endif }} - -diff --git a/view/settings_tabs.tpl b/view/settings_tabs.tpl deleted file mode 100644 index 5003ed8ce..000000000 --- a/view/settings_tabs.tpl +++ /dev/null @@ -1,6 +0,0 @@ - -- $account.0 - $plugins.0 - -diff --git a/view/theme/clean/style.css b/view/theme/clean/style.css index 4730b5c2f..86bca371c 100644 --- a/view/theme/clean/style.css +++ b/view/theme/clean/style.css @@ -59,7 +59,7 @@ body { border: 2px solid #CCCCCC; } -.profile-tabs { +.tab { color: #444444; background: #EEE; diff --git a/view/theme/darkness/style.css b/view/theme/darkness/style.css index 828fdd104..3bc4c6aea 100644 --- a/view/theme/darkness/style.css +++ b/view/theme/darkness/style.css @@ -26,7 +26,7 @@ input, select { background-color: #000000; color: #FF0000; } -.nav-link:hover, .nav-commlink:hover, .profile-tabs:hover { +.nav-link:hover, .nav-commlink:hover, .tab:hover { background: #DDDDDD; color: #FF0000; } @@ -49,7 +49,7 @@ input, select { background: #444444; } -.profile-tabs { +.tab { color: #FF0000; background: #444444; @@ -65,7 +65,3 @@ a:hover, .fakelink:hover { text-decoration: underline; } -.profile-tabs { - color: #FF0000; - background: #444444; -} diff --git a/view/theme/darkzero/style.css b/view/theme/darkzero/style.css index b85a9aada..454c578b0 100644 --- a/view/theme/darkzero/style.css +++ b/view/theme/darkzero/style.css @@ -17,7 +17,7 @@ aside{ background-image: url(border.jpg); padding-bottom: 0px; } section { background-color: #333333; background-image: url(border.jpg); } -#profile-tabs-wrapper { background-image: url(head.jpg); } +.tabs { background-image: url(head.jpg); } div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); } nav #banner #logo-text a { color: #ffffff; } diff --git a/view/theme/dispy/profile_tabs.tpl b/view/theme/dispy/profile_tabs.tpl deleted file mode 100644 index c236490b2..000000000 --- a/view/theme/dispy/profile_tabs.tpl +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 8dc017c9c..3c92a877b 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -349,11 +349,11 @@ aside #viewcontacts { text-align: right;} section { margin: 10px 11% 0px 11%; font-size: 0.8em; padding-right: 230px;} /** tabs **/ -.tabs-wrapper {list-style: none; padding: 0px; margin: 0px; border-bottom: 1px solid #729fcf; } -.tabs-wrapper li { display: inline;} -.tabs { padding: 0px 5px; margin-right: 10px; } -.tabs:hover { background-color: #729fcf; color: #eeeeec; border: 0px; } -.tabs.active { background-color: #729fcf; color: #eeeeec; border: 0px; } +.tabs {list-style: none; padding: 0px; margin: 0px; border-bottom: 1px solid #729fcf; } +.tabs li { display: inline;} +.tab { padding: 0px 5px; margin-right: 10px; } +.tab:hover { background-color: #729fcf; color: #eeeeec; border: 0px; } +.tab.active { background-color: #729fcf; color: #eeeeec; border: 0px; } /** diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 7dc344f5d..b46a03c38 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -204,34 +204,24 @@ section { min-height: 112px; } - -#profile-tabs-wrapper { - height: 27px; - background-image: url(head.jpg); - background-repeat: repeat-x; - background-position: 0px -20px; - border-bottom: 1px solid #babdb6; -} -.profile-tabs { - display:block; - float:left; - padding: 0.4em; - margin-right: 1em; -} - -#tabs-wrapper { - height: 27px; - background-image: url(head.jpg); - background-repeat: repeat-x; - background-position: 0px -20px; - border-bottom: 1px solid #babdb6; -} .tabs { + height: 27px; + background-image: url(head.jpg); + background-repeat: repeat-x; + background-position: 0px -20px; + border-bottom: 1px solid #babdb6; + padding:0px; +} +.tabs li { margin: 0px; list-style: none; } +.tab { display:block; float:left; padding: 0.4em; margin-right: 1em; } +.tab.active { + font-weight: bold; +} /* footer */ diff --git a/view/theme/easterbunny/style.css b/view/theme/easterbunny/style.css index bbe4394e9..ab2e07053 100644 --- a/view/theme/easterbunny/style.css +++ b/view/theme/easterbunny/style.css @@ -29,7 +29,7 @@ a:hover {text-decoration: underline; } aside( background-image: url('border.jpg'); } -#profile-tabs-wrapper { background-image: url('head.jpg'); } +.tabs { background-image: url('head.jpg'); } div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); } diff --git a/view/theme/goldenrod/style.css b/view/theme/goldenrod/style.css index 2a098e955..47985aaa8 100644 --- a/view/theme/goldenrod/style.css +++ b/view/theme/goldenrod/style.css @@ -67,7 +67,7 @@ body { background: #FFDDAA !important; } -.profile-tabs { +.tab { color: #444444; background: #FFCC55; diff --git a/view/theme/greenzero/style.css b/view/theme/greenzero/style.css index ab309930c..204b2677e 100644 --- a/view/theme/greenzero/style.css +++ b/view/theme/greenzero/style.css @@ -22,7 +22,7 @@ a:hover {text-decoration: underline; } body { background-image: url(head.jpg); } aside( background-image: url(border.jpg); } section { background-image: url(border.jpg); } -#profile-tabs-wrapper { background-image: url(head.jpg); } +.tabs { background-image: url(head.jpg); } div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); } .fakelink, .fakelink:visited { diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css index 962d08fc0..c6250c51c 100644 --- a/view/theme/loozah/style.css +++ b/view/theme/loozah/style.css @@ -1570,7 +1570,7 @@ padding: 5px 10px 0px; width: 600px; } -.profile-tabs { +.tab { float: left; padding: 4px; margin-top: 10px; @@ -1583,36 +1583,15 @@ padding: 5px 10px 0px; background-color: #ECECEC; border: 1px solid #858585; } -.profile-tabs:hover { +.tab.active, +.tab:hover { background-color: #0CBEFE; color: #F5F6FB; border: 1px solid #F5F6FB; /*cursor: pointer;*/ } - -#profile-tabs-end { - clear: both; -} - -.tabs { - padding: 4px; - margin-top: 10px; - margin-bottom: 10px; - margin-right: 5px; - /*border: 1px solid #CCC;*/ - /*background: #F8F8F8;*/ - font-size: 0.8em; - font-weight: bold; - background-color: #ECECEC; - border: 1px solid #858585; -} -.tabs:hover { - background-color: #0CBEFE; - color: #F5F6FB; - border: 1px solid #F5F6FB; - /*cursor: pointer;*/ -} - +.tabs { padding:0px; margin: 0px; overflow: auto; height: auto;} +.tabs li { margin: 0px; list-style: none; } .comment-edit-text-empty { color: gray; diff --git a/view/theme/purplezero/style.css b/view/theme/purplezero/style.css index 16c9dc650..f624fadac 100644 --- a/view/theme/purplezero/style.css +++ b/view/theme/purplezero/style.css @@ -7,7 +7,7 @@ a:hover {text-decoration: underline; } body { background-image: url(head.jpg); } aside( background-image: url(border.jpg); } section { background-image: url(border.jpg); } -#profile-tabs-wrapper { background-image: url(head.jpg); } +.tabs { background-image: url(head.jpg); } div.wall-item-content-wrapper.shiny { background-image: url('shiny.png'); } diff --git a/view/theme/shady/style.css b/view/theme/shady/style.css index 1e3e6ec40..1324af019 100644 --- a/view/theme/shady/style.css +++ b/view/theme/shady/style.css @@ -18,7 +18,7 @@ body { background: #F4F4F4; } -.profile-tabs { +.tab { color: #444444; background: #F4F4F4; diff --git a/view/theme/testbubble/profile_tabs.tpl b/view/theme/testbubble/profile_tabs.tpl deleted file mode 100644 index ae7c65e1c..000000000 --- a/view/theme/testbubble/profile_tabs.tpl +++ /dev/null @@ -1,9 +0,0 @@ - - diff --git a/view/theme/testbubble/style.css b/view/theme/testbubble/style.css index 5621a972b..341314c1d 100644 --- a/view/theme/testbubble/style.css +++ b/view/theme/testbubble/style.css @@ -822,22 +822,22 @@ profile-jot-banner-wrapper { /* = Tabs = */ /* ======== */ -.tabs-wrapper { +.tabs { width: 450px; list-style: none; padding: 10px; margin: 0px 0px 10px 0px; border-bottom: 1px solid #efefef; } -.tabs-wrapper li { display: inline;} +.tabs li { display: inline;} -.tabs { +.tab { padding: 5px 10px 5px 10px; margin-right: 5px; font-style: bold; } -.tabs:hover { +.tab:hover { padding: 5px 10px 5px 10px; } @@ -3085,4 +3085,4 @@ ul.menu-popup { #jGrowl { z-index: 20000; -} \ No newline at end of file +} diff --git a/view/theme/three-d/style.css b/view/theme/three-d/style.css index 56d36914e..ca3f6786d 100644 --- a/view/theme/three-d/style.css +++ b/view/theme/three-d/style.css @@ -26,7 +26,7 @@ } -.profile-tabs { +.tab { -moz-box-shadow: 5px 5px 5px #888888; -webkit-box-shadow: 5px 5px 5px #888888; box-shadow: 5px 5px 5px #888888;