case 'send': // imposto le variabili if ($prova == '' && !isset($_SESSION['riciclo'])) { $_SESSION['$back'] = 2; // a.capra MOD007 // imposto titolo e messaggio da post se prima volta, per volte successive lo imposto dalle variabili di sessione impostate al primo invio if (isset ($_POST['titolo'])) { $_SESSION['titolo'] = $_POST['titolo']; $_SESSION['titolos'] = $_POST['titolo']; // definisco la variabile di sessione x il titolo delle newsletter e la imposto $_SESSION['nwslttrinvt'] = 0; // definisco la variabile di sessione delle newsletter inviate = 0 al primo invio } else { $_SESSION['titolo'] = $_SESSION['titolos']; } if (isset ($_POST['messaggiomail'])) { $_SESSION['messaggiomail'] = $_POST['messaggiomail']; $_SESSION['messaggiomails'] = $_POST['messaggiomail']; // definisco la variabile di sessione x il testo delle newsletter inviate e la imposto } else { $_SESSION['messaggiomail'] = $_SESSION['messaggiomails']; } // inizio a.capra MOD007 if(!isset($_FILES['attachment'])) { // a.capra 20/08/2008 $_SESSION['attachment1']= ""; // a.capra 20/08/2008 $_SESSION['attachment2']= ""; // a.capra 20/08/2008 $_SESSION['attachment3']= ""; // a.capra 20/08/2008 $_SESSION['attachment4']= ""; // a.capra 20/08/2008 } // a.capra 20/08/2008 else // a.capra 20/08/2008 { // a.capra 20/08/2008 $_SESSION['attachment1']=$_FILES['attachment']['name']; // a.capra 20/08/2008 $_SESSION['attachment2']=$_FILES['attachment']['type']; // a.capra 20/08/2008 $_SESSION['attachment3']=$_FILES['attachment']['size']; // a.capra 20/08/2008 $_SESSION['attachment4']=$_FILES['attachment']['tmp_name']; // a.capra 20/08/2008 } // a.capra 20/08/2008 if (!isset ($_POST['allegato'])) { // a.capra 20/08/2008 $_SESSION['allegat'] = ""; // a.capra 20/08/2008 } // a.capra 20/08/2008 else // a.capra 20/08/2008 { // a.capra 20/08/2008 $_SESSION['allegato']=$_POST['allegato']; // a.capra 20/08/2008 } // a.capra 20/08/2008 // fine codice x allegati a.capra MOD007 echo '

Newsletter



        Sei sicuro di voler inviare la newsletter a tutti gli iscrittti?


                  
Powered by acweb-2004.itvers. 2.4
'; } else { if (isset($invioNO)) { die('

Newsletter Admin



Newsletter non inviata come richiesto!


Tra poco sarai reindirizzato al form di partenza!


