Completed
Push — newinternal-releasecandidate ( 06bb07...1c5b59 )
by Simon
06:04
created
includes/DataObjects/SiteNotice.php 1 patch
Indentation   +57 added lines, -57 removed lines patch added patch discarded remove patch
@@ -20,74 +20,74 @@
 block discarded – undo
20 20
  */
21 21
 class SiteNotice extends DataObject
22 22
 {
23
-    /** @var string */
24
-    private $content;
23
+	/** @var string */
24
+	private $content;
25 25
 
26
-    /**
27
-     * Get a message.
28
-     *
29
-     * @param PdoDatabase $database
30
-     *
31
-     * @return string The content for display
32
-     */
33
-    public static function get(PdoDatabase $database)
34
-    {
35
-        /** @var SiteNotice $message */
36
-        $message = self::getById(1, $database);
26
+	/**
27
+	 * Get a message.
28
+	 *
29
+	 * @param PdoDatabase $database
30
+	 *
31
+	 * @return string The content for display
32
+	 */
33
+	public static function get(PdoDatabase $database)
34
+	{
35
+		/** @var SiteNotice $message */
36
+		$message = self::getById(1, $database);
37 37
 
38
-        return $message->getContent();
39
-    }
38
+		return $message->getContent();
39
+	}
40 40
 
41
-    /**
42
-     * Saves the object
43
-     * @throws Exception
44
-     */
45
-    public function save()
46
-    {
47
-        if ($this->isNew()) {
48
-            // insert
49
-            throw new Exception('Not allowed to create new site notice object');
50
-        }
51
-        else {
52
-            // update
53
-            $statement = $this->dbObject->prepare(<<<SQL
41
+	/**
42
+	 * Saves the object
43
+	 * @throws Exception
44
+	 */
45
+	public function save()
46
+	{
47
+		if ($this->isNew()) {
48
+			// insert
49
+			throw new Exception('Not allowed to create new site notice object');
50
+		}
51
+		else {
52
+			// update
53
+			$statement = $this->dbObject->prepare(<<<SQL
54 54
 UPDATE sitenotice
55 55
 SET content = :content, updateversion = updateversion + 1
56 56
 WHERE updateversion = :updateversion;
57 57
 SQL
58
-            );
59
-            $statement->bindValue(':updateversion', $this->updateversion);
58
+			);
59
+			$statement->bindValue(':updateversion', $this->updateversion);
60 60
 
61
-            $statement->bindValue(':content', $this->content);
61
+			$statement->bindValue(':content', $this->content);
62 62
 
63
-            if (!$statement->execute()) {
64
-                throw new Exception($statement->errorInfo());
65
-            }
63
+			if (!$statement->execute()) {
64
+				throw new Exception($statement->errorInfo());
65
+			}
66 66
 
67
-            if ($statement->rowCount() !== 1) {
68
-                throw new OptimisticLockFailedException();
69
-            }
67
+			if ($statement->rowCount() !== 1) {
68
+				throw new OptimisticLockFailedException();
69
+			}
70 70
 
71
-            $this->updateversion++;
72
-        }
73
-    }
71
+			$this->updateversion++;
72
+		}
73
+	}
74 74
 
75
-    /**
76
-     * Gets the content of the message
77
-     * @return string
78
-     */
79
-    public function getContent()
80
-    {
81
-        return $this->content;
82
-    }
75
+	/**
76
+	 * Gets the content of the message
77
+	 * @return string
78
+	 */
79
+	public function getContent()
80
+	{
81
+		return $this->content;
82
+	}
83 83
 
84
-    /**
85
-     * Sets the content of the message
86
-     *
87
-     * @param string $content
88
-     */
89
-    public function setContent($content)
90
-    {
91
-        $this->content = $content;
92
-    }
84
+	/**
85
+	 * Sets the content of the message
86
+	 *
87
+	 * @param string $content
88
+	 */
89
+	public function setContent($content)
90
+	{
91
+		$this->content = $content;
92
+	}
93 93
 }
Please login to merge, or discard this patch.
includes/DataObjects/RDnsCache.php 1 patch
Indentation   +99 added lines, -99 removed lines patch added patch discarded remove patch
@@ -19,109 +19,109 @@
 block discarded – undo
19 19
  */
20 20
 class RDnsCache extends DataObject
21 21
 {
22
-    private $address;
23
-    private $data;
24
-    private $creation;
25
-
26
-    /**
27
-     * @param string      $address
28
-     * @param PdoDatabase $database
29
-     *
30
-     * @return RDnsCache|false
31
-     */
32
-    public static function getByAddress($address, PdoDatabase $database)
33
-    {
34
-        // @todo add cache invalidation (timestamp?)
35
-        $statement = $database->prepare("SELECT * FROM rdnscache WHERE address = :id LIMIT 1;");
36
-        $statement->bindValue(":id", $address);
37
-
38
-        $statement->execute();
39
-
40
-        $resultObject = $statement->fetchObject(get_called_class());
41
-
42
-        if ($resultObject != false) {
43
-            $resultObject->setDatabase($database);
44
-        }
45
-
46
-        return $resultObject;
47
-    }
48
-
49
-    public function save()
50
-    {
51
-        if ($this->isNew()) {
52
-            // insert
53
-            $statement = $this->dbObject->prepare(<<<SQL
22
+	private $address;
23
+	private $data;
24
+	private $creation;
25
+
26
+	/**
27
+	 * @param string      $address
28
+	 * @param PdoDatabase $database
29
+	 *
30
+	 * @return RDnsCache|false
31
+	 */
32
+	public static function getByAddress($address, PdoDatabase $database)
33
+	{
34
+		// @todo add cache invalidation (timestamp?)
35
+		$statement = $database->prepare("SELECT * FROM rdnscache WHERE address = :id LIMIT 1;");
36
+		$statement->bindValue(":id", $address);
37
+
38
+		$statement->execute();
39
+
40
+		$resultObject = $statement->fetchObject(get_called_class());
41
+
42
+		if ($resultObject != false) {
43
+			$resultObject->setDatabase($database);
44
+		}
45
+
46
+		return $resultObject;
47
+	}
48
+
49
+	public function save()
50
+	{
51
+		if ($this->isNew()) {
52
+			// insert
53
+			$statement = $this->dbObject->prepare(<<<SQL
54 54
 INSERT INTO `rdnscache` (address, data) VALUES (:address, :data);
55 55
 SQL
56
-            );
57
-            $statement->bindValue(":address", $this->address);
58
-            $statement->bindValue(":data", $this->data);
59
-
60
-            if ($statement->execute()) {
61
-                $this->id = (int)$this->dbObject->lastInsertId();
62
-            }
63
-            else {
64
-                throw new Exception($statement->errorInfo());
65
-            }
66
-        }
67
-        else {
68
-            // update
69
-            $statement = $this->dbObject->prepare(<<<SQL
56
+			);
57
+			$statement->bindValue(":address", $this->address);
58
+			$statement->bindValue(":data", $this->data);
59
+
60
+			if ($statement->execute()) {
61
+				$this->id = (int)$this->dbObject->lastInsertId();
62
+			}
63
+			else {
64
+				throw new Exception($statement->errorInfo());
65
+			}
66
+		}
67
+		else {
68
+			// update
69
+			$statement = $this->dbObject->prepare(<<<SQL
70 70
 UPDATE `rdnscache`
71 71
 SET address = :address, data = :data, updateversion = updateversion + 1
72 72
 WHERE id = :id AND updateversion = :updateversion;
73 73
 SQL
74
-            );
75
-
76
-            $statement->bindValue(':id', $this->id);
77
-            $statement->bindValue(':updateversion', $this->updateversion);
78
-
79
-            $statement->bindValue(':address', $this->address);
80
-            $statement->bindValue(':data', $this->data);
81
-
82
-            if (!$statement->execute()) {
83
-                throw new Exception($statement->errorInfo());
84
-            }
85
-
86
-            if ($statement->rowCount() !== 1) {
87
-                throw new OptimisticLockFailedException();
88
-            }
89
-
90
-            $this->updateversion++;
91
-        }
92
-    }
93
-
94
-    public function getAddress()
95
-    {
96
-        return $this->address;
97
-    }
98
-
99
-    /**
100
-     * @param string $address
101
-     */
102
-    public function setAddress($address)
103
-    {
104
-        $this->address = $address;
105
-    }
106
-
107
-    /**
108
-     * @return string
109
-     */
110
-    public function getData()
111
-    {
112
-        return unserialize($this->data);
113
-    }
114
-
115
-    public function setData($data)
116
-    {
117
-        $this->data = serialize($data);
118
-    }
119
-
120
-    /**
121
-     * @return DateTimeImmutable
122
-     */
123
-    public function getCreation()
124
-    {
125
-        return new DateTimeImmutable($this->creation);
126
-    }
74
+			);
75
+
76
+			$statement->bindValue(':id', $this->id);
77
+			$statement->bindValue(':updateversion', $this->updateversion);
78
+
79
+			$statement->bindValue(':address', $this->address);
80
+			$statement->bindValue(':data', $this->data);
81
+
82
+			if (!$statement->execute()) {
83
+				throw new Exception($statement->errorInfo());
84
+			}
85
+
86
+			if ($statement->rowCount() !== 1) {
87
+				throw new OptimisticLockFailedException();
88
+			}
89
+
90
+			$this->updateversion++;
91
+		}
92
+	}
93
+
94
+	public function getAddress()
95
+	{
96
+		return $this->address;
97
+	}
98
+
99
+	/**
100
+	 * @param string $address
101
+	 */
102
+	public function setAddress($address)
103
+	{
104
+		$this->address = $address;
105
+	}
106
+
107
+	/**
108
+	 * @return string
109
+	 */
110
+	public function getData()
111
+	{
112
+		return unserialize($this->data);
113
+	}
114
+
115
+	public function setData($data)
116
+	{
117
+		$this->data = serialize($data);
118
+	}
119
+
120
+	/**
121
+	 * @return DateTimeImmutable
122
+	 */
123
+	public function getCreation()
124
+	{
125
+		return new DateTimeImmutable($this->creation);
126
+	}
127 127
 }
