Ejemplo n.º 1
0
 /**
  * Import 'image' value
  *
  * @param \XLite\Model\Category $model  Category
  * @param string                $value  Value
  * @param array                 $column Column info
  *
  * @return void
  */
 protected function importImageColumn(\XLite\Model\Category $model, $value, array $column)
 {
     if ($value && $this->verifyValueAsFile($value)) {
         $image = $model->getImage();
         if (!$image) {
             $image = new \XLite\Model\Image\Category\Image();
             $image->setCategory($model);
             $model->setImage($image);
             \XLite\Core\Database::getEM()->persist($image);
         }
         if (1 < count(parse_url($value))) {
             $image->loadFromURL($value, true);
         } else {
             $dir = \Includes\Utils\FileManager::getRealPath(LC_DIR_VAR . $this->importer->getOptions()->dir);
             $image->loadFromLocalFile($dir . LC_DS . $value);
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Import 'image' value
  *
  * @param \XLite\Model\Category $model  Category
  * @param string                $value  Value
  * @param array                 $column Column info
  *
  * @return void
  */
 protected function importImageColumn(\XLite\Model\Category $model, $value, array $column)
 {
     if ($value && $this->verifyValueAsFile($value)) {
         $image = $model->getImage();
         if (!$image) {
             $image = new \XLite\Model\Image\Category\Image();
             $image->setCategory($model);
             $model->setImage($image);
             \XLite\Core\Database::getEM()->persist($image);
         }
         if (1 < count(parse_url($value))) {
             $success = $image->loadFromURL($value, true);
         } else {
             $dir = \Includes\Utils\FileManager::getRealPath(LC_DIR_VAR . $this->importer->getOptions()->dir);
             $success = $image->loadFromLocalFile($dir . LC_DS . $value);
         }
         if (!$success) {
             $this->addError('PRODUCT-IMG-LOAD-FAILED', array('column' => $column, 'value' => $path));
         } else {
             $image->setNeedProcess(1);
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Common handler for category images.
  *
  * @param string $methodToLoad Method to use for getting images
  * @param array  $paramsToLoad Parameters to use in image getter method
  *
  * @return void
  */
 protected function doActionSelectCategoryImage($methodToLoad, array $paramsToLoad)
 {
     $categoryId = intval(\XLite\Core\Request::getInstance()->objectId);
     $category = \XLite\Core\Database::getRepo('XLite\\Model\\Category')->find($categoryId);
     $image = $category->getImage();
     if (!$image) {
         $image = new \XLite\Model\Image\Category\Image();
     }
     if (call_user_func_array(array($image, $methodToLoad), $paramsToLoad)) {
         $image->setCategory($category);
         $category->setImage($image);
         \XLite\Core\Database::getEM()->persist($image);
         \XLite\Core\Database::getEM()->flush();
         \XLite\Core\TopMessage::addInfo('The image has been updated');
     } else {
         \XLite\Core\TopMessage::addError('Failed to update category image');
     }
 }