protected function _formatSelectId(Kwf_Component_Select $select) { if ($select->hasPart(Kwf_Model_Select::WHERE_ID)) { $id = $select->getPart(Kwf_Model_Select::WHERE_ID); if (!preg_match('#^_([0-9]{4})([0-9]{2})$#', $id, $m)) { return null; } $dateColumn = Kwc_Abstract::getSetting($this->_class, 'dateColumn'); $select->where("YEAR({$dateColumn}) = ?", $m[1]); $select->where("MONTH({$dateColumn}) = ?", $m[2]); $select->unsetPart(Kwf_Model_Select::WHERE_ID); } return $select; }
protected function _formatSelectId(Kwf_Component_Select $select) { if ($select->hasPart(Kwf_Model_Select::WHERE_ID)) { $id = $select->getPart(Kwf_Model_Select::WHERE_ID); $select->unsetPart(Kwf_Model_Select::WHERE_ID); if (substr($id, 0, 2) == '-l') { $select->whereEquals('component', 'link'); } else { if (substr($id, 0, 2) == '-d') { $select->whereEquals('component', 'download'); } else { if (substr($id, 0, 2) == '-i') { $select->whereEquals('component', 'image'); } else { return null; } } } $select->whereEquals('nr', substr($id, 2)); } if ($p = $select->getPart(Kwf_Component_Select::WHERE_CHILD_OF)) { $select->where(new Kwf_Model_Select_Expr_Or(array(new Kwf_Model_Select_Expr_StartsWith('component_id', $p->dbId . '-'), new Kwf_Model_Select_Expr_Equal('component_id', $p->dbId)))); } return $select; }
public function getTemplateVars() { $ret = parent::getTemplateVars(); $ret['title'] = $this->getData()->row->title; $ret['publish_date'] = $this->getData()->row->publish_date; $ret['author'] = $this->getData()->row->author_firstname . ' ' . $this->getData()->row->author_lastname; if ($this->_getPlaceholder('nextLink')) { $s = new Kwf_Component_Select(); $s->whereGenerator('detail'); $s->order('publish_date', 'ASC'); $s->where(new Kwf_Model_Select_Expr_Higher('publish_date', new Kwf_Date($this->getData()->row->publish_date))); $ret['nextPost'] = $this->getData()->parent->getChildComponent($s); } if ($this->_getPlaceholder('previousLink')) { $s = new Kwf_Component_Select(); $s->whereGenerator('detail'); $s->order('publish_date', 'DESC'); $s->where(new Kwf_Model_Select_Expr_Lower('publish_date', new Kwf_Date($this->getData()->row->publish_date))); $ret['previousPost'] = $this->getData()->parent->getChildComponent($s); } return $ret; }