foreach ($requiredArgs[$_REQUEST['action']] as $arg) { if (!isset($_REQUEST[$arg])) { echo json_encode(array('error' => 'args')); return; } } } $periods = new Periods($user->getId()); $review = new Review($user->getId(), $periods); $review->setUserEmail($user->getUsername()); switch ($_REQUEST['action']) { // gets info about requested period with period stats (done/not done) case 'get_period': $totalCount = $periods->getPeriodCount(); $position = !empty($_REQUEST['position']) ? intval($_REQUEST['position']) : $periods->getCurrentPeriodCount(); $period_info = $periods->getPeriodByPosition($position); if ($period_info !== null) { $period_info = $review->getPeriodById($period_info['id']); } $period_stats = $review->getPeriodStats($period_info['id']); $time_percentage = 0; if ($period_info['status'] == 0) { $time_percentage = getTimePercentage($period_info['start_date'], $period_info['end_date']); } echo json_encode(array('info' => $period_info, 'stats' => $period_stats, 'count' => $totalCount, 'position' => $position, 'time_percentage' => $time_percentage)); break; /* case 'add_period': $end_date = $_REQUEST['end_date']; echo json_encode($periods -> addPeriod($end_date)); break;