"; if (substr($status, 0, 1) == '+') { $foto = substr($status, 2, -1); $size = substr(fgets($h, 1024), 0, -1); //echo "size = $size
"; $escriure = 1; $llegit = 0; } else { fclose($h); $h = 0; } } } if (! $h) { if ($directe) { $foto = ($act_dosmil ? './grafics/cara2.jpg' : './grafics/cara1.jpg'); } else { $foto = ($act_dosmil ? './grafics/calisay2.jpg' : './grafics/calisay1.jpg'); } $h = fopen($foto, 'r'); } $type = strtolower(substr(strrchr($foto,'.'), 1)); header("Content-type: image/$type"); if ($escriure) { //$mini = "./fotos/mini$show_foto.gif"; $foto = "./fotos/foto$show_foto.$type"; if (! $wh = fopen($foto, 'w+')) { $escriure = 0; } } else { $size = filesize($foto); } if ($escriure) { while (! feof($h)) { $read = fread($h, 1024); echo $read; fwrite($wh, $read); $llegit += strlen($read); } fclose($h); fclose($wh); } else { fpassthru($h); } if ($escriure) { if ($llegit == $size) { $query = "update forum set foto_nom='$foto' where id=$show_foto"; $result = mysql_query($query); /* if ($gran = imagecreatefromgif($foto)) { $act = getimagesize($foto); $alt = round($act[1] / ($act[0] / 50), 0); $peti = imagecreate(50, $alt); imagecopyresized($peti, $gran, 0,0,0,0, 50, $alt, $act[0], $act[1]); imagegif($peti, $mini); $query = "update forum set mini_nom = $mini"; $result = mysql_query($query); } */ } } exit; } function crea_radio($opt, $nom) { global $$nom; $set = $$nom; while (list($k1, $o) = each($opt)) { $check = ($o == $set ? 'checked' : '' ); global $$o; $$o = ""; } } function crea_checkbox($opt, $nom) { global $$nom; $set = $$nom; while (list($k1, $o) = each($opt)) { $check = (in_array($o, $set) ? 'checked' : '' ); global $$o; $$o = ""; } } function urlmes($list) { $ret = ''; while (list($k, $v) = each($list)) { if (is_array($GLOBALS[$v])) { while (list($k2, $v2) = each($GLOBALS[$v])) { $ret .= "&$v" . "[]=" . urlencode($v2) ; } } else { $ret .= "&$v=" . urlencode($GLOBALS[$v]); } } return $ret; } function forum_dades($id_miss) { $query = "select * from forum where id=$id_miss"; $result = mysql_query($query) or fi(); $dades = mysql_fetch_array($result, MYSQL_ASSOC); global $url; global $id; global $nom, $titol, $missatge; global $directe, $extern, $correu, $mobil; global $foto_nom, $foto_url; global $alta; global $any, $mes, $dia, $hora, $minut, $segon; global $data_dma, $hora_hm, $hora_hms; global $mis_dosmil, $mis_milnou; global $diad_horah; $id = $dades[id]; $nom = stripslashes($dades[nom]); $titol = stripslashes($dades[titol]); $missatge = ereg_replace("\n", "
", stripslashes($dades[missatge])); $directe = $dades[directe]; $extern = $dades[extern]; $correu = $dades[correu]; $mobil = $dades[mobil]; $foto_nom = $dades[foto_nom]; $foto_url = "$url?show_foto=$id"; $alta = $dades[alta]; list($any, $mes, $dia, $hora, $minut, $segon) = split('[: \-]', $alta); $data_dma = "$dia-$mes-$any"; $hora_hm = "$hora:$minut"; $hora_hms = "$hora:$minut:$segon"; $mis_dosmil = ("$any-$mes-$dia $hora:$minut:$segon" >= $diad_horah); $mis_milnou = ("$any-$mes-$dia $hora:$minut:$segon" < $diad_horah); return 1; } function loop_talatal() { global $lin_parell, $col_parell; $col_parell = ! $col_parell; global $arr_talatal, $pagina, $num_talatal; global $de_talatal, $a_talatal, $talatal, $act_talatal, $url_talatal; global $tr_talatal, $limit_talatal; global $url, $mes_buscar; if (! $talatal = next($arr_talatal)) { reset($arr_talatal); $num_talatal = 0; return 0; } if ($num_talatal % $tr_talatal == 0) { $limit_talatal = 1 ; $lin_parell = ! $lin_parell ; } else { $limit_talatal = 0; } $act_talatal = ($pagina == ++$num_talatal); $url_talatal = $url . "?pagina=$num_talatal" . $mes_buscar; $a_talatal = a($url_talatal, $talatal); $bo_talatal = submit('',$talatal) . hidden('pagina',$num_talatal) . $hid_buscar; return 1; } function loop_llistar() { global $llistarmax, $llistarcount, $result; if (++$llistarcount > $llistarmax) return 0; global $lin_parell; $lin_parell = ! $lin_parell; if (! $row = mysql_fetch_array($result)) return 0; forum_dades($row[id]); global $bo_borrarmissatge; global $url_veuremissatge, $bo_veuremissatge; global $id, $url; $bo_borrarmissatge = start_form() . submit("", "Borrar") . hidden('borrarmissatge', $id) . end_form(); $url_veuremissatge = "$url?veuremissatge=$id"; $a_veuremissatge = a($url_veuremissatge, 'Veure Missatge'); $bo_veuremissatge = start_form() . submit("", "Missatge") . hidden('veuremissatge', $id) . end_form(); return 1; } function quote($str) { return ($str = "'" . addslashes($str) . "'"); } function str2time($str) { list($any, $mes, $dia, $hora, $minut, $segon) = split('[: \-]', $str); return mktime($hora, $minut, $segon, $mes, $dia, $any); } function data2ascii($data, $hora = '') { $ts = data2ts($data, $hora); return date('Y-m-d H:i:s', $ts); } function data2ts($data, $hora = '') { if ($hora == '') { list($d, $m, $a, $h, $i, $s) = split('[^0-9]', $data); } else { list($d, $m, $a) = split('[^0-9]', $data); list($h, $i, $s) = split('[^0-9]', $hora); } if (checkdate($m, $d, $a)) { return mktime($h, $i, $s, $m, $d, $a); } else { return mktime(0,0,0,0,0,0); } } function restadata($ts1, $ts2) { $s = abs($ts1 - $ts2); $d = floor($s / 86400); $s %= 86400; $h = floor($s / 3600); $s %= 3600; $m = floor($s / 60); $s %= 60; return array($d, $h, $m, $s); } ///////////////////////////////////////////////////////////////////////////// $url = $PHP_SELF; $lin_parell = 0; $col_parell = 0; $act_directe = (getenv('REMOTE_ADDR') == $ipdirecte); $t = time(); $act_dia = date('d-m-Y', $t); $act_hora = date('H:i:s', $t); $act_dosmil = (date('Y-m-d H:i:s', $t) >= $diad_horah); $act_milnou = (date('Y-m-d H:i:s', $t) < $diad_horah); $t2000 = str2time($diad_horah); list($dif_d, $dif_h, $dif_m, $dif_s) = restadata($t, $t2000); $arr = segons_text(abs($t - $t2000)); $dif_d_t = $arr['d']; $dif_h_t = $arr['h']; $dif_m_t = $arr['m']; $dif_s_t = $arr['s']; unset($arr); $inici_form = start_form(); $fi_form = end_form(); $bo_reset = reset_(); $url_llistar = "$url?llistar=1"; $bo_llistar = submit('llistar', 'Últims Missatges'); $a_llistar = a($url_llistar, ''); $url_cercador = "$url?cercador=1"; $bo_cercador = submit('cercador', 'Cercar Missatges'); $a_cercador = a($url_cercador, ''); $url_feralta = "$url?feralta=1"; $bo_feralta = submit('feralta',"Escriu un Missatge !"); $a_feralta = a($url_feralta, ''); $url_aleatori = "$url?aleatori=1"; $bo_aleatori = submit('aleatori',"Missatge Qualsevol"); $a_aleatori = a($url_aleatori, ''); //////////////////// // autentificació // //////////////////// function entrar_clau() { Header("WWW-Authenticate: Basic realm=\"eFesta2000\""); Header("HTTP/1.0 401 Unauthorized"); echo "Autentificació cancel.lada\n

