<?php

class db {

    public $conn;


    function __construct($database = 'ewg', $prefix = 'elegaysv') {
        $ip = 'elegantwork.co.za';
        $user = 'Code2';
        $pass = "EWG2Cod!@#";
        $db = $database;
        $prefix = $prefix;
        $this->conn = mysqli_connect($ip, $prefix."_".$user, $pass, $prefix.'_'.$db);
    }

    function insert($Query = '') {

        return $this->conn->query($Query);

    }

    function CheckAccount($email) {



    }

    function Update($tableName, $columns = [], $values = [], $where = '1', $devmode = False) {

        $this->table = $tableName;

        if(count($columns) == count($values)) {


            $queryDatabase[] = "UPDATE $this->table SET ";
            $i = 0;
            foreach($columns as $colls) {

                $queryDatabaseCols[] = "`$colls` = '$values[$i]'";

                $i++;

            }
            $queryDatabase[] = implode(',', $queryDatabaseCols);

            $queryDatabase[] = " WHERE $where";

            if($devmode == True) {

                echo implode('', $queryDatabase);

            } else {

                // echo implode('',$queryDatabase);

                return $this->conn->query(implode('', $queryDatabase));
            }


        } else {
            return "values and columns not same length";
        }
    }

    function exec_query($tableName, $columns = [], $joinType = '', $joinTable = '', $table1Column = '', $table2Column = '', $where = '1', $orderBy = "AND 1", $devMode = False) {

        $this->table = $tableName;

        if($columns[0] == '*') {

            $results = "";
            $join = strlen($joinType) > 1 ? " a $joinType JOIN $joinTable b ON a.$table1Column = b.$table2Column " : '';


            $queryDatabase = "SELECT * FROM `$this->table` $join WHERE $where $orderBy";


            $results = $this->conn->query($queryDatabase);


            if(!$results)
                var_dump($results);

            if($devMode == True) {

                echo $queryDatabase;

            } else {
                return $results;
            }

        } else {
            $queryColumns = [];

            foreach($columns as $col) {

                $queryColumns[] = " $col ";
            }

            $queryColumns = implode(' , ', $queryColumns);

            $queryDatabase = "SELECT $queryColumns FROM `$this->table` WHERE $where $orderBy";


            $results = $this->conn->query($queryDatabase);


            if($results->num_rows > 0) {

                if($devMode == True) {

                    echo $queryDatabase;
                } else {
                    echo $queryDatabase;

                    // return $results;
                }
            } else {

                return "$queryDatabase";
            }
        }
    }
}

?>