AdminModel::setAccountSuspensionAndDeletionStatus PHP Method

setAccountSuspensionAndDeletionStatus() public static method

Sets the deletion and suspension values
public static setAccountSuspensionAndDeletionStatus ( $suspensionInDays, $softDelete, $userId )
$suspensionInDays
$softDelete
$userId
    public static function setAccountSuspensionAndDeletionStatus($suspensionInDays, $softDelete, $userId)
    {
        // Prevent to suspend or delete own account.
        // If admin suspend or delete own account will not be able to do any action.
        if ($userId == Session::get('user_id')) {
            Session::add('feedback_negative', Text::get('FEEDBACK_ACCOUNT_CANT_DELETE_SUSPEND_OWN'));
            return false;
        }
        if ($suspensionInDays > 0) {
            $suspensionTime = time() + $suspensionInDays * 60 * 60 * 24;
        } else {
            $suspensionTime = null;
        }
        // FYI "on" is what a checkbox delivers by default when submitted. Didn't know that for a long time :)
        if ($softDelete == "on") {
            $delete = 1;
        } else {
            $delete = 0;
        }
        // write the above info to the database
        self::writeDeleteAndSuspensionInfoToDatabase($userId, $suspensionTime, $delete);
        // if suspension or deletion should happen, then also kick user out of the application instantly by resetting
        // the user's session :)
        if ($suspensionTime != null or $delete = 1) {
            self::resetUserSession($userId);
        }
    }

Usage Example

 public function actionAccountSettings()
 {
     if (Request::post('suspension') > 0 || Request::post('softDelete') == "on") {
         AdminModel::setAccountSuspensionAndDeletionStatus(Request::post('suspension'), Request::post('softDelete'), Request::post('user_id'));
     }
     if (Request::post('resetUser') == "on") {
         AdminModel::setActiveUserAndResetLoginFailed(Request::post('user_id'), Request::post('resetUser'));
     }
     Redirect::to("admin");
 }
All Usage Examples Of AdminModel::setAccountSuspensionAndDeletionStatus