-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.php
119 lines (87 loc) · 3.63 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?php
require ("config.php" );
$action = isset( $_GET['action'] ) ? $_GET['action'] : "";
switch ( $action ){
case 'newRecord':
newRecord();
break;
case 'editRecord':
editRecord();
break;
case 'deleteRecord':
deleteRecord();
break;
default:
listRecords();
}
function newRecord() {
$results = array();
$data_cities = City::getList();
$data_streets = Street::getList();
$results['pageTitle'] = "Новая запись";
$results['formAction'] = "newRecord";
if ( isset( $_POST['saveChanges'] ) ) {
// Пользователь получает форму редактирования записи: сохраняем новую запись
$record= new Record;
$record->storeFormValues( $_POST );
$record->insert();
header( "Location: index.php?status=changesSaved" );
} elseif ( isset( $_POST['cancel'] ) ) {
// Пользователь сбросил результаты редактирования: возвращаемся к списку записей
header( "Location: index.php" );
} else {
// Пользователь еще не получил форму редактирования: выводим форму
$results['record'] = new Record;
require( TEMPLATE_PATH . "/editRecord.php" );
}
}
function editRecord() {
$results = array();
$data_cities = City::getList();
$data_streets = Street::getList();
$results['pageTitle'] = "Изменить запись";
$results['formAction'] = "editRecord";
if ( isset( $_POST['saveChanges'] ) ) {
// Пользователь получил форму редактирования записи: сохраняем изменения
if ( !$record = Record::getById( (int)$_POST['recordId'] ) ) {
header( "Location: index.php?error=recordNotFound" );
return;
}
$record->storeFormValues( $_POST );
$record->update();
header( "Location: index.php?status=changesSaved" );
} elseif ( isset( $_POST['cancel'] ) ) {
// Пользователь отказался от результатов редактирования: возвращаемся к списку записей
header( "Location: index.php" );
} else {
// Пользвоатель еще не получил форму редактирования: выводим форму
$results['record'] = Record::getById( (int)$_GET['recordId'] );
require( TEMPLATE_PATH . "/editRecord.php" );
}
}
function deleteRecord() {
if ( !$record = Record::getById( (int)$_GET['recordId'] ) ) {
header( "Location: index.php?error=recordNotFound" );
return;
}
$record->delete();
header( "Location: index.php?status=recordDeleted" );
}
function listRecords() {
$results = array();
$data_cities = City::getList();
$data_streets = Street::getList();
$data = Record::getList();
$results['records'] = $data['results'];
$results['totalRows'] = $data['totalRows'];
$results['pageTitle'] = "Все записи";
if ( isset( $_GET['error'] ) ) {
if ( $_GET['error'] == "recordNotFound" ) $results['errorMessage'] = "Error: Record not found.";
}
if ( isset( $_GET['status'] ) ) {
if ( $_GET['status'] == "changesSaved" ) $results['statusMessage'] = "Ваши изменения были сохраненны.";
if ( $_GET['status'] == "recordDeleted" ) $results['statusMessage'] = "Запись удалена.";
}
require( TEMPLATE_PATH . "/listRecords.php" );
}
?>