예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * Carrega todas as págians a partir de uma categoria
  * @param int|Categoria $categoria
  * @return array
  */
 public function loadFromCategoria($categoria, $limit = "", $orderPropertyName = "", $desc = false)
 {
     $cat = new PaginaCategoria();
     $cat->getDao()->setAtributes("pagina");
     $pags = array();
     $categoria = new Categoria((int) $categoria);
     $whereStr = "categoria={$categoria}";
     foreach ($categoria->getCatFilhas() as $catItem) {
         $whereStr .= " OR categoria=" . $catItem;
     }
     foreach ($cat->getDao()->loadArrayList($whereStr, '', $limit) as $c) {
         if ($c->getPagina() instanceof Pagina) {
             $pags[$c->getPagina()->getId()] = $c->getPagina();
         }
     }
     if (!empty($order)) {
         DAO::orderBy($pags, $orderPropertyName, $desc);
     }
     return $pags;
 }