674e8dbea9d5f0eb64d0b5f00dc095824a30df29
[dylansserver.git] / model / model.php
1 <?php
2
3 class model {
4
5 private $config_file = '/etc/disinclined.ini';
6 protected $model;
7 protected $recaptcha_publickey;
8 protected $recaptcha_privatekey;
9 public $title;
10 public $home_link;
11
12 public function __construct() {
13 $config = parse_ini_file($this->config_file, true);
14 $this->db = new mysqli(
15 $config['database']['domain'],
16 $config['database']['user'],
17 $config['database']['password'],
18 $config['database']['database']);
19 if (mysqli_connect_errno()) {
20 echo "Problem connecting to database: ";
21 echo mysqli_connect_error();
22 exit();
23 }
24 $this->recaptcha_publickey = $config['recaptcha']['publickey'];
25 $this->recaptcha_privatekey = $config['recaptcha']['privatekey'];
26 $this->title = $config['site']['title'];
27 $this->site_title = $config['site']['title'];
28 $this->tab_title = $config['site']['tab_title'];
29 $this->home_link = $config['site']['home_link'];
30 }
31
32 public function query() {
33 $args = func_get_args();
34 $statement = $this->db->prepare($args[0]);
35 $args = array_slice($args, 1);
36 foreach($args as $key => $value)
37 $args[$key] = &$args[$key];
38 call_user_func_array(array($statement, 'bind_param'), $args);
39 $statement->execute();
40 $return = array();
41 $statement->store_result();
42 $row = array();
43 $data = $statement->result_metadata();
44 $fields = array();
45 $fields[0] = &$statement;
46 while($field = $data->fetch_field()) {
47 $fields[] = &$row[$field->name];
48 }
49 call_user_func_array("mysqli_stmt_bind_result", $fields);
50 $i = 0;
51 while ($statement->fetch()) {
52 foreach ($row as $key=>$value) $return[$i][$key] = $value;
53 $i++;
54 }
55 $statement->free_result();
56 return $return;
57 }
58
59 }
60
61 ?>