<?php use PhoneBook\DataSource\PhoneBook as PhoneBookDataSource, PhoneBook\Component\Registry; $recordID = Registry::get('router')->getSegmentByID(4); if (!PhoneBookDataSource::getRecordByID($recordID)) { throw new Exception('Bad request: 404'); } $POST_fields = ['name', 'type', 'number']; foreach ($POST_fields as $field) { if (!isset($_POST[$field])) { throw new Exception('POST request error: field @' . $field . ' not specified'); } } $phoneList = []; foreach ($_POST['type'] as $key => $value) { if (!empty($_POST['number'][$key])) { $phoneList[] = ['type' => $value, 'number' => preg_replace('#[^0-9]+#', '', $_POST['number'][$key])]; } } if (!empty($_POST['name']) && !empty($phoneList)) { PhoneBookDataSource::editRecord($recordID, $_POST['name'], $phoneList); } $location = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/'; header('location: ' . $location);