PHP Classes

File: htdocs/modules/profile/activate.php

Recommend this page to a friend!
  Classes of Michael Beck   Xoops 2.5   htdocs/modules/profile/activate.php   Download  
File: htdocs/modules/profile/activate.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change: non-canonical order

In docblock var tags, use "type variableName" more consistently
Date: 5 years ago
Size: 5,395 bytes
 

Contents

Class file image Download
<?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';