Guest User

full code

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