示例#1
0
 public function action_zip($articulo_id = null)
 {
     is_null($articulo_id) and Response::redirect('diagramador');
     $articulos = Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('id', '=', $articulo_id))));
     $files_to_zip = array();
     $archivo_informacion = '';
     foreach ($articulos as $articulo) {
         $archivo_informacion .= "Nombre del Articulo: " . $articulo->nombre . "\n";
         $archivo_informacion .= "Seccion del Articulo: " . $articulo->seccion->descripcion . "\n";
         $archivo_informacion .= "Fecha del Articulo: " . date('Y-m-d H:i:s', $articulo->fecha_publicacion) . "\n";
         $archivo_informacion .= "\n ==========================\n";
         foreach ($articulo->fotos as $foto) {
             if ($foto->estado == 1) {
                 array_push($files_to_zip, $foto->imagen);
                 $nombre_archivo = str_ireplace(".jpg", "-" . $articulo->pagina->descripcion . ".jpg", $foto->imagen);
                 $pieces = explode("/", $nombre_archivo);
                 $count_foto = count($pieces);
                 $nombre_archivo = $pieces[$count_foto - 1];
                 $archivo_informacion .= $nombre_archivo . "\n" . "Medida: " . $foto->dimension->descipcion . "\n" . "Pagina: " . $articulo->pagina->descripcion . "\n ==========================\n";
             }
         }
     }
     $time = time();
     File::create(DOCROOT . "zip/", "info_{$articulo_id}_{$time}.txt", $archivo_informacion);
     array_push($files_to_zip, "/gr/public/zip/info_{$articulo_id}_{$time}.txt");
     Zip::create_zip($files_to_zip, $articulo_id, true, $time, $articulo->pagina->descripcion);
 }
示例#2
0
 public function action_buscar()
 {
     \Config::load('phpthumb');
     $photos_path = str_replace("\\", "/", Config::get('photos_path'));
     $document_root = str_replace("\\", "/", Config::get('document_root'));
     $termino = Input::post('p');
     $fotos = Search::buscar($photos_path . '/*', $termino);
     $data['fotos'] = null;
     if ($fotos) {
         $files = "";
         foreach ($fotos as $file) {
             list($img_width, $img_height, $img_type, $img_attr) = getimagesize($document_root . "/" . $file);
             $files .= "<li  class='thumbnail'>" . "<a href='" . Myhtml::img_watermark($file) . "' rel='gallery' title='{$file}'>" . "<img class='detalle' data-original-title='" . $file . "' " . "data-content='Dimensiones: {$img_width} por {$img_height} pixels' src='" . Config::get('phpthumbroot') . "phpThumb.php?src=" . $document_root . $file . "&w=" . Config::get('thumb_size') . "&h=" . Config::get('thumb_size') . "&zc=1' />" . "</a>" . "</li>";
         }
         $data['fotos'] = html_entity_decode($files, ENT_QUOTES);
     }
     //Incio articulos
     $fi = date("Y-m-d") . ' 01:00:00';
     $ff = date("Y-m-d") . ' 23:59:00';
     $fecha_inicio = Date::create_from_string($fi, "mysql");
     $fecha_fin = Date::create_from_string($ff, "mysql");
     $articulos = Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('periodista_id', '=', $this->user_id), array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc')));
     $select_articulos = array();
     if ($articulos) {
         foreach ($articulos as $articulo) {
             $select_articulos[$articulo->id] = $articulo->nombre;
         }
     } else {
         $select_articulos = array('none' => 'No existen articulos creados');
     }
     $data['select_articulos'] = $select_articulos;
     // Fin articulos
     // Inicio Dimensiones
     $dimensiones = Model_Dimension::find('all');
     $select_dimensiones = array();
     if ($dimensiones) {
         foreach ($dimensiones as $dimension) {
             $select_dimensiones[$dimension->id] = $dimension->descipcion;
         }
     } else {
         $select_dimensiones = array('none' => 'No existen dimensiones creadas');
     }
     $data['select_dimensiones'] = $select_dimensiones;
     $data['periodista_id'] = $this->user_id;
     $view = View::forge(Session::get('template'));
     $view->set_global('user_id', 1);
     $view->set_global('data', $data);
     $view->set_global('title', 'Resultado de B&uacute;squeda');
     $view->set_global('content', 'Resultado de BB&uacute;squeda');
     $view->content = View::forge('buscar/buscar', $data);
     return $view;
 }
