/** * Carrega todas as págians a partir de uma categoria * @param int|Categoria $categoria * @return array */ public function getPaginasLista($limit = "") { if (empty($this->pags)) { $cat = new PaginaCategoria(); $cat->getDao()->setAtributes("pagina"); $pags = array(); $p = new Pagina(); $p->getDao()->setAtributes("id", "cleanTitulo", "titulo", "subTitulo"); $whereStr = "categoria=" . $this->getId(); foreach ($this->getCatFilhas() as $catItem) { $whereStr .= " OR categoria=" . $catItem; } foreach ($cat->getDao()->loadArrayList($whereStr, '', $limit) as $c) { if ($c->getPagina() instanceof Pagina) { if ($c->getPagina()->getStatus() == Pagina::STATUS_PUBLICADO) { $pags[] = $c->getPagina(); } } } if (!empty($order)) { DAO::orderBy($pags, $orderPropertyName, $desc); } $p->getDao()->clearAtributes(); $this->pags = $pags; } return $this->pags; }
/** * Obtem os ultimos comentários de um site * @param int $conteudoSite * @param int $status * @return array */ public static function findUltimosComentarios($conteudoSite, $status = 1) { $pagina = new Pagina(); $pagina->getDao()->setAtributes('id', 'titulo'); $where = ""; foreach ($pagina->getDao()->loadArrayList("conteudoSite={$conteudoSite}") as $p) { $where .= " pagina={$p} OR"; } $where = substr($where, 0, -2); $cc = new ConteudoComentario(); if (!empty($where)) { return $cc->getDao()->loadArrayList(" ({$where}) AND status={$status}", 'id DESC'); } else { return array(); } }
/** * Valida se um atributo de um objeto CRUD é unico na sua tabela * * @param DAO $daoObject * @param string $propertieName * @param mixed $data * @return boolean */ public static function validateCRUDUniqueness($daoObject, $propertieName, $data) { $p = new Pagina(); $p->getDao()->setAtributes('id', $propertieName); if (self::validateNumericality($data)) { $values = $p->getDao()->find("{$propertieName}={$data}"); } else { $values = $p->getDao()->find("{$propertieName}='{$data}'"); } if (empty($values)) { return true; } else { return false; } }