~jstys-z/helioviewer.org/client5

« back to all changes in this revision

Viewing changes to api/lib/Database/DbConnection.php

Added more tests for validation methods. Modifying style of older files to PEAR CS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?php
2
 
/**
3
 
 * @package DbConnection
4
 
 * @author Patrick Schmiedel <patrick.schmiedel@gmx.net>
5
 
 * @author Keith Hughitt <Vincent.K.Hughitt@nasa.gov>
6
 
 */
7
 
class Database_DbConnection {
8
 
    private $host     = HV_DB_HOST;
9
 
    private $dbname   = HV_DB_NAME;
10
 
    private $user     = HV_DB_USER;
11
 
    private $password = HV_DB_PASS;
12
 
    
 
2
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
 
3
/**
 
4
 * Database connection helper
 
5
 * 
 
6
 * PHP version 5
 
7
 * 
 
8
 * @category Database
 
9
 * @package  Helioviewer
 
10
 * @author   Patrick Schmiedel <patrick.schmiedel@gmx.net>
 
11
 * @author   Keith Hughitt <keith.hughitt@nasa.gov>
 
12
 * @license  http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License 1.1
 
13
 * @link     http://launchpad.net/helioviewer.org
 
14
 */
 
15
/**
 
16
 * Database connection helper class
 
17
 * 
 
18
 * @category Database
 
19
 * @package  Helioviewer
 
20
 * @author   Patrick Schmiedel <patrick.schmiedel@gmx.net>
 
21
 * @author   Keith Hughitt <keith.hughitt@nasa.gov>
 
22
 * @license  http://www.mozilla.org/MPL/MPL-1.1.html Mozilla Public License 1.1
 
23
 * @link     http://launchpad.net/helioviewer.org
 
24
 */
 
25
class Database_DbConnection
 
26
{
 
27
    private $_host     = HV_DB_HOST;
 
28
    private $_dbname   = HV_DB_NAME;
 
29
    private $_user     = HV_DB_USER;
 
30
    private $_password = HV_DB_PASS;
 
31
 
13
32
    /**
14
 
     * @param string [optional] Database name
15
 
     * @param string [optional] Database user
16
 
     * @param string [optional] Database password
17
 
     * @param string [optional] Database hostname
 
33
     * Create a DbConnection instance
 
34
     * 
 
35
     * @param string $dbname   [Optional] Database name
 
36
     * @param string $user     [Optional] Database user
 
37
     * @param string $password [Optional] Database password
 
38
     * @param string $host     [Optional] Database hostname
 
39
     * 
 
40
     * @return void
18
41
     */
19
 
    public function __construct($dbname = null, $user = null, $password = null, $host = null) {
 
42
    public function __construct($dbname = null, $user = null, $password = null, $host = null)
 
43
    {
20
44
        if ($user) {
21
 
            $this->user = $user;    
 
45
            $this->_user = $user;    
22
46
        }
23
47
        if ($password) {
24
 
            $this->password = $password;
 
48
            $this->_password = $password;
25
49
        }
26
50
        if ($host) {
27
 
            $this->host = $host;
 
51
            $this->_host = $host;
28
52
        }
29
53
        if ($dbname) {
30
 
            $this->dbname = $dbname;
 
54
            $this->_dbname = $dbname;
31
55
        }
32
56
        $this->connect();
33
57
    }
34
 
    
 
58
 
35
59
    /**
36
 
     * connect 
 
60
     * Connects to database and sets timezone to UTC
 
61
     * 
 
62
     * @return void
37
63
     */
38
 
    public function connect() {
39
 
        if (!$this->link = mysqli_connect($this->host, $this->user, $this->password)) {
 
64
    public function connect()
 
65
    {
 
66
        if (!$this->link = mysqli_connect($this->_host, $this->_user, $this->_password)) {
40
67
            die('Error connecting to data base: ' . mysqli_error($this->link));
41
68
        }
42
 
        mysqli_select_db($this->link, $this->dbname);
 
69
        mysqli_select_db($this->link, $this->_dbname);
43
70
        mysqli_query($this->link, "SET @@session.time_zone = '+00:00'");
44
71
    }
45
72
 
46
73
    /**
47
 
     * query
48
 
     * @param string SQL
 
74
     * Queries database
 
75
     * 
 
76
     * @param string $query SQL query
 
77
     * 
49
78
     * @return mixed Query result
50
79
     */    
51
 
    public function query($query) {
 
80
    public function query($query)
 
81
    {
52
82
        $result = mysqli_query($this->link, $query);
53
83
        if (!$result) {
54
84
            die("Error executing query:<br>\n$query <br>\n " . mysqli_error($this->link));
56
86
        return $result;
57
87
    }
58
88
}
59
 
?>
 
89
?>
 
 
b'\\ No newline at end of file'