function kfmFile() { global $kfm; if (func_num_args() == 1) { $this->id = (int) func_get_arg(0); parent::kfmObject(); $filedata = db_fetch_row("SELECT id,name,directory FROM " . KFM_DB_PREFIX . "files WHERE id=" . $this->id); $this->name = $filedata['name']; $this->parent = $filedata['directory']; $dir = kfmDirectory::getInstance($this->parent); $this->directory = $dir->path; $this->path = $dir->path . '/' . $filedata['name']; if (!$this->exists()) { // $this->error(kfm_lang('File cannot be found')); // removed because it is causing false errors $this->delete(); return false; } $this->writable = $this->isWritable(); $this->ctime = filemtime($this->path) + $GLOBALS['kfm_server_hours_offset'] * 3600; $this->modified = strftime($kfm->setting('date_format') . ' ' . $kfm->setting('time_format'), filemtime($this->path)); $mimetype = get_mimetype($this->path); $pos = strpos($mimetype, ';'); $this->mimetype = $pos === false ? $mimetype : substr($mimetype, 0, $pos); $this->type = trim(substr(strstr($this->mimetype, '/'), 1)); } }