diff options
author | Fabio Comuni <fabrix.xm@gmail.com> | 2012-03-23 14:09:06 +0100 |
---|---|---|
committer | Fabio Comuni <fabrix.xm@gmail.com> | 2012-03-23 14:09:06 +0100 |
commit | 1780fff1611809a6069603eceb643e210b4b3f36 (patch) | |
tree | 61dd6d3a8fc5368ad86b5d38a5d177ae9cd2d9f8 | |
parent | 82cc86a41a3a91e2d240286895184d2e7aa22a5e (diff) | |
download | volse-hubzilla-1780fff1611809a6069603eceb643e210b4b3f36.tar.gz volse-hubzilla-1780fff1611809a6069603eceb643e210b4b3f36.tar.bz2 volse-hubzilla-1780fff1611809a6069603eceb643e210b4b3f36.zip |
diabook: theme.php
remove code duplication
last photos check for user "hidewall"
remove unneeded regex
move js code to close popup in main.js (missing stop event propagation in popup links)
-rwxr-xr-x | js/main.js | 19 | ||||
-rw-r--r-- | view/theme/diabook/profile_side.tpl | 4 | ||||
-rwxr-xr-x | view/theme/diabook/theme.php | 277 |
3 files changed, 79 insertions, 221 deletions
diff --git a/js/main.js b/js/main.js index babd2a1c3..2b4b13791 100755 --- a/js/main.js +++ b/js/main.js @@ -28,13 +28,15 @@ var in_progress = false; var langSelect = false; var commentBusy = false; + var last_popup_menu = null; + var last_popup_button = null; $(function() { $.ajaxSetup({cache: false}); msie = $.browser.msie ; - /* setup tooltips */ + /* setup tooltips *//* $("a,.tt").each(function(){ var e = $(this); var pos="bottom"; @@ -43,7 +45,7 @@ if (e.hasClass("ttleft")) pos="left"; if (e.hasClass("ttright")) pos="right"; e.tipTip({defaultPosition: pos, edgeOffset: 8}); - }); + });*/ @@ -76,8 +78,21 @@ if (menu.attr('popup')=="false") return false; $(this).parent().toggleClass("selected"); menu.toggle(); + if (menu.css("display") == "none") { + last_popup_menu = null; + last_popup_button = null; + } else { + last_popup_menu = menu; + last_popup_button = $(this).parent(); + } return false; }); + $('html').click(function() { + last_popup_menu.hide(); + last_popup_button.removeClass("selected"); + last_popup_menu = null; + last_popup_button = null; + }); // fancyboxes $("a.popupbox").fancybox({ diff --git a/view/theme/diabook/profile_side.tpl b/view/theme/diabook/profile_side.tpl index a65677696..0fa8a27fd 100644 --- a/view/theme/diabook/profile_side.tpl +++ b/view/theme/diabook/profile_side.tpl @@ -11,10 +11,10 @@ <li id="profile-side-photos" class="menu-profile-list photos"><a class="menu-profile-list-item" href="$ps.usermenu.photos.0">$ps.usermenu.photos.1</a></li> <li id="profile-side-events" class="menu-profile-list events"><a class="menu-profile-list-item" href="$ps.usermenu.events.0">$ps.usermenu.events.1</a></li> <li id="profile-side-notes" class="menu-profile-list notes"><a class="menu-profile-list-item" href="$ps.usermenu.notes.0">$ps.usermenu.notes.1</a></li> - <li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="http://dir.friendika.com/directory/forum" target="blanc">Public Groups</a></li> + <li id="profile-side-foren" class="menu-profile-list foren"><a class="menu-profile-list-item" href="$ps.usermenu.pgroups.0" target="blanc">$ps.usermenu.pgroups.1</a></li> <li id="profile-side-foren" class="menu-profile-list com_side"><a class="menu-profile-list-item" href="$ps.usermenu.community.0">$ps.usermenu.community.1</a></li> </ul> </div> -
\ No newline at end of file + diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index feb140abb..b487b8f88 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -11,45 +11,18 @@ $a->theme_info = array( 'extends' => 'diabook', ); -//profile_side at networkpages - -if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) { -// - -$nav['usermenu']=array(); -$userinfo = null; - -if(local_user()) { - - - -$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'], - ); - -$ps['usermenu'][status] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations')); -$ps['usermenu'][profile] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page')); -$ps['usermenu'][photos] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); -$ps['usermenu'][events] = Array('events/', t('Events'), "", t('Your events')); -$ps['usermenu'][notes] = Array('notes/', t('Personal notes'), "", t('Your personal photos')); -$ps['usermenu'][community] = Array('community/', t('Community'), "", ""); - - -$tpl = get_markup_template('profile_side.tpl'); - -$a->page['aside'] .= replace_macros($tpl, array( - '$userinfo' => $userinfo, - '$ps' => $ps, - )); +//change css on network and profilepages +$cssFile = null; -} -//right_aside at networkpages +/** + * prints last community activity + */ +function diabook_community_info(){ + $a = get_app(); + //right_aside at networkpages -// last 12 users + // last 12 users $aside['$lastusers_title'] = t('Last users'); $aside['$lastusers_items'] = array(); $sql_extra = ""; @@ -77,7 +50,8 @@ $a->page['aside'] .= replace_macros($tpl, array( } } -// last 10 liked items + + // last 10 liked items $aside['$like_title'] = t('Last likes'); $aside['$like_items'] = array(); $r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM @@ -120,7 +94,9 @@ $a->page['aside'] .= replace_macros($tpl, array( $aside['$like_items'][] = sprintf( t('%1$s likes %2$s\'s %3$s'), $author, $objauthor, $plink); } -// last 12 photos + + + // last 12 photos $aside['$photos_title'] = t('Last photos'); $aside['$photos_items'] = array(); $r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM @@ -131,6 +107,7 @@ $a->page['aside'] .= replace_macros($tpl, array( `user` WHERE `user`.`uid` = `photo`.`uid` AND `user`.`blockwall`=0 + AND `user`.`hidewall`=0 ORDER BY `photo`.`edited` DESC LIMIT 0, 12", dbesc(t('Contact Photos')), @@ -159,204 +136,70 @@ $a->page['aside'] .= replace_macros($tpl, array( } -//right_aside at profile pages - -if($is_url = preg_match ("/\bprofile\b/i", $_SERVER['REQUEST_URI'])) { -//right_aside - -// last 12 users - $aside['$lastusers_title'] = t('Last users'); - $aside['$lastusers_items'] = array(); - $sql_extra = ""; - $publish = (get_config('system','publish_all') ? '' : " AND `publish` = 1 " ); - $order = " ORDER BY `register_date` DESC "; - - $r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` - FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` - WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 $sql_extra $order LIMIT %d , %d ", - 0, - 12 - ); - $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); - if(count($r)) { - $photo = 'thumb'; - foreach($r as $rr) { - $profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']); - $entry = replace_macros($tpl,array( - '$id' => $rr['id'], - '$profile-link' => $profile_link, - '$photo' => $rr[$photo], - '$alt-text' => $rr['name'], - )); - $aside['$lastusers_items'][] = $entry; - } - } - -// last 10 liked items - $aside['$like_title'] = t('Last likes'); - $aside['$like_items'] = array(); - $r = q("SELECT `T1`.`created`, `T1`.`liker`, `T1`.`liker-link`, `item`.* FROM - (SELECT `parent-uri`, `created`, `author-name` AS `liker`,`author-link` AS `liker-link` - FROM `item` WHERE `verb`='http://activitystrea.ms/schema/1.0/like' GROUP BY `parent-uri` ORDER BY `created` DESC) AS T1 - INNER JOIN `item` ON `item`.`uri`=`T1`.`parent-uri` - WHERE `T1`.`liker-link` LIKE '%s%%' OR `item`.`author-link` LIKE '%s%%' - GROUP BY `uri` - ORDER BY `T1`.`created` DESC - LIMIT 0,10", - $a->get_baseurl(),$a->get_baseurl() - ); - foreach ($r as $rr) { - $author = '<a href="' . $rr['liker-link'] . '">' . $rr['liker'] . '</a>'; - $objauthor = '<a href="' . $rr['author-link'] . '">' . $rr['author-name'] . '</a>'; - - //var_dump($rr['verb'],$rr['object-type']); killme(); - switch($rr['verb']){ - case 'http://activitystrea.ms/schema/1.0/post': - switch ($rr['object-type']){ - case 'http://activitystrea.ms/schema/1.0/event': - $post_type = t('event'); - break; - default: - $post_type = t('status'); - } - break; - default: - if ($rr['resource-id']){ - $post_type = t('photo'); - $m=array(); preg_match("/\[url=([^]]*)\]/", $rr['body'], $m); - $rr['plink'] = $m[1]; - } else { - $post_type = t('status'); - } - } - $plink = '<a href="' . $rr['plink'] . '">' . $post_type . '</a>'; +//profile_side at networkpages +if ($a->argv[0] === "network"){ - $aside['$like_items'][] = sprintf( t('%1$s likes %2$s\'s %3$s'), $author, $objauthor, $plink); - - } -// last 12 photos - $aside['$photos_title'] = t('Last photos'); - $aside['$photos_items'] = array(); - $r = q("SELECT `photo`.`id`, `photo`.`resource-id`, `photo`.`scale`, `photo`.`desc`, `user`.`nickname`, `user`.`username` FROM - (SELECT `resource-id`, MAX(`scale`) as maxscale FROM `photo` - WHERE `profile`=0 AND `contact-id`=0 AND `album` NOT IN ('Contact Photos', '%s', 'Profile Photos', '%s') - AND `allow_cid`='' AND `allow_gid`='' AND `deny_cid`='' AND `deny_gid`='' GROUP BY `resource-id`) AS `t1` - INNER JOIN `photo` ON `photo`.`resource-id`=`t1`.`resource-id` AND `photo`.`scale` = `t1`.`maxscale`, - `user` - WHERE `user`.`uid` = `photo`.`uid` - AND `user`.`blockwall`=0 - ORDER BY `photo`.`edited` DESC - LIMIT 0, 12", - dbesc(t('Contact Photos')), - dbesc(t('Profile Photos')) - ); - if(count($r)) { - $tpl = file_get_contents( dirname(__file__).'/directory_item.tpl'); - foreach($r as $rr) { - $photo_page = $a->get_baseurl() . '/photos/' . $rr['nickname'] . '/image/' . $rr['resource-id']; - $photo_url = $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] .'.jpg'; + // USER MENU + if(local_user()) { - $entry = replace_macros($tpl,array( - '$id' => $rr['id'], - '$profile-link' => $photo_page, - '$photo' => $photo_url, - '$alt-text' => $rr['username']." : ".$rr['desc'], + $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'], + ); + $ps = array('usermenu'=>array()); + $ps['usermenu']['status'] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations')); + $ps['usermenu']['profile'] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page')); + $ps['usermenu']['photos'] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); + $ps['usermenu']['events'] = Array('events/', t('Events'), "", t('Your events')); + $ps['usermenu']['notes'] = Array('notes/', t('Personal notes'), "", t('Your personal photos')); + $ps['usermenu']['community'] = Array('community/', t('Community'), "", ""); + $ps['usermenu']['pgroups'] = Array('http://dir.friendika.com/directory/forum', t('Public Groups'), "", ""); + + $tpl = get_markup_template('profile_side.tpl'); + + $a->page['aside'] .= replace_macros($tpl, array( + '$userinfo' => $userinfo, + '$ps' => $ps, )); - $aside['$photos_items'][] = $entry; - } } - - $tpl = file_get_contents(dirname(__file__).'/communityhome.tpl'); - $a->page['right_aside'] = replace_macros($tpl, $aside); + // COMMUNITY + diabook_community_info(); -} - -//change css on network and profilepages -$cssFile = null; - -if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) { + // CUSTOM CSS $cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook/style-network.css"; - } -if($is_url = preg_match ("/\bprofile\b/i", $_SERVER['REQUEST_URI'])) { - $cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook/style-profile.css"; - } - - - -//js scripts -$a->page['htmlhead'] .= <<< EOT - -<link rel="stylesheet" type="text/css" href="$cssFile" /> - -<script> - -//contacts -$('html').click(function() { - $('#nav-contacts-linkmenu').removeClass('selected'); - document.getElementById( "nav-contacts-menu" ).style.display = "none"; - }); - - $('#nav-contacts-linkmenu').click(function(event){ - event.stopPropagation(); - }); +} -//messages -$('html').click(function() { - $('#nav-messages-linkmenu').removeClass('selected'); - document.getElementById( "nav-messages-menu" ).style.display = "none"; - }); - $('#nav-messages-linkmenu').click(function(event){ - event.stopPropagation(); - }); -//notifications -$('html').click(function() { - $('#nav-notifications-linkmenu').removeClass('selected'); - document.getElementById( "nav-notifications-menu" ).style.display = "none"; - }); +//right_aside at profile pages +if ($a->argv[0] === "profile"){ + + // COMMUNITY + diabook_community_info(); + + // CUSTOM CSS + $cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook/style-profile.css"; + +} - $('#nav-notifications-linkmenu').click(function(event){ - event.stopPropagation(); - }); -//usermenu -$('html').click(function() { - $('#nav-user-linkmenu').removeClass('selected'); - document.getElementById( "nav-user-menu" ).style.display = "none"; - }); +// custom css +if (!is_null($cssFile)) $a->page['htmlhead'] .= sprintf('<link rel="stylesheet" type="text/css" href="%s" />', $cssFile); - $('#nav-user-linkmenu').click(function(event){ - event.stopPropagation(); - }); - - //settingsmenu - $('html').click(function() { - $('#nav-site-linkmenu').removeClass('selected'); - document.getElementById( "nav-site-menu" ).style.display = "none"; - }); +//js scripts - $('#nav-site-linkmenu').click(function(event){ - event.stopPropagation(); - }); - //appsmenu - $('html').click(function() { - $('#nav-apps-link').removeClass('selected'); - document.getElementById( "nav-apps-menu" ).style.display = "none"; - }); +$a->page['htmlhead'] .= <<< EOT - $('#nav-apps-link').click(function(event){ - event.stopPropagation(); - }); - +<script> $(function() { $('a.lightbox').fancybox(); // Select all links with lightbox class -}); - - + }); </script> EOT; + |