"; echo "Tornar a l'efesta2000"; exit; } if (isset($buscar) and $bu_nom == 'fer') { if ($bu_titol == 'login') { $login = 1; unset($buscar); }elseif ($bu_titol == 'logout') { $logout = 1; unset($buscar); } } $es_pot_esborrar = false; if (isset($PHP_AUTH_USER) and isset($PHP_AUTH_PW)) { if ($PHP_AUTH_USER == $usuari and $PHP_AUTH_PW == $clau) { if (isset($logout)) { entrar_clau(); }else{ $es_pot_esborrar = true; } } elseif (isset($login)) { entrar_clau(); } }elseif (isset($login)) { entrar_clau(); } ////////////////////////////// // Dades pel cercaform.html // ////////////////////////////// if ($bu_hora1 == '') $bu_hora1 = '00:00:00'; if ($bu_hora2 == '') $bu_hora2 = '23:59:59'; if ($bu_data1 == '') $bu_data1 = '01-01-1999'; if ($bu_data2 == '') $bu_data2 = '31-12-2000'; $f_bu_nom = text_field('bu_nom', $bu_nom, 21, 50); $f_bu_titol = text_field('bu_titol', $bu_titol, 21, 50); $f_bu_missatge = text_field('bu_missatge', $bu_missatge, 21, 50); $f_bu_data1 = text_field('bu_data1', $bu_data1, 11, 11); $f_bu_data2 = text_field('bu_data2', $bu_data2, 11, 11); $f_bu_hora1 = text_field('bu_hora1', $bu_hora1, 8, 8); $f_bu_hora2 = text_field('bu_hora2', $bu_hora2, 8, 8); $opt_tipus = array('f_bu_directe','f_bu_extern','f_bu_correu','f_bu_mobil'); if (! isset($set_tipus)) $set_tipus = $opt_tipus; crea_checkbox($opt_tipus, 'set_tipus'); $opt_ordre = array('f_or_alta','f_or_nom','f_or_titol'); if (! isset($set_ordre)) $set_ordre = 'f_or_alta'; crea_radio($opt_ordre, 'set_ordre'); $f_or_invers = '' : '>'); $bo_buscar = submit('buscar', 'Buscar'); /////////////////////////////////////////////////////////////////// if (isset($buscar)) { $hid_buscar = hidden('buscar', 1); $mes_buscar = urlmes(array('buscar','ord_invers','set_ordre','set_tipus', 'bu_nom','bu_titol','bu_missatge', 'bu_data1','bu_data2','bu_hora1','bu_hora2')); } else { $mes_buscar = $hid_buscar = ''; } if (isset($altafeta)) { $nom = htmlspecialchars(stripslashes($nom)); $titol = htmlspecialchars(stripslashes($titol)); $missatge = htmlspecialchars(stripslashes($missatge)); if ($nom == '' or $titol == '' or $missatge == '') { $feralta = 1; $err_blanc = 1; $altafeta = 0; } else { $err_blanc = 0; quote(&$nom); quote(&$titol); quote(&$missatge); $query = "insert into forum set alta=now(),nom=$nom,titol=$titol,missatge=$missatge"; $query .= ($act_directe ? ",directe=1" : ",extern=1"); $result = mysql_query($query); $nom = $titol = $missatge = ''; $veuremissatge = mysql_insert_id(); } } if (isset($feralta) and $feralta) { echo " L'Alta de nous misstges no està disponible
Tornar a l'Efesta "; fi(); $bo_altafeta = submit('altafeta', 'Enviar'); $f_nom = text_field('nom', $nom, 45, 45); $f_titol = text_field('titol', $titol, 45, 60); $f_missatge = textarea('missatge', $missatge, 8, 50); include incl_tmpl("./alta.html"); fi(); } if (isset($borrarmissatge) and $es_pot_esborrar) { $query = "delete from forum where id=$borrarmissatge"; $result = mysql_query($query) or fi(); echo "

