original_string: protected function getThumbnailImagePath($thumbnailParams, $itemPath, $lastModified)
      {
          $itemSignature = md5($itemPath).$lastModified;
  
          $thumbFile = 'thumb_' .
              $itemSignature . '_' .
              $thumbnailParams['width'] . 'x' .
              $thumbnailParams['height'] . '_' .
              $thumbnailParams['mode'] . '.' .
              $thumbnailParams['ext'];
  
          $partition = implode('/', array_slice(str_split($itemSignature, 3), 0, 3)) . '/';
  
          return $this->getThumbnailDirectory().$partition.$thumbFile;
      }
code: protected function getThumbnailImagePath($thumbnailParams, $itemPath, $lastModified)
      {
          $itemSignature = md5($itemPath).$lastModified;
  
          $thumbFile = 'thumb_' .
              $itemSignature . '_' .
              $thumbnailParams['width'] . 'x' .
              $thumbnailParams['height'] . '_' .
              $thumbnailParams['mode'] . '.' .
              $thumbnailParams['ext'];
  
          $partition = implode('/', array_slice(str_split($itemSignature, 3), 0, 3)) . '/';
  
          return $this->getThumbnailDirectory().$partition.$thumbFile;
      }
code_tokens: protected function getThumbnailImagePath ( $ thumbnailParams , $ itemPath , $ lastModified ) { $ itemSignature = md5 ( $ itemPath ) . $ lastModified ; $ thumbFile = 'thumb_' . $ itemSignature . '_' . $ thumbnailParams [ 'width' ] . 'x' . $ thumbnailParams [ 'height' ] . '_' . $ thumbnailParams [ 'mode' ] . '.' . $ thumbnailParams [ 'ext' ] ; $ partition = implode ( '/' , array_slice ( str_split ( $ itemSignature , 3 ) , 0 , 3 ) ) . '/' ; return $ this -> getThumbnailDirectory ( ) . $ partition . $ thumbFile ; }
docstring: Generates a thumbnail image path
  @param array|null $thumbnailParams
  @param string $itemPath
  @param int $lastModified
  @return string
docstring_tokens: Generates a thumbnail image path