&1"; wfDebug( __METHOD__.": running ImageMagick: $cmd\n"); wfProfileIn( 'convert' ); $err = wfShellExec( $cmd, $retval ); wfProfileOut( 'convert' ); return($dstpath); } function uploadNewFile ($old_file, $new_filename) { global $wgRequest; $form = new UploadForm($wgRequest); $form->mTempPath = $new_filename; $form->mSrcName = $old_file->getName(); $form->mFileSize = filesize($new_filename); $form->mSessionKey = false; $form->mStashed = false; $form->mUploadClicked = true; //$form->mReUpload = true; // PHP won't auto-cleanup the file $form->mRemoveTempFile = file_exists( $local_file); $form->execute(); } class EditImage extends SpecialPage { function EditImage() { SpecialPage::SpecialPage("EditImage", '', true, 'efRunEditImage'); wfLoadExtensionMessages('EditImage'); } function run( $par ) { global $wgRequest, $wgOut; global $wgContLang; global $wgUser; # add the javascript global $wgJsMimeType, $wgScriptPath ; $wgOut->addScript( "\n"); $wgOut->addScript( "\n"); $wgOut->addScript( "\n"); $wgOut->addScript( "\n"); # try to find the image that the user entered $image = $wgRequest->getText('image'); $title = Title::newFromText( $image, NS_IMAGE ); $file = wfFindFile( $title ); if ( ! $title instanceof Title || $title->getNamespace() != NS_IMAGE ) { $wgOut->addWikiText("Sorry, can't find that image!"); } else { # see if we're passed editing information if ($wgRequest->wasPosted()) { $x1 = $wgRequest->getInt(x1); $x2 = $wgRequest->getInt(x2); $y1 = $wgRequest->getInt(y1); $y2 = $wgRequest->getInt(y2); $resized_fn = resizeImage($file->getFullPath(), $x1, $y1, $x2, $y2); uploadNewFile($file, $resized_fn); } else { if ( $file && $file->exists() ) { $wgOut->addHTML("
Use your mouse to select the new area on the image below. When you are done, press crop.
\n"); # add image $wgOut->addHTML("