Your IP : 216.73.216.86


Current Path : /home/emeraadmin/public_html/4d695/
Upload File :
Current File : /home/emeraadmin/public_html/4d695/user_operations.php.tar

home/emeraadmin/public_html/pages/emeraadmin/user_operations.php000064400000005276151677711710021262 0ustar00<?php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

require_once '../../Service/UserService.php';

$userService = new UserService();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (isset($_POST['action'])) {
        switch ($_POST['action']) {
            case 'addUser':
                addUser($userService);
                break;
            case 'updateUser':
                updateUser($userService);
                break;
            case 'updatePassword':  // Handle the updatePassword action
                resetPassword($userService);
                break;
        }
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'DELETE') {
    if (isset($_GET['id'])) {
        deleteUser($userService, $_GET['id']);
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
    if (isset($_GET['id'])) {
        getUser($userService, $_GET['id']);
    }
} elseif ($_SERVER['REQUEST_METHOD'] === 'PUT') {
    if (isset($_GET['id'])) {
        resetPassword($userService);
    }
}

function addUser($userService) {
    $firstName = $_POST['first_name'];
    $lastName = $_POST['last_name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];

    $password = $_POST['password'];
    $role = $_POST['role'];
    $status = 'active';

    // Check if email already exists
    if ($userService->isEmailExists($email)) {
        echo json_encode(['status' => 'error', 'message' => 'Email already exists']);
        return;
    }

    $userService->addUser($firstName, $lastName, $email, $phone, $role, $status, $password);
    echo json_encode(['status' => 'success']);
}

function updateUser($userService) {
    $id = $_POST['id'];
    $firstName = $_POST['first_name'];
    $lastName = $_POST['last_name'];
    $email = $_POST['email'];
    $phone = $_POST['phone'];
    $role = $_POST['role'];

    // Check if email already exists for other users
    if ($userService->isEmailExistsForOthers($id, $email)) {
        echo json_encode(['status' => 'error', 'message' => 'Email already exists']);
        return;
    }

    $userService->updateUser($id, $firstName, $lastName, $email, $phone, $role);
    echo json_encode(['status' => 'success']);
}

function deleteUser($userService, $id) {
    $userService->deleteUser($id);
    echo json_encode(['status' => 'success']);
}

function getUser($userService, $id) {
    $user = $userService->getUserById($id);
    echo json_encode($user);
}

function resetPassword($userService) {
    $id = $_POST['user_id'];
    $password = $_POST['new-password'];
    $userService->resetPassword($id, $password);
    echo json_encode(['status' => 'success']);
}

?>