PHP Classes

File: htdocs/modules/profile/admin/deactivate.php

Recommend this page to a friend!
  Classes of Michael Beck   Xoops 2.5   htdocs/modules/profile/admin/deactivate.php   Download  
File: htdocs/modules/profile/admin/deactivate.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: 1,503 bytes
 

Contents

Class file image Download
<?php
include_once __DIR__ . '/admin_header.php';
xoops_cp_header();

if (!
$GLOBALS['xoopsSecurity']->check()) {
   
redirect_header('index.php', 3, _NOPERM);
}

$uid = Xmf\Request::getInt('uid', 0);
if (
$uid === 0) {
   
redirect_header('index.php', 2, _PROFILE_AM_NOSELECTION);
}
/* @var XoopsMemberHandler $member_handler */
$member_handler = xoops_getHandler('member');
$user = $member_handler->getUser($uid);
if (!
$user || $user->isNew()) {
   
redirect_header('index.php', 2, _PROFILE_AM_USERDONEXIT);
}

if (
in_array(XOOPS_GROUP_ADMIN, $user->getGroups())) {
   
redirect_header('index.php', 2, _PROFILE_AM_CANNOTDEACTIVATEWEBMASTERS);
}
$level = Xmf\Request::getInt('level', 0);
if (
$level===0) {
   
$user->setVar('level', 0);
   
// reset the activation key so it cannot be reused
    // this now gets done at activation, but we do it here also to fix accounts created before the change.
   
$actkey = substr(md5(uniqid(mt_rand(), 1)), 0, 8);
   
$user->setVar('actkey', $actkey);
   
$result = $member_handler->insertUser($user);
} else {
   
$result = $member_handler->activateUser($user);
}
if (
$result) {
    if (
$level !== 0) {
       
$message = _PROFILE_AM_USER_ACTIVATED;
    } else {
       
$message = _PROFILE_AM_USER_DEACTIVATED;
    }
} else {
    if (
$level !== 0) {
       
$message = _PROFILE_AM_USER_NOT_ACTIVATED;
    } else {
       
$message = _PROFILE_AM_USER_NOT_DEACTIVATED;
    }
}
redirect_header('../userinfo.php?uid=' . $user->getVar('uid'), 3, $message);