5
* rewrite magic: para generar pagina publica automaticamente (via mod_rewrite)
6
* FIXME: magic is messy and not so useful. use objects! gallery.picasa.php...
8
* @copyright © 2005-2008 Guegue Comunicaciones - guegue.com
9
* @license http://opensource.org/licenses/gpl-3.0.html GNU Public License
10
* @version $Id: default.php,v 2008032801 javier $
14
require($_SERVER['DOCUMENT_ROOT'] . '/../classes/app.class.php');
16
# lee parametros, obj nunca esta vacio, tpl y php son opcionales
17
#$params = explode("/", $_SERVER['REQUEST_URI']);
18
if (isset($_GET['obj'])) $obj = strtolower(preg_replace("/[^A-Za-z0-9_]/", "", $_GET['obj']));
19
if (isset($_GET['id'])) $id = strtolower(preg_replace("/[^A-Za-z0-9_]/", "", $_GET['id']));
20
if (isset($_GET['tpl'])) $tpl = strtolower(preg_replace("/[^A-Za-z0-9_]/", "", $_GET['tpl']));
21
if (isset($_GET['php'])) $php = strtolower(preg_replace("/[^A-Za-z0-9_]/", "", $_GET['php']));
22
if (!empty($tpl)) $tpl = $smarty->template_dir.$tpl;
23
if (!empty($php)) $php = ROOTDIR.$php;
24
#if (!empty($obj)) $obj = $obj;
26
# intenta leer registro de pagina
27
$pagina = (defined('PAGINA')) ? PAGINA : 'pagina';
29
# si no hay objeto, es portada
30
if (empty($obj) || ($obj == 'defaultphp')) {
31
if (file_exists('portada.php')) {
32
require('portada.php');
34
$idpagina = (defined('IDPAGINA')) ? IDPAGINA : 'portada';
37
$object = $obj.'Table';
38
if (!class_exists($object)) {
39
$pagina_object = $pagina.'Table';
40
if (class_exists($pagina_object)) {
41
$pagina_data = new $pagina_object;
42
if (!isset($idpagina)) $idpagina = $obj;
43
$row = $pagina_data->readRecord($idpagina);
45
$smarty->assign('row', $row);
46
if (file_exists($smarty->template_dir . $idpagina . '.tpl'))
47
$tpl = $idpagina . '.tpl';
49
error_log("FIXME: que hacer?");
55
#if (empty($tpl)) $tpl = $php.'.tpl';
56
if (empty($tpl)) $tpl = $obj.'.tpl';
57
if (!file_exists($smarty->template_dir . $tpl))
58
$tpl = ALMIDONDIR.'/tpl/default.tpl';
60
# cargar archivo extra php
61
if (empty($php)) $php = $obj.'.php';
62
if (file_exists($php))
65
# carga archivo extra si existe
66
if (file_exists('include.php'))
67
require('include.php');
69
# carga el objeto: lee datos o dato
70
$object = $obj.'Table';
71
if (!empty($obj) && class_exists($object)) {
73
if (!empty($data->template))
74
$tpl = $data->template;
75
$rows = $data->readData();
77
# si hay parametros, interpretarlos, ver detalle
79
if (isset($data->request[$data->key]))
80
$row = $data->readRecord();
82
# si es galeria, carga fotos
83
if ($obj == 'galeria' && !empty($row)) {
84
$foto = new fotoTable();
85
$fotos = $foto->readDataFilter("foto.idgaleria='".$row['idgaleria']."'");
86
$smarty->assign('fotos', $fotos);
87
$smarty->assign('galeria', $obj);
90
# si es foto de galeria, carga foto y galeria
91
if ($obj == 'foto' && !empty($row)) {
92
$fotos = $data->readDataFilter("foto.idgaleria='".$row['idgaleria']."'");
93
$smarty->assign('fotos', $fotos);
94
$smarty->assign('imagen', $row);
95
$data = new galeriaTable();
96
$row = $data->readRecord($row['idgaleria']);
100
# solo pone titulo si el objeto no es tipo "pagina"
102
$smarty->assign('title', $data->title);
104
$smarty->assign('key', $data->key);
107
# finalmente asigna row
109
$smarty->assign('row', $row);
111
# tabla con fotos y su key
112
$smarty->assign('foto', 'foto');
113
$smarty->assign('idfoto', 'idfoto');
116
# asgina variables a smarty
117
$smarty->assign('obj', $obj);
118
if (isset($rows)) $smarty->assign('rows', $rows);
121
$smarty->display($tpl);