/** * 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); } } }
/** * 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); } } }
/** * 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'); } }