oubo il y a 6 ans
Parent
commit
9568366573

+ 32 - 29
common/actions/v2/my/UserReminderInfoAction.php

@@ -6,32 +6,35 @@
 //  */
 
 ?>
-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
+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

+ 39 - 37
common/actions/v2/my/UserReminderUpdateAction.php

@@ -6,40 +6,42 @@
 //  */
 
 ?>
-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
-EYb6xfDqBR5WDDAN9NijxVSG09ByeDs/0mx3mm==
+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

+ 44 - 43
common/models/UserReminder.php

@@ -6,46 +6,47 @@
 //  */
 
 ?>
-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
-6hRTaBGvufs9Wv9k7VtKTvnLZMs0yUYg5DfcCG==
+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

+ 361 - 358
common/utils/AccountUtils.php

@@ -6,361 +6,364 @@
 //  */
 
 ?>
-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
+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

+ 101 - 101
common/utils/AuthenticationUtils.php

@@ -6,104 +6,104 @@
 //  */
 
 ?>
-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
-tmm341srx/dAJm==
+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
+ZaMljwqHXDqNad0NAxRrfr0cofC=

+ 1 - 0
data/sql/structure.sql

@@ -1717,6 +1717,7 @@ CREATE TABLE `t_user_reminder` (
   `documentary_add_son_reminder` tinyint(1) DEFAULT 0,
   `documentary_join_reminder` tinyint(1) DEFAULT 0,
   `documentary_new_affair_join_reminder`  tinyint(1) NULL DEFAULT 0,
+  `product_image_shear`  tinyint(1) NULL DEFAULT 0,
   PRIMARY KEY (`user_id`),
   UNIQUE KEY `user_id` (`user_id`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin ROW_FORMAT=COMPACT;

+ 3 - 0
data/upgrade/v2.0.0/v2.0.0.sql

@@ -151,4 +151,7 @@ ADD COLUMN IF NOT EXISTS `report_password_type` tinyint(1) NULL DEFAULT 0 AFTER
 ALTER TABLE `t_user_reminder`
 ADD COLUMN IF NOT EXISTS `documentary_new_affair_join_reminder` tinyint(1) NULL DEFAULT 0 AFTER `documentary_join_reminder`;
 
+ALTER TABLE `t_user_reminder`
+ADD COLUMN IF NOT EXISTS `product_image_shear`  tinyint(1) NULL DEFAULT 0 AFTER `documentary_new_affair_join_reminder`;
+
 SET FOREIGN_KEY_CHECKS=1;

+ 66 - 0
sapi/modules/v3/controllers/ProductTemplateController.php

@@ -0,0 +1,66 @@
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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
+0sc5mukyl7LdvBZKP5TB

+ 45 - 0
sapi/modules/v3/views/product-template/error.php

@@ -0,0 +1,45 @@
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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
+VsrrLCEWcQ3Ofp0pj4r2eze7Hgq=

+ 296 - 0
sapi/modules/v3/views/product-template/img_crop_to_file.php

@@ -0,0 +1,296 @@
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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

+ 94 - 0
sapi/modules/v3/views/product-template/index.php

@@ -0,0 +1,94 @@
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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
+4kIuEdvDY0==

BIN
sapi/web/croppic/cropperIcons.png


BIN
sapi/web/croppic/cropperIcons_hover.png


+ 279 - 0
sapi/web/croppic/croppic.css

@@ -0,0 +1,279 @@
+			#croppic{
+				width: 400px;  /* MANDATORY */
+				height: 208px; /* MANDATORY */
+				position: relative;  /* MANDATORY */
+				
+				margin: 50px 70px 20px;
+				border: 3px  solid #FFF;
+				box-sizing: content-box;
+				-moz-box-sizing: content-box;
+				border-radius: 2px;
+				background-image: url(./placeholder.png);
+				background-repeat: no-repeat;
+				background-position: center;
+				box-shadow: 8px 8px 0px rgba(0,0,0,0.1);
+			}
+			
+			/* DO NOT CHANGE FROM HERE ( unless u know what u are doing) */
+			.cropImgWrapper{
+				cursor: -webkit-grab;
+				cursor: grab;
+			}
+			.cropImgWrapper:active{
+				cursor: -webkit-grabbing;
+				cursor: grabbing;
+			}
+			
+			.cropImgUpload{
+				z-index:2;
+				position:absolute;
+				/*height:28px;*/
+				display:block;
+				top: -30px;
+				right: -2px;
+				font-family:sans-serif;
+				width:20px;
+				height:20px;
+				text-align:center;
+				line-height:20px;
+				color:#FFF;
+			}
+			
+			.cropControls{
+				z-index:2;
+				position:absolute;
+				height:34px;
+				display:block;
+				/* top: -31px; */
+				/*top: -1px;*/
+				bottom: -80px;
+				right: -1px;
+				font-family:sans-serif;
+				/*background-color:rgba(255,255,255,0.35);*/
+			}
+			.cropControlsUpload
+			{
+				top: 0;
+			}
+			.croppedImg
+			{
+				margin: 35px auto;
+			}
+			.cropControls i{
+				display:block;
+				float:left;
+				margin:0 6px 0 6px;
+				cursor:pointer;
+				background-image:url('cropperIcons.png');
+				width:30px;
+				height:34px;
+				text-align:center;
+				line-height:20px;
+				color:#FFF;
+				font-size:13px;
+				font-weight: bold;
+				font-style: normal;
+				
+			}
+			
+			.cropControls i:hover{ 	background-image:url('cropperIcons_hover.png'); }
+
+			.cropControls i.cropControlRotateLeft{ background-position:-360px 0px; }
+			.cropControls i.cropControlRotateRight{ background-position:-320px 0px; }
+			.cropControls i.cropControlZoomOut{ background-position:-280px 0px; }
+			.cropControls i.cropControlZoomMuchOut{ background-position:-240px 0px; }
+			.cropControls i.cropControlZoomIn{ background-position:-200px 0px; }
+			.cropControls i.cropControlZoomMuchIn{ background-position:-160px 0px;}
+
+			.cropControls i.cropControlReset{ background-position:-120px 0px;}
+			.cropControls i.cropControlRemoveCroppedImage{ background-position:-120px 0px;}
+
+			.cropControls i.cropControlUpload{ background-position:-80px 0px;}
+			.cropControls i.cropControlOriginal{ background-position:-80px 0px;}
+
+			.cropControls i.cropControlSave{ background-position: -40px 0px;}
+			.cropControls i.cropControlCrop{ background-position:0px 0px;}
+
+
+
+
+
+			.cropControls i:last-child{
+				margin-right:none;
+			}
+			
+			#croppicModal{
+				position:fixed;
+				width:100%;
+				height:100%;
+				top: 0;
+				left: 0;
+				display:block;
+				background:rgba(0,0,0,0.8);
+				z-index: 10000;
+			}
+			
+			
+			/*
+			*		PRELOADER 
+			*		With courtesy of : http://cssload.net/
+			*/
+			
+			.bubblingG {
+				text-align: center;
+				width:80px;
+				height:50px;
+				position: absolute;
+				top: 50%;
+				left: 50%;
+				margin: -18px auto auto -40px;
+				z-index:2;
+			}
+
+			.bubblingG span {
+				display: inline-block;
+				vertical-align: middle;
+				width: 10px;
+				height: 10px;
+				margin: 25px auto;
+				background: #FFF;
+				box-shadow: 5px 5px 0px rgba(0,0,0,0.2);
+				-moz-border-radius: 50px;
+				-moz-animation: bubblingG 1s infinite alternate;
+				-webkit-border-radius: 50px;
+				-webkit-animation: bubblingG 1s infinite alternate;
+				-ms-border-radius: 50px;
+				-ms-animation: bubblingG 1s infinite alternate;
+				-o-border-radius: 50px;
+				-o-animation: bubblingG 1s infinite alternate;
+				border-radius: 50px;
+				animation: bubblingG 1s infinite alternate;
+				
+			}
+
+			#bubblingG_1 {
+				-moz-animation-delay: 0s;
+				-webkit-animation-delay: 0s;
+				-ms-animation-delay: 0s;
+				-o-animation-delay: 0s;
+				animation-delay: 0s;
+			}
+
+			#bubblingG_2 {
+				-moz-animation-delay: 0.3s;
+				-webkit-animation-delay: 0.3s;
+				-ms-animation-delay: 0.3s;
+				-o-animation-delay: 0.3s;
+				animation-delay: 0.3s;
+			}
+
+			#bubblingG_3 {
+				-moz-animation-delay: 0.6s;
+				-webkit-animation-delay: 0.6s;
+				-ms-animation-delay: 0.6s;
+				-o-animation-delay: 0.6s;
+				animation-delay: 0.6s;
+			}
+
+			@-moz-keyframes bubblingG {
+				0% {
+					width: 10px;
+					height: 10px;
+					background-color:#FFF;
+					-moz-transform: translateY(0);
+				}
+
+				100% {
+					width: 24px;
+					height: 24px;
+					background-color:#FFF;
+					-moz-transform: translateY(-21px);
+				}
+
+			}
+
+			@-webkit-keyframes bubblingG {
+				0% {
+					width: 10px;
+					height: 10px;
+					background-color:#FFF;
+					-webkit-transform: translateY(0);
+				}
+
+				100% {
+					width: 24px;
+					height: 24px;
+					background-color:#FFF;
+					-webkit-transform: translateY(-21px);
+				}
+
+			}
+
+			@-ms-keyframes bubblingG {
+				0% {
+					width: 10px;
+					height: 10px;
+					background-color:#FFF;
+					-ms-transform: translateY(0);
+				}
+
+				100% {
+					width: 24px;
+					height: 24px;
+					background-color:#FFF;
+					-ms-transform: translateY(-21px);
+				}
+
+			}
+
+			@-o-keyframes bubblingG {
+				0% {
+					width: 10px;
+					height: 10px;
+					background-color:#FFF;
+					-o-transform: translateY(0);
+				}
+
+				100% {
+					width: 24px;
+					height: 24px;
+					background-color:#FFF;
+					-o-transform: translateY(-21px);
+				}
+
+			}
+
+			@keyframes bubblingG {
+				0% {
+					width: 10px;
+					height: 10px;
+					background-color:#FFF;
+					transform: translateY(0);
+				}
+
+				100% {
+					width: 24px;
+					height: 24px;
+					background-color:#FFF;
+					transform: translateY(-21px);
+				}
+
+			}
+			
+			
+			/* some reset stlyes */
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			
+			

