Skip to content
Snippets Groups Projects
Commit 384979d3 authored by Hannes Riebl's avatar Hannes Riebl
Browse files

Replace insertRequest.php by insertRequest2.php

git-svn-id: https://textgridlab.org/svn/textgrid/trunk/middleware/tgauth@13756 7c539038-3410-0410-b1ec-0f2a7bf1c452
parent 41d10dd5
No related branches found
No related tags found
No related merge requests found
<?php <?php
// tell client, he hit correct endpoint ...
header("X-ATEndpoint: YES"); /**
// should be www.textgrid.de * Header
header("Access-Control-Allow-Origin: *"); */
header('X-ATEndpoint: YES');
header('Access-Control-Allow-Origin: *');
include '../include/config.inc.php'; include '../include/config.inc.php';
include '../include/tgSqliteDB.class.php'; include '../include/tgSqliteDB.class.php';
...@@ -13,81 +16,84 @@ $db = new tgSqliteDB($conf); ...@@ -13,81 +16,84 @@ $db = new tgSqliteDB($conf);
$ldap = new tgLdap($conf); $ldap = new tgLdap($conf);
$imap = new tgImap($conf); $imap = new tgImap($conf);
// work around magic_quotes_gpc // Work around magic_quotes_gpc
if (get_magic_quotes_gpc()) { if (get_magic_quotes_gpc()) {
$data = stripslashes($_POST['data']); $data = stripslashes($_POST['data']);
} else { } else {
$data = $_POST['data']; $data = $_POST['data'];
} }
/** /**
* Validation * Validation
*/ */
$in = json_decode($data, TRUE); $in = json_decode($data, TRUE);
$out['status'] = 'validating'; $out['status'] = 'Validating ...';
// if no language selected default to english if($in['name'] == $in['surname']) {
if(!isset($in['lang'])) { $out['error']['surname'] = 'spamSuspicion';
$in['lang'] = 'en';
} }
// email already used? -> query ldap
if($ldap->emailExists($in['email'])) {
$out['error']['email'] = "registered";
}
// userid already used? -> query ldap
if($ldap->uidExists($in['userid'])) { if($ldap->uidExists($in['userid'])) {
$out['error']['userid'] = "userid_used"; $out['error']['userid'] = 'uidUsed';
}
if(empty($in['email'])) {
$out['error']['email'] = 'emailMissing';
} }
if(empty($in['email']) ) { if($ldap->emailExists($in['email'])) {
$out['error']['email'] = "empty"; $out['error']['email'] = 'emailUsed';
} }
if(isset($out['error'])) { if(isset($out['error'])) {
echo json_encode($out); echo json_encode($out);
return; return;
} }
/** /**
* validation done, request -> db, mail to user and ... * Insert request
*/ */
$db->insertUserRequest($in);
// If no language given, default to English
// send email if(!isset($in['lang'])) {
sendMails($conf, $imap, $db, $in); $in['lang'] = 'en';
}
$db->insertUserRequest($in);
/**
* Return data
*/
echo json_encode(array('status' => 'done'));
/** /**
* Here the data is returned * Send e-mails
*/ */
echo json_encode(array("status" => "done"));
function sendMails($conf, $imap, $db, $data) {
// User
function sendMails($conf, $imap, $db, $data) { $templateID = ($data['lang'] == 'de') ? 6 : 5;
$mail = $db->getMailTemplate($templateID);
/**
* notify user $imap->mail($data['email'], $mail['subject'], $mail['body']);
*/
$templateID = ($data['lang'] == 'de') ? 6 : 5; // TextGrid team
$mail = $db->getMailTemplate($templateID);
$body = '';
$subject = 'Request for textgrid account'; foreach($data as $key => $value) {
$imap->mail($data['email'], $mail['subject'], $mail['body']); $body .= $key . ': ' . $value . "\n";
}
/** $body .= "\nLink zum Backend: " . $conf['url'];
* notify textgrid-team
*/ $imap->mail($conf['mail']['cc'], 'New request', $body);
$body = ""; }
foreach($data as $key => $value) {
$body .= $key . ': ' . $value . "\n"; sendMails($conf, $imap, $db, $in);
}
$body .= "\nLink zum Backend : " . $conf['url'] . "\n";
$imap->mail($conf['mail']['cc'], 'New Request', $body);
}
?> ?>
<?php
/**
* Header
*/
header('X-ATEndpoint: YES');
header('Access-Control-Allow-Origin: *');
include '../include/config.inc.php';
include '../include/tgSqliteDB.class.php';
include '../include/tgLdap.class.php';
include '../include/tgImap.class.php';
$db = new tgSqliteDB($conf);
$ldap = new tgLdap($conf);
$imap = new tgImap($conf);
// Work around magic_quotes_gpc
if (get_magic_quotes_gpc()) {
$data = stripslashes($_POST['data']);
} else {
$data = $_POST['data'];
}
/**
* Validation
*/
$in = json_decode($data, TRUE);
$out['status'] = 'Validating ...';
if($in['name'] == $in['surname']) {
$out['error']['surname'] = 'spamSuspicion';
}
if($ldap->uidExists($in['userid'])) {
$out['error']['userid'] = 'uidUsed';
}
if(empty($in['email'])) {
$out['error']['email'] = 'emailMissing';
}
if($ldap->emailExists($in['email'])) {
$out['error']['email'] = 'emailUsed';
}
if(isset($out['error'])) {
echo json_encode($out);
return;
}
/**
* Insert request
*/
// If no language given, default to English
if(!isset($in['lang'])) {
$in['lang'] = 'en';
}
$db->insertUserRequest($in);
/**
* Send e-mails
*/
function sendMails($conf, $imap, $db, $data) {
// User
$templateID = ($data['lang'] == 'de') ? 6 : 5;
$mail = $db->getMailTemplate($templateID);
$imap->mail($data['email'], $mail['subject'], $mail['body']);
// TextGrid team
$body = '';
foreach($data as $key => $value) {
$body .= $key . ': ' . $value . "\n";
}
$body .= "\nLink zum Backend: " . $conf['url'];
$imap->mail($conf['mail']['cc'], 'New request', $body);
}
sendMails($conf, $imap, $db, $in);
/**
* Return data
*/
echo json_encode(array('status' => 'done'));
?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment