original_string: public function save()
      {
          $this->validateFileName();
  
          $fullPath = $this->getFilePath();
  
          if (File::isFile($fullPath) && $this->originalFileName !== $this->fileName) {
              throw new ApplicationException(Lang::get(
                  'cms::lang.cms_object.file_already_exists',
                  ['name'=>$this->fileName]
              ));
          }
  
          $dirPath = $this->theme->getPath().'/'.$this->dirName;
          if (!file_exists($dirPath) || !is_dir($dirPath)) {
              if (!File::makeDirectory($dirPath, 0777, true, true)) {
                  throw new ApplicationException(Lang::get(
                      'cms::lang.cms_object.error_creating_directory',
                      ['name'=>$dirPath]
                  ));
              }
          }
  
          if (($pos = strpos($this->fileName, '/')) !== false) {
              $dirPath = dirname($fullPath);
  
              if (!is_dir($dirPath) && !File::makeDirectory($dirPath, 0777, true, true)) {
                  throw new ApplicationException(Lang::get(
                      'cms::lang.cms_object.error_creating_directory',
                      ['name'=>$dirPath]
                  ));
              }
          }
  
          $newFullPath = $fullPath;
          if (@File::put($fullPath, $this->content) === false) {
              throw new ApplicationException(Lang::get(
                  'cms::lang.cms_object.error_saving',
                  ['name'=>$this->fileName]
              ));
          }
  
          if (strlen($this->originalFileName) && $this->originalFileName !== $this->fileName) {
              $fullPath = $this->getFilePath($this->originalFileName);
  
              if (File::isFile($fullPath)) {
                  @unlink($fullPath);
              }
          }
  
          clearstatcache();
  
          $this->mtime = @File::lastModified($newFullPath);
          $this->originalFileName = $this->fileName;
          $this->exists = true;
      }
code: public function save()
      {
          $this->validateFileName();
  
          $fullPath = $this->getFilePath();
  
          if (File::isFile($fullPath) && $this->originalFileName !== $this->fileName) {
              throw new ApplicationException(Lang::get(
                  'cms::lang.cms_object.file_already_exists',
                  ['name'=>$this->fileName]
              ));
          }
  
          $dirPath = $this->theme->getPath().'/'.$this->dirName;
          if (!file_exists($dirPath) || !is_dir($dirPath)) {
              if (!File::makeDirectory($dirPath, 0777, true, true)) {
                  throw new ApplicationException(Lang::get(
                      'cms::lang.cms_object.error_creating_directory',
                      ['name'=>$dirPath]
                  ));
              }
          }
  
          if (($pos = strpos($this->fileName, '/')) !== false) {
              $dirPath = dirname($fullPath);
  
              if (!is_dir($dirPath) && !File::makeDirectory($dirPath, 0777, true, true)) {
                  throw new ApplicationException(Lang::get(
                      'cms::lang.cms_object.error_creating_directory',
                      ['name'=>$dirPath]
                  ));
              }
          }
  
          $newFullPath = $fullPath;
          if (@File::put($fullPath, $this->content) === false) {
              throw new ApplicationException(Lang::get(
                  'cms::lang.cms_object.error_saving',
                  ['name'=>$this->fileName]
              ));
          }
  
          if (strlen($this->originalFileName) && $this->originalFileName !== $this->fileName) {
              $fullPath = $this->getFilePath($this->originalFileName);
  
              if (File::isFile($fullPath)) {
                  @unlink($fullPath);
              }
          }
  
          clearstatcache();
  
          $this->mtime = @File::lastModified($newFullPath);
          $this->originalFileName = $this->fileName;
          $this->exists = true;
      }
code_tokens: public function save ( ) { $ this -> validateFileName ( ) ; $ fullPath = $ this -> getFilePath ( ) ; if ( File :: isFile ( $ fullPath ) && $ this -> originalFileName !== $ this -> fileName ) { throw new ApplicationException ( Lang :: get ( 'cms::lang.cms_object.file_already_exists' , [ 'name' => $ this -> fileName ] ) ) ; } $ dirPath = $ this -> theme -> getPath ( ) . '/' . $ this -> dirName ; if ( ! file_exists ( $ dirPath ) || ! is_dir ( $ dirPath ) ) { if ( ! File :: makeDirectory ( $ dirPath , 0777 , true , true ) ) { throw new ApplicationException ( Lang :: get ( 'cms::lang.cms_object.error_creating_directory' , [ 'name' => $ dirPath ] ) ) ; } } if ( ( $ pos = strpos ( $ this -> fileName , '/' ) ) !== false ) { $ dirPath = dirname ( $ fullPath ) ; if ( ! is_dir ( $ dirPath ) && ! File :: makeDirectory ( $ dirPath , 0777 , true , true ) ) { throw new ApplicationException ( Lang :: get ( 'cms::lang.cms_object.error_creating_directory' , [ 'name' => $ dirPath ] ) ) ; } } $ newFullPath = $ fullPath ; if ( @ File :: put ( $ fullPath , $ this -> content ) === false ) { throw new ApplicationException ( Lang :: get ( 'cms::lang.cms_object.error_saving' , [ 'name' => $ this -> fileName ] ) ) ; } if ( strlen ( $ this -> originalFileName ) && $ this -> originalFileName !== $ this -> fileName ) { $ fullPath = $ this -> getFilePath ( $ this -> originalFileName ) ; if ( File :: isFile ( $ fullPath ) ) { @ unlink ( $ fullPath ) ; } } clearstatcache ( ) ; $ this -> mtime = @ File :: lastModified ( $ newFullPath ) ; $ this -> originalFileName = $ this -> fileName ; $ this -> exists = true ; }
docstring: Saves the object to the disk.
docstring_tokens: Saves the object to the disk .