forked from GNUsocial/gnu-social
move view designs setting to user design tab
This commit is contained in:
parent
12eee30586
commit
fca7ea664b
@ -134,10 +134,6 @@ class OthersettingsAction extends AccountSettingsAction
|
||||
$this->arg('maxnoticelength') : User_urlshortener_prefs::maxNoticeLength($user),
|
||||
_('URLs in notices longer than this will be shortened.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementStart('li');
|
||||
$this->checkbox('viewdesigns', _('View profile designs'),
|
||||
- $user->viewdesigns, _('Show or hide profile designs.'));
|
||||
$this->elementEnd('li');
|
||||
$this->elementEnd('ul');
|
||||
$this->submit('save', _('Save'));
|
||||
$this->elementEnd('fieldset');
|
||||
@ -170,8 +166,6 @@ class OthersettingsAction extends AccountSettingsAction
|
||||
return;
|
||||
}
|
||||
|
||||
$viewdesigns = $this->boolean('viewdesigns');
|
||||
|
||||
$maxurllength = $this->trimmed('maxurllength');
|
||||
|
||||
if (!Validate::number($maxurllength, array('min' => 0))) {
|
||||
@ -193,7 +187,6 @@ class OthersettingsAction extends AccountSettingsAction
|
||||
$original = clone($user);
|
||||
|
||||
$user->urlshorteningservice = $urlshorteningservice;
|
||||
$user->viewdesigns = $viewdesigns;
|
||||
|
||||
$result = $user->update($original);
|
||||
|
||||
|
@ -120,6 +120,20 @@ class UserDesignSettingsAction extends DesignSettingsAction
|
||||
$this->showDesignForm($design);
|
||||
}
|
||||
|
||||
/**
|
||||
* Shows the design settings form
|
||||
*
|
||||
* @param Design $design a working design to show
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
|
||||
function showDesignForm($design)
|
||||
{
|
||||
$form = new UserDesignForm($this, $design, $this->submitaction);
|
||||
$form->show();
|
||||
}
|
||||
|
||||
/**
|
||||
* Save or update the user's design settings
|
||||
*
|
||||
@ -128,6 +142,8 @@ class UserDesignSettingsAction extends DesignSettingsAction
|
||||
|
||||
function saveDesign()
|
||||
{
|
||||
$this->saveDesignPreferences();
|
||||
|
||||
foreach ($this->args as $key => $val) {
|
||||
if (preg_match('/(#ho|ho)Td.*g/i', $val)) {
|
||||
$this->sethd();
|
||||
@ -164,7 +180,8 @@ class UserDesignSettingsAction extends DesignSettingsAction
|
||||
$tile = true;
|
||||
}
|
||||
|
||||
$user = common_current_user();
|
||||
$user = common_current_user();
|
||||
|
||||
$design = $user->getDesign();
|
||||
|
||||
if (!empty($design)) {
|
||||
@ -282,4 +299,64 @@ class UserDesignSettingsAction extends DesignSettingsAction
|
||||
$this->showForm(_('Enjoy your hotdog!'), true);
|
||||
}
|
||||
|
||||
function saveDesignPreferences()
|
||||
{
|
||||
$viewdesigns = $this->boolean('viewdesigns');
|
||||
|
||||
$user = common_current_user();
|
||||
|
||||
$original = clone($user);
|
||||
|
||||
$user->viewdesigns = $viewdesigns;
|
||||
|
||||
$result = $user->update($original);
|
||||
|
||||
if ($result === false) {
|
||||
common_log_db_error($user, 'UPDATE', __FILE__);
|
||||
throw new ServerException(_('Couldn\'t update user.'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class UserDesignForm extends DesignForm
|
||||
{
|
||||
function __construct($out, $design, $actionurl)
|
||||
{
|
||||
parent::__construct($out, $design, $actionurl);
|
||||
}
|
||||
|
||||
/**
|
||||
* Legend of the Form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
function formLegend()
|
||||
{
|
||||
$this->out->element('legend', null, _('Design settings'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Data elements of the form
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
function formData()
|
||||
{
|
||||
$user = common_current_user();
|
||||
|
||||
$this->out->elementStart('ul', 'form_data');
|
||||
$this->out->elementStart('li');
|
||||
$this->out->checkbox('viewdesigns', _('View profile designs'),
|
||||
- $user->viewdesigns, _('Show or hide profile designs.'));
|
||||
$this->out->elementEnd('li');
|
||||
$this->out->elementEnd('ul');
|
||||
|
||||
$this->out->elementEnd('fieldset');
|
||||
|
||||
$this->out->elementStart('fieldset');
|
||||
$this->out->element('legend', null, _('Background file'));
|
||||
|
||||
parent::formData();
|
||||
}
|
||||
}
|
||||
|
@ -160,13 +160,13 @@ class DesignForm extends Form
|
||||
'value' => ImageFile::maxFileSizeInt()));
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
if (!empty($design->backgroundimage)) {
|
||||
if (!empty($this->design->backgroundimage)) {
|
||||
|
||||
$this->out->elementStart('li', array('id' =>
|
||||
'design_background-image_onoff'));
|
||||
|
||||
$this->out->element('img', array('src' =>
|
||||
Design::url($design->backgroundimage)));
|
||||
Design::url($this->design->backgroundimage)));
|
||||
|
||||
$attrs = array('name' => 'design_background-image_onoff',
|
||||
'type' => 'radio',
|
||||
@ -174,7 +174,7 @@ class DesignForm extends Form
|
||||
'class' => 'radio',
|
||||
'value' => 'on');
|
||||
|
||||
if ($design->disposition & BACKGROUND_ON) {
|
||||
if ($this->design->disposition & BACKGROUND_ON) {
|
||||
$attrs['checked'] = 'checked';
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ class DesignForm extends Form
|
||||
'class' => 'radio',
|
||||
'value' => 'off');
|
||||
|
||||
if ($design->disposition & BACKGROUND_OFF) {
|
||||
if ($this->design->disposition & BACKGROUND_OFF) {
|
||||
$attrs['checked'] = 'checked';
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ class DesignForm extends Form
|
||||
$this->out->elementStart('li');
|
||||
$this->out->checkbox('design_background-image_repeat',
|
||||
_('Tile background image'),
|
||||
($design->disposition & BACKGROUND_TILE) ? true : false);
|
||||
($this->design->disposition & BACKGROUND_TILE) ? true : false);
|
||||
$this->out->elementEnd('li');
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ class DesignForm extends Form
|
||||
|
||||
try {
|
||||
|
||||
$bgcolor = new WebColor($design->backgroundcolor);
|
||||
$bgcolor = new WebColor($this->design->backgroundcolor);
|
||||
|
||||
$this->out->elementStart('li');
|
||||
$this->out->element('label', array('for' => 'swatch-1'), _('Background'));
|
||||
@ -231,7 +231,7 @@ class DesignForm extends Form
|
||||
'value' => ''));
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
$ccolor = new WebColor($design->contentcolor);
|
||||
$ccolor = new WebColor($this->design->contentcolor);
|
||||
|
||||
$this->out->elementStart('li');
|
||||
$this->out->element('label', array('for' => 'swatch-2'), _('Content'));
|
||||
@ -244,7 +244,7 @@ class DesignForm extends Form
|
||||
'value' => ''));
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
$sbcolor = new WebColor($design->sidebarcolor);
|
||||
$sbcolor = new WebColor($this->design->sidebarcolor);
|
||||
|
||||
$this->out->elementStart('li');
|
||||
$this->out->element('label', array('for' => 'swatch-3'), _('Sidebar'));
|
||||
@ -257,7 +257,7 @@ class DesignForm extends Form
|
||||
'value' => ''));
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
$tcolor = new WebColor($design->textcolor);
|
||||
$tcolor = new WebColor($this->design->textcolor);
|
||||
|
||||
$this->out->elementStart('li');
|
||||
$this->out->element('label', array('for' => 'swatch-4'), _('Text'));
|
||||
@ -270,7 +270,7 @@ class DesignForm extends Form
|
||||
'value' => ''));
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
$lcolor = new WebColor($design->linkcolor);
|
||||
$lcolor = new WebColor($this->design->linkcolor);
|
||||
|
||||
$this->out->elementStart('li');
|
||||
$this->out->element('label', array('for' => 'swatch-5'), _('Links'));
|
||||
@ -284,7 +284,7 @@ class DesignForm extends Form
|
||||
$this->out->elementEnd('li');
|
||||
|
||||
} catch (WebColorException $e) {
|
||||
common_log(LOG_ERR, 'Bad color values in design ID: ' .$design->id);
|
||||
common_log(LOG_ERR, 'Bad color values in design ID: ' .$this->design->id);
|
||||
}
|
||||
|
||||
$this->out->elementEnd('ul');
|
||||
|
@ -174,28 +174,26 @@ class DesignSettingsAction extends AccountSettingsAction
|
||||
|
||||
function saveBackgroundImage($design)
|
||||
{
|
||||
|
||||
// Now that we have a Design ID we can add a file to the design.
|
||||
// XXX: This is an additional DB hit, but figured having the image
|
||||
// associated with the Design rather than the User was worth
|
||||
// it. -- Zach
|
||||
|
||||
if ($_FILES['design_background-image_file']['error'] ==
|
||||
UPLOAD_ERR_OK) {
|
||||
if (array_key_exists('design_background-image_file', $_FILES) &&
|
||||
$_FILES['design_background-image_file']['error'] == UPLOAD_ERR_OK) {
|
||||
|
||||
$filepath = null;
|
||||
|
||||
try {
|
||||
$imagefile =
|
||||
ImageFile::fromUpload('design_background-image_file');
|
||||
$imagefile = ImageFile::fromUpload('design_background-image_file');
|
||||
} catch (Exception $e) {
|
||||
$this->showForm($e->getMessage());
|
||||
return;
|
||||
}
|
||||
|
||||
$filename = Design::filename($design->id,
|
||||
image_type_to_extension($imagefile->type),
|
||||
common_timestamp());
|
||||
image_type_to_extension($imagefile->type),
|
||||
common_timestamp());
|
||||
|
||||
$filepath = Design::path($filename);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user