getModuls(); foreach ($mods as $mod) { $moduls_actius[] = $mod->PHP; } $tpl->assign("moduls_actius", $moduls_actius); ////////// includes dels moduls ////////// includes dels moduls ////////// includes dels moduls ////////// includes dels moduls foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/classe.php")) { include_once("moduls/" . $modul . "/classe.php"); } } //revisem els components $com = new COMPONENT_EXT(); $comps = $com->getComponents(); foreach ($comps as $comp) { $components_actius[] = $comp->PHP; } $tpl->assign("components_actius", $components_actius); ////////// includes dels components ////////// includes dels components ////////// includes dels components ////////// includes dels components foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/classe.php")) { include_once("components/" . $component . "/classe.php"); } } ////////// Sessions per al preview ////////// Sessions per al preview ////////// Sessions per al preview ////////// Sessions per al preview if (!isset($_SESSION['publicada'])) { $_SESSION['publicada'] = 1; } if ($_REQUEST['publicada']) { $_SESSION['publicada'] = 1; } if (ereg("view:preview", $_SERVER['REQUEST_URI'])) { $_SESSION['publicada'] = 0; } /////////// Explorem URL /////////// Explorem URL /////////// Explorem URL /////////// Explorem URL /////////// Explorem URL /////////// Explorem URL $cd = $_SERVER['REQUEST_URI']; $cd = substr($cd, 0, strlen($cd) - 1); $tm = explode("/", url_decode($cd)); ////////// Url decode per entendres millor $num = 1; $_SESSION['url_idioma'] = $tm[1]; if (sizeof($tm) == 2) { $params = explode("/", url_decode($_GET['url'])); } else { for ($t = 0; $t < sizeof($tm); $t++) { if ($t > $num) { $tm[$t] = str_replace("+", "+", $tm[$t]); $tm[$t] = urldecode($tm[$t]); $tm[$t] = str_replace("+", "+", $tm[$t]); $params[] = $tm[$t]; } } } /////////// estils /////////// estils /////////// estils /////////// estils /////////// estils /////////// estils /////////// estils if ($params[0] == "estils") { if ($params[1] == 'normal') { $_SESSION['estils'] = 'normal'; } if ($params[1] == 'mobil') { $_SESSION['estils'] = 'mobil'; } if ($params[1] == 'sense') { $_SESSION['estils'] = 'sense estils'; } } if (!isset($_SESSION['estils'])) { ////////// Detector de iPhone ////////// $browser = strpos($_SERVER['HTTP_USER_AGENT'], "iPhone"); if ($browser === false) { $_SESSION['estils'] = 'normal'; } else { $_SESSION['estils'] = 'mobil'; } } ////////// Configuraci� del web ////////// Configuraci� del web ////////// Configuraci� del web ////////// Configuraci� del web $cnf = new CONFIGURACIO_EXT(); $cnf->getConf(); $urlbase = $cnf->URL; $tpl->assign("URLBASE", $cnf->URL); $cnf->URL .= "/" . $_SESSION['url_idioma']; $ne = new IDIOMA_EXT(); $idioma_do = $ne->getIdiomaByIco($_SESSION['url_idioma']); if (!$idioma_do->ID_IDIOMA) { ////// si no tenim un idioma definit busquem la configuraci� de l'usuari o agafem el per defecte $cor = new core(); $codi_idioma = $cor->IdiomaUsuari('ca_ES'); //idioma per defecte ca_ES $idi = new IDIOMA_EXT(); $idioma = $idi->getIdiomaByCodi($codi_idioma); $idioma_do = $idi->getIdiomaById($idioma); if (!$idioma_do) { $idioma_do[] = $idi->getIdiomaDefault(); } header("Location: " . $urlbase . "/" . $idioma_do[0]->ICONO . "/"); } if ($params[0] == "estils") { header('Location: ' . $cnf->URL . '/'); } $_SESSION['idioma'] = $idioma_do->ID_IDIOMA; $pe = new PLANA_EXT(); $tm = ''; for ($p = 0; $p < sizeof($params); $p++) { if ($params[$p]) { $tm .= $params[$p] . "/"; } } $_SESSION['url_inici'] = $tm; //if(!isset($_SESSION['url_inici'])){ $_SESSION['url_inici']=$tm;} //if(!isset($_SESSION['idioma'])){$_SESSION['idioma']=1;} if ($_REQUEST['idioma']) { $_SESSION['idioma'] = $_REQUEST['idioma']; } $ne = new IDIOMA_EXT(); $ne->ID_IDIOMA = $_SESSION['idioma']; $ne->find(); $ne->fetch(); if ($ne->CODI_IDIOMA) { @setlocale(LC_ALL, $ne->CODI_IDIOMA); $_SESSION['codi_idioma'] = $ne->CODI_IDIOMA; } ////////// Items //carreguem el parametre �nic de cada m�dul per a cridar a un item foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/param.php")) { include_once("moduls/" . $modul . "/param.php"); } } foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/param.php")) { include_once("components/" . $component . "/param.php"); } } //altres items que no son moduls if ($params[0] == "rss") { header("Location: " . $urlbase . "/public/rss_" . $params[1] . ".php"); } ///////// funcions que arriben per POST if ($_POST['entra_usuari'] == 1) { $usr = new USUARI_WEB_EXT(); $usr = $usr->getUsuari($_POST['pub_usuari'], $_POST['pub_clau']); if ($usr) { $_SESSION['pub_usuari_id'] = $usr->ID_USUARI; //gravem la �tlima ip desde la que ha accedit $us = new USUARI_WEB(); $us->get($usr->ID_USUARI); $cor = new core(); $ip = $cor->getRealIP(); $us->IP_ACCES = $ip; $us->update(); // $tpl->assign("entra_usuari", '1'); } else { $tpl->assign("entra_usuari", "2"); } } if ($_POST['logout_usuari'] == 1) { unset($_SESSION['pub_usuari']); unset($_SESSION['pub_usuari_id']); $tpl->assign("logout_usuari", '1'); } if ($_POST['mod_usuari_dades'] == 1) { if ($_POST['baixa']) { // Donem de baixa l'usuari $usr = new USUARI_WEB_EXT(); $usr->esborraUsuari($_POST['id']); header("Location: " . $urlbase . "/" . $idioma_do->ICONO . "/usuari/" . $_POST['login'] . "/elimina-usuari/"); } elseif (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $_POST['email'])) { // Si el correu no es correcte retornem error 2 $tpl->assign("mod_usuari", '2'); } elseif (!$_POST['noms']) { // Si els noms no son correctes retornem error 3 $tpl->assign("mod_usuari", '3'); } elseif (!$_POST['login']) { // Si el login no es correcte retornem error 4 $tpl->assign("mod_usuari", '4'); } else { // Fem els canvis demanats $cr = new USUARI_WEB_EXT(); $res = $cr->comprovaUsuari($_POST['login']); if (!$res or $res->LOGIN == $_POST['login']) { //si el nou nom d'usuari esta lliure o es el propi continuem amb els canvis $cr = new USUARI_WEB_EXT(); $res = $cr->comprovaEmail($_POST['email']); if (!$res or $res->EMAIL == $_POST['email']) { //si el nou correu esta lliure o es el propi continuem amb els canvis $usr = new USUARI_WEB_EXT(); $usuari = $usr->modificaUsuari($_POST); if ($usuari) { if ($usuari->EMAIL != $_POST['email_old']) { //si el nou correu es diferen devalidem l'usuari i li enviam un mail de validaci� $cnf2 = new IDIOMA_EXT(); $cnf2->getConf($_SESSION['idioma']); foreach ($cnf2 as $key => $value) { if ($key != 'NOM') { $cnf->$key = ($value); } } $usr = new USUARI_WEB_EXT(); $usr->desvalidaUsuari($usuari->ID_USUARI); $body = $cnf->BENVOLGUT . " " . ($usuari->NOM) . ".

