public function add($parent_id = 1) { // check if trying to save if (get_request_method() == 'POST') { return $this->_add(); } $data = Flash::get('post_data'); $page = new Page($data); $page->parent_id = $parent_id; $page->status_id = Setting::get('default_status_id'); $page_parts = Flash::get('post_parts_data'); if (empty($page_parts)) { // check if we have a big sister ... $big_sister = Page::findBigSister($parent_id); if ($big_sister) { // get all is part and create the same for the new little sister $big_sister_parts = Record::findAllFrom('PagePart', 'page_id=? ORDER BY id', array($big_sister->id)); $page_parts = array(); foreach ($big_sister_parts as $parts) { $page_parts[] = new PagePart(array('name' => $parts->name, 'filter_id' => Setting::get('default_filter_id'))); } } else { $page_parts = array(new PagePart(array('filter_id' => Setting::get('default_filter_id')))); } } // display things ... $this->setLayout('backend'); $this->display('page/edit', array('action' => 'add', 'page' => $page, 'tags' => array(), 'filters' => Filter::findAll(), 'behaviors' => Behavior::findAll(), 'page_parts' => $page_parts, 'layouts' => Layout::find())); }