aboutsummaryrefslogtreecommitdiffstats
path: root/view/theme/diabook/theme.php
diff options
context:
space:
mode:
authorSimon L'nu <simon.lnu@gmail.com>2012-03-23 10:41:55 -0400
committerSimon L'nu <simon.lnu@gmail.com>2012-03-23 10:41:55 -0400
commit803f79e0912c4a526a16fdda4809277d8ad3195d (patch)
tree61dd6d3a8fc5368ad86b5d38a5d177ae9cd2d9f8 /view/theme/diabook/theme.php
parent8e29669b81f8df724bb77e2e2b6eff330a17cbec (diff)
parentce8cfb7b0531e72fe28b3a6a6440016e482bd016 (diff)
downloadvolse-hubzilla-803f79e0912c4a526a16fdda4809277d8ad3195d.tar.gz
volse-hubzilla-803f79e0912c4a526a16fdda4809277d8ad3195d.tar.bz2
volse-hubzilla-803f79e0912c4a526a16fdda4809277d8ad3195d.zip
Merge branch 'master', remote-tracking branch 'remotes/upstream/master'
* remotes/upstream/master: (25 commits) 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) user settings: don't show emoticons fix in css right_aside small fix fix 1024resolution add right_aside to theme diabook ability to change tags in edited posts normalise comparison link on delegation page quattro(-green) styling the 'filed under: remove' text it's only item.filer ;-) non static filer text new lines removed removed some new lines to cut down number of changed files removed unneccessary stuff removed problem from previous commit tests for the template engine adding filer functionality to quattro(-green) missing tooltip for "file as" prevent re-registrations using a deleted username - not an issue with Friendica but could create a serious privacy issue with federated platforms add file_as-option to diabook-derivates ... * master:
Diffstat (limited to 'view/theme/diabook/theme.php')
-rwxr-xr-xview/theme/diabook/theme.php256
1 files changed, 171 insertions, 85 deletions
diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php
index 39479ce52..b487b8f88 100755
--- a/view/theme/diabook/theme.php
+++ b/view/theme/diabook/theme.php
@@ -11,109 +11,195 @@ $a->theme_info = array(
'extends' => 'diabook',
);
-//profile_side
+//change css on network and profilepages
+$cssFile = null;
-
-$nav['usermenu']=array();
-$userinfo = null;
-
-if(local_user()) {
+/**
+ * prints last community activity
+ */
+function diabook_community_info(){
+ $a = get_app();
+ //right_aside at networkpages
+
+ // 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;
+ }
+ }
-
-
-$r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid']));
+
+ // 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>';
-$userinfo = array(
- 'icon' => (count($r) ? $r[0]['micro']: $a->get_baseurl()."/images/default-profile-mm.jpg"),
- 'name' => $a->user['username'],
- );
+ //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>';
+
+ $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
+ AND `user`.`hidewall`=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';
+
+ $entry = replace_macros($tpl,array(
+ '$id' => $rr['id'],
+ '$profile-link' => $photo_page,
+ '$photo' => $photo_url,
+ '$alt-text' => $rr['username']." : ".$rr['desc'],
+ ));
+
+ $aside['$photos_items'][] = $entry;
+ }
+ }
+
+
+ $tpl = file_get_contents(dirname(__file__).'/communityhome.tpl');
+ $a->page['right_aside'] = replace_macros($tpl, $aside);
-$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'), "", "");
-
-if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) {
-$tpl = get_markup_template('profile_side.tpl');
-
-$a->page['aside'] .= replace_macros($tpl, array(
- '$userinfo' => $userinfo,
- '$ps' => $ps,
- ));
-}
}
-//js scripts
-$a->page['htmlhead'] .= <<< EOT
-<script>
+//profile_side at networkpages
+if ($a->argv[0] === "network"){
-//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();
- });
+ // USER MENU
+ 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 = 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,
+ ));
+
+ }
+
+ // COMMUNITY
+ diabook_community_info();
+
+ // CUSTOM CSS
+ $cssFile = $a->get_baseurl($ssl_state)."/view/theme/diabook/style-network.css";
+
+}
-//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;
+