Warning: chmod(): Operation not permitted in /data/html/improve/wp-content/plugins/wordfence/wordfence.php on line 8
403WebShell
403Webshell
Server IP : 52.9.100.119  /  Your IP : 216.73.216.193
Web Server : Apache/2.4.61 (Amazon) OpenSSL/1.0.2k-fips PHP/7.3.30 Phusion_Passenger/5.1.5
System : Linux ip-172-31-9-35 4.14.355-196.618.amzn1.x86_64 #1 SMP Mon Apr 7 17:09:50 UTC 2025 x86_64
User : root ( 0)
PHP Version : 7.3.30
Disable Function : exec,passthru,shell_exec,system,popen,proc_open
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /data/html/domik-general/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /data/html/domik-general/admin_api.php
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json,application/x-www-form-urlencoded,multipart/form-data');
header('Access-Control-Allow-Headers: Content-Type');
require 'lib/rb_conf.php';
require_once 'lib/api_token.php';

// R::fancyDebug(true);

require('vendor/phpmailer/phpmailer/PHPMailerAutoload.php');


$data                = array();
$error_code        = 0;
$error_description = "";

if(isset($_POST['api_token']) & isset($_POST['user_id']) & isset($_POST['option'])){

    if(validate_token($_POST['user_id'],$_POST['api_token'])){

        $user_bean = R::load("user", $_POST['user_id']);

        switch ($_POST['option']){

            case 'get_catalogs':

                if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                    getCatalogs();
                }
                else{
                    $error_code        = 4;
                    $error_description = 'user is not an admin';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                break;

            case 'get_user':
                if(isset($_POST['get_user'])){
                    getUser($_POST['get_user']);
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing user id';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'create_user':
                if(isset($_POST['u_name']) && isset($_POST['u_mail']) && isset($_POST['u_pass']) && isset($_POST['u_role'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createUser($_POST['u_name'],$_POST['u_mail'],$_POST['u_pass'],$_POST['u_role']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'edit_user':
                if(isset($_POST['u_id']) && isset($_POST['u_name']) && isset($_POST['u_mail']) && isset($_POST['u_role'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editUser($_POST['u_id'],$_POST['u_name'],$_POST['u_mail'],$_POST['u_role']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_user':
                if(isset($_POST['u_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteUser($_POST['u_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_hospital':
                if(isset($_POST['get_hospital'])){
                    getHospital($_POST['get_hospital']);
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing hospital id';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'create_hospital':
                if(isset($_POST['h_name']) && isset($_POST['h_qty_f']) && isset($_POST['h_qty_c'])&& isset($_POST['h_qty_p'])&& isset($_POST['h_qty_b']) && isset($_POST['h_mail'])       ){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createHospital($_POST['h_name'],$_POST['h_qty_f'],$_POST['h_qty_c'],$_POST['h_qty_p'],$_POST['h_qty_b'],$_POST['h_mail'],$_POST['h_max_chars'],$_POST['h_min_chars'],$_POST['h_qty_g'],$_POST['h_qty_z']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'edit_hospital':
                if(isset($_POST['h_name']) && isset($_POST['h_qty_f']) && isset($_POST['h_qty_c'])&& isset($_POST['h_qty_p'])&& isset($_POST['h_qty_b'])&& isset($_POST['h_mail'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editHospital($_POST['h_id'],$_POST['h_name'],$_POST['h_qty_f'],$_POST['h_qty_c'],$_POST['h_qty_p'],$_POST['h_qty_b'],$_POST['h_mail'],$_POST['h_max_chars'],$_POST['h_min_chars'],$_POST['h_qty_g'],$_POST['h_qty_z']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_hospital':
                if(isset($_POST['h_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteHospital($_POST['h_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_area':
                if(isset($_POST['get_area'])){
                    getArea($_POST['get_area']);
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing hospital id';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'create_area':
                if(isset($_POST['a_name']) && isset($_POST['h_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createArea($_POST['a_name'],$_POST['h_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'edit_area':
                if(isset($_POST['a_id']) && isset($_POST['a_name']) && isset($_POST['h_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editArea($_POST['a_id'],$_POST['a_name'],$_POST['h_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_area':
                if(isset($_POST['a_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteArea($_POST['a_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_itemcollab':
                if(isset($_POST['id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteAreaItem($_POST['id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_position':
                if(isset($_POST['get_position'])){
                    getPosition($_POST['get_position']);
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing hospital id';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'create_position':
                if(isset($_POST['p_name']) && isset($_POST['a_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createPosition($_POST['p_name'],$_POST['a_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'edit_position':
                if(isset($_POST['p_id']) && isset($_POST['p_name']) && isset($_POST['a_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editPosition($_POST['p_id'],$_POST['p_name'],$_POST['a_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_position':
                if(isset($_POST['p_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deletePosition($_POST['p_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_model':
                if(isset($_POST['get_model'])){
                    getModel($_POST['get_model']);
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing model id';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'create_model':
                if(isset($_POST['m_name']) && isset($_POST['m_brand']) && isset($_POST['m_gender']) && isset($_POST['m_type']) && isset($_POST['c_list'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createModel($_POST['m_name'],$_POST['m_brand'],$_POST['m_gender'],$_POST['m_type'],$_POST['c_list'], $_POST['m_price'],  $_POST['m_price_extra'], $_POST['m_associated_model'], $_POST['s_list']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'edit_model':
                if(isset($_POST['m_id']) && isset($_POST['m_name']) && isset($_POST['m_brand']) && isset($_POST['m_gender']) && isset($_POST['m_type']) && isset($_POST['c_list'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editModel($_POST['m_id'],$_POST['m_name'],$_POST['m_brand'],$_POST['m_gender'],$_POST['m_type'],$_POST['c_list'], $_POST['m_price'],  $_POST['m_price_extra'], $_POST['m_associated_model'], $_POST['s_list']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'delete_model':
                if(isset($_POST['m_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteModel($_POST['m_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'get_collaborator':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        getCollaborator($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'create_collaborator':
                if(isset($_POST['c_number']) && isset($_POST['h_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createCollaborator($_POST['c_number'],$_POST['h_id'],$_POST['c_name'],$_POST['c_firstLastname'],$_POST['c_secondLastname'],$_POST['c_area'],$_POST['c_gender'],$_POST['c_specialty'],$_POST['c_specialty2'],$_POST['c_maxChars'],$_POST['c_minChars'],$_POST['c_maxOrders'],$_POST['c_mail'],$_POST['c_phone']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'edit_collaborator':
                if(isset($_POST['c_number']) && isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editCollaborator($_POST['c_id'],$_POST['c_number'],$_POST['h_id'],$_POST['c_name'],$_POST['c_firstLastname'],$_POST['c_secondLastname'],$_POST['c_area'],$_POST['c_gender'],$_POST['c_specialty'],$_POST['c_specialty2'],$_POST['c_maxChars'],$_POST['c_minChars'],$_POST['c_maxOrders'],$_POST['c_mail'],$_POST['c_phone']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'delete_collaborator':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteCollaborator($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'get_color':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        getColor($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'create_color':
                if(isset($_POST['c_name'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createColor($_POST['c_name']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'edit_color':
                if(isset($_POST['c_name']) && isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editColor($_POST['c_id'],$_POST['c_name']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'delete_color':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteColor($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'get_threadcolor':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        getThreadColor($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'create_threadcolor':
                if(isset($_POST['c_name'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createThreadColor($_POST['c_name'],$_POST['c_hex']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'edit_threadcolor':
                if(isset($_POST['c_name']) && isset($_POST['c_id']) && isset($_POST['c_hex'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editThreadColor($_POST['c_id'],$_POST['c_name'],$_POST['c_hex'] );
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'delete_threadcolor':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteThreadColor($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_brand':
                if(isset($_POST['b_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        getBrand($_POST['b_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'create_brand':
                if(isset($_POST['c_name'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createBrand($_POST['c_name']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'edit_brand':
                if(isset($_POST['c_name']) && isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editBrand($_POST['c_id'],$_POST['c_name']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'delete_brand':
                if(isset($_POST['c_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        deleteBrand($_POST['c_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;

            case 'get_font':
                if(isset($_POST['f_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        getFont($_POST['f_id']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'create_font':
                if(isset($_POST['f_name'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        createFont($_POST['f_name']);
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'edit_font':
                if(isset($_POST['f_name']) && isset($_POST['f_id'])){
                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                        editFont($_POST['f_id'],$_POST['f_name'] );
                    }
                    else{
                        $error_code        = 4;
                        $error_description = 'user is not an admin';
                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                    }
                }
                else{
                    $error_code        = 2;
                    $error_description = 'missing params';
                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                }
                break;
            case 'delete_font':
                                if(isset($_POST['f_id'])){
                                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                                        deleteFont($_POST['f_id']);
                                    }
                                    else{
                                        $error_code        = 4;
                                        $error_description = 'user is not an admin';
                                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                    }
                                }
                                else{
                                    $error_code        = 2;
                                    $error_description = 'missing params';
                                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                }
                                break;

            case 'delete_order':
                                if(isset($_POST['o_id'])){
                                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                                        deleteOrder($_POST['o_id']);
                                    }
                                    else{
                                        $error_code        = 4;
                                        $error_description = 'user is not an admin';
                                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                    }
                                }
                                else{
                                    $error_code        = 2;
                                    $error_description = 'missing params';
                                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                }
                            break;

            case 'upload_proof_receipt':
                                if(isset($_POST['o_id'])){
                                    if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                                        uploadReceipt($_POST['o_id']);
                                    }
                                    else{
                                        $error_code        = 4;
                                        $error_description = 'user is not an admin';
                                        $data['error']           = array("code" => $error_code, "description" => $error_description);

                                        echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                    }
                                }
                                else{
                                    $error_code        = 2;
                                    $error_description = 'missing params';
                                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                }
                                            break;

                        case 'delete_receipt':
                            if(isset($_POST['o_id'])){
                                if( $user_bean->role == "Admin" or $user_bean->role == "Super" ){
                                    deleteReceipt($_POST['o_id']);
                                }
                                else{
                                    $error_code        = 4;
                                    $error_description = 'user is not an admin';
                                    $data['error']           = array("code" => $error_code, "description" => $error_description);

                                    echo json_encode($data, JSON_UNESCAPED_UNICODE);
                                }
                            }
                            else{
                                $error_code        = 2;
                                $error_description = 'missing params';
                                $data['error']           = array("code" => $error_code, "description" => $error_description);

                                echo json_encode($data, JSON_UNESCAPED_UNICODE);
                            }
                        break;
                
        }
    }
    else{
        $error_code        = 1;
        $error_description = 'Invalid Token. ';
        $data['error']           = array("code" => $error_code, "description" => $error_description);

        echo json_encode($data, JSON_UNESCAPED_UNICODE);
    }

}
else{
    $error_code        = 3;
    $error_description = 'Required fields are missing. ';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

// - - - Functions - - -

function getCatalogs(){

    $user_bean = R::load("user",$_POST['user_id']);
    $hospital_bean = $user_bean->hospital;

    if ($user_bean->role ==  "Super" or $user_bean->role ==  "Store" ){

        $hospital_beans = R::findAll('hospital');
        $areas_beans = R::findAll('area');
        $models_beans = R::findAll('model');
        $users_beans = R::findAll('user');

    }
    elseif ($user_bean->role ==  "Admin" or $user_bean->role ==  "User"){

        $hospital_beans = R::findAll('hospital',"id = ?",[$hospital_bean->id]);
        $areas_beans = R::findAll('area',"hospital_id = ?",[$hospital_bean->id]);
        $models_beans = R::findAll('model',"inner join hospital_model hm on model.id = hm.model_id where hospital_id = ?",[$hospital_bean->id]);
        $users_beans = R::findAll('user',"hospital_id = ?",[$hospital_bean->id]);;

    }

    $color_beans = R::findAll('color');
    $size_beans = R::findAll('size');
    $threadcolor_beans = R::findAll('threadcolor');
    $types_beans = R::findAll('type');
    $brands_beans = R::findAll('brand');
    $fonts_beans = R::findAll('font');

    foreach ($users_beans as $user){
        unset($user["hash"]);
    }

    foreach ($models_beans as $model){
        $model->brand;
        $model->gender;
        $model->type;
        $model->price;
        $model->priceextras;
        $model->associatedModel;
        $model->sharedColorList;
        $model->sharedSizeList;
        $model->sharedHospitalList;
        $model->sharedThreadColorList;
        $threads = R::findAll('threadcolor',"inner join model_threadcolor mtc on threadcolor.id = mtc.threadcolor_id where mtc.model_id = ?",[$model->id]);
        $model->threads = $threads;
    }


    $data['hospitals'] = $hospital_beans;
    $data['areas'] = $areas_beans;
    //$data['positions'] = $positions;
    $data['users'] = $users_beans;
    $data['colors'] = $color_beans;
    $data['sizes'] = $size_beans;
    $data['threadcolors'] = $threadcolor_beans;
    $data['types'] = $types_beans;
    $data['brands'] = $brands_beans;
    $data['models'] = $models_beans;
    $data['fonts'] = $fonts_beans;

    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);

}

function createUser($u_name,$u_mail,$u_pass,$u_admin){
    $user = R::dispense( 'user' );
    $user->name = $u_name;
    if(isset($_POST['u_hospital']) && !empty($_POST['u_hospital'])){
        $hospital_bean = R::load("hospital",$_POST['u_hospital']);
        $user->hospital = $hospital_bean;
    }
    if(isset($_POST['u_hospital']) && isset($_POST['u_area']) ){
        $area_bean = R::load("area",$_POST['u_area']);
        $user->area = $area_bean;
    }
 
    $user->hash = password_hash($u_pass, PASSWORD_DEFAULT);
    $user->mail = $u_mail;
    $user->role = $u_admin;
    R::store($user);
    unset($user["hash"]);
    $data['user'] = $user;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editUser($u_id,$u_name,$u_mail,$u_admin){
    $user = R::load( 'user',$u_id );
    $user->name = $u_name;
    if(isset($_POST['u_hospital'])){
        $hospital_bean = R::load("hospital",$_POST['u_hospital']);
        $user->hospital = $hospital_bean;
    }
    if(isset($_POST['u_hospital'])){
        $area_bean = R::load("area",$_POST['u_area']);
        $user->area = $area_bean;
    }
    if(isset($_POST['u_pass'])){
        $user->hash = password_hash($_POST['u_pass'], PASSWORD_DEFAULT);
    }
    $user->mail = $u_mail;
    $user->role = $u_admin;
    R::store($user);
    unset($user["hash"]);
    $data['user'] = $user;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteUser($u_id){
    $user = R::load( 'user',$u_id );
    R::trash( $user );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getUser($id){
    $user_bean = R::load("user",$id);
    unset($user_bean["hash"]);
    $data['user'] = $user_bean;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function createHospital($h_name,$h_qty_f,$h_qty_c,$h_qty_p,$h_qty_b, $h_mail, $max_chars,$min_chars, $h_qty_g, $h_qty_z){

    $hspital = R::dispense( 'hospital' );
    $hspital->qty_filipinas = $h_qty_f;
    $hspital->qty_chamarras = $h_qty_c;
    $hspital->qty_pantalones = $h_qty_p;
    $hspital->qty_batas = $h_qty_b;
    $hspital->qty_gorros = $h_qty_g;
    $hspital->qty_zapatos = $h_qty_z;
    $hspital->max_chars = $max_chars;
    $hspital->min_chars = $min_chars;
    $hspital->name = $h_name;
    $hspital->mail = $h_mail;
    $hspital->title = isset($_POST['h_title']) ? $_POST['h_title'] : NULL;
    $hspital->embroidery_color = isset($_POST['h_embroidery_color']) ? $_POST['h_embroidery_color'] : NULL;
    $hspital->embroidery_font = isset($_POST['h_embroidery_font']) ? $_POST['h_embroidery_font'] : NULL;
    $hspital->embroidery_position_scrub = isset($_POST['h_embroidery_position_scrub']) ? $_POST['h_embroidery_position_scrub'] : NULL;
    $hspital->embroidery_position_pants = isset($_POST['h_embroidery_position_pants']) ? $_POST['h_embroidery_position_pants'] : NULL;
    $hspital->embroidery_position_coat = isset($_POST['h_embroidery_position_coat']) ? $_POST['h_embroidery_position_coat'] : NULL;
    $hspital->embroidery_position_jacket = isset($_POST['h_embroidery_position_jacket']) ? $_POST['h_embroidery_position_jacket'] : NULL;
    $hspital->embroidery_position_speciality = isset($_POST['h_embroidery_position_speciality']) ? $_POST['h_embroidery_position_speciality'] : NULL;
    $hspital->embroidery = isset($_POST['h_embroidery']) ? $_POST['h_embroidery'] : NULL;
    $hspital->embroidery_position_scrubs_logo = isset($_POST['h_embroidery_position_scrub_l']) ? $_POST['h_embroidery_position_scrub_l'] : NULL;
    $hspital->embroidery_position_pants_logo = isset($_POST['h_embroidery_position_pants_l']) ? $_POST['h_embroidery_position_pants_l'] : NULL;
    $hspital->embroidery_position_coat_logo = isset($_POST['h_embroidery_position_coat_l']) ? $_POST['h_embroidery_position_coat_l'] : NULL;
    $hspital->embroidery_position_jacket_logo = isset($_POST['h_embroidery_position_jacket_l']) ? $_POST['h_embroidery_position_jacket_l'] : NULL;
    $hspital->embroidery_logo = isset($_POST['h_embroidery_l']) ? $_POST['h_embroidery_l'] : NULL;
    
    R::store($hspital);
    mkdir("/sites/domik-general/uploads/hospital/".$hspital->id."/", 0777,true);

    $hospital_image = isset($_FILES['h_image']) ? $_FILES['h_image'] : NULL;
    $hospital_image_embroidery = isset($_FILES['h_image_logo']) ? $_FILES['h_image_logo'] : NULL;
    if (!empty($hospital_image)){
        $extension = pathinfo($hospital_image['name'], PATHINFO_EXTENSION);
        $ruta_destino_archivo = "/sites/domik-general/uploads/hospital/".$hspital->id."/login_image.".$extension;
        $origin = "Ruta y nombre del archivo: ".$hospital_image['tmp_name'];
        $save =  "Ruta y nombre del destino: ".$ruta_destino_archivo;
        $archivo_ok = move_uploaded_file($hospital_image['tmp_name'], $ruta_destino_archivo);
        $hospital_image = $ruta_destino_archivo;
        $hspital->image =  "https://"."{$_SERVER['HTTP_HOST']}"."/uploads/hospital/".$hspital->id."/login_image.".$extension;

    }
    if (!empty($hospital_image_embroidery)){
        $extension = pathinfo($hospital_image_embroidery['name'], PATHINFO_EXTENSION);
        $ruta_destino_archivo = "/sites/domik-general/uploads/hospital/".$hspital->id."/logo_bordado.".$extension;
        $origin = "Ruta y nombre del archivo: ".$hospital_image_embroidery['tmp_name'];
        $save =  "Ruta y nombre del destino: ".$ruta_destino_archivo;
        $archivo_ok = move_uploaded_file($hospital_image_embroidery['tmp_name'], $ruta_destino_archivo);
        $hospital_image_embroidery = $ruta_destino_archivo;
        $hspital->image_embroidery =  "https://"."{$_SERVER['HTTP_HOST']}"."/uploads/hospital/".$hspital->id."/logo_bordado.".$extension;

    }
    R::store($hspital);
    $data['hospital'] = $hspital;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editHospital($h_id,$h_name,$h_qty_f,$h_qty_c,$h_qty_p,$h_qty_b,$h_mail,$max_chars,$min_chars, $h_qty_g, $h_qty_z){
    $hspital = R::load( 'hospital',$h_id );
    $hspital->qty_filipinas = $h_qty_f;
    $hspital->qty_chamarras = $h_qty_c;
    $hspital->qty_pantalones = $h_qty_p;
    $hspital->qty_batas = $h_qty_b;
    $hspital->qty_gorros = $h_qty_g;
    $hspital->qty_zapatos = $h_qty_z;
    $hspital->max_chars = $max_chars;
    $hspital->min_chars = $min_chars;
    $hspital->name = $h_name;
    $hspital->mail = $h_mail;
    $hspital->title = isset($_POST['h_title']) ? $_POST['h_title'] : NULL;
    $hspital->embroidery_color = isset($_POST['h_embroidery_color']) ? $_POST['h_embroidery_color'] : NULL;
    $hspital->embroidery_font = isset($_POST['h_embroidery_font']) ? $_POST['h_embroidery_font'] : NULL;
    $hspital->embroidery_position_scrub = isset($_POST['h_embroidery_position_scrub']) ? $_POST['h_embroidery_position_scrub'] : NULL;
    $hspital->embroidery_position_pants = isset($_POST['h_embroidery_position_pants']) ? $_POST['h_embroidery_position_pants'] : NULL;
    $hspital->embroidery_position_coat = isset($_POST['h_embroidery_position_coat']) ? $_POST['h_embroidery_position_coat'] : NULL;
    $hspital->embroidery_position_jacket = isset($_POST['h_embroidery_position_jacket']) ? $_POST['h_embroidery_position_jacket'] : NULL;
    $hspital->embroidery_position_speciality = isset($_POST['h_embroidery_position_speciality']) ? $_POST['h_embroidery_position_speciality'] : NULL;
    $hspital->embroidery = isset($_POST['h_embroidery']) ? $_POST['h_embroidery'] : NULL;
    $hspital->embroidery_position_scrubs_logo = isset($_POST['h_embroidery_position_scrub_l']) ? $_POST['h_embroidery_position_scrub_l'] : NULL;
    $hspital->embroidery_position_pants_logo = isset($_POST['h_embroidery_position_pants_l']) ? $_POST['h_embroidery_position_pants_l'] : NULL;
    $hspital->embroidery_position_coat_logo = isset($_POST['h_embroidery_position_coat_l']) ? $_POST['h_embroidery_position_coat_l'] : NULL;
    $hspital->embroidery_position_jacket_logo = isset($_POST['h_embroidery_position_jacket_l']) ? $_POST['h_embroidery_position_jacket_l'] : NULL;
    $hspital->embroidery_logo = isset($_POST['h_embroidery_l']) ? $_POST['h_embroidery_l'] : NULL;
   
    $hospital_image = isset($_FILES['h_image']) ? $_FILES['h_image'] : NULL;
    $hospital_image_embroidery = isset($_FILES['h_image_logo']) ? $_FILES['h_image_logo'] : NULL;
    if (!empty($hospital_image)){
        $extension = pathinfo($hospital_image['name'], PATHINFO_EXTENSION);
        $ruta_destino_archivo = "/sites/domik-general/uploads/hospital/".$hspital->id."/login_image.".$extension;
        $origin = "Ruta y nombre del archivo: ".$hospital_image['tmp_name'];
        $save =  "Ruta y nombre del destino: ".$ruta_destino_archivo;
        $archivo_ok = move_uploaded_file($hospital_image['tmp_name'], $ruta_destino_archivo);
        $hospital_image = $ruta_destino_archivo;
        $hspital->image =  "https://"."{$_SERVER['HTTP_HOST']}"."/uploads/hospital/".$hspital->id."/login_image.".$extension;

    }
    if (!empty($hospital_image_embroidery)){
        $extension = pathinfo($hospital_image_embroidery['name'], PATHINFO_EXTENSION);
        $ruta_destino_archivo = "/sites/domik-general/uploads/hospital/".$hspital->id."/logo_bordado.".$extension;
        $origin = "Ruta y nombre del archivo: ".$hospital_image_embroidery['tmp_name'];
        $save =  "Ruta y nombre del destino: ".$ruta_destino_archivo;
        $archivo_ok = move_uploaded_file($hospital_image_embroidery['tmp_name'], $ruta_destino_archivo);
        $hospital_image_embroidery = $ruta_destino_archivo;
        $hspital->image_embroidery =  "https://"."{$_SERVER['HTTP_HOST']}"."/uploads/hospital/".$hspital->id."/logo_bordado.".$extension;

    }
    R::store($hspital);
    $data['hospital'] = $hspital;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteHospital($h_id){
    $hospital = R::load( 'hospital',$h_id );
    R::trash( $hospital );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getHospital($id){
    $hospital_bean = R::load("hospital",$id);
    $hospital_bean->ownAreaList;
    $collaborators = R::findAll('collaborator',"where hospital_id = ?",[$id]);
    $data['collaborators'] = $collaborators;
    $data['hospital'] = $hospital_bean;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function createArea($a_name,$h_id){
    $area = R::dispense( 'area' );
    $items_arr = (array) json_decode($_POST['items_array']);
    $area->name = $a_name;
    $area->hospital_id = intval($h_id);
    
    foreach($items_arr as $item){
        $iteam_bean = R::dispense( 'itemcollab' );
        $iteam_bean->area_id = $area->id;
        $iteam_bean->color = $item->color;
        $iteam_bean->model = $item->model;
        $iteam_bean->gender = $item->gender;
        $iteam_bean->type = $item->type;
        R::store($iteam_bean);
    }

    R::store($area);
    $data['area'] = $area;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editArea($a_id,$a_name,$h_id){
    $area = R::load( 'area',$a_id );
    $items_arr = (array) json_decode($_POST['items_array']);
    $area->name = $a_name;
    $area->hospital_id = intval($h_id);
    
    foreach($items_arr as $item){
        $iteam_bean = R::dispense( 'itemcollab' );
        $iteam_bean->area_id = $area->id;
        $iteam_bean->color = $item->color;
        $iteam_bean->model = $item->model;
        $iteam_bean->gender = $item->gender;
        $iteam_bean->type = $item->type;
        R::store($iteam_bean);
    }

    R::store($area);
    $data['area'] = $area;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteArea($a_id){
    $area = R::load( 'area',$a_id );
    R::trash( $area );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteAreaItem($id){
    $area = R::load( 'itemcollab',$id );
    R::trash( $area );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getArea($id){
    $area_bean = R::load("area",$id);
    $data['area'] = $area_bean;
    $data['item'] = R::findAll('itemcollab',"where area_id = ?",[$id]);
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function createPosition($p_name,$a_id){
    $position = R::dispense( 'position' );
    $position->name = $p_name;
    $position->area_id = intval($a_id);
    R::store($position);
    $data['position'] = $position;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editPosition($p_id,$p_name,$a_id){
    $position = R::load( 'position',$p_id );
    $position->name = $p_name;
    $position->area_id = intval($a_id);
    R::store($position);
    $data['position'] = $position;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deletePosition($p_id){
    $area = R::load( 'position',$p_id );
    R::trash( $area );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getPosition($id){
    $position_bean = R::load("position",$id);
    $data['position'] = $position_bean;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function createModel($m_name,$m_brand,$m_gender,$m_type,$c_list,$m_price, $m_price_extra, $m_associated_model, $s_list){
    $colors_arr = array();
    $size_arr = array();
    $hospitals_arr = array();
    $threadcolor_arr = array();
    $areas_arr = array();
    $brand = R::load('brand',$m_brand);
    $gender = R::load('gender',$m_gender);
    $type = R::load('type',$m_type);
    $model = R::dispense( 'model' );
    $model->name = $m_name;
    $model->price = $m_price;
    $model->priceextras = $m_price_extra;
    $model->associatedModel = $m_associated_model;
    $model->gender = $gender;
    $model->type = $type;
    $model->brand = $brand;

    $ct_list = isset($_POST['c_threads']) && !empty($_POST['c_threads']) ? $_POST['c_threads'] : null;
    $h_list = isset($_POST['h_list']) && !empty($_POST['h_list']) ? $_POST['h_list'] : null;
    $a_list = isset($_POST['a_list']) && !empty($_POST['a_list']) ? $_POST['a_list'] : null;

    $c_list = explode(",",$c_list);
    foreach ($c_list as $c_id){
        $color_bean = R::load('color',$c_id);
        array_push($colors_arr,$color_bean);
    }
    $model->sharedColorList = $colors_arr;

    $ct_list = explode(",",$ct_list);
    foreach ($ct_list as $ct_id){
        $threadcolor_bean = R::load('threadcolor',$ct_id);
        array_push($threadcolor_arr,$threadcolor_bean);
    }
    $model->sharedThreadColorList = $threadcolor_arr;

    $s_list = explode(",",$s_list);
    foreach ($s_list as $s_id){
        $size_bean = R::load('size',$s_id);
        array_push($size_arr,$size_bean);
    }
    $model->sharedSizeList = $size_arr;

    $h_list = explode(",", $h_list);
    foreach ($h_list as $h_id) {
        $hospital_bean = R::load('hospital', $h_id);
        array_push($hospitals_arr, $hospital_bean);
    }
    $model->sharedHospitalList = $hospitals_arr;



    // $a_list = explode(",", $a_list);
    // foreach ($a_list as $a_id) {
    //     $area_bean = R::load('area', $a_id);
    //     array_push($areas_arr, $area_bean);
    // }
    // $model->sharedAreaList = $areas_arr;



    R::store($model);
    $model->sharedColorList;
    $model->sharedHospitalList;
    $model->sharedThreadColorList;
    $model->sharedAreaList;
    $model->sharedSizeList;
    $data['model'] = $model;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editModel($m_id, $m_name, $m_brand, $m_gender, $m_type, $c_list, $m_price, $m_price_extra, $m_associated_model, $s_list){
    $colors_arr = array();
    $hospitals_arr = array();
    $threadcolor_arr = array();
    $size_arr = array();
    $areas_arr = array();
    $brand = R::load('brand',$m_brand);
    $gender = R::load('gender',$m_gender);
    $type = R::load('gender',$m_type);
    $model = R::load( 'model',$m_id );
    $model->name = $m_name;
    $model->gender = $gender;
    $model->type = $type;
    $model->price = $m_price;
    $model->priceextras = $m_price_extra;
    $model->associatedModel = $m_associated_model;
    $model->brand = $brand;

    $ct_list = isset($_POST['c_threads']) && !empty($_POST['c_threads']) ? $_POST['c_threads'] : null;
    $h_list = (isset($_POST['h_list']) && strlen($_POST['h_list'])) ? $_POST['h_list'] : null;
    $a_list = (isset($_POST['a_list']) && strlen($_POST['a_list'])) ? $_POST['a_list'] : null;
    $s_list = (isset($_POST['s_list']) && strlen($_POST['s_list'])) ? $_POST['s_list'] : null;

    $c_list = explode(",",$c_list);
    foreach ($c_list as $c_id){
        $color_bean = R::load('color',$c_id);
        array_push($colors_arr,$color_bean);
    }
    $model->sharedColorList = $colors_arr;

    $ct_list = explode(",",$ct_list);
    foreach ($ct_list as $ct_id){
        $threadcolor_bean = R::load('threadcolor',$ct_id);
        array_push($threadcolor_arr,$threadcolor_bean);
    }
    $model->sharedThreadColorList = $threadcolor_arr;

    $s_list = explode(",",$s_list);
    foreach ($s_list as $s_id){
        $size_bean = R::load('size',$s_id);
        array_push($size_arr,$size_bean);
    }
    $model->sharedSizeList = $size_arr;

    $h_list = explode(",", $h_list);
    foreach ($h_list as $h_id) {
        $hospital_bean = R::load('hospital', $h_id);
        array_push($hospitals_arr, $hospital_bean);
    }
    $model->sharedHospitalList = $hospitals_arr;


    R::store($model);
    $model->sharedColorList;
    $model->sharedHospitalList;
    $model->sharedThreadColorList;
    $model->sharedAreaList;
    $model->sharedSizeList;

    $data['model'] = $model;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteModel($m_id){
    $model = R::load( 'model',$m_id );
    R::trash( $model );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getModel($id){
    $model_bean = R::load("model",$id);
    $model_bean->brand;
    $model_bean->gender;
    $model_bean->type;
    $model_bean->price;
    $model_bean->priceextras;
    $model_bean->associatedModel;
    $model_bean->sharedColorList;
    $model_bean->sharedHospitalList;
    $model_bean->sharedThreadColorList;
    $model_bean->sharedAreaList;
    $model_bean->sharedSizeList;
    $threads = R::findAll('threadcolor',"inner join model_threadcolor mtc on threadcolor.id = mtc.threadcolor_id where mtc.model_id = ?",[$id]);
    $model_bean->thread = $threads;
    $data['model'] = $model_bean;
    $data['thread'] = $threads;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getCollaborator($c_id){
    $collaborator = R::load( 'collaborator',$c_id );
    $data['collaborator'] = $collaborator;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function createCollaborator($c_number,$h_id,$c_name,$c_firstLastname,$c_secondLastname,$c_area,$c_gender,$c_specialty,$c_specialty2,$c_maxchars,$c_minchars,$c_maxorders, $c_mail, $c_phone){
    $collaborator = R::dispense( 'collaborator' );
    $collaborator->number = $c_number;
    $collaborator->name = $c_name;
    $collaborator->firstLastname = $c_firstLastname;
    $collaborator->secondLastname = $c_secondLastname;
    $collaborator->area = $c_area;
    $collaborator->specialty = $c_specialty;
    $collaborator->specialty2 = $c_specialty2;
    $collaborator->mail = $c_mail;
    $collaborator->phone = $c_phone;
    $collaborator->hospital_id = intval($h_id);
    $collaborator->gender = $c_gender;
    $collaborator->maxChars = $c_maxchars;
    $collaborator->minChars = $c_minchars;
    $collaborator->maxOrders = $c_maxorders;
    R::store($collaborator);
    $data['collaborator'] = $collaborator;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function editCollaborator($c_id,$c_number,$h_id,$c_name,$c_firstLastname,$c_secondLastname,$c_area,$c_gender,$c_specialty,$c_specialty2,$c_maxchars,$c_minchars,$c_maxorders, $c_mail, $c_phone){
    $collaborator = R::load( 'collaborator',$c_id );
    $collaborator->number = $c_number;
    $collaborator->name = $c_name;
    $collaborator->firstLastname = $c_firstLastname;
    $collaborator->secondLastname = $c_secondLastname;
    $collaborator->area = $c_area;
    $collaborator->specialty = $c_specialty;
    $collaborator->specialty2 = $c_specialty2;
    $collaborator->mail = $c_mail;
    $collaborator->phone = $c_phone;
    $collaborator->gender = $c_gender;
    $collaborator->maxChars = $c_maxchars;
    $collaborator->minchars = $c_minchars;
    $collaborator->maxOrders = $c_maxorders;
    R::store($collaborator);
    $data['collaborator'] = $collaborator;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function deleteCollaborator($c_id){
    $collaborator = R::load( 'collaborator',$c_id );
    R::trash( $collaborator );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function getColor($c_id){
    $color = R::load( 'color',$c_id );
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function createColor($c_name){
    $color = R::dispense( 'color' );
    $color->name = $c_name;
    R::store($color);
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editColor($c_id,$c_name){
    $color = R::load( 'color',$c_id );
    $color->name = $c_name;
    R::store($color);
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function deleteColor($c_id){
    $color = R::load( 'color',$c_id );
    R::trash( $color );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}


function getThreadColor($c_id){
    $color = R::load( 'threadcolor',$c_id );
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function createThreadColor($c_name, $c_hex){
    $color = R::dispense( 'threadcolor' );
    $color->name = $c_name;
    $color->hex = $c_hex;
    R::store($color);
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editThreadColor($c_id,$c_name, $c_hex){
    $color = R::load( 'threadcolor',$c_id );
    $color->name = $c_name;
    $color->hex = $c_hex;
    R::store($color);
    $data['color'] = $color;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function deleteThreadColor($c_id){
    $color = R::load( 'threadcolor',$c_id );
    R::trash( $color );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getBrand($c_id){
    $brand = R::load( 'brand',$c_id );
    $data['brand'] = $brand;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function createBrand($c_name){
    $brand = R::dispense( 'brand' );
    $brand->name = $c_name;
    R::store($brand);
    $data['brand'] = $brand;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function editBrand($c_id,$c_name){
    $brand = R::load( 'brand',$c_id );
    $brand->name = $c_name;
    R::store($brand);
    $data['brand'] = $brand;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function deleteBrand($c_id){
    $brand = R::load( 'brand',$c_id );
    R::trash( $brand );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function getFont($f_id){
    $font = R::load( 'font',$f_id );
    $data['font'] = $font;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function createFont($f_name){
    $font = R::dispense( 'font' );
    $font->name = $f_name;
    R::store($font);
    $data['font'] = $font;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function editFont($f_id,$f_name){
    $font = R::load( 'font',$f_id );
    $font->name = $f_name;
    R::store($font);
    $data['font'] = $font;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}
function deleteFont($f_id){
    $font = R::load( 'font',$f_id );
    R::trash( $font );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteOrder($o_id){
    $order = R::load( 'order',$o_id );
    R::trash( $order );
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function uploadReceipt($o_id){
    $order = R::load( 'order',$o_id );
    
    $item_image = isset($_FILES['image']) ? $_FILES['image'] : NULL;
        if (!empty($item_image)){
            $extension = pathinfo($item_image['name'], PATHINFO_EXTENSION);
            $ruta_destino_archivo = "/data/html/domik-general/uploads/".$o_id."/recibido.".$extension;
            $origin = "Ruta y nombre del archivo: ".$item_image['tmp_name'];
            $save =  "Ruta y nombre del destino: ".$ruta_destino_archivo;
            $archivo_ok = move_uploaded_file($item_image['tmp_name'], $ruta_destino_archivo);
            $item_image = "https://"."{$_SERVER['HTTP_HOST']}"."/uploads/".$o_id."/recibido.".$extension;
        }
        $order->receipt = $item_image;
    
    R::store($order);

    $data['order'] = $order;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
}

function deleteReceipt($o_id){
    $order = R::load( 'order',$o_id );

    $directorio = str_replace(
        "https://" . $_SERVER['HTTP_HOST'] . "/uploads/",
        "/data/html/domik-general/uploads/",
        $order->receipt
    );
    try {
        unlink($directorio);//acá le damos la direccion exacta del archivo
    }catch (Error $e){
        $data['exception delete']   = $e;
    }

    $order->receipt = null;
    
    R::store($order);

    $data['order'] = $order;
    $error_code        = 0;
    $error_description = 'Success.';
    $data['error']           = array("code" => $error_code, "description" => $error_description);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);
    
}


Youez - 2016 - github.com/yon3zu
LinuXploit