Initial files
This commit is contained in:
93
koozali-deactivate-users.php
Normal file
93
koozali-deactivate-users.php
Normal file
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
// https://github.com/alekseykuleshov/rocket-chat
|
||||
|
||||
/**
|
||||
* DeActivate old users
|
||||
*
|
||||
* Add protected users to array
|
||||
*
|
||||
*/
|
||||
|
||||
$protectedUsers = array("rocket.cat", "dani", "botpress-connector.bot", "jitsi.bot", "admin", "john");
|
||||
$bestAfterDate = "2023";
|
||||
|
||||
use Dotenv\Dotenv;
|
||||
|
||||
require 'vendor/autoload.php';
|
||||
|
||||
$dotenv = Dotenv::createImmutable(__DIR__);
|
||||
$dotenv->load();
|
||||
$dotenv->required(['SERVER_HOST', 'SERVER_USER', 'SERVER_PASS']);
|
||||
|
||||
$server = $_SERVER['SERVER_HOST'];
|
||||
$user = $_SERVER['SERVER_USER'];
|
||||
$pass = $_SERVER['SERVER_PASS'];
|
||||
|
||||
|
||||
// Firstly, init
|
||||
\ATDev\RocketChat\Chat::setUrl($server); // No trailing / on the https://host.domain
|
||||
|
||||
// Now, login
|
||||
$result = \ATDev\RocketChat\Chat::login($user, $pass);
|
||||
|
||||
if (!$result) {
|
||||
|
||||
// Log the error
|
||||
$error = \ATDev\RocketChat\Chat::getError();
|
||||
// And out
|
||||
} else {
|
||||
|
||||
$userObj = new \ATDev\RocketChat\Users\User;
|
||||
|
||||
$listing = $userObj->listing(0, 150);
|
||||
// Will retrieve use list inc last login
|
||||
|
||||
if (!$listing) {
|
||||
// Log the error
|
||||
$error = \ATDev\RocketChat\Users\User::getError();
|
||||
} else {
|
||||
//var_dump($listing);
|
||||
|
||||
$x = 1;
|
||||
$userArr = array();
|
||||
foreach ($listing as $user) {
|
||||
$userId = $user->getUserName($user);
|
||||
$lastLogin = $user->getLastLogin($user);
|
||||
$userArr[$userId] = ($lastLogin);
|
||||
}
|
||||
unset($userObj);
|
||||
//asort($userArr);
|
||||
|
||||
$protectedUsers = array("rocket.cat", "dani", "botpress-connector.bot", "jitsi.bot", "admin", "john");
|
||||
$bestAfterDate = "2023";
|
||||
|
||||
|
||||
foreach ($userArr as $ID => $date) {
|
||||
|
||||
// If $ID not in array
|
||||
|
||||
if (! in_array($ID, $protectedUsers)) {
|
||||
|
||||
$dateTimeInstance = new DateTime($date);
|
||||
$formattedFromObject = $dateTimeInstance->format('Y');
|
||||
|
||||
if ($formattedFromObject >= $bestAfterDate) {
|
||||
echo "Keep Key=" . $ID . ", Value=" . $formattedFromObject;
|
||||
echo "\n";
|
||||
} else {
|
||||
$user = new \ATDev\RocketChat\Users\User($ID);
|
||||
$active = $user->getActive();
|
||||
|
||||
echo "Delete Key=" . $ID . ", Value=" . $formattedFromObject;
|
||||
echo "\n";
|
||||
}
|
||||
} else {
|
||||
echo "Protected User=" . $ID;
|
||||
echo "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result = \ATDev\RocketChat\Chat::logout();
|
||||
}
|
Reference in New Issue
Block a user