%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /data/www_bck/varak.cloud_bck/tracker.varak.cloud/src/Legacy/Admin/
Upload File :
Create Path :
Current File : //data/www_bck/varak.cloud_bck/tracker.varak.cloud/src/Legacy/Admin/Torrent.php

<?php
/**
 * TorrentPier – Bull-powered BitTorrent tracker engine
 *
 * @copyright Copyright (c) 2005-2018 TorrentPier (https://torrentpier.com)
 * @link      https://github.com/torrentpier/torrentpier for the canonical source repository
 * @license   https://github.com/torrentpier/torrentpier/blob/master/LICENSE MIT License
 */

namespace TorrentPier\Legacy\Admin;

/**
 * Class Torrent
 * @package TorrentPier\Legacy\Admin
 */
class Torrent
{
    /**
     * Update boolean config table
     *
     * @param string $table_name
     * @param string $key
     * @param string $field_name
     * @param string $field_def_val
     */
    public static function update_table_bool($table_name, $key, $field_name, $field_def_val)
    {
        // Clear current status
        $sql = "UPDATE $table_name
		SET $field_name = $field_def_val
		WHERE 1";

        if (!$result = DB()->sql_query($sql)) {
            bb_die('Could not update ' . $table_name);
        }

        if (isset($_POST[$field_name])) {
            // Get new status
            $in_sql = array();

            foreach ($_POST[$field_name] as $i => $val) {
                $in_sql[] = (int)$val;
            }

            // Update status
            if ($in_sql = implode(',', $in_sql)) {
                $sql = "UPDATE $table_name
				SET $field_name = 1
				WHERE $key IN($in_sql)";

                if (!$result = DB()->sql_query($sql)) {
                    bb_die('Could not update ' . $table_name);
                }
            }
        }
    }

    /**
     * Assign config variables to template
     *
     * @param array $default_cfg
     * @param array $cfg
     */
    public static function set_tpl_vars($default_cfg, $cfg)
    {
        global $template;

        foreach ($default_cfg as $config_name => $config_value) {
            $template->assign_vars(array(strtoupper($config_name) => htmlspecialchars($cfg[$config_name])));
        }
    }

    /**
     * Assign boolean config variables to template
     *
     * @param array $default_cfg
     * @param array $cfg
     */
    public static function set_tpl_vars_bool($default_cfg, $cfg)
    {
        global $template, $lang;

        foreach ($default_cfg as $config_name => $config_value) {
            // YES/NO 'checked="checked"'
            $template->assign_vars(array(
                strtoupper($config_name) . '_YES' => ($cfg[$config_name]) ? HTML_CHECKED : '',
                strtoupper($config_name) . '_NO' => (!$cfg[$config_name]) ? HTML_CHECKED : '',
            ));
            // YES/NO lang vars
            $template->assign_vars(array(
                'L_' . strtoupper($config_name) . '_YES' => ($cfg[$config_name]) ? "<u>$lang[YES]</u>" : $lang['YES'],
                'L_' . strtoupper($config_name) . '_NO' => (!$cfg[$config_name]) ? "<u>$lang[NO]</u>" : $lang['NO'],
            ));
        }
    }

    /**
     * Assign language config variables to template
     *
     * @param array $default_cfg
     */
    public static function set_tpl_vars_lang($default_cfg)
    {
        global $template, $lang;

        foreach ($default_cfg as $config_name => $config_value) {
            $template->assign_vars(array(
                'L_' . strtoupper($config_name) => $lang[$config_name] ?? '',
                'L_' . strtoupper($config_name) . '_EXPL' => $lang[$config_name . '_expl'] ?? '',
                'L_' . strtoupper($config_name) . '_HEAD' => $lang[$config_name . '_head'] ?? '',
            ));
        }
    }

    /**
     * Update config table
     *
     * @param string $table_name
     * @param array $default_cfg
     * @param array $cfg
     * @param string $type
     */
    public static function update_config_table($table_name, $default_cfg, $cfg, $type)
    {
        foreach ($default_cfg as $config_name => $config_value) {
            if (isset($_POST[$config_name]) && $_POST[$config_name] != $cfg[$config_name]) {
                if ($type == 'str') {
                    $config_value = $_POST[$config_name];
                } elseif ($type == 'bool') {
                    $config_value = ($_POST[$config_name]) ? 1 : 0;
                } elseif ($type == 'num') {
                    $config_value = abs((int)$_POST[$config_name]);
                } else {
                    return;
                }

                bb_update_config(array($config_name => $config_value), $table_name);
            }
        }
    }
}

Zerion Mini Shell 1.0