Location: PHPKode > projects > PHD Help Desk > include/opr_ins.inc
<?PHP
/*
    Nombre: opr_ins.inc
    Autor: Julio Tuozzo
    Función: Valida los datos del operador y lo da de alta en la base
    Function: Operator data validation and input in the database.
    Ver: 2.00
*/
require('class.phpmailer.php');
## Preparo los datos para insertarlos
// Prepare the data before insert

if (get_magic_quotes_gpc())
     { foreach($_POST as $clave => $valor)
         {$_POST[$clave]=stripslashes($_POST[$clave]);
         }
      }
foreach($_POST as $clave => $valor)
       {$_POST[$clave]=trim(htmlentities($_POST[$clave],ENT_QUOTES));
       }
$operador=$_POST['operador'];
$ape_y_nom=$_POST['ape_y_nom'];
$e_mail=$_POST['e_mail'];
$user=$_SESSION['PHD_OPERADOR'];
$sector_id=$_POST['sector_id'];

   switch ($_POST['nivel'])
            {case $Administrator:
                $_20='selected';
                $nivel=20;
                break;
             case $Operator:
                $_10='selected';
                $nivel=10;
                break;
             default:
                $_0='selected';
                $nivel=0;
            }

    if ($_POST[privado]=="1")
        {$privado="S";
         $private_check="checked";
        }
    else
        {$privado="N";
         $private_check="";
        }

    if ($_POST[avisar_asignado]=="1")
        {$avisar_asignado="S";
         $avisar_asignado_check="checked";
        }
    else
        {$avisar_asignado="N";
         $avisar_asignado_check="";
        }

     if ($_POST[avisar_solicitud]=="1")
        {$avisar_solicitud="S";
         $avisar_solicitud_check="checked";
        }
    else
        {$avisar_solicitud="N";
         $avisar_solicitud_check="";
        }


## Valido datos antes de darlos de alta
// Valid data before insert in the database.

    if (strlen($operador)<1)
    	{$mensaje=$Err_input_operator;
        }

    elseif (strlen($ape_y_nom)<1)
   	    {$mensaje=$No_last_name;
	    }

    elseif (!ereg('^.+@.+\\..+$',$e_mail))
   	    {$mensaje=$No_valid_e_mail;
	    }

    elseif (strlen($sector_id)<1)
   	    {$mensaje=$No_sector;
	    }

        else
        {
	       $query="SELECT * FROM {$MyPHD}operador WHERE operador_id='$operador'";
	       $result=mysql_query($query) or die (mysql_error());
	       $q_filas=Mysql_num_rows($result);
	
           if ($q_filas>0)
	           {$mensaje=$Oper_exists;
	           }
	       else

##  Lo doy de alta en la base
// Input in the database
	           {
                $ape_y_nom=mysql_real_escape_string(html_entity_decode($ape_y_nom,ENT_QUOTES));
                ## Genero la contrasenia
                // Create the password
                $contrasenia=generapwd();
                $md5=md5($contrasenia);
                ## Armo el insert y lo ejecuto
                // Make the insert and execute it


                       $query="INSERT INTO {$MyPHD}operador VALUES ('$operador',
					   '$ape_y_nom',
					   '$sector_id',
					   '$e_mail',
					   '$md5',
					   '$privado',
                       $nivel,
					   DATE_SUB(NOW(),INTERVAL 1 DAY), 
					   '$avisar_asignado',
					   '$avisar_solicitud',
					   '$user',
					   NOW(),
					   '$user',
					   NOW())";

    	       $insert=mysql_query($query) or die (mysql_error());

               
               ## Envio correo con la contraseña al operador. Si no se puede enviar
               ## el correo se muestra un mensaje con la contraseña para que el
               ## administrador la informe al usuario.

               // Send mail with the password to the operator. If it is not possible to be sent
               // the mail a message with the password is displayed to the administrator to
               // report the operator.

               ## Busco el correo del remitente
               // Search the e-mail of the sender

               $query="SELECT e_mail from {$MyPHD}operador where operador_id='$user'";
    	       $result=mysql_query($query) or die (mysql_error());
     	       $row = mysql_fetch_array($result);

               $mail = new PHPMailer();
               $mail->IsSMTP();
               $mail->Port= $Mail_port;
               $mail->Host = $Mail_host;
               $mail->SMTPAuth = true;
               $mail->Username = $Mail_usuario;
               $mail->Password = $Mail_clave;

               $mail->From = $row['e_mail'];
               $mail->FromName = $_SESSION['PHD_APE_Y_NOM'];
               $mail->AddAddress($e_mail,$ape_y_nom);

               $mail->WordWrap = 80;
               $mail->IsHTML(true);

               $mail->Subject=$Subject_new_oper;


               $link=substr($_SERVER['HTTP_REFERER'],0,strrpos($_SERVER['HTTP_REFERER'],"/"));

               $e_mensaje_html="$Body_new_oper_1 <br />";
               $e_mensaje_html.="$Body_new_pswd_2 <strong>$operador</strong> $Body_new_pswd_3 <strong>$contrasenia</strong> <br /><br />";
               $e_mensaje_html.="$Access_at: <a href='$link'>$link</a>";
               
               $e_mensaje_text="$Body_new_oper_1 \n";
               $e_mensaje_text.="$Body_new_pswd_2 $operador $Body_new_pswd_3 $contrasenia \n\n";
               $e_mensaje_text.="$Access_at: $link";

               $mail->Body    = "<div style='text-align:center'><img style='text-align:center' src='cid:PHD' alt='phd help desk' border=0 /></div><br /><br /> $e_mensaje_html ";

               $mail->AltBody = $e_mensaje_text ;

               $mail->AddEmbeddedImage("./images/phd_150_20.gif", "PHD", "phd_150_20.gif",
                                          "base64", "image/gif");

               if(@$mail->Send())
                        { $mensaje="$Mail_sent $operador. <br />";
                          $mensaje.="$New_pswd_assigned $contrasenia";
                        }
               else
                        { $mensaje="$No_mail_sent $operador. <br />";
                          $mensaje.="$Mail_srv_err: <em>\"$mail->ErrorInfo\"</em><br />";
                          $mensaje.="$New_pswd_assigned $contrasenia";
                        }

               // Blanqueo variables
               $_20=$_10=$_0=$e_mail=$ape_y_nom=$avisar_solicitud_check=$avisar_asignado_check=$operador='';

      	     }
          }



?>
Return current item: PHD Help Desk