<?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);