Location: PHPKode > projects > Spacemarc News > spacemarc-news/segnala.php
<?php

/*****************************************************************
*  Spacemarc News
*  Version: 1.2.0
*  Author and copyright (C): Marcello Vitagliano
*  Web site: http://www.spacemarc.it
*  License: GNU General Public License
*
*  This program is free software: you can redistribute it and/or
*  modify it under the terms of the GNU General Public License
*  as published by the Free Software Foundation, either version 3
*  of the License, or (at your option) any later version.
*
*  Current file: segnala.php
*****************************************************************/
define('IN_NEWS', true);
header('Content-type: text/html; charset=ISO-8859-1');

//includo i file di configurazione
require_once (dirname(__FILE__) . '/config.php');
require_once (dirname(__FILE__) . '/admin/functions.php');
require_once (dirname(__FILE__) . '/lang/lang.php');

// apro la connessione a mysql
$db = mysql_connect($db_host, $db_user, $db_password) or die("Impossibile connettersi a MySQL<br />Numero errore: " . mysql_errno() . "<br />Tipo di errore: " . mysql_error());
mysql_select_db($db_name, $db) or die("Impossibile selezionare il database $db_name<br />Numero errore: " . mysql_errno() . "<br />Tipo di errore: " . mysql_error());

//seleziono l'ID minore e maggiore delle news
$result = mysql_query("SELECT MIN(id) AS MinID, MAX(id) AS MaxID FROM $tab_news");
$row = @mysql_fetch_array($result);

//se l'id della notizia c'è ed è di tipo numerico ed è presente in tabella procedo

if (!isset($_GET['id']) || !preg_match('/^[0-9]{1,8}$/', $_GET['id']) || $_GET['id'] > $row['MaxID'] || $_GET['id'] < $row['MinID']) {
    die("Notizia inesistente");
}
else {
    $errore = NULL;
    $inviata = NULL;
    $result = mysql_query("SELECT nt.id, nt.titolo, nc.nome_sito, nc.url_sito FROM $tab_news nt, $tab_config nc WHERE nt.id=" . intval($_GET['id']));
    $row = mysql_fetch_array($result);
    
    if (isset($_POST['submit'])) {
        
        if (!preg_match('/^[.a-zA-Z0-9\s]{1,20}$/', $_POST['mittente']) || !preg_match('/^[.a-z0-9_-]+@[.a-z0-9_-]+\.[a-z]{2,4}$/', $_POST['mail_mittente']) || !preg_match('/^[.a-z0-9_-]+@[.a-z0-9_-]+\.[a-z]{2,4}$/', $_POST['mail_amico'])) {
            $errore = "<div id=\"error\">Compila i campi correttamente</div>";
        }
        else {
            $titolo2 = html_entity_decode($row['titolo'], ENT_QUOTES, 'ISO-8859-1');
            $titoloChars = array(
                '&rsquo;' => '’',
                '&euro;' => 'E'
            );
            $titolo3 = strtr($titolo2, $titoloChars);
            $errore = NULL;
            $note_email = "Email inviata da un visitatore di " . $row['nome_sito'] . ". Se contiene spam o commenti offensivi contatta il webmaster del sito riportando testo e headers del messaggio.";
            $mess = (empty($_POST['messaggio'])) ? NULL : "Messaggio da " . $_POST['mittente'] . ":";
            $header = "From: " . $_POST['mittente'] . " <" . $_POST['mail_mittente'] . ">\n";
            $header.= "Reply-To: " . $_POST['mail_mittente'] . "\n";
            $header.= "Return-Path: " . $_POST['mail_mittente'] . "\n";
            $header.= "X-Mailer: PHP/" . phpversion() . "\n";
            $header.= "MIME-Version: 1.0\n";
            $header.= "Content-type: text/plain; charset=ISO-8859-1\n";
            $header.= "Content-Transfer-encoding: 7bit\n";
            
            if (@mail("" . $_POST['mail_amico'] . "", "Leggi questa notizia su " . $row['nome_sito'] . "", "Ciao,\n" . $_POST['mittente'] . " ti segnala su " . $row['url_sito'] . " la notizia dal titolo: $titolo3 \n\nLa puoi leggere al seguente indirizzo: " . $row['url_sito'] . "/$news_dir/view.php?id=" . $row['id'] . "\n\n$mess " . stripslashes($_POST['messaggio']) . " \n\n\n-- \n$note_email", $header)) {
                $inviata = "<div id=\"success\">Segnalazione inviata! <script language=\"JavaScript\" type=\"text/JavaScript\">setTimeout('window.close()', 2000)</script></div>";
            }
            else {
                $inviata = "<div id=\"error\">" . $lang['email_utenti_error'] . "</div>";
            }
        }
    }
}
mysql_close($db);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">     
  <head>         
    <title>Segnala la notizia          
    </title>         
    <link rel="stylesheet" href="style.css" type="text/css" />     
  </head>     
  <body>         
    <div align="center">
<?php echo $errore;
echo $inviata; ?>             
      <span class="text2">                 
        <img src="<?php echo $img_path; ?>/mail.png" alt="" /> Segnala la notizia <b>                     
          <?php echo $row['titolo']; ?></b>             
      </span><br /><br />             
      <form method="post" name="send" action="segnala.php?id=<?php echo $row['id']; ?>">                 
        <table width="100%" border="0" align="center" cellpadding="2" cellspacing="2">                     
          <tr>                         
            <td align="right" class="text2">Il tuo nome *</td>                         
            <td align="left">                                
              <input type="text" name="mittente" size="20" maxlength="20" /></td>                     
          </tr>                     
          <tr>                         
            <td align="right" class="text2">La tua email *</td>                         
            <td align="left">                                
              <input type="text" name="mail_mittente" size="20" maxlength="30" /></td>                     
          </tr>                     
          <tr>                            
            <td align="right" class="text2">Email del tuo amico *</td>                         
            <td align="left">                                
              <input type="text" name="mail_amico" size="20" maxlength="30" /></td>                     
          </tr>                     
          <tr>                            
            <td align="right" valign="top" class="text2">Aggiungi un messaggio&nbsp;</td>                         
            <td align="left">    
<textarea name="messaggio" cols="22" rows="4"></textarea>   </td>                     
          </tr>                     
          <tr>                         
            <td align="right" class="text2">* Obbligatori</td>                         
            <td align="left">                             
              <input type="submit" name="submit" value="Invia" /></td>                     
          </tr>                 
        </table>             
      </form>         
    </div>     
  </body>
</html>
Return current item: Spacemarc News