38471-vm/patch_users_6.php
2026-02-26 03:44:24 +00:00

45 lines
2.4 KiB
PHP

<?php
$file = 'index.php';
$content = file_get_contents($file);
// add_user
$old_add = <<<EOD
\$outlet_ids = !empty(\$_POST['outlet_ids']) && is_array(\$_POST['outlet_ids']) ? \$_POST['outlet_ids'] : [];
\$outlet_id = !empty(\$outlet_ids) ? (int)\$outlet_ids[0] : null;
\$assigned_outlets = !empty(\$outlet_ids) ? implode(',', array_map('intval', \$outlet_ids)) : null;
\$stmt = db()->prepare("INSERT INTO users (username, password, email, phone, group_id, outlet_id, assigned_outlets) VALUES (?, ?, ?, ?, ?, ?, ?)");
EOD;
$new_add = <<<EOD
\$outlet_ids = !empty(\$_POST['outlet_ids']) && is_array(\$_POST['outlet_ids']) ? array_filter(\$_POST['outlet_ids'], function(\$v) { return \$v !== ''; }) : [];
\$outlet_id = !empty(\$outlet_ids) ? (int)reset(\$outlet_ids) : null;
\$assigned_outlets = !empty(\$outlet_ids) ? implode(',', array_map('intval', \$outlet_ids)) : null;
\$stmt = db()->prepare("INSERT INTO users (username, password, email, phone, group_id, outlet_id, assigned_outlets) VALUES (?, ?, ?, ?, ?, ?, ?)");
EOD;
$content = str_replace($old_add, $new_add, $content);
// edit_user
$old_edit = <<<EOD
\$outlet_ids = !empty(\$_POST['outlet_ids']) && is_array(\$_POST['outlet_ids']) ? \$_POST['outlet_ids'] : [];
\$outlet_id = !empty(\$outlet_ids) ? (int)\$outlet_ids[0] : null;
\$assigned_outlets = !empty(\$outlet_ids) ? implode(',', array_map('intval', \$outlet_ids)) : null;
if (\$id && \$username) {
\$stmt = db()->prepare("UPDATE users SET username = ?, email = ?, phone = ?, group_id = ?, status = ?, outlet_id = ?, assigned_outlets = ? WHERE id = ?");
EOD;
$new_edit = <<<EOD
\$outlet_ids = !empty(\$_POST['outlet_ids']) && is_array(\$_POST['outlet_ids']) ? array_filter(\$_POST['outlet_ids'], function(\$v) { return \$v !== ''; }) : [];
\$outlet_id = !empty(\$outlet_ids) ? (int)reset(\$outlet_ids) : null;
\$assigned_outlets = !empty(\$outlet_ids) ? implode(',', array_map('intval', \$outlet_ids)) : null;
if (\$id && \$username) {
\$stmt = db()->prepare("UPDATE users SET username = ?, email = ?, phone = ?, group_id = ?, status = ?, outlet_id = ?, assigned_outlets = ? WHERE id = ?");
EOD;
$content = str_replace($old_edit, $new_edit, $content);
file_put_contents($file, $content);
echo "Patch 6 applied.\n";