Please login to merge, or discard this patch.
includes/DataObjects/GeoLocation.php 2 patches
Indentation   +102 added lines, -102 removed lines patch added patch discarded remove patch
@@ -21,110 +21,110 @@
 block discarded – undo
21 21
  */
22 22
 class GeoLocation extends DataObject
23 23
 {
24
-    private $address;
25
-    private $data;
26
-    private $creation;
27
-
28
-    /**
29
-     * @param string      $address
30
-     * @param PdoDatabase $database
31
-     * @param bool        $forUpdate
32
-     * @return GeoLocation
33
-     */
34
-    public static function getByAddress($address, PdoDatabase $database, $forUpdate = false)
35
-    {
36
-        $lockMode = $forUpdate ? ' FOR UPDATE' : '';
37
-        $sql = "SELECT * FROM geolocation WHERE address = :id LIMIT 1" . $lockMode;
38
-
39
-        $statement = $database->prepare($sql);
40
-        $statement->bindValue(":id", $address);
41
-
42
-        $statement->execute();
43
-
44
-        $resultObject = $statement->fetchObject(get_called_class());
45
-
46
-        if ($resultObject != false) {
47
-            $resultObject->setDatabase($database);
48
-        }
49
-
50
-        return $resultObject;
51
-    }
52
-
53
-    public function save()
54
-    {
55
-        if ($this->isNew()) {
56
-            // insert
57
-            $statement = $this->dbObject->prepare("INSERT INTO `geolocation` (address, data) VALUES (:address, :data) ON DUPLICATE KEY UPDATE address = address;");
58
-
59
-            $statement->bindValue(":address", $this->address);
60
-            $statement->bindValue(":data", $this->data);
61
-
62
-            if ($statement->execute()) {
63
-                $this->id = (int)$this->dbObject->lastInsertId();
64
-            }
65
-            else {
66
-                throw new Exception($statement->errorInfo());
67
-            }
68
-        }
69
-        else {
70
-            // update
71
-            $statement = $this->dbObject->prepare(<<<SQL
24
+	private $address;
25
+	private $data;
26
+	private $creation;
27
+
28
+	/**
29
+	 * @param string      $address
30
+	 * @param PdoDatabase $database
31
+	 * @param bool        $forUpdate
32
+	 * @return GeoLocation
33
+	 */
34
+	public static function getByAddress($address, PdoDatabase $database, $forUpdate = false)
35
+	{
36
+		$lockMode = $forUpdate ? ' FOR UPDATE' : '';
37
+		$sql = "SELECT * FROM geolocation WHERE address = :id LIMIT 1" . $lockMode;
38
+
39
+		$statement = $database->prepare($sql);
40
+		$statement->bindValue(":id", $address);
41
+
42
+		$statement->execute();
43
+
44
+		$resultObject = $statement->fetchObject(get_called_class());
45
+
46
+		if ($resultObject != false) {
47
+			$resultObject->setDatabase($database);
48
+		}
49
+
50
+		return $resultObject;
51
+	}
52
+
53
+	public function save()
54
+	{
55
+		if ($this->isNew()) {
56
+			// insert
57
+			$statement = $this->dbObject->prepare("INSERT INTO `geolocation` (address, data) VALUES (:address, :data) ON DUPLICATE KEY UPDATE address = address;");
58
+
59
+			$statement->bindValue(":address", $this->address);
60
+			$statement->bindValue(":data", $this->data);
61
+
62
+			if ($statement->execute()) {
63
+				$this->id = (int)$this->dbObject->lastInsertId();
64
+			}
65
+			else {
66
+				throw new Exception($statement->errorInfo());
67
+			}
68
+		}
69
+		else {
70
+			// update
71
+			$statement = $this->dbObject->prepare(<<<SQL
72 72
 UPDATE `geolocation`
73 73
 SET address = :address, data = :data, updateversion = updateversion + 1
74 74
 WHERE id = :id AND updateversion = :updateversion;
75 75
 SQL
76
-            );
77
-
78
-            $statement->bindValue(":id", $this->id);
79
-            $statement->bindValue(":updateversion", $this->updateversion);
80
-
81
-            $statement->bindValue(":address", $this->address);
82
-            $statement->bindValue(":data", $this->data);
83
-
84
-            if (!$statement->execute()) {
85
-                throw new Exception($statement->errorInfo());
86
-            }
87
-
88
-            if ($statement->rowCount() !== 1) {
89
-                throw new OptimisticLockFailedException();
90
-            }
91
-
92
-            $this->updateversion++;
93
-        }
94
-    }
95
-
96
-    public function getAddress()
97
-    {
98
-        return $this->address;
99
-    }
100
-
101
-    /**
102
-     * @param string $address
103
-     */
104
-    public function setAddress($address)
105
-    {
106
-        $this->address = $address;
107
-    }
108
-
109
-    /**
110
-     * @return array
111
-     */
112
-    public function getData()
113
-    {
114
-        return unserialize($this->data);
115
-    }
116
-
117
-    /**
118
-     * @param array $data
119
-     */
120
-    public function setData($data)
121
-    {
122
-        $this->data = serialize($data);
123
-    }
124
-
125
-    /** @return DateTimeImmutable */
126
-    public function getCreation()
127
-    {
128
-        return new DateTimeImmutable($this->creation);
129
-    }
76
+			);
77
+
78
+			$statement->bindValue(":id", $this->id);
79
+			$statement->bindValue(":updateversion", $this->updateversion);
80
+
81
+			$statement->bindValue(":address", $this->address);
82
+			$statement->bindValue(":data", $this->data);
83
+
84
+			if (!$statement->execute()) {
85
+				throw new Exception($statement->errorInfo());
86
+			}
87
+
88
+			if ($statement->rowCount() !== 1) {
89
+				throw new OptimisticLockFailedException();
90
+			}
91
+
92
+			$this->updateversion++;
93
+		}
94
+	}
95
+
96
+	public function getAddress()
97
+	{
98
+		return $this->address;
99
+	}
100
+
101
+	/**
102
+	 * @param string $address
103
+	 */
104
+	public function setAddress($address)
105
+	{
106
+		$this->address = $address;
107
+	}
108
+
109
+	/**
110
+	 * @return array
111
+	 */
112
+	public function getData()
113
+	{
114
+		return unserialize($this->data);
115
+	}
116
+
117
+	/**
118
+	 * @param array $data
119
+	 */
120
+	public function setData($data)
121
+	{
122
+		$this->data = serialize($data);
123
+	}
124
+
125
+	/** @return DateTimeImmutable */
126
+	public function getCreation()
127
+	{
128
+		return new DateTimeImmutable($this->creation);
129
+	}
130 130
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -34,7 +34,7 @@
 block discarded – undo
34 34
     public static function getByAddress($address, PdoDatabase $database, $forUpdate = false)
35 35
     {
36 36
         $lockMode = $forUpdate ? ' FOR UPDATE' : '';
37
-        $sql = "SELECT * FROM geolocation WHERE address = :id LIMIT 1" . $lockMode;
37
+        $sql = "SELECT * FROM geolocation WHERE address = :id LIMIT 1".$lockMode;
38 38
 
39 39
         $statement = $database->prepare($sql);
40 40
         $statement->bindValue(":id", $address);
Please login to merge, or discard this patch.
includes/DataObjects/WelcomeTemplate.php 1 patch
Indentation   +156 added lines, -156 removed lines patch added patch discarded remove patch
@@ -19,166 +19,166 @@
 block discarded – undo
19 19
  */
20 20
 class WelcomeTemplate extends DataObject
21 21
 {
22
-    /** @var string */
23
-    private $usercode;
24
-    /** @var string */
25
-    private $botcode;
26
-    private $usageCache;
27
-    private $deleted = 0;
28
-
29
-    /**
30
-     * Summary of getAll
31
-     *
32
-     * @param PdoDatabase $database
33
-     *
34
-     * @return WelcomeTemplate[]
35
-     */
36
-    public static function getAll(PdoDatabase $database)
37
-    {
38
-        $statement = $database->prepare("SELECT * FROM welcometemplate WHERE deleted = 0;");
39
-
40
-        $statement->execute();
41
-
42
-        $result = array();
43
-        /** @var WelcomeTemplate $v */
44
-        foreach ($statement->fetchAll(PDO::FETCH_CLASS, self::class) as $v) {
45
-            $v->setDatabase($database);
46
-            $result[] = $v;
47
-        }
48
-
49
-        return $result;
50
-    }
51
-
52
-    /**
53
-     * @throws Exception
54
-     */
55
-    public function save()
56
-    {
57
-        if ($this->isNew()) {
58
-            // insert
59
-            $statement = $this->dbObject->prepare(<<<SQL
22
+	/** @var string */
23
+	private $usercode;
24
+	/** @var string */
25
+	private $botcode;
26
+	private $usageCache;
27
+	private $deleted = 0;
28
+
29
+	/**
30
+	 * Summary of getAll
31
+	 *
32
+	 * @param PdoDatabase $database
33
+	 *
34
+	 * @return WelcomeTemplate[]
35
+	 */
36
+	public static function getAll(PdoDatabase $database)
37
+	{
38
+		$statement = $database->prepare("SELECT * FROM welcometemplate WHERE deleted = 0;");
39
+
40
+		$statement->execute();
41
+
42
+		$result = array();
43
+		/** @var WelcomeTemplate $v */
44
+		foreach ($statement->fetchAll(PDO::FETCH_CLASS, self::class) as $v) {
45
+			$v->setDatabase($database);
46
+			$result[] = $v;
47
+		}
48
+
49
+		return $result;
50
+	}
51
+
52
+	/**
53
+	 * @throws Exception
54
+	 */
55
+	public function save()
56
+	{
57
+		if ($this->isNew()) {
58
+			// insert
59
+			$statement = $this->dbObject->prepare(<<<SQL
60 60
 INSERT INTO welcometemplate (usercode, botcode) VALUES (:usercode, :botcode);
61 61
 SQL
62
-            );
63
-            $statement->bindValue(":usercode", $this->usercode);
64
-            $statement->bindValue(":botcode", $this->botcode);
65
-
66
-            if ($statement->execute()) {
67
-                $this->id = (int)$this->dbObject->lastInsertId();
68
-            }
69
-            else {
70
-                throw new Exception($statement->errorInfo());
71
-            }
72
-        }
73
-        else {
74
-            // update
75
-            $statement = $this->dbObject->prepare(<<<SQL
62
+			);
63
+			$statement->bindValue(":usercode", $this->usercode);
64
+			$statement->bindValue(":botcode", $this->botcode);
65
+
66
+			if ($statement->execute()) {
67
+				$this->id = (int)$this->dbObject->lastInsertId();
68
+			}
69
+			else {
70
+				throw new Exception($statement->errorInfo());
71
+			}
72
+		}
73
+		else {
74
+			// update
75
+			$statement = $this->dbObject->prepare(<<<SQL
76 76
 UPDATE `welcometemplate`
77 77
 SET usercode = :usercode, botcode = :botcode, updateversion = updateversion + 1
78 78
 WHERE id = :id AND updateversion = :updateversion;
79 79
 SQL
80
-            );
81
-
82
-            $statement->bindValue(':id', $this->id);
83
-            $statement->bindValue(':updateversion', $this->updateversion);
84
-
85
-            $statement->bindValue(':usercode', $this->usercode);
86
-            $statement->bindValue(':botcode', $this->botcode);
87
-
88
-            if (!$statement->execute()) {
89
-                throw new Exception($statement->errorInfo());
90
-            }
91
-
92
-            if ($statement->rowCount() !== 1) {
93
-                throw new OptimisticLockFailedException();
94
-            }
95
-
96
-            $this->updateversion++;
97
-        }
98
-    }
99
-
100
-    /**
101
-     * @return string
102
-     */
103
-    public function getUserCode()
104
-    {
105
-        return $this->usercode;
106
-    }
107
-
108
-    /**
109
-     * @param string $usercode
110
-     */
111
-    public function setUserCode($usercode)
112
-    {
113
-        $this->usercode = $usercode;
114
-    }
115
-
116
-    /**
117
-     * @return string
118
-     */
119
-    public function getBotCode()
120
-    {
121
-        return $this->botcode;
122
-    }
123
-
124
-    /**
125
-     * @param string $botcode
126
-     */
127
-    public function setBotCode($botcode)
128
-    {
129
-        $this->botcode = $botcode;
130
-    }
131
-
132
-    /**
133
-     * @return User[]
134
-     */
135
-    public function getUsersUsingTemplate()
136
-    {
137
-        if ($this->usageCache === null) {
138
-            $statement = $this->dbObject->prepare("SELECT * FROM user WHERE welcome_template = :id;");
139
-
140
-            $statement->execute(array(":id" => $this->id));
141
-
142
-            $result = array();
143
-            /** @var WelcomeTemplate $v */
144
-            foreach ($statement->fetchAll(PDO::FETCH_CLASS, User::class) as $v) {
145
-                $v->setDatabase($this->dbObject);
146
-                $result[] = $v;
147
-            }
148
-
149
-            $this->usageCache = $result;
150
-        }
151
-
152
-        return $this->usageCache;
153
-    }
154
-
155
-    /**
156
-     * Deletes the object from the database
157
-     */
158
-    public function delete()
159
-    {
160
-        if ($this->id === null) {
161
-            // wtf?
162
-            return;
163
-        }
164
-
165
-        $deleteQuery = "UPDATE welcometemplate SET deleted = 1 WHERE id = :id AND updateversion = :updateversion;";
166
-        $statement = $this->dbObject->prepare($deleteQuery);
167
-
168
-        $statement->bindValue(":id", $this->id);
169
-        $statement->bindValue(":updateversion", $this->updateversion);
170
-        $statement->execute();
171
-
172
-        if ($statement->rowCount() !== 1) {
173
-            throw new OptimisticLockFailedException();
174
-        }
175
-    }
176
-
177
-    /**
178
-     * @return bool
179
-     */
180
-    public function isDeleted()
181
-    {
182
-        return ((int)$this->deleted) === 1;
183
-    }
80
+			);
81
+
82
+			$statement->bindValue(':id', $this->id);
83
+			$statement->bindValue(':updateversion', $this->updateversion);
84
+
85
+			$statement->bindValue(':usercode', $this->usercode);
86
+			$statement->bindValue(':botcode', $this->botcode);
87
+
88
+			if (!$statement->execute()) {
89
+				throw new Exception($statement->errorInfo());
90
+			}
91
+
92
+			if ($statement->rowCount() !== 1) {
93
+				throw new OptimisticLockFailedException();
94
+			}
95
+
96
+			$this->updateversion++;
97
+		}
98
+	}
99
+
100
+	/**
101
+	 * @return string
102
+	 */
103
+	public function getUserCode()
104
+	{
105
+		return $this->usercode;
106
+	}
107
+
108
+	/**
109
+	 * @param string $usercode
110
+	 */
111
+	public function setUserCode($usercode)
112
+	{
113
+		$this->usercode = $usercode;
114
+	}
115
+
116
+	/**
117
+	 * @return string
118
+	 */
119
+	public function getBotCode()
120
+	{
121
+		return $this->botcode;
122
+	}
123
+
124
+	/**
125
+	 * @param string $botcode
126
+	 */
127
+	public function setBotCode($botcode)
128
+	{
129
+		$this->botcode = $botcode;
130
+	}
131
+
132
+	/**
133
+	 * @return User[]
134
+	 */
135
+	public function getUsersUsingTemplate()
136
+	{
137
+		if ($this->usageCache === null) {
138
+			$statement = $this->dbObject->prepare("SELECT * FROM user WHERE welcome_template = :id;");
139
+
140
+			$statement->execute(array(":id" => $this->id));
141
+
142
+			$result = array();
143
+			/** @var WelcomeTemplate $v */
144
+			foreach ($statement->fetchAll(PDO::FETCH_CLASS, User::class) as $v) {
145
+				$v->setDatabase($this->dbObject);
146
+				$result[] = $v;
147
+			}
148
+
149
+			$this->usageCache = $result;
150
+		}
151
+
152
+		return $this->usageCache;
153
+	}
154
+
155
+	/**
156
+	 * Deletes the object from the database
157
+	 */
158
+	public function delete()
159
+	{
160
+		if ($this->id === null) {
161
+			// wtf?
162
+			return;
163
+		}
164
+
165
+		$deleteQuery = "UPDATE welcometemplate SET deleted = 1 WHERE id = :id AND updateversion = :updateversion;";
166
+		$statement = $this->dbObject->prepare($deleteQuery);
167
+
168
+		$statement->bindValue(":id", $this->id);
169
+		$statement->bindValue(":updateversion", $this->updateversion);
170
+		$statement->execute();
171
+
172
+		if ($statement->rowCount() !== 1) {
173
+			throw new OptimisticLockFailedException();
174
+		}
175
+	}
176
+
177
+	/**
178
+	 * @return bool
179
+	 */
180
+	public function isDeleted()
181
+	{
182
+		return ((int)$this->deleted) === 1;
183
+	}
184 184
 }
Please login to merge, or discard this patch.
includes/DataObjects/EmailTemplate.php 1 patch
Indentation   +290 added lines, -290 removed lines patch added patch discarded remove patch
@@ -21,176 +21,176 @@  discard block
 block discarded – undo
21 21
  */
22 22
 class EmailTemplate extends DataObject
23 23
 {
24
-    /** Note, also used in template-table.tpl */
25
-    const CREATED = "created";
26
-    /** Note, also used in template-table.tpl */
27
-    const NOT_CREATED = "not created";
28
-    /** Note, also used in template-table.tpl */
29
-    const NONE = null;
30
-    /** @var string the name of the template */
31
-    private $name;
32
-    private $text;
33
-    /** @var string|null */
34
-    private $jsquestion;
35
-    private $active = 1;
36
-    private $preloadonly = 0;
37
-    private $defaultaction = self::NOT_CREATED;
38
-
39
-    /**
40
-     * Gets active non-preload templates
41
-     *
42
-     * @param string      $defaultAction Default action to take (EmailTemplate::CREATED or EmailTemplate::NOT_CREATED)
43
-     * @param PdoDatabase $database
44
-     *
45
-     * @return array|false
46
-     */
47
-    public static function getActiveTemplates($defaultAction, PdoDatabase $database)
48
-    {
49
-        global $createdid;
50
-
51
-        $statement = $database->prepare(<<<SQL
24
+	/** Note, also used in template-table.tpl */
25
+	const CREATED = "created";
26
+	/** Note, also used in template-table.tpl */
27
+	const NOT_CREATED = "not created";
28
+	/** Note, also used in template-table.tpl */
29
+	const NONE = null;
30
+	/** @var string the name of the template */
31
+	private $name;
32
+	private $text;
33
+	/** @var string|null */
34
+	private $jsquestion;
35
+	private $active = 1;
36
+	private $preloadonly = 0;
37
+	private $defaultaction = self::NOT_CREATED;
38
+
39
+	/**
40
+	 * Gets active non-preload templates
41
+	 *
42
+	 * @param string      $defaultAction Default action to take (EmailTemplate::CREATED or EmailTemplate::NOT_CREATED)
43
+	 * @param PdoDatabase $database
44
+	 *
45
+	 * @return array|false
46
+	 */
47
+	public static function getActiveTemplates($defaultAction, PdoDatabase $database)
48
+	{
49
+		global $createdid;
50
+
51
+		$statement = $database->prepare(<<<SQL
52 52
 SELECT * FROM `emailtemplate`
53 53
 WHERE defaultaction = :forcreated AND active = 1 AND preloadonly = 0 AND id != :createdid;
54 54
 SQL
55
-        );
56
-        $statement->bindValue(":createdid", $createdid);
57
-        $statement->bindValue(":forcreated", $defaultAction);
58
-
59
-        $statement->execute();
60
-
61
-        $resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
62
-
63
-        /** @var EmailTemplate $t */
64
-        foreach ($resultObject as $t) {
65
-            $t->setDatabase($database);
66
-        }
67
-
68
-        return $resultObject;
69
-    }
70
-
71
-    /**
72
-     * Gets active non-preload and preload templates, optionally filtered by the default action.
73
-     *
74
-     * @param null|bool|string $defaultAction Default action to take (EmailTemplate::CREATED,
75
-     *                                        EmailTemplate::NOT_CREATED, or EmailTemplate::NONE), or optionally null to
76
-     *                                        just get everything.
77
-     * @param PdoDatabase      $database
78
-     *
79
-     * @return array|false
80
-     */
81
-    public static function getAllActiveTemplates($defaultAction, PdoDatabase $database)
82
-    {
83
-        $statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE defaultaction = :forcreated AND active = 1;");
84
-
85
-        if ($defaultAction === false) {
86
-            $statement = $database->prepare(
87
-                "SELECT * FROM `emailtemplate` WHERE defaultaction NOT IN ('created', 'not created') AND active = 1;");
88
-        }
89
-
90
-        if ($defaultAction === null) {
91
-            $statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE  active = 1;");
92
-        }
93
-
94
-        $statement->bindValue(":forcreated", $defaultAction);
95
-
96
-        $statement->execute();
97
-
98
-        $resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
99
-
100
-        /** @var EmailTemplate $t */
101
-        foreach ($resultObject as $t) {
102
-            $t->setDatabase($database);
103
-        }
104
-
105
-        return $resultObject;
106
-    }
107
-
108
-    /**
109
-     * Gets all the unactive templates
110
-     *
111
-     * @param PdoDatabase $database
112
-     *
113
-     * @return array
114
-     */
115
-    public static function getAllInactiveTemplates(PdoDatabase $database)
116
-    {
117
-        $statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE  active = 0;");
118
-        $statement->execute();
119
-
120
-        $resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
121
-
122
-        /** @var EmailTemplate $t */
123
-        foreach ($resultObject as $t) {
124
-            $t->setDatabase($database);
125
-        }
126
-
127
-        return $resultObject;
128
-    }
129
-
130
-    /**
131
-     * @param string      $name
132
-     * @param PdoDatabase $database
133
-     *
134
-     * @return EmailTemplate|false
135
-     */
136
-    public static function getByName($name, PdoDatabase $database)
137
-    {
138
-        $statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE name = :name LIMIT 1;");
139
-        $statement->bindValue(":name", $name);
140
-
141
-        $statement->execute();
142
-
143
-        $resultObject = $statement->fetchObject(get_called_class());
144
-
145
-        if ($resultObject != false) {
146
-            $resultObject->setDatabase($database);
147
-        }
148
-
149
-        return $resultObject;
150
-    }
151
-
152
-    /**
153
-     * @return EmailTemplate
154
-     */
155
-    public static function getDroppedTemplate()
156
-    {
157
-        $t = new EmailTemplate();
158
-        $t->id = 0;
159
-        $t->active = 1;
160
-        $t->name = 'Dropped';
161
-
162
-        return $t;
163
-    }
164
-
165
-    /**
166
-     * @throws Exception
167
-     */
168
-    public function save()
169
-    {
170
-        if ($this->isNew()) {
171
-            // insert
172
-            $statement = $this->dbObject->prepare(<<<SQL
55
+		);
56
+		$statement->bindValue(":createdid", $createdid);
57
+		$statement->bindValue(":forcreated", $defaultAction);
58
+
59
+		$statement->execute();
60
+
61
+		$resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
62
+
63
+		/** @var EmailTemplate $t */
64
+		foreach ($resultObject as $t) {
65
+			$t->setDatabase($database);
66
+		}
67
+
68
+		return $resultObject;
69
+	}
70
+
71
+	/**
72
+	 * Gets active non-preload and preload templates, optionally filtered by the default action.
73
+	 *
74
+	 * @param null|bool|string $defaultAction Default action to take (EmailTemplate::CREATED,
75
+	 *                                        EmailTemplate::NOT_CREATED, or EmailTemplate::NONE), or optionally null to
76
+	 *                                        just get everything.
77
+	 * @param PdoDatabase      $database
78
+	 *
79
+	 * @return array|false
80
+	 */
81
+	public static function getAllActiveTemplates($defaultAction, PdoDatabase $database)
82
+	{
83
+		$statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE defaultaction = :forcreated AND active = 1;");
84
+
85
+		if ($defaultAction === false) {
86
+			$statement = $database->prepare(
87
+				"SELECT * FROM `emailtemplate` WHERE defaultaction NOT IN ('created', 'not created') AND active = 1;");
88
+		}
89
+
90
+		if ($defaultAction === null) {
91
+			$statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE  active = 1;");
92
+		}
93
+
94
+		$statement->bindValue(":forcreated", $defaultAction);
95
+
96
+		$statement->execute();
97
+
98
+		$resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
99
+
100
+		/** @var EmailTemplate $t */
101
+		foreach ($resultObject as $t) {
102
+			$t->setDatabase($database);
103
+		}
104
+
105
+		return $resultObject;
106
+	}
107
+
108
+	/**
109
+	 * Gets all the unactive templates
110
+	 *
111
+	 * @param PdoDatabase $database
112
+	 *
113
+	 * @return array
114
+	 */
115
+	public static function getAllInactiveTemplates(PdoDatabase $database)
116
+	{
117
+		$statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE  active = 0;");
118
+		$statement->execute();
119
+
120
+		$resultObject = $statement->fetchAll(PDO::FETCH_CLASS, get_called_class());
121
+
122
+		/** @var EmailTemplate $t */
123
+		foreach ($resultObject as $t) {
124
+			$t->setDatabase($database);
125
+		}
126
+
127
+		return $resultObject;
128
+	}
129
+
130
+	/**
131
+	 * @param string      $name
132
+	 * @param PdoDatabase $database
133
+	 *
134
+	 * @return EmailTemplate|false
135
+	 */
136
+	public static function getByName($name, PdoDatabase $database)
137
+	{
138
+		$statement = $database->prepare("SELECT * FROM `emailtemplate` WHERE name = :name LIMIT 1;");
139
+		$statement->bindValue(":name", $name);
140
+
141
+		$statement->execute();
142
+
143
+		$resultObject = $statement->fetchObject(get_called_class());
144
+
145
+		if ($resultObject != false) {
146
+			$resultObject->setDatabase($database);
147
+		}
148
+
149
+		return $resultObject;
150
+	}
151
+
152
+	/**
153
+	 * @return EmailTemplate
154
+	 */
155
+	public static function getDroppedTemplate()
156
+	{
157
+		$t = new EmailTemplate();
158
+		$t->id = 0;
159
+		$t->active = 1;
160
+		$t->name = 'Dropped';
161
+
162
+		return $t;
163
+	}
164
+
165
+	/**
166
+	 * @throws Exception
167
+	 */
168
+	public function save()
169
+	{
170
+		if ($this->isNew()) {
171
+			// insert
172
+			$statement = $this->dbObject->prepare(<<<SQL
173 173
 INSERT INTO `emailtemplate` (name, text, jsquestion, defaultaction, active, preloadonly)
174 174
 VALUES (:name, :text, :jsquestion, :defaultaction, :active, :preloadonly);
175 175
 SQL
176
-            );
177
-            $statement->bindValue(":name", $this->name);
178
-            $statement->bindValue(":text", $this->text);
179
-            $statement->bindValue(":jsquestion", $this->jsquestion);
180
-            $statement->bindValue(":defaultaction", $this->defaultaction);
181
-            $statement->bindValue(":active", $this->active);
182
-            $statement->bindValue(":preloadonly", $this->preloadonly);
183
-
184
-            if ($statement->execute()) {
185
-                $this->id = (int)$this->dbObject->lastInsertId();
186
-            }
187
-            else {
188
-                throw new Exception($statement->errorInfo());
189
-            }
190
-        }
191
-        else {
192
-            // update
193
-            $statement = $this->dbObject->prepare(<<<SQL
176
+			);
177
+			$statement->bindValue(":name", $this->name);
178
+			$statement->bindValue(":text", $this->text);
179
+			$statement->bindValue(":jsquestion", $this->jsquestion);
180
+			$statement->bindValue(":defaultaction", $this->defaultaction);
181
+			$statement->bindValue(":active", $this->active);
182
+			$statement->bindValue(":preloadonly", $this->preloadonly);
183
+
184
+			if ($statement->execute()) {
185
+				$this->id = (int)$this->dbObject->lastInsertId();
186
+			}
187
+			else {
188
+				throw new Exception($statement->errorInfo());
189
+			}
190
+		}
191
+		else {
192
+			// update
193
+			$statement = $this->dbObject->prepare(<<<SQL
194 194
 UPDATE `emailtemplate`
195 195
 SET name = :name,
196 196
 	text = :text,
@@ -201,130 +201,130 @@  discard block
 block discarded – undo
201 201
 	updateversion = updateversion + 1
202 202
 WHERE id = :id AND updateversion = :updateversion;
203 203
 SQL
204
-            );
205
-            $statement->bindValue(':id', $this->id);
206
-            $statement->bindValue(':updateversion', $this->updateversion);
207
-
208
-            $statement->bindValue(':name', $this->name);
209
-            $statement->bindValue(":text", $this->text);
210
-            $statement->bindValue(":jsquestion", $this->jsquestion);
211
-            $statement->bindValue(":defaultaction", $this->defaultaction);
212
-            $statement->bindValue(":active", $this->active);
213
-            $statement->bindValue(":preloadonly", $this->preloadonly);
214
-
215
-            if (!$statement->execute()) {
216
-                throw new Exception($statement->errorInfo());
217
-            }
218
-
219
-            if ($statement->rowCount() !== 1) {
220
-                throw new OptimisticLockFailedException();
221
-            }
222
-
223
-            $this->updateversion++;
224
-        }
225
-    }
226
-
227
-    /**
228
-     * Override delete() from DataObject
229
-     */
230
-    public function delete()
231
-    {
232
-        throw new Exception("You shouldn't be doing that, you'll break logs.");
233
-    }
234
-
235
-    /**
236
-     * @return string
237
-     */
238
-    public function getName()
239
-    {
240
-        return $this->name;
241
-    }
242
-
243
-    /**
244
-     * @param string $name
245
-     */
246
-    public function setName($name)
247
-    {
248
-        $this->name = $name;
249
-    }
250
-
251
-    /**
252
-     * @return string
253
-     */
254
-    public function getText()
255
-    {
256
-        return $this->text;
257
-    }
258
-
259
-    /**
260
-     * @param string $text
261
-     */
262
-    public function setText($text)
263
-    {
264
-        $this->text = $text;
265
-    }
266
-
267
-    /**
268
-     * @return string|null
269
-     */
270
-    public function getJsquestion()
271
-    {
272
-        return $this->jsquestion;
273
-    }
274
-
275
-    /**
276
-     * @param string $jsquestion
277
-     */
278
-    public function setJsquestion($jsquestion)
279
-    {
280
-        $this->jsquestion = $jsquestion;
281
-    }
282
-
283
-    /**
284
-     * @return string
285
-     */
286
-    public function getDefaultAction()
287
-    {
288
-        return $this->defaultaction;
289
-    }
290
-
291
-    /**
292
-     * @param string $defaultAction
293
-     */
294
-    public function setDefaultAction($defaultAction)
295
-    {
296
-        $this->defaultaction = $defaultAction;
297
-    }
298
-
299
-    /**
300
-     * @return bool
301
-     */
302
-    public function getActive()
303
-    {
304
-        return $this->active == 1;
305
-    }
306
-
307
-    /**
308
-     * @param bool $active
309
-     */
310
-    public function setActive($active)
311
-    {
312
-        $this->active = $active ? 1 : 0;
313
-    }
314
-
315
-    /**
316
-     * @return bool
317
-     */
318
-    public function getPreloadOnly()
319
-    {
320
-        return $this->preloadonly == 1;
321
-    }
322
-
323
-    /**
324
-     * @param bool $preloadonly
325
-     */
326
-    public function setPreloadOnly($preloadonly)
327
-    {
328
-        $this->preloadonly = $preloadonly ? 1 : 0;
329
-    }
204
+			);
205
+			$statement->bindValue(':id', $this->id);
206
+			$statement->bindValue(':updateversion', $this->updateversion);
207
+
208
+			$statement->bindValue(':name', $this->name);
209
+			$statement->bindValue(":text", $this->text);
210
+			$statement->bindValue(":jsquestion", $this->jsquestion);
211
+			$statement->bindValue(":defaultaction", $this->defaultaction);
212
+			$statement->bindValue(":active", $this->active);
213
+			$statement->bindValue(":preloadonly", $this->preloadonly);
214
+
215
+			if (!$statement->execute()) {
216
+				throw new Exception($statement->errorInfo());
217
+			}
218
+
219
+			if ($statement->rowCount() !== 1) {
220
+				throw new OptimisticLockFailedException();
221
+			}
222
+
223
+			$this->updateversion++;
224
+		}
225
+	}
226
+
227
+	/**
228
+	 * Override delete() from DataObject
229
+	 */
230
+	public function delete()
231
+	{
232
+		throw new Exception("You shouldn't be doing that, you'll break logs.");
233
+	}
234
+
235
+	/**
236
+	 * @return string
237
+	 */
238
+	public function getName()
239
+	{
240
+		return $this->name;
241
+	}
242
+
243
+	/**
244
+	 * @param string $name
245
+	 */
246
+	public function setName($name)
247
+	{
248
+		$this->name = $name;
249
+	}
250
+
251
+	/**
252
+	 * @return string
253
+	 */
254
+	public function getText()
255
+	{
256
+		return $this->text;
257
+	}
258
+
259
+	/**
260
+	 * @param string $text
261
+	 */
262
+	public function setText($text)
263
+	{
264
+		$this->text = $text;
265
+	}
266
+
267
+	/**
268
+	 * @return string|null
269
+	 */
270
+	public function getJsquestion()
271
+	{
272
+		return $this->jsquestion;
273
+	}
274
+
275
+	/**
276
+	 * @param string $jsquestion
277
+	 */
278
+	public function setJsquestion($jsquestion)
279
+	{
280
+		$this->jsquestion = $jsquestion;
281
+	}
282
+
283
+	/**
284
+	 * @return string
285
+	 */
286
+	public function getDefaultAction()
287
+	{
288
+		return $this->defaultaction;
289
+	}
290
+
291
+	/**
292
+	 * @param string $defaultAction
293
+	 */
294
+	public function setDefaultAction($defaultAction)
295
+	{
296
+		$this->defaultaction = $defaultAction;
297
+	}
298
+
299
+	/**
300
+	 * @return bool
301
+	 */
302
+	public function getActive()
303
+	{
304
+		return $this->active == 1;
305
+	}
306
+
307
+	/**
308
+	 * @param bool $active
309
+	 */
310
+	public function setActive($active)
311
+	{
312
+		$this->active = $active ? 1 : 0;
313
+	}
314
+
315
+	/**
316
+	 * @return bool
317
+	 */
318
+	public function getPreloadOnly()
319
+	{
320
+		return $this->preloadonly == 1;
321
+	}
322
+
323
+	/**
324
+	 * @param bool $preloadonly
325
+	 */
326
+	public function setPreloadOnly($preloadonly)
327
+	{
328
+		$this->preloadonly = $preloadonly ? 1 : 0;
329
+	}
330 330
 }
Please login to merge, or discard this patch.
includes/DataObjects/Comment.php 1 patch
Indentation   +157 added lines, -157 removed lines patch added patch discarded remove patch
@@ -20,171 +20,171 @@
 block discarded – undo
20 20
  */
21 21
 class Comment extends DataObject
22 22
 {
23
-    private $time;
24
-    private $user;
25
-    private $comment;
26
-    private $visibility = "user";
27
-    private $request;
28
-
29
-    /**
30
-     * Retrieves all comments for a request, optionally filtered
31
-     *
32
-     * @param integer     $id      Request ID to search by
33
-     * @param PdoDatabase $database
34
-     * @param bool        $showAll True to show all comments, False to show only unprotected comments, and protected
35
-     *                             comments visible to $userId
36
-     * @param null|int    $userId  User to filter by
37
-     *
38
-     * @return Comment[]
39
-     */
40
-    public static function getForRequest($id, PdoDatabase $database, $showAll = false, $userId = null)
41
-    {
42
-        if ($showAll) {
43
-            $statement = $database->prepare('SELECT * FROM comment WHERE request = :target;');
44
-        }
45
-        else {
46
-            $statement = $database->prepare(<<<SQL
23
+	private $time;
24
+	private $user;
25
+	private $comment;
26
+	private $visibility = "user";
27
+	private $request;
28
+
29
+	/**
30
+	 * Retrieves all comments for a request, optionally filtered
31
+	 *
32
+	 * @param integer     $id      Request ID to search by
33
+	 * @param PdoDatabase $database
34
+	 * @param bool        $showAll True to show all comments, False to show only unprotected comments, and protected
35
+	 *                             comments visible to $userId
36
+	 * @param null|int    $userId  User to filter by
37
+	 *
38
+	 * @return Comment[]
39
+	 */
40
+	public static function getForRequest($id, PdoDatabase $database, $showAll = false, $userId = null)
41
+	{
42
+		if ($showAll) {
43
+			$statement = $database->prepare('SELECT * FROM comment WHERE request = :target;');
44
+		}
45
+		else {
46
+			$statement = $database->prepare(<<<SQL
47 47
 SELECT * FROM comment
48 48
 WHERE request = :target AND (visibility = 'user' OR user = :userid);
49 49
 SQL
50
-            );
51
-            $statement->bindValue(':userid', $userId);
52
-        }
53
-
54
-        $statement->bindValue(':target', $id);
55
-
56
-        $statement->execute();
57
-
58
-        $result = array();
59
-        /** @var Comment $v */
60
-        foreach ($statement->fetchAll(PDO::FETCH_CLASS, get_called_class()) as $v) {
61
-            $v->setDatabase($database);
62
-            $result[] = $v;
63
-        }
64
-
65
-        return $result;
66
-    }
67
-
68
-    /**
69
-     * @throws Exception
70
-     */
71
-    public function save()
72
-    {
73
-        if ($this->isNew()) {
74
-            // insert
75
-            $statement = $this->dbObject->prepare(<<<SQL
50
+			);
51
+			$statement->bindValue(':userid', $userId);
52
+		}
53
+
54
+		$statement->bindValue(':target', $id);
55
+
56
+		$statement->execute();
57
+
58
+		$result = array();
59
+		/** @var Comment $v */
60
+		foreach ($statement->fetchAll(PDO::FETCH_CLASS, get_called_class()) as $v) {
61
+			$v->setDatabase($database);
62
+			$result[] = $v;
63
+		}
64
+
65
+		return $result;
66
+	}
67
+
68
+	/**
69
+	 * @throws Exception
70
+	 */
71
+	public function save()
72
+	{
73
+		if ($this->isNew()) {
74
+			// insert
75
+			$statement = $this->dbObject->prepare(<<<SQL
76 76
 INSERT INTO comment ( time, user, comment, visibility, request )
77 77
 VALUES ( CURRENT_TIMESTAMP(), :user, :comment, :visibility, :request );
78 78
 SQL
79
-            );
80
-            $statement->bindValue(":user", $this->user);
81
-            $statement->bindValue(":comment", $this->comment);
82
-            $statement->bindValue(":visibility", $this->visibility);
83
-            $statement->bindValue(":request", $this->request);
84
-
85
-            if ($statement->execute()) {
86
-                $this->id = (int)$this->dbObject->lastInsertId();
87
-            }
88
-            else {
89
-                throw new Exception($statement->errorInfo());
90
-            }
91
-        }
92
-        else {
93
-            // update
94
-            $statement = $this->dbObject->prepare(<<<SQL
79
+			);
80
+			$statement->bindValue(":user", $this->user);
81
+			$statement->bindValue(":comment", $this->comment);
82
+			$statement->bindValue(":visibility", $this->visibility);
83
+			$statement->bindValue(":request", $this->request);
84
+
85
+			if ($statement->execute()) {
86
+				$this->id = (int)$this->dbObject->lastInsertId();
87
+			}
88
+			else {
89
+				throw new Exception($statement->errorInfo());
90
+			}
91
+		}
92
+		else {
93
+			// update
94
+			$statement = $this->dbObject->prepare(<<<SQL
95 95
 UPDATE comment
96 96
 SET comment = :comment, visibility = :visibility, updateversion = updateversion + 1
97 97
 WHERE id = :id AND updateversion = :updateversion;
98 98
 SQL
99
-            );
100
-
101
-            $statement->bindValue(':id', $this->id);
102
-            $statement->bindValue(':updateversion', $this->updateversion);
103
-
104
-            $statement->bindValue(':comment', $this->comment);
105
-            $statement->bindValue(':visibility', $this->visibility);
106
-
107
-            if (!$statement->execute()) {
108
-                throw new Exception($statement->errorInfo());
109
-            }
110
-
111
-            if ($statement->rowCount() !== 1) {
112
-                throw new OptimisticLockFailedException();
113
-            }
114
-
115
-            $this->updateversion++;
116
-        }
117
-    }
118
-
119
-    /**
120
-     * @return DateTimeImmutable
121
-     */
122
-    public function getTime()
123
-    {
124
-        return new DateTimeImmutable($this->time);
125
-    }
126
-
127
-    /**
128
-     * @return int
129
-     */
130
-    public function getUser()
131
-    {
132
-        return $this->user;
133
-    }
134
-
135
-    /**
136
-     * @param int $user
137
-     */
138
-    public function setUser($user)
139
-    {
140
-        $this->user = $user;
141
-    }
142
-
143
-    /**
144
-     * @return string
145
-     */
146
-    public function getComment()
147
-    {
148
-        return $this->comment;
149
-    }
150
-
151
-    /**
152
-     * @param string $comment
153
-     */
154
-    public function setComment($comment)
155
-    {
156
-        $this->comment = $comment;
157
-    }
158
-
159
-    /**
160
-     * @return string
161
-     */
162
-    public function getVisibility()
163
-    {
164
-        return $this->visibility;
165
-    }
166
-
167
-    /**
168
-     * @param string $visibility
169
-     */
170
-    public function setVisibility($visibility)
171
-    {
172
-        $this->visibility = $visibility;
173
-    }
174
-
175
-    /**
176
-     * @return int
177
-     */
178
-    public function getRequest()
179
-    {
180
-        return $this->request;
181
-    }
182
-
183
-    /**
184
-     * @param int $request
185
-     */
186
-    public function setRequest($request)
187
-    {
188
-        $this->request = $request;
189
-    }
99
+			);
100
+
101
+			$statement->bindValue(':id', $this->id);
102
+			$statement->bindValue(':updateversion', $this->updateversion);
103
+
104
+			$statement->bindValue(':comment', $this->comment);
105
+			$statement->bindValue(':visibility', $this->visibility);
106
+
107
+			if (!$statement->execute()) {
108
+				throw new Exception($statement->errorInfo());
109
+			}
110
+
111
+			if ($statement->rowCount() !== 1) {
112
+				throw new OptimisticLockFailedException();
113
+			}
114
+
115
+			$this->updateversion++;
116
+		}
117
+	}
118
+
119
+	/**
120
+	 * @return DateTimeImmutable
121
+	 */
122
+	public function getTime()
123
+	{
124
+		return new DateTimeImmutable($this->time);
125
+	}
126
+
127
+	/**
128
+	 * @return int
129
+	 */
130
+	public function getUser()
131
+	{
132
+		return $this->user;
133
+	}
134
+
135
+	/**
136
+	 * @param int $user
137
+	 */
138
+	public function setUser($user)
139
+	{
140
+		$this->user = $user;
141
+	}
142
+
143
+	/**
144
+	 * @return string
145
+	 */
146
+	public function getComment()
147
+	{
148
+		return $this->comment;
149
+	}
150
+
151
+	/**
152
+	 * @param string $comment
153
+	 */
154
+	public function setComment($comment)
155
+	{
156
+		$this->comment = $comment;
157
+	}
158
+
159
+	/**
160
+	 * @return string
161
+	 */
162
+	public function getVisibility()
163
+	{
164
+		return $this->visibility;
165
+	}
166
+
167
+	/**
168
+	 * @param string $visibility
169
+	 */
170
+	public function setVisibility($visibility)
171
+	{
172
+		$this->visibility = $visibility;
173
+	}
174
+
175
+	/**
176
+	 * @return int
177
+	 */
178
+	public function getRequest()
179
+	{
180
+		return $this->request;
181
+	}
182
+
183
+	/**
184
+	 * @param int $request
185
+	 */
186
+	public function setRequest($request)
187
+	{
188
+		$this->request = $request;
189
+	}
190 190
 }
Please login to merge, or discard this patch.
includes/DataObjects/Ban.php 1 patch
Indentation   +239 added lines, -239 removed lines patch added patch discarded remove patch
@@ -19,267 +19,267 @@
 block discarded – undo
19 19
  */
20 20
 class Ban extends DataObject
21 21
 {
22
-    private $type;
23
-    private $target;
24
-    private $user;
25
-    private $reason;
26
-    private $date;
27
-    private $duration;
28
-    private $active;
29
-
30
-    /**
31
-     * Gets all active bans, filtered by the optional target.
32
-     *
33
-     * @param string|null $target
34
-     * @param PdoDatabase $database
35
-     *
36
-     * @return Ban[]
37
-     */
38
-    public static function getActiveBans($target, PdoDatabase $database)
39
-    {
40
-        if ($target !== null) {
41
-            $query = <<<SQL
22
+	private $type;
23
+	private $target;
24
+	private $user;
25
+	private $reason;
26
+	private $date;
27
+	private $duration;
28
+	private $active;
29
+
30
+	/**
31
+	 * Gets all active bans, filtered by the optional target.
32
+	 *
33
+	 * @param string|null $target
34
+	 * @param PdoDatabase $database
35
+	 *
36
+	 * @return Ban[]
37
+	 */
38
+	public static function getActiveBans($target, PdoDatabase $database)
39
+	{
40
+		if ($target !== null) {
41
+			$query = <<<SQL
42 42
 SELECT * FROM ban WHERE target = :target AND (duration > UNIX_TIMESTAMP() OR duration = -1) AND active = 1;
43 43
 SQL;
44
-            $statement = $database->prepare($query);
45
-            $statement->bindValue(":target", $target);
46
-        }
47
-        else {
48
-            $query = "SELECT * FROM ban WHERE (duration > UNIX_TIMESTAMP() OR duration = -1) AND active = 1;";
49
-            $statement = $database->prepare($query);
50
-        }
51
-
52
-        $statement->execute();
53
-
54
-        $result = array();
55
-
56
-        /** @var Ban $v */
57
-        foreach ($statement->fetchAll(PDO::FETCH_CLASS, get_called_class()) as $v) {
58
-            $v->setDatabase($database);
59
-            $result[] = $v;
60
-        }
61
-
62
-        return $result;
63
-    }
64
-
65
-    /**
66
-     * Gets a ban by it's ID if it's currently active.
67
-     *
68
-     * @param     integer $id
69
-     * @param PdoDatabase $database
70
-     *
71
-     * @return Ban
72
-     */
73
-    public static function getActiveId($id, PdoDatabase $database)
74
-    {
75
-        $statement = $database->prepare(<<<SQL
44
+			$statement = $database->prepare($query);
45
+			$statement->bindValue(":target", $target);
46
+		}
47
+		else {
48
+			$query = "SELECT * FROM ban WHERE (duration > UNIX_TIMESTAMP() OR duration = -1) AND active = 1;";
49
+			$statement = $database->prepare($query);
50
+		}
51
+
52
+		$statement->execute();
53
+
54
+		$result = array();
55
+
56
+		/** @var Ban $v */
57
+		foreach ($statement->fetchAll(PDO::FETCH_CLASS, get_called_class()) as $v) {
58
+			$v->setDatabase($database);
59
+			$result[] = $v;
60
+		}
61
+
62
+		return $result;
63
+	}
64
+
65
+	/**
66
+	 * Gets a ban by it's ID if it's currently active.
67
+	 *
68
+	 * @param     integer $id
69
+	 * @param PdoDatabase $database
70
+	 *
71
+	 * @return Ban
72
+	 */
73
+	public static function getActiveId($id, PdoDatabase $database)
74
+	{
75
+		$statement = $database->prepare(<<<SQL
76 76
 SELECT *
77 77
 FROM ban
78 78
 WHERE id = :id  AND (duration > UNIX_TIMESTAMP() OR duration = -1) AND active = 1;
79 79
 SQL
80
-        );
81
-        $statement->bindValue(":id", $id);
82
-
83
-        $statement->execute();
84
-
85
-        $resultObject = $statement->fetchObject(get_called_class());
86
-
87
-        if ($resultObject != false) {
88
-            $resultObject->setDatabase($database);
89
-        }
90
-
91
-        return $resultObject;
92
-    }
93
-
94
-    /**
95
-     * Get all active bans for a target and type.
96
-     *
97
-     * @param string      $target
98
-     * @param string      $type
99
-     * @param PdoDatabase $database
100
-     *
101
-     * @return Ban
102
-     */
103
-    public static function getBanByTarget($target, $type, PdoDatabase $database)
104
-    {
105
-        $query = <<<SQL
80
+		);
81
+		$statement->bindValue(":id", $id);
82
+
83
+		$statement->execute();
84
+
85
+		$resultObject = $statement->fetchObject(get_called_class());
86
+
87
+		if ($resultObject != false) {
88
+			$resultObject->setDatabase($database);
89
+		}
90
+
91
+		return $resultObject;
92
+	}
93
+
94
+	/**
95
+	 * Get all active bans for a target and type.
96
+	 *
97
+	 * @param string      $target
98
+	 * @param string      $type
99
+	 * @param PdoDatabase $database
100
+	 *
101
+	 * @return Ban
102
+	 */
103
+	public static function getBanByTarget($target, $type, PdoDatabase $database)
104
+	{
105
+		$query = <<<SQL
106 106
 SELECT * FROM ban
107 107
 WHERE type = :type
108 108
 	AND target = :target
109 109
 	AND (duration > UNIX_TIMESTAMP() OR duration = -1)
110 110
 	AND active = 1;
111 111
 SQL;
112
-        $statement = $database->prepare($query);
113
-        $statement->bindValue(":target", $target);
114
-        $statement->bindValue(":type", $type);
112
+		$statement = $database->prepare($query);
113
+		$statement->bindValue(":target", $target);
114
+		$statement->bindValue(":type", $type);
115 115
 
116
-        $statement->execute();
116
+		$statement->execute();
117 117
 
118
-        $resultObject = $statement->fetchObject(get_called_class());
118
+		$resultObject = $statement->fetchObject(get_called_class());
119 119
 
120
-        if ($resultObject != false) {
121
-            $resultObject->setDatabase($database);
122
-        }
120
+		if ($resultObject != false) {
121
+			$resultObject->setDatabase($database);
122
+		}
123 123
 
124
-        return $resultObject;
125
-    }
124
+		return $resultObject;
125
+	}
126 126
 
127
-    /**
128
-     * @throws Exception
129
-     */
130
-    public function save()
131
-    {
132
-        if ($this->isNew()) {
133
-            // insert
134
-            $statement = $this->dbObject->prepare(<<<SQL
127
+	/**
128
+	 * @throws Exception
129
+	 */
130
+	public function save()
131
+	{
132
+		if ($this->isNew()) {
133
+			// insert
134
+			$statement = $this->dbObject->prepare(<<<SQL
135 135
 INSERT INTO `ban` (type, target, user, reason, date, duration, active)
136 136
 VALUES (:type, :target, :user, :reason, CURRENT_TIMESTAMP(), :duration, :active);
137 137
 SQL
138
-            );
139
-            $statement->bindValue(":type", $this->type);
140
-            $statement->bindValue(":target", $this->target);
141
-            $statement->bindValue(":user", $this->user);
142
-            $statement->bindValue(":reason", $this->reason);
143
-            $statement->bindValue(":duration", $this->duration);
144
-            $statement->bindValue(":active", $this->active);
145
-
146
-            if ($statement->execute()) {
147
-                $this->id = (int)$this->dbObject->lastInsertId();
148
-            }
149
-            else {
150
-                throw new Exception($statement->errorInfo());
151
-            }
152
-        }
153
-        else {
154
-            // update
155
-            $statement = $this->dbObject->prepare(<<<SQL
138
+			);
139
+			$statement->bindValue(":type", $this->type);
140
+			$statement->bindValue(":target", $this->target);
141
+			$statement->bindValue(":user", $this->user);
142
+			$statement->bindValue(":reason", $this->reason);
143
+			$statement->bindValue(":duration", $this->duration);
144
+			$statement->bindValue(":active", $this->active);
145
+
146
+			if ($statement->execute()) {
147
+				$this->id = (int)$this->dbObject->lastInsertId();
148
+			}
149
+			else {
150
+				throw new Exception($statement->errorInfo());
151
+			}
152
+		}
153
+		else {
154
+			// update
155
+			$statement = $this->dbObject->prepare(<<<SQL
156 156
 UPDATE `ban`
157 157
 SET duration = :duration, active = :active, user = :user, updateversion = updateversion + 1
158 158
 WHERE id = :id AND updateversion = :updateversion;
159 159
 SQL
160
-            );
161
-            $statement->bindValue(':id', $this->id);
162
-            $statement->bindValue(':updateversion', $this->updateversion);
163
-
164
-            $statement->bindValue(':duration', $this->duration);
165
-            $statement->bindValue(':active', $this->active);
166
-            $statement->bindValue(':user', $this->user);
167
-
168
-            if (!$statement->execute()) {
169
-                throw new Exception($statement->errorInfo());
170
-            }
171
-
172
-            if ($statement->rowCount() !== 1) {
173
-                throw new OptimisticLockFailedException();
174
-            }
175
-
176
-            $this->updateversion++;
177
-        }
178
-    }
179
-
180
-    /**
181
-     * @return string
182
-     */
183
-    public function getType()
184
-    {
185
-        return $this->type;
186
-    }
187
-
188
-    /**
189
-     * @param string $type
190
-     */
191
-    public function setType($type)
192
-    {
193
-        $this->type = $type;
194
-    }
195
-
196
-    /**
197
-     * @return string
198
-     */
199
-    public function getTarget()
200
-    {
201
-        return $this->target;
202
-    }
203
-
204
-    /**
205
-     * @param string $target
206
-     */
207
-    public function setTarget($target)
208
-    {
209
-        $this->target = $target;
210
-    }
211
-
212
-    /**
213
-     * @return string
214
-     */
215
-    public function getReason()
216
-    {
217
-        return $this->reason;
218
-    }
219
-
220
-    /**
221
-     * @param string $reason
222
-     */
223
-    public function setReason($reason)
224
-    {
225
-        $this->reason = $reason;
226
-    }
227
-
228
-    /**
229
-     * @return mixed
230
-     */
231
-    public function getDate()
232
-    {
233
-        return $this->date;
234
-    }
235
-
236
-    /**
237
-     * @return mixed
238
-     */
239
-    public function getDuration()
240
-    {
241
-        return $this->duration;
242
-    }
243
-
244
-    /**
245
-     * @param mixed $duration
246
-     */
247
-    public function setDuration($duration)
248
-    {
249
-        $this->duration = $duration;
250
-    }
251
-
252
-    /**
253
-     * @return bool
254
-     */
255
-    public function isActive()
256
-    {
257
-        return $this->active == 1;
258
-    }
259
-
260
-    /**
261
-     * @param bool $active
262
-     */
263
-    public function setActive($active)
264
-    {
265
-        $this->active = $active ? 1 : 0;
266
-    }
267
-
268
-    /**
269
-     * @return int
270
-     */
271
-    public function getUser()
272
-    {
273
-        return $this->user;
274
-    }
275
-
276
-    /**
277
-     * @param int $user UserID of user who is setting the ban
278
-     *
279
-     * @throws Exception
280
-     */
281
-    public function setUser($user)
282
-    {
283
-        $this->user = $user;
284
-    }
160
+			);
161
+			$statement->bindValue(':id', $this->id);
162
+			$statement->bindValue(':updateversion', $this->updateversion);
163
+
164
+			$statement->bindValue(':duration', $this->duration);
165
+			$statement->bindValue(':active', $this->active);
166
+			$statement->bindValue(':user', $this->user);
167
+
168
+			if (!$statement->execute()) {
169
+				throw new Exception($statement->errorInfo());
170
+			}
171
+
172
+			if ($statement->rowCount() !== 1) {
173
+				throw new OptimisticLockFailedException();
174
+			}
175
+
176
+			$this->updateversion++;
177
+		}
178
+	}
179
+
180
+	/**
181
+	 * @return string
182
+	 */
183
+	public function getType()
184
+	{
185
+		return $this->type;
186
+	}
187
+
188
+	/**
189
+	 * @param string $type
190
+	 */
191
+	public function setType($type)
192
+	{
193
+		$this->type = $type;
194
+	}
195
+
196
+	/**
197
+	 * @return string
198
+	 */
199
+	public function getTarget()
200
+	{
201
+		return $this->target;
202
+	}
203
+
204
+	/**
205
+	 * @param string $target
206
+	 */
207
+	public function setTarget($target)
208
+	{
209
+		$this->target = $target;
210
+	}
211
+
212
+	/**
213
+	 * @return string
214
+	 */
215
+	public function getReason()
216
+	{
217
+		return $this->reason;
218
+	}
219
+
220
+	/**
221
+	 * @param string $reason
222
+	 */
223
+	public function setReason($reason)
224
+	{
225
+		$this->reason = $reason;
226
+	}
227
+
228
+	/**
229
+	 * @return mixed
230
+	 */
231
+	public function getDate()
232
+	{
233
+		return $this->date;
234
+	}
235
+
236
+	/**
237
+	 * @return mixed
238
+	 */
239
+	public function getDuration()
240
+	{
241
+		return $this->duration;
242
+	}
243
+
244
+	/**
245
+	 * @param mixed $duration
246
+	 */
247
+	public function setDuration($duration)
248
+	{
249
+		$this->duration = $duration;
250
+	}
251
+
252
+	/**
253
+	 * @return bool
254
+	 */
255
+	public function isActive()
256
+	{
257
+		return $this->active == 1;
258
+	}
259
+
260
+	/**
261
+	 * @param bool $active
262
+	 */
263
+	public function setActive($active)
264
+	{
265
+		$this->active = $active ? 1 : 0;
266
+	}
267
+
268
+	/**
269
+	 * @return int
270
+	 */
271
+	public function getUser()
272
+	{
273
+		return $this->user;
274
+	}
275
+
276
+	/**
277
+	 * @param int $user UserID of user who is setting the ban
278
+	 *
279
+	 * @throws Exception
280
+	 */
281
+	public function setUser($user)
282
+	{
283
+		$this->user = $user;
284
+	}
285 285
 }
Please login to merge, or discard this patch.
includes/DataObject.php 1 patch
Indentation   +120 added lines, -120 removed lines patch added patch discarded remove patch
@@ -23,124 +23,124 @@
 block discarded – undo
23 23
  */
24 24
 abstract class DataObject
25 25
 {
26
-    /** @var int ID of the object */
27
-    protected $id = null;
28
-    /** @var int update version for optimistic locking */
29
-    protected $updateversion = 0;
30
-    /**
31
-     * @var PdoDatabase
32
-     */
33
-    protected $dbObject;
34
-
35
-    /**
36
-     * Retrieves a data object by it's row ID.
37
-     *
38
-     * @param int         $id
39
-     * @param PdoDatabase $database
40
-     *
41
-     * @return DataObject|false
42
-     */
43
-    public static function getById($id, PdoDatabase $database)
44
-    {
45
-        $array = explode('\\', get_called_class());
46
-        $realClassName = strtolower(end($array));
47
-
48
-        $statement = $database->prepare("SELECT * FROM {$realClassName} WHERE id = :id LIMIT 1;");
49
-        $statement->bindValue(":id", $id);
50
-
51
-        $statement->execute();
52
-
53
-        $resultObject = $statement->fetchObject(get_called_class());
54
-
55
-        if ($resultObject != false) {
56
-            $resultObject->setDatabase($database);
57
-        }
58
-
59
-        return $resultObject;
60
-    }
61
-
62
-    public function setDatabase(PdoDatabase $db)
63
-    {
64
-        $this->dbObject = $db;
65
-    }
66
-
67
-    /**
68
-     * Gets the database associated with this data object.
69
-     * @return PdoDatabase
70
-     */
71
-    public function getDatabase()
72
-    {
73
-        return $this->dbObject;
74
-    }
75
-
76
-    /**
77
-     * Saves a data object to the database, either updating or inserting a record.
78
-     *
79
-     * @return void
80
-     */
81
-    abstract public function save();
82
-
83
-    /**
84
-     * Retrieves the ID attribute
85
-     */
86
-    public function getId()
87
-    {
88
-        return (int)$this->id;
89
-    }
90
-
91
-    /**
92
-     * Deletes the object from the database
93
-     */
94
-    public function delete()
95
-    {
96
-        if ($this->id === null) {
97
-            // wtf?
98
-            return;
99
-        }
100
-
101
-        $array = explode('\\', get_called_class());
102
-        $realClassName = strtolower(end($array));
103
-
104
-        $deleteQuery = "DELETE FROM {$realClassName} WHERE id = :id AND updateversion = :updateversion;";
105
-        $statement = $this->dbObject->prepare($deleteQuery);
106
-
107
-        $statement->bindValue(":id", $this->id);
108
-        $statement->bindValue(":updateversion", $this->updateversion);
109
-        $statement->execute();
110
-
111
-        if ($statement->rowCount() !== 1) {
112
-            throw new OptimisticLockFailedException();
113
-        }
114
-
115
-        $this->id = null;
116
-    }
117
-
118
-    /**
119
-     * @return int
120
-     */
121
-    public function getUpdateVersion()
122
-    {
123
-        return $this->updateversion;
124
-    }
125
-
126
-    /**
127
-     * Sets the update version.
128
-     *
129
-     * You should never call this to change the value of the update version. You should only call it when passing user
130
-     * input through.
131
-     *
132
-     * @param int $updateVersion
133
-     */
134
-    public function setUpdateVersion($updateVersion)
135
-    {
136
-        $this->updateversion = $updateVersion;
137
-    }
138
-
139
-    /**
140
-     * @return bool
141
-     */
142
-    public function isNew()
143
-    {
144
-        return $this->id === null;
145
-    }
26
+	/** @var int ID of the object */
27
+	protected $id = null;
28
+	/** @var int update version for optimistic locking */
29
+	protected $updateversion = 0;
30
+	/**
31
+	 * @var PdoDatabase
32
+	 */
33
+	protected $dbObject;
34
+
35
+	/**
36
+	 * Retrieves a data object by it's row ID.
37
+	 *
38
+	 * @param int         $id
39
+	 * @param PdoDatabase $database
40
+	 *
41
+	 * @return DataObject|false
42
+	 */
43
+	public static function getById($id, PdoDatabase $database)
44
+	{
45
+		$array = explode('\\', get_called_class());
46
+		$realClassName = strtolower(end($array));
47
+
48
+		$statement = $database->prepare("SELECT * FROM {$realClassName} WHERE id = :id LIMIT 1;");
49
+		$statement->bindValue(":id", $id);
50
+
51
+		$statement->execute();
52
+
53
+		$resultObject = $statement->fetchObject(get_called_class());
54
+
55
+		if ($resultObject != false) {
56
+			$resultObject->setDatabase($database);
57
+		}
58
+
59
+		return $resultObject;
60
+	}
61
+
62
+	public function setDatabase(PdoDatabase $db)
63
+	{
64
+		$this->dbObject = $db;
65
+	}
66
+
67
+	/**
68
+	 * Gets the database associated with this data object.
69
+	 * @return PdoDatabase
70
+	 */
71
+	public function getDatabase()
72
+	{
73
+		return $this->dbObject;
74
+	}
75
+
76
+	/**
77
+	 * Saves a data object to the database, either updating or inserting a record.
78
+	 *
79
+	 * @return void
80
+	 */
81
+	abstract public function save();
82
+
83
+	/**
84
+	 * Retrieves the ID attribute
85
+	 */
86
+	public function getId()
87
+	{
88
+		return (int)$this->id;
89
+	}
90
+
91
+	/**
92
+	 * Deletes the object from the database
93
+	 */
94
+	public function delete()
95
+	{
96
+		if ($this->id === null) {
97
+			// wtf?
98
+			return;
99
+		}
100
+
101
+		$array = explode('\\', get_called_class());
102
+		$realClassName = strtolower(end($array));
103
+
104
+		$deleteQuery = "DELETE FROM {$realClassName} WHERE id = :id AND updateversion = :updateversion;";
105
+		$statement = $this->dbObject->prepare($deleteQuery);
106
+
107
+		$statement->bindValue(":id", $this->id);
108
+		$statement->bindValue(":updateversion", $this->updateversion);
109
+		$statement->execute();
110
+
111
+		if ($statement->rowCount() !== 1) {
112
+			throw new OptimisticLockFailedException();
113
+		}
114
+
115
+		$this->id = null;
116
+	}
117
+
118
+	/**
119
+	 * @return int
120
+	 */
121
+	public function getUpdateVersion()
122
+	{
123
+		return $this->updateversion;
124
+	}
125
+
126
+	/**
127
+	 * Sets the update version.
128
+	 *
129
+	 * You should never call this to change the value of the update version. You should only call it when passing user
130
+	 * input through.
131
+	 *
132
+	 * @param int $updateVersion
133
+	 */
134
+	public function setUpdateVersion($updateVersion)
135
+	{
136
+		$this->updateversion = $updateVersion;
137
+	}
138
+
139
+	/**
140
+	 * @return bool
141
+	 */
142
+	public function isNew()
143
+	{
144
+		return $this->id === null;
145
+	}
146 146
 }
Please login to merge, or discard this patch.
includes/Pages/Statistics/StatsInactiveUsers.php 1 patch
Indentation   +25 added lines, -25 removed lines patch added patch discarded remove patch
@@ -17,31 +17,31 @@
 block discarded – undo
17 17
 
18 18
 class StatsInactiveUsers extends InternalPageBase
19 19
 {
20
-    public function main()
21
-    {
22
-        $this->setHtmlTitle('Inactive Users :: Statistics');
23
-
24
-        $date = new DateTime();
25
-        $date->modify("-90 days");
26
-
27
-        $inactiveUsers = UserSearchHelper::get($this->getDatabase())
28
-            ->byStatus('Active')
29
-            ->lastActiveBefore($date)
30
-            ->getRoleMap($roleMap)
31
-            ->fetch();
32
-
33
-        $this->assign('inactiveUsers', $inactiveUsers);
34
-        $this->assign('roles', $roleMap);
35
-        $this->assign('canSuspend',
36
-            $this->barrierTest('suspend', User::getCurrent($this->getDatabase()), PageUserManagement::class));
37
-
38
-        $immuneUsers = $this->getDatabase()
39
-            ->query("SELECT user FROM userrole WHERE role IN ('toolRoot', 'checkuser') GROUP BY user;")
40
-            ->fetchAll(PDO::FETCH_COLUMN);
20
+	public function main()
21
+	{
22
+		$this->setHtmlTitle('Inactive Users :: Statistics');
23
+
24
+		$date = new DateTime();
25
+		$date->modify("-90 days");
26
+
27
+		$inactiveUsers = UserSearchHelper::get($this->getDatabase())
28
+			->byStatus('Active')
29
+			->lastActiveBefore($date)
30
+			->getRoleMap($roleMap)
31
+			->fetch();
32
+
33
+		$this->assign('inactiveUsers', $inactiveUsers);
34
+		$this->assign('roles', $roleMap);
35
+		$this->assign('canSuspend',
36
+			$this->barrierTest('suspend', User::getCurrent($this->getDatabase()), PageUserManagement::class));
37
+
38
+		$immuneUsers = $this->getDatabase()
39
+			->query("SELECT user FROM userrole WHERE role IN ('toolRoot', 'checkuser') GROUP BY user;")
40
+			->fetchAll(PDO::FETCH_COLUMN);
41 41
         
42
-        $this->assign('immune', array_fill_keys($immuneUsers, true));
42
+		$this->assign('immune', array_fill_keys($immuneUsers, true));
43 43
 
44
-        $this->setTemplate('statistics/inactive-users.tpl');
45
-        $this->assign('statsPageTitle', 'Inactive tool users');
46
-    }
44
+		$this->setTemplate('statistics/inactive-users.tpl');
45
+		$this->assign('statsPageTitle', 'Inactive tool users');
46
+	}
47 47
 }
Please login to merge, or discard this patch.