<?php
ini_set('display_errors', 1);

require_once '../../../resources/base_path_include.php';

require_once $base_path_to_learning_resources  . "includes/connect.php"; // use require for mandatory files
require_once $base_path_to_learning_resources . 'lib/function.php';
require_once $base_path_to_learning_resources . 'lib/validate_api_signature.php';

//valdation file
require_once $base_path_to_learning_resources . 'lib/validate_function.php';
require_once $base_path_to_learning . 'user_management/authenticate.php';
require_once $base_path_to_learning . 'functions/common_functions.php';
//db access function
require_once $base_path_to_learning_resources . 'includes/specific_db_config.php';

$postdata = json_decode(file_get_contents("php://input"), true);
// print_r($postdata);
checkIfNoPhpContentsReceive();


if (
    !isset($postdata['institution_id']) or !checkIfIssetAndNotEmpty($postdata['institution_id']) or
    !isset($postdata['api_signature']) or !checkIfIssetAndNotEmpty($postdata['api_signature']) or
    !isset($postdata['function_type']) or !checkIfIssetAndNotEmpty($postdata['function_type'])  or
    !isset($postdata['jwt_token']) or  !isset($postdata['jwt_token'])
) {
    errorreturn("All * fields are required.");
}
validateApiSignature($postdata['api_signature']);

$jwttoken = $postdata['jwt_token'];
$jwt_validate = authenticate_jwt($jwttoken);
//then workspace_id is iin decodede data of jwt use from there
$userid = $jwt_validate->data->id;
$workspace_id = $jwt_validate->data->workspace_id;
$username = $jwt_validate->data->username;
$role = $jwt_validate->data->role;

$specific_db_name = validateUserAccess($conn_rjllearning, $userid, $role, $workspace_id, null);
if (!$specific_db_name) {
    errorreturn('Access denied.');
} else {
    $conn_rjllearning_specific = dynamicDbConnection($specific_db_name);
}


function getSpecificSiteSettings($conn_rjllearning_specific, $institution_id)
{

    $sql = $conn_rjllearning_specific->prepare("SELECT * FROM  site_settings where institution_id =? ");
    $sql->execute(array($institution_id));
    $rows = $sql->fetchAll();
    $array_return = [];
    if (count($rows) >= 1) {
        foreach ($rows as $data) {
            $decoded_site_ui_settings = json_decode($data['site_ui_settings'], true);
            if (isset($decoded_site_ui_settings['sidebar_background_color'])) {
                $sidebar_background_color = $decoded_site_ui_settings['sidebar_background_color'];
            }
            if (isset($decoded_site_ui_settings['sidebar_menulist_bg'])) {
                $sidebar_menulist_bg = $decoded_site_ui_settings['sidebar_menulist_bg'];
            }
            if (isset($decoded_site_ui_settings['sidebar_menu_primary_font_color'])) {
                $sidebar_menu_primary_font_color = $decoded_site_ui_settings['sidebar_menu_primary_font_color'];
            }
            if (isset($decoded_site_ui_settings['sidebar_menu_secondary_font_color'])) {
                $sidebar_menu_secondary_font_color = $decoded_site_ui_settings['sidebar_menu_secondary_font_color'];
            }

            if (isset($decoded_site_ui_settings['heading_primary_font_color'])) {
                $heading_primary_font_color = $decoded_site_ui_settings['heading_primary_font_color'];
            }
            if (isset($decoded_site_ui_settings['heading_secondary_font_color'])) {
                $heading_secondary_font_color =  $decoded_site_ui_settings['heading_secondary_font_color'];
            }
            if (isset($decoded_site_ui_settings['button_primary_color'])) {
                $button_primary_color = $decoded_site_ui_settings['button_primary_color'];
            }
            // if (isset($decoded_site_ui_settings['button_secondary_color'])) {
            //     $button_secondary_color =  $decoded_site_ui_settings['button_secondary_color'];
            // }
            if (isset($decoded_site_ui_settings['width'])) {
                $width =  $decoded_site_ui_settings['width'];
            }
            if (isset($decoded_site_ui_settings['height'])) {
                $height =  $decoded_site_ui_settings['height'];
            }
            if (isset($decoded_site_ui_settings['logo_alignment'])) {
                $logo_alignment =  $decoded_site_ui_settings['logo_alignment'];
            }
            if (isset($decoded_site_ui_settings['avatar_bg_color'])) {
                $avatar_bg_color =  $decoded_site_ui_settings['avatar_bg_color'];
            }
            if (isset($decoded_site_ui_settings['avatar_primary_font_color'])) {
                $avatar_primary_font_color =  $decoded_site_ui_settings['avatar_primary_font_color'];
            }
            if (isset($decoded_site_ui_settings['avatar_secondary_font_color'])) {
                $avatar_secondary_font_color =  $decoded_site_ui_settings['avatar_secondary_font_color'];
            }
            if (isset($decoded_site_ui_settings['sidebar_font_color'])) {
                $sidebar_font_color =  $decoded_site_ui_settings['sidebar_font_color'];
            }

            $array_return[]  = array(
                'setting_id' => $data['id'],
                'institution_id' => $data['institution_id'],
                'sidebar_background_color' => $sidebar_background_color,
                'sidebar_menulist_bg' => $sidebar_menulist_bg,
                'sidebar_menu_primary_font_color' => $sidebar_menu_primary_font_color,
                'sidebar_menu_secondary_font_color' => $sidebar_menu_secondary_font_color,
                'heading_primary_font_color' => $heading_primary_font_color,
                'heading_secondary_font_color' => $heading_secondary_font_color,
                'button_primary_color' => $button_primary_color,
                // 'button_secondary_color' => $button_secondary_color,
                'width' => $width,
                'height' => $height,
                'logo_alignment' => $logo_alignment,
                'avatar_bg_color' => $avatar_bg_color,
                'avatar_primary_font_color' => $avatar_primary_font_color,
                'avatar_secondary_font_color' => $avatar_secondary_font_color,
                'sidebar_font_color' => $sidebar_font_color
            );
        }
    } else {
        errorreturn("Site settings not found.");
    }
    return  $array_return;
}

if ($postdata['function_type']  == "site_specific_settings") {

    $institution_id = trim($postdata['institution_id']);
    $success['data'] = getSpecificSiteSettings($conn_rjllearning_specific, $institution_id);
    successreturn($success);
}
