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->site_title
= $config['site']['title'];
28 $this->tab_title
= $config['site']['tab_title'];
29 $this->home_link
= $config['site']['home_link'];
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();
41 $statement->store_result();
43 $data = $statement->result_metadata();
45 $fields[0] = &$statement;
46 while($field = $data->fetch_field()) {
47 $fields[] = &$row[$field->name
];
49 call_user_func_array("mysqli_stmt_bind_result", $fields);
51 while ($statement->fetch()) {
52 foreach ($row as $key=>$value) $return[$i][$key] = $value;
55 $statement->free_result();