public function groupFactory($type) { //if (!Mage::helper('giftcard')->isActive()) // return parent::groupFactory($type); if ($type === self::OPTION_TYPE_GIFT_CARD_VALUE) { return Mage::getModel('giftcard/catalog_product_option_type_giftcardvalue'); } return parent::groupFactory($type); }
/** * * @param string $filename * @param resource $image * @param Mage_Catalog_Model_Product_Option $option */ protected function _uploadPhoto($filename, $image, $option) { $result = array(); $optionFile = $option->groupFactory($option->getType()); $extension = pathinfo(strtolower($filename), PATHINFO_EXTENSION); $filename = Mage_Core_Model_File_Uploader::getCorrectFileName($filename); $dispersion = Mage_Core_Model_File_Uploader::getDispretionPath($filename); $quoteDir = $optionFile->getQuoteTargetDir() . $dispersion; $uploadDir = Mage::helper('aydus_customconfigurable')->getMediaDir() . DS . $dispersion; if (!file_exists($quoteDir)) { mkdir($quoteDir, 0775, true); } if (!file_exists($uploadDir)) { mkdir($uploadDir, 0775, true); } $hash = md5($image); $filenameHash = $hash . '.' . $extension; $quoteFilePath = $quoteDir . DS . $filenameHash; $size = file_put_contents($quoteFilePath, $image); $result['error'] = $size > 0 ? false : true; if ($result['error']) { $result['data'] = 'File upload failed'; } else { $time = time(); $uploadFilePath = $uploadDir . DS . $time . '-' . $filename; if (copy($quoteFilePath, $uploadFilePath)) { $result['data'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'aydus' . DS . 'customconfigurable' . $dispersion . DS . $time . '-' . $filename; } else { $result['error'] = true; $result['data'] = 'Could not copy uploaded image to ' . $uploadFilePath . '; check permissions'; } } return $result; }