private function log($logMessage, $type, $overrideExistsLog = false) { $varDir = new Ess_M2ePro_Model_VariablesDir(array('child_folder' => 'logs')); $varDir->create(); $fileName = $varDir->getPath() . $type . '.log'; $overrideExistsLog ? file_put_contents($fileName, $logMessage) : file_put_contents($fileName, $logMessage, FILE_APPEND); }
public function saveWatermarkImageAction() { $templateData = $this->getRequest()->getPost('description'); if (is_null($templateData['id']) || empty($_FILES['watermark_image']['tmp_name'])) { return NULL; } $varDir = new Ess_M2ePro_Model_VariablesDir(array('child_folder' => 'ebay/template/description/watermarks')); $watermarkPath = $varDir->getPath() . (int) $templateData['id'] . '.png'; if (is_file($watermarkPath)) { @unlink($watermarkPath); } $template = Mage::getModel('M2ePro/Ebay_Template_Description')->load((int) $templateData['id']); $template->updateWatermarkHashes(); $data = array('watermark_image' => file_get_contents($_FILES['watermark_image']['tmp_name'])); $template->addData($data); $template->save(); }
public function addWatermarkIfNeed($imageLink) { if (!$this->isWatermarkEnabled()) { return $imageLink; } $imagePath = $this->imageLinkToPath($imageLink); if (!is_file($imagePath)) { return $imageLink; } $fileExtension = pathinfo($imagePath, PATHINFO_EXTENSION); $pathWithoutExtension = preg_replace('/\\.' . $fileExtension . '$/', '', $imagePath); $markingImagePath = $pathWithoutExtension . '-' . $this->getWatermarkHash() . '.' . $fileExtension; if (is_file($markingImagePath)) { $currentTime = Mage::helper('M2ePro')->getCurrentGmtDate(true); if (filemtime($markingImagePath) + self::WATERMARK_CACHE_TIME > $currentTime) { return $this->pathToImageLink($markingImagePath); } @unlink($markingImagePath); } $prevMarkingImagePath = $pathWithoutExtension . '-' . $this->getWatermarkPreviousHash() . '.' . $fileExtension; if (is_file($prevMarkingImagePath)) { @unlink($prevMarkingImagePath); } $varDir = new Ess_M2ePro_Model_VariablesDir(array('child_folder' => 'ebay/template/description/watermarks')); $watermarkPath = $varDir->getPath() . $this->getId() . '.png'; if (!is_file($watermarkPath)) { $varDir->create(); @file_put_contents($watermarkPath, $this->getWatermarkImage()); } $watermarkPositions = array(self::WATERMARK_POSITION_TOP => Varien_Image_Adapter_Abstract::POSITION_TOP_RIGHT, self::WATERMARK_POSITION_MIDDLE => Varien_Image_Adapter_Abstract::POSITION_CENTER, self::WATERMARK_POSITION_BOTTOM => Varien_Image_Adapter_Abstract::POSITION_BOTTOM_RIGHT); $image = new Varien_Image($imagePath); $imageOriginalHeight = $image->getOriginalHeight(); $imageOriginalWidth = $image->getOriginalWidth(); $image->open(); $image->setWatermarkPosition($watermarkPositions[$this->getWatermarkPosition()]); $watermark = new Varien_Image($watermarkPath); $watermarkOriginalHeight = $watermark->getOriginalHeight(); $watermarkOriginalWidth = $watermark->getOriginalWidth(); if ($this->isWatermarkScaleModeStretch()) { $image->setWatermarkPosition(Varien_Image_Adapter_Abstract::POSITION_STRETCH); } if ($this->isWatermarkScaleModeInWidth()) { $watermarkWidth = $imageOriginalWidth; $heightPercent = $watermarkOriginalWidth / $watermarkWidth; $watermarkHeight = (int) ($watermarkOriginalHeight / $heightPercent); $image->setWatermarkWidth($watermarkWidth); $image->setWatermarkHeigth($watermarkHeight); } if ($this->isWatermarkScaleModeNone()) { $image->setWatermarkWidth($watermarkOriginalWidth); $image->setWatermarkHeigth($watermarkOriginalHeight); if ($watermarkOriginalHeight > $imageOriginalHeight) { $image->setWatermarkHeigth($imageOriginalHeight); $widthPercent = $watermarkOriginalHeight / $imageOriginalHeight; $watermarkWidth = (int) ($watermarkOriginalWidth / $widthPercent); $image->setWatermarkWidth($watermarkWidth); } if ($watermarkOriginalWidth > $imageOriginalWidth) { $image->setWatermarkWidth($imageOriginalWidth); $heightPercent = $watermarkOriginalWidth / $imageOriginalWidth; $watermarkHeight = (int) ($watermarkOriginalHeight / $heightPercent); $image->setWatermarkHeigth($watermarkHeight); } } $opacity = 100; if ($this->isWatermarkTransparentEnabled()) { $opacity = 30; } $image->setWatermarkImageOpacity($opacity); $image->watermark($watermarkPath); $image->save($markingImagePath); return $this->pathToImageLink($markingImagePath); }
protected function prepareData(array &$data) { $prepared = parent::prepareData($data); $isSimpleMode = Mage::helper('M2ePro/View_Ebay')->isSimpleMode(); $defaultData = $isSimpleMode ? Mage::getSingleton('M2ePro/Ebay_Template_Description')->getDefaultSettingsSimpleMode() : Mage::getSingleton('M2ePro/Ebay_Template_Description')->getDefaultSettingsAdvancedMode(); $defaultData['enhancement'] = explode(',', $defaultData['enhancement']); $defaultData['product_details'] = json_decode($defaultData['product_details'], true); $defaultData['watermark_settings'] = json_decode($defaultData['watermark_settings'], true); $data = Mage::helper('M2ePro')->arrayReplaceRecursive($defaultData, $data); if (isset($data['title_mode'])) { $prepared['title_mode'] = (int) $data['title_mode']; } if (isset($data['title_template'])) { $prepared['title_template'] = $data['title_template']; } if (isset($data['subtitle_mode'])) { $prepared['subtitle_mode'] = (int) $data['subtitle_mode']; } if (isset($data['subtitle_template'])) { $prepared['subtitle_template'] = $data['subtitle_template']; } if (isset($data['description_mode'])) { $prepared['description_mode'] = (int) $data['description_mode']; } if (isset($data['description_template'])) { $prepared['description_template'] = $data['description_template']; } if (isset($data['condition_mode'])) { $prepared['condition_mode'] = (int) $data['condition_mode']; } if (isset($data['condition_value'])) { $prepared['condition_value'] = (int) $data['condition_value']; } if (isset($data['condition_attribute'])) { $prepared['condition_attribute'] = $data['condition_attribute']; } if (isset($data['condition_note_mode'])) { $prepared['condition_note_mode'] = (int) $data['condition_note_mode']; } if (isset($data['condition_note_template'])) { $prepared['condition_note_template'] = $data['condition_note_template']; } if (isset($data['product_details'])) { $prepared['product_details'] = $data['product_details']; if (is_array($prepared['product_details'])) { $prepared['product_details'] = json_encode($prepared['product_details']); } } if (isset($data['editor_type'])) { $prepared['editor_type'] = (int) $data['editor_type']; } if (isset($data['cut_long_titles'])) { $prepared['cut_long_titles'] = (int) $data['cut_long_titles']; } if (isset($data['hit_counter'])) { $prepared['hit_counter'] = $data['hit_counter']; } if (isset($data['enhancement'])) { $prepared['enhancement'] = $data['enhancement']; if (is_array($prepared['enhancement'])) { $prepared['enhancement'] = implode(',', $data['enhancement']); } } if (isset($data['gallery_type'])) { $prepared['gallery_type'] = (int) $data['gallery_type']; } if (isset($data['image_main_mode'])) { $prepared['image_main_mode'] = (int) $data['image_main_mode']; } if (isset($data['image_main_attribute'])) { $prepared['image_main_attribute'] = $data['image_main_attribute']; } if (isset($data['gallery_images_mode'])) { $prepared['gallery_images_mode'] = (int) $data['gallery_images_mode']; } if (isset($data['gallery_images_limit'])) { $prepared['gallery_images_limit'] = (int) $data['gallery_images_limit']; } if (isset($data['gallery_images_attribute'])) { $prepared['gallery_images_attribute'] = $data['gallery_images_attribute']; } if (isset($data['variation_images_mode'])) { $prepared['variation_images_mode'] = (int) $data['variation_images_mode']; } if (isset($data['variation_images_limit'])) { $prepared['variation_images_limit'] = (int) $data['variation_images_limit']; } if (isset($data['variation_images_attribute'])) { $prepared['variation_images_attribute'] = $data['variation_images_attribute']; } if (isset($data['reserve_price_custom_attribute'])) { $prepared['reserve_price_custom_attribute'] = $data['reserve_price_custom_attribute']; } if (isset($data['default_image_url'])) { $prepared['default_image_url'] = $data['default_image_url']; } if (isset($data['variation_configurable_images'])) { $prepared['variation_configurable_images'] = $data['variation_configurable_images']; if (is_array($prepared['variation_configurable_images'])) { $prepared['variation_configurable_images'] = json_encode($prepared['variation_configurable_images']); } } if (isset($data['use_supersize_images'])) { $prepared['use_supersize_images'] = (int) $data['use_supersize_images']; } if (isset($data['watermark_mode'])) { $prepared['watermark_mode'] = (int) $data['watermark_mode']; } // --------------------------------------- $watermarkSettings = array(); $hashChange = false; if (isset($data['watermark_settings']['position'])) { $watermarkSettings['position'] = (int) $data['watermark_settings']['position']; if (isset($data['old_watermark_settings']) && $data['watermark_settings']['position'] != $data['old_watermark_settings']['position']) { $hashChange = true; } } if (isset($data['watermark_settings']['scale'])) { $watermarkSettings['scale'] = (int) $data['watermark_settings']['scale']; if (isset($data['old_watermark_settings']) && $data['watermark_settings']['scale'] != $data['old_watermark_settings']['scale']) { $hashChange = true; } } if (isset($data['watermark_settings']['transparent'])) { $watermarkSettings['transparent'] = (int) $data['watermark_settings']['transparent']; if (isset($data['old_watermark_settings']) && $data['watermark_settings']['transparent'] != $data['old_watermark_settings']['transparent']) { $hashChange = true; } } // --------------------------------------- if (!empty($_FILES['watermark_image']['tmp_name'])) { $hashChange = true; $prepared['watermark_image'] = file_get_contents($_FILES['watermark_image']['tmp_name']); if (isset($prepared['id'])) { $varDir = new Ess_M2ePro_Model_VariablesDir(array('child_folder' => 'ebay/template/description/watermarks')); $watermarkPath = $varDir->getPath() . (int) $prepared['id'] . '.png'; if (is_file($watermarkPath)) { @unlink($watermarkPath); } } } elseif (!empty($data['old_watermark_image']) && !isset($prepared['id'])) { $prepared['watermark_image'] = base64_decode($data['old_watermark_image']); } // --------------------------------------- if ($hashChange) { $watermarkSettings['hashes']['previous'] = $data['old_watermark_settings']['hashes']['current']; $watermarkSettings['hashes']['current'] = substr(sha1(microtime()), 0, 5); } else { $watermarkSettings['hashes']['previous'] = $data['old_watermark_settings']['hashes']['previous']; $watermarkSettings['hashes']['current'] = $data['old_watermark_settings']['hashes']['current']; } $prepared['watermark_settings'] = json_encode($watermarkSettings); // --------------------------------------- return $prepared; }
public function deleteInstance() { // Delete watermark if exists // --------------------------------------- $varDir = new Ess_M2ePro_Model_VariablesDir(array('child_folder' => 'ebay/template/description/watermarks')); $watermarkPath = $varDir->getPath() . $this->getId() . '.png'; if (is_file($watermarkPath)) { @unlink($watermarkPath); } // --------------------------------------- $temp = parent::deleteInstance(); $temp && ($this->descriptionSourceModels = array()); return $temp; }