| 
<?php/**
 * Extended User Profile
 *
 * You may not change or alter any portion of this comment or credits
 * of supporting developers from this source code or any supporting source code
 * which is considered copyrighted (c) material of the original comment or credit authors.
 * 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.
 *
 * @copyright       (c) 2000-2016 XOOPS Project (www.xoops.org)
 * @license             GNU GPL 2 (http://www.gnu.org/licenses/gpl-2.0.html)
 * @package             profile
 * @since               2.3.0
 * @author              Jan Pedersen
 * @author              Taiwen Jiang <[email protected]>
 */
 
 $xoopsOption['pagetype'] = 'user';
 include __DIR__ . '/header.php';
 
 include $GLOBALS['xoops']->path('header.php');
 if (!empty($_GET['id']) && !empty($_GET['actkey'])) {
 $id     = (int)$_GET['id'];
 $actkey = trim($_GET['actkey']);
 if (empty($id)) {
 redirect_header(XOOPS_URL, 1, '');
 }
 /* @var XoopsMemberHandler $member_handler */
 $member_handler = xoops_getHandler('member');
 $thisuser       = $member_handler->getUser($id);
 if (!is_object($thisuser)) {
 redirect_header(XOOPS_URL, 1, '');
 }
 if ($thisuser->getVar('actkey') != $actkey) {
 redirect_header(XOOPS_URL . '/', 5, _US_ACTKEYNOT);
 } else {
 if ($thisuser->getVar('level') > 0) {
 redirect_header(XOOPS_URL . '/modules/' . $GLOBALS['xoopsModule']->getVar('dirname', 'n') . '/index.php', 5, _US_ACONTACT, false);
 } else {
 if (false !== $member_handler->activateUser($thisuser)) {
 $xoopsPreload = XoopsPreload::getInstance();
 $xoopsPreload->triggerEvent('core.behavior.user.activate', $thisuser);
 /* @var XoopsConfigHandler $config_handler */
 $config_handler             = xoops_getHandler('config');
 $GLOBALS['xoopsConfigUser'] = $config_handler->getConfigsByCat(XOOPS_CONF_USER);
 if ($GLOBALS['xoopsConfigUser']['activation_type'] == 2) {
 $myts        = MyTextSanitizer::getInstance();
 $xoopsMailer =& xoops_getMailer();
 $xoopsMailer->useMail();
 $xoopsMailer->setTemplate('activated.tpl');
 $xoopsMailer->assign('SITENAME', $GLOBALS['xoopsConfig']['sitename']);
 $xoopsMailer->assign('ADMINMAIL', $GLOBALS['xoopsConfig']['adminmail']);
 $xoopsMailer->assign('SITEURL', XOOPS_URL . '/');
 $xoopsMailer->setToUsers($thisuser);
 $xoopsMailer->setFromEmail($GLOBALS['xoopsConfig']['adminmail']);
 $xoopsMailer->setFromName($GLOBALS['xoopsConfig']['sitename']);
 $xoopsMailer->setSubject(sprintf(_US_YOURACCOUNT, $GLOBALS['xoopsConfig']['sitename']));
 include $GLOBALS['xoops']->path('header.php');
 if (!$xoopsMailer->send()) {
 printf(_US_ACTVMAILNG, $thisuser->getVar('uname'));
 } else {
 printf(_US_ACTVMAILOK, $thisuser->getVar('uname'));
 }
 include __DIR__ . '/footer.php';
 } else {
 redirect_header(XOOPS_URL . '/user.php', 5, _US_ACTLOGIN, false);
 }
 } else {
 redirect_header(XOOPS_URL . '/index.php', 5, 'Activation failed!');
 }
 }
 }
 // Not implemented yet: re-send activiation code
 } elseif (!empty($_REQUEST['email']) && $xoopsConfigUser['activation_type'] != 0) {
 $myts           = MyTextSanitizer::getInstance();
 /* @var XoopsMemberHandler $member_handler */
 $member_handler = xoops_getHandler('member');
 $getuser        = $member_handler->getUsers(new Criteria('email', $myts->addSlashes(trim($_REQUEST['email']))));
 if (count($getuser) == 0) {
 redirect_header(XOOPS_URL, 2, _US_SORRYNOTFOUND);
 }
 if ($getuser[0]->isActive()) {
 redirect_header(XOOPS_URL, 2, sprintf(_US_USERALREADYACTIVE, $getuser[0]->getVar('email')));
 }
 $xoopsMailer =& xoops_getMailer();
 $xoopsMailer->useMail();
 $xoopsMailer->setTemplate('register.tpl');
 $xoopsMailer->assign('SITENAME', $GLOBALS['xoopsConfig']['sitename']);
 $xoopsMailer->assign('ADMINMAIL', $GLOBALS['xoopsConfig']['adminmail']);
 $xoopsMailer->assign('SITEURL', XOOPS_URL . '/');
 $xoopsMailer->setToUsers($getuser[0]);
 $xoopsMailer->setFromEmail($GLOBALS['xoopsConfig']['adminmail']);
 $xoopsMailer->setFromName($GLOBALS['xoopsConfig']['sitename']);
 $xoopsMailer->setSubject(sprintf(_US_USERKEYFOR, $getuser[0]->getVar('uname')));
 if (!$xoopsMailer->send()) {
 echo _US_YOURREGMAILNG;
 } else {
 echo _US_YOURREGISTERED;
 }
 } else {
 include_once $GLOBALS['xoops']->path('class/xoopsformloader.php');
 $form = new XoopsThemeForm('', 'form', 'activate.php');
 $form->addElement(new XoopsFormText(_US_EMAIL, 'email', 25, 255));
 $form->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
 $form->display();
 }
 
 $xoBreadcrumbs[] = array('title' => _PROFILE_MA_REGISTER);
 include __DIR__ . '/footer.php';
 
 |