90 lines
2.5 KiB
PHP
90 lines
2.5 KiB
PHP
<?php
|
|
// includes/db.php
|
|
class TireStore {
|
|
private static $file = __DIR__ . '/../data/store.json';
|
|
|
|
public static function getData() {
|
|
if (!file_exists(self::$file)) {
|
|
require_once __DIR__ . '/../data/init.php';
|
|
}
|
|
$json = file_get_contents(self::$file);
|
|
return json_decode($json, true) ?: [];
|
|
}
|
|
|
|
public static function saveData($data) {
|
|
return file_put_contents(self::$file, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
|
|
}
|
|
|
|
public static function getTires() {
|
|
$data = self::getData();
|
|
return $data['tires'] ?? [];
|
|
}
|
|
|
|
public static function getTireById($id) {
|
|
$tires = self::getTires();
|
|
foreach ($tires as $tire) {
|
|
if ($tire['id'] === $id) {
|
|
return $tire;
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static function getBrands() {
|
|
$data = self::getData();
|
|
return $data['brands'] ?? [];
|
|
}
|
|
|
|
public static function getArticles() {
|
|
$data = self::getData();
|
|
return $data['articles'] ?? [];
|
|
}
|
|
|
|
public static function getPressureGuide() {
|
|
$data = self::getData();
|
|
return $data['pressure_guide'] ?? [];
|
|
}
|
|
|
|
public static function getConsultations() {
|
|
$data = self::getData();
|
|
return $data['consultations'] ?? [];
|
|
}
|
|
|
|
public static function addConsultation($entry) {
|
|
$data = self::getData();
|
|
$entry['id'] = 'CNS-' . (count($data['consultations'] ?? []) + 101);
|
|
$entry['created_at'] = date('Y-m-d H:i');
|
|
$entry['status'] = 'جدید';
|
|
$data['consultations'][] = $entry;
|
|
self::saveData($data);
|
|
return $entry;
|
|
}
|
|
|
|
public static function addTire($tire) {
|
|
$data = self::getData();
|
|
$data['tires'][] = $tire;
|
|
self::saveData($data);
|
|
return true;
|
|
}
|
|
|
|
public static function updateTire($id, $updatedFields) {
|
|
$data = self::getData();
|
|
foreach ($data['tires'] as &$tire) {
|
|
if ($tire['id'] === $id) {
|
|
$tire = array_merge($tire, $updatedFields);
|
|
self::saveData($data);
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static function deleteTire($id) {
|
|
$data = self::getData();
|
|
$data['tires'] = array_values(array_filter($data['tires'], function($t) use ($id) {
|
|
return $t['id'] !== $id;
|
|
}));
|
|
return self::saveData($data);
|
|
}
|
|
}
|