Fixed E_NOTICEs when uploading profile picture (#5456)

* Fixed E_NOTICEs when uploading profile picture.

* Fixed E_NOTICEs when $_POST doesn't contain these fields.
This commit is contained in:
Roland Häder 2018-07-22 22:01:14 +02:00 committed by Hypolite Petovan
parent c17adaf333
commit 7876d6547b
3 changed files with 29 additions and 24 deletions

View File

@ -25,7 +25,6 @@ function profile_photo_init(App $a)
function profile_photo_post(App $a) function profile_photo_post(App $a)
{ {
if (!local_user()) { if (!local_user()) {
notice(L10n::t('Permission denied.') . EOL); notice(L10n::t('Permission denied.') . EOL);
return; return;
@ -33,7 +32,7 @@ function profile_photo_post(App $a)
check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo'); check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo');
if ((x($_POST, 'cropfinal')) && ($_POST['cropfinal'] == 1)) { if (!empty($_POST['cropfinal']) && $_POST['cropfinal'] == 1) {
// unless proven otherwise // unless proven otherwise
$is_default_profile = 1; $is_default_profile = 1;
@ -42,7 +41,10 @@ function profile_photo_post(App $a)
$r = q("select id, `is-default` from profile where id = %d and uid = %d limit 1", intval($_REQUEST['profile']), $r = q("select id, `is-default` from profile where id = %d and uid = %d limit 1", intval($_REQUEST['profile']),
intval(local_user()) intval(local_user())
); );
if (DBM::is_result($r) && (!intval($r[0]['is-default']))) $is_default_profile = 0;
if (DBM::is_result($r) && (!intval($r[0]['is-default']))) {
$is_default_profile = 0;
}
} }
@ -184,21 +186,25 @@ function profile_photo_content(App $a)
$imagecrop = []; $imagecrop = [];
if ($a->argv[1] == 'use' && $a->argc >= 3) { if (isset($a->argv[1]) && $a->argv[1] == 'use' && $a->argc >= 3) {
// check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo'); // check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo');
$resource_id = $a->argv[2]; $resource_id = $a->argv[2];
//die(":".local_user()); //die(":".local_user());
$r = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s' ORDER BY `scale` ASC", intval(local_user()), $r = q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s' ORDER BY `scale` ASC", intval(local_user()),
dbesc($resource_id) dbesc($resource_id)
); );
if (!DBM::is_result($r)) { if (!DBM::is_result($r)) {
notice(L10n::t('Permission denied.') . EOL); notice(L10n::t('Permission denied.') . EOL);
return; return;
} }
$havescale = false; $havescale = false;
foreach ($r as $rr) { foreach ($r as $rr) {
if ($rr['scale'] == 5) $havescale = true; if ($rr['scale'] == 5) {
$havescale = true;
}
} }
// set an already uloaded photo as profile photo // set an already uloaded photo as profile photo
@ -230,7 +236,6 @@ function profile_photo_content(App $a)
intval(local_user()) intval(local_user())
); );
if (empty($imagecrop)) { if (empty($imagecrop)) {
$tpl = get_markup_template('profile_photo.tpl'); $tpl = get_markup_template('profile_photo.tpl');
@ -254,7 +259,7 @@ function profile_photo_content(App $a)
$o = replace_macros($tpl, $o = replace_macros($tpl,
[ [
'$filename' => $filename, '$filename' => $filename,
'$profile' => intval($_REQUEST['profile']), '$profile' => (isset($_REQUEST['profile']) ? intval($_REQUEST['profile']) : 0),
'$resource' => $imagecrop['hash'] . '-' . $imagecrop['resolution'], '$resource' => $imagecrop['hash'] . '-' . $imagecrop['resolution'],
'$image_url' => System::baseUrl() . '/photo/' . $filename, '$image_url' => System::baseUrl() . '/photo/' . $filename,
'$title' => L10n::t('Crop Image'), '$title' => L10n::t('Crop Image'),
@ -268,23 +273,23 @@ function profile_photo_content(App $a)
return; // NOTREACHED return; // NOTREACHED
} }
function profile_photo_crop_ui_head(App $a, Image $Image) function profile_photo_crop_ui_head(App $a, Image $image)
{ {
$max_length = Config::get('system', 'max_image_length'); $max_length = Config::get('system', 'max_image_length');
if (!$max_length) { if (!$max_length) {
$max_length = MAX_IMAGE_LENGTH; $max_length = MAX_IMAGE_LENGTH;
} }
if ($max_length > 0) { if ($max_length > 0) {
$Image->scaleDown($max_length); $image->scaleDown($max_length);
} }
$width = $Image->getWidth(); $width = $image->getWidth();
$height = $Image->getHeight(); $height = $image->getHeight();
if ($width < 175 || $height < 175) { if ($width < 175 || $height < 175) {
$Image->scaleUp(200); $image->scaleUp(200);
$width = $Image->getWidth(); $width = $image->getWidth();
$height = $Image->getHeight(); $height = $image->getHeight();
} }
$hash = Photo::newResource(); $hash = Photo::newResource();
@ -293,7 +298,7 @@ function profile_photo_crop_ui_head(App $a, Image $Image)
$smallest = 0; $smallest = 0;
$filename = ''; $filename = '';
$r = Photo::store($Image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 0); $r = Photo::store($image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 0);
if ($r) { if ($r) {
info(L10n::t('Image uploaded successfully.') . EOL); info(L10n::t('Image uploaded successfully.') . EOL);
@ -302,8 +307,8 @@ function profile_photo_crop_ui_head(App $a, Image $Image)
} }
if ($width > 640 || $height > 640) { if ($width > 640 || $height > 640) {
$Image->scaleDown(640); $image->scaleDown(640);
$r = Photo::store($Image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 1); $r = Photo::store($image, local_user(), 0, $hash, $filename, L10n::t('Profile Photos'), 1);
if ($r === false) { if ($r === false) {
notice(L10n::t('Image size reduction [%s] failed.', "640") . EOL); notice(L10n::t('Image size reduction [%s] failed.', "640") . EOL);
@ -318,7 +323,7 @@ function profile_photo_crop_ui_head(App $a, Image $Image)
$imagecrop = [ $imagecrop = [
'hash' => $hash, 'hash' => $hash,
'resolution' => $smallest, 'resolution' => $smallest,
'ext' => $Image->getExt(), 'ext' => $image->getExt(),
]; ];
return $imagecrop; return $imagecrop;

View File

@ -528,10 +528,10 @@ function settings_post(App $a)
date_default_timezone_set($timezone); date_default_timezone_set($timezone);
} }
$str_group_allow = perms2str($_POST['group_allow']); $str_group_allow = perms2str(defaults($_POST, 'group_allow' , ''));
$str_contact_allow = perms2str($_POST['contact_allow']); $str_contact_allow = perms2str(defaults($_POST, 'contact_allow', ''));
$str_group_deny = perms2str($_POST['group_deny']); $str_group_deny = perms2str(defaults($_POST, 'group_deny' , ''));
$str_contact_deny = perms2str($_POST['contact_deny']); $str_contact_deny = perms2str(defaults($_POST, 'contact_deny' , ''));
$openidserver = $a->user['openidserver']; $openidserver = $a->user['openidserver'];
//$openid = normalise_openid($openid); //$openid = normalise_openid($openid);

View File

@ -216,7 +216,7 @@ class Contact extends BaseObject
$update = false; $update = false;
foreach ($fields as $field => $content) { foreach ($fields as $field => $content) {
if ($self[$field] != $content) { if (isset($self[$field]) && $self[$field] != $content) {
$update = true; $update = true;
} }
} }