/** * Obtiene todas las etiquetas */ public function getAll() { $etiquetas = array(); foreach ($this->find() as $tag) { $articulo_etiqueta = new ArticuloEtiqueta(); $etiquetas[] = array('name' => $tag->name, 'url' => $tag->url, 'count' => $articulo_etiqueta->countTags($tag->id)); } return $etiquetas; }
/** * Crea un nuevo articulo * */ public function create() { if (Input::hasPost('articulo')) { if ($articulo = Articulo::input('create', Input::post('articulo'))) { $articulo_etiqueta = new ArticuloEtiqueta(); $articulo_etiqueta->addTagsPost(Input::post('tags'), $articulo->id); return Router::redirect('admin/articulo/'); } } $this->usuario_id = Auth::get('id'); //$this->autor = Auth::get('nombre'); }
/** * Guarda las etiquetas de un articulo * @param $etiquetas int * @param $articulo_id int * @return bool */ public function addTagsPost($etiquetas = null, $articulo_id = null) { //verificando que tenga etiquetas if ($etiquetas) { $etiquetas = explode(',', $etiquetas); foreach ($etiquetas as $tag) { $etiqueta = new Etiqueta(); $etiqueta->name = $tag; $etiqueta->url = strtr($tag, ' ', '-'); $etiqueta->save(); $articulo_etiqueta = new ArticuloEtiqueta(); $articulo_etiqueta->articulo_id = $articulo_id; $articulo_etiqueta->etiqueta_id = $etiqueta->id; $articulo_etiqueta->save(); } return true; //TODO Hacia falta retornar verdadero } return false; }
/** * Elimina el artículo * @param int $id */ public function del($id) { $id = filter_var($id, FILTER_SANITIZE_NUMBER_INT); //Buscando el Objeto a Borrar $obj = $this->find($id); if ($obj) { if (!$obj->delete()) { Flash::error('Falló Operación'); } else { //require_once APP_PATH.'models/posts_tags.php'; $articulo_etiqueta = new ArticuloEtiqueta(); //se eliminan las etiquetas que tenía el artículo $articulo_etiqueta->delete_all("articulo_id={$obj->id}"); Flash::success('Operación exitosa'); } } else { Flash::error('No existe el artículo'); } }