X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fphotos.php;h=9f92c11370f54d09bba71e98628bc083b7bab2a1;hb=9718fffd71856f98815ecc8375afddd6b22b070c;hp=28cc805add8d1e933c0d743bfa59239a8ac2f75f;hpb=d8630dbdd8217ff31581bc521ceb1cd6be9b999c;p=friendica.git diff --git a/mod/photos.php b/mod/photos.php index 28cc805add..9f92c11370 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -7,6 +7,8 @@ require_once('include/bbcode.php'); function photos_init(&$a) { + $o = ''; + if($a->argc > 1) { $nick = $a->argv[1]; $r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1", @@ -36,6 +38,9 @@ function photos_init(&$a) { } $o .= ''; } + + if(! x($a->page,'aside')) + $a->page['aside'] = ''; $a->page['aside'] .= $o; } return; @@ -52,12 +57,17 @@ function photos_post(&$a) { killme(); } - - $r = q("SELECT `contact`.* `user`.`nickname` FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid` + $r = q("SELECT `contact`.*, `user`.`nickname` FROM `contact` LEFT JOIN `user` ON `user`.`uid` = `contact`.`uid` WHERE `user`.`uid` = %d AND `self` = 1 LIMIT 1", intval(local_user()) ); + if(! count($r)) { + notice( t('Contact information unavailable') . EOL); + logger('photos_post: unable to locate contact record for logged in user. uid=' . local_user()); + killme(); + } + $contact_record = $r[0]; @@ -208,23 +218,26 @@ function photos_post(&$a) { $arr = array(); - $arr['uid'] = local_user(); - $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; - $arr['type'] = 'photo'; - $arr['wall'] = 1; - $arr['resource-id'] = $p[0]['resource-id']; - $arr['contact-id'] = $contact_record['id']; - $arr['owner-name'] = $contact_record['name']; - $arr['owner-link'] = $contact_record['url']; - $arr['owner-avatar'] = $contact_record['thumb']; - $arr['title'] = $title; - $arr['allow_cid'] = $p[0]['allow_cid']; - $arr['allow_gid'] = $p[0]['allow_gid']; - $arr['deny_cid'] = $p[0]['deny_cid']; - $arr['deny_gid'] = $p[0]['deny_gid']; - $arr['last-child'] = 1; - $arr['body'] = '[url=' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $p[0]['resource-id'] . ']' + $arr['uid'] = local_user(); + $arr['uri'] = $uri; + $arr['parent-uri'] = $uri; + $arr['type'] = 'photo'; + $arr['wall'] = 1; + $arr['resource-id'] = $p[0]['resource-id']; + $arr['contact-id'] = $contact_record['id']; + $arr['owner-name'] = $contact_record['name']; + $arr['owner-link'] = $contact_record['url']; + $arr['owner-avatar'] = $contact_record['thumb']; + $arr['author-name'] = $contact_record['name']; + $arr['author-link'] = $contact_record['url']; + $arr['author-avatar'] = $contact_record['thumb']; + $arr['title'] = $title; + $arr['allow_cid'] = $p[0]['allow_cid']; + $arr['allow_gid'] = $p[0]['allow_gid']; + $arr['deny_cid'] = $p[0]['deny_cid']; + $arr['deny_gid'] = $p[0]['deny_gid']; + $arr['last-child'] = 1; + $arr['body'] = '[url=' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . '[img]' . $a->get_baseurl() . '/photo/' . $p[0]['resource-id'] . '-' . $p[0]['scale'] . '.jpg' . '[/img]' . '[/url]'; @@ -254,6 +267,7 @@ function photos_post(&$a) { if($x !== '@' && $x !== '#') $rawtags = '#' . $rawtags; + $taginfo = array(); $tags = get_tags($rawtags); if(count($tags)) { @@ -268,12 +282,14 @@ function photos_post(&$a) { if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') $profile = $link['@attributes']['href']; if($link['@attributes']['rel'] === 'salmon') { + $salmon = '$url:' . str_replace(',','%sc',$link['@attributes']['href']); if(strlen($inform)) $inform .= ','; - $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); + $inform .= $salmon; } } } + $taginfo[] = array($newname,$profile,$salmon); } else { $newname = $name; @@ -292,12 +308,14 @@ function photos_post(&$a) { } if(count($r)) { $profile = $r[0]['url']; + $notify = 'cid:' . $r[0]['id']; if(strlen($inform)) $inform .= ','; - $inform .= 'cid:' . $r[0]['id']; + $inform .= $notify; } } if($profile) { + $taginfo[] = array($newname,$profile,$notify); if(strlen($str_tags)) $str_tags .= ','; $profile = str_replace(',','%2c',$profile); @@ -325,13 +343,36 @@ function photos_post(&$a) { intval($item_id), intval(local_user()) ); + + if(count($taginfo)) { + foreach($taginfo as $tagged) { +// $slap = create_photo_tag(local_user(),$item_id, $tagged); + + +// + } + // call notifier on new tag activity + } + +// $php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); + +// $proc_debug = get_config('system','proc_debug'); + + // send the notification upstream/downstream as the case may be + +// if($i[0]['visible']) +// proc_close(proc_open("\"$php_path\" \"include/notifier.php\" \"drop\" \"$drop_id\" $proc_debug & ", +// array(),$foo)); + + + } goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); return; // NOTREACHED } - + // default post action - upload a photo if(! x($_FILES,'userfile')) killme(); @@ -358,7 +399,7 @@ function photos_post(&$a) { if((! count($r)) || ($album == t('Profile Photos'))) $visible = 1; else - $visibile = 0; + $visible = 0; $str_group_allow = perms2str($_POST['group_allow']); @@ -415,24 +456,27 @@ function photos_post(&$a) { $arr = array(); - $arr['uid'] = local_user(); - $arr['uri'] = $uri; - $arr['parent-uri'] = $uri; - $arr['type'] = 'photo'; - $arr['wall'] = 1; - $arr['resource-id'] = $photo_hash; - $arr['contact-id'] = $contact_record['id']; - $arr['owner-name'] = $contact_record['name']; - $arr['owner-link'] = $contact_record['url']; - $arr['owner-avatar'] = $contact_record['thumb']; - $arr['title'] = $title; - $arr['allow_cid'] = $str_contact_allow; - $arr['allow_gid'] = $str_group_allow; - $arr['deny_cid'] = $str_contact_deny; - $arr['deny_gid'] = $str_group_deny; - $arr['last-child'] = 1; - $arr['visible'] = $visible; - $arr['body'] = '[url=' . $a->get_baseurl() . '/photos/' . $contact_record['nickname'] . '/image/' . $photo_hash . ']' + $arr['uid'] = local_user(); + $arr['uri'] = $uri; + $arr['parent-uri'] = $uri; + $arr['type'] = 'photo'; + $arr['wall'] = 1; + $arr['resource-id'] = $photo_hash; + $arr['contact-id'] = $contact_record['id']; + $arr['owner-name'] = $contact_record['name']; + $arr['owner-link'] = $contact_record['url']; + $arr['owner-avatar'] = $contact_record['thumb']; + $arr['author-name'] = $contact_record['name']; + $arr['author-link'] = $contact_record['url']; + $arr['author-avatar'] = $contact_record['thumb']; + $arr['title'] = ''; + $arr['allow_cid'] = $str_contact_allow; + $arr['allow_gid'] = $str_group_allow; + $arr['deny_cid'] = $str_contact_deny; + $arr['deny_gid'] = $str_group_deny; + $arr['last-child'] = 1; + $arr['visible'] = $visible; + $arr['body'] = '[url=' . $a->get_baseurl() . '/photos/' . $contact_record['nickname'] . '/image/' . $photo_hash . ']' . '[img]' . $a->get_baseurl() . "/photo/{$photo_hash}-{$smallest}.jpg" . '[/img]' . '[/url]'; @@ -604,7 +648,7 @@ function photos_content(&$a) { $a->set_pager_total(count($r)); - $r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s' + $r = q("SELECT `resource-id`, `id`, `filename`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s' $sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d", intval($a->data['user']['uid']), dbesc($album), @@ -660,6 +704,7 @@ function photos_content(&$a) { require_once('security.php'); require_once('bbcode.php'); + $o = '
' . "\r\n"; // fetch image, item containing image, then comments $ph = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s' @@ -710,11 +755,12 @@ function photos_content(&$a) { $r = q("SELECT COUNT(*) AS `total` FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` WHERE `parent-uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 - AND NOT `item`.`type` IN ( 'remote', 'net-comment') - AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `item`.`uid` = %d $sql_extra ", dbesc($i1[0]['uri']), - dbesc($i1[0]['uri']) + dbesc($i1[0]['uri']), + intval($i1[0]['uid']) ); @@ -728,16 +774,24 @@ function photos_content(&$a) { `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid` FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` WHERE `parent-uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 - AND NOT `item`.`type` IN ( 'remote', 'net-comment') AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `item`.`uid` = %d $sql_extra ORDER BY `parent` DESC, `id` ASC LIMIT %d ,%d ", dbesc($i1[0]['uri']), dbesc($i1[0]['uri']), + intval($i1[0]['uid']), intval($a->pager['start']), intval($a->pager['itemspage']) ); + + if((local_user()) && (local_user() == $i1[0]['uid'])) { + q("UPDATE `item` SET `unseen` = 0 WHERE `parent` = %d and `uid` = %d", + intval($i1[0]['parent']), + intval(local_user()) + ); + } } $o .= '
' . $ph[0]['desc'] . '
'; @@ -779,32 +833,86 @@ function photos_content(&$a) { $tpl = load_view_file('view/photo_item.tpl'); $return_url = $a->cmd; - if(can_write_wall($a,$a->data['user']['uid'])) { - if($i1[0]['last-child']) { - $o .= replace_macros($cmnt_tpl,array( - '$return_path' => $return_url, - '$type' => 'wall-comment', - '$id' => $i1[0]['id'], - '$parent' => $i1[0]['id'], - '$profile_uid' => $a->data['user']['uid'], - '$mylink' => $contact['url'], - '$mytitle' => t('This is you'), - '$myphoto' => $contact['thumb'], - '$ww' => '' - )); + $like_tpl = load_view_file('view/like.tpl'); + + $likebuttons = ''; + + if(can_write_wall($a,$a->data['user']['uid'])) + $likebuttons = replace_macros($like_tpl,array('$id' => $i1[0]['id'])); + + if(! count($r)) { + $o .= '
'; + $o .= $likebuttons; + $o .= '
'; + + if(can_write_wall($a,$a->data['user']['uid'])) { + if($i1[0]['last-child']) { + $o .= replace_macros($cmnt_tpl,array( + '$return_path' => $return_url, + '$type' => 'wall-comment', + '$id' => $i1[0]['id'], + '$parent' => $i1[0]['id'], + '$profile_uid' => $a->data['user']['uid'], + '$mylink' => $contact['url'], + '$mytitle' => t('This is you'), + '$myphoto' => $contact['thumb'], + '$ww' => '' + )); + } } } + $alike = array(); + $dlike = array(); // display comments if(count($r)) { + + foreach($r as $item) { + like_puller($a,$item,$alike,'like'); + like_puller($a,$item,$dlike,'dislike'); + } + + $like = ((isset($alike[$i1[0]['id']])) ? format_like($alike[$i1[0]['id']],$alike[$i1[0]['id'] . '-l'],'like',$i1[0]['id']) : ''); + $dislike = ((isset($dlike[$i1[0]['id']])) ? format_like($dlike[$i1[0]['id']],$dlike[$i1[0]['id'] . '-l'],'dislike',$i1[0]['id']) : ''); + + $o .= '
'; + $o .= $likebuttons; + $o .= $like; + $o .= $dislike; + $o .= '
'; + + + + if(can_write_wall($a,$a->data['user']['uid'])) { + if($i1[0]['last-child']) { + $o .= replace_macros($cmnt_tpl,array( + '$return_path' => $return_url, + '$type' => 'wall-comment', + '$id' => $i1[0]['id'], + '$parent' => $i1[0]['id'], + '$profile_uid' => $a->data['user']['uid'], + '$mylink' => $contact['url'], + '$mytitle' => t('This is you'), + '$myphoto' => $contact['thumb'], + '$ww' => '' + )); + } + } + + foreach($r as $item) { $comment = ''; $template = $tpl; - + $sparkle = ''; + + if(((activity_match($item['verb'],ACTIVITY_LIKE)) || (activity_match($item['verb'],ACTIVITY_DISLIKE))) && ($item['id'] != $item['parent'])) + continue; + $redirect_url = $a->get_baseurl() . '/redir/' . $item['cid'] ; if(can_write_wall($a,$a->data['user']['uid'])) { + if($item['last-child']) { $comment = replace_macros($cmnt_tpl,array( '$return_path' => $return_url, @@ -863,6 +971,7 @@ function photos_content(&$a) { } // Default - show recent photos with upload link (if applicable) + $o = ''; $r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' $sql_extra GROUP BY `resource-id`", @@ -873,7 +982,8 @@ function photos_content(&$a) { $a->set_pager_total(count($r)); - $r = q("SELECT `resource-id`, `album`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' + $r = q("SELECT `resource-id`, `id`, `filename`, `album`, max(`scale`) AS `scale` FROM `photo` + WHERE `uid` = %d AND `album` != '%s' $sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d", intval($a->data['user']['uid']), dbesc( t('Contact Photos')), @@ -898,7 +1008,7 @@ function photos_content(&$a) { '$phototitle' => t('View Photo'), '$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.jpg', - '$albumlink' => $a->get_baseurl . '/photos/' + '$albumlink' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']), '$albumname' => $rr['album'], '$albumalt' => t('View Album'),