function delete($id) { $upload = $this->findById($id); if (!$upload) { return $this->cakeError('object_not_found'); } // Delete DB record first if (parent::delete($upload[$this->name]['id'])) { $path = Configure::read('Wildflower.uploadDirectory') . DS . $upload[$this->name]['name']; $this->_deleteFiles($path); return true; } return false; }
/** * Before save callback * * @return bool Success */ function beforeSave() { parent::beforeSave(); // Construct the absolute page URL if (isset($this->data[$this->name]['slug'])) { $level = 0; if ($this->id === intval(Configure::read('AppSettings.home_page_id'))) { // Home page has the URL of root $this->data[$this->name]['url'] = '/'; } else { if (!isset($this->data[$this->name]['parent_id']) or !is_numeric($this->data[$this->name]['parent_id'])) { // Page has no parent $this->data[$this->name]['url'] = "/{$this->data[$this->name]['slug']}"; } else { $parentPage = $this->findById($this->data[$this->name]['parent_id'], array('lft', 'rght', 'slug')); $ancestors = $this->findPath($parentPage[$this->name]['lft'], $parentPage[$this->name]['rght'], array('slug')); if (empty($ancestors)) { $ancestors = array($parentPage); } else { $ancestors[] = $parentPage; } $level = count($ancestors); $url = "/{$this->data[$this->name]['slug']}"; if (!empty($ancestors)) { $slugs = Set::extract($ancestors, '{n}.' . $this->name . '.slug'); $url = '/' . join('/', $slugs) . $url; } $this->data[$this->name]['url'] = $url; } } // Page level in the hierarchy cache // @TODO never used, maybe remove? $this->data[$this->name]['level'] = $level; } // Publish? if (isset($this->data[$this->name]['publish'])) { $this->data[$this->name]['draft'] = 0; unset($this->data[$this->name]['publish']); } return true; }