mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-07 15:19:31 +00:00
500 lines
21 KiB
PHP
Executable File
500 lines
21 KiB
PHP
Executable File
<?php
|
|
|
|
/* Copyright (C) 2012 FH Technikum-Wien
|
|
*
|
|
* 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 2 of the
|
|
* License, or (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
|
*
|
|
* Authors: Karl Burkhart <burkhart@technikum-wien.at>
|
|
* Manfred Kindl <kindlm@technikum-wien.at>
|
|
*/
|
|
|
|
require_once '../../config/cis.config.inc.php';
|
|
require_once '../../include/phrasen.class.php';
|
|
require_once '../../include/person.class.php';
|
|
require_once '../../include/studiengang.class.php';
|
|
require_once '../../include/datum.class.php';
|
|
require_once '../../include/mail.class.php';
|
|
require_once '../../include/prestudent.class.php';
|
|
require_once '../../include/preinteressent.class.php';
|
|
require_once '../../include/kontakt.class.php';
|
|
require_once '../../include/studiensemester.class.php';
|
|
require_once '../../include/datum.class.php';
|
|
require_once('../../include/sprache.class.php');
|
|
|
|
require_once '../../include/securimage/securimage.php';
|
|
|
|
if(isset($_GET['lang']))
|
|
setSprache($_GET['lang']);
|
|
|
|
$method = isset($_GET['method'])?$_GET['method']:'';
|
|
$message = "";
|
|
$datum = new datum();
|
|
|
|
//$studiensemester = new studiensemester();
|
|
//$std_semester = $studiensemester->getakt();
|
|
|
|
if(isset($_GET['sprache']))
|
|
{
|
|
$sprache = new sprache();
|
|
if($sprache->load($_GET['sprache']))
|
|
{
|
|
setSprache($_GET['sprache']);
|
|
}
|
|
else
|
|
setSprache(DEFAULT_LANGUAGE);
|
|
}
|
|
|
|
$sprache = getSprache();
|
|
$p = new phrasen($sprache);
|
|
$db = new basis_db();
|
|
|
|
// Login gestartet
|
|
if (isset($_POST['userid']))
|
|
{
|
|
$login = $_REQUEST['userid'];
|
|
$person = new person();
|
|
|
|
session_start();
|
|
$person_id=$person->checkZugangscodePerson(trim($login));
|
|
|
|
//Zugangscode wird überprüft
|
|
if($person_id != false)
|
|
{
|
|
$_SESSION['bewerbung/user'] = $login;
|
|
$_SESSION['bewerbung/personId'] = $person_id;
|
|
|
|
|
|
|
|
header('Location: bewerbung.php');
|
|
exit;
|
|
}
|
|
else
|
|
{
|
|
$message= "<script type=\"text/javascript\">alert('".$p->t('bewerbung/zugangsdatenFalsch')."')</script>";
|
|
}
|
|
}
|
|
|
|
?>
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Registration für Studiengänge</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
|
<meta name="robots" content="noindex">
|
|
<link href="../../skin/style.css.php" rel="stylesheet" type="text/css">
|
|
<link href="../../include/js/tablesort/table.css" rel="stylesheet" type="text/css">
|
|
</head>
|
|
<script type="text/javascript">
|
|
function changeSprache(sprache)
|
|
{
|
|
method = '<?php echo $db->convert_html_chars($method);?>';
|
|
|
|
window.location.href="registration.php?sprache="+sprache+"&method="+method;
|
|
}
|
|
function checkRegistration()
|
|
{
|
|
if(document.RegistrationLoginForm.vorname.value == "")
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteVornameAngeben')?>");
|
|
return false;
|
|
}
|
|
if(document.RegistrationLoginForm.nachname.value == "")
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteNachnameAngeben')?>");
|
|
return false;
|
|
}
|
|
if(document.RegistrationLoginForm.geb_datum.value == "")
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteGeburtsdatumEintragen')?>");
|
|
return false;
|
|
}
|
|
else
|
|
{
|
|
var gebDat = document.RegistrationLoginForm.geb_datum.value;
|
|
gebDat = gebDat.split(".");
|
|
if(gebDat.length !== 3)
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteGeburtsdatumEintragen')?>");
|
|
return false;
|
|
}
|
|
if(gebDat[0].length !==2 && gebDat[1].length !== 2 && gebDat[2].length !== 4)
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteGeburtsdatumEintragen')?>");
|
|
return false;
|
|
}
|
|
|
|
var date = new Date(gebDat[2], gebDat[1], gebDat[0]);
|
|
date.setMonth(date.getMonth()-1);
|
|
|
|
gebDat[0] = parseInt(gebDat[0], 10);
|
|
gebDat[1] = parseInt(gebDat[1], 10)-1;
|
|
gebDat[2] = parseInt(gebDat[2], 10);
|
|
|
|
if(!(date.getFullYear() === gebDat[2] && date.getMonth() === gebDat[1] && date.getDate() === gebDat[0]))
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteGeburtsdatumEintragen')?>");
|
|
return false;
|
|
}
|
|
}
|
|
if((document.getElementById('geschlechtm').checked == false)&&(document.getElementById('geschlechtw').checked == false))
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteGeschlechtWaehlen')?>");
|
|
return false;
|
|
}
|
|
if(document.RegistrationLoginForm.email.value == "")
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteEmailAngeben')?>");
|
|
return false;
|
|
}
|
|
if(document.RegistrationLoginForm.studiensemester_kurzbz.value == "")
|
|
{
|
|
alert("<?php echo $p->t('bewerbung/bitteStudienbeginnWaehlen')?>");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
</script>
|
|
<body class="main">
|
|
<table width="100%" height="100%" cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<td class="rand"></td>
|
|
<td class="boxshadow" valign="top" style="padding:10px; background-color: white;">
|
|
<?php
|
|
|
|
/**
|
|
* Maske zum Registrieren wird angezeigt
|
|
* Nach erfolgreicher Registration wird eine Benutzer ID erstellt und an den Benutzer geschickt
|
|
*/
|
|
if($method == 'registration')
|
|
{
|
|
// Falls Sicherheitscode falsch ist - übergebene Werte speichern und vorausfüllen
|
|
$date = new datum();
|
|
|
|
$vorname = isset($_REQUEST['vorname'])?$_REQUEST['vorname']:'';
|
|
$nachname = isset($_REQUEST['nachname'])?$_REQUEST['nachname']:'';
|
|
$geb_datum = isset($_REQUEST['geb_datum'])?$_REQUEST['geb_datum']:'';
|
|
$geschlecht = isset($_REQUEST['geschlecht'])?$_REQUEST['geschlecht']:'';
|
|
$email = isset($_REQUEST['email'])?$_REQUEST['email']:'';
|
|
$studiengaenge = isset($_REQUEST['studiengaenge'])?$_REQUEST['studiengaenge']:array();
|
|
$std_semester = isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST['studiensemester_kurzbz']:'';
|
|
$stg_auswahl = isset($_REQUEST['stg'])?$_REQUEST['stg']:'';
|
|
|
|
|
|
$securimage = new Securimage();
|
|
if(isset($_POST['submit']))
|
|
{
|
|
// Sicherheitscode wurde falsch eingegeben
|
|
if ($securimage->check($_POST['captcha_code']) == false)
|
|
$message = '<span class="error">'.$p->t('bewerbung/sicherheitscodeFalsch').'</span><br />';
|
|
elseif (count($studiengaenge)==0)
|
|
$message = '<span class="error">'.$p->t('bewerbung/bitteStudienrichtungWaehlen').'</span><br />';
|
|
else
|
|
{
|
|
// Person anlegen
|
|
$person = new person();
|
|
|
|
$vorname = $_REQUEST['vorname'];
|
|
$nachname =$_REQUEST['nachname'];
|
|
$geb_datum = $date->formatDatum($_REQUEST['geb_datum'], 'Y-m-d');
|
|
$geschlecht = $_REQUEST['geschlecht'];
|
|
$email = $_REQUEST['email'];
|
|
$zugangscode = uniqid();
|
|
$std_semester = $_REQUEST['studiensemester_kurzbz'];
|
|
|
|
$person->nachname = $nachname;
|
|
$person->vorname = $vorname;
|
|
$person->gebdatum = $geb_datum;
|
|
$person->geschlecht = $geschlecht;
|
|
$person->aktiv = true;
|
|
$person->zugangscode = $zugangscode;
|
|
$person->insertamum = date('Y-m-d H:i:s');
|
|
$person->updateamum = date('Y-m-d H:i:s');
|
|
$person->new = true;
|
|
|
|
if(!$person->save())
|
|
die('Fehler beim Anlegen der Person aufgetreten.');
|
|
|
|
// Email Kontakt zu Person speichern
|
|
$kontakt = new kontakt();
|
|
$kontakt->person_id = $person->person_id;
|
|
$kontakt->kontakttyp = "email";
|
|
$kontakt->kontakt = $email;
|
|
$kontakt->insertamum = date('Y-m-d H:i:s');
|
|
$kontakt->updateamum = date('Y-m-d H:i:s');
|
|
$kontakt->new = true;
|
|
|
|
if(!$kontakt->save())
|
|
die('Fehler beim speichern des Kontaktes');
|
|
|
|
$anzStg = count($studiengaenge);
|
|
|
|
// ab wieviel ausgewählten Studiengängen kommt Student ins Preinteressententool
|
|
if(count($studiengaenge) < ANZAHL_PREINTERESSENT)
|
|
{
|
|
// Prestudenten anlegen
|
|
for($i = 0; $i<$anzStg; $i++)
|
|
{
|
|
$prestudent = new prestudent();
|
|
$prestudent->person_id = $person->person_id;
|
|
$prestudent->studiengang_kz = $studiengaenge[$i];
|
|
$prestudent->aufmerksamdurch_kurzbz = 'k.A.';
|
|
$prestudent->insertamum = date('Y-m-d H:i:s');
|
|
$prestudent->updateamum = date('Y-m-d H:i:s');
|
|
$prestudent->reihungstestangetreten = false;
|
|
$prestudent->new = true;
|
|
if(!$prestudent->save())
|
|
die('Fehler beim anlegen des Prestudenten');
|
|
|
|
// Interessenten Status anlegen
|
|
$prestudent_status = new prestudent();
|
|
$prestudent_status->load($prestudent->prestudent_id);
|
|
$prestudent_status->status_kurzbz = 'Interessent';
|
|
$prestudent_status->studiensemester_kurzbz = $std_semester;
|
|
$prestudent_status->ausbildungssemester = '1';
|
|
$prestudent_status->datum = date("Y-m-d H:m:s");
|
|
$prestudent_status->insertamum = date("Y-m-d H:m:s");
|
|
$prestudent_status->insertvon = '';
|
|
$prestudent_status->updateamum = date("Y-m-d H:m:s");
|
|
$prestudent_status->updatevon = '';
|
|
$prestudent_status->new = true;
|
|
if(!$prestudent_status->save_rolle())
|
|
die('Fehler beim anlegen der Rolle');
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// Preinteressent anlegen
|
|
$timestamp = time();
|
|
$preInteressent = new preinteressent();
|
|
$preInteressent->person_id = $person->person_id;
|
|
$preInteressent->aufmerksamdurch_kurzbz = 'k.A.';
|
|
$preInteressent->kontaktmedium_kurzbz = 'bewerbungonline';
|
|
$preInteressent->erfassungsdatum = date('Y-m-d', $timestamp);
|
|
$preInteressent->insertamum = date('Y-m-d H:i:s');
|
|
$preInteressent->updateamum = date('Y-m-d H:i:s');
|
|
$preInteressent->new = true;
|
|
if(!$preInteressent->save())
|
|
die('Fehler beim anlegen des Preinteressenten');
|
|
|
|
// Zuordnungen anlegen
|
|
|
|
for($i = 0; $i<$anzStg; $i++)
|
|
{
|
|
$preIntZuordnung = new preinteressent();
|
|
$preIntZuordnung->preinteressent_id = $preInteressent->preinteressent_id;
|
|
$preIntZuordnung->studiengang_kz = $studiengaenge[$i];
|
|
$preIntZuordnung->prioritaet = '1';
|
|
$preIntZuordnung->insertamum = date('Y-m-d H:i:s');
|
|
$preIntZuordnung->updateamum = date('Y-m-d H:i:s');
|
|
$preIntZuordnung->new = true;
|
|
if(!$preIntZuordnung->saveZuordnung())
|
|
die('Fehler beim anlegen des Preinteressenten');
|
|
}
|
|
|
|
}
|
|
|
|
//Email schicken
|
|
echo sendMail($zugangscode, $email);
|
|
exit();
|
|
}
|
|
}
|
|
|
|
// User sieht Registrationsmaske
|
|
echo ' <table width="100%" border="0">
|
|
<tr>
|
|
<td align="left"><a href="'.$_SERVER['PHP_SELF'].'">'.$p->t('bewerbung/login').'</a> > '.$p->t('bewerbung/registration').' </td>
|
|
<td align="right" width="10px"><select style="text-align: right; color: #0086CC; border: 0;" name="select" onchange="changeSprache(this.options[this.selectedIndex].value);">';
|
|
$sprache2 = new sprache();
|
|
$sprache2->getAll(true);
|
|
foreach($sprache2->result as $row)
|
|
{
|
|
echo ' <option value="'.$row->sprache.'" '.($row->sprache==$sprache?'selected':'').'>'.($row->bezeichnung_arr[getSprache()]).' </option>';
|
|
}
|
|
echo ' </select></td>
|
|
</tr>
|
|
</table>';
|
|
echo $message.'
|
|
<form action="'.$_SERVER['PHP_SELF'].'?method=registration" method="POST" name="RegistrationLoginForm">
|
|
<table border="0" align="" style="margin-top:4%;margin-left:15%">
|
|
<tr>
|
|
<td colspan="3"><p>'.$p->t('bewerbung/einleitungstext').'</p><br><br></td>
|
|
</tr>
|
|
<tr>
|
|
<td width="250px" align="right">'.$p->t('bewerbung/zugangscode').' '.$p->t('bewerbung/fallsVorhanden').': </td>
|
|
<td><input type="text" class="input_bewerbung" size="30" style="color: #888;" value=" '.$p->t('bewerbung/zugangscode').'" name="userid" onfocus="this.value=\'\';this.style.color=\'black\'"> <input type="submit" value="'.$p->t('bewerbung/login').'"></td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
</table>
|
|
<table border = "0" align="" style="margin-left:15%">
|
|
<tr>
|
|
<td width="250px" align="right">'.$p->t('global/vorname').': </td>
|
|
<td><input type="text" class="input_bewerbung" size="40" maxlength="32" name="vorname" value="'.$vorname.'"></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">'.$p->t('global/nachname').': </td>
|
|
<td><input type="text" class="input_bewerbung" size="40" maxlength="64" name="nachname" value="'.$nachname.'"></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">'.$p->t('global/geburtsdatum').': </td>
|
|
<td><input type="datetime" class="input_bewerbung" size="20" name="geb_datum" value="'.$geb_datum.'"> (dd.mm.yyyy)</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">'.$p->t('global/geschlecht').': </td>
|
|
<td>';
|
|
$checked = ($geschlecht =='m')?'checked':'';
|
|
echo' <input type="radio" name="geschlecht" id="geschlechtm" value="m" '.$checked.'> '.$p->t('global/mann');
|
|
$checked= ($geschlecht == 'w')?'checked':'';
|
|
echo' <input type="radio" name="geschlecht" id="geschlechtw" value="w" '.$checked.'> '.$p->t('global/frau').'
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">'.$p->t('global/emailAdresse').': </td>
|
|
<td><input type="email" class="input_bewerbung" size="40" maxlength="128" name="email" id="email" value="'.$email.'"></td>
|
|
</tr>
|
|
<tr>
|
|
<td align="right">'.$p->t('bewerbung/geplanterStudienbeginn').': </td>
|
|
<td><select id="studiensemester_kurzbz" name="studiensemester_kurzbz">
|
|
<option value="">'.$p->t('bewerbung/bitteWaehlen').'</option>';
|
|
$stsem = new studiensemester();
|
|
$stsem->getFutureStudiensemester('',4);
|
|
|
|
foreach($stsem->studiensemester as $row)
|
|
{
|
|
echo ' <option value="'.$row->studiensemester_kurzbz.'" '.($std_semester==$row->studiensemester_kurzbz?'selected':'').'>'.$row->bezeichnung.'</option>';
|
|
}
|
|
echo ' </select></td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top" align="right">'.$p->t('bewerbung/studienrichtung').': </td>
|
|
<td><table cellpadding="1" cellspacing="0" style="border-spacing:0;">';
|
|
$stg = new studiengang();
|
|
$stg->getAll('typ,bezeichnung',true);
|
|
|
|
foreach($stg->result as $result)
|
|
{
|
|
if($result->studiengang_kz > 0)
|
|
{
|
|
$checked = '';
|
|
$typ = new studiengang();
|
|
$typ->getStudiengangTyp($result->typ);
|
|
if(in_array($result->studiengang_kz, $studiengaenge) || $result->studiengang_kz == $stg_auswahl)
|
|
$checked = 'checked';
|
|
echo '<tr><td></td><td valign="middle"><input type="checkbox" name="studiengaenge[]" value="'.$result->studiengang_kz.'" '.$checked.'> '.$result->bezeichnung.'</td></tr>';
|
|
}
|
|
}
|
|
echo' </table></tr>
|
|
<tr>
|
|
<td align="center"><img id="captcha" src="'.APP_ROOT.'include/securimage/securimage_show.php" alt="CAPTCHA Image" style="border:1px solid;" /><br>
|
|
<a href="#" onclick="document.getElementById(\'captcha\').src = \''.APP_ROOT.'include/securimage/securimage_show.php?\' + Math.random(); return false">'.$p->t('bewerbung/andereGrafik').'</a></td>
|
|
<td>'.$p->t('bewerbung/captcha').'<br><input type="text" name="captcha_code" size="10" maxlength="6" />';?>
|
|
|
|
<?php
|
|
echo' </td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="2" align="center"><input type="submit" name="submit" value="'.$p->t('bewerbung/registrieren').'" onclick="return checkRegistration()"></td>
|
|
</tr>
|
|
<tr><td><input type="hidden" name="zugangscode" value="'.uniqid().'"></td></tr>
|
|
</table>
|
|
</form>';
|
|
}
|
|
else
|
|
{
|
|
/**
|
|
* Login wird angezeigt
|
|
*/
|
|
echo '<table width="100%" border="0">
|
|
<tr>
|
|
<td align="right" width="10px"><select style="text-align: right; color: #0086CC; border: 0;" name="select" onchange="changeSprache(this.options[this.selectedIndex].value);">';
|
|
$sprache2 = new sprache();
|
|
$sprache2->getAll(true);
|
|
foreach($sprache2->result as $row)
|
|
{
|
|
echo ' <option value="'.$row->sprache.'" '.($row->sprache==$sprache?'selected':'').'>'.($row->bezeichnung_arr[getSprache()]).' </option>';
|
|
}
|
|
echo ' </select></td>
|
|
</tr>
|
|
</table>';
|
|
echo $message.'
|
|
<form action ="'.$_SERVER['PHP_SELF'].'" method="POST">
|
|
<table border="0" width="100%">
|
|
<tr>
|
|
<td align="center" valign="center" style="padding-top: 80px;"><h1>'.$p->t('bewerbung/welcome').'</h1><span style="font-size:1.2em"></span></td>
|
|
</tr>
|
|
<tr >
|
|
<td align="center" valign="bottom" style="padding-top: 80px;padding-bottom: 80px;"> <img src="../../skin/styles/'.DEFAULT_STYLE.'/logo.png" style="max-width: 400px; max-height: 400px; overflow: hidden;"></td>
|
|
</tr>
|
|
</table>
|
|
<table border ="0" width ="100%">
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">'.$p->t('bewerbung/registrierenOderZugangscode').'</td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center"><input class="input_bewerbung" type="text" size="30" style="color: #888;" value=" '.$p->t('bewerbung/zugangscode').'" name="userid" onfocus="this.value=\'\';this.style.color=\'black\'"></td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center"><input type="submit" value="Login" name="submit"></td>
|
|
</tr>
|
|
<tr>
|
|
<td> </td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">';
|
|
|
|
if(isset($errormsg))
|
|
echo $errormsg;
|
|
echo '</tr>
|
|
</table>
|
|
</form>';
|
|
}
|
|
echo '</td>
|
|
<td class="rand">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>';
|
|
|
|
function sendMail($zugangscode, $email)
|
|
{
|
|
global $p, $vorname, $nachname;
|
|
|
|
$mail = new mail($email, 'no-reply', $p->t('bewerbung/registration'), $p->t('bewerbung/mailtextHtml'));
|
|
$text = $p->t('bewerbung/mailtext',array($vorname, $nachname, $zugangscode));
|
|
$mail->setHTMLContent($text);
|
|
if(!$mail->send())
|
|
$msg= '<span class="error">'.$p->t('bewerbung/fehlerBeimSenden').'</span><br /><a href='.$_SERVER['PHP_SELF'].'?method=registration>'.$p->t('bewerbung/zurueckZurAnmeldung').'</a>';
|
|
else
|
|
$msg= $p->t('global/emailgesendetan')." $email!<br><a href=".$_SERVER['PHP_SELF'].">".$p->t('bewerbung/zurueckZurAnmeldung')."</a>";
|
|
|
|
// sende Nachricht an Assistenz
|
|
|
|
return $msg;
|
|
}
|