Powered by acweb-2004.it vers. 2.4
'); } if ($prova == 'invia newsletter') { // se provengo da "form" "sended" "bozze" $prova = ''; } if ($prova == 'invia newsletterriciclo' || $prova != '') { // se provengo da riciclo "sended" "bozze" per allegato if ($prova == 'invia newsletterriciclo') { $prova = ''; } // se sto inviando una newsletter di prova azzeo il totale newsletter inviate if ($prova != '') { $_SESSION['nwslttrinvt'] = 0; // definisco la variabile di sessione delle newsletter inviate = 0 al primo invio $_SESSION['titolo'] = $_POST['titolo']; // imposto titolo, messaggio se arrivo da test invio $_SESSION['messaggiomail'] = $_POST['messaggiomail']; } else {echo ("ci sono3"); // imposto titolo e messaggio se provengo da pulsante invio mail a tutti = "si" e da riciclo if (isset($_SESSION['titolo'])) { $titolo = $_SESSION['titolo']; } if (isset($_SESSION['messaggiomail'])) { $messaggiomail = $_SESSION['messaggiomail']; } } if(!isset($_FILES['attachment'])) { // a.capra 20/08/2008 $attachment1= ""; // a.capra 20/08/2008 $attachment2= ""; // a.capra 20/08/2008 $attachment3= ""; // a.capra 20/08/2008 $attachment4= ""; // a.capra 20/08/2008 } // a.capra 20/08/2008 else // a.capra 20/08/2008 { // a.capra 20/08/2008 $attachment1=$_FILES['attachment']['name']; // a.capra 20/08/2008 $attachment2=$_FILES['attachment']['type']; // a.capra 20/08/2008 $attachment3=$_FILES['attachment']['size']; // a.capra 20/08/2008 $attachment4=$_FILES['attachment']['tmp_name']; // a.capra 20/08/2008 } // a.capra 20/08/2008 if (!isset ($_POST['allegato'])) { // a.capra 20/08/2008 $allegato = ""; // a.capra 20/08/2008 } // a.capra 20/08/2008 else // a.capra 20/08/2008 { // a.capra 20/08/2008 $allegato=$_POST['allegato']; // a.capra 20/08/2008 } // a.capra 20/08/2008 } else { $attachment1=$_SESSION['attachment1']; // a.capra 20/08/2008 $attachment2=$_SESSION['attachment2']; // a.capra 20/08/2008 $attachment3=$_SESSION['attachment3']; // a.capra 20/08/2008 $attachment4=$_SESSION['attachment4']; // a.capra 20/08/2008 $allegato=$_SESSION['allegato']; // a.capra 20/08/2008 } // fine codice x allegati a.capra MOD007 $bQuery = mysql_query("SELECT * FROM " . TABLE_PREFIX . "email WHERE convalidato='1' ORDER BY nid ASC limit 0,1" ) or $esco = errdb('errore: 17'); if ($esco == 1) {exit;} $Result= mysql_num_rows($bQuery); if($Result == 0) { die('

Newsletter Admin



Non sono presenti e-mail registrate!


Tra poco sarai reindirizzato al menù!


Powered by acweb-2004.it vers. 2.4
'); } else { if(isset($_POST['bozze'])) // arrivo dal form reinv. all. partenza bozze { $doveandare = "bozze"; $dicitura = "bozza di "; $dicitura1 = "bozza"; } if(isset($_POST['sended'])) // arrivo dal form reinv. all. partenza sended { $doveandare = "sended"; $dicitura = ""; $dicitura1 = "newsletter"; } if(isset($_GET['titolo'])) { $doveandare = "bozze"; $dicitura = "bozza di "; $dicitura1 = "bozza"; } if(isset($_GET['titolo1'])) { $doveandare = "sended"; $dicitura = ""; $dicitura1 = "newsletter"; } if (isset($_GET['titolo']) || isset($_GET['titolo1'])) { $bQuery = mysql_query("SELECT * FROM " . TABLE_PREFIX . "email WHERE convalidato='1' ORDER BY nid ASC") or $esco = errdb('errore: 18'); if ($esco == 1) {exit;} $Result= mysql_num_rows($bQuery); if($Result == 0) { die('

Newsletter Admin



Impossibile inviare '.$dicitura.'newsletter: non sono presenti e-mail registrate!


Tra poco sarai reindirizzato al menù!


Powered by acweb-2004.it vers. 2.4
' ); } // fine a.capra $Query = mysql_query("SELECT * FROM " . TABLE_PREFIX . "sendnewsletter") or $esco = errdb('errore: 19'); // a.capra if ($esco == 1) {exit;} // a.capra $Result= mysql_num_rows($Query); $echo = 0; for($i = 0; $i < $Result; $i++) { if (isset($_GET['snid'.$i])) { $Query = mysql_query("SELECT * FROM " . TABLE_PREFIX . "sendnewsletter WHERE snid='".$_GET['snid'.$i]."' ORDER BY snid ASC") or $esco = errdb('errore: 20'); // a.capra if ($esco == 1) {exit;} // a.capra $Nsn = mysql_num_rows($Query); $Snl = mysql_fetch_array($Query); // fine codice a.capra if(!$Nsn==0) { $echo++; if ($titolo == '') { $titolo = $Snl['titolo']; } if ($messaggiomail == '') { $messaggiomail = $Snl['messaggio']; } $_SESSION['$sniddelete'] = $_GET['snid'.$i]; // memorizzo in variabile di sessione la key della bozza da cancellare, necessario per riciclo form di allegato if($echo > 1) { die("

