W
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
3) Some shared servers don't allow get_meta_tags(), so there's now an option to disable Location lookup.
<?php
class Andy_RegisterEmail_ControllerPublic_Register extends XFCP_Andy_RegisterEmail_ControllerPublic_Register
{
public function actionRegister()
{
$parent = parent::actionRegister();
if (!isset($errors))
{
// get userId
$userId = XenForo_Visitor::getUserId();
// must have userId
if ($userId > 0)
{
// get visitor data
$visitor = XenForo_Visitor::getInstance();
//########################################
// customFields
//########################################
// define variable
$fields = '';
// get customFields
$visitor['customFields'];
// get options from Admin CP -> Options -> Register Email -> Custom User Fields
$fields = XenForo_Application::get('options')->registerEmailCustomUserFields;
// check if set
if ($fields != '')
{
// get custom userfields data
$customFieldsArray = XenForo_Application::arrayFilterKeys($visitor['customFields'], explode(',', $fields));
}
//########################################
// ip
//########################################
// define variable
$ipAddress = '';
// get ip address
$ipAddress = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
// define variables
$tags = array();
$tags['known'] = '';
$location = '';
// get options from Admin CP -> Options -> Register Email -> Location
$registerEmailLocation = XenForo_Application::get('options')->registerEmailLocation;
if ($registerEmailLocation)
{
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
//########################################
// prepare message part 1
//########################################
// get options from Admin CP -> Options -> Register Email -> Language
$language = XenForo_Application::get('options')->registerEmailLanguage;
// set language
if ($language > 0)
{
XenForo_Phrase::setLanguageId($language);
}
// message1
$emailMessage1 = new XenForo_Phrase('registeremail_user_name') . ' ' . $visitor['username'] . '
' . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_user_id') . ' ' . $userId . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_email') . ' ' . $visitor['email'] . '<br /><br />';
//########################################
// prepare message part 2
//########################################
$emailMessage2 = '';
// skip custom user fields if empty
if ($fields != '')
{
$fieldName = explode(",",$fields);
// count number of custom userfields to display
$count = count($fieldName);
// message2
for ($i=0; $i<$count; $i++)
{
$emailMessage2 = $emailMessage2 . $fieldName[$i] . ': ' . $customFieldsArray[$fieldName[$i]] . '<br /><br />';
}
}
//########################################
// prepare message part 3
//########################################
// get internal_data path
$webRoot = XenForo_Link::buildPublicLink('full:index');
// message3
$emailMessage3 = new XenForo_Phrase('registeremail_ip_address') . ' ' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_country_determined_by_ip') . ' ' . $location . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_search_by_ip_address') . ' ' . 'http://whatismyipaddress.com/ip/' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_edit_user') . ' ' . $webRoot . 'admin.php?users/' . $userId . '/edit' . '<br /><br />';
//########################################
// prepare message part 4
//########################################
// message4
$emailMessage4 = new XenForo_Phrase('registeremail_registration_type') . ' ' . new XenForo_Phrase('registeremail_default') . '<br /><br />';
// create message from parts
$message = $emailMessage1 . $emailMessage2 . $emailMessage3 . $emailMessage4;
//########################################
// prepare mail variables
//########################################
// get options from Admin CP -> Options -> Register Email -> Email From Username
$username = XenForo_Application::get('options')->regsisterEmailEmailFromUsername;
// get options from Admin CP -> Options -> Register Email -> Email To
$emailTo = XenForo_Application::get('options')->registerEmailEmailTo;
// put into array
$email = explode(',', $emailTo);
// subject
$subject = new XenForo_Phrase('registeremail_new_registration_for') . ' ' . $visitor['username'];
//########################################
// send mail
//########################################
$count = count($email);
for ($i=0; $i<$count; $i++)
{
// define user variable
$user = array(
'username' => $username,
'email' => $email[$i]
);
// prepare mailParams
$mailParams = array(
'user' => $user,
'subject' => $subject,
'message' => $message
);
// prepare mail variable
$mail = XenForo_Mail::create('registeremail_contact', $mailParams);
// send mail
$mail->queue($user['email'], $user['username']);
}
}
}
// return parent
return $parent;
}
public function actionFacebookRegister()
{
$parent = parent::actionFacebookRegister();
if (!isset($errors))
{
// get userId
$userId = XenForo_Visitor::getUserId();
// must have userId
if ($userId > 0)
{
// get visitor data
$visitor = XenForo_Visitor::getInstance();
//########################################
// customFields
//########################################
// define variable
$fields = '';
// get customFields
$visitor['customFields'];
// get options from Admin CP -> Options -> Register Email -> Custom User Fields
$fields = XenForo_Application::get('options')->registerEmailCustomUserFields;
// check if set
if ($fields != '')
{
// get custom userfields data
$customFieldsArray = XenForo_Application::arrayFilterKeys($visitor['customFields'], explode(',', $fields));
}
//########################################
// ip
//########################################
// define variable
$ipAddress = '';
// get ip address
$ipAddress = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
// define variables
$tags = array();
$tags['known'] = '';
$location = '';
// get options from Admin CP -> Options -> Register Email -> Location
$registerEmailLocation = XenForo_Application::get('options')->registerEmailLocation;
if ($registerEmailLocation)
{
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
//########################################
// prepare message part 1
//########################################
// get options from Admin CP -> Options -> Register Email -> Language
$language = XenForo_Application::get('options')->registerEmailLanguage;
// set language
if ($language > 0)
{
XenForo_Phrase::setLanguageId($language);
}
// message1
$emailMessage1 = new XenForo_Phrase('registeremail_user_name') . ' ' . $visitor['username'] . '
' . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_user_id') . ' ' . $userId . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_email') . ' ' . $visitor['email'] . '<br /><br />';
//########################################
// prepare message part 2
//########################################
$emailMessage2 = '';
// skip custom user fields if empty
if ($fields != '')
{
$fieldName = explode(",",$fields);
// count number of custom userfields to display
$count = count($fieldName);
// message2
for ($i=0; $i<$count; $i++)
{
$emailMessage2 = $emailMessage2 . $fieldName[$i] . ': ' . $customFieldsArray[$fieldName[$i]] . '<br /><br />';
}
}
//########################################
// prepare message part 3
//########################################
// get internal_data path
$webRoot = XenForo_Link::buildPublicLink('full:index');
// message3
$emailMessage3 = new XenForo_Phrase('registeremail_ip_address') . ' ' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_country_determined_by_ip') . ' ' . $location . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_search_by_ip_address') . ' ' . 'http://whatismyipaddress.com/ip/' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_edit_user') . ' ' . $webRoot . 'admin.php?users/' . $userId . '/edit' . '<br /><br />';
//########################################
// prepare message part 4
//########################################
// message4
$emailMessage4 = new XenForo_Phrase('registeremail_registration_type') . ' ' . new XenForo_Phrase('registeremail_facebook') . '<br /><br />';
// create message from parts
$message = $emailMessage1 . $emailMessage2 . $emailMessage3 . $emailMessage4;
//########################################
// prepare mail variables
//########################################
// get options from Admin CP -> Options -> Register Email -> Email From Username
$username = XenForo_Application::get('options')->regsisterEmailEmailFromUsername;
// get options from Admin CP -> Options -> Register Email -> Email To
$emailTo = XenForo_Application::get('options')->registerEmailEmailTo;
// put into array
$email = explode(',', $emailTo);
// subject
$subject = new XenForo_Phrase('registeremail_new_registration_for') . ' ' . $visitor['username'];
//########################################
// send mail
//########################################
$count = count($email);
for ($i=0; $i<$count; $i++)
{
// define user variable
$user = array(
'username' => $username,
'email' => $email[$i]
);
// prepare mailParams
$mailParams = array(
'user' => $user,
'subject' => $subject,
'message' => $message
);
// prepare mail variable
$mail = XenForo_Mail::create('registeremail_contact', $mailParams);
// send mail
$mail->queue($user['email'], $user['username']);
}
}
}
// return parent
return $parent;
}
public function actionGoogleRegister()
{
$parent = parent::actionGoogleRegister();
if (!isset($errors))
{
// get userId
$userId = XenForo_Visitor::getUserId();
// must have userId
if ($userId > 0)
{
// get visitor data
$visitor = XenForo_Visitor::getInstance();
//########################################
// customFields
//########################################
// define variable
$fields = '';
// get customFields
$visitor['customFields'];
// get options from Admin CP -> Options -> Register Email -> Custom User Fields
$fields = XenForo_Application::get('options')->registerEmailCustomUserFields;
// check if set
if ($fields != '')
{
// get custom userfields data
$customFieldsArray = XenForo_Application::arrayFilterKeys($visitor['customFields'], explode(',', $fields));
}
//########################################
// ip
//########################################
// define variable
$ipAddress = '';
// get ip address
$ipAddress = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
// define variables
$tags = array();
$tags['known'] = '';
$location = '';
// get options from Admin CP -> Options -> Register Email -> Location
$registerEmailLocation = XenForo_Application::get('options')->registerEmailLocation;
if ($registerEmailLocation)
{
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
//########################################
// prepare message part 1
//########################################
// get options from Admin CP -> Options -> Register Email -> Language
$language = XenForo_Application::get('options')->registerEmailLanguage;
// set language
if ($language > 0)
{
XenForo_Phrase::setLanguageId($language);
}
// message1
$emailMessage1 = new XenForo_Phrase('registeremail_user_name') . ' ' . $visitor['username'] . '
' . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_user_id') . ' ' . $userId . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_email') . ' ' . $visitor['email'] . '<br /><br />';
//########################################
// prepare message part 2
//########################################
$emailMessage2 = '';
// skip custom user fields if empty
if ($fields != '')
{
$fieldName = explode(",",$fields);
// count number of custom userfields to display
$count = count($fieldName);
// message2
for ($i=0; $i<$count; $i++)
{
$emailMessage2 = $emailMessage2 . $fieldName[$i] . ': ' . $customFieldsArray[$fieldName[$i]] . '<br /><br />';
}
}
//########################################
// prepare message part 3
//########################################
// get internal_data path
$webRoot = XenForo_Link::buildPublicLink('full:index');
// message3
$emailMessage3 = new XenForo_Phrase('registeremail_ip_address') . ' ' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_country_determined_by_ip') . ' ' . $location . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_search_by_ip_address') . ' ' . 'http://whatismyipaddress.com/ip/' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_edit_user') . ' ' . $webRoot . 'admin.php?users/' . $userId . '/edit' . '<br /><br />';
//########################################
// prepare message part 4
//########################################
// message4
$emailMessage4 = new XenForo_Phrase('registeremail_registration_type') . ' ' . new XenForo_Phrase('registeremail_google') . '<br /><br />';
// create message from parts
$message = $emailMessage1 . $emailMessage2 . $emailMessage3 . $emailMessage4;
//########################################
// prepare mail variables
//########################################
// get options from Admin CP -> Options -> Register Email -> Email From Username
$username = XenForo_Application::get('options')->regsisterEmailEmailFromUsername;
// get options from Admin CP -> Options -> Register Email -> Email To
$emailTo = XenForo_Application::get('options')->registerEmailEmailTo;
// put into array
$email = explode(',', $emailTo);
// subject
$subject = new XenForo_Phrase('registeremail_new_registration_for') . ' ' . $visitor['username'];
//########################################
// send mail
//########################################
$count = count($email);
for ($i=0; $i<$count; $i++)
{
// define user variable
$user = array(
'username' => $username,
'email' => $email[$i]
);
// prepare mailParams
$mailParams = array(
'user' => $user,
'subject' => $subject,
'message' => $message
);
// prepare mail variable
$mail = XenForo_Mail::create('registeremail_contact', $mailParams);
// send mail
$mail->queue($user['email'], $user['username']);
}
}
}
// return parent
return $parent;
}
public function actionTwitterRegister()
{
$parent = parent::actionTwitterRegister();
if (!isset($errors))
{
// get userId
$userId = XenForo_Visitor::getUserId();
// must have userId
if ($userId > 0)
{
// get visitor data
$visitor = XenForo_Visitor::getInstance();
//########################################
// customFields
//########################################
// define variable
$fields = '';
// get customFields
$visitor['customFields'];
// get options from Admin CP -> Options -> Register Email -> Custom User Fields
$fields = XenForo_Application::get('options')->registerEmailCustomUserFields;
// check if set
if ($fields != '')
{
// get custom userfields data
$customFieldsArray = XenForo_Application::arrayFilterKeys($visitor['customFields'], explode(',', $fields));
}
//########################################
// ip
//########################################
// define variable
$ipAddress = '';
// get ip address
$ipAddress = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
// define variables
$tags = array();
$tags['known'] = '';
$location = '';
// get options from Admin CP -> Options -> Register Email -> Location
$registerEmailLocation = XenForo_Application::get('options')->registerEmailLocation;
if ($registerEmailLocation)
{
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
//########################################
// prepare message part 1
//########################################
// get options from Admin CP -> Options -> Register Email -> Language
$language = XenForo_Application::get('options')->registerEmailLanguage;
// set language
if ($language > 0)
{
XenForo_Phrase::setLanguageId($language);
}
// message1
$emailMessage1 = new XenForo_Phrase('registeremail_user_name') . ' ' . $visitor['username'] . '
' . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_user_id') . ' ' . $userId . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_email') . ' ' . $visitor['email'] . '<br /><br />';
//########################################
// prepare message part 2
//########################################
$emailMessage2 = '';
// skip custom user fields if empty
if ($fields != '')
{
$fieldName = explode(",",$fields);
// count number of custom userfields to display
$count = count($fieldName);
// message2
for ($i=0; $i<$count; $i++)
{
$emailMessage2 = $emailMessage2 . $fieldName[$i] . ': ' . $customFieldsArray[$fieldName[$i]] . '<br /><br />';
}
}
//########################################
// prepare message part 3
//########################################
// get internal_data path
$webRoot = XenForo_Link::buildPublicLink('full:index');
// message3
$emailMessage3 = new XenForo_Phrase('registeremail_ip_address') . ' ' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_country_determined_by_ip') . ' ' . $location . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_search_by_ip_address') . ' ' . 'http://whatismyipaddress.com/ip/' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_edit_user') . ' ' . $webRoot . 'admin.php?users/' . $userId . '/edit' . '<br /><br />';
//########################################
// prepare message part 4
//########################################
// message4
$emailMessage4 = new XenForo_Phrase('registeremail_registration_type') . ' ' . new XenForo_Phrase('registeremail_twitter') . '<br /><br />';
// create message from parts
$message = $emailMessage1 . $emailMessage2 . $emailMessage3 . $emailMessage4;
//########################################
// prepare mail variables
//########################################
// get options from Admin CP -> Options -> Register Email -> Email From Username
$username = XenForo_Application::get('options')->regsisterEmailEmailFromUsername;
// get options from Admin CP -> Options -> Register Email -> Email To
$emailTo = XenForo_Application::get('options')->registerEmailEmailTo;
// put into array
$email = explode(',', $emailTo);
// subject
$subject = new XenForo_Phrase('registeremail_new_registration_for') . ' ' . $visitor['username'];
//########################################
// send mail
//########################################
$count = count($email);
for ($i=0; $i<$count; $i++)
{
// define user variable
$user = array(
'username' => $username,
'email' => $email[$i]
);
// prepare mailParams
$mailParams = array(
'user' => $user,
'subject' => $subject,
'message' => $message
);
// prepare mail variable
$mail = XenForo_Mail::create('registeremail_contact', $mailParams);
// send mail
$mail->queue($user['email'], $user['username']);
}
}
}
// return parent
return $parent;
}
public function actionSteamRegister()
{
$parent = parent::actionSteamRegister();
if (!isset($errors))
{
// get userId
$userId = XenForo_Visitor::getUserId();
// must have userId
if ($userId > 0)
{
// get visitor data
$visitor = XenForo_Visitor::getInstance();
//########################################
// customFields
//########################################
// define variable
$fields = '';
// get customFields
$visitor['customFields'];
// get options from Admin CP -> Options -> Register Email -> Custom User Fields
$fields = XenForo_Application::get('options')->registerEmailCustomUserFields;
// check if set
if ($fields != '')
{
// get custom userfields data
$customFieldsArray = XenForo_Application::arrayFilterKeys($visitor['customFields'], explode(',', $fields));
}
//########################################
// ip
//########################################
// define variable
$ipAddress = '';
// get ip address
$ipAddress = (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : 0);
// define variables
$tags = array();
$tags['known'] = '';
$location = '';
// get options from Admin CP -> Options -> Register Email -> Location
$registerEmailLocation = XenForo_Application::get('options')->registerEmailLocation;
if ($registerEmailLocation)
{
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
//########################################
// prepare message part 1
//########################################
// get options from Admin CP -> Options -> Register Email -> Language
$language = XenForo_Application::get('options')->registerEmailLanguage;
// set language
if ($language > 0)
{
XenForo_Phrase::setLanguageId($language);
}
// message1
$emailMessage1 = new XenForo_Phrase('registeremail_user_name') . ' ' . $visitor['username'] . '
' . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_user_id') . ' ' . $userId . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_email') . ' ' . $visitor['email'] . '<br /><br />';
//########################################
// prepare message part 2
//########################################
$emailMessage2 = '';
// skip custom user fields if empty
if ($fields != '')
{
$fieldName = explode(",",$fields);
// count number of custom userfields to display
$count = count($fieldName);
// message2
for ($i=0; $i<$count; $i++)
{
$emailMessage2 = $emailMessage2 . $fieldName[$i] . ': ' . $customFieldsArray[$fieldName[$i]] . '<br /><br />';
}
}
//########################################
// prepare message part 3
//########################################
// get internal_data path
$webRoot = XenForo_Link::buildPublicLink('full:index');
// message3
$emailMessage3 = new XenForo_Phrase('registeremail_ip_address') . ' ' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_country_determined_by_ip') . ' ' . $location . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_search_by_ip_address') . ' ' . 'http://whatismyipaddress.com/ip/' . $ipAddress . '<br /><br />' . '
' . new XenForo_Phrase('registeremail_edit_user') . ' ' . $webRoot . 'admin.php?users/' . $userId . '/edit' . '<br /><br />';
//########################################
// prepare message part 4
//########################################
// message4
$emailMessage4 = new XenForo_Phrase('registeremail_registration_type') . ' ' . new XenForo_Phrase('registeremail_steam') . '<br /><br />';
// create message from parts
$message = $emailMessage1 . $emailMessage2 . $emailMessage3 . $emailMessage4;
//########################################
// prepare mail variables
//########################################
// get options from Admin CP -> Options -> Register Email -> Email From Username
$username = XenForo_Application::get('options')->regsisterEmailEmailFromUsername;
// get options from Admin CP -> Options -> Register Email -> Email To
$emailTo = XenForo_Application::get('options')->registerEmailEmailTo;
// put into array
$email = explode(',', $emailTo);
// subject
$subject = new XenForo_Phrase('registeremail_new_registration_for') . ' ' . $visitor['username'];
//########################################
// send mail
//########################################
$count = count($email);
for ($i=0; $i<$count; $i++)
{
// define user variable
$user = array(
'username' => $username,
'email' => $email[$i]
);
// prepare mailParams
$mailParams = array(
'user' => $user,
'subject' => $subject,
'message' => $message
);
// prepare mail variable
$mail = XenForo_Mail::create('registeremail_contact', $mailParams);
// send mail
$mail->queue($user['email'], $user['username']);
}
}
}
// return parent
return $parent;
}
}
// get location
$tags = get_meta_tags('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=' . $ipAddress);
// define location only if we have data
if ($tags['known'] == 'true')
{
$location = $tags['city'] . ', ' . $tags['region'] . ', ' . $tags['country'];
}
}
Register Email v2.1 changes:
1) When a new registration is made by Facebook, Google or Twitter an email will be sent.
2) Email sent now indicates by which method the new registration was made:
Default
3) Some shared servers don't allow get_meta_tags(), so there's now an option to disable Location lookup.
4) The Register Email Options now has a Language field to select non-English language.
Wir verwenden essentielle Cookies, damit diese Website funktioniert, und optionale Cookies, um den Komfort bei der Nutzung zu verbessern.
Siehe weitere Informationen und konfiguriere deine Einstellungen