ID = 0; $this->DataPubblicazione = ""; $this->Testo = ""; $this->Titolo = ""; $this->Foto = ""; $this->IDConcerto = 0; $this->IDEvento = 0; $this->IDTipo = 0; $this->NomeTipo = ""; $this->Attivo = 0; if (is_numeric($id)) { if ($id > 0) { $query = "SELECT a.*, ta.Nome NomeTipo FROM articolo a INNER JOIN tipo_articolo ta ON a.IDTipo = ta.ID WHERE a.ID = " . $id; $res = $db->getRecordset($query); $num_row = mysql_num_rows($res); if ($num_row > 0) { $row = mysql_fetch_assoc($res); $this->ID = $row["ID"]; $this->DataPubblicazione = $row["DataPubblicazione"]; $this->Testo = $row["Testo"]; $this->Titolo = $row["Titolo"]; $this->Foto = $row["Foto"]; $this->Attivo = $row["Attivo"]; $this->IDConcerto = $row["IDConcerto"]; $this->IDEvento = $row["IDEvento"]; $this->IDTipo = $row["IDTipo"]; $this->NomeTipo = $row["NomeTipo"]; $this->setAutore($db); if ($row["IDTipo"] == 3 || $row["IDTipo"] == 6) { $this->setRealta($db); } } } } } function setAutore($db) { $query = "SELECT ua.IDUtente, u.Nome, u.Cognome FROM utente_articolo ua INNER JOIN utente u ON u.ID = ua.IDUtente WHERE ua.IDArticolo = " . $this->ID . " ORDER BY u.Cognome, u.Nome"; $res = $db->getRecordset($query); $num_row = mysql_num_rows($res); if ($num_row > 0) { while($row = mysql_fetch_assoc($res)) { array_push($this->IDAutore, $row["IDUtente"]); array_push($this->NomeAutore, formatTXT($row["Nome"]) . " " . formatTXT($row["Cognome"])); } } } function setRealta($db) { $query = "SELECT ua.IDRealta, u.Nome FROM realta_articolo ua INNER JOIN realta u ON u.ID = ua.IDRealta WHERE ua.IDArticolo = " . $this->ID . " ORDER BY u.Nome"; $res = $db->getRecordset($query); $num_row = mysql_num_rows($res); if ($num_row > 0) { while($row = mysql_fetch_assoc($res)) { array_push($this->IDRealta, $row["IDRealta"]); array_push($this->NomeRealta, formatTXT($row["Nome"])); } } } function uploadFoto($db, $foto) { saveImage($db, "articolo", 200, 200, $foto, $this->ID, $this->Foto, "", "tb_", false); if ($this->IDTipo == "6") // Post Show Poster { saveImage($db, "articolo", 1200, 1200, $foto, $this->ID, $this->Foto, "", "", true); } else { saveImage($db, "articolo", 800, 800, $foto, $this->ID, $this->Foto, "", "", true); } } function attiva($db, $attivo) { if (is_numeric($attivo)) { $query = "UPDATE articolo SET Attivo = " . (($attivo + 1) % 2) . ", Update_ID = " . $_SESSION["UtenteID"] . ", Update_DataOra = Now() WHERE ID = " . $this->ID; $db->exec($query); } } function addArticoloConcerto($db, $IDConcerto, $utente) { $ritorno = ""; $query = "SELECT MAX(ID) FROM articolo"; $IDArticolo = $db->getSingleValue($query) + 1; $query = "INSERT INTO articolo (ID, DataPubblicazione, IDTipo, IDConcerto, Attivo, Moderato, Insert_ID, Insert_DataOra) VALUES (" . $IDArticolo . ", NOW(), 1, " . $IDConcerto . ", 1, " . $utente->TipoIsModerato . ", " . $utente->ID . ", Now())"; $db->exec($query); $query = "INSERT INTO utente_articolo (IDUtente, IDArticolo, Attivo) VALUES (" . $utente->ID . ", " . $IDArticolo . ", 1)"; $db->exec($query); $this->ID = $IDArticolo; $this->IDTipo = 1; $this->NomeTipo = "Concerto"; $this->IDConcerto = $IDConcerto; $this->setAutore($db); $utente->setArticolo($db); $this->sendmailModeratori($db, $IDArticolo); $ritorno = "Articolo creato: prosegui pure..."; } function addArticoloIntervista($db, $IDRealta, $utente) { $ritorno = ""; $query = "SELECT MAX(ID) FROM articolo"; $IDArticolo = $db->getSingleValue($query) + 1; $query = "INSERT INTO articolo (ID, DataPubblicazione, IDTipo, Attivo, Moderato, Insert_ID, Insert_DataOra) VALUES (" . $IDArticolo . ", NOW(), 3, 1, " . $utente->TipoIsModerato . ", " . $utente->ID . ", Now())"; $db->exec($query); $query = "INSERT INTO utente_articolo (IDUtente, IDArticolo, Attivo) VALUES (" . $utente->ID . ", " . $IDArticolo . ", 1)"; $db->exec($query); $arrIDRealta = explode(";", $IDRealta); for ($i = 0; $i < count($arrIDRealta); $i++) { if (trim($arrIDRealta[$i]) != "") { $query = "INSERT INTO realta_articolo (IDRealta, IDArticolo) VALUES (" . $arrIDRealta[$i] . ", " . $IDArticolo . ")"; $db->exec($query); } } $this->ID = $IDArticolo; $this->IDTipo = 3; $this->NomeTipo = "Intervista"; $this->setAutore($db); $this->setRealta($db); $utente->setArticolo($db); $this->sendmailModeratori($db, $IDArticolo); $ritorno = "Articolo creato: prosegui pure..."; } function addArticoloVario($db, $Titolo, $utente) { $ritorno = ""; $query = "SELECT MAX(ID) FROM articolo"; $IDArticolo = $db->getSingleValue($query) + 1; $query = "INSERT INTO articolo (ID, DataPubblicazione, IDTipo, Titolo, Attivo, Moderato, Insert_ID, Insert_DataOra) VALUES (" . $IDArticolo . ", NOW(), 4, '" . formatSQL($Titolo) . "', 1, " . $utente->TipoIsModerato . ", " . $utente->ID . ", Now())"; $db->exec($query); $query = "INSERT INTO utente_articolo (IDUtente, IDArticolo, Attivo) VALUES (" . $utente->ID . ", " . $IDArticolo . ", 1)"; $db->exec($query); $this->ID = $IDArticolo; $this->IDTipo = 4; $this->NomeTipo = "Vario"; $this->Titolo = formatTXT($Titolo); $this->setAutore($db); $utente->setArticolo($db); $this->sendmailModeratori($db, $IDArticolo); $ritorno = "Articolo creato: prosegui pure..."; } function addArticoloNovita($db, $Titolo, $utente) { $ritorno = ""; $query = "SELECT MAX(ID) FROM articolo"; $IDArticolo = $db->getSingleValue($query) + 1; $query = "INSERT INTO articolo (ID, DataPubblicazione, IDTipo, Titolo, Attivo, Moderato, Insert_ID, Insert_DataOra) VALUES (" . $IDArticolo . ", NOW(), 5, '" . formatSQL($Titolo) . "', 0, 1, " . $utente->ID . ", Now())"; $db->exec($query); $query = "INSERT INTO utente_articolo (IDUtente, IDArticolo, Attivo) VALUES (" . $utente->ID . ", " . $IDArticolo . ", 1)"; $db->exec($query); $this->ID = $IDArticolo; $this->IDTipo = 5; $this->NomeTipo = "Novità"; $this->Titolo = formatTXT($Titolo); $this->setAutore($db); $utente->setArticolo($db); $this->sendmailModeratori($db, $IDArticolo); $ritorno = "Articolo creato: prosegui pure..."; } function modArticolo($db, $Testo, $IDPoster) { $query = "UPDATE articolo SET Testo = '" . formatSQL($Testo) . "', Update_ID = " . $_SESSION["UtenteID"] . ", Update_DataOra = Now() WHERE ID = " . $this->ID; $db->exec($query); $arrPoster = explode(";", $IDPoster); for ($i = 0; $i < count($arrPoster); $i++) { $query = "SELECT count(*) FROM realta_articolo WHERE IDRealta = " . $arrPoster[$i] . " AND IDArticolo = " . $this->ID; $num = $db->getSingleValue($query); if ($num == 0) { $query = "INSERT INTO realta_articolo (IDRealta, IDArticolo) VALUES (" . $arrPoster[$i] . ", " . $this->ID . ")"; $db->exec($query); } } // ALERT: credo che queste fossero le righe incriminate che facevano perdere dati: da dove saltano fuori? //$query = "DELETE FROM realta_concerto WHERE IDConcerto = " . $this->ID; //$db->exec($query); $this->Testo = formatTXT($Testo); } function getModeratori($db) { $moderatory = array(); $query = "SELECT u2.Nome, u2.Cognome, u2.Email FROM utente_articolo ua INNER JOIN utente u1 ON ua.IDUtente = u1.ID INNER JOIN comuni c ON u1.LuogoNascita = c.CodCom INNER JOIN zona_provincia zp ON c.Provincia = zp.IDProvincia INNER JOIN utente_zona uz ON zp.IDZona = uz.IDZona INNER JOIN utente u2 ON uz.IDUtente = u2.ID WHERE ua.IDArticolo = " . $this->ID . " UNION ALL SELECT u2.Nome, u2.Cognome, u2.Email FROM utente u2 WHERE u2.IDTipo = 99"; $res = $db->getRecordset($query); $num_row = mysql_num_rows($res); if ($num_row > 0) { while($row = mysql_fetch_assoc($res)) { array_push($moderatory, $row); } } return $moderatory; } function getTitolo($db) { $titolo = $this->Titolo; if ($this->IDTipo == "1") // Concerto { $concerto = new Concerto($db, $this->IDConcerto); $titolo = getNomeArtistiConcerto($db, $concerto->ID, 0) . " @ " . $concerto->NomeLuogo; } if ($this->IDTipo == "3") // Intervista { $titolo = getNomeArtistiIntervista($db, $this->ID); } if ($this->IDTipo == "6") // Post Show Poster { $concerto = new Concerto($db, $this->IDConcerto); $titolo = getNomeArtistiIntervista($db, $this->ID) . " @ " . $concerto->NomeLuogo; } return $titolo; } function sendmailModeratori($db, $id) { $moderatori = $this->getModeratori($db); $titolo = $this->getTitolo($db); $testo = "Nuovo articolo in attesa di moderazione: " . $titolo . ""; for ($i = 0; $i < count($moderatori); $i++) { sendmail("", $moderatori[$i]["Email"], "LiveUs -> Nuovo articolo", $testo); } } function getIDRealta() { $ritorno = ""; for($i = 0; $i < count($this->IDRealta); $i++) { if ($i > 0) { $ritorno .= ";"; } $ritorno .= $this->IDRealta[$i]; } return $ritorno; } function getNomeRealta() { $ritorno = ""; for($i = 0; $i < count($this->NomeRealta); $i++) { $ritorno .= $this->NomeRealta[$i] . "; "; } return $ritorno; } } ?>