PHP WebShell

Текущая директория: /var/www/bitcardoApp/backyard/models/rates

Просмотр файла: swap_directions.php

<?php
// backyard/models/rates/swap_directions.php
if (!isset($conn)) { include_once '../../config/db_config.php'; }

function sd_h($s){ return htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8'); }

function sd_all(mysqli $conn): array {
    $rows = [];
    $sql = "SELECT swad_id, from_coin, to_coin, is_active, created_at FROM swap_directions ORDER BY swad_id";
    if ($res = mysqli_query($conn, $sql)) {
        while ($r = mysqli_fetch_assoc($res)) $rows[] = $r;
        mysqli_free_result($res);
    }
    return $rows;
}

function sd_create(mysqli $conn, string $from, string $to): array {
    $from = strtoupper(trim($from));
    $to   = strtoupper(trim($to));
    if ($from === '' || $to === '' || $from === $to) {
        return ['ok'=>false,'msg'=>'Invalid pair'];
    }
    $fs = mysqli_real_escape_string($conn, $from);
    $ts = mysqli_real_escape_string($conn, $to);
    // prevent duplicates
    $q = "SELECT 1 FROM swap_directions WHERE from_coin='{$fs}' AND to_coin='{$ts}' LIMIT 1";
    $r = mysqli_query($conn,$q);
    if ($r && mysqli_fetch_row($r)) { if($r) mysqli_free_result($r); return ['ok'=>false,'msg'=>'Pair already exists']; }
    if($r) mysqli_free_result($r);

    $ins = "INSERT INTO swap_directions(from_coin,to_coin,is_active,created_at) VALUES('{$fs}','{$ts}',1,NOW())";
    if (!mysqli_query($conn,$ins)) return ['ok'=>false,'msg'=>'Insert failed'];
    return ['ok'=>true,'id'=>(int)mysqli_insert_id($conn)];
}

function sd_toggle(mysqli $conn, int $id): array {
    $id = (int)$id;
    $q = "UPDATE swap_directions SET is_active = IF(is_active=1,0,1) WHERE swad_id={$id} LIMIT 1";
    if (!mysqli_query($conn,$q)) return ['ok'=>false,'msg'=>'Toggle failed'];
    return ['ok'=>true];
}

function sd_delete(mysqli $conn, int $id): array {
    $id = (int)$id;
    $q = "DELETE FROM swap_directions WHERE swad_id={$id} LIMIT 1";
    if (!mysqli_query($conn,$q)) return ['ok'=>false,'msg'=>'Delete failed'];
    return ['ok'=>true];
}

Выполнить команду


Для локальной разработки. Не используйте в интернете!