PHP WebShell
Текущая директория: /var/www/bitcardoApp/backyard/models/settings
Просмотр файла: site_settings.php
<?php
// backyard/models/settings/site_settings.php
if (!isset($conn)) { include_once '../../config/db_config.php'; }
function ss_all(mysqli $conn): array {
$rows = [];
$sql = "SELECT id, setting_key, setting_value, created_at, updated_at FROM site_settings ORDER BY setting_key";
if ($res = mysqli_query($conn,$sql)){
while($r=mysqli_fetch_assoc($res)) $rows[]=$r;
mysqli_free_result($res);
}
return $rows;
}
function ss_upsert(mysqli $conn, ?int $id, string $key, string $val): array {
$key = trim($key);
if ($key === '') return ['ok'=>false,'msg'=>'Key required'];
$ks = mysqli_real_escape_string($conn,$key);
$vs = mysqli_real_escape_string($conn,$val);
if ($id) {
$id = (int)$id;
$q = "UPDATE site_settings SET setting_key='{$ks}', setting_value='{$vs}', updated_at=NOW() WHERE id={$id} LIMIT 1";
if(!mysqli_query($conn,$q)) return ['ok'=>false,'msg'=>'Update failed'];
return ['ok'=>true];
} else {
// prevent duplicate keys
$q = "SELECT id FROM site_settings WHERE setting_key='{$ks}' LIMIT 1";
$r = mysqli_query($conn,$q);
if ($r && ($row=mysqli_fetch_assoc($r))) { if($r) mysqli_free_result($r);
// update existing
$id = (int)$row['id'];
$q2 = "UPDATE site_settings SET setting_value='{$vs}', updated_at=NOW() WHERE id={$id} LIMIT 1";
if(!mysqli_query($conn,$q2)) return ['ok'=>false,'msg'=>'Upsert update failed'];
return ['ok'=>true, 'id'=>$id];
}
if($r) mysqli_free_result($r);
$ins = "INSERT INTO site_settings(setting_key,setting_value,created_at,updated_at) VALUES('{$ks}','{$vs}',NOW(),NOW())";
if(!mysqli_query($conn,$ins)) return ['ok'=>false,'msg'=>'Insert failed'];
return ['ok'=>true,'id'=>(int)mysqli_insert_id($conn)];
}
}
function ss_delete(mysqli $conn, int $id): array {
$id = (int)$id;
$q = "DELETE FROM site_settings WHERE id={$id} LIMIT 1";
if(!mysqli_query($conn,$q)) return ['ok'=>false,'msg'=>'Delete failed'];
return ['ok'=>true];
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!