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); }
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úsqueda'); $view->set_global('content', 'Resultado de BBúsqueda'); $view->content = View::forge('buscar/buscar', $data); return $view; }
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; }
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); }
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'); }
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ía'); $view->set_global('content', 'Galería'); $view->content = View::forge('galeria/index', $data); return $view; //die(); }