+/* © Benoît Pin, MINES ParisTech */
+
+
+(function(){
+
+var reSize = /getResizedImage\?size=(\d+)_(\d+)$/;
+
+function updateImageSizeUrlParameters(img) {
+ if (reSize.test(img.src)){
+ var matches = reSize.exec(img.src);
+ var srcWidth = parseInt(matches[1]);
+ var srcHeight = parseInt(matches[2]);
+
+ var imgWidth = parseInt((img.style.width) ? img.style.width : img.width);
+ var imgHeight = parseInt((img.style.height) ? img.style.height : img.height);
+
+ if ((imgWidth && imgHeight) && srcWidth != imgWidth && srcHeight != imgHeight) {
+ var newUrl = img.getAttribute('src', 2).replace(reSize, 'getResizedImage?size=' + imgWidth + '_' + imgHeight);
+ img.width = imgWidth;
+ img.height = imgHeight;
+ img.src = newUrl;
+ }
+ }
+}
+
+
+CKEDITOR.plugins.add( 'plinn_image',
+{
+ init : function( editor )
+ {
+ editor.on('instanceReady', function(){
+ editor.on('getData',
+ function(evt) {
+ var body = evt.editor.document.$.body;
+ var images = body.getElementsByTagName('IMG');
+ for (var i = 0 ; i < images.length ; i++)
+ updateImageSizeUrlParameters(images[i]);
+ evt.data.dataValue = evt.editor.document.$.body.innerHTML;
+ }
+ );
+ });
+ }
+});
+
+})();