-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathseed_data.php
More file actions
190 lines (174 loc) · 8.21 KB
/
Copy pathseed_data.php
File metadata and controls
190 lines (174 loc) · 8.21 KB
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<?php
/**
* CINEMAX — SEED DATA (seed_data.php)
* ============================================================
* Optional legacy helper only.
*
* The final submission already seeds governorates, cinemas, halls,
* and demo accounts inside schema.sql. For a fresh final setup,
* import schema.sql only and do not run this file.
*
* Keep this file only if you want to re-seed an older database manually.
* Seeds: 27 governorates, 15+ cinemas, 40+ halls.
*
* php seed_data.php
* (or visit yoursite.com/seed_data.php in browser)
*
* NOTE: This does NOT seed movies or showtimes.
* Movies come from TMDB API (live).
* Showtimes are generated by tmdb_sync.php.
* ============================================================
*/
require_once 'db.php';
echo "=== Cinemax Seed ===\n\n";
/* ── 1. GOVERNORATES ─────────────────────────────────────── */
$govs = [
['Cairo','القاهرة','cairo'],
['Giza','الجيزة','giza'],
['Alexandria','الإسكندرية','alexandria'],
['Qaliubiya','القليوبية','qaliubiya'],
['Dakahlia','الدقهلية','dakahlia'],
['Gharbia','الغربية','gharbia'],
['Sharkia','الشرقية','sharkia'],
['Beheira','البحيرة','beheira'],
['Monufia','المنوفية','monufia'],
['Kafr El Sheikh','كفر الشيخ','kafr-el-sheikh'],
['Damietta','دمياط','damietta'],
['Port Said','بورسعيد','port-said'],
['Ismailia','الإسماعيلية','ismailia'],
['Suez','السويس','suez'],
['North Sinai','شمال سيناء','north-sinai'],
['South Sinai','جنوب سيناء','south-sinai'],
['Fayoum','الفيوم','fayoum'],
['Beni Suef','بني سويف','beni-suef'],
['Minya','المنيا','minya'],
['Asyut','أسيوط','asyut'],
['Sohag','سوهاج','sohag'],
['Qena','قنا','qena'],
['Luxor','الأقصر','luxor'],
['Aswan','أسوان','aswan'],
['Red Sea','البحر الأحمر','red-sea'],
['New Valley','الوادي الجديد','new-valley'],
['Matruh','مطروح','matruh'],
];
$gStmt = $pdo->prepare("INSERT IGNORE INTO governorates (name_en,name_ar,slug) VALUES (?,?,?)");
foreach ($govs as $g) $gStmt->execute($g);
echo "✓ " . count($govs) . " governorates\n";
/* ── Helper: get gov id by slug ─────────────────────────── */
function govId(PDO $pdo, string $slug): int {
$s = $pdo->prepare("SELECT id FROM governorates WHERE slug = ?");
$s->execute([$slug]);
return (int)$s->fetchColumn();
}
/* ── Helper: insert cinema + halls ──────────────────────── */
function addCinema(PDO $pdo, int $govId, string $name, string $location, array $halls): void {
$cs = $pdo->prepare("INSERT IGNORE INTO cinemas (governorate_id,name,location) VALUES (?,?,?)");
$cs->execute([$govId, $name, $location]);
$cid = (int)$pdo->lastInsertId();
if (!$cid) {
$f = $pdo->prepare("SELECT id FROM cinemas WHERE name=? AND governorate_id=?");
$f->execute([$name,$govId]);
$cid = (int)$f->fetchColumn();
}
$hs = $pdo->prepare("INSERT IGNORE INTO halls (cinema_id,name,total_rows,seats_per_row,type) VALUES (?,?,?,?,?)");
foreach ($halls as $h) $hs->execute(array_merge([$cid], $h));
}
/* ── 2. CINEMAS + HALLS ─────────────────────────────────── */
// halls format: [name, total_rows, seats_per_row, type]
// ── CAIRO ────────────────────────────────────────────────────
$cairo = govId($pdo, 'cairo');
addCinema($pdo, $cairo, 'Cairo Festival City Cinemas', 'Cairo Festival City Mall, New Cairo', [
['Hall 1 — Standard', 7, 12, 'standard'],
['Hall 2 — Standard', 7, 12, 'standard'],
['Hall 3 — VIP', 5, 8, 'vip'],
['Hall 4 — IMAX', 8, 14, 'imax'],
]);
addCinema($pdo, $cairo, 'City Stars Cinema', 'City Stars Mall, Nasr City', [
['Hall 1 — Standard', 6, 12, 'standard'],
['Hall 2 — Standard', 6, 12, 'standard'],
['Hall 3 — VIP', 4, 8, 'vip'],
]);
addCinema($pdo, $cairo, 'Mall of Arabia Cinemas', 'Mall of Arabia, 6th of October', [
['Hall 1 — Standard', 6, 12, 'standard'],
['Hall 2 — Standard', 6, 12, 'standard'],
['Hall 3 — IMAX', 8, 14, 'imax'],
]);
addCinema($pdo, $cairo, 'Point 90 Mall Cinema', 'Point 90 Mall, New Cairo', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — VIP', 4, 8, 'vip'],
]);
addCinema($pdo, $cairo, 'Watania Cinema Heliopolis', 'Heliopolis, Cairo', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — Standard', 6, 10, 'standard'],
]);
// ── GIZA ─────────────────────────────────────────────────────
$giza = govId($pdo, 'giza');
addCinema($pdo, $giza, 'Mall of Egypt Cinemas', 'Mall of Egypt, Sheikh Zayed', [
['Hall 1 — Standard', 7, 12, 'standard'],
['Hall 2 — Standard', 7, 12, 'standard'],
['Hall 3 — VIP', 5, 8, 'vip'],
['Hall 4 — 4DX', 4, 8, '4dx'],
]);
addCinema($pdo, $giza, 'Grand Cinemas Dandy Mega Mall', 'Dandy Mega Mall, Sheikh Zayed', [
['Hall 1 — Standard', 6, 12, 'standard'],
['Hall 2 — Standard', 6, 12, 'standard'],
['Hall 3 — VIP', 4, 8, 'vip'],
]);
addCinema($pdo, $giza, 'Americana Plaza Cinema', 'Americana Plaza, Mohandessin', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — Standard', 6, 10, 'standard'],
]);
// ── ALEXANDRIA ───────────────────────────────────────────────
$alex = govId($pdo, 'alexandria');
addCinema($pdo, $alex, 'San Stefano Grand Plaza Cinemas', 'San Stefano Mall, Alexandria', [
['Hall 1 — Standard', 7, 12, 'standard'],
['Hall 2 — VIP', 5, 8, 'vip'],
['Hall 3 — IMAX', 8, 14, 'imax'],
]);
addCinema($pdo, $alex, 'City Centre Alexandria', 'City Centre, Smouha, Alexandria', [
['Hall 1 — Standard', 6, 12, 'standard'],
['Hall 2 — Standard', 6, 12, 'standard'],
['Hall 3 — VIP', 4, 8, 'vip'],
]);
// ── OTHER CITIES ─────────────────────────────────────────────
$qs = govId($pdo, 'qaliubiya');
addCinema($pdo, $qs, 'Cinema City Qalyubia', 'Benha, Qaliubiya', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — Standard', 6, 10, 'standard'],
]);
$ps = govId($pdo, 'port-said');
addCinema($pdo, $ps, 'Mirage Cinema Port Said', 'El Nasr Road, Port Said', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — VIP', 4, 8, 'vip'],
]);
$ismailia = govId($pdo, 'ismailia');
addCinema($pdo, $ismailia, 'Ismailia Cinema', 'City Centre Ismailia', [
['Hall 1 — Standard', 6, 10, 'standard'],
]);
$luxor = govId($pdo, 'luxor');
addCinema($pdo, $luxor, 'Luxor Cinema', 'Luxor City Centre', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — VIP', 4, 8, 'vip'],
]);
$aswan = govId($pdo, 'aswan');
addCinema($pdo, $aswan, 'Aswan Grand Cinema', 'Aswan Corniche', [
['Hall 1 — Standard', 6, 10, 'standard'],
]);
$redsea = govId($pdo, 'red-sea');
addCinema($pdo, $redsea, 'Hurghada Cinema', 'Senzo Mall, Hurghada', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — VIP', 4, 8, 'vip'],
]);
$ssinai = govId($pdo, 'south-sinai');
addCinema($pdo, $ssinai, 'Sinai Grand Cinema', 'Naama Bay, Sharm El Sheikh', [
['Hall 1 — Standard', 6, 10, 'standard'],
['Hall 2 — VIP', 4, 8, 'vip'],
]);
// Count results
$cinemaCount = $pdo->query("SELECT COUNT(*) FROM cinemas")->fetchColumn();
$hallCount = $pdo->query("SELECT COUNT(*) FROM halls")->fetchColumn();
echo "✓ $cinemaCount cinemas, $hallCount halls\n\n";
echo "=== Seed complete! ===\n\n";
echo "NEXT STEP: Run tmdb_sync.php to generate showtimes from TMDB:\n";
echo " php tmdb_sync.php\n";
echo " (or visit yoursite.com/tmdb_sync.php?key=CRON_SECRET)\n";