Newsletter Admin


Non puoi inviare più di una ".$dicitura1." per volta

Torna indietro ed esegui una sola selezione
Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } } } } // inizio codice a.capra intercetto l'allegato e se presente invio a case form1 if ($Snl['allegato'] != "") { ?>

Newsletter Admin

      Titolo:
      

      Messaggio:
      

      Newsletter/bozza salvata con allegato: .
      Per reinviarlo fai click su sfoglia ed allegalo di nuovo
      


      



Powered by acweb-2004.it vers. 2.4

Newsletter Admin



Impossibile inviare '.$dicitura.'newsletter: l\'allegato non è stato trovato, verificare il nome e la dirtectory!


Torna indietro Powered by acweb-2004.itvers. 2.4
');} // controlla dimensione del file allegato if ($allegato == "si") // a.capra 20/08/2008 // se è presente l'allegato (campo che arriva dal form dopo controllo Js; quando c'è l'allegato assume valori: "si" oopure inesistente (per allegato molto grandi). { if (!isset($attachment3)) // se non c'è la dimensione è perchè eccede di molto il max consentito {die('

Newsletter Admin



Impossibile inviare '.$dicitura.'newsletter: l\'allegato supera 1Mb!


Torna indietro Powered by acweb-2004.itvers. 2.4
');} if ($attachment3 == 0) // se dimensione zero e presente il nome file si è oltre il massimo possibile {die('

Newsletter Admin



Impossibile inviare '.$dicitura.'newsletter: l\'allegato supera 1Mb!


Torna indietro Powered by acweb-2004.itvers. 2.4
');} } $echo = 1; if ((!isset($_POST['bozze'])) && (!isset($_POST['sended']))) { $titpre = ($_POST['titpre']); $doveandare = "form"; if ($titpre == "no") { $tQuery = mysql_query("SELECT * FROM " . TABLE_PREFIX . "sendnewsletter WHERE titolo='".$titolo."' ORDER BY snid ASC") // a.capra or $esco = errdb('errore: 51'); if ($esco == 1) {exit;} $trovato = mysql_num_rows($tQuery); $inviat = mysql_fetch_array($tQuery); if ($trovato > 0) { if ($inviat['inviato'] == '1') { $dicit = "newsletter"; } else { $dicit = "bozza"; } die("

Newsletter Admin


Il titolo è già presente come ".$dicit."

Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } } } } if($echo == 0) { die("

Newsletter Admin


Non hai selezionato nessuna ".$dicitura1." da inviare

Torna indietro ed esegui una selezione
Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } if ($doveandare == "bozze") { $snid=$_SESSION['$sniddelete']; // a.capra MOD007 $query=mysql_query("DELETE FROM ".TABLE_PREFIX."sendnewsletter WHERE snid='$snid'") or $esco = errdb('errore: 21'); // a.capra if ($esco == 1) {exit;} // a.capra } // fine a.capra $nl = chr(13); $messaggiomail = eregi_replace("$nl","\n", "$messaggiomail"); if(empty($titolo) OR strlen($titolo) < 4) { die("

Newsletter Admin


Il titolo deve avere minimo 4 caratteri

Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } if(empty($messaggiomail) OR strlen($messaggiomail) < 20) { die("

Newsletter Admin


Il messaggio deve avere minimo 20 caratteri

Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } // controllo presenza url e loro sostituzione con codice html. La url deve iniziare con "^" e finire con "^". $num_marcatori = 0; // numero dei caratteri "^" presenti nella url: deve essere pari $marcatore = '^'; // valore che utilizzo come marcatore di inizio e fine url $num_url = 0; // numero delle url da convertire $num_marcatori = substr_count($messaggiomail, $marcatore); // conto i marcatori $posiz_primo_marc = -1; // primo marcatore $posiz_sec_marc = 0; // secondo marcatore $resto = $num_marcatori%2; // controllo che il loro numero sia pari if($resto > 0) // se dispari segnalo { die("

Newsletter Admin


I marcatori presenti per delimitare le url devono essere in numero pari

Torna indietro Powered by acweb-2004.itvers. 2.4
"); // a.capra } $num_url = $num_marcatori/2; // calcolo il numero delle url da convertire if ($num_url > 0) { for($ind_url = 0; $ind_url <= $num_url; $ind_url++) { // ripeto la conversione per tutte le url $posiz_primo_marc = strpos($messaggiomail, '^', ($posiz_sec_marc + 1)); // ricerco la posizione del primo marcatore a partire da zero oppure dalla posizione successiva del secondo marcatore url precedente $posiz_sec_marc = strpos($messaggiomail, '^', ($posiz_primo_marc + 1)); // ricerco la posizione del secondo marcatore a partire della successiva a quella del primo marcatore // cambio la url con codice html $cambio_stringa = substr($messaggiomail, ($posiz_primo_marc + 1), ($posiz_sec_marc - $posiz_primo_marc - 1)); // estraggo la url $save_cambio_stringa = $cambio_stringa; // salvo il cambio stringa per i successivo replace (necessario se la url non inizia per http:// if (substr ($cambio_stringa, 0 , 3) == "www" || substr ($cambio_stringa, 0 , 3) == "WWW") { // se nella url non è presente "http://" lo aggiungo $cambio_stringa = "http://" . $cambio_stringa; } $url_html = ''.$cambio_stringa.''; // la trasformo in codice html e la inserisco nel messaggio $save_cambio_stringa = '^'.$save_cambio_stringa.'^'; // nel cambio stringa aggiungo i marcatori per eliminarli dal messaggio $nuova_stringa = str_replace($save_cambio_stringa, $url_html, $messaggiomail); // in $nuova_stringa il messaggio con la url convertita $messaggiomail = $nuova_stringa; } } // FINE -----> controllo presenza url e loro sostituzione con codice html. $i = 0; $numemail = 0; // a.capra $numemails = 0; //contatore indirizzi presenti nel d.b. // a.capra 20/08/2008 $test = ''; // a.capra MOD007 if(!empty($prova)) { $test = 'T'; // a.capra MOD007 // a.capra inizio MOD002 if (!ereg("^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z](-)?)*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*\\.[a-zA-Z]{2,3}$",$prova)) { die("

Newsletter


L'e-mail inserita non è corretta!

Torna indietro Powered by acweb-2004.itvers. 2.4
"); } } // a.capra fine MOD002 if(empty($prova)) { // a.capra inizio MOD002 // leggo un determinato numero di indirizzi per volta e riciclo $leggodb_da = $_SESSION['nwslttrinvt']; // imposto da dove inizio a leggere il db $maxnwslttrinvtpiu1 = $maxnwslttrinvt + 1; // leggo tante occorrenze (stabilito 500) più 1 per sapere se devo riciclare $messaggiomail = stripslashes($messaggiomail); $bQuery = mysql_query("SELECT * FROM " . TABLE_PREFIX . "email WHERE convalidato='1' ORDER BY nid ASC limit $leggodb_da, $maxnwslttrinvtpiu1") // a.capra or $esco = errdb('errore: 23'); // a.capra if ($esco == 1) {exit;} // a.capra $nummails= mysql_num_rows($bQuery);$nummails = 30; // a.capra 20/08/2008 if ($nummails == $maxnwslttrinvtpiu1) { // se nel db c'è almno una mail in più di quelle che devo estrarre mi predispongo per il riciclo e diminuisco di 1 le mail da inviare $nummails = $nummails -1; $_SESSION['riciclo'] = '1'; } else { $_SESSION['riciclo'] = '0'; // se ho finito di inviare la newsletter aggiorno il d.b.; sendnewsletter $data=mktime(); $Query=mysql_query("INSERT INTO ".TABLE_PREFIX."sendnewsletter (test, titolo, messaggio, data, inviato, allegato) VALUES ('$test','$titolo','$messaggiomail','$data','1','$attachment1')") or $esco = errdb('errore: 22'); // a.capra if ($esco == 1) {exit;} // a.capra } } // a.capra inizio MOD002 else { $nummails = 1; // aggiorno il d.b.; sendnewsletter $data=mktime(); $Query=mysql_query("INSERT INTO ".TABLE_PREFIX."sendnewsletter (test, titolo, messaggio, data, inviato, allegato) VALUES ('$test','$titolo','$messaggiomail','$data','1','$attachment1')") or $esco = errdb('errore: 22'); // a.capra if ($esco == 1) {exit;} // a.capra } // a.capra fine MOD002 $_SESSION['nwslttrinvt'] = $_SESSION['nwslttrinvt'] + $nummails; // incremento la variabile di sessione delle newsletter inviate while($i < $nummails) { // a.capra 20/08/2008 if(empty($prova)) { // a.capra MOD002 $Mails = mysql_fetch_array($bQuery); // a.capra 20/08/2008 $Destinatario = $Mails['mail']; } // a.capra inizio MOD002 else { $Destinatario = $prova; } // a.capra fine inizio MOD002 if (($i == $nummails)) { // a.capra inizio inizio MOD00 $fine = 'si'; } else { $fine = 'no'; } // a.capra fine inizio MOD003 $i++; $urlscript = $script['url']; // a.capra MOD003 if ($attachment1 != "") { $NomeFile = $attachment1; $IndFile = $attachment4; $Oggetto = $titolo; $title = "Newsletter di ParcoMonza.org"; $FileType = $attachment2; $okmail = invmail($admin,$NomeFile,$IndFile,$Destinatario,$descrsito,$messaggiomail,$Oggetto,$FileType,$title,$fine); if($okmail == 0) {$swmail = '1';} else {$swmail = '3';} } else { $NomeFile = ""; $IndFile = ""; $Oggetto = $titolo; $title = "Newsletter di ParcoMonza.org"; $FileType = ""; $okmail = invmail($admin,$NomeFile,$IndFile,$Destinatario,$descrsito,$messaggiomail,$Oggetto,$FileType,$title,$fine); if($okmail == 0) {$swmail = '0';} else {$swmail = '2';} } // fine codice a.capra if ($swmail > 1) // a.capra esco dal loop invio mail { $i = $nummails + 10; // a.capra 20/08/2008 imposto $i per uscire dal loop anche se non finito } else // a.capra { $numemail++; // a.capra } } if ($swmail < 2) // a.capra invio mail ad admin solo se tutto ok { if ($_SESSION['riciclo'] == '0') { $tempo = 5; // a.capra 20/08/2008 mail ($admin, $titolo, "La seguente newsletter è stata inviata correttamente a ".$numemail." e-mail\n\n_ _ _ _ _ _ _ _\n\n".$messaggiomail, "From: ".$admin) // a.capra MOD003 or $esco = errmail('erroremail: 02'); // a.capra if ($esco == 1) {exit;} } // a.capra } else { $tempo = 15; // a.capra 20/08/2008 $esco = cannewsl($doveandare); // a.capra richiamo funzione che cancella newsletter inserita (non per bozze) if ($esco == 1) {exit;} // a.capra per qualunque anomalia esco } ?>

Newsletter Admin



"; } else { unset($_SESSION['messaggiomails']); unset($_SESSION['titolos']); unset($_SESSION['riciclo']); $tempo = 10; //******************************************************************* echo ""; } //********************************************************************* if ($swmail == '0') { echo " La newsletter senza allegato è stata inviata correttamente a ".$numemail." e-mail! --- Per un totale di ".$_SESSION['nwslttrinvt']." e-mails inviate!"; } if ($swmail == '1') { echo " La newsletter con allegato è stata inviata correttamente a ".$numemail." e-mail! --- Per un totale di ".$_SESSION['nwslttrinvt']." e-mails inviate!"; } if ($swmail == '2') { echo " Problemi nell'invio della newsletter senza allegato che è stata inviata correttamente a solo ".$numemail." e-mail"; } if ($swmail == '3') { echo " Problemi nell'invio della newsletter con allegato che è stata inviata correttamente a solo ".$numemail." e-mail"; } // fine codice a.capra // cancello i campi della session utilizzati per memorizzare i dati del riciclo avviso invio newsletter MOD007 ?>


Powered by acweb-2004.it vers. 2.4