wp-cass/src/frontend/cass-shortcode-course-info.php
2024-12-20 17:10:23 +01:00

150 lines
6.4 KiB
PHP

<?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='raceSeason'></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;
}
}