5 private $config_file = '/etc/disinclined.ini';
7 protected $recaptcha_publickey;
8 protected $recaptcha_privatekey;
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();
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'];
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();
40 $statement->store_result();
42 $data = $statement->result_metadata();
44 $fields[0] = &$statement;
45 while($field = $data->fetch_field()) {
46 $fields[] = &$row[$field->name
];
48 call_user_func_array("mysqli_stmt_bind_result", $fields);
50 while ($statement->fetch()) {
51 foreach ($row as $key=>$value) $return[$i][$key] = $value;
54 $statement->free_result();