"; $body .= $cnf->HAS_ESTAT_REGISTRAT . " " . unserialize($cnf->NOM) . "
"; $body .= "" . $cnf->CONFIRMA_CORREU . "
"; $body .= "" . $cnf->BAIXA . "
"; $msg = "
" . $body . "
"; $subject = "Registre a " . unserialize($cnf->NOM); $cor = new core(); echo $cor->enviaMail($usuari->EMAIL, $subject, $msg); header("Location: " . $urlbase . "/" . $idioma_do->ICONO . "/usuari/" . $usuari->LOGIN . "/renova-usuari/"); } } $tpl->assign("mod_usuari", 1); } else { //si el correu esta ocupat $tpl->assign("mod_usuari", '6'); } } else { //si el nom d'usuari est� ocupat $tpl->assign("mod_usuari", '5'); } } } if ($_POST['mod_usuari_opcional'] == 1) { $us = new USUARI_WEB_EXT(); $res = $us->modificaUsuariOpcional($_POST); if ($res == true) { $tpl->assign("mod_usuari_opcional", 1); } elseif ($res == false) { $tpl->assign("mod_usuari_opcional", 2); } } if ($_SESSION['pub_usuari_id']) { $usr = new USUARI_WEB_EXT(); $usr = $usr->getUsuariById($_SESSION['pub_usuari_id']); $_SESSION['pub_usuari'] = $usr; } ////////// Paginador $ultim = $params[sizeof($params) - 1]; if (ereg("pag,", $ultim)) { $ax = explode(",", $ultim); $_REQUEST['pageID'] = $ax[1]; //Num pagina unset($params[sizeof($params) - 1]); } $tpl->assign("params", $params); $params_all = $params; ////////// Pagina $cont = 0; $idplana = 0; for ($p = 0; $p < sizeof($params); $p++) { $pl = new PLANA_EXT(); $pp = $pl->getIdPlanaByNom($params[$p]); if (!$pp->ID_PLANA) { if ($params[$p] != $_SESSION['url_idioma']) { $params_cat[] = $params[$p]; } } else { $paux[] = $params[$p]; if ($cont == 0) { if (!$params[0]) { $params[0] = "inici"; } $pl = new PLANA_EXT(); $idp = $pl->getIdPlanaByNom($params[0]); $_REQUEST['idplana'] = $idp->ID_PLANA; $idplana = $idp->ID_PLANA; } if ($cont == 1) { $pl = new PLANA_EXT(); $idp = $pl->getIdPlanaByNom($params[0]); $_REQUEST['idpare'] = $idp->ID_PLANA; $pare = $idp->ID_PLANA; $pl = new PLANA_EXT(); $idp = $pl->getIdPlanaByNom($params[1], $pare); $_REQUEST['idplana'] = $idp->ID_PLANA; $idplana = $idp->ID_PLANA; } if ($cont == 2) { $pl = new PLANA_EXT(); $idp = $pl->getIdPlanaByNom($params[0]); $pl = new PLANA_EXT(); $pp = $pl->getIdPlanaByNom($params[1], $idp->ID_PLANA); $_REQUEST['idpare'] = $idp->ID_PLANA; $pare = $idp->ID_PLANA; $pl = new PLANA_EXT(); $idp = $pl->getIdPlanaByNom($params[2], $pp->ID_PLANA); $_REQUEST['idplana'] = $idp->ID_PLANA; $idplana = $idp->ID_PLANA; } $cont++; } } $mod = new MODUL_PLANA(); $mod->whereAdd("ID_PLANA=" . $idplana); $mod->find(); $mod->fetch(); $md = new MODUL(); $md->get($mod->ID_MODUL); if (file_exists("moduls/" . $md->PHP . "/item.php")) { include_once("moduls/" . $md->PHP . "/item.php"); } $tpl->assign("params_cat", $params_cat); $tpl->assign("paux", $paux); $params_base = $paux; $params = $paux; if ($chg_idioma == 1) { if ($idioma_do->PLANA_INICI == 0) { $idplana = 0; $_REQUEST['idplana'] = 0; } else { $idplana = $idioma_do->PLANA_INICI; $_REQUEST['idplana'] = $idplana; } } if ($_REQUEST['idpare']) { $pare = $_REQUEST['idpare']; } else { $pare = $idplana; } $tpl->assign("pare", $pare); $tpl->assign("idplana", $idplana); ////////// Foto principal de la p�gina ////////// Foto principal de la p��gina ////////// Foto principal de la p�gina $pl = new PLANA_EXT(); $foto_seccio = $pl->getPlanaByIdAll($pare); $r = explode("/", $foto_seccio[0]['imatges'][0]['img']->NOM_ARXIU); $na = $r[sizeof($r) - 1]; $tpl->assign("foto_seccio", $na); ////////// Suma 1 visita a la p�gina ////////// Suma 1 visita a la p�gina ////////// Suma 1 visita a la p�gina $pl = new PLANA_EXT(); $pl->setHits($idplana); ////////// Configuraci� de la p�gina ////////// Configuraci� de la p�gina ////////// Configuraci� de la p�gina ////////// Configuraci� de la p�gina ////////// Configuraci� de la p�gina $pa = new PLANA_EXT(); $pa->get($idplana); $pa->fetch(); if ($pa->ID_PLANA != $pa->REDIRECT_URL) { $idplana = $pa->REDIRECT_URL; } $idplana_real = $pa->ID_PLANA; $idplana_redireccio = $pa->REDIRECT_URL; $pl = new PLANA_EXT(); $pl->getConfPlana($idplana_redireccio); $confplana = $pl->getConfPlana($idplana_redireccio); $tpl->assign("confplana", $confplana); // si te un formulari asignat if ($pl->FORMULARI) { $frm = new FORMULARI_PUBLIC(); $form = $frm->getFormulari($pl->FORMULARI); $tpl->assign("form", $form); } // Template base $var_tpl = $pl->ARXIU_TPL; if ($var_tpl == '') { $var_tpl = 'portada.tpl.php'; } $tpl->assign("tpl", $var_tpl); ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes ////////// Idiomes $idi = new IDIOMA_EXT(); $idis = $idi->getIdiomes(); $tpl->assign("idiomes", $idis); $idi = new IDIOMA_EXT(); $idisG = $idi->getIdiomesGencat(); $tpl->assign("idiomesGencat", $idisG); ////////// for�ar clau api per al prova.cat ////////// for�ar clau api per al prova.cat ////////// for�ar clau api per al prova.cat if (ereg("prova.cat", $_SERVER['HTTP_HOST'])) { $cnf->GOOGLE_MAPS_KEY = "ABQIAAAAEF61jhZ3kcyq6p0tk0djWRSUBUGytTY2aZYQgfZRiZoWdWmCehS4IGXfThXUKgCVgIFjRSkGfmzxvg"; } ////////// configuraci� del web especifica per l'idioma actual ////////// configuraci� del web especifica per l'idioma actual $cnf2 = new IDIOMA_EXT(); $cnf2->getConf($_SESSION['idioma']); foreach ($cnf2 as $key => $value) { if ($key != 'NOM') { $cnf->$key = ($value); } } $tr = new TRADUCCIONS_EXT(); $trad = $tr->getTraduccions(); if ($trad) { foreach ($trad as $item) { $clau = $item->NOM_TRADUCCIO; if ($item->VALOR_TRADUCCIO) { $cnf->$clau = ($item->VALOR_TRADUCCIO); } else { $cnf->$clau = $clau; } } } ////////// passem el $cnf al $conf $conf = $cnf; $_SESSION['cnf'] = $cnf; $tpl->assign("cnf", $cnf); $tpl->assign("traduccio", $tr); ////////// URLS COMPARTIDES ////////// URLS COMPARTIDES ////////// URLS COMPARTIDES ////////// URLS COMPARTIDES ////////// URLS COMPARTIDES include_once('urls.php'); ////////// AMBITS ////////// AMBITS ////////// AMBITS ////////// AMBITS ////////// AMBITS ////////// AMBITS ////////// AMBITS $pla = new PLANA_EXT(); $plana_redireccio = $pla->getPlanaById($idplana_redireccio); if (($cnf->ID_PLANA_AMBIT == $plana_redireccio->PARE && $cnf->ID_PLANA_AMBIT != 0)) { $idambit = $idplana_redireccio; // en cas de tenir un ambit carregat if ($idambit) { foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/ambit.php")) { include_once("moduls/" . $modul . "/ambit.php"); } } foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/ambit.php")) { include_once("components/" . $component . "/ambit.php"); } } ////////// fills de la p�gina ////////// fills de la p�gina $pe = new PLANA_EXT(); $fills = $pe->getFillsPlanaById($idambit); $tpl->assign("fills", $fills); // template $tpl->assign("tpl", "Ambit.tpl.php"); } } ////////// Informaci� de la plana pare ////////// Informaci� de la plana pare ////////// Informaci� de la plana pare ////////// Informaci� de la plana pare $pl = new PLANA_EXT(); $nom_pare = $pl->getPlanaById($pare); $tpl->assign("nom_pare", $nom_pare); /////////// Components, moduls i les seves consultes /////////// Components, moduls i les seves consultes /////////// Components, moduls i les seves consultes $md = new MODUL_PLANA_EXT(); $moduls_plana = $md->getModulsByPlana($idplana_redireccio); for ($m = 0; $m < sizeof($moduls_plana); $m++) { foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/items.php") && $moduls_plana[$m]->PHP == $modul) { include_once("moduls/" . $modul . "/items.php"); } } foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/items.php") && $moduls_plana[$m]->PHP == $component) { include_once("components/" . $component . "/items.php"); } } } //fi del for $tpl->assign("tool_picasa", $tool_picasa); $tpl->assign("path_aux", $path_aux); $tpl->assign("moduls", $moduls_plana); /////////////////////// Men�s /////////////////////// Men�s /////////////////////// Men�s /////////////////////// Men�s /////////////////////// Men�s /////////////////////// Men�s // _getMenuByNom('nom del menu'); $mn = new MENU_EXT(); $mn->selectAdd(); $mn->selectAdd('distinct NOM_MENU'); $mn->find(); while ($mn->fetch()) { $mn2 = new MENU_EXT(); $menuaux = $mn2->getMenuByNom($mn->NOM_MENU); $tpl->assign($mn->NOM_MENU, $menuaux); } /////////////////////FI Men�s/////////////////////// $cr = new core(); $cr->IDIOMA = $_SESSION['idioma']; $menu_seccio = $cr->getMenuByPare($idplana, $pare, $cnf->URL, 1, $pare); $tpl->assign("menu_seccio", $menu_seccio); ////////// Destacats dins de l'ambit o fils del ambit////////// Destacats dins de l'ambit o fils del ambit if ($_SESSION['conf']->ID_PLANA_AMBIT == $pare) { $cr = new core(); $pp = $cr->getCami($idplana); foreach ($pp as $cami) { if ($cami['pare'] == $pare) { $ambit = $cami['idplana']; } } $pl = new DESTACAT_EXT(); $dest = $pl->getDestacatsByAmbit($ambit); $tpl->assign("destacats", $dest); } /////////////////////// Cam� de formiga i path del titol /////////////////////// Cam� de formiga i path del titol $cr = new core(); $pp = $cr->getCami($idplana_real); for ($i = 0; $i < sizeof($pp); $i++) { $pl = new PLANA_EXT(); $link[$i]['link'] = $pl->getCamiPlana($pp[$i]['idplana']); $link[$i]['nom'] = $pl->getNomByIdPlana($pp[$i]['idplana']); } $link = array_reverse($link); $tpl->assign("path", $link); /////////////////////// Interior /////////////////////// Interior /////////////////////// Interior /////////////////////// Interior /////////////////////// Interior if ($_REQUEST['idplana']) { ////////// Carreguem les fotos de la portada (Opcional segons disseny) $im = new IMATGE_EXT(); $pi = $im->getImatges(0, "FRONTPAGE"); for ($f = 0; $f < sizeof($pi); $f++) { $fo = explode("/", $pi[$f]['img']->NOM_ARXIU); $foto[$f]['img'] = $fo[sizeof($fo) - 1]; $foto[$f]['nom'] = ($pi[$f]['img_dades']->NOM); $foto[$f]['des'] = ($pi[$f]['img_dades']->DESCRIPCIO); } $tpl->assign("ss", $foto); $ale = rand(0, sizeof($foto) - 1); $tpl->assign("imatge_home", $foto[$ale]); ////////// Cerquem la p�gina $pl = new PLANA_EXT(); $plana_actual = $pl->getPlanaById($idplana_redireccio); $tpl->assign("plana_actual", $plana_actual); ////////// Paragrafs de la p�gina $pf = new PARAGRAF_EXT(); $pfs = $pf->getParagraf($idplana_redireccio); $tpl->assign("pfs", $pfs); ////////// Imatges de la p�gina $im = new IMATGE_EXT(); $pi = $im->getImatges($idplana_redireccio, "PLANA"); $tpl->assign("imatges_plana", $pi); ////////// documents de la p�gina $im = new DOCUMENT_EXT(); $pi = $im->getDocuments($idplana_redireccio, "PLANA"); $tpl->assign("docs_plana", $pi); ////////// Links de la p�gina $im = new LINK_EXT(); $pi = $im->getLinks($idplana_redireccio, "PLANA", $_SESSION['idioma']); $tpl->assign("links_plana", $pi); ////////// Template Fills ////////// Template Fills if (($var_tpl == "tplFills.tpl.php") || ($var_tpl == "tplFillsNoFoto.tpl.php")) { ////////// fills de la p�gina ////////// fills de la p�gina $pe = new PLANA_EXT(); $fills = $pe->getFillsPlanaById($idplana_redireccio); $tpl->assign("fills", $fills); } ///// crides de moduls en la part interna foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/interior.php")) { include_once("moduls/" . $modul . "/interior.php"); } } foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/interior.php")) { include_once("components/" . $component . "/interior.php"); } } ////////// Template ////////// Template //$tpl->display("tpl/seccio.tpl.php"); $tpl->display("tpl/index.tpl.php"); } else { /////////////////////// Portada /////////////////////// Portada /////////////////////// Portada /////////////////////// Portada /////////////////////// Portada ////////// Imatges a portada ////////// Imatges a portada $im = new IMATGE_EXT(); $pi = $im->getImatges(0, "FRONTPAGE"); for ($f = 0; $f < sizeof($pi); $f++) { $fo = explode("/", $pi[$f]['img']->NOM_ARXIU); $foto[$f]['img'] = $fo[sizeof($fo) - 1]; $foto[$f]['nom'] = ($pi[$f]['img_dades']->NOM); $foto[$f]['des'] = ($pi[$f]['img_dades']->DESCRIPCIO); } $tpl->assign("ss", $foto); $ale = rand(0, sizeof($foto) - 1); $tpl->assign("imatge_home", $foto[$ale]); if ($conf->ID_PLANA_AMBIT) { ////////// Ambits a portada ////////// Ambits a portada $amb = new AMBIT_EXT(); $ambits = $amb->getAmbitsAll($conf->ID_PLANA_AMBIT); $tpl->assign("ambits", $ambits); } ///// crides de moduls a la portada foreach ($moduls_actius as $modul) { if (file_exists("moduls/" . $modul . "/portada.php")) { include_once("moduls/" . $modul . "/portada.php"); } } foreach ($components_actius as $component) { if (file_exists("components/" . $component . "/portada.php")) { include_once("components/" . $component . "/portada.php"); } } ////////// Template ////////// Template if ($params_all[0] == "imatge") { $longdesc = new IMATGE_EXT(); $img = $longdesc->getImatgeById($params_all[1]); $tpl->assign("longdesc", $img); $tpl->assign("tpl", "longdesc.tpl.php"); } elseif ($params_all[0] == "usuari") { $ne = new USUARI_WEB_EXT(); if ($params_all[1] != '') { $item = $ne->getUsariBylogin($params_all[1]); $tpl->assign("usuari_web", $item); $tpl->assign("tpl", "usuari.tpl.php"); } } $tpl->display("tpl/index.tpl.php"); }