Many more app-variables removed
This commit is contained in:
parent
e05c1821c2
commit
2502a9192d
30 changed files with 310 additions and 401 deletions
57
mod/cal.php
57
mod/cal.php
|
@ -25,13 +25,11 @@
|
|||
|
||||
use Friendica\App;
|
||||
use Friendica\Content\Nav;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Event;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\User;
|
||||
|
@ -52,52 +50,34 @@ function cal_init(App $a)
|
|||
|
||||
Nav::setSelected('events');
|
||||
|
||||
$nick = $a->argv[1];
|
||||
$user = DBA::selectFirst('user', [], ['nickname' => $nick, 'blocked' => false]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException();
|
||||
}
|
||||
|
||||
$a->data['user'] = $user;
|
||||
$a->profile_uid = $user['uid'];
|
||||
|
||||
// if it's a json request abort here becaus we don't
|
||||
// need the widget data
|
||||
if (!empty($a->argv[2]) && ($a->argv[2] === 'json')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$a->profile = User::getOwnerDataByNick($nick);
|
||||
if (empty($a->profile)) {
|
||||
$owner = User::getOwnerDataByNick($a->argv[1]);
|
||||
if (empty($owner)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
$account_type = Contact::getAccountType($a->profile);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('widget/vcard.tpl');
|
||||
|
||||
$vcard_widget = Renderer::replaceMacros($tpl, [
|
||||
'$name' => $a->profile['name'],
|
||||
'$photo' => $a->profile['photo'],
|
||||
'$addr' => $a->profile['addr'] ?: '',
|
||||
'$account_type' => $account_type,
|
||||
'$about' => BBCode::convert($a->profile['about']),
|
||||
]);
|
||||
|
||||
$cal_widget = Widget\CalendarExport::getHTML($user['uid']);
|
||||
|
||||
if (empty(DI::page()['aside'])) {
|
||||
DI::page()['aside'] = '';
|
||||
}
|
||||
|
||||
DI::page()['aside'] .= $vcard_widget;
|
||||
DI::page()['aside'] .= $cal_widget;
|
||||
DI::page()['aside'] .= Widget\VCard::getHTML($owner);
|
||||
DI::page()['aside'] .= Widget\CalendarExport::getHTML($owner['uid']);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
function cal_content(App $a)
|
||||
{
|
||||
$owner = User::getOwnerDataByNick($a->argv[1]);
|
||||
if (empty($owner)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
Nav::setSelected('events');
|
||||
|
||||
// get the translation strings for the callendar
|
||||
|
@ -110,7 +90,7 @@ function cal_content(App $a)
|
|||
|
||||
$htpl = Renderer::getMarkupTemplate('event_head.tpl');
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros($htpl, [
|
||||
'$module_url' => '/cal/' . $a->data['user']['nickname'],
|
||||
'$module_url' => '/cal/' . $owner['nickname'],
|
||||
'$modparams' => 2,
|
||||
'$i18n' => $i18n,
|
||||
]);
|
||||
|
@ -127,19 +107,16 @@ function cal_content(App $a)
|
|||
}
|
||||
|
||||
// Setup permissions structures
|
||||
$owner_uid = intval($a->data['user']['uid']);
|
||||
$nick = $a->data['user']['nickname'];
|
||||
if (empty($a->profile)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
$owner_uid = intval($owner['uid']);
|
||||
$nick = $owner['nickname'];
|
||||
|
||||
$contact_id = Session::getRemoteContactID($a->profile['uid']);
|
||||
$contact_id = Session::getRemoteContactID($owner['uid']);
|
||||
|
||||
$remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $a->profile['uid']]);
|
||||
$remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $owner['uid']]);
|
||||
|
||||
$is_owner = local_user() == $a->profile['uid'];
|
||||
$is_owner = local_user() == $owner['uid'];
|
||||
|
||||
if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) {
|
||||
if ($owner['hidewall'] && !$is_owner && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
return;
|
||||
}
|
||||
|
@ -150,7 +127,7 @@ function cal_content(App $a)
|
|||
$sql_extra = " AND `event`.`cid` = 0 " . $sql_perms;
|
||||
|
||||
// get the tab navigation bar
|
||||
$tabs = BaseProfile::getTabsHTML($a, 'cal', false, $a->data['user']['nickname']);
|
||||
$tabs = BaseProfile::getTabsHTML($a, 'cal', false, $owner);
|
||||
|
||||
// The view mode part is similiar to /mod/events.php
|
||||
if ($mode == 'view') {
|
||||
|
|
|
@ -32,6 +32,7 @@ use Friendica\DI;
|
|||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\Post;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\ActivityPub\Objects;
|
||||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Protocol\ActivityPub;
|
||||
|
@ -134,6 +135,7 @@ function display_fetchauthor($a, $item)
|
|||
|
||||
$profiledata = [];
|
||||
$profiledata['uid'] = -1;
|
||||
$profiledata['id'] = -1;
|
||||
$profiledata['nickname'] = $author['nick'];
|
||||
$profiledata['name'] = $author['name'];
|
||||
$profiledata['picdate'] = '';
|
||||
|
@ -189,9 +191,9 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
$item = Post::selectFirst(['uid', 'parent-uri-id'], ['uri-id' => $uri_id, 'uid' => $update_uid]);
|
||||
if (!empty($item)) {
|
||||
if ($item['uid'] != 0) {
|
||||
$a->profile = ['uid' => intval($item['uid'])];
|
||||
$a->profile_owner = intval($item['uid']);
|
||||
} else {
|
||||
$a->profile = ['uid' => intval($update_uid)];
|
||||
$a->profile_owner = intval($update_uid);
|
||||
}
|
||||
$parent_uri_id = $item['parent-uri-id'];
|
||||
}
|
||||
|
@ -273,14 +275,18 @@ function display_content(App $a, $update = false, $update_uid = 0)
|
|||
$page_uid = $item['uid'];
|
||||
}
|
||||
|
||||
$page_contact = DBA::selectFirst('contact', [], ['self' => true, 'uid' => $page_uid]);
|
||||
$page_contact = DBA::selectFirst('contact', ['id', 'url', 'network', 'name'], ['self' => true, 'uid' => $page_uid]);
|
||||
if (DBA::isResult($page_contact)) {
|
||||
// "$a->page_contact" is only used in "checkWallToWall" in Post.php.
|
||||
// It is used for the wall post feature that has its issues.
|
||||
// It can't work with AP or Diaspora since the creator can't sign the post with their private key.
|
||||
$a->page_contact = $page_contact;
|
||||
$page_user = User::getById($page_uid);
|
||||
}
|
||||
|
||||
$is_owner = (local_user() && (in_array($page_uid, [local_user(), 0])) ? true : false);
|
||||
|
||||
if (!empty($a->profile['hidewall']) && !$is_owner && !$is_remote_contact) {
|
||||
if (!empty($page_user['hidewall']) && !$is_owner && !$is_remote_contact) {
|
||||
throw new HTTPException\ForbiddenException(DI::l10n()->t('Access to this profile has been restricted.'));
|
||||
}
|
||||
|
||||
|
|
|
@ -124,7 +124,6 @@ function editpost_content(App $a)
|
|||
'$profile_uid' => $_SESSION['uid'],
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$jotplugins' => $jotplugins,
|
||||
'$sourceapp' => DI::l10n()->t($a->sourcename),
|
||||
'$cancel' => DI::l10n()->t('Cancel'),
|
||||
'$rand_num' => Crypto::randomDigits(12),
|
||||
|
||||
|
|
|
@ -280,7 +280,7 @@ function events_content(App $a)
|
|||
$tabs = '';
|
||||
// tabs
|
||||
if ($a->theme_events_in_profile) {
|
||||
$tabs = BaseProfile::getTabsHTML($a, 'events', true);
|
||||
$tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->user);
|
||||
}
|
||||
|
||||
$mode = 'view';
|
||||
|
|
|
@ -45,7 +45,7 @@ function notes_content(App $a, $update = false)
|
|||
return;
|
||||
}
|
||||
|
||||
$o = BaseProfile::getTabsHTML($a, 'notes', true);
|
||||
$o = BaseProfile::getTabsHTML($a, 'notes', true, $a->user);
|
||||
|
||||
if (!$update) {
|
||||
$o .= '<h3>' . DI::l10n()->t('Personal Notes') . '</h3>';
|
||||
|
|
126
mod/photos.php
126
mod/photos.php
|
@ -24,6 +24,7 @@ use Friendica\Content\Feature;
|
|||
use Friendica\Content\Nav;
|
||||
use Friendica\Content\Pager;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\Core\ACL;
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\Hook;
|
||||
|
@ -51,6 +52,7 @@ use Friendica\Security\Security;
|
|||
use Friendica\Util\Strings;
|
||||
use Friendica\Util\Temporal;
|
||||
use Friendica\Util\XML;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
function photos_init(App $a) {
|
||||
|
||||
|
@ -61,34 +63,13 @@ function photos_init(App $a) {
|
|||
Nav::setSelected('home');
|
||||
|
||||
if ($a->argc > 1) {
|
||||
$nick = $a->argv[1];
|
||||
$user = DBA::selectFirst('user', [], ['nickname' => $nick, 'blocked' => false]);
|
||||
$owner = User::getOwnerDataByNick($a->argv[1]);
|
||||
|
||||
if (!DBA::isResult($user)) {
|
||||
return;
|
||||
}
|
||||
$is_owner = (local_user() && (local_user() == $owner['uid']));
|
||||
|
||||
$a->data['user'] = $user;
|
||||
$a->profile_uid = $user['uid'];
|
||||
$is_owner = (local_user() && (local_user() == $a->profile_uid));
|
||||
$albums = Photo::getAlbums($owner['uid']);
|
||||
|
||||
$profile = User::getOwnerDataByNick($nick);
|
||||
|
||||
$account_type = Contact::getAccountType($profile);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('widget/vcard.tpl');
|
||||
|
||||
$vcard_widget = Renderer::replaceMacros($tpl, [
|
||||
'$name' => $profile['name'],
|
||||
'$photo' => $profile['photo'],
|
||||
'$addr' => $profile['addr'] ?? '',
|
||||
'$account_type' => $account_type,
|
||||
'$about' => BBCode::convert($profile['about']),
|
||||
]);
|
||||
|
||||
$albums = Photo::getAlbums($a->data['user']['uid']);
|
||||
|
||||
$albums_visible = ((intval($a->data['user']['hidewall']) && !Session::isAuthenticated()) ? false : true);
|
||||
$albums_visible = ((intval($owner['hidewall']) && !Session::isAuthenticated()) ? false : true);
|
||||
|
||||
// add various encodings to the array so we can just loop through and pick them out in a template
|
||||
$ret = ['success' => false];
|
||||
|
@ -103,12 +84,12 @@ function photos_init(App $a) {
|
|||
$ret['albums'] = [];
|
||||
foreach ($albums as $k => $album) {
|
||||
//hide profile photos to others
|
||||
if (!$is_owner && !Session::getRemoteContactID($a->profile_uid) && ($album['album'] == DI::l10n()->t('Profile Photos')))
|
||||
if (!$is_owner && !Session::getRemoteContactID($owner['uid']) && ($album['album'] == DI::l10n()->t('Profile Photos')))
|
||||
continue;
|
||||
$entry = [
|
||||
'text' => $album['album'],
|
||||
'total' => $album['total'],
|
||||
'url' => 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album['album']),
|
||||
'url' => 'photos/' . $owner['nickname'] . '/album/' . bin2hex($album['album']),
|
||||
'urlencode' => urlencode($album['album']),
|
||||
'bin2hex' => bin2hex($album['album'])
|
||||
];
|
||||
|
@ -116,7 +97,7 @@ function photos_init(App $a) {
|
|||
}
|
||||
}
|
||||
|
||||
if (local_user() && $a->data['user']['uid'] == local_user()) {
|
||||
if (local_user() && $owner['uid'] == local_user()) {
|
||||
$can_post = true;
|
||||
} else {
|
||||
$can_post = false;
|
||||
|
@ -124,11 +105,11 @@ function photos_init(App $a) {
|
|||
|
||||
if ($ret['success']) {
|
||||
$photo_albums_widget = Renderer::replaceMacros(Renderer::getMarkupTemplate('photo_albums.tpl'), [
|
||||
'$nick' => $a->data['user']['nickname'],
|
||||
'$nick' => $owner['nickname'],
|
||||
'$title' => DI::l10n()->t('Photo Albums'),
|
||||
'$recent' => DI::l10n()->t('Recent Photos'),
|
||||
'$albums' => $ret['albums'],
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload'],
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $owner['nickname'] . '/upload'],
|
||||
'$can_post' => $can_post
|
||||
]);
|
||||
}
|
||||
|
@ -137,7 +118,7 @@ function photos_init(App $a) {
|
|||
DI::page()['aside'] = '';
|
||||
}
|
||||
|
||||
DI::page()['aside'] .= $vcard_widget;
|
||||
DI::page()['aside'] .= Widget\VCard::getHTML($owner);
|
||||
|
||||
if (!empty($photo_albums_widget)) {
|
||||
DI::page()['aside'] .= $photo_albums_widget;
|
||||
|
@ -155,13 +136,18 @@ function photos_init(App $a) {
|
|||
|
||||
function photos_post(App $a)
|
||||
{
|
||||
$user = User::getByNickname($a->argv[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
$phototypes = Images::supportedTypes();
|
||||
|
||||
$can_post = false;
|
||||
$visitor = 0;
|
||||
|
||||
$page_owner_uid = intval($a->data['user']['uid']);
|
||||
$community_page = $a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
|
||||
$page_owner_uid = intval($user['uid']);
|
||||
$community_page = $user['page-flags'] == User::PAGE_FLAGS_COMMUNITY;
|
||||
|
||||
if (local_user() && (local_user() == $page_owner_uid)) {
|
||||
$can_post = true;
|
||||
|
@ -203,7 +189,7 @@ function photos_post(App $a)
|
|||
|
||||
if ($a->argc > 3 && $a->argv[2] === 'album') {
|
||||
if (!Strings::isHex($a->argv[3])) {
|
||||
DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname'] . '/album');
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
|
||||
}
|
||||
$album = hex2bin($a->argv[3]);
|
||||
|
||||
|
@ -219,13 +205,13 @@ function photos_post(App $a)
|
|||
|
||||
if (!DBA::isResult($r)) {
|
||||
notice(DI::l10n()->t('Album not found.'));
|
||||
DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname'] . '/album');
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
// Check if the user has responded to a delete confirmation query
|
||||
if (!empty($_REQUEST['canceled'])) {
|
||||
DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname'] . '/album/' . $a->argv[3]);
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album/' . $a->argv[3]);
|
||||
}
|
||||
|
||||
// RENAME photo album
|
||||
|
@ -282,7 +268,7 @@ function photos_post(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname'] . '/album');
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname'] . '/album');
|
||||
}
|
||||
|
||||
if ($a->argc > 3 && $a->argv[2] === 'image') {
|
||||
|
@ -419,7 +405,7 @@ function photos_post(App $a)
|
|||
$arr['visible'] = $visibility;
|
||||
$arr['origin'] = 1;
|
||||
|
||||
$arr['body'] = '[url=' . DI::baseUrl() . '/photos/' . $a->data['user']['nickname'] . '/image/' . $photo['resource-id'] . ']'
|
||||
$arr['body'] = '[url=' . DI::baseUrl() . '/photos/' . $user['nickname'] . '/image/' . $photo['resource-id'] . ']'
|
||||
. '[img]' . DI::baseUrl() . '/photo/' . $photo['resource-id'] . '-' . $photo['scale'] . '.'. $ext . '[/img]'
|
||||
. '[/url]';
|
||||
|
||||
|
@ -523,7 +509,7 @@ function photos_post(App $a)
|
|||
|
||||
if (!empty($item['uri-id'])) {
|
||||
Tag::store($item['uri-id'], Tag::MENTION, $newname, $profile);
|
||||
}
|
||||
}
|
||||
}
|
||||
} elseif (strpos($tag, '#') === 0) {
|
||||
$tagname = substr($tag, 1);
|
||||
|
@ -831,12 +817,17 @@ function photos_content(App $a)
|
|||
// photos/name/image/xxxxx/edit
|
||||
// photos/name/image/xxxxx/drop
|
||||
|
||||
$user = User::getByNickname($a->argv[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
notice(DI::l10n()->t('Public access denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (empty($a->data['user'])) {
|
||||
if (empty($user)) {
|
||||
notice(DI::l10n()->t('No photos selected'));
|
||||
return;
|
||||
}
|
||||
|
@ -871,9 +862,9 @@ function photos_content(App $a)
|
|||
$edit = '';
|
||||
$drop = '';
|
||||
|
||||
$owner_uid = $a->data['user']['uid'];
|
||||
$owner_uid = $user['uid'];
|
||||
|
||||
$community_page = (($a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
|
||||
$community_page = (($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
|
||||
|
||||
if (local_user() && (local_user() == $owner_uid)) {
|
||||
$can_post = true;
|
||||
|
@ -902,7 +893,7 @@ function photos_content(App $a)
|
|||
$contact = $a->contact;
|
||||
}
|
||||
|
||||
if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
|
||||
if ($user['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this item is restricted.'));
|
||||
return;
|
||||
}
|
||||
|
@ -913,7 +904,7 @@ function photos_content(App $a)
|
|||
|
||||
// tabs
|
||||
$is_owner = (local_user() && (local_user() == $owner_uid));
|
||||
$o .= BaseProfile::getTabsHTML($a, 'photos', $is_owner, $a->data['user']['nickname']);
|
||||
$o .= BaseProfile::getTabsHTML($a, 'photos', $is_owner, $user);
|
||||
|
||||
// Display upload form
|
||||
if ($datatype === 'upload') {
|
||||
|
@ -939,7 +930,7 @@ function photos_content(App $a)
|
|||
|
||||
$uploader = '';
|
||||
|
||||
$ret = ['post_url' => 'photos/' . $a->data['user']['nickname'],
|
||||
$ret = ['post_url' => 'photos/' . $user['nickname'],
|
||||
'addon_text' => $uploader,
|
||||
'default_upload' => true];
|
||||
|
||||
|
@ -960,7 +951,7 @@ function photos_content(App $a)
|
|||
'$pagename' => DI::l10n()->t('Upload Photos'),
|
||||
'$sessid' => session_id(),
|
||||
'$usage' => $usage_message,
|
||||
'$nickname' => $a->data['user']['nickname'],
|
||||
'$nickname' => $user['nickname'],
|
||||
'$newalbum' => DI::l10n()->t('New album name: '),
|
||||
'$existalbumtext' => DI::l10n()->t('or select existing album:'),
|
||||
'$nosharetext' => DI::l10n()->t('Do not show a status post for this upload'),
|
||||
|
@ -989,7 +980,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)) {
|
||||
DI::baseUrl()->redirect('photos/' . $a->data['user']['nickname']. '/album');
|
||||
DI::baseUrl()->redirect('photos/' . $user['nickname']. '/album');
|
||||
}
|
||||
$album = hex2bin($datum);
|
||||
|
||||
|
@ -1047,7 +1038,7 @@ function photos_content(App $a)
|
|||
|
||||
$o .= Renderer::replaceMacros($edit_tpl,[
|
||||
'$nametext' => DI::l10n()->t('New album name: '),
|
||||
'$nickname' => $a->data['user']['nickname'],
|
||||
'$nickname' => $user['nickname'],
|
||||
'$album' => $album_e,
|
||||
'$hexalbum' => bin2hex($album),
|
||||
'$submit' => DI::l10n()->t('Submit'),
|
||||
|
@ -1057,15 +1048,15 @@ function photos_content(App $a)
|
|||
}
|
||||
} else {
|
||||
if (($album !== DI::l10n()->t('Profile Photos')) && ($album !== Photo::CONTACT_PHOTOS) && ($album !== DI::l10n()->t(Photo::CONTACT_PHOTOS)) && $can_post) {
|
||||
$edit = [DI::l10n()->t('Edit Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/edit'];
|
||||
$drop = [DI::l10n()->t('Drop Album'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '/drop'];
|
||||
$edit = [DI::l10n()->t('Edit Album'), 'photos/' . $user['nickname'] . '/album/' . bin2hex($album) . '/edit'];
|
||||
$drop = [DI::l10n()->t('Drop Album'), 'photos/' . $user['nickname'] . '/album/' . bin2hex($album) . '/drop'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($order_field === 'posted') {
|
||||
$order = [DI::l10n()->t('Show Newest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album), 'oldest'];
|
||||
$order = [DI::l10n()->t('Show Newest First'), 'photos/' . $user['nickname'] . '/album/' . bin2hex($album), 'oldest'];
|
||||
} else {
|
||||
$order = [DI::l10n()->t('Show Oldest First'), 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($album) . '?order=posted', 'newest'];
|
||||
$order = [DI::l10n()->t('Show Oldest First'), 'photos/' . $user['nickname'] . '/album/' . bin2hex($album) . '?order=posted', 'newest'];
|
||||
}
|
||||
|
||||
$photos = [];
|
||||
|
@ -1084,7 +1075,7 @@ function photos_content(App $a)
|
|||
$photos[] = [
|
||||
'id' => $rr['id'],
|
||||
'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4),
|
||||
'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id']
|
||||
'link' => 'photos/' . $user['nickname'] . '/image/' . $rr['resource-id']
|
||||
. ($order_field === 'posted' ? '?order=posted' : ''),
|
||||
'title' => DI::l10n()->t('View Photo'),
|
||||
'src' => 'photo/' . $rr['resource-id'] . '-' . $rr['scale'] . '.' .$ext,
|
||||
|
@ -1101,7 +1092,7 @@ function photos_content(App $a)
|
|||
'$photos' => $photos,
|
||||
'$album' => $album,
|
||||
'$can_post' => $can_post,
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $a->data['user']['nickname'] . '/upload/' . bin2hex($album)],
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/' . $user['nickname'] . '/upload/' . bin2hex($album)],
|
||||
'$order' => $order,
|
||||
'$edit' => $edit,
|
||||
'$drop' => $drop,
|
||||
|
@ -1184,10 +1175,10 @@ function photos_content(App $a)
|
|||
}
|
||||
|
||||
if (!is_null($prv)) {
|
||||
$prevlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$prv]['resource-id'] . ($order_field === 'posted' ? '?order=posted' : '');
|
||||
$prevlink = 'photos/' . $user['nickname'] . '/image/' . $prvnxt[$prv]['resource-id'] . ($order_field === 'posted' ? '?order=posted' : '');
|
||||
}
|
||||
if (!is_null($nxt)) {
|
||||
$nextlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$nxt]['resource-id'] . ($order_field === 'posted' ? '?order=posted' : '');
|
||||
$nextlink = 'photos/' . $user['nickname'] . '/image/' . $prvnxt[$nxt]['resource-id'] . ($order_field === 'posted' ? '?order=posted' : '');
|
||||
}
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('photo_edit_head.tpl');
|
||||
|
@ -1220,17 +1211,17 @@ function photos_content(App $a)
|
|||
}
|
||||
}
|
||||
|
||||
$album_link = 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($ph[0]['album']);
|
||||
$album_link = 'photos/' . $user['nickname'] . '/album/' . bin2hex($ph[0]['album']);
|
||||
|
||||
$tools = null;
|
||||
|
||||
if ($can_post && ($ph[0]['uid'] == $owner_uid)) {
|
||||
$tools = [];
|
||||
if ($cmd === 'edit') {
|
||||
$tools['view'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum, DI::l10n()->t('View photo')];
|
||||
$tools['view'] = ['photos/' . $user['nickname'] . '/image/' . $datum, DI::l10n()->t('View photo')];
|
||||
} else {
|
||||
$tools['edit'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/edit', DI::l10n()->t('Edit photo')];
|
||||
$tools['delete'] = ['photos/' . $a->data['user']['nickname'] . '/image/' . $datum . '/drop', DI::l10n()->t('Delete photo')];
|
||||
$tools['edit'] = ['photos/' . $user['nickname'] . '/image/' . $datum . '/edit', DI::l10n()->t('Edit photo')];
|
||||
$tools['delete'] = ['photos/' . $user['nickname'] . '/image/' . $datum . '/drop', DI::l10n()->t('Delete photo')];
|
||||
$tools['profile'] = ['settings/profile/photo/crop/' . $ph[0]['resource-id'], DI::l10n()->t('Use as profile photo')];
|
||||
}
|
||||
|
||||
|
@ -1329,7 +1320,7 @@ function photos_content(App $a)
|
|||
'$rotate_cw' => ['rotate', DI::l10n()->t("Rotate CW \x28right\x29"),1,''],
|
||||
'$rotate_ccw' => ['rotate', DI::l10n()->t("Rotate CCW \x28left\x29"),2,''],
|
||||
|
||||
'$nickname' => $a->data['user']['nickname'],
|
||||
'$nickname' => $user['nickname'],
|
||||
'$resource_id' => $ph[0]['resource-id'],
|
||||
'$permissions' => DI::l10n()->t('Permissions'),
|
||||
'$aclselect' => $aclselect_e,
|
||||
|
@ -1379,7 +1370,6 @@ function photos_content(App $a)
|
|||
'$submit' => DI::l10n()->t('Submit'),
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$loading' => DI::l10n()->t('Loading...'),
|
||||
'$sourceapp' => DI::l10n()->t($a->sourcename),
|
||||
'$qcomment' => $qcomment,
|
||||
'$rand_num' => Crypto::randomDigits(12)
|
||||
]);
|
||||
|
@ -1435,7 +1425,6 @@ function photos_content(App $a)
|
|||
'$comment' => DI::l10n()->t('Comment'),
|
||||
'$submit' => DI::l10n()->t('Submit'),
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$sourceapp' => DI::l10n()->t($a->sourcename),
|
||||
'$qcomment' => $qcomment,
|
||||
'$rand_num' => Crypto::randomDigits(12)
|
||||
]);
|
||||
|
@ -1510,7 +1499,6 @@ function photos_content(App $a)
|
|||
'$comment' => DI::l10n()->t('Comment'),
|
||||
'$submit' => DI::l10n()->t('Submit'),
|
||||
'$preview' => DI::l10n()->t('Preview'),
|
||||
'$sourceapp' => DI::l10n()->t($a->sourcename),
|
||||
'$qcomment' => $qcomment,
|
||||
'$rand_num' => Crypto::randomDigits(12)
|
||||
]);
|
||||
|
@ -1577,7 +1565,7 @@ function photos_content(App $a)
|
|||
$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']),
|
||||
intval($user['uid']),
|
||||
DBA::escape(Photo::CONTACT_PHOTOS),
|
||||
DBA::escape(DI::l10n()->t(Photo::CONTACT_PHOTOS))
|
||||
);
|
||||
|
@ -1592,7 +1580,7 @@ function photos_content(App $a)
|
|||
ANY_VALUE(`created`) AS `created` FROM `photo`
|
||||
WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
|
||||
$sql_extra GROUP BY `resource-id` ORDER BY `created` DESC LIMIT %d , %d",
|
||||
intval($a->data['user']['uid']),
|
||||
intval($user['uid']),
|
||||
DBA::escape(Photo::CONTACT_PHOTOS),
|
||||
DBA::escape(DI::l10n()->t(Photo::CONTACT_PHOTOS)),
|
||||
$pager->getStart(),
|
||||
|
@ -1618,12 +1606,12 @@ function photos_content(App $a)
|
|||
$photos[] = [
|
||||
'id' => $rr['id'],
|
||||
'twist' => ' ' . ($twist ? 'rotleft' : 'rotright') . rand(2,4),
|
||||
'link' => 'photos/' . $a->data['user']['nickname'] . '/image/' . $rr['resource-id'],
|
||||
'link' => 'photos/' . $user['nickname'] . '/image/' . $rr['resource-id'],
|
||||
'title' => DI::l10n()->t('View Photo'),
|
||||
'src' => 'photo/' . $rr['resource-id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext,
|
||||
'alt' => $alt_e,
|
||||
'album' => [
|
||||
'link' => 'photos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
|
||||
'link' => 'photos/' . $user['nickname'] . '/album/' . bin2hex($rr['album']),
|
||||
'name' => $name_e,
|
||||
'alt' => DI::l10n()->t('View Album'),
|
||||
],
|
||||
|
@ -1636,7 +1624,7 @@ function photos_content(App $a)
|
|||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => DI::l10n()->t('Recent Photos'),
|
||||
'$can_post' => $can_post,
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/'.$a->data['user']['nickname'].'/upload'],
|
||||
'$upload' => [DI::l10n()->t('Upload New Photos'), 'photos/'.$user['nickname'].'/upload'],
|
||||
'$photos' => $photos,
|
||||
'$paginate' => $pager->renderFull($total),
|
||||
]);
|
||||
|
|
|
@ -22,17 +22,17 @@
|
|||
use Friendica\App;
|
||||
use Friendica\Content\Nav;
|
||||
use Friendica\Content\Pager;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Widget;
|
||||
use Friendica\Core\Renderer;
|
||||
use Friendica\Core\Session;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\DI;
|
||||
use Friendica\Model\Attach;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Item;
|
||||
use Friendica\Model\User;
|
||||
use Friendica\Module\BaseProfile;
|
||||
use Friendica\Security\Security;
|
||||
use Friendica\Network\HTTPException;
|
||||
|
||||
function videos_init(App $a)
|
||||
{
|
||||
|
@ -43,38 +43,17 @@ function videos_init(App $a)
|
|||
Nav::setSelected('home');
|
||||
|
||||
if ($a->argc > 1) {
|
||||
$nick = $a->argv[1];
|
||||
$user = q("SELECT * FROM `user` WHERE `nickname` = '%s' AND `blocked` = 0 LIMIT 1",
|
||||
DBA::escape($nick)
|
||||
);
|
||||
|
||||
if (!DBA::isResult($user)) {
|
||||
return;
|
||||
$owner = User::getOwnerDataByNick($a->argv[1]);
|
||||
if (empty($owner)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
$a->data['user'] = $user[0];
|
||||
$a->profile_uid = $user[0]['uid'];
|
||||
|
||||
$profile = User::getOwnerDataByNick($nick);
|
||||
|
||||
$account_type = Contact::getAccountType($profile);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate('widget/vcard.tpl');
|
||||
|
||||
$vcard_widget = Renderer::replaceMacros($tpl, [
|
||||
'$name' => $profile['name'],
|
||||
'$photo' => $profile['photo'],
|
||||
'$addr' => $profile['addr'] ?? '',
|
||||
'$account_type' => $account_type,
|
||||
'$about' => BBCode::convert($profile['about']),
|
||||
]);
|
||||
|
||||
// If not there, create 'aside' empty
|
||||
if (!isset(DI::page()['aside'])) {
|
||||
DI::page()['aside'] = '';
|
||||
}
|
||||
|
||||
DI::page()['aside'] .= $vcard_widget;
|
||||
DI::page()['aside'] .= Widget\VCard::getHTML($owner);
|
||||
|
||||
$tpl = Renderer::getMarkupTemplate("videos_head.tpl");
|
||||
DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl);
|
||||
|
@ -85,10 +64,13 @@ function videos_init(App $a)
|
|||
|
||||
function videos_post(App $a)
|
||||
{
|
||||
$owner_uid = $a->data['user']['uid'];
|
||||
$user = User::getByNickname($a->argv[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (local_user() != $owner_uid) {
|
||||
DI::baseUrl()->redirect('videos/' . $a->data['user']['nickname']);
|
||||
if (local_user() != $user['uid']) {
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
}
|
||||
|
||||
if (($a->argc == 2) && !empty($_POST['delete']) && !empty($_POST['id'])) {
|
||||
|
@ -105,11 +87,11 @@ function videos_post(App $a)
|
|||
], local_user());
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('videos/' . $a->data['user']['nickname']);
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
DI::baseUrl()->redirect('videos/' . $a->data['user']['nickname']);
|
||||
DI::baseUrl()->redirect('videos/' . $user['nickname']);
|
||||
}
|
||||
|
||||
function videos_content(App $a)
|
||||
|
@ -123,13 +105,17 @@ function videos_content(App $a)
|
|||
// videos/name/video/xxxxx
|
||||
// videos/name/video/xxxxx/edit
|
||||
|
||||
$user = User::getByNickname($a->argv[1]);
|
||||
if (!DBA::isResult($user)) {
|
||||
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
|
||||
}
|
||||
|
||||
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
|
||||
notice(DI::l10n()->t('Public access denied.'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (empty($a->data['user'])) {
|
||||
if (empty($user)) {
|
||||
notice(DI::l10n()->t('No videos selected') . EOL );
|
||||
return;
|
||||
}
|
||||
|
@ -154,41 +140,38 @@ function videos_content(App $a)
|
|||
//
|
||||
$can_post = false;
|
||||
$visitor = 0;
|
||||
$contact = null;
|
||||
$remote_contact = false;
|
||||
$contact_id = 0;
|
||||
|
||||
$owner_uid = $a->data['user']['uid'];
|
||||
$community_page = (($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
|
||||
|
||||
$community_page = (($a->data['user']['page-flags'] == User::PAGE_FLAGS_COMMUNITY) ? true : false);
|
||||
|
||||
if ((local_user()) && (local_user() == $owner_uid)) {
|
||||
if ((local_user()) && (local_user() == $user['uid'])) {
|
||||
$can_post = true;
|
||||
} elseif ($community_page && !empty(Session::getRemoteContactID($owner_uid))) {
|
||||
$contact_id = Session::getRemoteContactID($owner_uid);
|
||||
} elseif ($community_page && !empty(Session::getRemoteContactID($user['uid']))) {
|
||||
$contact_id = Session::getRemoteContactID($user['uid']);
|
||||
$can_post = true;
|
||||
$remote_contact = true;
|
||||
$visitor = $contact_id;
|
||||
}
|
||||
|
||||
// perhaps they're visiting - but not a community page, so they wouldn't have write access
|
||||
if (!empty(Session::getRemoteContactID($owner_uid)) && !$visitor) {
|
||||
$contact_id = Session::getRemoteContactID($owner_uid);
|
||||
if (!empty(Session::getRemoteContactID($user['uid'])) && !$visitor) {
|
||||
$contact_id = Session::getRemoteContactID($user['uid']);
|
||||
$remote_contact = true;
|
||||
}
|
||||
|
||||
if ($a->data['user']['hidewall'] && (local_user() != $owner_uid) && !$remote_contact) {
|
||||
if ($user['hidewall'] && (local_user() != $user['uid']) && !$remote_contact) {
|
||||
notice(DI::l10n()->t('Access to this item is restricted.'));
|
||||
return;
|
||||
}
|
||||
|
||||
$sql_extra = Security::getPermissionsSQLByUserId($owner_uid);
|
||||
$sql_extra = Security::getPermissionsSQLByUserId($user['uid']);
|
||||
|
||||
$o = "";
|
||||
|
||||
// tabs
|
||||
$_is_owner = (local_user() && (local_user() == $owner_uid));
|
||||
$o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $a->data['user']['nickname']);
|
||||
$_is_owner = (local_user() && (local_user() == $user['uid']));
|
||||
$o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $user);
|
||||
|
||||
//
|
||||
// dispatch request
|
||||
|
@ -218,7 +201,7 @@ function videos_content(App $a)
|
|||
$total = 0;
|
||||
$r = q("SELECT hash FROM `attach` WHERE `uid` = %d AND filetype LIKE '%%video%%'
|
||||
$sql_extra GROUP BY hash",
|
||||
intval($a->data['user']['uid'])
|
||||
intval($user['uid'])
|
||||
);
|
||||
if (DBA::isResult($r)) {
|
||||
$total = count($r);
|
||||
|
@ -231,7 +214,7 @@ function videos_content(App $a)
|
|||
FROM `attach`
|
||||
WHERE `uid` = %d AND filetype LIKE '%%video%%'
|
||||
$sql_extra GROUP BY hash ORDER BY `created` DESC LIMIT %d , %d",
|
||||
intval($a->data['user']['uid']),
|
||||
intval($user['uid']),
|
||||
$pager->getStart(),
|
||||
$pager->getItemsPerPage()
|
||||
);
|
||||
|
@ -247,13 +230,13 @@ function videos_content(App $a)
|
|||
|
||||
$videos[] = [
|
||||
'id' => $rr['id'],
|
||||
'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/video/' . $rr['hash'],
|
||||
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/video/' . $rr['hash'],
|
||||
'title' => DI::l10n()->t('View Video'),
|
||||
'src' => DI::baseUrl() . '/attach/' . $rr['id'] . '?attachment=0',
|
||||
'alt' => $alt_e,
|
||||
'mime' => $rr['filetype'],
|
||||
'album' => [
|
||||
'link' => DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/album/' . bin2hex($rr['album']),
|
||||
'link' => DI::baseUrl() . '/videos/' . $user['nickname'] . '/album/' . bin2hex($rr['album']),
|
||||
'name' => $name_e,
|
||||
'alt' => DI::l10n()->t('View Album'),
|
||||
],
|
||||
|
@ -265,9 +248,9 @@ function videos_content(App $a)
|
|||
$o .= Renderer::replaceMacros($tpl, [
|
||||
'$title' => DI::l10n()->t('Recent Videos'),
|
||||
'$can_post' => $can_post,
|
||||
'$upload' => [DI::l10n()->t('Upload New Videos'), DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] . '/upload'],
|
||||
'$upload' => [DI::l10n()->t('Upload New Videos'), DI::baseUrl() . '/videos/' . $user['nickname'] . '/upload'],
|
||||
'$videos' => $videos,
|
||||
'$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $a->data['user']['nickname'] : false)
|
||||
'$delete_url' => (($can_post) ? DI::baseUrl() . '/videos/' . $user['nickname'] : false)
|
||||
]);
|
||||
|
||||
$o .= $pager->renderFull($total);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue