conn = mysqli_connect($ip, $prefix . "_" . $user, $pass, $prefix . '_' . $db); } function insert($Query = '') { $this->conn->query($Query); return $this->conn->insert_id; } public function query(string $query): mysqli_result { $exec = $this->conn->query($query); if (!$exec) { throw new Exception($this->conn->error); } return $exec; } 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 = "", $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"; } } } function add_log($log_text, $table_name, $affected_record_id) { if (strlen($log_text) < 1) { echo "PLEASE SUPPLY A LOG REASON"; } else { $date = date('Y-m-d H:i', strtotime('+ 2 Hours')); self::insert("INSERT INTO `logs` (`proart_accounting_users_id`,`log`,`date_time`,`table_name`,`affected_record`) VALUES ({$_SESSION['user_id']},'" . strtoupper($log_text) . "','$date','$table_name',$affected_record_id)"); } } } class WebApp { public $db; function __construct() { $db = new DBMain(); $this->db = $db; session_start(); ?>

$text

"; } function big_button($page_pointer = '', $text = '', $button_class = 'button') { ?>

$text

"; } function form_input_empty_single($table_name, $href_action_after_completion = '', $custom_select_query = [], $input_class_name = 'input', $select_class_name = 'select', $label_class_name = 'label', $button_class = 'button', $container_div_class = 'form_container', $line_breaks = true) { echo "
"; $results = $this->db->query("SELECT COLUMN_NAME,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table_name'and table_schema = '{$_SESSION['db_name']}'"); while ($row = $results->fetch_assoc()) { $column_name = $row['COLUMN_NAME']; $max_legth = $row['CHARACTER_MAXIMUM_LENGTH']; $is_nullabe = $row['IS_NULLABLE']; if ($column_name == 'record_id') { continue; } else { $js_cul_names_arr[] = $column_name; $js_nullable[] = $is_nullabe; if (strpos($column_name, '_id')) { $link_table_name = substr($column_name, 0, strpos($column_name, '_id')); if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } } else { if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } if (strpos($column_name, 'password') > 0) { $type = 'password'; $data[$column_name] = ''; } else if (strpos($column_name, 'email') > 0) { $type = 'email'; } elseif (strpos($column_name, 'date') > 0) { $type = 'date'; } else { $type = 'text'; } echo ""; if ($line_breaks) { echo "
"; } } } } if ($line_breaks) { echo "
"; } echo ""; echo "
"; ?> "; $data_result = $this->db->exec_query($table_name, ['*'], '', '', '', '', "record_id = $data_record_id"); $data = $data_result->fetch_assoc(); if ($data == NULL) { echo "
NO DATA RECEVIED FROM THE DATABASE WITH RECORD ID OF $data_record_id
"; } $results = $this->db->query("SELECT COLUMN_NAME,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table_name'and table_schema = '{$_SESSION['db_name']}'"); while ($row = $results->fetch_assoc()) { $column_name = $row['COLUMN_NAME']; $max_legth = $row['CHARACTER_MAXIMUM_LENGTH']; $is_nullabe = $row['IS_NULLABLE']; if ($column_name == 'record_id') { continue; } else { $js_cul_names_arr[] = $column_name; $js_nullable[] = $is_nullabe; if (strpos($column_name, '_id')) { $link_table_name = substr($column_name, 0, strpos($column_name, '_id')); if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } echo ""; } else { if ($line_breaks) { echo "
"; } echo ""; if ($line_breaks) { echo "
"; } if (strpos($column_name, 'password') > 0) { $type = 'password'; $data[$column_name] = ''; } else if (strpos($column_name, 'email') > 0) { $type = 'email'; } elseif (strpos($column_name, 'date') > 0) { $type = 'date'; } else { $type = 'text'; } echo ""; if ($line_breaks) { echo "
"; } } } } if ($line_breaks) { echo "
"; } echo ""; echo ""; ?> 0) { return true; } else { return false; } } function search_basic($table_name, $page_pointer = '', $custom_select_query = [], $container_div_class = 'form_container', $input_class_name = 'input', $select_class_name = 'select', $label_class_name = 'label', $button_class = 'button') { echo "
"; $results = $this->db->query("SELECT COLUMN_NAME,CHARACTER_MAXIMUM_LENGTH,IS_NULLABLE FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = '$table_name' and table_schema = '{$_SESSION['db_name']}'"); while ($row = $results->fetch_assoc()) { $column_name = $row['COLUMN_NAME']; $max_legth = $row['CHARACTER_MAXIMUM_LENGTH']; $is_nullabe = $row['IS_NULLABLE']; if ($column_name == 'record_id') { continue; } else { $js_cul_names_arr[] = $column_name; $js_nullable[] = $is_nullabe; if (strpos($column_name, '_id')) { $link_table_name = substr($column_name, 0, strpos($column_name, '_id')); echo ""; } else { if (self::find_string_in_string($column_name, 'password') > 0) { $type = 'password'; $data[$column_name] = ''; } else if (self::find_string_in_string($column_name, 'date') > 0) { $type = 'date'; } else { $type = 'text'; } echo ""; } } } echo "

"; echo ""; echo ""; echo ""; echo "

"; ?>