'', 'id_tipo_archivo' => '', // 1: imagen, 2: documento 'id_tipo_origen' => '', // 1: jornada 'id_idioma' => '1', // 1: castellano 'archivo' => '', 'alt' => '', 'title' => '', 'descripcion' => '', 'texto' => '', 'id_tipo_etiqueta' => '', 'num_play' => '', 'num_completo' => '', 'publicar' => '0' ); var $tipos = Array( 'id_origen' => 'int', 'id_tipo_archivo' => 'int', // 1: imagen, 2: documento 'id_tipo_origen' => 'int', // 1: jornada 'id_idioma' => 'int', // 1: castellano 'archivo' => 'varchar', 'alt' => 'varchar', 'title' => 'varchar', 'descripcion' => 'varchar', 'texto' => 'varchar', 'id_tipo_etiqueta' => 'int', 'num_play' => 'int', 'num_completo' => 'int', 'publicar' => 'int' ); var $error = ''; var $ancho_thumb = 84; var $res; var $linkr; var $linkw; /** * De momento vamos a coontrolar si mod_archivos va versionado co una variable en la clase * Más adelante lo tendremos que pasar en el constructor * @var boolean */ var $versiones = FALSE; var $infoReg = array(); var $comun; /** * @param string $linkr * @param string $linkw * @param $comun con las versiones se hace necesarios saber si el archivo es comun o no */ function archivo($linkr = "", $linkw = "", $comun = false) { if (isset ( $linkr )) $this->linkr = $linkr; if (isset ( $linkw )) $this->linkw = $linkw; if (isset ( $comun )) $this->comun = $comun; if($GLOBALS['objetos_versionados'])$this->versiones=TRUE; } function setCampo($campo, $valor) { $this->campos [strtolower ( $campo )] = $valor; } function getCampo($campo) { return $this->campos [strtolower ( $campo )]; } function getId() { return $this->id_archivo; } function get($id_archivo) { $_sqlA = "SELECT * FROM " . $this->tabla . " WHERE id_archivo=" . $id_archivo; // control publicado if (!$_SESSION['editar'] && $this->isVersioned()) { $strWhere .= " AND ott_publicado = 1"; } // versiones if ($this->isVersioned()) { $sqlVersion .= " ORDER BY ott_version DESC LIMIT 1"; } $_resA = query ( $_sqlA . $strWhere . $sqlVersion , $this->linkr ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } $_dataA = mysql_fetch_object ( $_resA ); if (! $_dataA) { $this->error = "Error, archivo no encontrado: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $id_archivo; $this->getInfoVersion($_dataA); return true; } function getM($id_origen, $id_tipo_archivo = 1, $id_tipo_origen = 1, $publicar = 1, $id_tipo_etiqueta = 1, $id_categoria = "", $idioma = "") { if ($id_tipo_etiqueta) $strTipoEtiqueta = " AND id_tipo_etiqueta=" . $id_tipo_etiqueta; if ($id_categoria) $strCategoria = " AND id_categoria=" . $id_categoria; if ($idioma) $strIdioma = " id_idioma = " . $idioma; else $strIdioma = " id_idioma = " . $_SESSION ["idioma"]; // control publicado if ($this->isVersioned()) { if (!$_SESSION['editar']) { $strWhere .= " AND ott_publicado = 1"; } else { $strWhere .= " AND ott_version_activa = 1"; } } if (! $this->res) { $_sqlA = "SELECT * FROM " . $this->tabla . " WHERE " . $strIdioma . $strWhere . " AND id_origen=" . $id_origen . " AND id_tipo_archivo=" . $id_tipo_archivo . " AND id_tipo_origen=" . $id_tipo_origen . " AND publicar=" . $publicar . $strTipoEtiqueta . $strCategoria; //echo $_sqlA; $_resA = query ( $_sqlA, $this->linkr ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } $_dataA = mysql_fetch_object ( $_resA ); if (! $_dataA) { $this->error = "Error, archivo no encontrado: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; $this->res = $_resA; $this->getInfoVersion($_dataA); } else { $_dataA = mysql_fetch_object ( $this->res ); if (! $_dataA) { $this->error = "Error, fin dataset: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; $this->getInfoVersion($_dataA); } return true; } //copia de getM con opcion de idioma function getM_idioma($id_origen, $id_tipo_archivo = 1, $id_tipo_origen = 1, $publicar = 1, $id_tipo_etiqueta = 1, $id_categoria = "", $idioma) { if ($id_tipo_etiqueta) $strTipoEtiqueta = " and id_tipo_etiqueta=" . $id_tipo_etiqueta; if ($id_categoria) $strCategoria = " and id_categoria=" . $id_categoria; if (! $this->res) { $_sqlA = "select * from " . $this->tabla . " where id_idioma = " . $idioma . " and id_origen=" . $id_origen . " and id_tipo_archivo=" . $id_tipo_archivo . " and id_tipo_origen=" . $id_tipo_origen . " and publicar=" . $publicar . $strTipoEtiqueta . $strCategoria; //echo $_sqlA; $_resA = query ( $_sqlA, $this->linkr ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } $_dataA = mysql_fetch_object ( $_resA ); if (! $_dataA) { $this->error = "Error, archivo no encontrado: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; $this->res = $_resA; } else { $_dataA = mysql_fetch_object ( $this->res ); if (! $_dataA) { $this->error = "Error, fin dataset: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; } return true; } function getMM($id_origen, $id_tipo_archivo = 1, $id_tipo_origen = 1) { if (! $this->res) { $_sqlA = "select * from " . $this->tabla . " where id_idioma = " . $_SESSION ["idioma"] . " and id_origen=" . $id_origen . " and id_tipo_archivo=" . $id_tipo_archivo . " and id_tipo_origen=" . $id_tipo_origen; $_resA = query ( $_sqlA, $this->linkr ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } $_dataA = mysql_fetch_object ( $_resA ); if (! $_dataA) { $this->error = "Error, archivo no encontrado: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; $this->res = $_resA; $this->getInfoVersion($_dataA); } else { $_dataA = mysql_fetch_object ( $this->res ); if (! $_dataA) { $this->error = "Error, fin dataset: $_sqlA
" . mysql_error (); return false; } foreach ( $this->campos as $campo => $valor ) $this->campos [$campo] = $_dataA->$campo; $this->id_archivo = $_dataA->id_archivo; $this->getInfoVersion($_dataA); } return true; } function cuantos() { if ($this->res) return mysql_num_rows ( $this->res ); else return 0; } function seek($n) { if ($this->res) return mysql_data_seek ( $this->res, $n ); else return false; } function update() { if (! isset ( $this->id_archivo )) { $this->error = "Error: id_archivo no está inicilizado"; return false; } $_sqlA = "UPDATE " . $this->tabla . " SET "; foreach ( $this->campos as $campo => $valor ) { if ($this->tipos [$campo] == int) { if (! $this->campos [$campo]) $_sqlA .= $campo . "=0,"; else $_sqlA .= $campo . "=" . $this->campos [$campo] . ","; } else $_sqlA .= $campo . "='" . $this->campos [$campo] . "',"; } $_sqlA = rtrim ( $_sqlA, "," ) . " WHERE id_archivo = " . $this->id_archivo; // control de versiones if ($this->isVersioned()) { return $this->insert('update'); } else { $_resA = query ( rtrim ( $_sqlA, "," ), $this->linkw ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } } return true; } function insert($previous = null) { $_sqlA = "INSERT INTO " . $this->tabla . " ( "; foreach ( $this->campos as $campo => $valor ) { $c .= $campo . ","; if ($this->tipos [$campo] == int) { if (! $this->campos [$campo]) $v .= "0,"; else $v .= $this->campos [$campo] . ","; } else $v .= "'" . $this->campos [$campo] . "',"; } // versiones if ($this->isVersioned()) { if ($previous == 'update') { // vengo de un update, por lo tanto hay versiones anteriores que debo desactivar (ott_version_activa=0) // debo desactivar el idioma que estoy tratando en este momento, en caso de que tenga idioma // y en caso de que no sea comun. Si es comun desactivo todos. if ($this->campos['id_idioma']) { if (!$this->comun) { $condIdioma = " AND id_idioma = ".$this->campos['id_idioma']; } } else unset($condIdioma); $s = 'UPDATE ' . $this->tabla . ' SET ott_version_activa = 0 WHERE id_archivo = '.$this->getId().$condIdioma; $r = query($s , $this->linkw); if (!$r) { $this->error = "Error: $s
" . mysql_error (); return false; } $_sqlA .= 'id_archivo,'.rtrim($c,",").",ott_autor,ott_version,ott_version_activa) VALUES ( ".$this->getId().",".rtrim($v,",").",'".$_SESSION['usu_admin']."',".($this->infoReg['numVersion']+1).",1)"; } else { $_sqlA .= rtrim($c,",").",ott_autor,ott_version,ott_version_activa) VALUES ( ".rtrim($v,",").",'".$_SESSION['usu_admin']."',".($this->infoReg['numVersion']+1).",1)"; } } else { $_sqlA .= rtrim ( $c, "," ) . ") VALUES ( " . rtrim ( $v, "," ) . ")"; //exit($_sqlA); } $_resA = query ( rtrim ( $_sqlA, "," ), $this->linkw ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } $this->id_archivo = mysql_insert_id (); return true; } function delete($id, $path = "") { $_sqlA = "delete from " . $this->tabla . " where id_archivo=" . $id; $_resA = query ( $_sqlA, $this->linkw ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } // ahora borro los ficheros asociados // unlink($this->getPath($path,"archivo",0,"fichero")); // if ($this->campos["id_tipo_archivo"] == _IMG_) // unlink($this->getPath($path,"archivo",1,"fichero")); // rmdir($this->getPath($path,"archivo",0,"dir")); // if ($this->campos["id_tipo_archivo"] == _IMG_) // rmdir($this->getPath($path,"archivo",1,"dir")); return true; } function get_insert_id() { $_sqlA = "select max(id_archivo) as idT from " . $this->tabla . ""; $_resA = query ( $_sqlA, $this->linkr ); if (! $_resA) { $this->error = "Error: $_sqlA
" . mysql_error (); return false; } if (mysql_num_rows ( $_resA ) > 0) { $_dataA = mysql_fetch_object ( $_resA ); return $_dataA->idT; } else return 0; } function getTipoEtiqueta() { if ($this->campos ['id_tipo_etiqueta']) return getTipoEtiqueta ( $this->link, $this->campos ['id_tipo_etiqueta'] ); else return "-"; } function getImgEtiqueta() { if ($this->campos ['id_tipo_etiqueta']) return getImgEtiqueta ( $this->link, $this->campos ['id_tipo_etiqueta'] ); else return "-"; } function getTamanyo($path = "../../") { if ($this->campos ['archivo']) { $kb = intval ( filesize ( $path . "upload/" . getTipoOrigen ( $this->campos ['id_tipo_origen'] ) . "/" . getTipoArchivo ( $this->campos ['id_tipo_archivo'] ) . "/" . $this->id_archivo . "/" . $this->campos ['archivo'] ) / 1024 ); return $kb . " KB"; } else return "0 KB"; } function getPath($base_path, $archivo, $thumb = 0, $dir = "fichero") { if ($thumb) $thumbStr = "/thumb"; else $thumbStr = ""; if ($dir == "fichero") return $base_path . $thumbStr . $this->campos [$archivo]; else return $base_path . $thumbStr; } function getAlt($base_path, $archivo, $thumb = 0, $dir = "fichero") { if ($thumb) $thumbStr = "/thumb"; else $thumbStr = ""; if ($dir == "fichero") return $this->campos ['alt']; else return ""; } function getTitle($base_path, $archivo, $thumb = 0, $dir = "fichero") { if ($thumb) $thumbStr = "/thumb"; else $thumbStr = ""; if ($dir == "fichero") return $this->campos ['title']; else return ""; } function error() { return $this->error; } public function isVersioned() { return ($this->versiones == true); } public function isPublished() { if ($this->isVersioned()) { return ($this->infoReg['publicado'] == 'Publicado'); } return true; } protected function getInfoVersion($data) { if ($this->isVersioned()) { $this->infoReg['numVersion'] = $data->ott_version; $this->infoReg['autor'] = $data->ott_autor; $this->infoReg['fecha_modificacion'] = $data->fecha_modificacion; $this->infoReg['publicado'] = ($data->ott_publicado?'Publicado':'Pendiente'); } } public function publicar() { $s = "UPDATE ".$this->tabla." SET ott_publicado = 0, ott_version_activa = 0 WHERE id_archivo = ".$this->getId(); $r = query($s,$this->linkw); if (!$r) { $this->error = "Error: $s
".mysql_error(); return false; } // luego pongo a publicado el que tenga la versión mas alta $s = "UPDATE ".$this->tabla." SET ott_publicado = 1, ott_version_activa = 1 where id_archivo = ".$this->getId()." AND ott_version = ".$this->infoReg['numVersion']; $r = query($s,$this->linkw); if (!$r) { $this->error = "Error: $s
".mysql_error(); return false; } return true; } } ?> Estudios de investigación sobre la migraña
. **/ var $siguiente = "Siguiente >"; /** * Código de Anterior. * * Este atributo contiene el código HTML que representará al link * para retroceder a la página anterior de resultados. * Puede ser cualquier código HTML permitido dentro dentro de un * tag . **/ var $anterior = "< Anterior"; function enablePagina() { return $this -> enablePagina = func_get_arg(0); } /**metodo para acceder a la $pagina**/ function pagina() { switch (func_num_args()) { case 1 : $this -> pagina = func_get_arg(0); $this -> pagina = empty($this -> pagina) ? 1 : $this -> pagina; break; default : return $this -> pagina; break; } } function porPagina() { switch (func_num_args()) { case 1 : $this -> porPagina = func_get_arg(0); break; default : return $this -> porPagina; break; } } /** * Despliega el link hacia la siguiente página * Siempre que quede una página siguiente, se muestra un link * hacia la siguiente página de resultados. * El método acepta ser llamado con un parámetro que contenga el * código HTML que representará al link y que pueda ser representado * encerrado dentro de un tag . **/ function siguiente() { switch (func_num_args()) { case 2 : $class = func_get_arg(1); case 1 : $this -> siguiente = func_get_arg(0); default : //$a = ((($this->pagina-1)*($this->porPagina))+$this->cuantos()); //$b = $this->cuantos(); //if($this->pagina()*($this->cuantos()/$this->porPagina)+1 < $this->cuantos()) //if($a < $b); if($this -> pagina < $this -> totalPaginas()) { if($_SESSION["editar"]) return " paramPaginado . "=" . ($this -> pagina() + 1) . $this -> propagar() . "\">" . $this -> siguiente . ""; else return " paramPaginado . "=" . ($this -> pagina() + 1) . $this -> propagar()) . "\">" . $this -> siguiente . ""; } if($this -> pagina() == $this -> totalPaginas()) { //return $this->siguiente; return "" . $this -> siguiente . ""; } break; } } /** * Despliega el link hacia la página anterior. * * Siempre que no estemos en la primer página, se muestra un link * hacia la página anterior de resultados. * El método acepta ser sllamado con un parámetro que contenga el * código HTML que representará al link y que pueda ser representado * encerrado dentro de un tag . **/ function anterior() { switch (func_num_args()) { case 2 : $class = func_get_arg(1); case 1 : $this -> anterior = func_get_arg(0); default : if($this -> pagina() != 1) { if($_SESSION["editar"]) return " paramPaginado . "=" . ($this -> pagina() - 1) . $this -> propagar() . "\">" . $this -> anterior . ""; else return " paramPaginado . "=" . ($this -> pagina() - 1) . $this -> propagar()) . "\">" . $this -> anterior . ""; } if($this -> pagina() == 1) { //return $this->anterior; return "" . $this -> anterior . ""; } break; } } function anterior3() { global $_object; switch (func_num_args()) { case 2 : $class = func_get_arg(1); case 1 : $this -> anterior = func_get_arg(0); default : //de momento la funcion linkTo solo acepta parametros por array $propagar[$this -> paramPaginado] = ($this -> pagina() - 1); if($this -> propagar()) { $str = explode('&', $this -> propagar()); foreach($str as $v) { $str2 = explode('=', $v); if(trim($str2[0])) $propagar[$str2[0]] = $str2[1]; } } //if($GLOBALS['idiomas']) //{ if($this -> pagina() != 1) { if($_SESSION["editar"])//no esta programado return " paramPaginado . "=" . ($this -> pagina() - 1) . $this -> propagar() . "\">" . $this -> anterior . ""; else return "" . $this -> anterior . ""; } if($this -> pagina() == 1) { //return $this->anterior; //return "".$this->anterior.""; return ; } //} break; } } function siguiente3() { global $_object; switch (func_num_args()) { case 2 : $class = func_get_arg(1); case 1 : $this -> siguiente = func_get_arg(0); default : //de momento la funcion linkTo solo acepta parametros por array $propagar[$this -> paramPaginado] = ($this -> pagina() + 1); if($this -> propagar()) { $str = explode('&', $this -> propagar()); foreach($str as $v) { $str2 = explode('=', $v); if(trim($str2[0])) $propagar[$str2[0]] = $str2[1]; } } //$a = ((($this->pagina-1)*($this->porPagina))+$this->cuantos()); //$b = $this->cuantos(); //if($this->pagina()*($this->cuantos()/$this->porPagina)+1 < $this->cuantos()) //if($a < $b); if ($this -> pagina < $this -> totalPaginas()) { if($_SESSION["editar"]) return " paramPaginado . "=" . ($this -> pagina() + 1) . $this -> propagar() . "\">" . $this -> siguiente . ""; else //return "paramPaginado."=".($this->pagina()+1).$this->propagar())."\">".$this->siguiente.""; return "" . $this -> siguiente . ""; } if($this -> pagina() == $this -> totalPaginas()) { //return $this->siguiente; //return "".$this->siguiente.""; return; } break; } } /** * Despliega los números de páginas posibles * Este método muestra una lista de todas las páginas posibles como * links, excepto la página actual, que se encuentra sin link y resaltada * en negrita. **/ function nroPaginas($separador="|", $preLink="", $postLink="", $preActive="", $postActive="") { if($_SESSION["editar"]) { //for($i = 1; $i <= $this->totalPaginas() ; $i++) $ini = intval($this -> pagina / 5) * 5; if($ini == 0) $ini = 1; $fin = (intval($this -> pagina / 5) * 5) + 5; if($fin > $this -> totalPaginas()) $fin = $this -> totalPaginas(); for($i = $ini; $i <= $fin; $i++) { //if($i == $ini){ $preLink = str_replace('li', 'li class="primera"', $preLink); } $temp[$i] = $preLink . " paramPaginado . "=$i" . $this -> propagar()) . "\">$i" . $postLink; //if($i == $ini){ $preLink = str_replace('li class="primera"', 'li', $preLink); } } // for //if($this->pagina() == $ini) { $preActive = str_replace('li', 'li class="primera"', $preActive); } $class = 'class="seleccionada"'; $temp[$this -> pagina()] = $preActive . " paramPaginado . "=$i" . $this -> propagar()) . "\" $class>" . $this -> pagina() . "" . $postActive; return implode(" " . $separador . " ", $temp); } else { $ini = intval($this -> pagina / 5) * 5; if($ini == 0) $ini = 1; $fin = (intval($this -> pagina / 5) * 5) + 5; if($fin > $this -> totalPaginas()) $fin = $this -> totalPaginas(); //echo""; for($i = $ini; $i <= $fin; $i++) { //if($i == $ini){ $preLink = str_replace('li', 'li class="primera"', $preLink); } $temp[$i] = $preLink . " paramPaginado . "=$i" . $this -> propagar()) . "\">$i" . $postLink; //if($i == $ini){ $preLink = str_replace('li class="primera"', 'li', $preLink); } } // for //if($this->pagina() == $ini) { $preActive = str_replace('li', 'li class="primera"', $preActive); } $class = 'class="seleccionada"'; $temp[$this -> pagina()] = $preActive . " paramPaginado . "=$i" . $this -> propagar()) . "\" $class>" . $this -> pagina() . "" . $postActive; return implode("", $temp); } } // function function nroPaginas3($separador="|", $preLink="", $postLink="", $preActive="", $postActive="") { global $_object; //de momento la funcion linkTo solo acepta parametros por array if($this -> propagar()) { $str = explode('&', $this -> propagar()); foreach($str as $v) { $str2 = explode('=', $v); if(trim($str2[0])) $propagar[$str2[0]] = $str2[1]; } } if($_SESSION["editar"]) { //for($i = 1; $i <= $this->totalPaginas() ; $i++) $ini = intval($this -> pagina / 5) * 5; if($ini == 0) $ini = 1; $fin = (intval($this -> pagina / 5) * 5) + 5; if($fin > $this -> totalPaginas()) $fin = $this -> totalPaginas(); for($i = $ini; $i <= $fin; $i++) { //propagar $propagar[$this -> paramPaginado] = $i; //if($i == $ini){ $preLink = str_replace('li', 'li class="primera"', $preLink); } //if($i == ($fin)){ $preLink = str_replace('li', 'li class="ultima"', $preLink); } //$temp[$i] = $preLink."paramPaginado."=$i".$this->propagar())."\">$i".$postLink; $temp[$i] = $preLink . "$i" . $postLink; //if($i == $ini){ $preLink = str_replace('li class="primera"', 'li', $preLink); } //if($i == ($fin)){ $preLink = str_replace('li class="ultima"', 'li', $preLink); } } // for //if($this->pagina() == $ini) { $preActive = str_replace('li', 'li class="primera"', $preActive); } //if($this->pagina() == ($fin)) { $preActive = str_replace('li', 'li class="ultima"', $preActive); } //$class = 'class="seleccionada"'; //propagar $propagar[$this -> paramPaginado] = $this -> pagina(); //$temp[$this->pagina()] = $preActive."paramPaginado."=$i".$this->propagar())."\" $class>".$this->pagina()."".$postActive; $temp[$this -> pagina()] = $preActive . $this -> pagina() . $postActive; return implode(" " . $separador . " ", $temp); } else { $ini = intval($this -> pagina / 5) * 5; if($ini == 0) $ini = 1; $fin = (intval($this -> pagina / 5) * 5) + 5; if($fin > $this -> totalPaginas()) $fin = $this -> totalPaginas(); for($i = $ini; $i <= $fin; $i++) { //propagar $propagar[$this -> paramPaginado] = $i; //if($i == $ini){ $preLink = str_replace('li', 'li class="primera"', $preLink); } //if($i == ($fin)){ $preLink = str_replace('li', 'li class="ultima"', $preLink); } //$temp[$i] = $preLink."paramPaginado."=$i".$this->propagar())."\">$i".$postLink; $temp[$i] = $preLink . "$i" . $postLink; //if($i == $ini){ $preLink = str_replace('li class="primera"', 'li', $preLink); } //if($i == ($fin)){ $preLink = str_replace('li class="ultima"', 'li', $preLink); } } // for //if($this->pagina() == $ini) { $preActive = str_replace('li', 'li class="primera"', $preActive); } //if($this->pagina() == ($fin)) { $preActive = str_replace('li', 'li class="ultima"', $preActive); } //$class = 'class="seleccionada"'; //propagar $propagar[$this -> paramPaginado] = $this -> pagina(); //$temp[$this->pagina()] = $preActive."paramPaginado."=$i".$this->propagar())."\" $class>".$this->pagina()."".$postActive; $temp[$this -> pagina()] = $preActive . $this -> pagina() . $postActive; return implode(" " . $separador . " ", $temp); } } /** * Indica que variables se desean propagar en los links. * * Este metodo recibe una lista de nombres que son guarados internamente * hasta que son creados los links para navegar los resultados. En ese * momento, son agregados los nombres de las variables con sus valores * para que puedan ser propagados. **/ function propagar() { switch(func_num_args()) { case 0 : if($this -> variables && is_array($this -> variables)) { foreach($this->variables as $var) { //$ret.= "&$var=".$GLOBALS[$var]; if($GLOBALS[$var]) $ret .= "&$var=" . sanitize($GLOBALS[$var]); else $ret .= "&$var=" . sanitize($_REQUEST[$var]); } } return $ret; break; default : for($i = 0; $i < func_num_args(); $i++) { $this -> variables[] = func_get_arg($i); } break; } } /** * Retorna el indice dentro del Result Set del primer * elemento de la página actual. **/ function desde() { return (($this -> pagina() - 1) * $this -> porPagina()) + 1; } /** * Retorna el �ndice dentro del Result Set del �ltimo * elemento de la p�gina actual. **/ function hasta() { return ($this -> desde() - 1) + $this -> cuantos(); } /** * Método para acceder a $total **/ function total() { switch (func_num_args()) { case 1 : $this -> total = func_get_arg(0); break; default : return $this -> total; break; } } function totalPaginas() { switch (func_num_args()) { case 1 : $this -> totalPaginas = func_get_arg(0); break; default : return $this -> totalPaginas; break; } } /** * Método para acceder a $_registros **/ function registros() { switch (func_num_args()) { case 1 : $this -> _registros = func_get_arg(0); break; default : return $this -> registros; break; } } function pagInicio() { if($this -> pagina() > 1) { return " paramPaginado . "=1" . $this -> propagar() . "\">" . func_get_arg(0) . ""; } elseif($this -> pagina() == 1) return func_get_arg(0); } function pagFinal() { if($this -> pagina() < $this -> totalPaginas()) { return " paramPaginado . "=" . $this -> totalPaginas() . $this -> propagar() . "\">" . func_get_arg(0) . ""; } elseif($this -> pagina() == $this -> totalPaginas()) return func_get_arg(0); } function mostrarEnlaces($separador="|", $strAnterior, $strSiguiente, $strInicio="", $strFinal="") { //return ($this->anterior()." ".$separador." ".$this->nroPaginas($separador)." ".$separador." ".$this->siguiente($cuantos)); //return ($this->anterior($strAnterior)." ".$separador." ".$this->nroPaginas($separador)." ".$separador." ".$this->siguiente($strSiguiente)); if($this -> enablePagina) return ($this -> pagInicio("$strInicio") . " " . $this -> anterior("$strAnterior") . " " . $separador . " " . $this -> siguiente("$strSiguiente") . " " . $this -> pagFinal("$strFinal")); } function getM($where ="", $orden ="", $strId ="id", $cabeceraSelect ="", $groupby ="") { //idioma if (!$cabeceraSelect) { if ($this -> vars["idioma"]) { if ($_SESSION["idioma"]) $strWhere .= " WHERE id_idioma = " . $_SESSION["idioma"]; else $strWhere .= " WHERE id_idioma = 1"; } } if ($orden) $strOrden = " ORDER BY " . $orden; if ($groupby) $strGroupby = " GROUP BY " . $groupby; if ($strWhere) { if ($where) $strWhere .= " AND " . $where; } else { if ($where) $strWhere .= " WHERE " . $where; } // control publicado if ($this->isVersioned()) { if (!$_SESSION['editar']) { if ($strWhere) $strWhere .= " AND ott_publicado = 1"; else $strWhere .= " WHERE ott_publicado = 1"; } else { if ($strWhere) $strWhere .= " AND ott_version_activa = 1"; else $strWhere .= " WHERE ott_version_activa = 1"; } } if (!$this -> res) { //echo "
"; if (!$cabeceraSelect) { if ($this->isVersioned()) { if ($this->vars["idioma"]) { $_sql = "SELECT * FROM ( SELECT * FROM " . $this -> tabla . " ORDER BY ott_version DESC) as tmp " . $strWhere . " GROUP BY id,id_idioma " . $strOrden; } else { $_sql = "SELECT * FROM ( SELECT * FROM " . $this -> tabla . " ORDER BY ott_version DESC) as tmp " . $strWhere . " GROUP BY id " . $strOrden; } //$_sql = "select t1.* from " . $this -> tabla . " AS t1 LEFT OUTER JOIN " . $this -> tabla . " AS t2 ON (t1.id = t2.id AND t1.ott_version < t2.ott_version) " . $strWhere . " AND t2.id IS NULL and t1.id_idioma = ".$_SESSION['idioma'] . $strOrden . $strLimit; } else { $_sql = "SELECT * FROM " . $this -> tabla . $strWhere . $strOrden; } /* if ($this->isVersioned()) { $_sql = "select t1.* from " . $this -> tabla . " AS t1 LEFT OUTER JOIN " . $this -> tabla . " AS t2 ON (t1.id = t2.id AND t1.ott_version < t2.ott_version) " . $strWhere . " AND t2.id IS NULL and t1.id_idioma = ".$_SESSION['idioma'] . $strOrden; } else { $_sql = "select * from " . $this -> tabla . $strWhere . $strOrden; } */ } else { $_sql = $cabeceraSelect . $strWhere . $strGroupby . $strOrden; } //echo $_sql; if($this -> debug) echo $_sql; $_SESSION['sql_list']=$_sql; $_res = mysql_query($_sql, $this -> linkr); if($this -> enablePagina) { $this -> res = $_res; $this -> total($this -> cuantos()); $this -> totalPaginas(ceil($this -> total() / $this -> porPagina())); // Comprobamos que no se intenta acceder a una página que no existe. if($this -> pagina() > $this -> totalPaginas()) { $this -> error("No existe la página " . $this -> pagina() . " de resultados. Hay solo un total de " . $this -> totalPaginas()); return false; } $strLimit = " limit " . ($this -> desde() - 1) . "," . $this -> porPagina; //exit($strLimit); } if (!$cabeceraSelect) { if ($this->isVersioned()) { if ($this->vars["idioma"]) { $_sqlA = "SELECT * FROM ( SELECT * FROM " . $this -> tabla . " ORDER BY ott_version DESC) as tmp " . $strWhere . " GROUP BY id,id_idioma " . $strOrden . $strLimit; } else { $_sqlA = "SELECT * FROM ( SELECT * FROM " . $this -> tabla . " ORDER BY ott_version DESC) as tmp " . $strWhere . " GROUP BY id " . $strOrden . $strLimit; } //$_sqlA = "select t1.* from " . $this -> tabla . " AS t1 LEFT OUTER JOIN " . $this -> tabla . " AS t2 ON (t1.id = t2.id AND t1.ott_version < t2.ott_version) " . $strWhere . " AND t2.id IS NULL and t1.id_idioma = ".$_SESSION['idioma'] . $strOrden . $strLimit; } else { $_sqlA = "SELECT * FROM " . $this -> tabla . $strWhere . $strOrden . $strLimit; } } else { $_sqlA = $cabeceraSelect . $strWhere . $strGroupby . $strOrden . $strLimit; } if($this -> debug) echo $_sqlA; //$this->registros( $this->cuantos()); $_resA = mysql_query($_sqlA, $this -> linkr); if(!$_resA) { $this -> error = "Error: $_sqlA
" . mysql_error(); return false; } $_dataA = mysql_fetch_object($_resA); if(!$_dataA) { $this -> error = "Error, registro no encontrado: $_sqlA
" . mysql_error(); return false; } foreach($this->campos as $campo => $valor) { $this -> campos[$campo] = $_dataA -> $campo; } $this -> id = $_dataA -> $strId; $this -> fecha_alta = $_dataA -> fecha_alta; $this -> res = $_resA; parent::getInfoVersion($_dataA); } else { $_dataA = mysql_fetch_object($this -> res); if(!$_dataA) { $this -> error = "Error, fin dataset: $_sqlA
" . mysql_error(); return false; } foreach($this->campos as $campo => $valor) $this -> campos[$campo] = $_dataA -> $campo; $this -> id = $_dataA -> $strId; $this -> fecha_alta = $_dataA -> fecha_alta; parent::getInfoVersion($_dataA); } return true; } function renew() { unset($this -> res); } function setParamPaginado($str) { $this -> paramPaginado = $str; } } ?>

Estudios de investigación

Estudio genético en Barcelona

 

¿Por qué participar?

Por tus hijos.

Está demostrado que la migraña tiene un fuerte componente genético.

Los estudios genéticos pretenden identificar los genes responsables de la migraña para poder personalizar los tratamientos.

 

Participar ahora en un estudio genético permite que mañana encontremos soluciones para mejorar sustancialmente el diagnóstico de la migraña, su tratamiento y por tanto la calidad de vida de los migrañosos.

¿Quién puede participar?

En este estudio se buscan migrañosas/os:

  • que tienen al menos 1 episodio de migraña al mes
  • que NO toman medicación diaria.
  • que pueden acudir a Barcelona, al hospital universitario Vall d'Hebrón

¿Qué tendré que hacer?

Es tan sencillo como rellenar un cuestionario y hacerse una analítica.


¿Cómo participar?

1. Envíar un correo electrónico a estudio.micromig@gmail.com y desde el Hospital te contactarán para concertar una visita.

2. Acudir al hospital Vall d'Hebrón (ver mapa) en la fecha y hora acordada