define("TITULO_PAGINA", $tituloPagina); define("SKIN", $skin); /************************************************************** * VERSIÓN UTILIZADA: Versión 2.2.3 * PROGRAMADO POR: Javier Rico Motos y Sergio Santos Belmonte * EMAIL: info@zuinqstudio.com * WEB: http://www.zuinqstudio.com * © Todos los derechos reservados ***************************************************************/ /************************************************************** * VERSIÓN UTILIZADA: Versión 2.1.0 * PROGRAMADO POR: Javier Rico Motos y Sergio Santos Belmonte * EMAIL: info@zuinqstudio.com * WEB: http://www.zuinqstudio.com * © Todos los derechos reservados ***************************************************************/ function bbddConect($host = null, $basedatos = null, $user = null, $password = null, $port = null, $encoding = 'utf8') { global $debugMode,$usuarioBBDD,$passwordBBDD,$nombreBBDD,$hostBBDD,$portBBDD,$encodingBBDD; $host = (is_null($host) ? $hostBBDD : $host); $basedatos = (is_null($basedatos) ? $nombreBBDD : $basedatos); $user = (is_null($user) ? $usuarioBBDD : $user); $password = (is_null($password) ? $passwordBBDD : $password); $port = (is_null($port) ? $portBBDD : $port); $encoding = (is_null($encoding) ? $encodingBBDD : $encoding); try { $dsn = "mysql:host=$host;dbname=$basedatos;charset=$encoding;port=$port"; $link = new PDO($dsn, $user, $password, array( PDO::ATTR_EMULATE_PREPARES => false, //No se puede poner a true porque si no al devolver los resultados de las consultas los devuelve todos como string PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, )); } catch (PDOException $e){ echo "Error al conectar".($debugMode ? " (".$e->getMessage().")" : ""); } return $link; } function bbddQueryFetch($query, $params = null) { return bbddQuery($query, $params, true); } function bbddQuery($query, $params = null, $fetchItems = false) { global $link; try { $res = true; if(is_null($params)) { $stmt = $link->query($query); } else { $stmt = $link->prepare($query); $res = $stmt->execute($params); } return ($fetchItems ? $stmt->fetchAll(\PDO::FETCH_ASSOC) : ($res ? $stmt : false)); } catch(\PDOException $e) { echo "
".$e->getMessage().""; print $e; } return false; } function bbddComposeDebugSQL($query, $params) { $res = $query; $tmp = array(); preg_match_all("/(\\:\w+)/", $query, $tmp); foreach($tmp[0] AS $k) { if($k != "") { if(is_numeric($params[$k]) || is_null($params[$k])) { $res = str_replace($k, $params[$k], $res); } else { $res = str_replace($k, '"'.$params[$k].'"', $res); } } } return $res; } function bbddLastInsertId(){ global $link; return intval($link->lastInsertId()); } function bbddSingleScalarResult($query, $params = null){ global $link; if(is_null($params)) { $stmt = $link->query($query); } else { $stmt = $link->prepare($query); $stmt->execute($params); } $res = $stmt->fetchColumn(); return (is_numeric($res) ? $res : 0); } function beginTransaction(){ global $link; if(!$link->inTransaction()) { $link->beginTransaction(); } } function commitTransaction(){ global $link; if($link->inTransaction()) { $link->commit(); } } function rollbackTransaction(){ global $link; if($link->inTransaction()) { $link->rollBack(); } } function bbddCloseConnection(){ global $link; $link = null; } /************************************************************** * VERSIÓN UTILIZADA: Versión 2.2.3 * PROGRAMADO POR: Javier Rico Motos y Sergio Santos Belmonte * EMAIL: info@zuinqstudio.com * WEB: http://www.zuinqstudio.com * © Todos los derechos reservados ***************************************************************/ /** * @param $nombreDeSesion * @param int $maxlifetimeMin * @param int $maxTiempoInactividadMin * @param bool $secure * @param bool $httponly * @param string $samesite None|Strict|Lax * @return bool|string */ function iniciaSession($nombreDeSesion, $maxlifetimeMin = 0, $maxTiempoInactividadMin = 0, $secure = false, $httponly = true, $samesite = '') { if(!sessionAvailable()) { return false; } $currentParams = session_get_cookie_params(); $maxlifetimeSecs = ($maxlifetimeMin <= 0 ? $currentParams["lifetime"] : $maxlifetimeMin * 60); $maxTiempoInactividadSecs = $maxTiempoInactividadMin * 60; if(!session_id()) { session_name($nombreDeSesion); if(PHP_VERSION_ID < 70300) { session_set_cookie_params($maxlifetimeSecs, ($samesite != "" ? "/;SameSite=$samesite" : "/"), $currentParams["domain"], $secure, $httponly); } else { $sessionParams = [ 'lifetime' => $maxlifetimeSecs, 'path' => '/', 'domain' => $currentParams["domain"], 'secure' => $secure, 'httponly' => $httponly, ]; if($samesite != "") { $sessionParams['samesite'] = $samesite; } session_set_cookie_params($sessionParams); } session_start(); } /** Si lleva mas de $maxTiempoInactividad segundos de inactividad */ if($maxTiempoInactividadSecs > 0 && isset($_SESSION['ultima_actividad']) && (time() - $_SESSION['ultima_actividad'] > $maxTiempoInactividadSecs)) { session_regenerate_id(true); session_unset(); session_destroy(); } $_SESSION['ultima_actividad'] = time(); return sessionId(); } function finalizaSession() { if(sessionAvailable()) { session_regenerate_id(true); session_destroy(); } } function sessionId() { return session_id(); } function sessionStarted() { //return (session_status() != PHP_SESSION_NONE); return (sessionId() != ''); } function existeVarSession($nombreVar) { return (sessionAvailable() && isset($_SESSION[$nombreVar])); } function getVarSession($nombreVar, $valorDefecto = null) { if(sessionAvailable() && existeVarSession($nombreVar)) { return $_SESSION[$nombreVar]; } else { return $valorDefecto; } } function setVarSession($nombreVar, $nuevoValor) { if(sessionAvailable()) { $_SESSION[$nombreVar] = $nuevoValor; } } function getObjSession($nombreVar, $valorDefecto = null) { if(sessionAvailable() && existeVarSession($nombreVar)) { return unserialize($_SESSION[$nombreVar]); } else { return $valorDefecto; } } function setObjSession($nombreVar, $nuevoValor) { if(sessionAvailable()) { $_SESSION[$nombreVar] = serialize($nuevoValor); } } function unsetVarSession($nombreVar) { if(sessionAvailable()) { unset($_SESSION[$nombreVar]); } } function sessionAvailable() { global $argc; return !isset($argc); } /************************************************************** * VERSIÓN UTILIZADA: Versión 2.2.3 * PROGRAMADO POR: Javier Rico Motos y Sergio Santos Belmonte * EMAIL: info@zuinqstudio.com * WEB: http://www.zuinqstudio.com * © Todos los derechos reservados ***************************************************************/ include_once("../includes/clases/utils/includes.inc.php"); function includeClases($clases = "", $pathBase = "../includes/clases"){ $todos = ($clases==""); $clases = explode(",",strtolower($clases)); if(in_array("participacion",$clases) || $todos){ include_once($pathBase."/participacion.class.php"); } }