<?php
/*
 * cass_member_course_info - Shortcode for course info
 *
 * This shortcode is used to display the course info
 */

add_action('init', 'cass_register_shortcode_course_info');

function cass_register_shortcode_course_info()
{
    add_shortcode('cass_member_course_info', 'cass_shortcode_course_info');
}

function cass_shortcode_course_info()

{
    $today = date("Y-m-d");
    $race = new Race();

    $race->loadFromId(intval($_GET['id']));


    $HTML="";

    if(!isset($_GET['id']) || intval($_GET['id']==0)) {
        $HTML.= "<p>Erreur, aucun ID de course n'a été spécifié</p>";
    } else {

        $HTML =  "
        <script>
            window.adminPostUrl = " . json_encode(esc_attr(admin_url('admin-post.php'))) . ";
            window.siteUrl = " . json_encode(get_site_url()) . ";
            window.RaceID = " . json_encode($_GET['id']) . ";
            window.returnUrl = '" . $_GET['returnUrl'] . "';
            function comeBack(returnUrl) {
                window.location.href = returnUrl;
            }
        </script>

        <div id='cass_shortcode_course_info'>
        <center>
            <button class='pure-button pure-button-primary' onclick='comeBack(window.returnUrl)'>Retour</button>
        </center>
        <br>
      
        <div id='progress-bar-container' class='progress-bar-container'>
            <div id='progress-bar' class='progress-bar'>
                <div class='progress-bar-value'></div>
            </div>
        </div>
    <div class='cass-box-center'>
    <div id='raceInfo' hidden>     
        <h3 align='center' id='raceName'></h3>
        <h5>Informations de la course</h5>
            <p id='raceStartEnd'></p>   
            <p id='racePlaceLocality'></p>  
            <p id='raceState'></p>   
            <p id='raceRLDeputy'></p> 
            <p id='raceTypeLevel'></p>
            <p id='raceGroup'></p>
            <p id='raceMaterials'></p>
            <h5>Description de la course</h5>
            <p id='raceDescriptionPublic'></p>
            <h5>Description (membres inscrits)</h5>";

            $id = Race_User::participiantAlreadyInCourse(intval($_GET['id']),get_current_user_id());
            $Race_user = new Race_User();

            $race_user_state = 0;

            if($id > 0 ){
                $Race_user->loadFromId($id);
                $race_user_state = $Race_user->getState();
            }

            if($id > 0 && ($race_user_state == 1 || $race_user_state == 2)) {
                $HTML.= "<p id='raceDescriptionMemberSubscribed'></p>";
            } else {
                $HTML.= "<p>Vous devez être inscrit pour accéder à ces informations.</p>";
            }

            $HTML.= "
            
            <h5>Inscriptions</h5>     
            <p id ='raceSubscriptionStartEndMeetingPlaceParticipiant'></p>

             <h5>Inscription à la course</h5>";

            if (!is_user_logged_in()) {
                $HTML.= "<p>Connectez-vous afin de pouvoir gérer votre inscription à cette course.</p>";
            } else {
            
                
                if($id > 0 && ($race_user_state == 1 || $race_user_state == 2)) {
                        
                        if($today > $race->getStart()){
                            $HTML.="<p>La course s'est déjà déroulée. Vous y avez participée.</p>";
                        }

                        if($today <= $race->getStart()){
                            $HTML.="<p>Vous y êtes inscrit à cette course.</p>";
                        

                        $HTML.= "
                            <form action='".esc_attr( admin_url( 'admin-post.php' ) )."' method='post' class='pure-form pure-form-stacked'>
                                <input type='hidden' name='action' value='course_info_unscription' />
                                <input type='hidden' id='IDRace' name='IDRace' value=".intval($_GET['id'])." />
                                <input type='hidden' id='pageUrl' name='pageUrl' value='".get_permalink()."/?id=".intval($_GET['id'])."' />
                                <input type='hidden' id='returnURLPassed' name='returnURLPassed' value='".$_GET['returnUrl']."' />
                                <textarea id='commentUnscription' name='commentUnscription' rows='4' cols='50' placeholder='Commentaire désinscription'></textarea>
                                <button type='submit'class='pure-button pure-button-primary' >Se désinscrire</button>
                            </form>
                        ";
                    }

                }  else if ($id == 0 || $race_user_state == 3 || $race_user_state == 4) {
                    if($race->getSubscriptionStart() > $today) {
                        $HTML.="<p>Les inscriptions pour cette course ne sont pas encore ouvertes.</p>";
                    } else if($race->getSubscriptionEnable == 1 && ($race->getSubscriptionStart() <= $today && $race->getSubscriptionEnd() > $today)){
                        $HTML.="<p>Les inscriptions pour cette course sont ouvertes.</p>
                                <form action='".esc_attr( admin_url( 'admin-post.php' ) )."' method='post' class='pure-form pure-form-stacked'>
                                <input type='hidden' name='action' value='course_info_inscription' />
                                <input type='hidden' id='IDRace' name='IDRace' value=".intval($_GET['id'])." />
                                <input type='hidden' id='pageUrl' name='pageUrl' value='".get_permalink()."/?id=".intval($_GET['id'])."' />
                                <input type='hidden' id='returnURLPassed' name='returnURLPassed' value='".$_GET['returnUrl']."' />
                                <textarea id='commentInscription' name='commentInscription' rows='4' cols='50' placeholder='Commentaire inscription'></textarea>
                                <button type='submit' class='pure-button pure-button-primary' >S'inscrire</button>
                            </form>";
                    } else if($race->getSubscriptionStart() <= $today && $race->getSubscriptionEnd() <= $today){
                        $HTML.="<p>Les inscriptions pour cette course sont fermées.</p>";
                    } else {
                        $HTML.="<p>Les inscriptions pour cette course ne sont pas encore ouvertes.</p>";
                    }
                }
            }

            $HTML.="  
        </div> 
     </div>
     </div>   
     <br>
     <br>
        ";
    
    return $HTML;
 }
}
