X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fphotos.php;h=2ca6c6a37bb132b482a786750f8b501433bdd91b;hb=cabaea38ac46132963011c724d9c0b380bb5d7c0;hp=1789c0710e1ea6d74fcf34b3f22dba1dc597576d;hpb=36ba7fa79c7c2d4304f3423d84215771e3bb6a9f;p=friendica.git diff --git a/mod/photos.php b/mod/photos.php index 1789c0710e..2ca6c6a37b 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -14,20 +14,21 @@ use Friendica\Core\Hook; use Friendica\Core\L10n; use Friendica\Core\Logger; use Friendica\Core\Renderer; -use Friendica\Core\System; use Friendica\Core\Session; +use Friendica\Core\System; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Contact; -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; +use Friendica\Protocol\Activity; use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; +use Friendica\Util\Images; use Friendica\Util\Map; use Friendica\Util\Security; use Friendica\Util\Strings; @@ -115,19 +116,19 @@ function photos_init(App $a) { ]); } - if (empty($a->page['aside'])) { - $a->page['aside'] = ''; + if (empty(DI::page()['aside'])) { + DI::page()['aside'] = ''; } - $a->page['aside'] .= $vcard_widget; + DI::page()['aside'] .= $vcard_widget; if (!empty($photo_albums_widget)) { - $a->page['aside'] .= $photo_albums_widget; + DI::page()['aside'] .= $photo_albums_widget; } $tpl = Renderer::getMarkupTemplate("photos_head.tpl"); - $a->page['htmlhead'] .= Renderer::replaceMacros($tpl,[ + DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl,[ '$ispublic' => L10n::t('everybody') ]); } @@ -141,7 +142,7 @@ function photos_post(App $a) Logger::log('mod_photos: REQUEST ' . print_r($_REQUEST, true), Logger::DATA); Logger::log('mod_photos: FILES ' . print_r($_FILES, true), Logger::DATA); - $phototypes = Image::supportedTypes(); + $phototypes = Images::supportedTypes(); $can_post = false; $visitor = 0; @@ -172,12 +173,12 @@ function photos_post(App $a) if ($a->argc > 3 && $a->argv[2] === 'album') { if (!Strings::isHex($a->argv[3])) { - $a->internalRedirect('photos/' . $a->data['user']['nickname'] . '/album'); + DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname'] . '/album'); } $album = hex2bin($a->argv[3]); if ($album === L10n::t('Profile Photos') || $album === 'Contact Photos' || $album === L10n::t('Contact Photos')) { - $a->internalRedirect($_SESSION['photo_return']); + DI::baseUrl()->redirect($_SESSION['photo_return']); return; // NOTREACHED } @@ -188,13 +189,13 @@ function photos_post(App $a) if (!DBA::isResult($r)) { notice(L10n::t('Album not found.') . EOL); - $a->internalRedirect($_SESSION['photo_return']); + DI::baseUrl()->redirect($_SESSION['photo_return']); return; // NOTREACHED } // Check if the user has responded to a delete confirmation query if (!empty($_REQUEST['canceled'])) { - $a->internalRedirect($_SESSION['photo_return']); + DI::baseUrl()->redirect($_SESSION['photo_return']); } // RENAME photo album @@ -208,7 +209,7 @@ function photos_post(App $a) // Update the photo albums cache Photo::clearAlbumCache($page_owner_uid); - $a->internalRedirect('photos/' . $a->user['nickname'] . '/album/' . bin2hex($newalbum)); + DI::baseUrl()->redirect('photos/' . $a->user['nickname'] . '/album/' . bin2hex($newalbum)); return; // NOTREACHED } @@ -251,13 +252,13 @@ function photos_post(App $a) } } - $a->internalRedirect('photos/' . $a->argv[1]); + DI::baseUrl()->redirect('photos/' . $a->argv[1]); } if ($a->argc > 3 && $a->argv[2] === 'image') { // Check if the user has responded to a delete confirmation query for a single photo if (!empty($_POST['canceled'])) { - $a->internalRedirect('photos/' . $a->argv[1] . '/image/' . $a->argv[3]); + DI::baseUrl()->redirect('photos/' . $a->argv[1] . '/image/' . $a->argv[3]); } if (!empty($_POST['delete'])) { @@ -281,10 +282,10 @@ function photos_post(App $a) notice('Successfully deleted the photo.'); } else { notice('Failed to delete the photo.'); - $a->internalRedirect('photos/' . $a->argv[1] . '/image/' . $a->argv[3]); + DI::baseUrl()->redirect('photos/' . $a->argv[1] . '/image/' . $a->argv[3]); } - $a->internalRedirect('photos/' . $a->argv[1]); + DI::baseUrl()->redirect('photos/' . $a->argv[1]); return; // NOTREACHED } } @@ -296,10 +297,12 @@ function photos_post(App $a) $albname = !empty($_POST['albname']) ? Strings::escapeTags(trim($_POST['albname'])) : ''; $origaname = !empty($_POST['origaname']) ? Strings::escapeTags(trim($_POST['origaname'])) : ''; - $str_group_allow = !empty($_POST['group_allow']) ? perms2str($_POST['group_allow']) : ''; - $str_contact_allow = !empty($_POST['contact_allow']) ? perms2str($_POST['contact_allow']) : ''; - $str_group_deny = !empty($_POST['group_deny']) ? perms2str($_POST['group_deny']) : ''; - $str_contact_deny = !empty($_POST['contact_deny']) ? perms2str($_POST['contact_deny']) : ''; + $aclFormatter = DI::aclFormatter(); + + $str_group_allow = !empty($_POST['group_allow']) ? $aclFormatter->toString($_POST['group_allow']) : ''; + $str_contact_allow = !empty($_POST['contact_allow']) ? $aclFormatter->toString($_POST['contact_allow']) : ''; + $str_group_deny = !empty($_POST['group_deny']) ? $aclFormatter->toString($_POST['group_deny']) : ''; + $str_contact_deny = !empty($_POST['contact_deny']) ? $aclFormatter->toString($_POST['contact_deny']) : ''; $resource_id = $a->argv[3]; @@ -395,8 +398,8 @@ function photos_post(App $a) $arr['visible'] = $visibility; $arr['origin'] = 1; - $arr['body'] = '[url=' . System::baseUrl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $photo['resource-id'] . ']' - . '[img]' . System::baseUrl() . '/photo/' . $photo['resource-id'] . '-' . $photo['scale'] . '.'. $ext . '[/img]' + $arr['body'] = '[url=' . DI::baseUrl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $photo['resource-id'] . ']' + . '[img]' . DI::baseUrl() . '/photo/' . $photo['resource-id'] . '-' . $photo['scale'] . '.'. $ext . '[/img]' . '[/url]'; $item_id = Item::insert($arr); @@ -506,7 +509,7 @@ function photos_post(App $a) } } elseif (strpos($tag, '#') === 0) { $tagname = substr($tag, 1); - $str_tags .= '#[url=' . System::baseUrl() . "/search?tag=" . $tagname . ']' . $tagname . '[/url],'; + $str_tags .= '#[url=' . DI::baseUrl() . "/search?tag=" . $tagname . ']' . $tagname . '[/url],'; } } } @@ -563,32 +566,32 @@ function photos_post(App $a) $arr['deny_cid'] = $photo['deny_cid']; $arr['deny_gid'] = $photo['deny_gid']; $arr['visible'] = 1; - $arr['verb'] = ACTIVITY_TAG; + $arr['verb'] = Activity::TAG; $arr['gravity'] = GRAVITY_PARENT; - $arr['object-type'] = ACTIVITY_OBJ_PERSON; - $arr['target-type'] = ACTIVITY_OBJ_IMAGE; + $arr['object-type'] = Activity\ObjectType::PERSON; + $arr['target-type'] = Activity\ObjectType::IMAGE; $arr['tag'] = $tagged[4]; $arr['inform'] = $tagged[2]; $arr['origin'] = 1; - $arr['body'] = L10n::t('%1$s was tagged in %2$s by %3$s', '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]', '[url=' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . L10n::t('a photo') . '[/url]', '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]') ; - $arr['body'] .= "\n\n" . '[url=' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . '[img]' . System::baseUrl() . "/photo/" . $photo['resource-id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ; + $arr['body'] = L10n::t('%1$s was tagged in %2$s by %3$s', '[url=' . $tagged[1] . ']' . $tagged[0] . '[/url]', '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . L10n::t('a photo') . '[/url]', '[url=' . $owner_record['url'] . ']' . $owner_record['name'] . '[/url]') ; + $arr['body'] .= "\n\n" . '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ']' . '[img]' . DI::baseUrl() . "/photo/" . $photo['resource-id'] . '-' . $best . '.' . $ext . '[/img][/url]' . "\n" ; - $arr['object'] = '' . ACTIVITY_OBJ_PERSON . '' . $tagged[0] . '' . $tagged[1] . '/' . $tagged[0] . ''; + $arr['object'] = '' . Activity\ObjectType::PERSON . '' . $tagged[0] . '' . $tagged[1] . '/' . $tagged[0] . ''; $arr['object'] .= '' . XML::escape('' . "\n"); if ($tagged[3]) { $arr['object'] .= XML::escape('' . "\n"); } $arr['object'] .= '' . "\n"; - $arr['target'] = '' . ACTIVITY_OBJ_IMAGE . '' . $photo['desc'] . '' - . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ''; - $arr['target'] .= '' . XML::escape('' . "\n" . '') . ''; + $arr['target'] = '' . Activity\ObjectType::IMAGE . '' . $photo['desc'] . '' + . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo['resource-id'] . ''; + $arr['target'] .= '' . XML::escape('' . "\n" . '') . ''; Item::insert($arr); } } } - $a->internalRedirect($_SESSION['photo_return']); + DI::baseUrl()->redirect($_SESSION['photo_return']); return; // NOTREACHED } @@ -635,10 +638,12 @@ function photos_post(App $a) $group_deny = $_REQUEST['group_deny'] ?? []; $contact_deny = $_REQUEST['contact_deny'] ?? []; - $str_group_allow = perms2str(is_array($group_allow) ? $group_allow : explode(',', $group_allow)); - $str_contact_allow = perms2str(is_array($contact_allow) ? $contact_allow : explode(',', $contact_allow)); - $str_group_deny = perms2str(is_array($group_deny) ? $group_deny : explode(',', $group_deny)); - $str_contact_deny = perms2str(is_array($contact_deny) ? $contact_deny : explode(',', $contact_deny)); + $aclFormatter = DI::aclFormatter(); + + $str_group_allow = $aclFormatter->toString(is_array($group_allow) ? $group_allow : explode(',', $group_allow)); + $str_contact_allow = $aclFormatter->toString(is_array($contact_allow) ? $contact_allow : explode(',', $contact_allow)); + $str_group_deny = $aclFormatter->toString(is_array($group_deny) ? $group_deny : explode(',', $group_deny)); + $str_contact_deny = $aclFormatter->toString(is_array($contact_deny) ? $contact_deny : explode(',', $contact_deny)); $ret = ['src' => '', 'filename' => '', 'filesize' => 0, 'type' => '']; @@ -687,7 +692,7 @@ function photos_post(App $a) } if ($type == "") { - $type = Image::guessType($filename); + $type = Images::guessType($filename); } Logger::log('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', Logger::DEBUG); @@ -741,9 +746,9 @@ function photos_post(App $a) $smallest = 0; - $photo_hash = Photo::newResource(); + $resource_id = Photo::newResource(); - $r = Photo::store($image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); + $r = Photo::store($image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 0 , 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); if (!$r) { Logger::log('mod/photos.php: photos_post(): image store failed', Logger::DEBUG); @@ -753,13 +758,13 @@ function photos_post(App $a) if ($width > 640 || $height > 640) { $image->scaleDown(640); - Photo::store($image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 1, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); + Photo::store($image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 1, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); $smallest = 1; } if ($width > 320 || $height > 320) { $image->scaleDown(320); - Photo::store($image, $page_owner_uid, $visitor, $photo_hash, $filename, $album, 2, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); + Photo::store($image, $page_owner_uid, $visitor, $resource_id, $filename, $album, 2, 0, $str_contact_allow, $str_group_allow, $str_contact_deny, $str_group_deny); $smallest = 2; } @@ -783,7 +788,7 @@ function photos_post(App $a) $arr['parent-uri'] = $uri; $arr['type'] = 'photo'; $arr['wall'] = 1; - $arr['resource-id'] = $photo_hash; + $arr['resource-id'] = $resource_id; $arr['contact-id'] = $owner_record['id']; $arr['owner-name'] = $owner_record['name']; $arr['owner-link'] = $owner_record['url']; @@ -799,8 +804,8 @@ function photos_post(App $a) $arr['visible'] = $visible; $arr['origin'] = 1; - $arr['body'] = '[url=' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $photo_hash . ']' - . '[img]' . System::baseUrl() . "/photo/{$photo_hash}-{$smallest}.".$image->getExt() . '[/img]' + $arr['body'] = '[url=' . DI::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $resource_id . ']' + . '[img]' . DI::baseUrl() . "/photo/{$resource_id}-{$smallest}.".$image->getExt() . '[/img]' . '[/url]'; $item_id = Item::insert($arr); @@ -809,10 +814,10 @@ function photos_post(App $a) Hook::callAll('photo_post_end', $item_id); - // addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook + // addon uploaders should call "exit()" within the photo_post_end hook // if they do not wish to be redirected - $a->internalRedirect($_SESSION['photo_return']); + DI::baseUrl()->redirect($_SESSION['photo_return']); // NOTREACHED } @@ -839,9 +844,9 @@ function photos_content(App $a) return; } - $phototypes = Image::supportedTypes(); + $phototypes = Images::supportedTypes(); - $_SESSION['photo_return'] = $a->cmd; + $_SESSION['photo_return'] = DI::args()->getCommand(); // Parse arguments $datum = null; @@ -952,7 +957,7 @@ function photos_content(App $a) $tpl = Renderer::getMarkupTemplate('photos_upload.tpl'); - $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML($a->user)); + $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->user)); $o .= Renderer::replaceMacros($tpl,[ '$pagename' => L10n::t('Upload Photos'), @@ -979,7 +984,7 @@ function photos_content(App $a) // ACL permissions box '$group_perms' => L10n::t('Show to Groups'), '$contact_perms' => L10n::t('Show to Contacts'), - '$return_path' => $a->query_string, + '$return_path' => DI::args()->getQueryString(), ]); return $o; @@ -989,7 +994,7 @@ function photos_content(App $a) if ($datatype === 'album') { // if $datum is not a valid hex, redirect to the default page if (!Strings::isHex($datum)) { - $a->internalRedirect('photos/' . $a->data['user']['nickname']. '/album'); + DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname']. '/album'); } $album = hex2bin($datum); @@ -1003,7 +1008,7 @@ function photos_content(App $a) $total = count($r); } - $pager = new Pager($a->query_string, 20); + $pager = new Pager(DI::args()->getQueryString(), 20); /// @TODO I have seen this many times, maybe generalize it script-wide and encapsulate it? $order_field = $_GET['order'] ?? ''; @@ -1025,16 +1030,12 @@ function photos_content(App $a) ); if ($cmd === 'drop') { - $drop_url = $a->query_string; - - $extra_inputs = [ - ['name' => 'albumname', 'value' => $_POST['albumname']], - ]; + $drop_url = DI::args()->getQueryString(); return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ '$method' => 'post', '$message' => L10n::t('Do you really want to delete this photo album and all its photos?'), - '$extra_inputs' => $extra_inputs, + '$extra_inputs' => [], '$confirm' => L10n::t('Delete Album'), '$confirm_url' => $drop_url, '$confirm_name' => 'dropalbum', @@ -1136,7 +1137,7 @@ function photos_content(App $a) } if ($cmd === 'drop') { - $drop_url = $a->query_string; + $drop_url = DI::args()->getQueryString(); return Renderer::replaceMacros(Renderer::getMarkupTemplate('confirm.tpl'), [ '$method' => 'post', @@ -1197,7 +1198,7 @@ function photos_content(App $a) } $tpl = Renderer::getMarkupTemplate('photo_edit_head.tpl'); - $a->page['htmlhead'] .= Renderer::replaceMacros($tpl,[ + DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl,[ '$prevlink' => $prevlink, '$nextlink' => $nextlink ]); @@ -1283,7 +1284,7 @@ function photos_content(App $a) $condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']]; $total = DBA::count('item', $condition); - $pager = new Pager($a->query_string); + $pager = new Pager(DI::args()->getQueryString()); $params = ['order' => ['id'], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]]; $result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params); @@ -1324,7 +1325,7 @@ function photos_content(App $a) $album_e = $ph[0]['album']; $caption_e = $ph[0]['desc']; - $aclselect_e = ACL::getFullSelectorHTML($a->user, false, $ph[0]); + $aclselect_e = ACL::getFullSelectorHTML(DI::page(), $a->user, false, ACL::getDefaultUserPermissions($ph[0])); $edit = Renderer::replaceMacros($edit_tpl, [ '$id' => $ph[0]['id'], @@ -1347,7 +1348,7 @@ function photos_content(App $a) // ACL permissions box '$group_perms' => L10n::t('Show to Groups'), '$contact_perms' => L10n::t('Show to Contacts'), - '$return_path' => $a->query_string, + '$return_path' => DI::args()->getQueryString(), ]); } @@ -1361,7 +1362,7 @@ function photos_content(App $a) if (!empty($link_item['id']) && !empty($link_item['uri'])) { $cmnt_tpl = Renderer::getMarkupTemplate('comment_item.tpl'); $tpl = Renderer::getMarkupTemplate('photo_item.tpl'); - $return_path = $a->cmd; + $return_path = DI::args()->getCommand(); if ($cmd === 'view' && ($can_post || Security::canWriteToUserWall($owner_uid))) { $like_tpl = Renderer::getMarkupTemplate('like_noshare.tpl'); @@ -1370,7 +1371,7 @@ function photos_content(App $a) '$likethis' => L10n::t("I like this \x28toggle\x29"), '$nolike' => L10n::t("I don't like this \x28toggle\x29"), '$wait' => L10n::t('Please wait'), - '$return_path' => $a->query_string, + '$return_path' => DI::args()->getQueryString(), ]); } @@ -1438,7 +1439,11 @@ function photos_content(App $a) $template = $tpl; $sparkle = ''; - if ((activity_match($item['verb'], ACTIVITY_LIKE) || activity_match($item['verb'], ACTIVITY_DISLIKE)) && ($item['id'] != $item['parent'])) { + $activity = DI::activity(); + + if (($activity->match($item['verb'], Activity::LIKE) || + $activity->match($item['verb'], Activity::DISLIKE)) && + ($item['id'] != $item['parent'])) { continue; } @@ -1522,11 +1527,11 @@ function photos_content(App $a) '$paginate' => $paginate, ]); - $a->page['htmlhead'] .= "\n" . '' . "\n"; - $a->page['htmlhead'] .= '' . "\n"; - $a->page['htmlhead'] .= '' . "\n"; - $a->page['htmlhead'] .= '' . "\n"; - $a->page['htmlhead'] .= '' . "\n"; + DI::page()['htmlhead'] .= "\n" . '' . "\n"; + DI::page()['htmlhead'] .= '' . "\n"; + DI::page()['htmlhead'] .= '' . "\n"; + DI::page()['htmlhead'] .= '' . "\n"; + DI::page()['htmlhead'] .= '' . "\n"; return $o; } @@ -1544,7 +1549,7 @@ function photos_content(App $a) $total = count($r); } - $pager = new Pager($a->query_string, 20); + $pager = new Pager(DI::args()->getQueryString(), 20); $r = q("SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`type`) AS `type`, ANY_VALUE(`album`) AS `album`, max(`scale`) AS `scale`,