Entra

View Full Version : [PHP]Problema lettere


Tama
23-02-2010, 09:02
Salve!
Sto installando in sistema di news in php su un sito, e ho questo problema: se nella notizia che voglio inserire ci sono lettere accentate, quando le invio ottengo un errore: "bad request
Your browser sent a request that this server could not understand."
non mi era mai capitata questa cosa...

anonimizzato
23-02-2010, 17:58
Dovresti dare qualche indicazione in pių sul codice che stai usando.

Ciao.

Tama
23-02-2010, 18:22
allora... il file dove inserisco le news č questo, sezione add_art (c'č anche un file che si chiama crea_art e mi sa anche qualcos'altro in mezzo...):
//includo i soliti file che mi servono
require("./config.inc.php");
require("./admin_functions.php");

//funzione per controllare il log
control_log();



//seleziono i settings
$query_setting = @mysql_query("SELECT * FROM $tab_settings",$db_accesso);

//uso extract per abbreviare la cosa
@extract(mysql_fetch_assoc($query_setting));


//array di controllo per i campi obbligatori
$array_control = array (
"art_titolo","art_visite","art_stampa","art_download","art_datacrea",
"art_datauscita","votoup","votodown"
);


$limite =& $limit_art_admin;
$limite = ($limite == 0) ? 10 : $limite;
//lunghezza minima delle parole da cercare
$min_leng = MIN_INDICIZZA;
//lunghezza massima della parole da cercare
$max_leng = MAX_INDICIZZA;
//codice per il blocco nel preview
$block = PREVIEW_BLOCK;


// includo l'header
include("$admin_tempdir/head_admin.php");

//inizio della cella centrale
eval("printtemp(\"".gettemp("$admin_tempdir/tab_main_central.php")."\");");


