function validate($newItem) { $extraFields = $this->extraField->getCategoryFieldsWithOptions($newItem->categoryId); foreach ($extraFields as $field) { $fieldId = $field['fieldId']; if ($field['required'] && (empty($newItem->extraField) || empty($newItem->extraField[$fieldId]))) { return "You don't fill required field " . $field['name']; } if ($field['type'] == 'file') { $file = new UploadedFile('extraField_' . $fieldId . '_file'); $extensions = preg_split('/\\s*,\\s*/', $field['config']['extensions']); $file->addFilter('extension', $extensions); $file->addFilter('maxSize', intval($field['config']['maxSize']) * 1024); if ($file->wasUploaded()) { try { $file->validate(); } catch (Exception $e) { return $e->getMessage(); } } } } }
/** * Save main settings */ function saveAction() { if (empty($this->request->urlRewriting)) { $this->request->advancedUrlRewritingEnabled = "0"; } //foreach posted setting save it to db foreach ($this->request as $key => $value) { //if admin email changed if ($key == "adminEmail") { $this->user->updateByPk(array("email" => $value), $this->userId); } if (in_array($key, $this->settingsCheckboxFields) && is_array($value)) { $value = implode("|", $value); } $this->setting->set($key, $value); Config::set($key, $value); } $watermark = new UploadedFile("imageWatermarkFile"); $watermark->addFilter("extension", array("jpg", "gif", "png")); if ($watermark->wasUploaded()) { try { $watermark->validate(); $watermarkImageSrc = "watermark." . $watermark->getFileExtension(); $watermark->setSavePath(CODE_ROOT_DIR . "uploads/custom/"); $watermark->setFileName($watermarkImageSrc); $watermark->save(); $this->setting->set("watermarkImageSrc", $watermarkImageSrc); } catch (Exception $e) { } } //if generate new selection if (isset($this->request->newSelectionButton)) { $this->site->generateNewSelection(); } //if reset top referrers if (isset($this->request->resetTopReferrersButton)) { $this->otherReferrerSite->removeAll(); } $cache = Cacher::getInstance(); $cache->clean("all"); $this->redirect($this->moduleLink()); }
function importNewsletterEmailAction() { $csvFile = new UploadedFile("csvFile"); try { $csvFile->validate(); $fileName = $csvFile->getTempName(); $buff = file_get_contents($fileName); $this->newsletterEmail->del(new Criteria()); foreach (preg_split("#[\r\n]+#", $buff) as $email) { $email = trim($email); if (empty($email)) { continue; } $newsletterEmail = new NewsletterEmailRecord(); $newsletterEmail->email = $email; $newsletterEmail->active = "1"; $newsletterEmail->save(); } } catch (Exception $e) { } $this->redirect($this->moduleLink("newsletterEmail")); }