Ejemplo n.º 1
0
 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();
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 function uploadSiteImageAction($siteId)
 {
     $this->viewClass = 'JsonView';
     $siteId = intval($siteId);
     $site = $this->site->findByPk($siteId);
     $siteImage = new UploadedFile("siteImage");
     $siteImage->addFilter("extension", array("jpg", "png", "gif"));
     $thumbsPath = Config::get("SITES_THUMBS_PATH");
     $siteImage->setSavePath($thumbsPath);
     $siteImage->save();
     $newImageSrc = $siteImage->getSavedFileName();
     if ($newImageSrc) {
         if ($site->imageSrc) {
             $oldFilePath = $thumbsPath . basename($site->imageSrc);
             if (file_exists($oldFilePath)) {
                 unlink($oldFilePath);
             }
         }
         $site->imageSrc = $newImageSrc;
         $site->save();
     }
     $site->updateImageSrc(false);
     $this->set('status', 'ok');
     $this->set('imageSrc', $site->imageSrc);
 }
Ejemplo n.º 3
0
 function uploadSiteImageAction($siteId)
 {
     $siteId = intval($siteId);
     $site = $this->site->findByPk($siteId);
     $siteImage = new UploadedFile("siteImage");
     $siteImage->addFilter("extension", array("jpg", "png", "gif"));
     $thumbsPath = Config::get("SITES_THUMBS_PATH");
     $newImageSrc = $siteImage->save($thumbsPath);
     if ($newImageSrc) {
         if ($site->imageSrc) {
             $oldFilePath = $thumbsPath . basename($site->imageSrc);
             if (file_exists($oldFilePath)) {
                 unlink($oldFilePath);
             }
         }
         $site->imageSrc = $newImageSrc;
         $site->save();
     }
     $site->updateImageSrc(false);
     echo "<html><body>" . $site->imageSrc . "</body></html>";
     $this->autoRender = false;
 }
Ejemplo n.º 4
0
 function savePackageAction($packageId = null)
 {
     $fields = array('name', 'amount', 'allopassId', 'allopassNumber', 'priority', 'description', 'siteDescriptionMaxLength', 'maxKeywordsCountPerSite', 'backLinkMandatory', 'siteDescriptionHtmlEnabled', 'siteDescriptionHtmlAllowedTags', 'siteDescriptionHtmlAllowedCssProperties', 'siteDescriptionMinLength');
     $data = $this->request->getArray($fields);
     $package = empty($packageId) ? new PackageRecord() : $this->package->findByPk($packageId);
     $package->fromArray($data);
     $siteImage = new UploadedFile("uploadImage");
     $siteImage->addFilter("extension", array("jpg", "png", "gif"));
     if ($siteImage->wasUploaded()) {
         $thumbsPath = Config::get("PACKAGES_THUMBS_PATH");
         $siteImage->setSavePath($thumbsPath);
         $siteImage->save();
         $newImageSrc = $siteImage->getSavedFileName();
         if ($newImageSrc) {
             if (!empty($package->imageSrc)) {
                 $oldFilePath = $thumbsPath . basename($package->imageSrc);
                 if (file_exists($oldFilePath)) {
                     unlink($oldFilePath);
                 }
             }
             $package->imageSrc = $newImageSrc;
         }
     }
     $package->save();
     $this->redirect($this->moduleLink("package"));
 }
Ejemplo n.º 5
0
 function saveCategoryAction()
 {
     $rebuild = false;
     $edit = !empty($this->request->categoryId);
     $imageSrc = false;
     try {
         $file = new UploadedFile("categoryImage");
         $file->addFilter("extension", array("jpg", "gif", "png"));
         //check and save image
         if ($file->wasUploaded()) {
             $file->setSavePath(CODE_ROOT_DIR . 'uploads/images_categories/');
             $file->save();
             $imageSrc = $file->getSavedFileName();
         }
     } catch (Exception $e) {
     }
     if (!$edit && $imageSrc == false) {
         $imageSrc = 'defaultCategoryImage.gif';
     }
     //create and save new category
     $fields = $this->request->getArray(array("name", "urlName", "navigationName", "title", "headerDescription", "possibleTender", "description", "metaDescription", "parentCategoryId", "forbidden"));
     if ($edit) {
         $category = $this->category->findByPk($this->request->categoryId);
         //handle categoryParentId change
         if ($category->parentCategoryId != $this->request->parentCategoryId && $category->changeParent($this->request->parentCategoryId)) {
             $rebuild = true;
         }
     } else {
         $category = new CategoryRecord();
     }
     $category->fromArray($fields);
     if ($imageSrc) {
         if ($edit) {
             $category->removeImage();
         }
         $category->imageSrc = $imageSrc;
     }
     if (empty($category->urlName)) {
         $category->urlName = $category->name;
     }
     $excludeCategoryId = $edit ? $category->categoryId : false;
     $category->urlName = $this->category->getFreeUrlName($category->urlName, $excludeCategoryId);
     $category->save();
     if (!$edit) {
         $this->categoryParent->addNode($this->request->parentCategoryId, $category->categoryId);
     }
     if ($rebuild) {
         $this->categoryParent->moveNode($category->categoryId, $category->parentCategoryId);
         $this->category->updateValidatedSitesCount();
     }
     $redirect = AppRouter::getRewrittedUrl("/admin/category/index/" . $category->parentCategoryId);
     $this->redirect($redirect);
 }