original_string: protected function ensure_path_exists() {
          global $CFG;
          if (!is_writable($this->path)) {
              if ($this->custompath && !$this->autocreate) {
                  throw new coding_exception('File store path does not exist. It must exist and be writable by the web server.');
              }
              $createdcfg = false;
              if (!isset($CFG)) {
                  // This can only happen during destruction of objects.
                  // A cache is being used within a destructor, php is ending a request and $CFG has
                  // already being cleaned up.
                  // Rebuild $CFG with directory permissions just to complete this write.
                  $CFG = $this->cfg;
                  $createdcfg = true;
              }
              if (!make_writable_directory($this->path, false)) {
                  throw new coding_exception('File store path does not exist and can not be created.');
              }
              if ($createdcfg) {
                  // We re-created it so we'll clean it up.
                  unset($CFG);
              }
          }
          return true;
      }
code: protected function ensure_path_exists() {
          global $CFG;
          if (!is_writable($this->path)) {
              if ($this->custompath && !$this->autocreate) {
                  throw new coding_exception('File store path does not exist. It must exist and be writable by the web server.');
              }
              $createdcfg = false;
              if (!isset($CFG)) {
                  // This can only happen during destruction of objects.
                  // A cache is being used within a destructor, php is ending a request and $CFG has
                  // already being cleaned up.
                  // Rebuild $CFG with directory permissions just to complete this write.
                  $CFG = $this->cfg;
                  $createdcfg = true;
              }
              if (!make_writable_directory($this->path, false)) {
                  throw new coding_exception('File store path does not exist and can not be created.');
              }
              if ($createdcfg) {
                  // We re-created it so we'll clean it up.
                  unset($CFG);
              }
          }
          return true;
      }
code_tokens: protected function ensure_path_exists ( ) { global $ CFG ; if ( ! is_writable ( $ this -> path ) ) { if ( $ this -> custompath && ! $ this -> autocreate ) { throw new coding_exception ( 'File store path does not exist. It must exist and be writable by the web server.' ) ; } $ createdcfg = false ; if ( ! isset ( $ CFG ) ) { // This can only happen during destruction of objects. // A cache is being used within a destructor, php is ending a request and $CFG has // already being cleaned up. // Rebuild $CFG with directory permissions just to complete this write. $ CFG = $ this -> cfg ; $ createdcfg = true ; } if ( ! make_writable_directory ( $ this -> path , false ) ) { throw new coding_exception ( 'File store path does not exist and can not be created.' ) ; } if ( $ createdcfg ) { // We re-created it so we'll clean it up. unset ( $ CFG ) ; } } return true ; }
docstring: Checks to make sure that the path for the file cache exists.
  
  @return bool
  @throws coding_exception
docstring_tokens: Checks to make sure that the path for the file cache exists .