public function saveFile() { $name = explode('/', $this->file['path']); $this->file_name = $name[count($name) - 1]; $uri = '/dropbox/file/' . $this->file_name; if ($this->fileFromDb = $this->fileExist($name)) { if ($this->isModified()) { $cloudFile = $this->fileFromDb; } else { return true; } } else { $cloudFile = new CloudFiles(); $cloudFile->setAttributes(['user_id' => $this->user_id, 'cloud_user_id' => $this->cloud_user_id, 'cloud_id' => self::CLOUD_ID]); } $cloudFile->setAttributes(['name' => $this->file_name, 'created' => strtotime(isset($this->file['client_mtime']) ? $this->file['client_mtime'] : $this->file['modified']), 'modified' => strtotime($this->file['modified']), 'extension' => $this->file['is_dir'] ? 'folder' : $this->file['mime_type'], 'size' => $this->file['bytes'], 'uri' => $uri, 'path' => $this->file['path'], 'is_dir' => $this->file['is_dir'], 'json_file' => json_encode($this->file), 'hash' => $this->file['rev']]); return $cloudFile->save(); }