The Problem

Before even getting the first user input we faced a problem. There were very few inbuilt validations for eg., for date, time etc. We therefore had to make scripts for that as well.

Date script PHP :

<?php


date_default_timezone_set('Asia/Kolkata');
$date = date('Y-m-d');
$maxResTime = DateTime::createFromFormat('h:i:sa', '07:00:00pm');
$currentTime = DateTime::createFromFormat('h:i:sa', date('h:i:sa'));

$allDates = array();
$quick_replies = array();

if($currentTime >= $maxResTime){
	$startIndex = 1;
	$endIndex = 7;
	$flag = true;
}else{
	$startIndex = 1;
	$endIndex = 6;
	$flag = false;
	$d = Datetime::createFromFormat('Y-m-d', $date)->format('jS M, Y(D)');
	$attributes = array("date"=>$date);
	//$quick_replies[0] = array("title"=>$d, "set_attributes"=>$attributes);
	array_push($quick_replies, array("title"=>$d, "set_attributes"=>$attributes));
	array_push($allDates, $date);
}

for($i=$startIndex ;$i<=$endIndex; $i++){
	$date = date("Y-m-d",strtotime("+$i days"));
	$showDate = date("jS M",strtotime("+$i days"));

	$d = Datetime::createFromFormat('Y-m-d', $date)->format('jS M, Y(D)');
	$attributes = array("date"=>$date, "showDate"=>$showDate);
	
	//$quick_replies[$i] = array("title"=>$d, "set_attributes"=>$attributes);
	array_push($quick_replies, array("title"=>$d, "set_attributes"=>$attributes));
	array_push($allDates, $date);
}

$messages = array();
$messages[0] = array("text"=>"On which date would you like to come?",
	"quick_replies"=>$quick_replies);
$res = array("messages"=>$messages);

echo json_encode($res, JSON_UNESCAPED_SLASHES);
?>

Leave a comment