public function index() { //Defino el titulo de la vista $this->title = 'Escritorio'; $post = new Post(); $taxonomia = new Taxonomia(); //Totalizadores de publicaciones y taxonomias $this->total_post = $post->getContadorPost('todos'); $this->total_borradores = $post->getContadorPost('todos', Post::BORRADOR); $this->total_categorias = $taxonomia->getContadorTaxonomia(Taxonomia::CATEGORIA); $this->total_etiquetas = $taxonomia->getContadorTaxonomia(Taxonomia::ETIQUETA); //Totalizadores de comentarios $this->total_comentarios = 0; $this->total_pendientes = 0; $this->total_spam = 0; /* Nombre a mostrar en los link */ $this->detalle_post = $this->total_post > 1 ? 'Publicaciones' : 'Publicación'; $this->detalle_borrador = $this->total_borradores > 1 ? 'Borradores' : 'Borrador'; $this->detalle_categoria = $this->total_categorias > 1 ? 'Categorías' : 'Categoría'; $this->detalle_etiqueta = $this->total_etiquetas > 1 ? 'Etiquetas' : 'Etiqueta'; $this->detalle_comentario = $this->total_comentarios > 1 ? 'Comentarios' : 'Comentario'; $this->detalle_pendiente = $this->total_pendientes > 1 ? 'Pendientes' : 'Pendiente'; $this->detalle_spam = 'Spam'; }
/** * Metodo para registrar la clasificación del post * * @param string $tipo Tipo de clasificación a registrar * @param arrray | string $taxonomia Array o String de taxonomias a registrar * @param int $post Código del post * @param boolean $mensaje Indica si se muestra el mensaje de confirmación del registro * @return array */ public function registrarPostTaxonomia($tipo, $taxonomia, $post, $mensaje = false) { //verifico que contenga algo if ($taxonomia) { //Verifico si es categoria if ($tipo == Taxonomia::CATEGORIA) { //Verifico si la categoria es un array if (is_array($taxonomia)) { foreach ($taxonomia as $fila) { $post_categoria = new PostTaxonomia(); $post_categoria->post_id = $post; $post_categoria->taxonomia_id = $fila; $post_categoria->save(); } } else { $post_categoria = new PostTaxonomia(); $post_categoria->post_id = $post; $post_categoria->taxonomia_id = $taxonomia; $post_categoria->save(); } } else { //Separo las etiquetas por coma $taxonomia = explode(',', $taxonomia); //Si es un array if (is_array($taxonomia)) { foreach ($taxonomia as $fila) { $fila = trim($fila); //Quito los espacios $etiqueta = new Taxonomia(); //Verifico si está registrada if (!$etiqueta->getInformacionTaxonomia(Taxonomia::ETIQUETA, '', $fila)) { $etiqueta = new Taxonomia(); $etiqueta->nombre = $fila; $etiqueta->tipo = Taxonomia::ETIQUETA; $etiqueta->save(); } //Si guardo la etiqueta if (isset($etiqueta->id)) { $post_etiqueta = new PostTaxonomia(); $post_etiqueta->post_id = $post; $post_etiqueta->taxonomia_id = $etiqueta->id; $post_etiqueta->save(); } //Tengo que eliminar los pk para poder continuar porque lo que hace es actualizar ¿? $post_etiqueta->id = null; $etiqueta->id = null; } } else { $taxonomia = trim($taxonomia); $etiqueta = new Taxonomia(); if (!$etiqueta->getInformacionTaxonomia(Taxonomia::ETIQUETA, '', $taxonomia)) { $etiqueta = new Taxonomia(); $etiqueta->nombre = $taxonomia; $etiqueta->tipo = Taxonomia::ETIQUETA; $etiqueta->save(); } if (isset($etiqueta->id)) { $post_etiqueta = new PostTaxonomia(); $post_etiqueta->post_id = $post; $post_etiqueta->taxonomia_id = $etiqueta->id; $post_etiqueta->save(); } } } return true; } }
/** * Método para eliminar las taxonomias * * @param string $tipo Tipo de taxonomia a eliminar 'etiqueta' o 'categoria' * @param int $id Codigo de la taxonomía * @param string $key Palabra 'key' que viene en la url * @param string $valueKey Llave de seguridad para prevenir que se elimine directamente desde la url */ public function eliminar($tipo, $id, $key = 'key', $valueKey = '') { if ($tipo === 'categoria' or $tipo === 'etiqueta') { //Armo la llave con el código de la url $this->validKey = md5($id . $this->ipKey . $this->expKey . $tipo); //Verifico que la llave de la url sea igual a la llave creada internamente if ($this->validKey === $valueKey) { $taxonomia = new Taxonomia(); $taxonomia->eliminarTaxonomia($id, true); } else { Flash::error('Acceso denegado al sistema.'); } Router::redirect('dc-admin/' . $tipo . '/'); } else { Flash::info('Acceso incorrecto al sistema.'); Router::redirect('dc-admin/'); } }