示例#3
0
 public function action_revisar($user_id = null)
 {
     is_null($user_id) and Response::redirect('editor');
     $fi = date("Y-m-d") . ' 01:00:00';
     $ff = date("Y-m-d") . ' 23:59:00';
     $fecha_inicio = Date::create_from_string($fi, "mysql");
     $fecha_fin = Date::create_from_string($ff, "mysql");
     $data['articulos'] = Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('periodista_id', '=', $user_id), array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc')));
     $usuario = Model_User::find($this->user_id);
     $profile_fields = $this->get_profile_fields($usuario) ? $this->get_profile_fields($usuario) : null;
     $periodista = Model_User::find($user_id);
     $data['periodista'] = $periodista;
     $view = View::forge('template_editor');
     $view->set_global('user_id', $this->user_id);
     $view->set_global('acceso_web', $profile_fields['acceso_web']);
     $view->set_global('data', $data);
     $view->set_global('title', 'Articulos del periodista: ' . $periodista->username);
     $view->content = View::forge('editor/revisar', $data);
     return $view;
 }
示例#4
0
 public function action_zip($articulo_id)
 {
     include DOCROOT . 'phpthumb/phpthumb.class.php';
     \Config::load('phpthumb');
     $document_root = str_replace("\\", "/", Config::get('document_root'));
     is_null($articulo_id) and Response::redirect('articulo');
     $articulo = Model_Articulo::find('first', array('related' => array('fotos', 'seccion'), 'where' => array(array('id', '=', $articulo_id))));
     $fotos_web = null;
     foreach ($articulo->fotos as $foto) {
         $phpThumb = new phpThumb();
         $phpThumb->setParameter('w', Config::get('web_size'));
         $phpThumb->setParameter('q', 75);
         $phpThumb->setParameter('aoe', true);
         $phpThumb->setParameter('config_output_format', 'jpeg');
         $phpThumb->setParameter('f', 'jpeg');
         $nombre_archivo = str_ireplace(".jpg", Config::get('photos_texto') . '.jpg', $foto->imagen);
         $pieces = explode("/", $nombre_archivo);
         $count_foto = count($pieces);
         $nombre_archivo = $pieces[$count_foto - 1];
         $output_filename = $document_root . "/web/" . $nombre_archivo;
         $phpThumb->setSourceData(file_get_contents($document_root . $foto->imagen));
         if ($phpThumb->GenerateThumbnail()) {
             if ($phpThumb->RenderToFile($output_filename)) {
                 Log::info('Imagen para web generada con exito' . $output_filename);
                 $fotos_web[] = $output_filename;
             } else {
                 Log::info('Error al generar imagen para web ' . $phpThumb->debugmessages);
             }
             $phpThumb->purgeTempFiles();
         } else {
             Log::info('Error Fatal al generar imagen para web ' . $phpThumb->fatalerror . "|" . $phpThumb->debugmessages);
         }
         unset($phpThumb);
     }
     $time = time();
     Zip::create_zip($fotos_web, $articulo_id, true, $time);
 }
示例#5
0
 public function action_republicar($id)
 {
     is_null($id) and Response::redirect('Articulo/archivo');
     $articulo = Model_Articulo::find($id);
     $articulo->created_at = time();
     $articulo->fecha_publicacion = $articulo->created_at;
     if ($articulo->save()) {
         Session::set_flash('success', 'Articulo republicado #' . $id);
         Response::redirect('Articulo/archivo');
     } else {
         Session::set_flash('error', 'No se pudo republicar el articulo #' . $id);
     }
     Response::redirect('Articulo/archivo');
 }
