<?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');
$arrDays = [0,1,2,3,4,5,6];
$arrDisableDays = array_diff($arrDays, $arrScheduleDays);
$arrMappings = \Components\AF\Courses\Schedules::getDaysMappingShort();
$arrFinalDisableDays = [];
foreach ($arrDisableDays as $arrD)
{
$arrFinalDisableDays[] = $arrMappings[$arrD];
}
$strFinalDisableDays = implode(',', $arrFinalDisableDays);
return [
'start_date' => min($arrStartDates),
'end_date' => max($arrEndDates),
'disable_days' => $strFinalDisableDays
];
}
}
function getSchedules($strDate)
{
// Get the availablities of this date
varDump($strDate);
}
function getSampleHours()
{
return [
'7am',
'8am',
'9am',
'10am'
];
}
?>
<?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');
$arrDays = [0,1,2,3,4,5,6];
$arrDisableDays = array_diff($arrDays, $arrScheduleDays);
$arrMappings = \Components\AF\Courses\Schedules::getDaysMappingShort();
$arrFinalDisableDays = [];
foreach ($arrDisableDays as $arrD)
{
$arrFinalDisableDays[] = $arrMappings[$arrD];
}
$strFinalDisableDays = implode(',', $arrFinalDisableDays);
return [
'start_date' => min($arrStartDates),
'end_date' => max($arrEndDates),
'disable_days' => $strFinalDisableDays
];
}
}
function getSchedules($strDate)
{
// Get the availablities of this date
varDump($strDate);
}
function getSampleHours()
{
return [
'7am',
'8am',
'9am',
'10am'
];
}
?>