<?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);die();
checkIfNoPhpContentsReceive();

if (!isset($postdata['institution_id']) or !checkIfIssetAndNotEmpty($postdata['institution_id']) or
 !isset($postdata['branch_id']) or !checkIfIssetAndNotEmpty($postdata['branch_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  !checkIfIssetAndNotEmpty($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,['superadmin','admin'],null);
if (!$specific_db_name) {
    errorreturn('Access denied.');
} else {
    $conn_rjllearning_specific = dynamicDbConnection($specific_db_name);
}
function getSpecificSubjectwiseAttendance($conn_rjllearning_specific,$institution_id,$branch_id,$attendance) {
    
    $sql_timetable = "SELECT * FROM   student_attendance_subjectwise where id= ?  and institution_id =? and branch_id =?";
    $array_params = [$attendance,$institution_id,$branch_id];

    $stmt = $conn_rjllearning_specific->prepare($sql_timetable);
    $stmt->execute($array_params);
    $rows = $stmt->fetchAll();
    if (count($rows) >= 1) {
            $class_info = getClass($conn_rjllearning_specific, $institution_id, $rows[0]['class_id']);
            $section =getSection($conn_rjllearning_specific, $institution_id, $rows[0]['section_id']);
            $branch_info =  getBranchInfo($conn_rjllearning_specific, $institution_id,$rows[0]['branch_id']);
            $subject_info = getSubject($conn_rjllearning_specific, $institution_id, $rows[0]['subject_id']);
            return array('institution_id' =>$rows[0]['institution_id'],'branch_id' =>$branch_info,'class_id' =>$class_info,
            'section_id' =>$section,'academic_id' =>$rows[0]['academic_id'],'subject_id' =>$subject_info,'date' => $rows[0]['date'],'student_id' => $rows[0]['student_id'],'value' => $rows[0]['value']);
    
       
    }else{
        
       errorreturn("Student subjectwise attendance not found.");
    }

}

if($postdata['function_type']  == "fetch_specific_subjectwise_attendance") {  
    $institution_id = trim($postdata['institution_id']);
    $branch_id = trim($postdata['branch_id']);
    $attendance = trim($postdata['attendance_id']);
 
    $check_academic_confirmation = CheckAcademicSession($conn_rjllearning_specific,$institution_id);
    if($check_academic_confirmation != true){
         errorreturn("Access denied. Academic session not active.");
    } 
    
    $success['data'] = getSpecificSubjectwiseAttendance($conn_rjllearning_specific,$institution_id,$branch_id,$attendance);
    successreturn($success);

      
}

