original_string: public function onCropImage()
      {
          $this->abortIfReadOnly();
  
          $imageSrcPath = trim(Input::get('img'));
          $selectionData = Input::get('selection');
          $cropSessionKey = Input::get('cropSessionKey');
          $path = Input::get('path');
          $path = MediaLibrary::validatePath($path);
  
          if (!strlen($imageSrcPath)) {
              throw new ApplicationException('Invalid input data');
          }
  
          if (!preg_match('/^[0-9a-z]+$/', $cropSessionKey)) {
              throw new ApplicationException('Invalid input data');
          }
  
          if (!is_array($selectionData)) {
              throw new ApplicationException('Invalid input data');
          }
  
          $result = $this->cropImage($imageSrcPath, $selectionData, $cropSessionKey, $path);
  
          $selectionMode = Input::get('selectionMode');
          $selectionWidth = Input::get('selectionWidth');
          $selectionHeight = Input::get('selectionHeight');
  
          $this->setSelectionParams($selectionMode, $selectionWidth, $selectionHeight);
  
          return $result;
      }
code: public function onCropImage()
      {
          $this->abortIfReadOnly();
  
          $imageSrcPath = trim(Input::get('img'));
          $selectionData = Input::get('selection');
          $cropSessionKey = Input::get('cropSessionKey');
          $path = Input::get('path');
          $path = MediaLibrary::validatePath($path);
  
          if (!strlen($imageSrcPath)) {
              throw new ApplicationException('Invalid input data');
          }
  
          if (!preg_match('/^[0-9a-z]+$/', $cropSessionKey)) {
              throw new ApplicationException('Invalid input data');
          }
  
          if (!is_array($selectionData)) {
              throw new ApplicationException('Invalid input data');
          }
  
          $result = $this->cropImage($imageSrcPath, $selectionData, $cropSessionKey, $path);
  
          $selectionMode = Input::get('selectionMode');
          $selectionWidth = Input::get('selectionWidth');
          $selectionHeight = Input::get('selectionHeight');
  
          $this->setSelectionParams($selectionMode, $selectionWidth, $selectionHeight);
  
          return $result;
      }
code_tokens: public function onCropImage ( ) { $ this -> abortIfReadOnly ( ) ; $ imageSrcPath = trim ( Input :: get ( 'img' ) ) ; $ selectionData = Input :: get ( 'selection' ) ; $ cropSessionKey = Input :: get ( 'cropSessionKey' ) ; $ path = Input :: get ( 'path' ) ; $ path = MediaLibrary :: validatePath ( $ path ) ; if ( ! strlen ( $ imageSrcPath ) ) { throw new ApplicationException ( 'Invalid input data' ) ; } if ( ! preg_match ( '/^[0-9a-z]+$/' , $ cropSessionKey ) ) { throw new ApplicationException ( 'Invalid input data' ) ; } if ( ! is_array ( $ selectionData ) ) { throw new ApplicationException ( 'Invalid input data' ) ; } $ result = $ this -> cropImage ( $ imageSrcPath , $ selectionData , $ cropSessionKey , $ path ) ; $ selectionMode = Input :: get ( 'selectionMode' ) ; $ selectionWidth = Input :: get ( 'selectionWidth' ) ; $ selectionHeight = Input :: get ( 'selectionHeight' ) ; $ this -> setSelectionParams ( $ selectionMode , $ selectionWidth , $ selectionHeight ) ; return $ result ; }
docstring: Crop image AJAX handler
  @return array
docstring_tokens: Crop image AJAX handler