fa75f652eda7037fd5036cf628ae18b55450b22f
[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->tab_title = $config['site']['tab_title'];
28 $this->home_link = $config['site']['home_link'];
29 }
30
31 public function query() {
32 $args = func_get_args();
33 $statement = $this->db->prepare($args[0]);
34 $args = array_slice($args, 1);
35 foreach($args as $key => $value)
36 $args[$key] = &$args[$key];
37 call_user_func_array(array($statement, 'bind_param'), $args);
38 $statement->execute();
39 $return = array();
40 $statement->store_result();
41 $row = array();
42 $data = $statement->result_metadata();
43 $fields = array();
44 $fields[0] = &$statement;
45 while($field = $data->fetch_field()) {
46 $fields[] = &$row[$field->name];
47 }
48 call_user_func_array("mysqli_stmt_bind_result", $fields);
49 $i = 0;
50 while ($statement->fetch()) {
51 foreach ($row as $key=>$value) $return[$i][$key] = $value;
52 $i++;
53 }
54 $statement->free_result();
55 return $return;
56 }
57
58 }
59
60 ?>