/** * Remove the logo from config & delete it. * * @since 2.1 * @param string $TransientKey Security token. */ public function RemoveFavicon($TransientKey = '') { $Session = Gdn::Session(); if ($Session->ValidateTransientKey($TransientKey) && $Session->CheckPermission('Garden.Settings.Manage')) { $Favicon = C('Garden.FavIcon', ''); RemoveFromConfig('Garden.FavIcon'); $Upload = new Gdn_Upload(); $Upload->Delete($Favicon); } Redirect('/settings/banner'); }
public function RemovePicture($UserID) { // Grab the current photo. $User = $this->GetID($UserID, DATASET_TYPE_ARRAY); if ($Photo = $User['Photo']) { $ProfilePhoto = ChangeBasename($Photo, 'p%s'); $Upload = new Gdn_Upload(); $Upload->Delete($ProfilePhoto); $this->SetField($UserID, 'Photo', NULL); } }
/** * Banner management screen. */ public function Banner() { $this->Permission('Garden.Settings.Manage'); $this->AddSideMenu('dashboard/settings/banner'); $this->Title(T('Banner')); $Validation = new Gdn_Validation(); $ConfigurationModel = new Gdn_ConfigurationModel($Validation); $ConfigurationModel->SetField(array('Garden.Title')); // Set the model on the form. $this->Form->SetModel($ConfigurationModel); // Get the current logo. $Logo = C('Garden.Logo'); if ($Logo) { $Logo = ltrim($Logo, '/'); // Fix the logo path. if (StringBeginsWith($Logo, 'uploads/')) $Logo = substr($Logo, strlen('uploads/')); $this->SetData('Logo', $Logo); } // If seeing the form for the first time... if ($this->Form->AuthenticatedPostBack() === FALSE) { // Apply the config settings to the form. $this->Form->SetData($ConfigurationModel->Data); } else { // Define some validation rules for the fields being saved $ConfigurationModel->Validation->ApplyRule('Garden.Title', 'Required'); if ($this->Form->Save() !== FALSE) { $Upload = new Gdn_Upload(); try { // Validate the upload $TmpImage = $Upload->ValidateUpload('Logo', FALSE); if ($TmpImage) { // Generate the target image name $TargetImage = $Upload->GenerateTargetName(PATH_ROOT . DS . 'uploads'); $ImageBaseName = pathinfo($TargetImage, PATHINFO_BASENAME); // Delete any previously uploaded images. if ($Logo) $Upload->Delete($Logo); // Save the uploaded image $Parts = $Upload->SaveAs( $TmpImage, $ImageBaseName ); $ImageBaseName = $Parts['SaveName']; } } catch (Exception $ex) { $this->Form->AddError($ex->getMessage()); } // If there were no errors, save the path to the logo in the config if ($this->Form->ErrorCount() == 0 && $Upload->GetUploadedFileName() != '') { SaveToConfig('Garden.Logo', $ImageBaseName); $this->SetData('Logo', $ImageBaseName); } $this->InformMessage(T("Your settings have been saved.")); } } $this->Render(); }
/** * Remove the share image from config & delete it. * * @since 2.1 * @param string $TransientKey Security token. */ public function RemoveShareImage($TransientKey = '') { $this->Permission('Garden.Settings.Manage'); $Session = Gdn::Session(); if (Gdn::Request()->IsAuthenticatedPostBack()) { $ShareImage = C('Garden.ShareImage', ''); RemoveFromConfig('Garden.ShareImage'); $Upload = new Gdn_Upload(); $Upload->Delete($ShareImage); } $this->RedirectUrl = '/settings/banner'; $this->Render('Blank', 'Utility'); }