// ########################### MI ANALISIS DE COMPETENCIAS und MI IMAGEN PUBLICA
// no disponible
//echo "Lo sentimos. El servicio está temporalmente no disponible.";
//exit();
// Session starten
session_start();
// Verbindung zur Datenbank herstellen
require ("./config/inf.php");
if ($_GET['instrument'])
{
session_destroy(); // wenn Neuaufruf, evtl. vorhandene session-Daten loeschen (z.B. wenn nach AC IP gemacht wird, oder mehrere Benutzer an einem PC arbeiten)
session_start();
// Variablen definieren
$_SESSION['instrument'] = $_GET['instrument'];
$_SESSION['ln'] = $_GET['ln'];
$_SESSION['paso'] = "1";
// deutsch u. englisch: kostenlos
if ($_GET['ln'] == "en") $_SESSION['gratis'] = 1;
if ($_GET['ln'] == "de") $_SESSION['gratis'] = 1;
// ueber Partner?
if ($_GET['ref'])
{
$_SESSION['ref'] = $_GET['ref'];
//$sql = "SELECT * FROM Admins WHERE Username='".$_SESSION['ref']."'";
// z.Zt. ueber Tabelle Projekte, ref = Projekt ID
$sql = "SELECT * FROM Projekte WHERE ID='".$_SESSION['ref']."'";
$result_ref = mysql_query($sql,$db);
$info_distribuidor = mysql_fetch_array($result_ref);
$_SESSION['logo_cliente'] = $info_distribuidor['logo_cliente'];
}
header("Location:config.php?".SID); // um URL zu saeubern
}
// wenn session abgelaufen, muesste auf allg. Startseite weitergeleitet werden
if ($_SESSION['instrument'] == "") header("Location:www.psitec.cl");
$ln = $_SESSION['ln']; // wg. Menu
$_SESSION['paso_anterior'] = $_SESSION['paso'];
// items IP einlesen
if ($_SESSION['instrument'] == "IP")
{
$n_max_ad = 25;
$n_max_pc = 15;
$n_max_pa = 5;
$_SESSION['projekt_id'] = "80";
if ($_SESSION['items_ad'] == "")
{
require ("./../".$_SESSION['ln']."/ip_items.inc.php");
$_SESSION['items_ad'] = $ad;
sort ($_SESSION['items_ad']);
$_SESSION['items_pc'] = $pc;
sort ($_SESSION['items_pc']);
$_SESSION['items_pa'] = $pa;
sort ($_SESSION['items_pa']);
$_SESSION['items_ad_sel'] = array();
$_SESSION['items_pc_sel'] = array();
$_SESSION['items_pa_sel'] = array();
}
}
elseif ($_SESSION['instrument'] == "AC")
{
// Kompetenzen (einmal) einlesen
if ($_SESSION['competencias'] == "")
{
$sql = "SELECT DISTINCT * FROM Escalas WHERE Instrument = 'MC'";
$result = mysql_query($sql,$db);
while ($data = mysql_fetch_array($result))
{
$id = $data['ID'];
$_SESSION['competencias'][$id] = $data['Name'].";".$data['Beschreibung'];
}
}
$_SESSION['projekt_id'] = "79";
$n_max_comp = 5;
}
$error = 0;
if (!isset($_SESSION['observadores'])) $_SESSION['observadores'] = array();
// Texte einlesen
if ($_SESSION['instrument'] == "AC") require("./../".$_SESSION['ln']."/ac_main.inc.php");
elseif ($_SESSION['instrument'] == "IP") require("./../".$_SESSION['ln']."/ip_main.inc.php");
// Instrucciones einlesen
// $sql = "SELECT*FROM Admins WHERE Username='".$distribuidor."'";
// $result = mysql_query($sql,$db);
// $data = mysql_fetch_array($result);
// $instrucciones_pago=$data["instrucciones_pago"];
// $instrucciones_soporte=$data["instrucciones_soporte"];
// $email_soporte=$data['email_soporte'];
// $telefono_soporte=$data['telefono_soporte'];
// #####################################
// ############ Eingabecheck ###########
// #####################################
if ($_POST['GO'] == $txt_ac_12 && $_SESSION['paso'] == "1" && $_SESSION['instrument'] == "IP") // #################### Paso 1 IP
{
// Maximum Eigenschaften?
if (count($_SESSION['items_ad_sel']) > $n_max_ad)
{
$error=1;
$too_many_ads = 1;
}
// Maximum geschlossene Fragen?
if (count($_SESSION['items_pc_sel']) > $n_max_pc)
{
$error=1;
$too_many_pcs = 1;
}
// Maximum offene Fragen?
$n=0;
if (count($_SESSION['items_pa_sel']) > $n_max_pa)
{
$error=1;
$too_many_pas = 1;
}
if (count($_SESSION['items_ad_sel']) + count($_SESSION['items_pc_sel']) + count($_SESSION['items_pa_sel']) == 0)
{
$error=1;
$no_preguntas = 1;
}
// wenn alles ok, weiter mit paso 2
if ($error != 1) $_SESSION['paso'] = "2";
}
elseif ($_POST['GO'] == $txt_ac_12 && $_SESSION['paso'] == "1" && $_SESSION['instrument'] == "AC") // #################### Paso 1 AC
{
if (count($_SESSION['comp_sel']) > $n_max_comp)
{
$error=1;
$too_many_comp = 1;
}
if (count($_SESSION['comp_sel']) == 0)
{
$error=1;
$no_comp = 1;
}
// wenn alles ok, weiter mit paso 2
if ($error != 1) $_SESSION['paso'] = "2";
}
if ($_POST['GO'] == $txt_ac_12 && $_SESSION['paso'] == "2" && $_SESSION['paso_anterior'] != "1") // #################### Paso 2
{
// Felder angegeben?
if ($_POST['nombre_usuario'] == "" || $_POST['apellido_usuario'] == "" || $_POST['edad'] == "" || $_POST['profesion'] == "" || $_POST['email1'] == "" || $_POST['email2'] == "")
{
$error=1;
}
// emails identisch?
if ($_POST['email1'] != $_POST['email2'])
{
$error=1;
$email_not_identic = 1;
}
// email gültig?
if(ereg ("(^[a-zA-Z][a-zA-Z0-9_\.\-]*[a-zA-Z0-9])@(.*)$",$_POST['email1'], $regs))
{
$server = $regs[2];
if(!checkdnsrr($server, "ANY"))
{
$error=1;
$email_invalid = 1; // eigentlich: server not found
}
}
else
{
$error=1;
$email_invalid = 1;
}
// wenn alles ok, weiter mit paso 3
if ($error != 1)
{
$_SESSION['nombre_usuario'] = $_POST['nombre_usuario'];
$_SESSION['apellido_usuario'] = $_POST['apellido_usuario'];
$_SESSION['edad'] = $_POST['edad'];
$_SESSION['profesion'] = $_POST['profesion'];
$_SESSION['land'] = $_POST['pais'];
$_SESSION['email1'] = $_POST['email1'];
$_SESSION['email2'] = $_POST['email2'];
$_SESSION['paso'] = "3";
}
}
elseif ($_POST['GO'] == $txt_ac_13 && $_SESSION['paso'] == "2") $_SESSION['paso'] = "1";
elseif ($_POST['GO'] == $txt_ac_13 && $_SESSION['paso'] == "3")$_SESSION['paso'] = "2";
elseif ($_POST['GO'] == $txt_ac_13 && $_SESSION['paso'] == "4") $_SESSION['paso'] = "3";
elseif ($_POST['GO'] == $txt_ac_13 && $_SESSION['paso'] == "5") $_SESSION['paso'] = "4";
elseif ($_POST['GO'] == $txt_ac_28 && $_SESSION['paso'] == "3") // ################## Beobachter zwischenspeichern
{
// Felder angegeben?
if ($_POST['nombre_observador'] == "" || $_POST['apellido_observador'] == "" || $_POST['email1_ob'] == "" || $_POST['email2_ob'] == "")
{
$error=1;
}
// emails identisch?
if ($_POST['email1_ob'] != $_POST['email2_ob'])
{
$error=1;
$email_not_identic = 1;
}
// email gültig?
if(ereg ("(^[a-zA-Z][a-zA-Z0-9_\.\-]*[a-zA-Z0-9])@(.*)$",$_POST['email1_ob'], $regs))
{
$server = $regs[2];
if(!checkdnsrr($server, "ANY"))
{
$error=1;
$email_invalid = 1; // eigentlich: server not found
}
}
else
{
$error=1;
$email_invalid = 1;
}
// email bereits vorhanden?
foreach ($_SESSION['observadores'] as $observador)
{
$temp = split (";", $observador);
if ($temp[2] == $_POST['email1_ob'])
{
$error=1;
$email_exists = 1;
}
}
// email beobachter = email nutzer?
if ($_POST['email1_ob'] == $_SESSION['email1'])
{
$error=1;
$email_exists = 1;
}
// wenn alles ok, Beobachter zwischenspeichern
if ($error != 1)
{
$temp=$_POST['nombre_observador'].";".$_POST['apellido_observador'].";".$_POST['email1_ob'];
array_push ($_SESSION['observadores'],$temp);
$_POST['email1_ob'] = "";
$_POST['email2_ob'] = "";
$_POST['nombre_observador'] = "";
$_POST['apellido_observador'] = "";
}
}
elseif ($_POST['GO'] == $txt_ac_12 && $_SESSION['paso'] == "3") // ############## Paso 3
{
// Anzahl Beobachter zaehlen
if (count($_SESSION['observadores']) < 5)
{
$faltan_observadores = 1;
}
else $_SESSION['paso'] = "4";
$_SESSION['go_paso4'] = 1; // flag, damit Beobachter-Minimum angezeigt wird
}
elseif ($_POST['GO'] == $txt_ac_12 && $_SESSION['paso'] == "4") // ################## von paso 4 nach paso 5
{
$_SESSION['mensaje'] = $_POST['mensaje'];
$_SESSION['paso'] = "5";
}
elseif ($_POST['GO'] == $txt_ac_51 && $_SESSION['paso'] == "5" && $_SESSION['activado'] != 1) // ################## activar campaña
{
// Nutzernamen bestimmen
$email_user = explode ("@", $_SESSION['email1']);
$_SESSION['username']=$email_user[0];
// Nutzername bereits vergeben?
$n=0;
$sql = "SELECT * FROM Nutzer_".$_SESSION['instrument']." WHERE Username='".$_SESSION['username']."'";
$result = mysql_query($sql,$db);
if ($result) $data_user = mysql_fetch_array($result);
while ($data_user != "")
{
$n++;
$temp2=$_SESSION['username'].$n;
$sql = "SELECT * FROM Nutzer_".$_SESSION['instrument']." WHERE Username='".$temp2."'";
$result = mysql_query($sql,$db);
$data_user="";
if ($result != "") $data_user = mysql_fetch_array($result);
}
if ($n!=0) $_SESSION['username'].=$n;
// Passwort Nutzer erzeugen
$crypttime=md5(crypt(time()));
$_SESSION['user_pw']=substr(ereg_replace("[^a-z0-9]", "", $crypttime), 0, 5);
// Nutzer-Daten in Datenbank schreiben
if ($_SESSION['instrument'] == "AC")
{
unset ($str_comp);
foreach ($_SESSION['comp_sel'] as $id=>$competencia) $str_comp.=$id.";";
$profil = substr($str_comp,0,-1); // letztes Zeichen(";") abschneiden
}
elseif ($_SESSION['instrument'] == "IP") // ################### hier kann f. Ana Maria Atria angesetzt werden
{
$profil = "IP";
}
$sql = "INSERT INTO Nutzer_".$_SESSION['instrument']." (Name,Nachname,Username,pw,Email,Profil,Edad,Profesion,Land,Sprache,Status,Datum,bezahlt,mensaje,Projekt_ID) ";
$sql.= "VALUES ('".$_SESSION['nombre_usuario']."','".$_SESSION['apellido_usuario']."','".$_SESSION['username']."','".$_SESSION['user_pw']."','".$_SESSION['email1']."','".$profil."','".$_SESSION['edad']."','".$_SESSION['profesion']."','".$_SESSION['land']."','".$_SESSION['ln']."','1',now(),'0','".$_SESSION['mensaje']."','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
//echo $sql."
";
$_SESSION['user_id'] = mysql_insert_id();
//echo $_SESSION['user_id'];
// kostenlos?
if ($_SESSION['gratis'] == 1)
{
$sql = "UPDATE Nutzer_".$_SESSION['instrument']." SET bezahlt=1 WHERE ID='".$_SESSION['user_id']."' LIMIT 1";
$result = mysql_query($sql,$db);
}
if ($_SESSION['instrument'] == "AC")
{
// Datensatz für Autoevaluación
// Real
$sql = "INSERT INTO Beurteilungen_".$_SESSION['instrument']." (ID_Beurteiler,ID_Beurteilter,tipo,Position,Projekt_ID) ";
$sql.= "VALUES ('".$_SESSION['user_id']."','".$_SESSION['user_id']."','Real','".$txt41f."','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
$_SESSION['eval_id_auto'] = mysql_insert_id();
// Ideal
$sql = "INSERT INTO Beurteilungen_".$_SESSION['instrument']." (ID_Beurteiler,ID_Beurteilter,tipo,Position,Projekt_ID) ";
$sql.= "VALUES ('".$_SESSION['user_id']."','".$_SESSION['user_id']."','Ideal','".$txt41f."','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
}
// Items Imagen Pública speichern
// (Items werden als Klartext gespeichert (keine ID's), so kann Fragen-file trotz laufenden Kampagnen manipuliert werden)
if ($_SESSION['instrument'] == "IP")
{
// SQL-string vorbereiten
if (count($_SESSION['items_ad_sel']) > 0)
{
foreach ($_SESSION['items_ad_sel'] as $id=>$item) $temp_ad.= $item."#";
$ads = substr($temp_ad,0,-1); // letztes Zeichen("#") abschneiden
}
if (count($_SESSION['items_pc_sel']) > 0)
{
foreach ($_SESSION['items_pc_sel'] as $id=>$item) $temp_pc.= $item."#";
$pcs = substr($temp_pc,0,-1); // letztes Zeichen("#") abschneiden
}
if (count($_SESSION['items_pa_sel']) > 0)
{
foreach ($_SESSION['items_pa_sel'] as $id=>$item) $temp_pa.= $item."#";
$pas = substr($temp_pa,0,-1); // letztes Zeichen("#") abschneiden
}
$sql = "INSERT INTO Items_IP (REF,items_ad,items_pc,items_pa,Projekt_ID)";
$sql.= "VALUES ('".$_SESSION['user_id']."','".$ads."','".$pcs."','".$pas."'";
$sql.= ",'".$_SESSION['projekt_id']."')";
//echo $sql;
$result = mysql_query($sql,$db);
}
// Beobachter-Daten in Datenbank schreiben
$i=0;
foreach ($_SESSION['observadores'] as $observador)
{
$temp=split(";",$observador); // Struktur: Name;Nachname;Email
// Nutzernamen bestimmen
$email_ob = explode ("@", $temp[2]);
$username_ob=$email_ob[0];
// Nutzername bereits vergeben?
$n=0;
$sql = "SELECT * FROM Nutzer_".$_SESSION['instrument']." WHERE Username='".$username_ob."'";
$result = mysql_query($sql,$db);
if ($result) $data_user = mysql_fetch_array($result);
while ($data_user != "")
{
$n++;
$temp2=$username_ob.$n;
$sql = "SELECT * FROM Nutzer_".$_SESSION['instrument']." WHERE Username='".$temp2."'";
$result = mysql_query($sql,$db);
$data_user="";
if ($result != "") $data_user = mysql_fetch_array($result);
}
if ($n!=0) $username_ob.=$n;
// Passwort erzeugen
$crypttime=md5(crypt(time()));
$pw_ob=substr(ereg_replace("[^a-z0-9]", "", $crypttime), 0, 5);
// Tabelle Nutzer_*
$sql = "INSERT INTO Nutzer_".$_SESSION['instrument']." (Name,Nachname,Username,pw,Email,Status,Datum,Sprache,Projekt_ID) ";
$sql.= "VALUES ('".$temp[0]."','".$temp[1]."','$username_ob','$pw_ob','$temp[2]','1',now(),'".$_SESSION['ln']."','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
// echo $sql."
";
$id_ob = mysql_insert_id();
// Tabelle Beurteilungen_*
if ($_SESSION['instrument'] == "AC")
{
// Real
$sql = "INSERT INTO Beurteilungen_".$_SESSION['instrument']." (ID_Beurteiler,ID_Beurteilter,tipo,Position,Projekt_ID) ";
$sql.= "VALUES ('$id_ob','".$_SESSION['user_id']."','Real','extern','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
$eval_id = mysql_insert_id();
//echo $sql;
// Ideal
$sql = "INSERT INTO Beurteilungen_".$_SESSION['instrument']." (ID_Beurteiler,ID_Beurteilter,tipo,Position,Projekt_ID) ";
$sql.= "VALUES ('$id_ob','".$_SESSION['user_id']."','Ideal','extern','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
}
elseif ($_SESSION['instrument'] == "IP")
{
$sql = "INSERT INTO Beurteilungen_".$_SESSION['instrument']." (ID_Beurteiler,ID_Beurteilter,Projekt_ID) ";
$sql.= "VALUES ('$id_ob','".$_SESSION['user_id']."','".$_SESSION['projekt_id']."')";
$result = mysql_query($sql,$db);
$eval_id = mysql_insert_id();
//echo $sql;
}
// pw u. username anhaengen (fuer email), $eval_id u. $id_ob(f. URL-String)
$_SESSION['observadores'][$i].=";".$username_ob.";".$pw_ob.";".$eval_id.";".$id_ob;
$i++;
}
// ###################################################################
// ############### email-Konfiguration vorbereiten
// ###################################################################
// emails an Beurteiler schicken
foreach ($_SESSION['observadores'] as $observador)
{
$headers="From: soporte@psitec.cl (PsiTec (".$_SESSION['nombre_usuario']." ".$_SESSION['apellido_usuario']."))\n";
$headers.="bcc: soporte@psitec.cl\n";
$headers.="Reply-to: soporte@psitec.cl (PsiTec)\n";
$headers.="Return-Path: soporte@psitec.cl (PsiTec)\n";
$headers.="Disposition-Notification-To: soporte@psitec.cl (PsiTec)\n";
$headers.="Mime-Version: 1.0\n";
//$headers.="Content-Type: text/plain; charset='iso-8859-1'\n";
$headers.="Content-Type: text/html; charset='iso-8859-1'\n";
$headers.= "Content-Transfer-Encoding: 8bit\n";
//$headers.= "Content-Transfer-Encoding: quoted-printable\n"; // link geht nicht mehr, Schriftart auch nicht
$temp = split(";",$observador); // Struktur: Name, Nachname, Email, username, pw, $eval_id, $id_ob
$to=$temp[2];
$subject=$_SESSION['nombre_usuario']." ".$_SESSION['apellido_usuario']." ".$txt_ac_123; // ...le invita
$message=$txt151." ".$temp[0].",
"; // Estimado...
$message.=$_SESSION['nombre_usuario']." ".$_SESSION['apellido_usuario']." ".$txt_ac_124."
"; // ...le invita...
$message.=$txt_ac_124a.$_SESSION['nombre_usuario'].$txt_ac_124b."
"; // Sus respuestas, y las de otras personas...
$message.=$txt_ac_124c."
"; // Para conocer más sobre este servicio,...
$message.=$txt_ac_125; // Para acceder al cuestionario...
if ($_SESSION['instrument'] == "AC") $message.="".$txt_ac_125a.""; // aquí
elseif ($_SESSION['instrument'] == "IP") $message.="".$txt_ac_125a.""; // aquí
$message.="
".$txt_ac_126."
"; // Si la direccion no aparece subrayada,...
$message.=$txt_ac_127.$temp[3]."
"; // Usuario
$message.=$txt_ac_128.$temp[4]."
"; // Contraseña
$message.=$txt_ac_131."
"; // Gracias
$message.=$txt_ac_132."
"; // El equipo de PsiTec
//$message.=$txt_ac_132a."
"; // www.psitec.cl
// persönl. Nachricht
if ($_SESSION['mensaje'] != "")
{
$message.="
".$_SESSION['nombre_usuario'].$txt_ac_133."
"; // ...le manda el siguiente emnsaje
$mensaje = wordwrap($_SESSION['mensaje'], 77, "
" ); // Text nach 77 Zeichen umbrechen
$message.="".$mensaje."
";
}
// mails abschicken
mail ($to,$subject,$message,$headers,'-f soporte@psitec.cl (PsiTec)');
}
// email an user schicken
$headers="From: soporte@psitec.cl (PsiTec)\n";
$headers.="Reply-to: soporte@psitec.cl (PsiTec)\n";
$headers.="Return-Path: soporte@psitec.cl (PsiTec)\n";
$headers.="Mime-Version: 1.0\n";
$headers.="Content-Type: text/html; charset='iso-8859-1'\n";
$headers.= "Content-Transfer-Encoding: 8bit\n";
$to=$_SESSION['email1'];
$subject=$txt_ac_134a; // Su Análisis de Competencias
$message=$txt_ac_135."
"; // Su campaña ha sido activada
if ($_SESSION['instrument'] == "AC")
{
$message.=$txt_ac_135a; // Para realizar su autoevaluación, haga 'clic'
$message.="".$txt_ac_125a.""; // aquí
$message.="
";
}
$message.=$txt_ac_136." "; // En la siguiente dirección puede ingresar a su cuenta personal
$message.=$txt_ac_138."
"; // www.psitec.cl
$message.=$txt_ac_127.$_SESSION['username']."
"; // Nombre de usuario
$message.=$txt_ac_128.$_SESSION['user_pw']."
"; // Contraseña
if ($_SESSION['gratis'] != 1)
{
$message.=$txt_ac_138b."
"; // Recuerde que el acceso a su informe queda bloqueada hasta que se haya confirmado su pago.
$message.=$txt_ac_138c;// Para realizar el pago,...
$message.="