//inzio switch
switch ($_GET["action"]) {

default:

//controllino veloce
if (!empty($_GET["idcat"])) {

//faccio ulrdecode del nome della categoria
if (!empty($_GET["cat"])) {
$categoria = urldecode(strtoupper(formatta($_GET["cat"],"n")));
$cat = urlencode($_GET["cat"]);
} else {
$categoria = "numero ".$_GET["idcat"];
$cat = "N.D.";
}

//query per selezionare gli articoli
$query = @mysql_query(" SELECT $tab_art.idart, $tab_art.idcat, $tab_art.art_titolo, $tab_art.art_datauscita,
$tab_art.art_mostra, $tab_user.iduser, $tab_user.username AS autore,
FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data
FROM $tab_art LEFT JOIN $tab_user ON $tab_art.art_poster = $tab_user.iduser
WHERE $tab_art.idcat = '$_GET[idcat]'
ORDER BY $tab_art.art_datauscita DESC limit $_GET[step],$limite");

//query paginazione
$query_tot=@mysql_query("SELECT 1 FROM $tab_art WHERE idcat = '$_GET[idcat]'");

$num_record= mysql_num_rows($query_tot);
$num_pagine=intval($num_record/$limite);
if ($num_record%$limite) {
$num_pagine++;
}


//eval dell'inizio tabella
eval("printtemp(\"".gettemp("$admin_tempdir/tab_start_art_bycat.php")."\");");


//vedo se c'č almeno un articolo
if ($num_record > 0) {

// inizio ciclo while
while ($array = mysql_fetch_assoc($query)) {

//conto le pagine per ogni articolo
$query_total_page = @mysql_query("SELECT 1 FROM $tab_art_pag WHERE idart = '$array[idart]'");
$totale_pagine = mysql_num_rows($query_total_page);


#============ LAVORO SULLE VARIABILI =============#
$array["art_titolo"] = formatta($array["art_titolo"],"n");
$status = ($array["art_datauscita"] <= $now && $array["art_mostra"] == "y") ? "on.gif" : "off.gif";

//vedo l'autore
if (isset($array["autore"])) {

$array["autore"] = "<a class=\"piccolo\" href=\"users.php?action=edit_user&iduser=$array[iduser]\" title=\"Modifica il profilo\">$array[autore]</a>";

} else {

$array["autore"] = "<font class=\"piccolo\" color=red>".DEFAULT_WRITER."</font>";

}

//ciclo per cambiare colore alle tabelle
$bgcolor = (($i%2)==0) ? $color_ad1 : $color_ad2;
//indice
$i++;
#============ FINE LAVORO SULLE VARIABILI ========#


//eval del trtd dei file
eval("printtemp(\"".gettemp("$admin_tempdir/trtd_tab_art_bycat.php")."\");");

} //fine ciclo while

} else { // fine if $num_record > 0

//template
readfile("$admin_tempdir/no_art.php");

} // fine else di if $num_record > 0


//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_end_art_bycat.php")."\");");

// paginazione
if (!isset($num_pagine)) $num_pagine = 0;
if ($num_pagine > 1) paginazione ( "articoli.php?idcat=$_GET[idcat]&amp;cat=$cat&amp;", 0, "95%",
"center", "piccolo", "10px 0","Pagina");

} else { //fine controllo $_GET["idcat"]

$messaggio = "Manca l'ID della categoria";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

break;

/*----------*/

case "add_art" :

if (!isset($_GET["idcat"])) $_GET["idcat"] = 0;

// PARTE RELATIVA ALLA TABELLA DEGLI SMILIES
($parse_smile == "y") ? include("tabella_smilies.php") : $tabella_smilie = "<br /><br />";

//query per selezionare le categorie
$query_select_cat = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '0' ORDER BY cat_nome");


$catoption_cat = "<select name=\"idcat\" class=\"tendina\">";

//nel ciclo faccio un'altra query per selezionare le relative subcat
while ($array_cat = mysql_fetch_assoc($query_select_cat)) {

//funzione per tagliare i nomi troppo lunghi nel menų a tendina
$array_cat["cat_nome"] = cut_parola($array_cat["cat_nome"],CUT_CAT_ADMIN);

$query_sub = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '$array_cat[idcat]'");


if (isset($array_cat["idcat"]) && ($array_cat["idcat"] == $_GET["idcat"])) {

$catoption_cat.="
<option value=\"$array_cat[idcat]\" selected>- ".formatta($array_cat["cat_nome"],"n")."</option>";

} else {

$catoption_cat.="
<option value=\"$array_cat[idcat]\">- ".formatta($array_cat["cat_nome"],"n")."</option>";

}

//ciclo per le relative subcat
while ($array_sub = mysql_fetch_assoc($query_sub)) {

//funzione per tagliare i nomi troppo lunghi nel menų a tendina
$array_sub["cat_nome"] = cut_parola($array_sub["cat_nome"],CUT_CAT_ADMIN);

if (isset($array_sub["idcat"]) && ($array_sub["idcat"] == $_GET["idcat"])) {

$catoption_cat.="
<option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\" selected>&nbsp;&nbsp;-- ". formatta($array_sub["cat_nome"],"n") ."</option>";

} else {

$catoption_cat.="
<option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\">&nbsp;&nbsp;-- ". formatta($array_sub["cat_nome"],"n") ."</option>";

}

}

}


$catoption_cat.="</select>";

//adesso vedo se far selezionare gli autori all'admin oppure metterlo predefinito
if (isset($_SESSION["level"]) && $_SESSION["level"] == 1) {

//questo mi serve per il menų a tendina
$_GET["iduser"] = $_SESSION["iduser"];

//query per selezionare i nomi dei poster
$query_select_two[1] = @mysql_query(" SELECT iduser, username
FROM $tab_user
WHERE email_approved = 'y' AND activation_code = '0'
ORDER BY iduser");

//funzione per il menų a tendina
select_two("1","array_select_poster","art_poster","iduser","username","iduser","2");
//in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo
$href = "javascript:userprof();";

} else {

//query per selezionare l'autore singolo
$query_select_poster = @mysql_query("SELECT iduser, username FROM $tab_user WHERE iduser = '$_SESSION[iduser]'");
$risultato = mysql_num_rows($query_select_poster);

if ($risultato != 0) {
@extract(mysql_fetch_assoc($query_select_poster));
} else {
$username = DEFAULT_WRITER;
$iduser = 0;
}

$catselect_two[1] = "<font class=\"grassetto\">$username</font>";
$catselect_two[1] .= "<input type=\"hidden\" name=\"art_poster\" value=\"$iduser\">";
//in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo
$href = "profile.php";

}

//adesso vedo se aggiungere il check "mostra articolo" solo per amministratori e superredattori
if ($_SESSION["level"] == 3) {

$check_mostra_art = "";

} else {

$mostra_y = "checked";
$mostra_n = "";

ob_start();
$check_mostra_art = eval("printtemp(\"".gettemp("$admin_tempdir/trtd_mostra_art.php")."\");");
$check_mostra_art = ob_get_contents();
ob_end_clean();

}

//inserisco il modulo per inserire un nuovo file
eval("printtemp(\"".gettemp("$admin_tempdir/form_add_art.php")."\");");


break;

/*----------*/

case "insert_art":

if (isset($_POST["flag"]) && isset($_POST["idcat"])) {

//indice di controllo di alcuni campi
$control_format_campi = 0;
$control_campi_numerali = 0;
//array per i campi non validi
$array_control2 = array();

foreach ($_POST as $chiave => $valore) {

if (in_array($chiave,$array_control)) {

if (trim($_POST["$chiave"]) == "") {

$control_format_campi++;

//popolo l'array per vedere quali campi non vanno bene
array_push($array_control2,$chiave);

}
}
}


if (!is_numeric($_POST["art_download"]) ||
!is_numeric($_POST["votodown"]) ||
!is_numeric($_POST["votoup"]) ||
!is_numeric($_POST["art_visite"]) ||
!is_numeric($_POST["art_stampa"])) {

$control_campi_numerali ++;
}


if ($control_format_campi == 0) {

if ($control_campi_numerali == 0) {

####### LAVORO SU ALCUNE VARIABILI ######
$data_c_ex = explode("/",$_POST["art_datacrea"]);
$data_c_mk = mktime (0, 0, 0, $data_c_ex[1], $data_c_ex[0], $data_c_ex[2]);

$data_u_ex = explode("/",$_POST["art_datauscita"]);
$ora_u_ex = explode(":",$_POST["art_orauscita"]);
$data_u_mk = mktime ($ora_u_ex[0], $ora_u_ex[1], $ora_u_ex[2], $data_u_ex[1], $data_u_ex[0], $data_u_ex[2]);
#########################################

//controllino per vedere se gli articoli dei redattori devono essere moderatori
if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) {

$_POST["art_mostra"] =& $_POST["art_mostra"];

} elseif ($_SESSION["level"] == 3 && $user_moderation == "y") {

$_POST["art_mostra"] = "n";

} else {

$_POST["art_mostra"] = "y";

}


$dati_art= @mysql_query("INSERT INTO $tab_art VALUES (
'',
'$_POST[idcat]',
'$_POST[art_titolo]',
'$_POST[art_sottotitolo]',
'$_POST[art_titolo_hp]',
'$_POST[art_sottotitolo_hp]',
'$_POST[art_description]',
'$_POST[art_keywords]',
'$_POST[art_immagine]',
'$_POST[art_correlati]',
'$_POST[art_linkutili]',
'$_POST[art_poster]',
'$_POST[art_visite]',
'$_POST[art_stampa]',
'$_POST[art_download]',
'$data_c_mk',
'$data_u_mk',
'$_POST[art_mostra]',
'$_POST[art_html]');");


//preparo l'id relazionato
$idrelated_art = mysql_insert_id();
$ctr_query = mysql_affected_rows();

//se la prima query č andata
if ($ctr_query > 0) {

//vedo se č stata inserita la prima pagina
if (trim($_POST["art_corpo"]) != "") {

//query per il corpo della news
@mysql_query ("INSERT INTO $tab_art_pag VALUES (
'',
'$idrelated_art',
'$_POST[idcat]',
'1',
'$_POST[art_corpo]')") ;

}

//unisco il testo da indicizzare
$idrelated =& $idrelated_art;
$idrelated_pag = mysql_insert_id();
$testo =& $_POST["art_corpo"];
$title =& $_POST["art_titolo"];

//funzione indicizza
indicizza($testo,1,$title);

//query per i voti
@mysql_query("INSERT INTO $tab_voto VALUES (
'',
'$idrelated',
'$_POST[idcat]',
'$_POST[votoup]',
'$_POST[votodown]');");


/*query per selezionare il nome della categoria scelta*/
$query_cat = @mysql_query("SELECT cat_nome FROM $tab_cat WHERE idcat = '$_POST[idcat]'");

//uso extract per abbreviare la cosa
@extract(mysql_fetch_assoc($query_cat));



//adesso vedo se fare il redirect per creare i file
if ($redirect_insert == "n") {

$messaggio = "Pagina inserita con successo!!";
$target = "articoli.php?idcat=$_POST[idcat]&amp;cat=". addslashes(urlencode($cat_nome));

} else {

$messaggio = "Pagina inserita con successo!! Attendi per i file statici";
$target = "crea_file.php?action=all&amp;idcat=$_POST[idcat]&amp;cat=". addslashes(urlencode($cat_nome));

}

//template
eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");");

} else {

$messaggio = "Si sono verificati dei problemi. La pagina non č stata inserita!";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

} else { //fine controllo $control_campi_numerali

$messaggio = <<< print_code

<div align="left"><font color="red">
Download Effettuati<br />
Visite<br />
Voti Up<br />
Voti down<br />
Stampa</font><br /><br />
Devono essere campi numerici
</div>

print_code;

//tabella errore campi no numerici
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

} else { //fine controllo $control_format_campi

//inizio della tabella errore
readfile("$admin_tempdir/error_empty_field_start.php");


foreach ($array_control2 as $value) {
$value = str_replace("art_titolo","Titolo",$value);
$value = str_replace("art_corpo","Testo",$value);
$value = str_replace("tendina_idcat","Categoria",$value);
$value = str_replace("art_download","Download Effettuati",$value);
$value = str_replace("art_visite","Visite",$value);
$value = str_replace("art_stampa","Visite",$value);
$value = str_replace("votoup","Voti Up",$value);
$value = str_replace("votodown","Voti Down",$value);
$value = str_replace("art_datacrea","Data creazione",$value);
$value = str_replace("art_datauscita","Data uscita",$value);

//eval della tabella errore campi vuoti
eval("printtemp(\"".gettemp("$admin_tempdir/error_empty_field.php")."\");");

}

//fine della tabella errore
readfile("$admin_tempdir/error_empty_field_end.php");

}

} else { // fine dell'if di controllo

$messaggio = "Manca la categoria";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

break;

/*----------*/

case "del_art":

if (!empty($_GET["idart"])) {

//controllo sui permessi
if ($_SESSION["level"] == 3) {

$query_art = @mysql_query(" SELECT art_poster
FROM $tab_art
WHERE idart = '$_GET[idart]'");

@extract(mysql_fetch_assoc($query_art));

} else {

$art_poster = 0;

}

if ($_SESSION["level"] != 3 || $_SESSION["iduser"] == $art_poster) {

//cancello i voti, i commenti, le pagine, l'articolo dalla tabella search, gli ip, i referer, l'articolo
@mysql_query("DELETE QUICK FROM $tab_voto WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_com WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_art_pag WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_search WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_ip WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_ref WHERE idart = '$_GET[idart]'");
@mysql_query("DELETE QUICK FROM $tab_art WHERE idart = '$_GET[idart]'");



//setto la cat in caso non ci fosse(ad esempio quando si proviene dalla pagina statistiche)
if (!isset($_GET["cat"])) $_GET["cat"] = "";

//adesso vedo se fare il redirect per creare i file
if ($redirect_insert == "n") {

$messaggio = "Pagina cancellata con successo!!";

//adesso vedo come reindirizzare l'utente
if (isset($_GET["idcat"]) && !empty($_GET["idcat"]) && !empty($_GET["cat"])) {

$target = "articoli.php?idcat=$_GET[idcat]&amp;cat=$_GET[cat]";

} else {

$target = "categorie.php";

}

} else {

$messaggio = "Pagina cancellata con successo!! Attendi per i file statici";

//adesso vedo come reindirizzare l'utente
if (isset($_GET["idcat"]) && !empty($_GET["idcat"])) {

$target = "crea_file.php?action=all&amp;idcat=$_GET[idcat]&amp;cat=$_GET[cat]";

} else {

$target = "categorie.php";

}

}

//tabella!
eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");");

} else {

$messaggio = "Non puoi cancellare un record pubblicato da altri";

//tabella errore!
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

} else {

$messaggio = "Manca l'ID di riferimento";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

break;

/*----------*/

case "edit_art":

if (!empty($_GET["idart"])) {

// PARTE RELATIVA ALLA TABELLA DEGLI SMILIES
($parse_smile == "y") ? include("tabella_smilies.php") : $tabella_smilie = "<br /><br />";

//seleziono i dati dell'articolo
$query = @mysql_query(" SELECT $tab_art.*, FROM_UNIXTIME($tab_art.art_datacrea,'%d/%m/%Y') AS data_crea,
FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data_uscita,
FROM_UNIXTIME($tab_art.art_datauscita,'%H:%i:%s') AS ora_uscita,
$tab_art_pag.art_corpo, $tab_art_pag.art_pagina, $tab_art_pag.idart_pag,
$tab_voto.votoup, $tab_voto.votodown
FROM $tab_art LEFT JOIN $tab_art_pag ON $tab_art.idart = $tab_art_pag.idart
LEFT JOIN $tab_voto ON $tab_art.idart = $tab_voto.idart
WHERE $tab_art.idart = '$_GET[idart]' ORDER BY $tab_art_pag.art_pagina");

$array = mysql_fetch_assoc($query);

//variabile di controllo
$control_var =& $array["art_titolo"];


//se non trovo risultato
if (!empty($control_var)) {

//query per selezionare la tendina delle categorie
$query_select_cat = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '0' ORDER BY cat_nome");

$catoption_cat = "<select name=\"idcat\" class=\"tendina\">";


//nel ciclo faccio un'altra query per selezionare le relative subcat
while ($array_cat = mysql_fetch_assoc($query_select_cat)) {

//funzione per tagliare i nomi troppo lunghi nel menų a tendina
$array_cat["cat_nome"] = cut_parola($array_cat["cat_nome"],CUT_CAT_ADMIN);

$query_sub = @mysql_query("SELECT idcat, cat_nome FROM $tab_cat WHERE subcat = '$array_cat[idcat]'");


if (isset($array_cat["idcat"]) && ($array_cat["idcat"] == $_GET["idcat"])) {

$catoption_cat.="
<option value=\"$array_cat[idcat]\" selected>- ".formatta($array_cat["cat_nome"],"n")."</option>";

} else {

$catoption_cat.="
<option value=\"$array_cat[idcat]\">- ".formatta($array_cat["cat_nome"],"n")."</option>";

}

//ciclo per le relative subcat
while ($array_sub = mysql_fetch_assoc($query_sub)) {

//funzione per tagliare i nomi troppo lunghi nel menų a tendina
$array_sub["cat_nome"] = cut_parola($array_sub["cat_nome"],CUT_CAT_ADMIN);

if (isset($array_sub["idcat"]) && ($array_sub["idcat"] == $_GET["idcat"])) {

$catoption_cat.="
<option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\" selected>&nbsp;&nbsp;-- ". formatta($array_sub["cat_nome"],"n") ."</option>";

} else {

$catoption_cat.="
<option value=\"$array_sub[idcat]\" style=\"background:#f0f0f0; color:#000;\">&nbsp;&nbsp;-- ". formatta($array_sub["cat_nome"],"n") ."</option>";

}
}
}

$catoption_cat.="</select>";

//adesso vedo se far selezionare gli autori all'admin oppure metterlo predefinito
if (isset($_SESSION["level"]) && $_SESSION["level"] == 1) {

//query per selezionare gli autori
$query_select_poster = @mysql_query(" SELECT iduser, username
FROM $tab_user WHERE email_approved = 'y' AND activation_code = '0'
ORDER BY iduser");

$catselect_poster ="<select name=\"art_poster\" class=\"tendina\">\n
<option value=\"0\">- ".DEFAULT_WRITER."</option>\n";

while ($array_poster = mysql_fetch_assoc($query_select_poster)) {


if (isset($array_poster["iduser"]) && ($array_poster["iduser"] == $array["art_poster"])) {

$catselect_poster .="<option value=\"$array_poster[iduser]\" selected>- $array_poster[username]</option>\n";

} else {

$catselect_poster .="<option value=\"$array_poster[iduser]\">- $array_poster[username]</option>\n";

}
}

$catselect_poster .="</select>\n";

//in base al livello dell' utente metto un link alla funzione javascript oppure direttamente al profilo
$href = "javascript:userprof();";

} else {

//query per selezionare gli autori
$query_select_poster = @mysql_query(" SELECT iduser, username
FROM $tab_user
WHERE iduser = '$array[art_poster]'");

$risultato = mysql_num_rows($query_select_poster);

if ($risultato != 0) {

@extract(mysql_fetch_assoc($query_select_poster));
$href = "profile.php";

} else {

$username = DEFAULT_WRITER;
$iduser = 0;
$href = "javascript:userprof();";

}

$catselect_poster = "<font class=\"grassetto\">$username</font>";
$catselect_poster .= "<input type=\"hidden\" name=\"art_poster\" value=\"$iduser\">";

}
//===============================================\\


#============ LAVORO SULLE VARIABILI =============#
if (empty($array["art_pagina"])) $array["art_pagina"] = 1;

//formatto i vari campi usando un ciclo
foreach ($array AS $key => $value) {

$array[$key] = formatta_edit($array[$key]);

}

//preparo lo switch per il mostracat
switch ($array["art_mostra"]) {
case "y":
$mostra_y = "checked";
$mostra_n = "";
break;
case "n":
$mostra_y = "";
$mostra_n = "checked";
break;
}

switch ($array["art_html"]) {
case "y":
$html_y = "checked";
$html_n = "";
break;
case "n":
$html_y = "";
$html_n = "checked";
break;
}

//adesso vedo se aggiungere il check "mostra articolo" solo per amministratori e superredattori
if ($_SESSION["level"] == 3) {

$check_mostra_art = "";

} else {

ob_start();
$check_mostra_art = eval("printtemp(\"".gettemp("$admin_tempdir/trtd_mostra_art.php")."\");");
$check_mostra_art = ob_get_contents();
ob_end_clean();

}
#============ FINE LAVORO SULLE VARIABILI ========#


//parte iniziale della tabella di edit
eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art_start.php")."\");");


//creo questa variabile per il logo
$var_gif = "";
//logo da mostrare
if (trim($array["art_immagine"]) != "") {

$query_logo = @mysql_query("SELECT idlogo, logo_width, logo_height
FROM $tab_loghi
WHERE logo_nome='$array[art_immagine]'");

$array_logo = mysql_fetch_assoc($query_logo);

if (isset($array_logo["idlogo"])) {

$mostra_logo = "<img src=\"viewlogo.php?idlogo=$array_logo[idlogo] align=\"absmiddle\" border=\"1\" hspace=\"10\" width=\"$array_logo[logo_width]\" height=\"$array_logo[logo_height]\" alt=\"\">";

//tabella per mostrare il logo se c'č
eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art_middle.php")."\");");

} else {

$var_gif = "<font class=\"piccolo\" color=\"red\">[inesistente]</font>";

}

}


//inserisco il modulo per inserire un nuovo file
eval("printtemp(\"".gettemp("$admin_tempdir/form_edit_art.php")."\");");

} else {


$messaggio = "Nessuna pagina corrispondente";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

} else {

$messaggio = "Manca l'ID di riferimento";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

break;

/*----------*/

case "edita_art":

//controllo sui permessi
if ($_SESSION["level"] != 3 || $_SESSION["iduser"] == $_POST["art_poster"]) {

if (isset($_POST["idcat"]) && !empty($_POST["idart"]) && isset($_POST["flag"])) {

#============ LAVORO SULLE VARIABILI =============#

//indice di controllo di alcuni campi
$control_format_campi = 0;
$control_campi_numerali = 0;
//array per i campi non validi
$array_control_edit = array();

foreach ($_POST as $chiave => $valore) {

if (in_array($chiave,$array_control)) {

if (trim($_POST["$chiave"]) == "") {

$control_format_campi++;

//popolo l'array per vedere quali campi non vanno bene
array_push($array_control_edit,$chiave);

}
}
}


if (!is_numeric($_POST["art_download"]) ||
!is_numeric($_POST["votodown"]) ||
!is_numeric($_POST["votoup"]) ||
!is_numeric($_POST["art_visite"]) ||
!is_numeric($_POST["art_stampa"])) {

$control_campi_numerali ++;

}
#============ FINE LAVORO SULLE VARIABILI ========#


if ($control_format_campi == 0) {

if ($control_campi_numerali == 0) {

$data_c_ex = explode("/",$_POST["art_datacrea"]);
$data_c_mk = mktime (0, 0, 0, $data_c_ex[1], $data_c_ex[0], $data_c_ex[2]);
$data_u_ex = explode("/",$_POST["art_datauscita"]);
$ora_u_ex = explode(":",$_POST["art_orauscita"]);
$data_u_mk = mktime($ora_u_ex[0],$ora_u_ex[1],$ora_u_ex[2], $data_u_ex[1], $data_u_ex[0], $data_u_ex[2]);

//controllino per vedere se gli articoli dei redattori devono essere moderati
if ($_SESSION["level"] != 3) {

$art_mostra = "art_mostra = '$_POST[art_mostra]',";

} else {

$art_mostra = "";

}

//update dei dati da inserire//art_mostra = '$_POST[art_mostra]',
@mysql_query("UPDATE $tab_art SET
idcat = '$_POST[idcat]',
art_titolo = '$_POST[art_titolo]',
art_sottotitolo = '$_POST[art_sottotitolo]',
art_titolo_hp = '$_POST[art_titolo_hp]',
art_sottotitolo_hp = '$_POST[art_sottotitolo_hp]',
art_description = '$_POST[art_description]',
art_keywords = '$_POST[art_keywords]',
art_immagine = '$_POST[art_immagine]',
art_correlati = '$_POST[art_correlati]',
art_linkutili = '$_POST[art_linkutili]',
art_poster = '$_POST[art_poster]',
art_visite = '$_POST[art_visite]',
art_stampa = '$_POST[art_stampa]',
art_download = '$_POST[art_download]',
art_datacrea = '$data_c_mk',
art_datauscita = '$data_u_mk',
$art_mostra
art_html = '$_POST[art_html]'
WHERE idart = '$_POST[idart]'") or die(mysql_error());


//adesso vedo se fare un nuovo inserimento o un update
if (trim($_POST["art_corpo"]) != "") {

if (trim($_POST["idart_pag"]) == "") {

@mysql_query("INSERT INTO $tab_art_pag VALUES (
'',
'$_POST[idart]',
'$_POST[idcat]',
'1',
'$_POST[art_corpo]')");


//unisco il testo da indicizzare
$idrelated =& $_POST["idart"];
$idrelated_pag = mysql_insert_id();
$title =& $_POST["art_titolo"];
$testo =& $_POST["art_corpo"];

indicizza($testo,1,$title);

} else {

//query per la prima pagina
@mysql_query("UPDATE $tab_art_pag SET
idcat = '$_POST[idcat]',
art_corpo = '$_POST[art_corpo]'
WHERE idart_pag = '$_POST[idart_pag]'") or die(mysql_error());

//unisco il testo da indicizzare
$idarticolo =& $_POST["idart"];
$idart_pag =& $_POST["idart_pag"];
$title =& $_POST["art_titolo"];
$testo =& $_POST["art_corpo"];

reindicizza($testo,1,$title);

}

} else {

if (trim($_POST["idart_pag"]) != "") {

@mysql_query("DELETE QUICK FROM $tab_art_pag WHERE idart_pag = '$_POST[idart_pag]'");

}
}


//query per i voti
@mysql_query("UPDATE $tab_voto SET
idcat = '$_POST[idcat]',
votoup = '$_POST[votoup]',
votodown = '$_POST[votodown]'
WHERE idart = '$_POST[idart]'");


/*query per selezionare il nome della categoria scelta (si poteva evitare ma visto che Mysql č cosė veloce... */
$query_cat = @mysql_query("SELECT cat_nome FROM $tab_cat WHERE idcat = '$_POST[idcat]'");

//uso extract per abbreviare la cosa
@extract(mysql_fetch_assoc($query_cat));


//adesso vedo se fare il redirect per creare i file
if ($redirect_insert == "n") {

$messaggio = "Pagina modificata con successo!!";
$target = "articoli.php?idcat=$_POST[idcat]&amp;cat=". addslashes(urlencode($cat_nome));

} else {

$messaggio = "Pagina modificata con successo!! Attendi per i file statici";
$target = "crea_file.php?action=all&amp;idcat=$_POST[idcat]&amp;cat=". addslashes(urlencode($cat_nome));

}

//template
eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");");


} else { //fine controllo $control_campi_numerali

$messaggio = <<< print_code

<div align="left"><font color="red">
Download Effettuati<br />
Visite<br />
Voti Up<br />
Voti down<br />
Stampa</font><br /><br />
Devono essere campi numerici
</div>

print_code;

//tabella errore campi no numerici
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

} else { //fine controllo $control_format_campi

//inizio della tabella errore
readfile("$admin_tempdir/error_empty_field_start.php");


foreach ($array_control_edit as $value) {
$value = str_replace("art_titolo","Titolo",$value);
$value = str_replace("art_corpo","Testo",$value);
$value = str_replace("tendina_idcat","Categoria",$value);
$value = str_replace("art_download","Download Effettuati",$value);
$value = str_replace("art_visite","Visite",$value);
$value = str_replace("art_stampa","Visite",$value);
$value = str_replace("votoup","Voti Up",$value);
$value = str_replace("votodown","Voti Down",$value);
$value = str_replace("art_datacrea","Data creazione",$value);
$value = str_replace("art_datauscita","Data uscita",$value);

//eval della tabella errore campi vuoti
eval("printtemp(\"".gettemp("$admin_tempdir/error_empty_field.php")."\");");

}

//fine della tabella errore
readfile("$admin_tempdir/error_empty_field_end.php");

}


} else{ // fine dell'if di controllo

$messaggio = "Manca l'ID di riferimento o l'ID della categoria";
$target = "categorie.php";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}

} else {

$messaggio = "Non puoi modificare un record pubblicato da altri";

//tabella errore!
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

break;

/*----------*/

case "toapprove":

if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) {

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_start_art_toapprove.php")."\");");

//seleziono gli articoli da approvare
$query_art_toapprove= @mysql_query("SELECT $tab_art.idart, $tab_art.idcat, $tab_cat.cat_nome,
$tab_art.art_titolo, $tab_user.iduser, $tab_user.username AS autore,
FROM_UNIXTIME($tab_art.art_datauscita,'%d/%m/%Y') AS data
FROM $tab_art LEFT JOIN $tab_cat ON $tab_art.idcat = $tab_cat.idcat
LEFT JOIN $tab_user ON $tab_art.art_poster = $tab_user.iduser
WHERE $tab_user.userlevel = '3' AND ($tab_art.art_mostra = 'n'
OR $tab_art.art_datauscita > '$now')");

$num_record= mysql_num_rows($query_art_toapprove);


//vedo se c'č almeno un record inserito
if ($num_record > 0) {

while ($array = mysql_fetch_assoc($query_art_toapprove)) {

//conto le pagine per ogni articolo
$query_total_page = @mysql_query("SELECT 1 FROM $tab_art_pag WHERE idart = '$array[idart]'");
$totale_pagine = mysql_num_rows($query_total_page);

#============ LAVORO SULLE VARIABILI =============#
$array["art_titolo"] = formatta($array["art_titolo"],"n");
$cat = urlencode($array["cat_nome"]);

//ciclo per cambiare colore alle tabelle
$bgcolor = (($i%2)==0) ? $color_ad1 : $color_ad2;
//indice
$i++;
#============ FINE LAVORO SULLE VARIABILI ========#

//eval del trtd dei file
eval("printtemp(\"".gettemp("$admin_tempdir/trtd_tab_art_toapprove.php")."\");");

}

//template mediano di chiusura
readfile("$admin_tempdir/tab_end_art_toapprove.php");

} else { // fine if $num_record > 0

//template
readfile("$admin_tempdir/no_art.php");

} // fine else di if $num_record > 0

//template
readfile("$admin_tempdir/tab_end.php");

} else {

$messaggio = "Non puoi entrare in questa sezione";

//tabella errore!
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

break;

/*----------*/

case "approveall":

//questi indici mi servono per controllare il risultato della query
$ctr_query = 0;
$ctr_query_i = 0;

if ($_SESSION["level"] == 1 || $_SESSION["level"] == 2) {

//controllo che sia stata selezionato almeno un record
if (empty($_POST["selected_art"])) {

$messaggio = "Attenzione! Non hai selezionato nessun record";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

//controllo che sia stata scelta un'operazione
} elseif ($_POST["operation_todo"] == 0) {

$messaggio = "Attenzione! Non hai selezionato nessuna operazione";

//template
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

} else {

//adesso switcho le varie operazioni disponibili
switch ($_POST["operation_todo"]) {
default:
$message = "approvati";
$query = "UPDATE $tab_art SET art_datauscita = '$now', art_mostra = 'y'";
break;
case "1":
$message = "approvati";
$query = "UPDATE $tab_art SET art_datauscita = '$now', art_mostra = 'y'";
break;
case "2":
$message = "cancellati";
$query = "DELETE FROM $tab_art";
break;
}

foreach ($_POST["selected_art"] AS $idart) {

$query_com = @mysql_query("$query WHERE idart = '$idart'");
$ctr_query += mysql_affected_rows();
$ctr_query_i++;
}

//controllo che la query sia andata a buon fine
if ($ctr_query == $ctr_query_i) {

//adesso vedo se fare il redirect per creare i file
if ($redirect_insert == "n") {

$messaggio = "Record $message con successo!!";
$target = "main.php";

} else {

$messaggio = "Record $message con successo!! Attendi per i file statici";
$target = "crea_file.php?action=all&amp;main=ok";

}

//template
eval("printtemp(\"".gettemp("$admin_tempdir/general_tab.php")."\");");

} else {

$messaggio = "Attenzione! Non tutti i record sono stati $message!";
$target = "main.php";

//tabella errore!
eval("printtemp(\"".gettemp("$admin_tempdir/tab_redi.php")."\");");

}
}

} else {

$messaggio = "Non puoi entrare in questa sezione";

//tabella errore!
eval("printtemp(\"".gettemp("$admin_tempdir/tab_noredi.php")."\");");

}

break;

} //fine dello switch

//chiudo la connessione che fa freddo
mysql_close ($db_accesso);

//footer
readfile("$admin_tempdir/foot_admin.php");

?>