<?php

session_start();
$currentBaseDir = dirname($_SERVER['PHP_SELF']);
include($_SESSION['basedir'] . "core.php");

$svaTool = new svaTool();

//print_r($_REQUEST);


$errorCode = 0;
$subMenuPath = $char1 = $char2 = $char3 = $char4 = $char5 = "";

$password = NULL;
$confPasswd = NULL;



//print_r($_REQUEST);
// Ajout de nouvel utilisateur
if (isset($_REQUEST['roleName']) && strlen($_REQUEST['roleName']) > 0)
    $roleName = addslashes($_REQUEST['roleName']);
else
    $errorCode = 1;



$roleDesc = $_REQUEST['roleDesc'];

if (isset($_REQUEST['postJsonData']) && strlen($_REQUEST['postJsonData']) > 0)
    $postJsonData = $_REQUEST['postJsonData'];
else
    $errorCode = 2;




$opId = $_REQUEST['actionType'];
$json = json_decode($postJsonData);

//print_r($json);



if ($opId == 1)
    $label = "CREE";
else
    $label = "MODIFIE";






if ($errorCode == 0) {
$roleIds = 0;
    if ($opId == 1) {
        
    } else {

        $roleIds = $_REQUEST['roleId'];
        // Droppting current data
        $dba->UpdateAddDelRolesDetails(3, $roleIds, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    }


    $roleIdsInserted = $dba->UpdateAddDelRoles($opId, $roleIds, $roleName, $roleDesc, $_SESSION['ownerId'], 0);

    if ($opId == 1){
        $roleIds = $roleIdsInserted;
    }


    $totalNode = count($json);
    $opId = 1;
    $hres = 0;
    for ($i = 0; $i < $totalNode; $i++) {

        if ($json[$i]->HeaderValue == -1) {
            $dba->BatchInsertFromHeader($opId, $roleIds, $json[$i]->RightId);
        } else {


            if ($json[$i]->ApplicationValue == -1) {


                $dba->BatchInsertFromApplication($opId, $roleIds, $json[$i]->RightId, $json[$i]->HeaderValue);
            } else {


                if ($json[$i]->MenuId == -1) {

                    $dba->BatchInsertFromMenu($opId, $roleIds, $json[$i]->RightId, $json[$i]->HeaderValue, $json[$i]->ApplicationValue);
                } else {

                    if ($json[$i]->SubMenuId == -1) {

                        $dba->BatchInsertFromSubMenu($opId, $roleIds, $json[$i]->RightId, $json[$i]->HeaderValue, $json[$i]->ApplicationValue, $json[$i]->MenuId);
                    } else {

                        $res = $dba->UpdateAddDelRolesDetails($opId, $roleIds, $json[$i]->HeaderValue, $json[$i]->ApplicationValue, $json[$i]->MenuId, "None", $json[$i]->SubMenuId, "None", $json[$i]->RightId, $char1, $char2, $char3, $char4, $char5, 0);
                    }
                }
            }
        }
    }
}




switch ($errorCode) {

    case 0 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ROLE $label AVEC SUCCES !\"  }";
        break;
    case 1 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! L'IDENTIFIANT DU ROLE N'EST PAS VALIDE !\"  }";
        break;
    case 2 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! VEUILLEZ SELECTIONNER UN ROLE !\"  }";
        break;
    case 3 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! LE NUMERO DE TELEPHONE ENTRE N'EST PAS VALIDE.\"  }";
        break;
    case 4 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! VEUILLEZ SELECTIONNER LE PROFIL DE L'UTILISATEUR.\"  }";
        break;
    case 5 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! LE LOGIN EST INVALIDE.\"  }";
        break;
    case 6 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! L'EMAIL EST INVALIDE.\"  }";
        break;
    /* case 7 : $msg =  "ERREUR ! LE MOT DE PASSE EST INVALIDE.";
      break; */
    case 8 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! LE MOT DE PASSE DE CONFIRMATION EST INVALIDE .!\"  }";
        break;
    case 9 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! LES MOTS DE PASSE NE CONCORDENT PAS.\"  }";
        break;

    case 13 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! IMPOSSIBLE DE CREER LE COMPTE. VEUILLEZ RE-ESSAYER ULTERIEUREMENT!\"  }";
        break;
    case 14 : $msg = "{ \"errorCode\": $errorCode,\"errorMessage\" :\"ERREUR ! VEUILLEZ SELECTIONNER LE PLAN TARIFAIRE ASSOCIE AU COMPTE !\"  }";
        break;
}


echo $msg;
?>