123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199 |
- <?php
-
- require_once 'processes/config.php';
- require_once 'processes/dbh.inc.php';
- require_once 'processes/checkLogin.php';
-
-
-
-
-
- if(isset($_POST['experienceID'])) {
-
-
-
- $experienceID = mysqli_real_escape_string($connection, trim($_POST['experienceID']));
-
-
-
-
- if($experienceID === "") {
- http_response_code(400);
- echo json_encode(array("error" => "Please specify experience ID."));
- exit();
- } else if(!mysqli_query($connection, "SELECT * FROM experience WHERE id = $experienceID;")) {
- http_response_code(400);
- echo json_encode(array("error" => "Given experience ID ($experienceID) not in database."));
- exit();
- }
-
-
-
- $plugins = array('dayGrid', 'timeGrid', 'interaction');
- $calendarConfig = new stdClass();
- $calendarConfig->plugins = $plugins;
-
-
-
- $header->left = 'prev,next today';
- $header->center = 'title';
- $header->right = 'dayGridMonth,timeGridWeek,timeGridDay';
- $calendarConfig->header = $header;
-
-
-
-
-
-
- $queryExperience = "SELECT * FROM experience WHERE id = $experienceID;";
- $resultExperience = mysqli_query($connection, $queryExperience);
- $rowExperience = mysqli_fetch_assoc($resultExperience);
- $calendarConfig->defaultDate = $rowExperience['start_date'];
-
-
-
- $startDate = new stdClass();
- $startDate->start = $rowExperience['start_date'];
- $startDate->end = $rowExperience['start_date'];
- $startDate->overlap = true;
- $startDate->rendering = 'background';
- $startDate->color = '#ff9f89';
- $events[] = $startDate;
-
- $endDate = new stdClass();
- $endDate->start = $rowExperience['end_date'];
- $endDate->end = $rowExperience['end_date'];
- $endDate->overlap = true;
- $endDate->rendering = 'background';
- $endDate->color = '#ff9f89';
- $events[] = $endDate;
-
-
-
- $queryMoments = "SELECT * FROM `subquestionnair` WHERE id_questionnair IN (SELECT id_questionnair FROM `experience_questionnair` WHERE id_experience = $experienceID);";
- $resultMoments = mysqli_query($connection, $queryMoments);
- while($rowMoments = mysqli_fetch_assoc($resultMoments)) {
-
-
- $moment = new stdClass();
- $moment->id = $rowMoments['id'] . '-moment';
- $moment->title = $rowMoments['title'];
- $moment->start = $rowMoments['date_to_administer'];
-
-
- $computedEndTimestamp = strtotime($rowMoments['date_to_administer'] . ' + ' . $rowExperience['expiry_time'] .' minutes');
- $moment->end = date('Y-m-d H:i:s', $computedEndTimestamp);
-
-
- $moment->durationEditable = false;
- $moment->color = '#40587C';
-
-
- $events[] = $moment;
-
- }
-
-
-
- $queryMilestones = "SELECT * FROM `milestone` WHERE id_experience = $experienceID;";
- $resultMilestones = mysqli_query($connection, $queryMilestones);
- while($rowMilestones = mysqli_fetch_assoc($resultMilestones)) {
-
-
- $milestone = new stdClass();
- $milestone->id = $rowMilestones['id'] . '-milestone';
- $milestone->title = $rowMilestones['title'];
- $milestone->start = $rowMilestones['date'];
- $milestone->end = $rowMilestones['date'];
- $milestone->durationEditable = false;
- $milestone->color = '#A4262C';
-
-
- $events[] = $milestone;
-
- }
-
-
-
- $calendarConfig->events = $events;
-
-
-
-
- $calendarConfig->businessHours = true;
- $calendarConfig->editable = true;
-
-
- echo json_encode($calendarConfig);
-
- }
-
-
-
-
- ?>
|