]> git.mxchange.org Git - friendica.git/blobdiff - mod/photos.php
Merge pull request #5238 from annando/more-abstraction
[friendica.git] / mod / photos.php
index 32d52c64895fe768fc2d7aef1b86704567e9deef..9cd3482746734f71696684bcc12af6b8fa6cbd44 100644 (file)
@@ -19,6 +19,7 @@ use Friendica\Model\Group;
 use Friendica\Model\Item;
 use Friendica\Model\Photo;
 use Friendica\Model\Profile;
+use Friendica\Model\User;
 use Friendica\Network\Probe;
 use Friendica\Object\Image;
 use Friendica\Protocol\DFRN;
@@ -175,19 +176,14 @@ function photos_post(App $a)
                killme();
        }
 
-       $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($page_owner_uid)
-       );
+       $owner_record = User::getOwnerDataById($page_owner_uid);
 
-       if (!DBM::is_result($r)) {
+       if (!$owner_record) {
                notice(L10n::t('Contact information unavailable') . EOL);
                logger('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
                killme();
        }
 
-       $owner_record = $r[0];
-
        if ($a->argc > 3 && $a->argv[2] === 'album') {
                $album = hex2bin($a->argv[3]);
 
@@ -284,14 +280,7 @@ function photos_post(App $a)
                        );
 
                        // find and delete the corresponding item with all the comments and likes/dislikes
-                       $r = q("SELECT `id` FROM `item` WHERE `resource-id` IN ( $str_res ) AND `uid` = %d",
-                               intval($page_owner_uid)
-                       );
-                       if (DBM::is_result($r)) {
-                               foreach ($r as $rr) {
-                                       Item::deleteById($rr['id']);
-                               }
-                       }
+                       Item::deleteForUser(['resource-id' => $res, 'uid' => $page_owner_uid], $page_owner_uid);
 
                        // Update the photo albums cache
                        Photo::clearAlbumCache($page_owner_uid);
@@ -344,16 +333,11 @@ function photos_post(App $a)
                                intval($page_owner_uid),
                                dbesc($r[0]['resource-id'])
                        );
-                       $i = q("SELECT `id` FROM `item` WHERE `resource-id` = '%s' AND `uid` = %d LIMIT 1",
-                               dbesc($r[0]['resource-id']),
-                               intval($page_owner_uid)
-                       );
-                       if (DBM::is_result($i)) {
-                               Item::deleteById($i[0]['id']);
 
-                               // Update the photo albums cache
-                               Photo::clearAlbumCache($page_owner_uid);
-                       }
+                       Item::deleteForUser(['resource-id' => $r[0]['resource-id'], 'uid' => $page_owner_uid], $page_owner_uid);
+
+                       // Update the photo albums cache
+                       Photo::clearAlbumCache($page_owner_uid);
                }
 
                goaway('photos/' . $a->data['user']['nickname']);
@@ -466,7 +450,7 @@ function photos_post(App $a)
                if (!$item_id) {
                        // Create item container
                        $title = '';
-                       $uri = item_new_uri($a->get_hostname(),$page_owner_uid);
+                       $uri = Item::newURI($page_owner_uid);
 
                        $arr = [];
                        $arr['guid']          = get_guid(32);
@@ -499,14 +483,11 @@ function photos_post(App $a)
                }
 
                if ($item_id) {
-                       $r = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
-                               intval($item_id),
-                               intval($page_owner_uid)
-                       );
+                       $item = Item::selectFirst(['tag', 'inform'], ['id' => $item_id, 'uid' => $page_owner_uid]);
                }
-               if (DBM::is_result($r)) {
-                       $old_tag    = $r[0]['tag'];
-                       $old_inform = $r[0]['inform'];
+               if (DBM::is_result($item)) {
+                       $old_tag    = $item['tag'];
+                       $old_inform = $item['inform'];
                }
 
                if (strlen($rawtags)) {
@@ -636,7 +617,7 @@ function photos_post(App $a)
 
                        if (count($taginfo)) {
                                foreach ($taginfo as $tagged) {
-                                       $uri = item_new_uri($a->get_hostname(), $page_owner_uid);
+                                       $uri = Item::newURI($page_owner_uid);
 
                                        $arr = [];
                                        $arr['guid']          = get_guid(32);
@@ -860,7 +841,7 @@ function photos_post(App $a)
                $smallest = 2;
        }
 
-       $uri = item_new_uri($a->get_hostname(), $page_owner_uid);
+       $uri = Item::newURI($page_owner_uid);
 
        // Create item container
        $lat = $lon = null;
@@ -1251,8 +1232,6 @@ function photos_content(App $a)
                if (!Config::get('system', 'no_count', false)) {
                        $order_field = defaults($_GET, 'order', '');
                        if ($order_field === 'posted') {
-               if (!Config::get('system', 'no_count', false)) {
-                       if ($_GET['order'] === 'posted') {
                                $order = 'ASC';
                        } else {
                                $order = 'DESC';
@@ -1287,6 +1266,7 @@ function photos_content(App $a)
                if (count($ph) == 1) {
                        $hires = $lores = $ph[0];
                }
+
                if (count($ph) > 1) {
                        if ($ph[1]['scale'] == 2) {
                                // original is 640 or less, we can display it directly
@@ -1551,14 +1531,10 @@ function photos_content(App $a)
                                                continue;
                                        }
 
-                                       $redirect_url = 'redir/' . $item['cid'];
-
-                                       if (local_user() && ($item['contact-uid'] == local_user())
-                                               && ($item['network'] == NETWORK_DFRN) && !$item['self']) {
-                                               $profile_url = $redirect_url;
+                                       $profile_url = Contact::MagicLinkById($item['cid']);
+                                       if (strpos($profile_url, 'redir/') === 0) {
                                                $sparkle = ' sparkle';
                                        } else {
-                                               $profile_url = $item['url'];
                                                $sparkle = '';
                                        }