Guest User

full

a guest
Mar 20th, 2017
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.52 KB | None | 0 0
  1. <?php $_product = $this->getProduct(); ?>
  2. <div class="ajaxlogin-login" id="productlistlogin" style="display:none;">Click Here</div>
  3.  
  4. <script>
  5.  
  6. var Aitcg_View_Abstract = Class.create(
  7. {
  8. id : '',
  9. option : null,
  10. editor : null,
  11. preview: null,
  12.  
  13. templateSyntax: /(^|.|\r|\n)({{(\w+)}})/,
  14. templateSettings: null,
  15. scr: null,
  16.  
  17. initialize: function( option ) {
  18. this.option = option;
  19. this.config = option.config;
  20. this.id = this.config.optionId;
  21. this.editor = option.editor;
  22. if(typeof(AitPopupHtml)!= 'undefined') {
  23. Event.observe(document, 'dom:loaded', function(){
  24. $$('body')[0].insert( {bottom:AitPopupHtml} );
  25. });
  26. }
  27. },
  28.  
  29. /**
  30. * @abstract
  31. */
  32. closeEditor: function(){},
  33.  
  34. /**
  35. * Return an array of data necessary to render an editor
  36. *
  37. * @return Object
  38. */
  39. getTemplateSetting: function() {
  40. return this.templateSettings;
  41. },
  42.  
  43. /**
  44. * Init an array of data necessary to render an editor
  45. */
  46. _setTemplateSetting: function()
  47. {
  48. var c = this.config,
  49. t = this.config.text,
  50. scr = this.scr,
  51. options = {
  52. full_image: c.productImage.fullUrl,
  53. rand : c.rand,
  54. option_id : this.id,
  55.  
  56. close_text : t.close,
  57. apply_text : t.apply,
  58. applytext : t.applytext,
  59. reset_text : t.reset,
  60. cancel_text : t.cancel,
  61. save_text : t.save,
  62. edit_text : t.edit,
  63. required_text : t.required,
  64. texttoadd_text : t.texttoadd,
  65. addtext_text : t.addtext,
  66. pickcolor_text : t.pickcolor,
  67. pickcoloroutline_text: t.pickcoloroutline,
  68. pickcolorshadow_text : t.pickcolorshadow,
  69. widthoutline_text : t.widthoutline,
  70. outline_text : t.outline,
  71. shadow_text : t.shadow,
  72. shadowalpha_text : t.shadowalpha,
  73. shadowoffsetx_text : t.shadowoffsetx,
  74. shadowoffsety_text : t.shadowoffsety,
  75. addimage_text : t.addimage,
  76. addmasks_text : t.addmasks,
  77. delmasks_text : t.delmasks,
  78. svg_text : t.svg,
  79. pdf_text : t.pdf,
  80. png_text : t.png,
  81. font_text : t.font,
  82. fontpreview_text : t.fontpreview,
  83. scale_text : t.scale,
  84. print_text : t.print_text,
  85. print_type_top : t.print_type_top,
  86. print_type_bottom : t.print_type_bottom,
  87. print_type_bg : t.print_type_bg,
  88. print_type_mask : t.print_type_mask,
  89. print_type_error : t.print_type_error,
  90.  
  91. masks_title : t.masks_title,
  92. predefined_title : t.predefined_title,
  93. user_title : t.user_title,
  94. text_title : t.text_title,
  95. under_template_text : t.under_template_text,
  96. save_title : t.save_title,
  97. save_about : t.save_about,
  98. buttonHelp : t.buttonHelp,
  99.  
  100. areaSizeX : c.area.sizeX,
  101. areaSizeY : c.area.sizeY,
  102. areaOffsetX : c.area.offsetX,
  103. areaOffsetY : c.area.offsetY,
  104.  
  105. fontOptions : c.tools.Text.fontOptions,
  106. empty_img_url: c.emptyImgUrl
  107. };
  108.  
  109. if (scr) {
  110. // some window rendering variables for template
  111. options['img_width'] = scr.curr.width;
  112. options['img_height'] = scr.curr.height;
  113. options['width'] = Math.floor(c.area.sizeX * scr.mult) + 'px';
  114. options['height'] = Math.floor(c.area.sizeY * scr.mult) + 'px';
  115. options['left'] = Math.max(0, Math.round(c.area.offsetX * scr.mult - 1)) + 'px';
  116. options['top'] = Math.max(0, Math.round(c.area.offsetY * scr.mult - 1)) + 'px';
  117. }
  118.  
  119. Aitoc_Common_Events.dispatch('aitcg_view_set_template_settings', {view: this, options: options});
  120.  
  121. this.templateSettings = options;
  122. },
  123.  
  124. /**
  125. * Render a bottom control panel of the editor
  126. *
  127. * @return string
  128. */
  129. _getControlPanelHtml: function()
  130. {
  131. if (this.config.editorEnabled) {
  132. return '<div id="aitcg-control-panel">' +
  133. '<button onclick="setproductlogin('<?php echo $_product->getEntityId()?>');setrequestlogin();" class="aitcg-button apply-but" id="submit-editorApply-{{rand}}" title="{{apply_text}}">{{apply_text}}</button>' +
  134. '<button class="aitcg-button reset-but" id="submit-editorReset-{{rand}}" title="{{reset_text}}">{{reset_text}}</button>' +
  135. '</div>';
  136. }
  137. return '';
  138. },
  139.  
  140. /**
  141. * Init Apply and Reset buttons events
  142. */
  143. initObservers: function()
  144. {
  145. if (this.config.editorEnabled) {
  146. $('submit-editorApply-' + this.config.rand).observe('click', this.submitApply.bindAsEventListener(this));
  147. $('submit-editorReset-' + this.config.rand).observe('click', this.submitReset.bindAsEventListener(this));
  148. }
  149. },
  150.  
  151. submitApply: function(event)
  152. {
  153. Event.stop(event);
  154. this.option.apply();
  155. },
  156.  
  157. submitReset: function(event)
  158. {
  159. Event.stop(event);
  160. this.option.reset();
  161. },
  162.  
  163. /**
  164. * Render editor popup header and
  165. * toolbox if editor in enabled
  166. *
  167. * @return string
  168. */
  169. _getToolsHtml: function()
  170. {
  171. return this.option.tools.render();
  172. },
  173.  
  174. initPreview: function()
  175. {
  176. var scale = this.option.calcScale(),
  177. elementId = this.config.previewContainer,
  178. container = $(elementId),
  179. c = this.config,
  180. area = c.area,
  181. thumb = c.productImage.thumb;
  182. this.previewScale = scale;
  183.  
  184. var areaParams = {
  185. width : Math.round(area.sizeX * scale),
  186. height: Math.round(area.sizeY * scale),
  187. left : Math.round(area.offsetX * scale),
  188. top : Math.round(area.offsetY * scale)
  189. };
  190.  
  191. var html =
  192. '<div class="aitraph aitraph-bot"></div>' +
  193. '<img class="aitcg_preview_bg" src="' + thumb.fullUrl + '" />'+
  194. '<div class="aitraph aitraph-top"></div>' +
  195. '<div class="aitcg-overlay" style="width:'+ thumb.sizeX +'px;height:'+thumb.sizeY+'px;"></div>';
  196. container.update(html);
  197.  
  198. this._showPreviewBlock( container );
  199.  
  200. container.observe('click', this.onPreviewClick.bind(this));
  201.  
  202. var title = c.editorEnabled ? c.text.thumbTooltipEdit : c.text.thumbTooltipPreview,
  203. viewIconClass = c.editorEnabled ? '' : 'view-icon';
  204. container.select('.aitcg-overlay')[0]
  205. .observe('mouseover', function(){Aitcg.tooltip().update(title).show()})
  206. .observe('mouseout', function(){Aitcg.tooltip().hide()})
  207. .addClassName(viewIconClass);
  208.  
  209.  
  210. var styleParams = Aitcg.addPxToValue(areaParams);
  211. $$('#' + elementId + ' .aitraph').each( function(element) {
  212. element.setStyle(styleParams);
  213. });
  214.  
  215. Aitoc_Common_Events.dispatch('aitcg_option_preview_create_after_' + this.id, {element: container});
  216.  
  217. this.preview = new Aitcg_Editor(this.option);
  218. this.preview.init(container, Aitcg_Editor.MODE_PREVIEW, true, this.previewScale);
  219. this.preview.load( $('options_' + this.id).getValue() );
  220. this.switchToEditor();
  221. this.startEditor();
  222. },
  223.  
  224. previewReset: function()
  225. {
  226. this.preview.reset();
  227. this.preview.load( $('options_' + this.id).getValue() );
  228. },
  229.  
  230. /**
  231. * @abstract
  232. *
  233. * @param container
  234. * @private
  235. */
  236. _showPreviewBlock: function( container ){},
  237.  
  238. /**
  239. * @abstract
  240. */
  241. onPreviewClick: function(){},
  242.  
  243. /**
  244. * Render some template using current view options
  245. *
  246. * @param template String
  247. * @return string.
  248. */
  249. renderTemplate: function( template )
  250. {
  251. var tempObj = new Template(template, this.templateSyntax),
  252. options = this.getTemplateSetting();
  253. return tempObj.evaluate(options)
  254. },
  255.  
  256. _setVYAProductImage: function()
  257. {
  258. this._setTemplateSetting();
  259. this.initPreview();
  260. }
  261. });
  262.  
  263.  
  264.  
  265.  
  266. </script>
  267.  
  268.  
  269. <?php
  270. /* check current page is product */
  271. if(Mage::app()->getFrontController()->getAction()->getFullActionName() =='catalog_product_view'){ ?>
  272.  
  273. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg.js')?>"></script>
  274. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Option.js')?>"></script>
  275. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Tooltip.js')?>"></script>
  276. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/View/Popup.js')?>"></script>
  277. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/View/Gallery.js')?>"></script>
  278. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/View/Gallery_Rwd.js')?>"></script>
  279. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Abstract.js')?>"></script>
  280. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas.js')?>"></script>
  281. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Mirror.js')?>"></script>
  282. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Shape.js')?>"></script>
  283. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Trackers.js')?>"></script>
  284. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Abstract.js')?>"></script>
  285. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Box.js')?>"></script>
  286. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Resize.js')?>"></script>
  287. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Rotate.js')?>"></script>
  288. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Symbol/Abstract.js')?>"></script>
  289. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Delete.js')?>"></script>
  290. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/ToFront.js')?>"></script>
  291. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/ToBack.js')?>"></script>
  292. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/OpacityInc.js')?>"></script>
  293. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/OpacityDec.js')?>"></script>
  294. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Canvas/Tracker/Debug.js')?>"></script>
  295. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor.js')?>"></script>
  296. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tools.js')?>"></script>
  297. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/Abstract.js')?>"></script>
  298. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/PredefinedImage.js')?>"></script>
  299. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/UserImage.js')?>"></script>
  300. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/CategoryPreview.js')?>"></script>
  301. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/Mask.js')?>"></script>
  302. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/Social.js')?>"></script>
  303. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/Save.js')?>"></script>
  304. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Editor/Tool/Text.js')?>"></script>
  305. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/Popup.js')?>"></script>
  306. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/Aitcg/AreaEditor.js')?>"></script>
  307. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/raphael.js')?>"></script>
  308. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/jscolor/jscolor.js')?>"></script>
  309. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/rgbcolor.js')?>"></script>
  310. <script type="text/javascript" src="<?php echo $this->getJsUrl('aitoc/aitcg/canvg.js')?>"></script>
  311.  
  312.  
  313. <?php } ?>
Add Comment
Please, Sign In to add comment