PageRenderTime 52ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/www/admin/plugins/zpBannerDesigner/lib/common.php

http://openx-banner-creator.googlecode.com/
PHP | 219 lines | 163 code | 48 blank | 8 comment | 28 complexity | dc1ea3bc9e74fb7845947577893cc720 MD5 | raw file
  1. <?php
  2. require_once('zp-api.php');
  3. function get_zp_user_id () {
  4. $zp_users = OA_Dal::factoryDO('Zpusers');
  5. $zp_user_id = $zp_users->get_zp_user_id(OA_Permission::getUserId());
  6. if (!$zp_user_id) {
  7. $zp_user_id = zp_api_common_uuid();
  8. $zp_users->set_zp_user_id($zp_user_id);
  9. }
  10. return $zp_user_id;
  11. }
  12. function get_template_detailes ($template_id) {
  13. return zetaprints_get_template_details('http://zetaprints.com', $template_id);
  14. }
  15. function get_preview_images ($xml) {
  16. return zetaprints_get_html_from_xml($xml, 'preview-images', 'http://zetaprints.com/');
  17. }
  18. function get_text_fields ($xml) {
  19. return zetaprints_get_html_from_xml($xml, 'input-fields', 'http://zetaprints.com/');
  20. }
  21. function get_image_fields ($xml) {
  22. return zetaprints_get_html_from_xml($xml, 'stock-images', 'http://zetaprints.com/');
  23. }
  24. function search_ajax_request ($keywords, $size, $qty) {
  25. list($width, $height) = explode('x', $size);
  26. $params = array();
  27. //$params['page'] = 'api-search';
  28. $params['Search'] = $keywords;
  29. $params['Width'] = $width;
  30. $params['Height'] = $height;
  31. $params['Units'] = 'px';
  32. $params['GeneratePrintPdf'] = 'image';
  33. $params['From'] = '0';
  34. $params['Qty'] = $qty;
  35. list($header, $content) = zp_api_common_post_request('http://zetaprints.com', '/?page=api-search', $params);
  36. list (, $content) = explode("\r\n", $content);
  37. return zetaprints_get_html_from_xml($content, 'search-results', '');
  38. }
  39. function form_ajax_request ($template_id) {
  40. $xml = get_template_detailes($template_id);
  41. $preview_image = get_preview_images($xml);
  42. $text_fields = get_text_fields($xml);
  43. $image_fields = get_image_fields($xml);
  44. return "$preview_image|$text_fields $image_fields";
  45. }
  46. function preview_ajax_request ($template_id) {
  47. $params = array();
  48. //Preparing params for image generating request to zetaprints
  49. foreach ($_POST as $key => $value)
  50. if (strpos($key, 'zetaprints-') !== false) {
  51. $_key = substr($key, 11);
  52. $_key = substr($_key, 0, 1).str_replace('_', ' ', substr($_key, 1));
  53. $params[$_key] = str_replace("\n", "\r\n", $value);
  54. }
  55. //$params['ID'] = get_zp_user_id();
  56. $params['From'] = '0';
  57. //Sending image generating request to zetaprints
  58. list($header, $content) = zp_api_common_post_request('http://zetaprints.com', '/?page=template-preview-ecard;TemplateID=' . $template_id, $params);
  59. //BUG. Getting strange numbers in the content
  60. list(, $url) = explode("\r\n", $content);
  61. return $url;
  62. }
  63. function save_ajax_request($banner_id, $campaign_id, $client_id, $image_id, $template_id, $banner_description, $banner_storagetype) {
  64. $file = fopen('http://zetaprints.com/preview/' . $image_id, 'rb');
  65. $data = fread($file, 1024);
  66. while (!feof($file))
  67. $data .= fread($file, 1024);
  68. fclose($file);
  69. $banner = OA_Dal::factoryDO('banners');
  70. // Get the existing banner details (if it is not a new banner)
  71. if (!empty($banner_id))
  72. $result = $banner->get($banner_id);
  73. if (!$result) {
  74. OA::debug('here');
  75. $banner->bannerid = '';
  76. $banner->campaignid = $campaign_id;
  77. $banner->clientid = $client_id;
  78. $banner->url = '';
  79. $banner->imageurl = '';
  80. $banner->weight = $pref['default_banner_weight'];
  81. $banner->description = $banner_description;
  82. $banner->storagetype = $banner_storagetype;
  83. }
  84. require_once MAX_PATH . '/lib/OA/Creative/File.php';
  85. $file = OA_Creative_File::factoryString($image_id, $data);
  86. $file->store($banner->storagetype);
  87. if (!empty($banner->filename) && ($banner->storagetype == 'web' || $banner->storagetype == 'sql'))
  88. DataObjects_Banners::deleteBannerFile($banner->storagetype, $banner->filename);
  89. $file_detailes = $file->getFileDetails();
  90. $new_banner = (empty($banner_id)) ? true : false;
  91. if ($new_banner)
  92. $size_changed = ($file_detailes['width'] != $banner->width || $file_detailes['height'] != $banner->height);
  93. $banner->filename = $file_detailes['filename'];
  94. $banner->contenttype = $file_detailes['contenttype'];
  95. $banner->width = $file_detailes['width'];
  96. $banner->height = $file_detailes['height'];
  97. $banner->pluginversion = $file_detailes['pluginversion'];
  98. if ($new_banner) {
  99. $banner->insert();
  100. require_once MAX_PATH . '/lib/OA/Maintenance/Priority.php';
  101. OA_Maintenance_Priority::scheduleRun();
  102. $banner_id = $banner->bannerid;
  103. }
  104. else {
  105. $banner->update();
  106. // if size has changed
  107. if (size_changes) {
  108. MAX_adjustAdZones($banner_id);
  109. MAX_addDefaultPlacementZones($banner_id, $campaign_id);
  110. }
  111. }
  112. $zp_banners = OA_Dal::factoryDO('Zpbanners');
  113. $zp_banners->set_zp_banner_id($banner_id, $template_id);
  114. return "banner-edit.php?clientid=$client_id&campaignid=$campaign_id&bannerid=$banner_id";
  115. }
  116. function displayNavigationBanner($pageName, $aOtherCampaigns, $aOtherBanners, $aEntities)
  117. {
  118. global $phpAds_TextDirection;
  119. $advertiserId = $aEntities['clientid'];
  120. $campaignId = $aEntities['campaignid'];
  121. $bannerId = $aEntities['bannerid'];
  122. $entityString = _getEntityString($aEntities);
  123. $aOtherEntities = $aEntities;
  124. unset($aOtherEntities['bannerid']);
  125. $otherEntityString = _getEntityString($aOtherEntities);
  126. if ($pageName == 'banner-designer.php' && empty($bannerId)) {
  127. $tabValue = 'banner-designer_new';
  128. $pageType = 'edit-new';
  129. }
  130. else {
  131. $pageType = 'edit';
  132. }
  133. $advertiserEditUrl = '';
  134. $campaignEditUrl = '';
  135. if (OA_Permission::hasAccessToObject('clients', $advertiserId)) {
  136. $advertiserEditUrl = "advertiser-edit.php?clientid=$advertiserId";
  137. }
  138. if (!OA_Permission::isAccount(OA_ACCOUNT_ADVERTISER)) {
  139. $campaignEditUrl = "campaign-edit.php?clientid=$advertiserId&campaignid=$campaignId";
  140. }
  141. // Build ad preview
  142. if ($bannerId && empty($_GET['nopreview'])) {
  143. require_once (MAX_PATH . '/lib/max/Delivery/adRender.php');
  144. $aBanner = Admin_DA::getAd($bannerId);
  145. $aBanner['storagetype'] = $aBanner['type'];
  146. $aBanner['bannerid'] = $aBanner['ad_id'];
  147. $bannerCode = MAX_adRender($aBanner, 0, '', '', '', true, '', false, false);
  148. }
  149. else {
  150. $bannerCode = '';
  151. }
  152. $advertiserDetails = phpAds_getClientDetails($advertiserId);
  153. $advertiserName = $advertiserDetails['clientname'];
  154. $campaignDetails = Admin_DA::getPlacement($campaignId);
  155. $campaignName = $campaignDetails['name'];
  156. $bannerName = $aOtherBanners[$bannerId]['name'];
  157. $builder = new OA_Admin_UI_Model_InventoryPageHeaderModelBuilder();
  158. $oHeaderModel = $builder->buildEntityHeader(array(
  159. array("name" => $advertiserName, "url" => $advertiserEditUrl),
  160. array("name" => $campaignName, "url" => $campaignEditUrl),
  161. array("name" => $bannerName)),
  162. "banner", $pageType);
  163. global $phpAds_breadcrumbs_extra;
  164. $phpAds_breadcrumbs_extra .= "<div class='bannercode'>$bannerCode</div>";
  165. if ($bannerCode != '') {
  166. $phpAds_breadcrumbs_extra .= "<br />";
  167. }
  168. addBannerPageTools($advertiserId, $campaignId, $bannerId, $aOtherCampaigns, $aOtherBanners, $aEntities);
  169. phpAds_PageHeader($tabValue, $oHeaderModel);
  170. }
  171. ?>