mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-24 06:20:56 +01:00
Merge pull request #11 from cadamo/master
Fix regenerate arcanist cert, setup stuff and avoid accept non valid image files as profile picture.
This commit is contained in:
commit
9ff124e5de
5 changed files with 64 additions and 32 deletions
|
@ -32,7 +32,7 @@ class PhabricatorPeopleProfileEditController
|
||||||
$profile->setUserPHID($user->getPHID());
|
$profile->setUserPHID($user->getPHID());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$errors = array();
|
||||||
if ($request->isFormPost()) {
|
if ($request->isFormPost()) {
|
||||||
$profile->setTitle($request->getStr('title'));
|
$profile->setTitle($request->getStr('title'));
|
||||||
$profile->setBlurb($request->getStr('blurb'));
|
$profile->setBlurb($request->getStr('blurb'));
|
||||||
|
@ -41,14 +41,29 @@ class PhabricatorPeopleProfileEditController
|
||||||
$err = idx($_FILES['image'], 'error');
|
$err = idx($_FILES['image'], 'error');
|
||||||
if ($err != UPLOAD_ERR_NO_FILE) {
|
if ($err != UPLOAD_ERR_NO_FILE) {
|
||||||
$file = PhabricatorFile::newFromPHPUpload($_FILES['image']);
|
$file = PhabricatorFile::newFromPHPUpload($_FILES['image']);
|
||||||
$profile->setProfileImagePHID($file->getPHID());
|
$okay = $file->isTransformableImage();
|
||||||
|
if ($okay) {
|
||||||
|
$profile->setProfileImagePHID($file->getPHID());
|
||||||
|
} else {
|
||||||
|
$errors[] =
|
||||||
|
'Only valid image files (jpg, jpeg, png or gif) '.
|
||||||
|
'will be accepted.';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$profile->save();
|
if (!$errors) {
|
||||||
$response = id(new AphrontRedirectResponse())
|
$profile->save();
|
||||||
->setURI('/p/'.$user->getUsername().'/');
|
$response = id(new AphrontRedirectResponse())
|
||||||
return $response;
|
->setURI('/p/'.$user->getUsername().'/');
|
||||||
|
return $response;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($errors) {
|
||||||
|
$error_view = new AphrontErrorView();
|
||||||
|
$error_view->setTitle('Form Errors');
|
||||||
|
$error_view->setErrors($errors);
|
||||||
}
|
}
|
||||||
|
|
||||||
$form = new AphrontFormView();
|
$form = new AphrontFormView();
|
||||||
|
@ -88,10 +103,13 @@ class PhabricatorPeopleProfileEditController
|
||||||
$panel->setWidth(AphrontPanelView::WIDTH_FORM);
|
$panel->setWidth(AphrontPanelView::WIDTH_FORM);
|
||||||
|
|
||||||
return $this->buildStandardPageResponse(
|
return $this->buildStandardPageResponse(
|
||||||
$panel,
|
array(
|
||||||
|
$error_view,
|
||||||
|
$panel,
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'title' => 'Edit Profile',
|
'title' => 'Edit Profile',
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -15,9 +15,10 @@ phutil_require_module('phabricator', 'view/form/control/file');
|
||||||
phutil_require_module('phabricator', 'view/form/control/submit');
|
phutil_require_module('phabricator', 'view/form/control/submit');
|
||||||
phutil_require_module('phabricator', 'view/form/control/text');
|
phutil_require_module('phabricator', 'view/form/control/text');
|
||||||
phutil_require_module('phabricator', 'view/form/control/textarea');
|
phutil_require_module('phabricator', 'view/form/control/textarea');
|
||||||
|
phutil_require_module('phabricator', 'view/form/error');
|
||||||
phutil_require_module('phabricator', 'view/layout/panel');
|
phutil_require_module('phabricator', 'view/layout/panel');
|
||||||
|
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
||||||
|
|
||||||
phutil_require_source('PhabricatorPeopleProfileEditController.php');
|
phutil_require_source('PhabricatorPeopleProfileEditController.php');
|
|
@ -118,14 +118,22 @@ class PhabricatorUserSettingsController extends PhabricatorPeopleController {
|
||||||
$err = idx($_FILES['profile'], 'error');
|
$err = idx($_FILES['profile'], 'error');
|
||||||
if ($err != UPLOAD_ERR_NO_FILE) {
|
if ($err != UPLOAD_ERR_NO_FILE) {
|
||||||
$file = PhabricatorFile::newFromPHPUpload($_FILES['profile']);
|
$file = PhabricatorFile::newFromPHPUpload($_FILES['profile']);
|
||||||
$user->setProfileImagePHID($file->getPHID());
|
$okay = $file->isTransformableImage();
|
||||||
|
|
||||||
|
if ($okay) {
|
||||||
|
$user->setProfileImagePHID($file->getPHID());
|
||||||
|
} else {
|
||||||
|
$errors[] =
|
||||||
|
'Only valid image files (jpg, jpeg, png or gif) '.
|
||||||
|
'will be accepted.';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$user->setRealName($request->getStr('realname'));
|
$user->setRealName($request->getStr('realname'));
|
||||||
|
|
||||||
if (!strlen($user->getRealName())) {
|
if (!strlen($user->getRealName())) {
|
||||||
$errors[] = 'Real name must be nonempty';
|
$errors[] = 'Real name must be nonempty.';
|
||||||
$e_realname = 'Required';
|
$e_realname = 'Required';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,7 +253,6 @@ class PhabricatorUserSettingsController extends PhabricatorPeopleController {
|
||||||
$regen_form = new AphrontFormView();
|
$regen_form = new AphrontFormView();
|
||||||
$regen_form
|
$regen_form
|
||||||
->setUser($user)
|
->setUser($user)
|
||||||
->setWorkflow(true)
|
|
||||||
->setAction('/settings/page/arcanist/')
|
->setAction('/settings/page/arcanist/')
|
||||||
->appendChild(
|
->appendChild(
|
||||||
'<p class="aphront-form-instructions">You can regenerate this '.
|
'<p class="aphront-form-instructions">You can regenerate this '.
|
||||||
|
@ -526,7 +533,5 @@ class PhabricatorUserSettingsController extends PhabricatorPeopleController {
|
||||||
|
|
||||||
return $notice.$panel->render();
|
return $notice.$panel->render();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
|
@ -130,18 +130,28 @@ class PhabricatorSetup {
|
||||||
self::writeDoc('article/Configuration_Guide.html');
|
self::writeDoc('article/Configuration_Guide.html');
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
self::write(" okay Custom configuration loaded.\n");
|
$host = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
|
||||||
}
|
$protocol = id(new PhutilURI($host))->getProtocol();
|
||||||
|
if (!($protocol === 'http') || !($protocol === 'https')) {
|
||||||
if (!PhabricatorEnv::getEnvConfig('phabricator.base-uri')) {
|
self::writeFailure();
|
||||||
self::writeFailure();
|
self::write(
|
||||||
self::write(
|
"You must specify the protocol over which your host works (e.g.: ".
|
||||||
"Setup failure! You must specify 'phabricator.base-uri' in your ".
|
"\"http:// or https://\")\nin your custom config file.\nRefer to ".
|
||||||
"custom config file. Refer to 'default.conf.php' for documentation ".
|
"'default.conf.php' for documentation on configuration options.\n");
|
||||||
"on configuration options.\n");
|
return;
|
||||||
return;
|
}
|
||||||
} else {
|
if (preg_match('/.*\/$/', $host)) {
|
||||||
self::write(" okay phabricator.base-uri\n");
|
self::write(" okay phabricator.base-uri\n");
|
||||||
|
} else {
|
||||||
|
self::writeFailure();
|
||||||
|
self::write(
|
||||||
|
"You must add a trailing slash at the end of the host\n(e.g.: ".
|
||||||
|
"\"http://phabricator.example.com/ instead of ".
|
||||||
|
"http://phabricator.example.com\")\nin your custom config file.".
|
||||||
|
"\nRefer to 'default.conf.php' for documentation on configuration ".
|
||||||
|
"options.\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
self::write("[OKAY] Basic configuration OKAY\n");
|
self::write("[OKAY] Basic configuration OKAY\n");
|
||||||
|
@ -426,4 +436,4 @@ class PhabricatorSetup {
|
||||||
"\n\n");
|
"\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -4,8 +4,6 @@
|
||||||
* @generated
|
* @generated
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
phutil_require_module('phabricator', 'infrastructure/env');
|
phutil_require_module('phabricator', 'infrastructure/env');
|
||||||
phutil_require_module('phabricator', 'infrastructure/setup/sql');
|
phutil_require_module('phabricator', 'infrastructure/setup/sql');
|
||||||
phutil_require_module('phabricator', 'storage/connection/mysql');
|
phutil_require_module('phabricator', 'storage/connection/mysql');
|
||||||
|
@ -14,7 +12,7 @@ phutil_require_module('phabricator', 'storage/queryfx');
|
||||||
phutil_require_module('phutil', 'filesystem');
|
phutil_require_module('phutil', 'filesystem');
|
||||||
phutil_require_module('phutil', 'future/exec');
|
phutil_require_module('phutil', 'future/exec');
|
||||||
phutil_require_module('phutil', 'moduleutils');
|
phutil_require_module('phutil', 'moduleutils');
|
||||||
|
phutil_require_module('phutil', 'parser/uri');
|
||||||
phutil_require_module('phutil', 'utils');
|
phutil_require_module('phutil', 'utils');
|
||||||
|
|
||||||
|
phutil_require_source('PhabricatorSetup.php');
|
||||||
phutil_require_source('PhabricatorSetup.php');
|
|
Loading…
Reference in a new issue