1 hour ago, Cor said:
This is how I have it now:
/**
* Registration::ProcessRegistration()
…
This is mine (core/modules/registration/registration.php) - feel free to have it. It’s cut out all the spam for us.
\<?php /\*\* \* phpVMS - Virtual Airline Administration Software \* Copyright (c) 2008 Nabeel Shahzad \* For more information, visit www.phpvms.net \* Forums: http://www.phpvms.net/forum \* Documentation: http://www.phpvms.net/docs \* \* phpVMS is licenced under the following license: \* Creative Commons Attribution Non-commercial Share Alike (by-nc-sa) \* View license.txt in the root, or visit http://creativecommons.org/licenses/by-nc-sa/3.0/ \* \* @author Nabeel Shahzad \* @copyright Copyright (c) 2008, Nabeel Shahzad \* @link http://www.phpvms.net \* @license http://creativecommons.org/licenses/by-nc-sa/3.0/ \*/ class Registration extends CodonModule { public function HTMLHead() { /\*Show our password strength checker \*/ if($this-\>get-\>page == 'register') { $this-\>renderTemplate('registration\_javascript.tpl'); } } public function index() { //updated to Google noCaptcha 1/15 require\_once CORE\_LIB\_PATH.'/recaptcha/recaptchalib.php'; if(Auth::LoggedIn()) { // Make sure they don't over-ride it $this-\>render('login\_already.tpl'); return; } if(isset($\_POST['submit'])) { $this-\>ProcessRegistration(); } else { $this-\>ShowForm(); } } protected function ShowForm() { //Google reCaptcha //updated to Google noCaptcha 1/15 $this-\>set('sitekey', RECAPTCHA\_PUBLIC\_KEY); $this-\>set('lang', 'en'); $field\_list = RegistrationData::GetCustomFields(); $this-\>set('extrafields', $field\_list); $this-\>set('field\_list', $field\_list); $airline\_list = OperationsData::getAllAirlines(true); $this-\>set('allairlines', $airline\_list); $this-\>set('airline\_list', $airline\_list); $hub\_list = OperationsData::getAllHubs(); $this-\>set('allhubs', $hub\_list); $this-\>set('hub\_list', $hub\_list); $country\_list = Countries::getAllCountries(); $this-\>set('countries', $country\_list); $this-\>set('country\_list', $country\_list); $this-\>render('registration\_mainform.tpl'); } /\*\* \* Registration::ProcessRegistration() \* \* @return \*/ protected function ProcessRegistration() { // Yes, there was an error if(!$this-\>VerifyData()) { $this-\>ShowForm(); return; } $data = array( 'firstname' =\> $this-\>post-\>firstname, 'lastname' =\> $this-\>post-\>lastname, 'email' =\> $this-\>post-\>email, 'password' =\> $this-\>post-\>password1, 'code' =\> $this-\>post-\>code, 'location' =\> $this-\>post-\>location, 'hub' =\> $this-\>post-\>hub, 'confirm' =\> false ); // Check email for known spammer $url = 'http://www.stopforumspam.com/api?email='.$data['email'].'&ip='.$\_SERVER['REMOTE\_ADDR']; $file = new CodonWebService(); $contents = $file-\>get($url); $response = simplexml\_load\_string($contents); $reject = FALSE; foreach($response-\>appears as $row) { if($row == 'yes'){$reject = TRUE;} } if($reject == TRUE){ $this-\>set('message', 'Your email or IP address appears on our spam database, we therefore assume you are a spammer and are rejecting your registration request. If you feel this is incorrect please contact us.'); $this-\>render('core\_error.tpl'); //send email that spam registration rejected $email = '[email protected]'; $sub = 'Spam Registration Rejected';; $message = 'Spam pilot registration rejected using email '.$data['email'].' and IP address '.$\_SERVER['REMOTE\_ADDR'].' on '.date('m/d/Y', time()).' at '.date('g:ia', time()); Util::SendEmail($email, $sub, $message); return false; } //end spam check if(CodonEvent::Dispatch('registration\_precomplete', 'Registration', $\_POST) == false) { return false; } $ret = RegistrationData::CheckUserEmail($data['email']); if($ret) { $this-\>set('error', Lang::gs('email.inuse')); $this-\>render('registration\_error.tpl'); return false; } $val = RegistrationData::AddUser($data); if($val == false) { $this-\>set('error', RegistrationData::$error); $this-\>render('registration\_error.tpl'); return; } else { $pilotid = RegistrationData::$pilotid; /\* Automatically confirm them if that option is set \*/ if(Config::Get('PILOT\_AUTO\_CONFIRM') == true) { PilotData::AcceptPilot($pilotid); RanksData::CalculatePilotRanks(); $pilot = PilotData::getPilotData($pilotid); $this-\>set('pilot', $pilot); $this-\>render('registration\_autoconfirm.tpl'); } else { /\* Otherwise, wait until an admin confirms the registration \*/ RegistrationData::SendEmailConfirm($email, $firstname, $lastname); $this-\>render('registration\_sentconfirmation.tpl'); } } CodonEvent::Dispatch('registration\_complete', 'Registration', $\_POST); // Registration email/show user is waiting for confirmation $sub = 'A user has registered'; $message = "The user {$data['firstname']} {$data['lastname']} ({$data['email']}) has registered, and is awaiting confirmation."; $email = Config::Get('EMAIL\_NEW\_REGISTRATION'); if(empty($email)) { $email = ADMIN\_EMAIL; } Util::SendEmail($email, $sub, $message); // Send email to user $this-\>set('firstname', $data['firstname']); $this-\>set('lastname', $data['lastname']); $this-\>set('userinfo', $data); $message = Template::Get('email\_registered.tpl', true); Util::SendEmail($data['email'], 'Registration at '.SITE\_NAME, $message); $rss = new RSSFeed('Latest Pilot Registrations', SITE\_URL, 'The latest pilot registrations'); $pilot\_list = PilotData::GetLatestPilots(); foreach($pilot\_list as $pilot) { $rss-\>AddItem('Pilot '.PilotData::GetPilotCode($pilot-\>code, $pilot-\>pilotid) . ' ('.$pilot-\>firstname .' ' . $pilot-\>lastname.')', SITE\_URL.'/admin/index.php?admin=pendingpilots','',''); } $rss-\>BuildFeed(LIB\_PATH.'/rss/latestpilots.rss'); } /\* \* Process all the registration data \*/ protected function VerifyData() { $error = false; //Google reCaptcha //updated to Google noCaptcha 1/15 $resp = null; $reCaptcha = new ReCaptcha(RECAPTCHA\_PRIVATE\_KEY); // Was there a reCAPTCHA response? if ($\_POST["g-recaptcha-response"]) { $resp = $reCaptcha-\>verifyResponse( $\_SERVER["REMOTE\_ADDR"], $\_POST["g-recaptcha-response"] ); } //check if reCaptcha response was valid if ($resp == null) { $error = true; $this-\>set('captcha\_error', 'reCaptcha Validation Error'); } //end Google reCaptcha /\* Check the firstname and last name \*/ if($this-\>post-\>firstname == '') { $error = true; $this-\>set('firstname\_error', true); } else { $this-\>set('firstname\_error', ''); } /\* Check the last name \*/ if($this-\>post-\>lastname == '') { $error = true; $this-\>set('lastname\_error', true); } else { $this-\>set('lastname\_error', ''); } /\* Check the email address \*/ if(filter\_var($this-\>post-\>email, FILTER\_VALIDATE\_EMAIL) == false) { $error = true; $this-\>set('email\_error', true); } else { $this-\>set('email\_error', ''); } /\* Check the location \*/ if($this-\>post-\>location == '') { $error = true; $this-\>set('location\_error', true); } else { $this-\>set('location\_error', ''); } // Check password length if(strlen($this-\>post-\>password1) \<= 5) { $error = true; $this-\>set('password\_error', 'The password is too short!'); } else { $this-\>set('password\_error', ''); } // Check is passwords are the same if($this-\>post-\>password1 != $this-\>post-\>password2) { $error = true; $this-\>set('password\_error', 'The passwords do not match!'); } else { $this-\>set('password\_error', ''); } //Get customs fields $fields = RegistrationData::getCustomFields(); if(count($fields) \> 0) { foreach ($fields as $field) { $value = Vars::POST($field-\>fieldname); $value1 = DB::escape($value); if ($field-\>required == 1 && $value1 == '') { $error = true; $this-\>set('custom\_'.$field-\>fieldname.'\_error', true); } else { $this-\>set('custom\_'.$field-\>fieldname.'\_error', ''); } } } if($error == true) { return false; } return true; } }
Just change the email in the spam part - in the above code, it shows as [email protected]