<?php
function getDateLimits()
{
$iMartinId = 1343;
$arrQuery = ['filter' => ['availability_type', '=', 'private']];
if ($arrAvailabilities = \Components\AF\Teachers\Availabilities::getAllForTeacher($iMartinId, $arrQuery))
{
// Get start and end date for the datepicker
$arrStartDates = [];
$arrEndDates = [];
foreach ($arrAvailabilities as $arrAvailability)
{
$arrStartDates[] = $arrAvailability['availability_start_date'];
$arrEndDates[] = $arrAvailability['availability_end_date'];
}
$strStartDate = min($arrStartDates);
$strEndDate = max($arrEndDates);
// Get available days for the date picker
$arrQuery = ['filter' => ['availability_id', 'IN', array_column($arrAvailabilities, 'availability_id')]];
$arrSchedules = \Components\AF\Teachers\Availabilities\Schedules::getAll($arrQuery);
$arrQuery = [
'columns' => [new \Framework\Database\Expression('DISTINCT availability_schedule_day')],
'filter' => ['availability_id', 'IN', array_column($arrAvailabilities, 'availability_id')]
];
$arrScheduleDays = \Components\AF\Teachers\Availabilities\Schedules::getAll($arrQuery);
$arrScheduleDays = array_column($arrScheduleDays, 'availability_schedule_day');
varDump($arrScheduleDays);
$arrDays = [0,1,2,3,4,5,6];
varDump($arrDays);
$arrDisableDays = array_diff($arrDays, $arrScheduleDays);
varDump($arrDisableDays);
$arrDisableDays = [];
foreach ($arrDisableDays as $arrD)
{
$arrDisableDays = date('D', $arrD);
}
return [
'start_date' => min($arrStartDates),
'end_date' => max($arrEndDates),
'disable_days' => $arrDisableDays
];
}
}
function getSchedules($strDate)
{
// Get the availablities of this date
varDump($strDate);
}
?>
<?php
function getDateLimits()
{
$iMartinId = 1343;
$arrQuery = ['filter' => ['availability_type', '=', 'private']];
if ($arrAvailabilities = \Components\AF\Teachers\Availabilities::getAllForTeacher($iMartinId, $arrQuery))
{
// Get start and end date for the datepicker
$arrStartDates = [];
$arrEndDates = [];
foreach ($arrAvailabilities as $arrAvailability)
{
$arrStartDates[] = $arrAvailability['availability_start_date'];
$arrEndDates[] = $arrAvailability['availability_end_date'];
}
$strStartDate = min($arrStartDates);
$strEndDate = max($arrEndDates);
// Get available days for the date picker
$arrQuery = ['filter' => ['availability_id', 'IN', array_column($arrAvailabilities, 'availability_id')]];
$arrSchedules = \Components\AF\Teachers\Availabilities\Schedules::getAll($arrQuery);
$arrQuery = [
'columns' => [new \Framework\Database\Expression('DISTINCT availability_schedule_day')],
'filter' => ['availability_id', 'IN', array_column($arrAvailabilities, 'availability_id')]
];
$arrScheduleDays = \Components\AF\Teachers\Availabilities\Schedules::getAll($arrQuery);
$arrScheduleDays = array_column($arrScheduleDays, 'availability_schedule_day');
varDump($arrScheduleDays);
$arrDays = [0,1,2,3,4,5,6];
varDump($arrDays);
$arrDisableDays = array_diff($arrDays, $arrScheduleDays);
varDump($arrDisableDays);
$arrDisableDays = [];
foreach ($arrDisableDays as $arrD)
{
$arrDisableDays = date('D', $arrD);
}
return [
'start_date' => min($arrStartDates),
'end_date' => max($arrEndDates),
'disable_days' => $arrDisableDays
];
}
}
function getSchedules($strDate)
{
// Get the availablities of this date
varDump($strDate);
}
?>