Missatge $borrarmissatge esborrat!


"; } if (isset($aleatori)) { $query = "select id from forum"; $result = mysql_query($query) or fi(); $trobats = mysql_num_rows($result); srand(time()); $veuremissatge = rand(1, $trobats); } if (isset($veuremissatge)) { forum_dades($veuremissatge); include incl_tmpl('./missatge.html'); fi(); } if (isset($cercador)) { include incl_tmpl("./buscar.html"); fi(); } if (isset($buscar)) { $where = ' where 1'; if ($bu_nom) $where .= " and nom like " . quote("%$bu_nom%") ; if ($bu_titol) $where .= " and titol like " . quote("%$bu_titol%") ; if ($bu_missatge) $where .= " and missatge like " . quote("%$bu_missatge%") ; if ($bu_data1) $where .= " and alta>='" . data2ascii($bu_data1, $bu_hora1) . "'"; if ($bu_data2) $where .= " and alta<='" . data2ascii($bu_data2, $bu_hora2) . "'"; if (($s = sizeof($set_tipus)) != 4) { $n = 0; $or = ''; $where .= ' and (' ; while ($v = $set_tipus[$n++]) { $where .= $or . substr($v, 5); $or = ' or '; } $where .= ')'; } $where .= ' order by ' . substr($set_ordre , 5) . " $ord_invers"; $query = "select * from forum $where" ; } else { $query = "select * from forum order by alta desc"; } $result = mysql_query($query) or fi(); $trobats = mysql_num_rows($result); if (! $pagina) { $pagina = 1; } $url_anteriors = $url_seguents = ''; $arr_talatal = array(''); $num_talatal = 0; if ($trobats > $llistarmax) { $p = 0; for ($n = 1; $n <= $trobats; $n += $llistarmax) { $rang = "$n-" . min($trobats, ($n + $llistarmax - 1)); $arr_talatal[++$p] = $rang; } if ($pagina > 1) { $url_anteriors = $PHP_SELF . "?pagina=" . ($pagina - 1) . $mes_buscar ; } if ($pagina < ceil($trobats / $llistarmax)) { $url_seguents = $PHP_SELF . "?pagina=" . ($pagina + 1). $mes_buscar; } mysql_data_seek($result, ($pagina - 1) * $llistarmax); } $llistarcount = 0; $ant_o_seg = ($url_anteriors or $url_seguents); $ant_y_seg = ($url_anteriors and $url_seguents); include incl_tmpl("./llistar.html"); fi(); ?>