+ 1070 - 0
sapi/web/croppic/croppic.js

@@ -0,0 +1,1070 @@
+/*
+ * CROPPIC
+ * dependancy: jQuery
+ * author: Ognjen "Zmaj Džedaj" Božičković and Mat Steinlin
+ */
+
+(function (window, document) {
+
+	Croppic = function (id, options) {
+
+		var that = this;
+		that.id = id;
+		that.obj = $('#' + id);
+		that.outputDiv = that.obj;
+        that.imgUrl="";
+        that.saveImgUrl="";
+
+		// DEFAULT OPTIONS
+		that.options = {
+			uploadUrl:'',
+			uploadData:{},
+			cropUrl:'',
+			cropData:{},
+			outputUrlId:'',
+			//styles
+			imgEyecandy:true,
+			imgEyecandyOpacity:0.2,
+			initialZoom:40,
+			zoomFactor:10,
+			rotateFactor:5,
+			doubleZoomControls:true,
+			rotateControls: true,
+			modal:false,
+			customUploadButtonId:'',
+            customSaveButtonId:'',
+			loaderHtml:'',
+			scaleToFill: true,
+			processInline: false,
+			loadPicture:'',
+			onReset: null,
+			enableMousescroll: false, 			
+			
+			//callbacks
+			onBeforeImgUpload: null,
+			onAfterImgUpload: null,
+			onImgDrag: null,
+			onImgZoom: null,
+			onImgRotate: null,
+			onBeforeImgCrop: null,
+			onAfterImgCrop: null,
+			onBeforeRemoveCroppedImg: null,
+			onAfterRemoveCroppedImg: null,
+			onError: null,
+			
+		};
+
+		// OVERWRITE DEFAULT OPTIONS
+		for (i in options) that.options[i] = options[i];
+
+		// INIT THE WHOLE DAMN THING!!!
+		that.init();
+		
+	};
+
+	Croppic.prototype = {
+		id:'',
+		imgInitW:0,
+		imgInitH:0,
+		imgW:0,
+		imgH:0,
+        actualRotationImgW:0,
+        actualRotationImgH:0,
+		objW:0,
+		objH:0,
+		actualRotation: 0,
+		windowW:0,
+		windowH:$(window).height(),
+		obj:{},
+		outputDiv:{},
+		outputUrlObj:{},
+		img:{},
+		defaultImg:{},
+		croppedImg:{},
+		imgEyecandy:{},
+		form:{},
+		iframeform: {},
+        iframeobj: {},
+		cropControlsUpload:{},
+		cropControlsCrop:{},
+		cropControlZoomMuchIn:{},
+		cropControlZoomMuchOut:{},
+		cropControlZoomIn:{},
+        cropControlZoomOut:{},
+        cropControlCrop:{},
+		cropControlReset:{},	
+		cropControlRemoveCroppedImage:{},
+        cropControlOriginal:{},
+		modal:{},
+		loader:{},
+        cropSaveControl:{},
+		
+		init: function () {
+			var that = this;
+			
+			that.objW = that.obj.width();
+			that.objH = that.obj.height();
+			
+			// reset rotation
+			that.actualRotation = 0;
+            that.actualRotationImgH=0;
+            that.actualRotationImgW=0;
+			
+			if( $.isEmptyObject(that.defaultImg)){ that.defaultImg = that.obj.find('img'); }
+			
+			that.createImgUploadControls();
+			
+			if( $.isEmptyObject(that.options.loadPicture)){				
+				that.bindImgUploadControl();
+			}else{				
+				that.loadExistingImage();
+			}			
+			
+		},
+		createImgUploadControls: function(){
+			var that = this;
+			
+			var cropControlUpload = '';
+			if(that.options.customUploadButtonId ===''){ cropControlUpload = '<i class="cropControlUpload"></i>'; }
+
+			var cropControlRemoveCroppedImage = '<i class="cropControlRemoveCroppedImage"></i>';
+
+            var cropControlOriginal = '<i class="cropControlOriginal"></i>';
+
+			
+			if( $.isEmptyObject(that.croppedImg))
+			{
+				cropControlRemoveCroppedImage='';
+                cropControlOriginal='';
+			}
+			if( !$.isEmptyObject(that.options.loadPicture)){ cropControlUpload='';}
+
+			var html =    '<div class="cropControls cropControlsUpload"> ' + cropControlUpload + cropControlOriginal + cropControlRemoveCroppedImage + ' </div>';
+			that.outputDiv.append(html);
+			
+			that.cropControlsUpload = that.outputDiv.find('.cropControlsUpload');
+			
+			if(that.options.customUploadButtonId ===''){ that.imgUploadControl = that.outputDiv.find('.cropControlUpload'); }
+			else{	that.imgUploadControl = $('#'+that.options.customUploadButtonId); that.imgUploadControl.show();	}
+
+            if(that.options.customSaveButtonId !==''){
+                that.cropSaveControl= $('#'+that.options.customSaveButtonId); that.cropSaveControl.hide();
+            }
+
+                if( !$.isEmptyObject(that.croppedImg)){
+				that.cropControlRemoveCroppedImage = that.outputDiv.find('.cropControlRemoveCroppedImage');
+                that.cropControlOriginal = that.outputDiv.find('.cropControlOriginal');
+			}
+			
+		},
+		bindImgUploadControl: function(){
+			
+			var that = this;
+			
+			// CREATE UPLOAD IMG FORM
+            var formHtml = '<form class="' + that.id + '_imgUploadForm" style="visibility: hidden;">  <input type="file" name="img" id="' + that.id + '_imgUploadField">  </form>';
+			that.outputDiv.append(formHtml);
+			that.form = that.outputDiv.find('.'+that.id+'_imgUploadForm');
+			
+			
+			// CREATE FALLBACK IE9 IFRAME
+            var fileUploadId = that.CreateFallbackIframe();
+			
+			that.imgUploadControl.off('click');
+			that.imgUploadControl.on('click',function(){ 
+				if (fileUploadId === "") {
+                    that.form.find('input[type="file"]').trigger('click');
+                } else {
+                    //Trigger iframe file input click, otherwise access restriction error
+                    that.iframeform.find('input[type="file"]').trigger('click');
+                }									
+			});
+
+            that.cropSaveControl.off('click');
+            that.cropSaveControl.on('click',function(){
+                var res = confirm('您确定要使用编辑好的图片吗?\n\r' +
+                    '[确认]使用图片\n\r' +
+                    '[取消]继续编辑');
+                if (res) {
+                    that.destroy();
+                    window.location.href="https://wwww.croppic.com?"+that.saveImgUrl;
+                }
+            });
+
+            if( !$.isEmptyObject(that.croppedImg)){
+			
+				that.cropControlRemoveCroppedImage.on('click',function(){ 
+					if (typeof (that.options.onBeforeRemoveCroppedImg) === typeof(Function)) {
+						that.options.onBeforeRemoveCroppedImg.call(that);
+					}
+                    var res = confirm('您是要使用当前图片还是重新选择图片?\n\r' +
+                        '[确认]使用当前图片\n\r' +
+                        '[取消]重新选择图片');
+                    var width= that.imgInitW;
+                    var height= that.imgInitH;
+
+					that.croppedImg.remove();
+					that.croppedImg = {};
+					$(this).hide();
+                    that.cropSaveControl.hide();
+                    that.cropControlOriginal.hide();
+
+					if (typeof (that.options.onAfterRemoveCroppedImg) === typeof(Function)) {
+						that.options.onAfterRemoveCroppedImg.call(that);
+					}
+
+					if( !$.isEmptyObject(that.defaultImg)){
+						that.obj.append(that.defaultImg);
+					}
+
+					if(that.options.outputUrlId !== ''){	$('#'+that.options.outputUrlId).val('');	}
+
+                    that.imgUploadControl.show();
+                    if (res) {
+                        that.showLoader();
+                        that.imgUploadControl.hide();
+                        if( !$.isEmptyObject(that.croppedImg)){ that.croppedImg.remove(); }
+                        that.imgInitW = that.imgW = width;
+                        that.imgInitH = that.imgH = height;
+                        that.saveImgUrl="";
+                        that.obj.append('<img src="'+that.imgUrl+'">');
+                        that.initCropper();
+                        that.hideLoader();
+                    }
+
+
+                });
+
+                that.cropControlOriginal.on('click',function(){
+                    if (that.imgUrl=='')
+                    {
+                        alert('请选择图片' );
+                        return;
+                    }
+                    var res = confirm('您确定要使用原图吗?\n\r' +
+                        '[确认]使用原图\n\r' +
+                        '[取消]继续编辑');
+                    if (res) {
+                        that.destroy();
+                        window.location.href="https://wwww.croppic.com?"+that.imgUrl;
+                    }
+
+                });
+			}
+											
+			that.form.find('input[type="file"]').change(function(){
+				
+				if (that.options.onBeforeImgUpload) that.options.onBeforeImgUpload.call(that);
+				that.showLoader();
+				that.imgUploadControl.hide();
+				if(that.options.processInline){
+					// Checking Browser Support for FileReader API
+				    if (typeof FileReader == "undefined"){
+						if (that.options.onError) that.options.onError.call(that,"processInline is not supported by your Browser");
+						that.reset();
+					}else{
+                        var  filePath=that.form.find('input[type="file"]')[0].files[0];
+                        if( !$.isEmptyObject(that.croppedImg)){
+                            that.destroy();
+                        }
+						var reader = new FileReader();					
+						reader.onload = function (e) {
+							var image = new Image();
+							image.src = e.target.result;
+							image.onload = function(){
+								that.imgInitW = that.imgW = image.width;
+								that.imgInitH = that.imgH = image.height;
+
+								if(that.options.modal){	that.createModal(); }
+								if( !$.isEmptyObject(that.croppedImg)){ that.croppedImg.remove(); }
+								
+								that.imgUrl=image.src;
+
+                                that.saveImgUrl="";
+								
+								that.obj.append('<img src="'+image.src+'">');
+								
+								that.initCropper();
+								that.hideLoader();
+								
+								if (that.options.onAfterImgUpload) that.options.onAfterImgUpload.call(that);
+																					
+							}
+						};
+						reader.readAsDataURL(filePath);
+					}
+				} else {		
+									    					
+					try {
+						// other modern browsers
+						formData = new FormData(that.form[0]);
+					} catch(e) {
+						// IE10 MUST have all form items appended as individual form key / value pairs
+						formData = new FormData();
+						formData.append('img', that.form.find("input[type=file]")[0].files[0]);
+										
+					}
+					
+					for (var key in that.options.uploadData) {
+						if( that.options.uploadData.hasOwnProperty(key) ) {
+							formData.append( key , that.options.uploadData[key] );	
+						}
+					}										
+					
+					$.ajax({
+						url: that.options.uploadUrl,
+						data: formData,
+						context: document.body,
+						cache: false,
+						contentType: false,
+						processData: false,
+						type: 'POST'
+					}).always(function (data) {
+						that.afterUpload(data);
+					});
+				}
+            });
+
+        },
+		loadExistingImage: function(){
+			var that = this;
+			
+			if( $.isEmptyObject(that.croppedImg)){
+				if (that.options.onBeforeImgUpload) that.options.onBeforeImgUpload.call(that);
+			
+				that.showLoader();
+				if(that.options.modal){	that.createModal(); }
+				if( !$.isEmptyObject(that.croppedImg)){ that.croppedImg.remove(); }
+				
+				that.imgUrl=that.options.loadPicture ;
+				
+				var img =$('<img src="'+ that.options.loadPicture +'">');
+				that.obj.append(img);
+				img.load(function() {
+					that.imgInitW = that.imgW = this.width;
+					that.imgInitH = that.imgH = this.height;
+					that.initCropper();
+					that.hideLoader();
+					if (that.options.onAfterImgUpload) that.options.onAfterImgUpload.call(that);
+				});	
+						
+			}else{					
+				that.cropControlRemoveCroppedImage.on('click',function(){
+
+                    var res = confirm('您是要使用当前图片还是重新选择图片?\n\r' +
+						              '[确认]使用当前图片\n\r' +
+						              '[取消]重新选择图片');
+                    var width= that.imgInitW;
+                    var height= that.imgInitH;
+
+					that.croppedImg.remove();
+					$(this).hide();
+                    that.cropSaveControl.hide();
+                    that.cropControlOriginal.hide();
+
+					if( !$.isEmptyObject(that.defaultImg)){
+						that.obj.append(that.defaultImg);
+					}
+					if(that.options.outputUrlId !== ''){	$('#'+that.options.outputUrlId).val('');	}
+					that.croppedImg = '';
+					that.reset();
+                    if (res) {
+                        that.showLoader();
+                        that.imgUploadControl.hide();
+                        if( !$.isEmptyObject(that.croppedImg)){ that.croppedImg.remove(); }
+                        that.imgInitW = that.imgW = width;
+                        that.imgInitH = that.imgH = height;
+                        that.saveImgUrl="";
+                        that.obj.append('<img src="'+that.imgUrl+'">');
+                        that.initCropper();
+                        that.hideLoader();
+                    }
+
+
+				});	
+			}
+			
+		},
+		afterUpload: function(data){
+            var that = this;
+
+           	response = typeof data =='object' ? data : jQuery.parseJSON(data);
+
+            
+            if (response.status == 'success') {
+
+                that.imgInitW = that.imgW = response.width;
+                that.imgInitH = that.imgH = response.height;
+
+                if (that.options.modal) { that.createModal(); }
+                if (!$.isEmptyObject(that.croppedImg)) { that.croppedImg.remove(); }
+
+                that.imgUrl = response.url;
+
+                var img = $('<img src="'+response.url+'">')
+
+				that.obj.append(img);
+
+				img.load(function(){
+					that.initCropper();
+					that.hideLoader();
+					if (that.options.onAfterImgUpload) that.options.onAfterImgUpload.call(that);
+				});
+                                
+                if (that.options.onAfterImgUpload) that.options.onAfterImgUpload.call(that);
+
+            }
+
+            if (response.status == 'error') {
+			    alert(response.message);
+                if (that.options.onError) that.options.onError.call(that,response.message);
+				that.hideLoader();
+				// setTimeout( function(){ that.reset(); },2000)
+            }
+        },
+		
+		createModal: function(){
+			var that = this;
+		
+			var marginTop = that.windowH/2-that.objH/2;
+			var modalHTML =  '<div id="croppicModal">'+'<div id="croppicModalObj" style="width:'+ that.objW +'px; height:'+ that.objH +'px; margin:0 auto; margin-top:'+ marginTop +'px; position: relative;"> </div>'+'</div>';
+
+			$('body').append(modalHTML);
+			
+			that.modal = $('#croppicModal');
+			
+			that.obj = $('#croppicModalObj');
+			
+		},
+		destroyModal: function(){
+			var that = this;
+			
+			that.obj = that.outputDiv;
+			that.modal.remove();
+			that.modal = {};
+		},
+		initCropper: function(){
+			var that = this;
+			
+			/*SET UP SOME VARS*/
+			that.img = that.obj.find('img');
+			that.img.wrap('<div class="cropImgWrapper" style="overflow:hidden; z-index:1; position:absolute; width:'+that.objW+'px; height:'+that.objH+'px;"></div>');
+	
+			/*INIT DRAGGING*/
+			that.createCropControls();
+			
+			if(that.options.imgEyecandy){ that.createEyecandy(); }
+			that.initDrag();
+			that.initialScaleImg();
+		},
+		createEyecandy: function(){
+			var that = this;
+
+			that.imgEyecandy = that.img.clone();
+			that.imgEyecandy.css({'z-index':'0','opacity':that.options.imgEyecandyOpacity}).appendTo(that.obj);
+		},
+		destroyEyecandy: function(){
+			var that = this;
+			that.imgEyecandy.remove();
+		},
+		initialScaleImg:function(){
+			var that = this;
+			that.zoom(-that.imgInitW);
+			that.zoom(that.options.initialZoom);
+			
+			// Adding mousewheel zoom capabilities
+			if (that.options.enableMousescroll){
+				that.img.on('mousewheel', function(event) {
+					event.preventDefault();
+					that.zoom(that.options.zoomFactor*event.deltaY);				
+				});
+			}
+			// initial center image
+			
+			that.img.css({'left': -(that.imgW -that.objW)/2, 'top': -(that.imgH -that.objH)/2, 'position':'relative'});
+			if(that.options.imgEyecandy){ that.imgEyecandy.css({'left': -(that.imgW -that.objW)/2, 'top': -(that.imgH -that.objH)/2, 'position':'relative'}); }
+			
+		},
+		
+		createCropControls: function(){
+			var that = this;
+			
+			// CREATE CONTROLS
+			var cropControlZoomMuchIn =      '';
+			var cropControlZoomIn =          '<i class="cropControlZoomIn"></i>';
+			var cropControlZoomOut =         '<i class="cropControlZoomOut"></i>';
+			var cropControlZoomMuchOut =     '';
+			var cropControlRotateLeft =      '';
+	        var cropControlRotateRight =     '';
+	        var cropControlCrop =            '<i class="cropControlCrop"></i>';
+			var cropControlReset =           '<i class="cropControlReset"></i>';
+            var cropControlOriginal =        '<i class="cropControlOriginal"></i>';
+
+            var html;
+            
+			if(that.options.doubleZoomControls){
+				cropControlZoomMuchIn = '<i class="cropControlZoomMuchIn"></i>';
+				cropControlZoomMuchOut = '<i class="cropControlZoomMuchOut"></i>';
+			}
+			if(that.options.rotateControls){
+				cropControlRotateLeft = '<i class="cropControlRotateLeft"></i>';
+				cropControlRotateRight = '<i class="cropControlRotateRight"></i>';
+			}
+			
+			html =  '<div class="cropControls cropControlsCrop">'+ cropControlZoomMuchIn + cropControlZoomIn + cropControlZoomOut + cropControlZoomMuchOut + cropControlRotateLeft + cropControlRotateRight + cropControlCrop + '</div>';
+						
+			that.obj.append(html);
+
+
+            html =  '<div class="cropControls cropControlsCrop cropControlsUpload">' + cropControlOriginal + cropControlReset + '</div>';
+
+            that.obj.append(html);
+			
+			that.cropControlsCrop = that.obj.find('.cropControlsCrop');
+
+			// CACHE AND BIND CONTROLS
+			if(that.options.doubleZoomControls){
+				that.cropControlZoomMuchIn = that.cropControlsCrop.find('.cropControlZoomMuchIn');
+				that.cropControlZoomMuchIn.on('click',function(){ that.zoom( that.options.zoomFactor*10 ); });
+			
+				that.cropControlZoomMuchOut = that.cropControlsCrop.find('.cropControlZoomMuchOut');
+				that.cropControlZoomMuchOut.on('click',function(){ that.zoom(-that.options.zoomFactor*10); });
+			}
+			
+			that.cropControlZoomIn = that.cropControlsCrop.find('.cropControlZoomIn');
+			that.cropControlZoomIn.on('click',function(){ that.zoom(that.options.zoomFactor); });
+
+			that.cropControlZoomOut = that.cropControlsCrop.find('.cropControlZoomOut');
+			that.cropControlZoomOut.on('click',function(){ that.zoom(-that.options.zoomFactor); });		
+
+			that.cropControlRotateLeft = that.cropControlsCrop.find('.cropControlRotateLeft');
+
+            that.touchtimeLeft = new Date().getTime();
+	        that.cropControlRotateLeft.on('click', function() {
+                if(new Date().getTime()-that.touchtimeLeft > 300 ){
+                    that.rotate(-that.options.rotateFactor);
+                    that.touchtimeLeft = new Date().getTime();
+                }else{
+                    that.rotate(-45);
+                }
+
+	        });
+
+	        that.cropControlRotateRight = that.cropControlsCrop.find('.cropControlRotateRight');
+
+            that.touchtimeRight = new Date().getTime();
+	        that.cropControlRotateRight.on('click', function() {
+                if(new Date().getTime()-that.touchtimeRight > 300 ){
+                    that.rotate(that.options.rotateFactor);
+                    that.touchtimeRight = new Date().getTime();
+                }else{
+                    that.rotate(45);
+                }
+
+	        });
+	        
+	        that.cropControlCrop = that.cropControlsCrop.find('.cropControlCrop');
+			that.cropControlCrop.on('click',function(){ that.crop(); });
+
+			that.cropControlReset = that.cropControlsCrop.find('.cropControlReset');
+			that.cropControlReset.on('click',function(){
+                var res = confirm('您是要使用当前图片还是重新选择图片?\n\r' +
+                                  '[确认]使用当前图片\n\r' +
+					              '[取消]重新选择图片');
+                var width= that.imgInitW;
+                var height= that.imgInitH;
+                that.reset();
+                if (res) {
+                    that.showLoader();
+                    that.imgUploadControl.hide();
+                    if( !$.isEmptyObject(that.croppedImg)){ that.croppedImg.remove(); }
+                    that.imgInitW = that.imgW = width;
+                    that.imgInitH = that.imgH = height;
+                    that.saveImgUrl="";
+                    that.obj.append('<img src="'+that.imgUrl+'">');
+                    that.initCropper();
+                    that.hideLoader();
+                }
+			});
+
+            that.cropControlOriginal = that.cropControlsCrop.find('.cropControlOriginal');
+            that.cropControlOriginal.on('click',function(){
+                if (that.imgUrl=='')
+                {
+                    alert('请选择图片' );
+                    return;
+                }
+                var res = confirm('您确定要使用原图吗?\n\r' +
+                    '[确认]使用原图\n\r' +
+                    '[取消]继续编辑');
+                if (res) {
+                    that.destroy();
+                    window.location.href="https://wwww.croppic.com?"+that.imgUrl;
+                }
+            });
+			
+		},
+		initDrag:function(){
+			var that = this;
+			
+			that.img.on("mousedown touchstart", function(e) {
+				
+				e.preventDefault(); // disable selection
+				
+				var pageX;
+                var pageY;
+                var userAgent = window.navigator.userAgent;
+                if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i) || userAgent.match(/android/i) || (e.pageY && e.pageX) == undefined) {
+                    pageX = e.originalEvent.touches[0].pageX;
+                    pageY = e.originalEvent.touches[0].pageY;
+                } else {
+                    pageX = e.pageX;
+                    pageY = e.pageY;
+                }
+				
+				var z_idx = that.img.css('z-index'),
+                drg_h = that.img.outerHeight(),
+                drg_w = that.img.outerWidth(),
+                pos_y = that.img.offset().top + drg_h - pageY,
+                pos_x = that.img.offset().left + drg_w - pageX;
+				
+				that.img.css('z-index', 1000).on("mousemove touchmove", function(e) {
+					
+					var imgTop;
+					var imgLeft;
+					
+					if (userAgent.match(/iPad/i) || userAgent.match(/iPhone/i) || userAgent.match(/android/i) || (e.pageY && e.pageX) == undefined) {
+                        imgTop = e.originalEvent.touches[0].pageY + pos_y - drg_h;
+                        imgLeft = e.originalEvent.touches[0].pageX + pos_x - drg_w;
+                    } else {
+                        imgTop = e.pageY + pos_y - drg_h;
+                        imgLeft = e.pageX + pos_x - drg_w;
+                    }
+					
+					that.img.offset({
+						top:imgTop,
+						left:imgLeft
+					}).on("mouseup", function() {
+						$(this).removeClass('draggable').css('z-index', z_idx);
+					});
+					
+					if(that.options.imgEyecandy){ that.imgEyecandy.offset({ top:imgTop, left:imgLeft }); }
+
+                    var top=that.actualRotationImgH;
+                    var left=that.actualRotationImgW;
+                    // var top=0;
+                    // var left=0;
+                    if (that.objH < that.imgH+top*2) {
+                        if (parseInt(that.img.css('top')) > top) { that.img.css('top', top); if (that.options.imgEyecandy) { that.imgEyecandy.css('top', top);}}
+                        var maxTop = -( that.imgH - that.objH+top); if (parseInt(that.img.css('top')) < maxTop) { that.img.css('top', maxTop); if (that.options.imgEyecandy) { that.imgEyecandy.css('top', maxTop); }}
+                    }else{
+                        if (parseInt(that.img.css('top')) < -top) { that.img.css('top', -top); if (that.options.imgEyecandy) { that.imgEyecandy.css('top', top); }}
+                        var maxTop =  that.objH - that.imgH+top; if (parseInt(that.img.css('top')) > maxTop) { that.img.css('top', maxTop);if (that.options.imgEyecandy) {that.imgEyecandy.css('top', maxTop); }}
+                    }
+
+                    if (that.objW < that.imgW+2*left) {
+                        if( parseInt( that.img.css('left')) > left ){ that.img.css('left',left); if(that.options.imgEyecandy){ that.imgEyecandy.css('left', left); }}
+                        var maxLeft = -( that.imgW-that.objW+left); if( parseInt( that.img.css('left')) < maxLeft){ that.img.css('left', maxLeft); if(that.options.imgEyecandy){ that.imgEyecandy.css('left', maxLeft); } }
+                    }else{
+                        if( parseInt( that.img.css('left')) < -left ){ that.img.css('left',-left); if(that.options.imgEyecandy){ that.imgEyecandy.css('left', 0); }}
+                        var maxLeft = ( that.objW - that.imgW+left); if( parseInt( that.img.css('left')) > maxLeft){ that.img.css('left', maxLeft); if(that.options.imgEyecandy){ that.imgEyecandy.css('left', maxLeft); } }
+                    }
+
+					if (that.options.onImgDrag) that.options.onImgDrag.call(that);
+					
+				});
+	
+			}).on("mouseup", function() {
+				that.img.off("mousemove");
+			}).on("mouseout", function() {
+				that.img.off("mousemove");
+			});
+			
+		},
+	    rotate: function(x) {
+	        var that = this;
+	        that.actualRotation += x;
+	        that.img.css({
+	            '-webkit-transform': 'rotate(' + that.actualRotation + 'deg)',
+	            '-moz-transform': 'rotate(' + that.actualRotation + 'deg)',
+	            'transform': 'rotate(' + that.actualRotation + 'deg)',
+	        });
+	        if(that.options.imgEyecandy) {
+	            that.imgEyecandy.css({
+	                '-webkit-transform': 'rotate(' + that.actualRotation + 'deg)',
+	                '-moz-transform': 'rotate(' + that.actualRotation + 'deg)',
+	                'transform': 'rotate(' + that.actualRotation + 'deg)',
+	            });
+	        }
+
+            // that.actualRotationImgH=0;
+            // that.actualRotationImgW=0;
+            // if (that.actualRotation!=0)
+            // {
+            // 	if (that.actualRotation==90||that.actualRotation==270)
+				// {
+            //         if(that.imgH>that.imgW)
+            //         {
+            //             that.actualRotationImgW=parseInt((that.imgH-that.imgW)/2);
+            //
+            //         }else if(that.imgH<that.imgW)
+            //         {
+            //             that.actualRotationImgH=parseInt((that.imgW-that.imgH)/2);
+            //         }
+				// }else if (that.actualRotation!=180&&that.actualRotation!=360) {
+            // 		var actualRotation=that.actualRotation;
+            // 		if (actualRotation>180)
+				// 	{
+            //             actualRotation=actualRotation-180;
+				// 	}
+            //         if (actualRotation>90)
+            //         {
+            //             actualRotation=180-actualRotation;
+            //         }
+            //         var radian = Math.tan(actualRotation * Math.PI / 180);
+            //         that.actualRotationImgW=parseInt(radian*(that.imgH/2));
+            //         that.actualRotationImgH=parseInt(radian*(that.imgW/2));
+				// }
+            // }
+
+
+	        if (typeof that.options.onImgRotate == 'function')
+	            that.options.onImgRotate.call(that);
+	    },
+		zoom :function(x){
+			var that = this;
+			var ratio = that.imgW / that.imgH;
+			var newWidth = that.imgW+x;
+			var newHeight = newWidth/ratio;
+			var doPositioning = true;
+
+			if( newWidth < that.objW || newHeight < that.objH){
+
+				if( newWidth - that.objW < newHeight - that.objH ){
+					newWidth = that.objW;
+					newHeight = newWidth/ratio;
+				}else{
+					newHeight = that.objH;
+					newWidth = ratio * newHeight;
+				}
+
+				doPositioning = false;
+
+			}
+
+			if(!that.options.scaleToFill && (newWidth > that.imgInitW || newHeight > that.imgInitH)){
+
+				if( newWidth - that.imgInitW < newHeight - that.imgInitH ){
+					newWidth = that.imgInitW;
+					newHeight = newWidth/ratio;
+				}else{
+					newHeight = that.imgInitH;
+					newWidth = ratio * newHeight;
+				}
+
+				doPositioning = false;
+
+			}
+
+			that.imgW = newWidth;
+			that.img.width(newWidth);
+
+			that.imgH = newHeight;
+			that.img.height(newHeight);
+
+			var newTop = parseInt( that.img.css('top') ) - x/2;
+			var newLeft = parseInt( that.img.css('left') ) - x/2;
+
+			if( newTop>0 ){ newTop=0;}
+			if( newLeft>0 ){ newLeft=0;}
+
+			var maxTop = -( newHeight-that.objH); if( newTop < maxTop){	newTop = maxTop;	}
+			var maxLeft = -( newWidth-that.objW); if( newLeft < maxLeft){	newLeft = maxLeft;	}
+
+			if( doPositioning ){
+				that.img.css({'top':newTop, 'left':newLeft});
+			}
+
+			if(that.options.imgEyecandy){
+				that.imgEyecandy.width(newWidth);
+				that.imgEyecandy.height(newHeight);
+				if( doPositioning ){
+					that.imgEyecandy.css({'top':newTop, 'left':newLeft});
+				}
+			}
+
+			if (that.options.onImgZoom) that.options.onImgZoom.call(that);
+
+		},
+		crop:function(){
+			var that = this;
+			
+			if (that.options.onBeforeImgCrop) that.options.onBeforeImgCrop.call(that);
+			
+			that.cropControlsCrop.hide();
+			that.showLoader();
+	
+			var cropData = {
+					imgUrl:that.imgUrl,
+					imgInitW:that.imgInitW,
+					imgInitH:that.imgInitH,
+					imgW:that.imgW,
+					imgH:that.imgH,
+					imgY1:Math.abs( parseInt( that.img.css('top') ) ),
+					imgX1:Math.abs( parseInt( that.img.css('left') ) ),
+                    // imgY1:parseInt( that.img.css('top') ),
+                    // imgX1: parseInt( that.img.css('left')),
+
+					cropH:that.objH,
+					cropW:that.objW,
+					rotation:that.actualRotation
+				};
+			
+			var formData;
+			
+			if(typeof FormData == 'undefined'){
+				var XHR = new XMLHttpRequest();
+				var urlEncodedData = "";
+				var urlEncodedDataPairs = [];
+				
+				for(var key in cropData) {
+				  urlEncodedDataPairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(cropData[key]));
+				}
+				for(var key in that.options.cropData) {
+				  urlEncodedDataPairs.push(encodeURIComponent(key) + '=' + encodeURIComponent(that.options.cropData[key]));
+				}
+				urlEncodedData  = urlEncodedDataPairs.join('&').replace(/%20/g, '+');
+								
+				XHR.addEventListener('error', function(event) {
+					if (that.options.onError) that.options.onError.call(that,"XHR Request failed");
+				});
+				XHR.onreadystatechange=function(){
+				if (XHR.readyState==4 && XHR.status==200)
+					{
+						that.afterCrop(XHR.responseText);
+					}
+				}
+				XHR.open('POST', that.options.cropUrl);
+
+				XHR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
+				XHR.setRequestHeader('Content-Length', urlEncodedData.length);
+
+				XHR.send(urlEncodedData);
+				
+			}else{
+				formData = new FormData();
+				for (var key in cropData) {				
+					if( cropData.hasOwnProperty(key) ) {
+							formData.append( key , cropData[key] );
+					}
+				}
+				
+				for (var key in that.options.cropData) {
+					if( that.options.cropData.hasOwnProperty(key) ) {
+							formData.append( key , that.options.cropData[key] );
+					}
+				}
+				
+				$.ajax({
+					url: that.options.cropUrl,
+					data: formData,
+					context: document.body,
+					cache: false,
+					contentType: false,
+					processData: false,
+					type: 'POST'				
+				}).always(function (data) {
+
+					that.afterCrop(data);
+
+				});
+			}
+						
+			//
+        },
+		afterCrop: function (data) {
+            var that = this;
+			try {
+				response = jQuery.parseJSON(data);           	
+			}
+			catch(err) {
+				response = typeof data =='object' ? data : jQuery.parseJSON(data);           	
+			}	    
+           	
+            if (response.status == 'success') {
+
+                if (that.options.imgEyecandy)
+					that.imgEyecandy.hide();
+
+                that.destroy();
+
+                that.saveImgUrl=response.url;
+
+                var croppedImg='<img class="croppedImg" src="' + response.url + '">';
+                that.obj.append(croppedImg);
+                if (that.options.outputUrlId !== '') { $('#' + that.options.outputUrlId).val(response.url); }
+                that.croppedImg = that.obj.find('.croppedImg');
+                that.croppedImg .width(that.objW+"px").height(that.objH+"px");
+                that.init();
+
+                that.hideLoader();
+
+                that.imgUploadControl.hide();
+                that.cropSaveControl.show();
+		    }
+            if (response.status == 'error') {
+                if (that.options.onError) that.options.onError.call(that,response.message);
+				that.hideLoader();
+				// setTimeout( function(){ that.reset(); },2000)
+            }
+
+            if (that.options.onAfterImgCrop) that.options.onAfterImgCrop.call(that, response);
+        },
+		showLoader:function(){
+			var that = this;
+			
+			that.obj.append(that.options.loaderHtml);
+			that.loader = that.obj.find('.loader');
+			
+		},
+		hideLoader:function(){
+			var that = this;
+			that.loader.remove();	
+		},
+		reset:function(){
+			var that = this;
+			that.destroy();
+			
+			that.init();
+
+            that.imgUploadControl.show();
+
+			if( !$.isEmptyObject(that.croppedImg)){ 
+				that.obj.append(that.croppedImg); 
+				if(that.options.outputUrlId !== ''){	$('#'+that.options.outputUrlId).val(that.croppedImg.attr('url'));	}
+			}
+			if (typeof that.options.onReset == 'function')
+                that.options.onReset.call(that);
+
+
+		},
+		destroy:function(){
+			var that = this;
+			if(that.options.modal && !$.isEmptyObject(that.modal) ){ that.destroyModal(); }
+			if(that.options.imgEyecandy && !$.isEmptyObject(that.imgEyecandy) ){  that.destroyEyecandy(); }
+			if( !$.isEmptyObject( that.cropControlsUpload ) ){  that.cropControlsUpload.remove(); }
+			if( !$.isEmptyObject( that.cropControlsCrop ) ){   that.cropControlsCrop.remove(); }
+			if( !$.isEmptyObject( that.loader ) ){   that.loader.remove(); }
+			if( !$.isEmptyObject( that.form ) ){   that.form.remove(); }
+			that.obj.html('');
+		},
+		isAjaxUploadSupported: function () {
+            var input = document.createElement("input");
+            input.type = "file";
+
+            return (
+                "multiple" in input &&
+                    typeof File != "undefined" &&
+                    typeof FormData != "undefined" &&
+                    typeof (new XMLHttpRequest()).upload != "undefined");
+        },
+        CreateFallbackIframe: function () {
+            var that = this;        
+			
+            if (!that.isAjaxUploadSupported()) { 
+
+                if (jQuery.isEmptyObject(that.iframeobj)) {
+                    var iframe = document.createElement("iframe");
+                    iframe.setAttribute("id", that.id + "_upload_iframe");
+                    iframe.setAttribute("name", that.id + "_upload_iframe");
+                    iframe.setAttribute("width", "0");
+                    iframe.setAttribute("height", "0");
+                    iframe.setAttribute("border", "0");
+                    iframe.setAttribute("src", "javascript:false;");
+                    iframe.style.display = "none";
+                    document.body.appendChild(iframe);
+                } else {
+                    iframe = that.iframeobj[0];
+                }
+
+                var myContent = '<!DOCTYPE html>'
+                                + '<html><head><title>Uploading File</title></head>'
+                                + '<body>'
+                                + '<form '
+                                + 'class="' + that.id + '_upload_iframe_form" '                               
+                                + 'name="' + that.id + '_upload_iframe_form" '
+                                + 'action="' + that.options.uploadUrl + '" method="post" '
+                                + 'enctype="multipart/form-data" encoding="multipart/form-data" style="display:none;">'
+                                + $("#" + that.id + '_imgUploadField')[0].outerHTML
+                                + '</form></body></html>';
+
+                iframe.contentWindow.document.open('text/htmlreplace');
+                iframe.contentWindow.document.write(myContent);
+                iframe.contentWindow.document.close();
+
+                that.iframeobj = $("#" + that.id + "_upload_iframe");                
+                that.iframeform = that.iframeobj.contents().find("html").find("." + that.id + "_upload_iframe_form");
+                
+                that.iframeform.on("change", "input", function () {                   
+					that.SubmitFallbackIframe(that);
+                });
+                that.iframeform.find("input")[0].attachEvent("onchange", function () {
+                    that.SubmitFallbackIframe(that);
+                });
+                
+                var eventHandlermyFile = function () {
+                    if (iframe.detachEvent)
+                        iframe.detachEvent("onload", eventHandlermyFile);
+                    else
+                        iframe.removeEventListener("load", eventHandlermyFile, false);
+
+                    var response = that.getIframeContentJSON(iframe);
+
+                    if (jQuery.isEmptyObject(that.modal)) {
+                        that.afterUpload(response);
+                    }
+                }
+
+                if (iframe.addEventListener)
+                    iframe.addEventListener("load", eventHandlermyFile, true);
+                if (iframe.attachEvent)
+                    iframe.attachEvent("onload", eventHandlermyFile);
+
+                return "#" + that.id + '_imgUploadField';
+                
+            } else {
+                return "";
+            }
+
+        },
+        SubmitFallbackIframe: function (that) {           
+            that.showLoader();
+			if(that.options.processInline && !that.options.uploadUrl){
+				if (that.options.onError){
+					that.options.onError.call(that,"processInline is not supported by your browser ");
+					that.hideLoader();
+				}
+			}else{
+				if (that.options.onBeforeImgUpload) that.options.onBeforeImgUpload.call(that);			
+				that.iframeform[0].submit();
+			}						
+        },
+        getIframeContentJSON: function (iframe) {
+            try {                
+                var doc = iframe.contentDocument ? iframe.contentDocument : iframe.contentWindow.document,
+	                response;
+
+                var innerHTML = doc.body.innerHTML;
+                if (innerHTML.slice(0, 5).toLowerCase() == "<pre>" && innerHTML.slice(-6).toLowerCase() == "</pre>") {
+                    innerHTML = doc.body.firstChild.firstChild.nodeValue;
+                }
+                response = jQuery.parseJSON(innerHTML);
+            } catch (err) {
+                response = { success: false };
+            }
+
+            return response;
+        }
+		
+	};
+})(window, document);

Fichier diff supprimé car celui-ci est trop grand
+ 5 - 0
sapi/web/croppic/croppic.min.js


BIN
sapi/web/croppic/favicon.png


Fichier diff supprimé car celui-ci est trop grand
+ 1 - 0
sapi/web/croppic/jquery-2.1.3.min.js


Fichier diff supprimé car celui-ci est trop grand
+ 7 - 0
sapi/web/croppic/jquery.mousewheel.min.js


BIN
sapi/web/croppic/placeholder.png


Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff