403Webshell
Server IP : 173.209.174.21  /  Your IP : 216.73.216.89
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux wcfs-server 6.8.0-124-generic #124-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 13:00:45 UTC 2026 x86_64
User : nodor ( 1000)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/thelittlebigshow/self-hosted/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/thelittlebigshow/self-hosted/store_settings.php
<?php

function ensureAppSettingsTable(mysqli $conn): void
{
    static $tableReady = false;

    if ($tableReady) {
        return;
    }

    $sql = "
        CREATE TABLE IF NOT EXISTS app_settings (
            setting_key VARCHAR(100) NOT NULL PRIMARY KEY,
            setting_value VARCHAR(255) DEFAULT NULL,
            updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
        ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
    ";

    if (!$conn->query($sql)) {
        throw new RuntimeException('Could not create app settings table: ' . $conn->error);
    }

    $tableReady = true;
}

function getStoreTaxRate(mysqli $conn): float
{
    ensureAppSettingsTable($conn);

    $defaultRate = 0.082;
    $stmt = $conn->prepare("SELECT setting_value FROM app_settings WHERE setting_key = 'sales_tax_rate' LIMIT 1");
    $stmt->execute();
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();
    $stmt->close();

    if (!$row || !isset($row['setting_value']) || $row['setting_value'] === '') {
        $stored = number_format($defaultRate, 4, '.', '');
        $insert = $conn->prepare("
            INSERT INTO app_settings (setting_key, setting_value)
            VALUES ('sales_tax_rate', ?)
            ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)
        ");
        $insert->bind_param("s", $stored);
        $insert->execute();
        $insert->close();
        return $defaultRate;
    }

    $rate = (float) $row['setting_value'];
    return $rate < 0 ? 0.0 : $rate;
}

function getAppSettingValue(mysqli $conn, string $key, string $default = ''): string
{
    ensureAppSettingsTable($conn);

    $stmt = $conn->prepare("SELECT setting_value FROM app_settings WHERE setting_key = ? LIMIT 1");
    $stmt->bind_param("s", $key);
    $stmt->execute();
    $result = $stmt->get_result();
    $row = $result ? $result->fetch_assoc() : null;
    $stmt->close();

    if (!$row || !array_key_exists('setting_value', $row) || $row['setting_value'] === null) {
        return $default;
    }

    return (string) $row['setting_value'];
}

function setAppSettingValue(mysqli $conn, string $key, string $value): void
{
    ensureAppSettingsTable($conn);

    $stmt = $conn->prepare("
        INSERT INTO app_settings (setting_key, setting_value)
        VALUES (?, ?)
        ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)
    ");
    $stmt->bind_param("ss", $key, $value);
    $stmt->execute();
    $stmt->close();
}

function setStoreTaxRate(mysqli $conn, float $rate): void
{
    ensureAppSettingsTable($conn);

    if ($rate < 0 || $rate > 1) {
        throw new RuntimeException('Tax rate must be between 0 and 1.');
    }

    $stored = number_format($rate, 4, '.', '');
    $stmt = $conn->prepare("
        INSERT INTO app_settings (setting_key, setting_value)
        VALUES ('sales_tax_rate', ?)
        ON DUPLICATE KEY UPDATE setting_value = VALUES(setting_value)
    ");
    $stmt->bind_param("s", $stored);
    $stmt->execute();
    $stmt->close();
}

function formatTaxRatePercent(float $rate): string
{
    return number_format($rate * 100, 2);
}

Youez - 2016 - github.com/yon3zu
LinuXploit