mujma: ImageEditor?.php adjusted to standards, Image.js improved resizing of large images.

(merged from branches/gsoc)


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/cms/trunk@41898 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Ingo Schommer 2007-09-15 01:28:50 +00:00
parent 15ed167583
commit 356f4cc4bc
2 changed files with 15 additions and 21 deletions

View File

@ -16,8 +16,8 @@
*/ */
public function index() { public function index() {
Requirements::clear(); Requirements::clear();
Requirements::javascript("jsparty/prototype.js"); Requirements::javascript('jsparty/prototype.js');
Requirements::javascript("jsparty/scriptaculous/scriptaculous.js"); Requirements::javascript('jsparty/scriptaculous/scriptaculous.js');
Requirements::javascript('cms/javascript/ImageEditor/Utils.js'); Requirements::javascript('cms/javascript/ImageEditor/Utils.js');
Requirements::javascript('cms/javascript/ImageEditor/ImageHistory.js'); Requirements::javascript('cms/javascript/ImageEditor/ImageHistory.js');
Requirements::javascript('cms/javascript/ImageEditor/Image.js'); Requirements::javascript('cms/javascript/ImageEditor/Image.js');
@ -28,12 +28,12 @@
Requirements::javascript('cms/javascript/ImageEditor/Crop.js'); Requirements::javascript('cms/javascript/ImageEditor/Crop.js');
Requirements::javascript('cms/javascript/ImageEditor/Resize.js'); Requirements::javascript('cms/javascript/ImageEditor/Resize.js');
Requirements::javascript('cms/javascript/ImageEditor/ImageBox.js'); Requirements::javascript('cms/javascript/ImageEditor/ImageBox.js');
Requirements::javascript("cms/javascript/ImageEditor/ImageEditor.js"); Requirements::javascript('cms/javascript/ImageEditor/ImageEditor.js');
Requirements::javascript("jsparty/loader.js"); Requirements::javascript('jsparty/loader.js');
Requirements::javascript("jsparty/behaviour.js"); Requirements::javascript('jsparty/behaviour.js');
Requirements::javascript("cms/javascript/LeftAndMain.js"); Requirements::javascript('cms/javascript/LeftAndMain.js');
Requirements::css("cms/css/ImageEditor/ImageEditor.css"); Requirements::css('cms/css/ImageEditor/ImageEditor.css');
if(!isset($this->requestParams['fileToEdit'])) $this->raiseError(); if(!isset($this->requestParams['fileToEdit'])) $this->raiseError();
$fileWithPath = $this->requestParams['fileToEdit']; $fileWithPath = $this->requestParams['fileToEdit'];
@ -98,7 +98,7 @@
if(strpos($originalFile,'?') !== false) $originalFile = substr($originalFile,0,strpos($originalFile,'?')); if(strpos($originalFile,'?') !== false) $originalFile = substr($originalFile,0,strpos($originalFile,'?'));
if($this->checkFileExists($originalFile) && $this->checkFileExists($editedFile)) { if($this->checkFileExists($originalFile) && $this->checkFileExists($editedFile)) {
if($editedFile != $originalFile && copy($this->url2File($editedFile),$this->url2File($originalFile))) { if($editedFile != $originalFile && copy($this->url2File($editedFile),$this->url2File($originalFile))) {
$image = DataObject::get_one('File',"Filename = '" . substr($this->url2File($originalFile),3) . "'"); $image = DataObject::get_one('File','Filename = \'' . substr($this->url2File($originalFile),3) . '\'');
$image->generateFormattedImage('AssetLibraryPreview'); $image->generateFormattedImage('AssetLibraryPreview');
} else { } else {
$this->raiseError(); $this->raiseError();
@ -109,7 +109,7 @@
} else { } else {
$this->raiseError(); $this->raiseError();
} }
return "parent.parent.parent.statusMessage('Image saved','good',false);"; return 'parent.parent.parent.statusMessage(\'Image saved\',\'good\',false);';
} }
/** /**
@ -134,8 +134,7 @@
* @return string JSON array explained in manipulate method comment * @return string JSON array explained in manipulate method comment
*/ */
private function getImageInfoInJSON(GD $gd,$file) private function getImageInfoInJSON(GD $gd,$file) {
{
return '{"fileName":"' . $file . '","width":' . $gd->getWidth() . ',"height":' . $gd->getHeight() . '}'; return '{"fileName":"' . $file . '","width":' . $gd->getWidth() . ',"height":' . $gd->getHeight() . '}';
} }
@ -211,10 +210,8 @@
* *
*/ */
private function raiseError($message = "") private function raiseError($message = "") {
{
echo "parent.parent.parent.statusMessage('Error: " . $message . "','bad',false);"; echo "parent.parent.parent.statusMessage('Error: " . $message . "','bad',false);";
exit(); exit();
} }
} }
?>

View File

@ -44,16 +44,13 @@ var ImageToResize = {
imageHeight= Element.getDimensions(this.image).height; imageHeight= Element.getDimensions(this.image).height;
if(imageWidth > windowWidth - 120 || imageHeight > windowHeight - 120) { if(imageWidth > windowWidth - 120 || imageHeight > windowHeight - 120) {
ratio = imageWidth / imageHeight; ratio = imageWidth / imageHeight;
if(imageWidth > imageHeight) { while(imageWidth > windowWidth - 120 || imageHeight > windowHeight - 120) {
newWidth = windowWidth - 120; imageWidth--;
newHeight = newWidth * (1/ratio); imageHeight = imageWidth * (1/ratio);
} else {
newHeight = windowHeight - 120;
newWidth = newHeight * ratio;
} }
this.reportSize(0,0); this.reportSize(0,0);
imageHistory.clear(); imageHistory.clear();
imageTransformation.resize(newWidth,newHeight,ImageToResize.resizeOnFirstLoadCallBack.bind(this)); imageTransformation.resize(imageWidth,imageHeight,ImageToResize.resizeOnFirstLoadCallBack.bind(this));
} else { } else {
if(imageWidth != 0 && imageHeight != 0) Element.show($('image')); if(imageWidth != 0 && imageHeight != 0) Element.show($('image'));
} }