X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fphotos.php;h=3ce6f9934d27f8d4eb2d5d002ecf87a6b276f953;hb=b6fe837a643c9c7bb63a5196d4d14c508f3fce55;hp=7141919b0f859e259cde032ac7c1ee0a5bbd85ee;hpb=a2b2318106be9b133a7265697dc8776bcc248839;p=friendica.git
diff --git a/mod/photos.php b/mod/photos.php
index 7141919b0f..3ce6f9934d 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -33,22 +33,32 @@ function photos_init(&$a) {
if(count($albums)) {
$a->data['albums'] = $albums;
- $o .= '
';
+ $o .= '';
+ $o .= '
' . $a->data['user']['username'] . '
';
$o .= '
';
+ $o .= '
';
+
+ if(! intval($a->data['user']['hidewall'])) {
+ $o .= '';
}
if(! x($a->page,'aside'))
@@ -89,15 +99,11 @@ EOT;
function photos_post(&$a) {
- logger('mod/photos.php: photos_post(): begin' , 'LOGGER_DEBUG');
+ logger('mod-photos: photos_post: begin' , LOGGER_DEBUG);
- foreach($_REQUEST AS $key => $val) {
- logger('mod/photos.php: photos_post(): $_REQUEST key: ' . $key . ' val: ' . $val , 'LOGGER_DEBUG');
- }
- foreach($_FILES AS $key => $val) {
- logger('mod/photos.php: photos_post(): $_FILES key: ' . $key . ' val: ' . $val , 'LOGGER_DEBUG');
- }
+ logger('mod_photos: REQUEST ' . print_r($_REQUEST,true), LOGGER_DATA);
+ logger('mod_photos: FILES ' . print_r($_FILES,true), LOGGER_DATA);
$can_post = false;
$visitor = 0;
@@ -281,6 +287,7 @@ function photos_post(&$a) {
if(($a->argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) {
+
$desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : '');
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
@@ -294,7 +301,61 @@ function photos_post(&$a) {
if(! strlen($albname))
$albname = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y');
+
+
+ if((x($_POST,'rotate') !== false) && (intval($_POST['rotate']) == 1)) {
+ logger('rotate');
+
+ $r = q("select * from photo where `resource-id` = '%s' and uid = %d and scale = 0 limit 1",
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+ if(count($r)) {
+ $ph = new Photo($r[0]['data']);
+ if($ph->is_valid()) {
+ $ph->rotate(270);
+
+ $width = $ph->getWidth();
+ $height = $ph->getHeight();
+
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource-id` = '%s' and uid = %d and scale = 0 limit 1",
+ dbesc($ph->imageString()),
+ intval($height),
+ intval($width),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+
+ if($width > 640 || $height > 640) {
+ $ph->scaleImage(640);
+ $width = $ph->getWidth();
+ $height = $ph->getHeight();
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource-id` = '%s' and uid = %d and scale = 1 limit 1",
+ dbesc($ph->imageString()),
+ intval($height),
+ intval($width),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+ }
+
+ if($width > 320 || $height > 320) {
+ $ph->scaleImage(320);
+ $width = $ph->getWidth();
+ $height = $ph->getHeight();
+
+ $x = q("update photo set data = '%s', height = %d, width = %d where `resource-id` = '%s' and uid = %d and scale = 2 limit 1",
+ dbesc($ph->imageString()),
+ intval($height),
+ intval($width),
+ dbesc($resource_id),
+ intval($page_owner_uid)
+ );
+ }
+ }
+ }
+ }
$p = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ORDER BY `scale` DESC",
dbesc($resource_id),
@@ -324,7 +385,6 @@ function photos_post(&$a) {
// Create item container
$title = '';
- $basename = basename($filename);
$uri = item_new_uri($a->get_hostname(),$page_owner_uid);
$arr = array();
@@ -349,6 +409,7 @@ function photos_post(&$a) {
$arr['deny_gid'] = $p[0]['deny_gid'];
$arr['last-child'] = 1;
$arr['visible'] = $visibility;
+ $arr['origin'] = 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]'
@@ -408,7 +469,18 @@ function photos_post(&$a) {
}
else {
$newname = $name;
- if(strstr($name,'_') || strstr($name,' ')) {
+ $alias = '';
+ $tagcid = 0;
+ if(strrpos($newname,'+'))
+ $tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
+
+ if($tagcid) {
+ $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($tagcid),
+ intval($profile_uid)
+ );
+ }
+ elseif(strstr($name,'_') || strstr($name,' ')) {
$newname = str_replace('_',' ',$name);
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
dbesc($newname),
@@ -507,7 +579,7 @@ function photos_post(&$a) {
$arr['target-type'] = ACTIVITY_OBJ_PHOTO;
$arr['tag'] = $tagged[4];
$arr['inform'] = $tagged[2];
-
+ $arr['origin'] = 1;
$arr['body'] = '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]' . ' ' . t('was tagged in a') . ' ' . '[url=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . t('photo') . '[/url]' . ' ' . t('by') . ' ' . '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]' ;
$arr['body'] .= "\n\n" . '[url=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . ']' . '[img]' . $a->get_baseurl() . "/photo/" . $p[0]['resource-id'] . '-' . $best . '.jpg' . '[/img][/url]' . "\n" ;
@@ -554,7 +626,7 @@ function photos_post(&$a) {
$album = notags(trim($_REQUEST['album']));
$newalbum = notags(trim($_REQUEST['newalbum']));
- logger('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , 'LOGGER_DEBUG');
+ logger('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
if(! strlen($album)) {
if(strlen($newalbum))
@@ -581,6 +653,9 @@ function photos_post(&$a) {
$visible = 1;
else
$visible = 0;
+
+ if(intval($_REQUEST['not_visible']) || $_REQUEST['not_visible'] === 'true')
+ $visible = 0;
$str_group_allow = perms2str(((is_array($_REQUEST['group_allow'])) ? $_REQUEST['group_allow'] : explode(',',$_REQUEST['group_allow'])));
$str_contact_allow = perms2str(((is_array($_REQUEST['contact_allow'])) ? $_REQUEST['contact_allow'] : explode(',',$_REQUEST['contact_allow'])));
@@ -623,13 +698,13 @@ function photos_post(&$a) {
return;
}
- logger('mod/photos.php: photos_post(): loading the contents of ' . $src , 'LOGGER_DEBUG');
+ logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
$imagedata = @file_get_contents($src);
$ph = new Photo($imagedata);
if(! $ph->is_valid()) {
- logger('mod/photos.php: photos_post(): unable to process image' , 'LOGGER_DEBUG');
+ logger('mod/photos.php: photos_post(): unable to process image' , LOGGER_DEBUG);
notice( t('Unable to process image.') . EOL );
@unlink($src);
$foo = 0;
@@ -649,7 +724,7 @@ function photos_post(&$a) {
$r = $ph->store($page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny);
if(! $r) {
- logger('mod/photos.php: photos_post(): image store failed' , 'LOGGER_DEBUG');
+ logger('mod/photos.php: photos_post(): image store failed' , LOGGER_DEBUG);
notice( t('Image upload failed.') . EOL );
killme();
}
@@ -693,6 +768,8 @@ function photos_post(&$a) {
$arr['deny_gid'] = $str_group_deny;
$arr['last-child'] = 1;
$arr['visible'] = $visible;
+ $arr['origin'] = 1;
+
$arr['body'] = '[url=' . $a->get_baseurl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo_hash . ']'
. '[img]' . $a->get_baseurl() . "/photo/{$photo_hash}-{$smallest}.jpg" . '[/img]'
. '[/url]';
@@ -726,6 +803,7 @@ function photos_content(&$a) {
// URLs:
// photos/name
// photos/name/upload
+ // photos/name/upload/xxxxx (xxxxx is album name)
// photos/name/album/xxxxx
// photos/name/album/xxxxx/edit
// photos/name/image/xxxxx
@@ -829,18 +907,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
@@ -852,14 +920,21 @@ function photos_content(&$a) {
notice( t('Permission denied.'));
return;
}
+
+
+ $selname = (($datum) ? hex2bin($datum) : '');
+
+
$albumselect = '';
- $albumselect .= ' ';
+
+ $albumselect .= ' ';
if(count($a->data['albums'])) {
foreach($a->data['albums'] as $album) {
if(($album['album'] === '') || ($album['album'] === 'Contact Photos') || ($album['album'] === t('Contact Photos')))
continue;
- $albumselect .= '' . $album['album'] . ' ';
+ $selected = (($selname === $album['album']) ? ' selected="selected" ' : '');
+ $albumselect .= '' . $album['album'] . ' ';
}
}
@@ -889,6 +964,7 @@ function photos_content(&$a) {
'$nickname' => $a->data['user']['nickname'],
'$newalbum' => t('New album name: '),
'$existalbumtext' => t('or existing album name: '),
+ '$nosharetext' => t('Do not show a status post for this upload'),
'$albumselect' => template_escape($albumselect),
'$permissions' => t('Permissions'),
'$aclselect' => (($visitor) ? '' : template_escape(populate_acl($a->user, $celeb))),
@@ -949,11 +1025,23 @@ function photos_content(&$a) {
}
}
}
+
+ if($can_post) {
+ $o .= '';
+ }
+
$tpl = get_markup_template('photo_album.tpl');
if(count($r))
+ $twist = 'rotright';
foreach($r as $rr) {
+ if($twist == 'rotright')
+ $twist = 'rotleft';
+ else
+ $twist = 'rotright';
+
$o .= replace_macros($tpl,array(
'$id' => $rr['id'],
+ '$twist' => ' ' . $twist . rand(2,4),
'$photolink' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'],
'$phototitle' => t('View Photo'),
'$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.jpg',
@@ -1055,13 +1143,24 @@ function photos_content(&$a) {
}
+ if(! $cmd !== 'edit') {
+ $a->page['htmlhead'] .= '';
+ }
+
if($prevlink)
$prevlink = array($prevlink, '
') ;
$photo = array(
'href' => $a->get_baseurl() . '/photo/' . $hires['resource-id'] . '-' . $hires['scale'] . '.jpg',
'title'=> t('View Full Size'),
- 'src' => $a->get_baseurl() . '/photo/' . $lores['resource-id'] . '-' . $lores['scale'] . '.jpg'
+ 'src' => $a->get_baseurl() . '/photo/' . $lores['resource-id'] . '-' . $lores['scale'] . '.jpg' . '?f=&_u=' . datetime_convert('','','','ymdhis')
);
if($nextlink)
@@ -1077,7 +1176,7 @@ function photos_content(&$a) {
$link_item = $linked_items[0];
$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
+ WHERE `parent-uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
AND `item`.`uid` = %d
$sql_extra ",
@@ -1096,7 +1195,7 @@ function photos_content(&$a) {
`contact`.`rel`, `contact`.`thumb`, `contact`.`self`,
`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
+ WHERE `parent-uri` = '%s' AND `uri` != '%s' AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
AND `item`.`uid` = %d
$sql_extra
@@ -1141,6 +1240,7 @@ function photos_content(&$a) {
$edit_tpl = get_markup_template('photo_edit.tpl');
$edit = replace_macros($edit_tpl, array(
'$id' => $ph[0]['id'],
+ '$rotate' => t('Rotate CW'),
'$album' => template_escape($ph[0]['album']),
'$newalbum' => t('New album name'),
'$nickname' => $a->data['user']['nickname'],
@@ -1194,6 +1294,7 @@ function photos_content(&$a) {
'$myphoto' => $contact['thumb'],
'$comment' => t('Comment'),
'$submit' => t('Submit'),
+ '$preview' => t('Preview'),
'$ww' => ''
));
}
@@ -1358,30 +1459,43 @@ function photos_content(&$a) {
intval($a->pager['itemspage'])
);
- $o .= '' . t('Recent Photos') . ' ';
- if($can_post) {
- $o .= '';
- }
- $tpl = get_markup_template('photo_top.tpl');
+ $photos = array();
if(count($r)) {
+ $twist = 'rotright';
foreach($r as $rr) {
- $o .= replace_macros($tpl,array(
- '$id' => $rr['id'],
- '$photolink' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'],
- '$phototitle' => t('View Photo'),
- '$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.jpg',
- '$albumlink' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
- '$albumname' => template_escape($rr['album']),
- '$albumalt' => t('View Album'),
- '$imgalt' => template_escape($rr['filename'])
- ));
-
+ if($twist == 'rotright')
+ $twist = 'rotleft';
+ else
+ $twist = 'rotright';
+
+ $photos[] = array(
+ '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']) . '.jpg',
+ 'alt' => template_escape($rr['filename']),
+ 'album' => array(
+ 'link' => $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
+ 'name' => template_escape($rr['album']),
+ 'alt' => t('View Album'),
+ ),
+
+ );
}
- $o .= '
';
}
+
+ $tpl = get_markup_template('photos_recent.tpl');
+ $o .= replace_macros($tpl,array(
+ '$title' => t('Recent Photos'),
+ '$can_post' => $can_post,
+ '$upload' => array(t('Upload New Photos'), $a->get_baseurl().'/photos/'.$a->data['user']['nickname'].'/upload'),
+ '$photos' => $photos,
+ ));
+
+
$o .= paginate($a);
return $o;
}