示例#6
0
 public function action_index($articulo_id = null)
 {
     \Config::load('phpthumb');
     //Incio articulos
     $fi = date("Y-m-d") . ' 01:00:00';
     $ff = date("Y-m-d") . ' 23:59:00';
     $fecha_inicio = Date::create_from_string($fi, "mysql");
     $fecha_fin = Date::create_from_string($ff, "mysql");
     $articulos = null;
     if (Auth::instance()->has_access('Controller_Editor.index')) {
         $padre_id = Auth::instance()->get_user_id();
         $query_periodistas = "\n                                    SELECT\n                                        id,\n                                        username,\n                                        empresa,\n                                        padre\n                                    FROM\n                                        users\n                                    WHERE\n                                        id\n                                    IN\n                                        (\n                                            SELECT DISTINCT\n                                                periodista_id\n                                            FROM\n                                                articulos\n                                            WHERE\n                                                fecha_publicacion\n                                            >=\n                                              '{$fecha_inicio->get_timestamp()}'\n                                        )\n                                    AND\n                                        padre = {$padre_id[1]}\n                                    ";
         $periodistas = DB::query($query_periodistas)->execute();
         $periodistas_id = null;
         if ($periodistas) {
             foreach ($periodistas as $periodista) {
                 $periodistas_id[] = $periodista['id'];
             }
         }
         $articulos = $periodistas_id != null ? Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('periodista_id', 'in', $periodistas_id), array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc'))) : null;
         $articulos_otros = $periodistas_id != null ? Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('periodista_id', 'not in', $periodistas_id), array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc'))) : Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc')));
         $select_articulos = array();
         if ($articulos || $articulos_otros) {
             if ($articulos) {
                 foreach ($articulos as $articulo) {
                     $cronista = Model_User::find($articulo->periodista_id);
                     $select_articulos[$articulo->id] = $articulo->nombre . ' -> ' . $cronista->username;
                 }
             }
             if ($articulos || $articulos_otros) {
                 foreach ($articulos_otros as $articulo) {
                     $cronista = Model_User::find($articulo->periodista_id);
                     $select_articulos[$articulo->id] = '[ ' . $articulo->nombre . ' -> ' . $cronista->username . ' ]';
                 }
             }
             $data['boton_activo'] = 1;
         } else {
             $select_articulos = array('none' => 'No existen articulos creados');
             $data['boton_activo'] = 0;
         }
     } else {
         $articulos = Model_Articulo::find('all', array('related' => array('fotos', 'seccion'), 'where' => array(array('periodista_id', '=', $this->user_id), array('fecha_publicacion', '>=', $fecha_inicio->get_timestamp())), 'order_by' => array('fecha_publicacion' => 'asc')));
         $select_articulos = array();
         if ($articulos) {
             foreach ($articulos as $articulo) {
                 $select_articulos[$articulo->id] = $articulo->nombre;
             }
             $data['boton_activo'] = 1;
         } else {
             $select_articulos = array('none' => 'No existen articulos creados');
             $data['boton_activo'] = 0;
         }
     }
     $data['select_articulos'] = $select_articulos;
     // Fin articulos
     // Inicio Dimensiones
     $dimensiones = Model_Dimension::find('all');
     $select_dimensiones = array();
     if ($dimensiones) {
         foreach ($dimensiones as $dimension) {
             $select_dimensiones[$dimension->id] = $dimension->descipcion;
         }
     } else {
         $select_dimensiones = array('none' => 'No existen dimensiones creadas');
     }
     $data['select_dimensiones'] = $select_dimensiones;
     //Fin dimensiones
     $galeria = Gallery::generate();
     $data['thumbnails'] = $galeria['thumbnails'];
     $data['periodista_id'] = $this->user_id;
     if (Auth::instance()->has_access('Controller_Editor.index')) {
         $view = View::forge('template_gallery_editor');
     } else {
         $view = View::forge('template_gallery');
     }
     if ($articulo_id) {
         $view->set_global('articulo_id', $articulo_id);
     } else {
         $view->set_global('articulo_id', 'none');
     }
     $view->set_global('user_id', $this->user_id);
     $view->set_global('data', $galeria['thumbnails']);
     $view->set_global('breadcrumb_navigation', $galeria['breadcrumb_navigation']);
     $view->set_global('page_navigation', $galeria['page_navigation']);
     $view->set_global('title', 'Galer&iacute;a');
     $view->set_global('content', 'Galer&iacute;a');
     $view->content = View::forge('galeria/index', $data);
     return $view;
     //die();
 }