<?php
require_once('include/Photo.php');
+require_once('include/photos.php');
require_once('include/items.php');
require_once('include/acl_selectors.php');
require_once('include/bbcode.php');
$a->data['user'] = $r[0];
$a->profile_uid = $r[0]['uid'];
+ $is_owner = (local_user() && (local_user() == $a->profile_uid));
$profilephoto = $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg');
$ret['albums'] = array();
foreach($albums as $k => $album) {
+ //hide profile photos to others
+ if((! $is_owner) && (! remote_user()) && ($album['album'] == t('Profile Photos')))
+ continue;
$entry = array(
'text' => $album['album'],
'total' => $album['total'],
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
}
+ /*
+ * RENAME photo album
+ */
+
$newalbum = notags(trim($_POST['albumname']));
if($newalbum != $album) {
q("UPDATE `photo` SET `album` = '%s' WHERE `album` = '%s' AND `uid` = %d",
return; // NOTREACHED
}
+ /*
+ * DELETE photo album and all its photos
+ */
if($_POST['dropalbum'] == t('Delete Album')) {
if(count($links)) {
foreach($links as $link) {
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
- $profile = $link['@attributes']['href'];
+ $profile = $link['@attributes']['href'];
if($link['@attributes']['rel'] === 'salmon') {
$salmon = '$url:' . str_replace(',','%sc',$link['@attributes']['href']);
if(strlen($inform))
$inform .= ',';
- $inform .= $salmon;
+ $inform .= $salmon;
}
}
}
killme();
}
- $ph->orient($src);
+ $exif = $ph->orient($src);
@unlink($src);
$max_length = get_config('system','max_image_length');
// Create item container
+ $lat = $lon = null;
+
+ if($exif && $exif['GPS']) {
+ if(feature_enabled($channel_id,'photo_location')) {
+ $lat = getGps($exif['GPS']['GPSLatitude'], $exif['GPS']['GPSLatitudeRef']);
+ $lon = getGps($exif['GPS']['GPSLongitude'], $exif['GPS']['GPSLongitudeRef']);
+ }
+ }
+
$arr = array();
+ if($lat && $lon)
+ $arr['coord'] = $lat . ' ' . $lon;
+
$arr['uid'] = $page_owner_uid;
$arr['uri'] = $uri;
$arr['parent-uri'] = $uri;
$o = "";
// tabs
- $_is_owner = (local_user() && (local_user() == $owner_uid));
- $o .= profile_tabs($a,$_is_owner, $a->data['user']['nickname']);
-
- //
- // dispatch request
- //
+ $is_owner = (local_user() && (local_user() == $owner_uid));
+ $o .= profile_tabs($a,$is_owner, $a->data['user']['nickname']);
+ /**
+ * Display upload form
+ */
if($datatype === 'upload') {
if(! ($can_post)) {
return $o;
}
+ /*
+ * Display a single photo album
+ */
+
if($datatype === 'album') {
$album = hex2bin($datum);
intval($a->pager['itemspage'])
);
+ //edit album name
if($cmd === 'edit') {
if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) {
if($can_post) {
}
+ /**
+ * Display one photo
+ */
if($datatype === 'image') {
-
-
//$o = '';
// fetch image, item containing image, then comments
$linked_items = q("SELECT * FROM `item` WHERE `resource-id` = '%s' $sql_extra LIMIT 1",
dbesc($datum)
);
+
+ $map = null;
+
if(count($linked_items)) {
$link_item = $linked_items[0];
$r = q("SELECT COUNT(*) AS `total`
);
update_thread($link_item['parent']);
}
+
+ if($link_item['coord']) {
+ $map = generate_map($link_item['coord']);
+ }
}
$tags=Null;
'$desc' => $ph[0]['desc'],
'$tags' => $tags_e,
'$edit' => $edit,
+ '$map' => $map,
+ '$map_text' => t('Map'),
'$likebuttons' => $likebuttons,
'$like' => $like_e,
'$dislike' => $dikslike_e,
if(count($r)) {
$twist = 'rotright';
foreach($r as $rr) {
+ //hide profile photos to others
+ if((! $is_owner) && (! remote_user()) && ($rr['album'] == t('Profile Photos')))
+ continue;
+
if($twist == 'rotright')
$twist = 'rotleft';
else
}
$photos[] = array(
- 'id' => $rr['id'],
- 'twist' => ' ' . $twist . rand(2,4),
+ 'id' => $rr['id'],
+ 'twist' => ' ' . $twist . rand(2,4),
'link' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'],
'title' => t('View Photo'),
'src' => $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext,