public function getAction() { if (!$this->getRequest()->has('guid')) { return; } $guid = $this->getRequest()->get('guid'); $width = 0; if ($this->getRequest()->has('width')) { $width = (int) $this->getRequest()->get('width'); } $height = 0; if ($this->getRequest()->has('height')) { $height = (int) $this->getRequest()->get('height'); } //Check if width or height is setted if ($width + $height != 0) { $guid = str_replace('.', "_{$width}x{$height}.", $guid); } $url = Mage::getStoreConfig('webtoprint/settings/url') . '/thumb/' . $guid; $response = zetaprints_get_content_from_url($url); if (!zetaprints_has_error($response)) { $headers = $response['content']['header']; if (is_array($headers)) { $this->getResponse()->setHeader('Last-Modified', $headers['Last-Modified'], true)->setHeader('ETag', $headers['ETag'], true)->setHeader('Pragma', '', true)->setHeader('Cache-Control', 'public', true)->setHeader('Cache-Control', $headers['Cache-Control'])->setHeader('Expires', '', true)->setHeader('Content-Type', $headers['Content-Type'], true)->setHeader('Content-Length', $headers['Content-Length'], true); } else { $type = explode('.', $guid); if (count($type) == 2) { $type = $type[1]; } if ($type == 'jpg') { $type = 'jpeg'; } $this->getResponse()->setHeader('Content-Type', 'image/' . $type); } $this->getResponse()->setBody($response['content']['body']); } }
function zetaprints_register_user($url, $key, $user_id, $password, $corporate_id = null) { _zetaprints_debug(); $request_url = "{$url}/api.aspx?page=api-user-new;ApiKey={$key};UserID={$user_id};Password={$password}"; if ($corporate_id && is_string($corporate_id) && count($corporate_id)) { $request_url .= ";CorporateID={$corporate_id}"; } $response = zetaprints_get_content_from_url($request_url); if (zetaprints_has_error($response)) { return null; } return strpos($response['content']['body'], '<ok />') !== false ? true : false; }
public function _complete_order($order) { foreach ($order->getAllItems() as $item) { $options = $item->getProductOptions(); if (isset($options['info_buyRequest']['zetaprints-order-completed'])) { continue; } if (isset($options['info_buyRequest']['zetaprints-dynamic-imaging']) && $options['info_buyRequest']['zetaprints-dynamic-imaging']) { $previews = explode(',', $options['info_buyRequest']['zetaprints-previews']); $mediaConfig = Mage::getModel('catalog/product_media_config'); $downloadedPreviews = array(); foreach ($previews as $preview) { $filePath = $mediaConfig->getTmpMediaPath("previews/{$preview}"); $url = Mage::getStoreConfig('webtoprint/settings/url') . '/preview/' . $preview; //Download preview image from ZetaPrinrs $response = zetaprints_get_content_from_url($url); //Save preview image on M. server if (file_put_contents($filePath, $response['content']['body']) !== false) { $downloadedPreviews[] = $mediaConfig->getTmpMediaUrl("previews/{$preview}"); } } $options['info_buyRequest']['zetaprints-downloaded-previews'] = $downloadedPreviews; $options['info_buyRequest']['zetaprints-order-completed'] = true; $item->setProductOptions($options)->save(); continue; } //Complete order item on ZetaPrints Mage::helper('webtoprint')->completeOrderItem($item); } }
public function downloadAction() { $request = $this->getRequest(); if (!$request->has('guid')) { return; } $guid = $request->get('guid'); $mediaConfig = Mage::getModel('catalog/product_media_config'); $path = str_replace('preview/', 'previews/', $guid); $path = $mediaConfig->getTmpMediaPath($path); //Check that preview was already downloaded //to prevent subsequent downloads if (file_exists($path)) { echo json_encode('OK'); return; } $url = Mage::getStoreConfig('webtoprint/settings/url') . $guid; //Download preview image from ZetaPrinrs $response = zetaprints_get_content_from_url($url); $errorMsg = 'Error was occurred while preparing preview image'; if (zetaprints_has_error($response)) { echo json_encode($this->__($errorMsg)); return; } //Save preview image on M. server if (file_put_contents($path, $response['content']['body']) === false) { echo json_encode($this->__($errorMsg)); return; } echo json_encode('OK'); }