SHARE
TWEET

full code

a guest Apr 4th, 2017 31 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 } ?>
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top