use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Nav;
+use Friendica\Content\Pager;
use Friendica\Content\Text\BBCode;
use Friendica\Core\ACL;
use Friendica\Core\Addon;
use Friendica\Core\Config;
use Friendica\Core\L10n;
+use Friendica\Core\Logger;
use Friendica\Core\System;
use Friendica\Core\Worker;
use Friendica\Database\DBA;
use Friendica\Protocol\DFRN;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Map;
-use Friendica\Util\Temporal;
use Friendica\Util\Security;
+use Friendica\Util\Temporal;
require_once 'include/items.php';
function photos_post(App $a)
{
- logger('mod-photos: photos_post: begin' , LOGGER_DEBUG);
- logger('mod_photos: REQUEST ' . print_r($_REQUEST, true), LOGGER_DATA);
- logger('mod_photos: FILES ' . print_r($_FILES, true), LOGGER_DATA);
+ Logger::log('mod-photos: photos_post: begin' , LOGGER_DEBUG);
+ 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();
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);
+ Logger::log('photos_post: unable to locate contact record for page owner. uid=' . $page_owner_uid);
killme();
}
}
if (!empty($_POST['rotate']) && (intval($_POST['rotate']) == 1 || intval($_POST['rotate']) == 2)) {
- logger('rotate');
+ Logger::log('rotate');
$r = q("SELECT * FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d AND `scale` = 0 LIMIT 1",
DBA::escape($resource_id),
}
} elseif (strpos($tag, '#') === 0) {
$tagname = substr($tag, 1);
- $str_tags .= '#[url=' . System::baseUrl() . "/search?tag=" . $tagname . ']' . $tagname . '[/url]';
+ $str_tags .= '#[url=' . System::baseUrl() . "/search?tag=" . $tagname . ']' . $tagname . '[/url],';
}
}
}
$arr['target'] .= '<link>' . xmlify('<link rel="alternate" type="text/html" href="' . System::baseUrl() . '/photos/' . $owner_record['nickname'] . '/image/' . $p[0]['resource-id'] . '" />' . "\n" . '<link rel="preview" type="'.$p[0]['type'].'" href="' . System::baseUrl() . "/photo/" . $p[0]['resource-id'] . '-' . $best . '.' . $ext . '" />') . '</link></target>';
$item_id = Item::insert($arr);
- if ($item_id) {
- Worker::add(PRIORITY_HIGH, "Notifier", "tag", $item_id);
- }
}
}
}
$album = !empty($_REQUEST['album']) ? notags(trim($_REQUEST['album'])) : '';
$newalbum = !empty($_REQUEST['newalbum']) ? notags(trim($_REQUEST['newalbum'])) : '';
- logger('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): album= ' . $album . ' newalbum= ' . $newalbum , LOGGER_DEBUG);
if (!strlen($album)) {
if (strlen($newalbum)) {
$type = Image::guessType($filename);
}
- logger('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', LOGGER_DEBUG);
+ Logger::log('photos: upload: received file: ' . $filename . ' as ' . $src . ' ('. $type . ') ' . $filesize . ' bytes', LOGGER_DEBUG);
$maximagesize = Config::get('system', 'maximagesize');
return;
}
- logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
$imagedata = @file_get_contents($src);
$image = new Image($imagedata, $type);
if (!$image->isValid()) {
- logger('mod/photos.php: photos_post(): unable to process image' , LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): unable to process image' , LOGGER_DEBUG);
notice(L10n::t('Unable to process image.') . EOL);
@unlink($src);
$foo = 0;
$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);
if (!$r) {
- logger('mod/photos.php: photos_post(): image store failed', LOGGER_DEBUG);
+ Logger::log('mod/photos.php: photos_post(): image store failed', LOGGER_DEBUG);
notice(L10n::t('Image upload failed.') . EOL);
killme();
}
// Update the photo albums cache
Photo::clearAlbumCache($page_owner_uid);
- if ($visible) {
- Worker::add(PRIORITY_HIGH, "Notifier", 'wall-new', $item_id);
- }
-
Addon::callHooks('photo_post_end', $item_id);
// addon uploaders should call "killme()" [e.g. exit] within the photo_post_end hook
if ($datatype === 'album') {
$album = hex2bin($datum);
+ $total = 0;
$r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
AND `scale` <= 4 $sql_extra GROUP BY `resource-id`",
intval($owner_uid),
DBA::escape($album)
);
if (DBA::isResult($r)) {
- $a->setPagerTotal(count($r));
- $a->setPagerItemsPage(20);
+ $total = count($r);
}
+ $pager = new Pager($a->query_string, 20);
+
/// @TODO I have seen this many times, maybe generalize it script-wide and encapsulate it?
$order_field = defaults($_GET, 'order', '');
if ($order_field === 'posted') {
AND `scale` <= 4 $sql_extra GROUP BY `resource-id` ORDER BY `created` $order LIMIT %d , %d",
intval($owner_uid),
DBA::escape($album),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ $pager->getStart(),
+ $pager->getItemsPerPage()
);
// edit album name
$tpl = get_markup_template('photo_album.tpl');
$o .= replace_macros($tpl, [
- '$photos' => $photos,
- '$album' => $album,
- '$can_post' => $can_post,
- '$upload' => [L10n::t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload/' . bin2hex($album)],
- '$order' => $order,
- '$edit' => $edit,
- '$paginate' => paginate($a),
- ]);
+ '$photos' => $photos,
+ '$album' => $album,
+ '$can_post' => $can_post,
+ '$upload' => [L10n::t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload/' . bin2hex($album)],
+ '$order' => $order,
+ '$edit' => $edit,
+ '$paginate' => $pager->renderFull($total),
+ ]);
return $o;
$map = null;
$link_item = [];
+ $total = 0;
if (DBA::isResult($linked_items)) {
// This is a workaround to not being forced to rewrite the while $sql_extra handling
$link_item = Item::selectFirst([], ['id' => $linked_items[0]['id']]);
$condition = ["`parent` = ? AND `parent` != `id`", $link_item['parent']];
- $a->setPagerTotal(DBA::count('item', $condition));
+ $total = DBA::count('item', $condition);
+
+ $pager = new Pager($a->query_string);
- $params = ['order' => ['id'], 'limit' => [$a->pager['start'], $a->pager['itemspage']]];
+ $params = ['order' => ['id'], 'limit' => [$pager->getStart(), $pager->getItemsPerPage()]];
$result = Item::selectForUser($link_item['uid'], Item::ITEM_FIELDLIST, $condition, $params);
$items = Item::inArray($result);
if (count($linked_items) && strlen($link_item['tag'])) {
$arr = explode(',', $link_item['tag']);
// parse tags and add links
- $tag_str = '';
- foreach ($arr as $t) {
- if (strlen($tag_str)) {
- $tag_str .= ', ';
- }
- $tag_str .= BBCode::convert($t);
+ $tag_arr = [];
+ foreach ($arr as $tag) {
+ $tag_arr[] = [
+ 'name' => BBCode::convert($tag),
+ 'removeurl' => '/tagrm/'.$link_item['id'] . '/' . bin2hex($tag)
+ ];
}
- $tags = [L10n::t('Tags: '), $tag_str];
+ $tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr];
if ($cmd === 'edit') {
- $tags[] = 'tagrm/' . $link_item['id'];
- $tags[] = L10n::t('[Remove any tag]');
+ $tags['removeanyurl'] = 'tagrm/' . $link_item['id'];
+ $tags['removetitle'] = L10n::t('[Select tags to remove]');
}
}
}
$responses = get_responses($conv_responses, $response_verbs, '', $link_item);
- $paginate = paginate($a);
+ $paginate = $pager->renderFull($total);
}
$photo_tpl = get_markup_template('photo_view.tpl');
// Default - show recent photos with upload link (if applicable)
//$o = '';
-
+ $total = 0;
$r = q("SELECT `resource-id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
$sql_extra GROUP BY `resource-id`",
intval($a->data['user']['uid']),
DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos'))
);
-
if (DBA::isResult($r)) {
- $a->setPagerTotal(count($r));
- $a->setPagerItemsPage(20);
+ $total = count($r);
}
+ $pager = new Pager($a->query_string, 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`,
ANY_VALUE(`created`) AS `created` FROM `photo`
intval($a->data['user']['uid']),
DBA::escape('Contact Photos'),
DBA::escape(L10n::t('Contact Photos')),
- intval($a->pager['start']),
- intval($a->pager['itemspage'])
+ $pager->getStart(),
+ $pager->getItemsPerPage()
);
$photos = [];
'$can_post' => $can_post,
'$upload' => [L10n::t('Upload New Photos'), 'photos/'.$a->data['user']['nickname'].'/upload'],
'$photos' => $photos,
- '$paginate' => paginate($a),
+ '$paginate' => $pager->renderFull($total),
]);
return $o;