<?php

function is($word,$con){
    return strncmp($word, $con, strlen($con)) === 0;
}

class DataBase{
    public $servername = "localhost";
    public $dbusername = "userbot";
    public $password = "3erPDar5qohwiqLZ";
    public $dbname = "userbot";


    public function connect(){
        $db = new PDO("mysql:host=$this->servername;dbname=$this->dbname", $this->dbusername, $this->password);
        $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        return $db;
    }

    public function connect2($dataname){
        $db = new PDO("mysql:host=$this->servername;dbname=$dataname", $this->dbusername, $this->password);
        $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
        return $db;
    }

    public function newtable($name, $var){
        $db = $this->connect();

        $sql = "CREATE TABLE IF NOT EXISTS $name ($var)";

        $db->exec($sql);

        return $db;
    }

    public function droprow($name, $where){
        $db = $this->connect();

        $sql = "DELETE FROM $name WHERE $where";
        $db->exec($sql);
        return $db;
    }
    public function droptable($name){
        $db = $this->connect();

        $sql = "DROP TABLE IF EXISTS $name";

        $db->exec($sql);

        return $db;

    }

    public function insert($name, $var, $dati){
        $db = $this->connect();

        $sql = "INSERT INTO $name ($var) VALUES ($dati)";

        $db->exec($sql);

        return $db;
    }

    public function change($name, $change){
        $db = $this->connect();

        $sql = "UPDATE $name SET $change";

        $db->exec($sql);

        return $db;
    }

    public function esegui($sql){
        $db = $this->connect();

        $db->exec($sql);

        return $db;
    }

    public function newpossible($cid, $up){
        $res = $this->change('utenti_gruppi', "not_possible_add = '$up' WHERE chat_id = '$cid'");
        return $res;
    }
    
    public function checknumber($tx){
        $db = $this->connect();
        $tx = str_replace("+", "", $tx);
        $sql = "SELECT count(*) FROM `voip` WHERE number = '$tx'";
        $result = $db->prepare($sql);
        $result->execute();
        $number_of_rows = $result->fetchColumn();

        return $number_of_rows == 0;

    }
    
    public function checkuser($tx){
        $db = $this->connect();
        $sql = "SELECT count(*) FROM `utenti_gruppi` WHERE chat_id = '$tx'";
        $result = $db->prepare($sql);
        $result->execute();
        $number_of_rows = $result->fetchColumn();

        return $number_of_rows == 0;

    }

    public function getuser($max){
        $db = $this->connect();
        $sql = "SELECT chat_id FROM `utenti_gruppi` WHERE not_possible_add = '0' LIMIT $max";

        $list = [];
        foreach ($db->query($sql) as $row){
            array_push($list, (int) $row['chat_id']);
        }
        return $list;
    }

} ?>