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