Passed
Push — master ( 678db7...164b32 )
by Cody
06:12 queued 03:06
created
plugins/af_zz_vidmute/init.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -1,23 +1,23 @@
 block discarded – undo
1 1
 <?php
2 2
 class Af_Zz_VidMute extends Plugin {
3
-	private $host;
3
+    private $host;
4 4
 
5
-	public function about() {
6
-		return array(1.0,
7
-			"Mute audio in HTML5 videos",
8
-			"fox");
9
-	}
5
+    public function about() {
6
+        return array(1.0,
7
+            "Mute audio in HTML5 videos",
8
+            "fox");
9
+    }
10 10
 
11
-	public function init($host) {
12
-		$this->host = $host;
13
-	}
11
+    public function init($host) {
12
+        $this->host = $host;
13
+    }
14 14
 
15
-	public function get_js() {
16
-		return file_get_contents(__DIR__."/init.js");
17
-	}
15
+    public function get_js() {
16
+        return file_get_contents(__DIR__."/init.js");
17
+    }
18 18
 
19
-	public function api_version() {
20
-		return 2;
21
-	}
19
+    public function api_version() {
20
+        return 2;
21
+    }
22 22
 
23 23
 }
Please login to merge, or discard this patch.
plugins/cache_starred_images/init.php 1 patch
Indentation   +137 added lines, -137 removed lines patch added patch discarded remove patch
@@ -1,45 +1,45 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 class Cache_Starred_Images extends Plugin {
3 3
 
4
-	/* @var PluginHost $host */
5
-	private $host;
6
-	/* @var DiskCache $cache */
7
-	private $cache;
4
+    /* @var PluginHost $host */
5
+    private $host;
6
+    /* @var DiskCache $cache */
7
+    private $cache;
8 8
     private $max_cache_attempts = 5; // per-article
9 9
 
10
-	public function about() {
11
-		return array(1.0,
12
-			"Automatically cache media files in Starred articles",
13
-			"fox");
14
-	}
10
+    public function about() {
11
+        return array(1.0,
12
+            "Automatically cache media files in Starred articles",
13
+            "fox");
14
+    }
15 15
 
16
-	public function init($host) {
17
-		$this->host = $host;
18
-		$this->cache = new DiskCache("starred-images");
16
+    public function init($host) {
17
+        $this->host = $host;
18
+        $this->cache = new DiskCache("starred-images");
19 19
 
20
-		if ($this->cache->makeDir()) {
21
-					chmod($this->cache->getDir(), 0777);
22
-		}
20
+        if ($this->cache->makeDir()) {
21
+                    chmod($this->cache->getDir(), 0777);
22
+        }
23 23
 
24
-		if (!$this->cache->exists(".no-auto-expiry")) {
25
-					$this->cache->touch(".no-auto-expiry");
26
-		}
24
+        if (!$this->cache->exists(".no-auto-expiry")) {
25
+                    $this->cache->touch(".no-auto-expiry");
26
+        }
27 27
 
28
-		if ($this->cache->isWritable()) {
29
-			$host->add_hook($host::HOOK_HOUSE_KEEPING, $this);
30
-			$host->add_hook($host::HOOK_ENCLOSURE_ENTRY, $this);
31
-			$host->add_hook($host::HOOK_SANITIZE, $this);
32
-		} else {
33
-			user_error("Starred cache directory ".$this->cache->getDir()." is not writable.", E_USER_WARNING);
34
-		}
35
-	}
28
+        if ($this->cache->isWritable()) {
29
+            $host->add_hook($host::HOOK_HOUSE_KEEPING, $this);
30
+            $host->add_hook($host::HOOK_ENCLOSURE_ENTRY, $this);
31
+            $host->add_hook($host::HOOK_SANITIZE, $this);
32
+        } else {
33
+            user_error("Starred cache directory ".$this->cache->getDir()." is not writable.", E_USER_WARNING);
34
+        }
35
+    }
36 36
 
37
-	public function hook_house_keeping() {
38
-		/* since HOOK_UPDATE_TASK is not available to user plugins, this hook is a next best thing */
37
+    public function hook_house_keeping() {
38
+        /* since HOOK_UPDATE_TASK is not available to user plugins, this hook is a next best thing */
39 39
 
40
-		Debug::log("caching media of starred articles for user ".$this->host->get_owner_uid()."...");
40
+        Debug::log("caching media of starred articles for user ".$this->host->get_owner_uid()."...");
41 41
 
42
-		$sth = $this->pdo->prepare("SELECT content, ttrss_entries.title,
42
+        $sth = $this->pdo->prepare("SELECT content, ttrss_entries.title,
43 43
        		ttrss_user_entries.owner_uid, link, site_url, ttrss_entries.id, plugin_data
44 44
 			FROM ttrss_entries, ttrss_user_entries LEFT JOIN ttrss_feeds ON
45 45
 				(ttrss_user_entries.feed_id = ttrss_feeds.id)
@@ -50,117 +50,117 @@  discard block
 block discarded – undo
50 50
 				plugin_data NOT LIKE '%starred_cache_images%'
51 51
 			ORDER BY ".sql_random_function()." LIMIT 100");
52 52
 
53
-		if ($sth->execute([$this->host->get_owner_uid()])) {
53
+        if ($sth->execute([$this->host->get_owner_uid()])) {
54 54
 
55
-			$usth = $this->pdo->prepare("UPDATE ttrss_entries SET plugin_data = ? WHERE id = ?");
55
+            $usth = $this->pdo->prepare("UPDATE ttrss_entries SET plugin_data = ? WHERE id = ?");
56 56
 
57
-			while ($line = $sth->fetch()) {
58
-				Debug::log("processing article ".$line["title"], Debug::$LOG_VERBOSE);
57
+            while ($line = $sth->fetch()) {
58
+                Debug::log("processing article ".$line["title"], Debug::$LOG_VERBOSE);
59 59
 
60
-				if ($line["site_url"]) {
61
-					$success = $this->cache_article_images($line["content"], $line["site_url"], $line["owner_uid"], $line["id"]);
60
+                if ($line["site_url"]) {
61
+                    $success = $this->cache_article_images($line["content"], $line["site_url"], $line["owner_uid"], $line["id"]);
62 62
 
63
-					if ($success) {
64
-						$plugin_data = "starred_cache_images,${line['owner_uid']}:".$line["plugin_data"];
63
+                    if ($success) {
64
+                        $plugin_data = "starred_cache_images,${line['owner_uid']}:".$line["plugin_data"];
65 65
 
66
-						$usth->execute([$plugin_data, $line['id']]);
67
-					}
68
-				}
69
-			}
70
-		}
66
+                        $usth->execute([$plugin_data, $line['id']]);
67
+                    }
68
+                }
69
+            }
70
+        }
71 71
 
72
-		/* actual housekeeping */
72
+        /* actual housekeeping */
73 73
 
74
-		Debug::log("expiring ".$this->cache->getDir()."...");
74
+        Debug::log("expiring ".$this->cache->getDir()."...");
75 75
 
76
-		$files = glob($this->cache->getDir()."/*.{png,mp4,status}", GLOB_BRACE);
76
+        $files = glob($this->cache->getDir()."/*.{png,mp4,status}", GLOB_BRACE);
77 77
 
78
-		$last_article_id = 0;
79
-		$article_exists = 1;
78
+        $last_article_id = 0;
79
+        $article_exists = 1;
80 80
 
81
-		foreach ($files as $file) {
82
-			list ($article_id, $hash) = explode("-", basename($file));
81
+        foreach ($files as $file) {
82
+            list ($article_id, $hash) = explode("-", basename($file));
83 83
 
84
-			if ($article_id != $last_article_id) {
85
-				$last_article_id = $article_id;
84
+            if ($article_id != $last_article_id) {
85
+                $last_article_id = $article_id;
86 86
 
87
-				$sth = $this->pdo->prepare("SELECT id FROM ttrss_entries WHERE id = ?");
88
-				$sth->execute([$article_id]);
87
+                $sth = $this->pdo->prepare("SELECT id FROM ttrss_entries WHERE id = ?");
88
+                $sth->execute([$article_id]);
89 89
 
90
-				$article_exists = $sth->fetch();
91
-			}
90
+                $article_exists = $sth->fetch();
91
+            }
92 92
 
93
-			if (!$article_exists) {
94
-				unlink($file);
95
-			}
96
-		}
97
-	}
93
+            if (!$article_exists) {
94
+                unlink($file);
95
+            }
96
+        }
97
+    }
98 98
 
99
-	public function hook_enclosure_entry($enc, $article_id) {
100
-		$local_filename = $article_id."-".sha1($enc["content_url"]);
99
+    public function hook_enclosure_entry($enc, $article_id) {
100
+        $local_filename = $article_id."-".sha1($enc["content_url"]);
101 101
 
102
-		if ($this->cache->exists($local_filename)) {
103
-			$enc["content_url"] = $this->cache->getUrl($local_filename);
104
-		}
102
+        if ($this->cache->exists($local_filename)) {
103
+            $enc["content_url"] = $this->cache->getUrl($local_filename);
104
+        }
105 105
 
106
-		return $enc;
107
-	}
106
+        return $enc;
107
+    }
108 108
 
109
-	public function hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes, $article_id) {
110
-		$xpath = new DOMXpath($doc);
109
+    public function hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes, $article_id) {
110
+        $xpath = new DOMXpath($doc);
111 111
 
112
-		if ($article_id) {
113
-			$entries = $xpath->query('(//img[@src])|(//video/source[@src])');
112
+        if ($article_id) {
113
+            $entries = $xpath->query('(//img[@src])|(//video/source[@src])');
114 114
 
115
-			foreach ($entries as $entry) {
116
-				if ($entry->hasAttribute('src')) {
117
-					$src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
115
+            foreach ($entries as $entry) {
116
+                if ($entry->hasAttribute('src')) {
117
+                    $src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
118 118
 
119
-					$local_filename = $article_id."-".sha1($src);
119
+                    $local_filename = $article_id."-".sha1($src);
120 120
 
121
-					if ($this->cache->exists($local_filename)) {
122
-						$entry->setAttribute("src", $this->cache->getUrl($local_filename));
123
-						$entry->removeAttribute("srcset");
124
-					}
125
-				}
126
-			}
127
-		}
121
+                    if ($this->cache->exists($local_filename)) {
122
+                        $entry->setAttribute("src", $this->cache->getUrl($local_filename));
123
+                        $entry->removeAttribute("srcset");
124
+                    }
125
+                }
126
+            }
127
+        }
128 128
 
129
-		return $doc;
130
-	}
129
+        return $doc;
130
+    }
131 131
 
132
-	private function cache_url($article_id, $url) {
133
-		$local_filename = $article_id."-".sha1($url);
132
+    private function cache_url($article_id, $url) {
133
+        $local_filename = $article_id."-".sha1($url);
134 134
 
135
-		if (!$this->cache->exists($local_filename)) {
136
-			Debug::log("cache_images: downloading: $url to $local_filename", Debug::$LOG_VERBOSE);
135
+        if (!$this->cache->exists($local_filename)) {
136
+            Debug::log("cache_images: downloading: $url to $local_filename", Debug::$LOG_VERBOSE);
137 137
 
138
-			$data = fetch_file_contents(["url" => $url, "max_size" => MAX_CACHE_FILE_SIZE]);
138
+            $data = fetch_file_contents(["url" => $url, "max_size" => MAX_CACHE_FILE_SIZE]);
139 139
 
140
-			if ($data) {
141
-							return $this->cache->put($local_filename, $data);
142
-			}
143
-			;
140
+            if ($data) {
141
+                            return $this->cache->put($local_filename, $data);
142
+            }
143
+            ;
144 144
 
145
-		} else {
146
-			//Debug::log("cache_images: local file exists for $url", Debug::$LOG_VERBOSE);
145
+        } else {
146
+            //Debug::log("cache_images: local file exists for $url", Debug::$LOG_VERBOSE);
147 147
 
148
-			return true;
149
-		}
148
+            return true;
149
+        }
150 150
 
151
-		return false;
152
-	}
151
+        return false;
152
+    }
153 153
 
154
-	private function cache_article_images($content, $site_url, $owner_uid, $article_id) {
155
-		$status_filename = $article_id."-".sha1($site_url).".status";
154
+    private function cache_article_images($content, $site_url, $owner_uid, $article_id) {
155
+        $status_filename = $article_id."-".sha1($site_url).".status";
156 156
 
157
-		/* housekeeping might run as a separate user, in this case status/media might not be writable */
158
-		if (!$this->cache->isWritable($status_filename)) {
159
-			Debug::log("status not writable: $status_filename", Debug::$LOG_VERBOSE);
160
-			return false;
161
-		}
157
+        /* housekeeping might run as a separate user, in this case status/media might not be writable */
158
+        if (!$this->cache->isWritable($status_filename)) {
159
+            Debug::log("status not writable: $status_filename", Debug::$LOG_VERBOSE);
160
+            return false;
161
+        }
162 162
 
163
-		Debug::log("status: $status_filename", Debug::$LOG_VERBOSE);
163
+        Debug::log("status: $status_filename", Debug::$LOG_VERBOSE);
164 164
 
165 165
         if ($this->cache->exists($status_filename)) {
166 166
                     $status = json_decode($this->cache->get($status_filename), true);
@@ -181,49 +181,49 @@  discard block
 block discarded – undo
181 181
             return false;
182 182
         }
183 183
 
184
-		$doc = new DOMDocument();
184
+        $doc = new DOMDocument();
185 185
 
186
-		$has_images = false;
187
-		$success = false;
186
+        $has_images = false;
187
+        $success = false;
188 188
 
189 189
         if ($doc->loadHTML('<?xml encoding="UTF-8">'.$content)) {
190
-			$xpath = new DOMXPath($doc);
191
-			$entries = $xpath->query('(//img[@src])|(//video/source[@src])');
190
+            $xpath = new DOMXPath($doc);
191
+            $entries = $xpath->query('(//img[@src])|(//video/source[@src])');
192 192
 
193
-			foreach ($entries as $entry) {
193
+            foreach ($entries as $entry) {
194 194
 
195
-				if ($entry->hasAttribute('src') && strpos($entry->getAttribute('src'), "data:") !== 0) {
195
+                if ($entry->hasAttribute('src') && strpos($entry->getAttribute('src'), "data:") !== 0) {
196 196
 
197
-					$has_images = true;
197
+                    $has_images = true;
198 198
 
199
-					$src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
199
+                    $src = rewrite_relative_url($site_url, $entry->getAttribute('src'));
200 200
 
201
-					if ($this->cache_url($article_id, $src)) {
202
-						$success = true;
203
-					}
204
-				}
205
-			}
206
-		}
201
+                    if ($this->cache_url($article_id, $src)) {
202
+                        $success = true;
203
+                    }
204
+                }
205
+            }
206
+        }
207 207
 
208
-		$esth = $this->pdo->prepare("SELECT content_url FROM ttrss_enclosures WHERE post_id = ? AND
208
+        $esth = $this->pdo->prepare("SELECT content_url FROM ttrss_enclosures WHERE post_id = ? AND
209 209
 			(content_type LIKE '%image%' OR content_type LIKE '%video%')");
210 210
 
211 211
         if ($esth->execute([$article_id])) {
212
-        	while ($enc = $esth->fetch()) {
212
+            while ($enc = $esth->fetch()) {
213 213
 
214
-        		$has_images = true;
215
-        		$url = rewrite_relative_url($site_url, $enc["content_url"]);
214
+                $has_images = true;
215
+                $url = rewrite_relative_url($site_url, $enc["content_url"]);
216 216
 
217
-				if ($this->cache_url($article_id, $url)) {
218
-					$success = true;
219
-				}
220
-			}
221
-		}
217
+                if ($this->cache_url($article_id, $url)) {
218
+                    $success = true;
219
+                }
220
+            }
221
+        }
222 222
 
223
-		return $success || !$has_images;
224
-	}
223
+        return $success || !$has_images;
224
+    }
225 225
 
226
-	public function api_version() {
227
-		return 2;
228
-	}
226
+    public function api_version() {
227
+        return 2;
228
+    }
229 229
 }
Please login to merge, or discard this patch.
plugins/auth_remote/init.php 1 patch
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -1,94 +1,94 @@
 block discarded – undo
1 1
 <?php
2 2
 class Auth_Remote extends Plugin implements IAuthModule {
3 3
 
4
-	private $host;
5
-	/* @var Auth_Base $base */
6
-	private $base;
7
-
8
-	public function about() {
9
-		return array(1.0,
10
-			"Authenticates against remote password (e.g. supplied by Apache)",
11
-			"fox",
12
-			true);
13
-	}
14
-
15
-	/* @var PluginHost $host */
16
-	public function init($host) {
17
-		$this->host = $host;
18
-		$this->base = new Auth_Base();
19
-
20
-		$host->add_hook($host::HOOK_AUTH_USER, $this);
21
-	}
22
-
23
-	public function get_login_by_ssl_certificate() {
24
-		$cert_serial = get_ssl_certificate_id();
25
-
26
-		if ($cert_serial) {
27
-			$sth = $this->pdo->prepare("SELECT login FROM ttrss_user_prefs, ttrss_users
4
+    private $host;
5
+    /* @var Auth_Base $base */
6
+    private $base;
7
+
8
+    public function about() {
9
+        return array(1.0,
10
+            "Authenticates against remote password (e.g. supplied by Apache)",
11
+            "fox",
12
+            true);
13
+    }
14
+
15
+    /* @var PluginHost $host */
16
+    public function init($host) {
17
+        $this->host = $host;
18
+        $this->base = new Auth_Base();
19
+
20
+        $host->add_hook($host::HOOK_AUTH_USER, $this);
21
+    }
22
+
23
+    public function get_login_by_ssl_certificate() {
24
+        $cert_serial = get_ssl_certificate_id();
25
+
26
+        if ($cert_serial) {
27
+            $sth = $this->pdo->prepare("SELECT login FROM ttrss_user_prefs, ttrss_users
28 28
 				WHERE pref_name = 'SSL_CERT_SERIAL' AND value = ? AND
29 29
 				owner_uid = ttrss_users.id");
30
-			$sth->execute([$cert_serial]);
31
-
32
-			if ($row = $sth->fetch()) {
33
-				return $row['login'];
34
-			}
35
-		}
36
-
37
-		return "";
38
-	}
39
-
40
-	/**
41
-	 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
42
-	 */
43
-	public function authenticate($login, $password) {
44
-		$try_login = $_SERVER["REMOTE_USER"];
45
-
46
-		// php-cgi
47
-		if (!$try_login) {
48
-		    $try_login = $_SERVER["REDIRECT_REMOTE_USER"];
49
-		}
50
-		if (!$try_login) {
51
-		    $try_login = $_SERVER["PHP_AUTH_USER"];
52
-		}
53
-
54
-		if (!$try_login) {
55
-		    $try_login = $this->get_login_by_ssl_certificate();
56
-		}
57
-
58
-		if ($try_login) {
59
-			$user_id = $this->base->auto_create_user($try_login, $password);
60
-
61
-			if ($user_id) {
62
-				$_SESSION["fake_login"] = $try_login;
63
-				$_SESSION["fake_password"] = "******";
64
-				$_SESSION["hide_hello"] = true;
65
-				$_SESSION["hide_logout"] = true;
66
-
67
-				// LemonLDAP can send user informations via HTTP HEADER
68
-				if (defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) {
69
-					// update user name
70
-					$fullname = $_SERVER['HTTP_USER_NAME'] ? $_SERVER['HTTP_USER_NAME'] : $_SERVER['AUTHENTICATE_CN'];
71
-					if ($fullname) {
72
-						$sth = $this->pdo->prepare("UPDATE ttrss_users SET full_name = ? WHERE id = ?");
73
-						$sth->execute([$fullname, $user_id]);
74
-					}
75
-					// update user mail
76
-					$email = $_SERVER['HTTP_USER_MAIL'] ? $_SERVER['HTTP_USER_MAIL'] : $_SERVER['AUTHENTICATE_MAIL'];
77
-					if ($email) {
78
-						$sth = $this->pdo->prepare("UPDATE ttrss_users SET email = ? WHERE id = ?");
79
-						$sth->execute([$email, $user_id]);
80
-					}
81
-				}
82
-
83
-				return $user_id;
84
-			}
85
-		}
86
-
87
-		return false;
88
-	}
89
-
90
-	public function api_version() {
91
-		return 2;
92
-	}
30
+            $sth->execute([$cert_serial]);
31
+
32
+            if ($row = $sth->fetch()) {
33
+                return $row['login'];
34
+            }
35
+        }
36
+
37
+        return "";
38
+    }
39
+
40
+    /**
41
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
42
+     */
43
+    public function authenticate($login, $password) {
44
+        $try_login = $_SERVER["REMOTE_USER"];
45
+
46
+        // php-cgi
47
+        if (!$try_login) {
48
+            $try_login = $_SERVER["REDIRECT_REMOTE_USER"];
49
+        }
50
+        if (!$try_login) {
51
+            $try_login = $_SERVER["PHP_AUTH_USER"];
52
+        }
53
+
54
+        if (!$try_login) {
55
+            $try_login = $this->get_login_by_ssl_certificate();
56
+        }
57
+
58
+        if ($try_login) {
59
+            $user_id = $this->base->auto_create_user($try_login, $password);
60
+
61
+            if ($user_id) {
62
+                $_SESSION["fake_login"] = $try_login;
63
+                $_SESSION["fake_password"] = "******";
64
+                $_SESSION["hide_hello"] = true;
65
+                $_SESSION["hide_logout"] = true;
66
+
67
+                // LemonLDAP can send user informations via HTTP HEADER
68
+                if (defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE) {
69
+                    // update user name
70
+                    $fullname = $_SERVER['HTTP_USER_NAME'] ? $_SERVER['HTTP_USER_NAME'] : $_SERVER['AUTHENTICATE_CN'];
71
+                    if ($fullname) {
72
+                        $sth = $this->pdo->prepare("UPDATE ttrss_users SET full_name = ? WHERE id = ?");
73
+                        $sth->execute([$fullname, $user_id]);
74
+                    }
75
+                    // update user mail
76
+                    $email = $_SERVER['HTTP_USER_MAIL'] ? $_SERVER['HTTP_USER_MAIL'] : $_SERVER['AUTHENTICATE_MAIL'];
77
+                    if ($email) {
78
+                        $sth = $this->pdo->prepare("UPDATE ttrss_users SET email = ? WHERE id = ?");
79
+                        $sth->execute([$email, $user_id]);
80
+                    }
81
+                }
82
+
83
+                return $user_id;
84
+            }
85
+        }
86
+
87
+        return false;
88
+    }
89
+
90
+    public function api_version() {
91
+        return 2;
92
+    }
93 93
 
94 94
 }
Please login to merge, or discard this patch.
plugins/nsfw/init.php 1 patch
Indentation   +64 added lines, -64 removed lines patch added patch discarded remove patch
@@ -1,66 +1,66 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 class NSFW extends Plugin {
3
-	private $host;
3
+    private $host;
4 4
 
5
-	public function about() {
6
-		return array(1.0,
7
-			"Hide article content based on tags",
8
-			"fox",
9
-			false);
10
-	}
5
+    public function about() {
6
+        return array(1.0,
7
+            "Hide article content based on tags",
8
+            "fox",
9
+            false);
10
+    }
11 11
 
12
-	public function init($host) {
13
-		$this->host = $host;
12
+    public function init($host) {
13
+        $this->host = $host;
14 14
 
15
-		$host->add_hook($host::HOOK_RENDER_ARTICLE, $this);
16
-		$host->add_hook($host::HOOK_RENDER_ARTICLE_CDM, $this);
17
-		$host->add_hook($host::HOOK_PREFS_TAB, $this);
15
+        $host->add_hook($host::HOOK_RENDER_ARTICLE, $this);
16
+        $host->add_hook($host::HOOK_RENDER_ARTICLE_CDM, $this);
17
+        $host->add_hook($host::HOOK_PREFS_TAB, $this);
18 18
 
19
-	}
19
+    }
20 20
 
21
-	public function get_js() {
22
-		return file_get_contents(dirname(__FILE__)."/init.js");
23
-	}
21
+    public function get_js() {
22
+        return file_get_contents(dirname(__FILE__)."/init.js");
23
+    }
24 24
 
25
-	public function hook_render_article($article) {
26
-		$tags = array_map("trim", explode(",", $this->host->get($this, "tags")));
27
-		$a_tags = array_map("trim", explode(",", $article["tag_cache"]));
25
+    public function hook_render_article($article) {
26
+        $tags = array_map("trim", explode(",", $this->host->get($this, "tags")));
27
+        $a_tags = array_map("trim", explode(",", $article["tag_cache"]));
28 28
 
29
-		if (count(array_intersect($tags, $a_tags)) > 0) {
30
-			$article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
29
+        if (count(array_intersect($tags, $a_tags)) > 0) {
30
+            $article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
31 31
 				<div class='nswf content' style='display : none'>".$article["content"]."</div></div>";
32
-		}
32
+        }
33 33
 
34
-		return $article;
35
-	}
34
+        return $article;
35
+    }
36 36
 
37
-	public function hook_render_article_cdm($article) {
38
-		$tags = array_map("trim", explode(",", $this->host->get($this, "tags")));
39
-		$a_tags = array_map("trim", explode(",", $article["tag_cache"]));
37
+    public function hook_render_article_cdm($article) {
38
+        $tags = array_map("trim", explode(",", $this->host->get($this, "tags")));
39
+        $a_tags = array_map("trim", explode(",", $article["tag_cache"]));
40 40
 
41
-		if (count(array_intersect($tags, $a_tags)) > 0) {
42
-			$article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
41
+        if (count(array_intersect($tags, $a_tags)) > 0) {
42
+            $article["content"] = "<div class='nswf wrapper'><button onclick=\"nsfwShow(this)\">".__("Not work safe (click to toggle)")."</button>
43 43
 				<div class='nswf content' style='display : none'>".$article["content"]."</div></div>";
44
-		}
44
+        }
45 45
 
46
-		return $article;
47
-	}
46
+        return $article;
47
+    }
48 48
 
49
-	public function hook_prefs_tab($args) {
50
-		if ($args != "prefPrefs") {
51
-		    return;
52
-		}
49
+    public function hook_prefs_tab($args) {
50
+        if ($args != "prefPrefs") {
51
+            return;
52
+        }
53 53
 
54
-		print "<div dojoType=\"dijit.layout.AccordionPane\"
54
+        print "<div dojoType=\"dijit.layout.AccordionPane\"
55 55
 			title=\"<i class='material-icons'>extension</i> ".__("NSFW Plugin")."\">";
56 56
 
57
-		print "<br/>";
57
+        print "<br/>";
58 58
 
59
-		$tags = $this->host->get($this, "tags");
59
+        $tags = $this->host->get($this, "tags");
60 60
 
61
-		print "<form dojoType=\"dijit.form.Form\">";
61
+        print "<form dojoType=\"dijit.form.Form\">";
62 62
 
63
-		print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">
63
+        print "<script type=\"dojo/method\" event=\"onSubmit\" args=\"evt\">
64 64
 			evt.preventDefault();
65 65
 			if (this.validate()) {
66 66
 				new Ajax.Request('backend.php', {
@@ -73,38 +73,38 @@  discard block
 block discarded – undo
73 73
 			}
74 74
 			</script>";
75 75
 
76
-			print_hidden("op", "pluginhandler");
77
-			print_hidden("method", "save");
78
-			print_hidden("plugin", "nsfw");
76
+            print_hidden("op", "pluginhandler");
77
+            print_hidden("method", "save");
78
+            print_hidden("plugin", "nsfw");
79 79
 
80
-			print "<table width=\"100%\" class=\"prefPrefsList\">";
80
+            print "<table width=\"100%\" class=\"prefPrefsList\">";
81 81
 
82
-			print "<tr><td width=\"40%\">".__("Tags to consider NSFW (comma-separated)")."</td>";
83
-			print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"tags\" value=\"$tags\"></td></tr>";
82
+            print "<tr><td width=\"40%\">".__("Tags to consider NSFW (comma-separated)")."</td>";
83
+            print "<td class=\"prefValue\"><input dojoType=\"dijit.form.ValidationTextBox\" required=\"1\" name=\"tags\" value=\"$tags\"></td></tr>";
84 84
 
85
-			print "</table>";
85
+            print "</table>";
86 86
 
87
-			print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">".
88
-				__("Save")."</button>";
87
+            print "<p><button dojoType=\"dijit.form.Button\" type=\"submit\">".
88
+                __("Save")."</button>";
89 89
 
90
-			print "</form>";
90
+            print "</form>";
91 91
 
92
-			print "</div>"; #pane
93
-	}
92
+            print "</div>"; #pane
93
+    }
94 94
 
95
-	public function save() {
96
-		$tags = explode(",", $_POST["tags"]);
97
-		$tags = array_map("trim", $tags);
98
-		$tags = array_map("mb_strtolower", $tags);
99
-		$tags = join(", ", $tags);
95
+    public function save() {
96
+        $tags = explode(",", $_POST["tags"]);
97
+        $tags = array_map("trim", $tags);
98
+        $tags = array_map("mb_strtolower", $tags);
99
+        $tags = join(", ", $tags);
100 100
 
101
-		$this->host->set($this, "tags", $tags);
101
+        $this->host->set($this, "tags", $tags);
102 102
 
103
-		echo __("Configuration saved.");
104
-	}
103
+        echo __("Configuration saved.");
104
+    }
105 105
 
106
-	public function api_version() {
107
-		return 2;
108
-	}
106
+    public function api_version() {
107
+        return 2;
108
+    }
109 109
 
110 110
 }
Please login to merge, or discard this patch.
plugins/af_fsckportal/init.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -1,47 +1,47 @@
 block discarded – undo
1 1
 <?php
2 2
 class Af_Fsckportal extends Plugin {
3 3
 
4
-	private $host;
4
+    private $host;
5 5
 
6
-	public function about() {
7
-		return array(1.0,
8
-			"Remove feedsportal spamlinks from article content",
9
-			"fox");
10
-	}
6
+    public function about() {
7
+        return array(1.0,
8
+            "Remove feedsportal spamlinks from article content",
9
+            "fox");
10
+    }
11 11
 
12
-	public function init($host) {
13
-		$this->host = $host;
12
+    public function init($host) {
13
+        $this->host = $host;
14 14
 
15
-		$host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
16
-	}
15
+        $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
16
+    }
17 17
 
18
-	public function hook_article_filter($article) {
18
+    public function hook_article_filter($article) {
19 19
 
20
-			$doc = new DOMDocument();
20
+            $doc = new DOMDocument();
21 21
 
22
-			@$doc->loadHTML('<?xml encoding="UTF-8">'.$article["content"]);
22
+            @$doc->loadHTML('<?xml encoding="UTF-8">'.$article["content"]);
23 23
 
24
-			if ($doc) {
25
-				$xpath = new DOMXPath($doc);
26
-				$entries = $xpath->query('(//img[@src]|//a[@href])');
24
+            if ($doc) {
25
+                $xpath = new DOMXPath($doc);
26
+                $entries = $xpath->query('(//img[@src]|//a[@href])');
27 27
 
28
-				foreach ($entries as $entry) {
29
-					if (preg_match("/feedsportal.com/", $entry->getAttribute("src"))) {
30
-						$entry->parentNode->removeChild($entry);
31
-					} else if (preg_match("/feedsportal.com/", $entry->getAttribute("href"))) {
32
-						$entry->parentNode->removeChild($entry);
33
-					}
34
-				}
28
+                foreach ($entries as $entry) {
29
+                    if (preg_match("/feedsportal.com/", $entry->getAttribute("src"))) {
30
+                        $entry->parentNode->removeChild($entry);
31
+                    } else if (preg_match("/feedsportal.com/", $entry->getAttribute("href"))) {
32
+                        $entry->parentNode->removeChild($entry);
33
+                    }
34
+                }
35 35
 
36
-				$article["content"] = $doc->saveHTML();
36
+                $article["content"] = $doc->saveHTML();
37 37
 
38
-		}
38
+        }
39 39
 
40
-		return $article;
41
-	}
40
+        return $article;
41
+    }
42 42
 
43
-	public function api_version() {
44
-		return 2;
45
-	}
43
+    public function api_version() {
44
+        return 2;
45
+    }
46 46
 
47 47
 }
Please login to merge, or discard this patch.
plugins/af_tumblr_1280/init.php 1 patch
Indentation   +63 added lines, -63 removed lines patch added patch discarded remove patch
@@ -1,92 +1,92 @@
 block discarded – undo
1 1
 <?php
2 2
 class Af_Tumblr_1280 extends Plugin {
3
-	private $host;
3
+    private $host;
4 4
 
5
-	public function about() {
6
-		return array(1.0,
7
-			"Replace Tumblr pictures and videos with largest size if available (requires CURL)",
8
-			"fox");
9
-	}
5
+    public function about() {
6
+        return array(1.0,
7
+            "Replace Tumblr pictures and videos with largest size if available (requires CURL)",
8
+            "fox");
9
+    }
10 10
 
11
-	public function flags() {
12
-		return array("needs_curl" => true);
13
-	}
11
+    public function flags() {
12
+        return array("needs_curl" => true);
13
+    }
14 14
 
15
-	public function init($host) {
16
-		$this->host = $host;
15
+    public function init($host) {
16
+        $this->host = $host;
17 17
 
18
-		if (function_exists("curl_init")) {
19
-			$host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
20
-		}
21
-	}
18
+        if (function_exists("curl_init")) {
19
+            $host->add_hook($host::HOOK_ARTICLE_FILTER, $this);
20
+        }
21
+    }
22 22
 
23
-	public function hook_article_filter($article) {
23
+    public function hook_article_filter($article) {
24 24
 
25
-		if (!function_exists("curl_init") || ini_get("open_basedir")) {
26
-					return $article;
27
-		}
25
+        if (!function_exists("curl_init") || ini_get("open_basedir")) {
26
+                    return $article;
27
+        }
28 28
 
29
-		$doc = new DOMDocument();
30
-		$doc->loadHTML('<?xml encoding="UTF-8">'.$article["content"]);
29
+        $doc = new DOMDocument();
30
+        $doc->loadHTML('<?xml encoding="UTF-8">'.$article["content"]);
31 31
 
32
-		$found = false;
32
+        $found = false;
33 33
 
34
-		if ($doc) {
35
-			$xpath = new DOMXpath($doc);
34
+        if ($doc) {
35
+            $xpath = new DOMXpath($doc);
36 36
 
37
-			$images = $xpath->query('(//img[contains(@src, \'media.tumblr.com\')])');
37
+            $images = $xpath->query('(//img[contains(@src, \'media.tumblr.com\')])');
38 38
 
39
-			foreach ($images as $img) {
40
-				$src = $img->getAttribute("src");
39
+            foreach ($images as $img) {
40
+                $src = $img->getAttribute("src");
41 41
 
42
-				$test_src = preg_replace("/_\d{3}.(jpg|gif|png)/", "_1280.$1", $src);
42
+                $test_src = preg_replace("/_\d{3}.(jpg|gif|png)/", "_1280.$1", $src);
43 43
 
44
-				if ($src != $test_src) {
44
+                if ($src != $test_src) {
45 45
 
46
-					$ch = curl_init($test_src);
47
-					curl_setopt($ch, CURLOPT_TIMEOUT, 5);
48
-					curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
49
-					curl_setopt($ch, CURLOPT_HEADER, true);
50
-					curl_setopt($ch, CURLOPT_NOBODY, true);
51
-					curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
52
-					curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT);
46
+                    $ch = curl_init($test_src);
47
+                    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
48
+                    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
49
+                    curl_setopt($ch, CURLOPT_HEADER, true);
50
+                    curl_setopt($ch, CURLOPT_NOBODY, true);
51
+                    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
52
+                    curl_setopt($ch, CURLOPT_USERAGENT, SELF_USER_AGENT);
53 53
 
54
-					@$result = curl_exec($ch);
55
-					$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
54
+                    @$result = curl_exec($ch);
55
+                    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
56 56
 
57
-					if ($result && $http_code == 200) {
58
-						$img->setAttribute("src", $test_src);
59
-						$found = true;
60
-					}
61
-				}
62
-			}
57
+                    if ($result && $http_code == 200) {
58
+                        $img->setAttribute("src", $test_src);
59
+                        $found = true;
60
+                    }
61
+                }
62
+            }
63 63
 
64
-			$video_sources = $xpath->query('//video/source[contains(@src, \'.tumblr.com/video_file\')]');
64
+            $video_sources = $xpath->query('//video/source[contains(@src, \'.tumblr.com/video_file\')]');
65 65
 
66
-			foreach ($video_sources as $source) {
67
-				$src = $source->getAttribute("src");
66
+            foreach ($video_sources as $source) {
67
+                $src = $source->getAttribute("src");
68 68
 
69
-				$new_src = preg_replace("/\/\d{3}$/", "", $src);
69
+                $new_src = preg_replace("/\/\d{3}$/", "", $src);
70 70
 
71
-				if ($src != $new_src) {
72
-					$source->setAttribute("src", $new_src);
73
-					$found = true;
74
-				}
75
-			}
71
+                if ($src != $new_src) {
72
+                    $source->setAttribute("src", $new_src);
73
+                    $found = true;
74
+                }
75
+            }
76 76
 
77
-			if ($found) {
78
-				$doc->removeChild($doc->firstChild); //remove doctype
79
-				$article["content"] = $doc->saveHTML();
80
-			}
81
-		}
77
+            if ($found) {
78
+                $doc->removeChild($doc->firstChild); //remove doctype
79
+                $article["content"] = $doc->saveHTML();
80
+            }
81
+        }
82 82
 
83
-		return $article;
83
+        return $article;
84 84
 
85
-	}
85
+    }
86 86
 
87 87
 
88
-	public function api_version() {
89
-		return 2;
90
-	}
88
+    public function api_version() {
89
+        return 2;
90
+    }
91 91
 
92 92
 }
Please login to merge, or discard this patch.
plugins/no_title_counters/init.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -1,24 +1,24 @@
 block discarded – undo
1 1
 <?php
2 2
 class No_Title_Counters extends Plugin {
3
-	private $host;
3
+    private $host;
4 4
 
5
-	public function about() {
6
-		return array(1.0,
7
-			"Remove counters from window title (prevents tab flashing on new articles)",
8
-			"fox");
9
-	}
5
+    public function about() {
6
+        return array(1.0,
7
+            "Remove counters from window title (prevents tab flashing on new articles)",
8
+            "fox");
9
+    }
10 10
 
11
-	public function init($host) {
12
-		$this->host = $host;
11
+    public function init($host) {
12
+        $this->host = $host;
13 13
 
14
-	}
14
+    }
15 15
 
16
-	public function get_js() {
17
-		return file_get_contents(__DIR__."/init.js");
18
-	}
16
+    public function get_js() {
17
+        return file_get_contents(__DIR__."/init.js");
18
+    }
19 19
 
20
-	public function api_version() {
21
-		return 2;
22
-	}
20
+    public function api_version() {
21
+        return 2;
22
+    }
23 23
 
24 24
 }
Please login to merge, or discard this patch.
plugins/auth_internal/init.php 1 patch
Indentation   +168 added lines, -168 removed lines patch added patch discarded remove patch
@@ -1,63 +1,63 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 class Auth_Internal extends Plugin implements IAuthModule {
3 3
 
4
-	private $host;
4
+    private $host;
5 5
 
6
-	public function about() {
7
-		return array(1.0,
8
-			"Authenticates against internal tt-rss database",
9
-			"fox",
10
-			true);
11
-	}
6
+    public function about() {
7
+        return array(1.0,
8
+            "Authenticates against internal tt-rss database",
9
+            "fox",
10
+            true);
11
+    }
12 12
 
13
-	/* @var PluginHost $host */
14
-	public function init($host) {
15
-		$this->host = $host;
16
-		$this->pdo = Db::pdo();
13
+    /* @var PluginHost $host */
14
+    public function init($host) {
15
+        $this->host = $host;
16
+        $this->pdo = Db::pdo();
17 17
 
18
-		$host->add_hook($host::HOOK_AUTH_USER, $this);
19
-	}
18
+        $host->add_hook($host::HOOK_AUTH_USER, $this);
19
+    }
20 20
 
21
-	public function authenticate($login, $password, $service = '') {
21
+    public function authenticate($login, $password, $service = '') {
22 22
 
23
-		$pwd_hash1 = encrypt_password($password);
24
-		$pwd_hash2 = encrypt_password($password, $login);
25
-		$otp = $_REQUEST["otp"];
23
+        $pwd_hash1 = encrypt_password($password);
24
+        $pwd_hash2 = encrypt_password($password, $login);
25
+        $otp = $_REQUEST["otp"];
26 26
 
27
-		if (get_schema_version() > 96) {
27
+        if (get_schema_version() > 96) {
28 28
 
29
-			$sth = $this->pdo->prepare("SELECT otp_enabled,salt FROM ttrss_users WHERE
29
+            $sth = $this->pdo->prepare("SELECT otp_enabled,salt FROM ttrss_users WHERE
30 30
 				login = ?");
31
-			$sth->execute([$login]);
31
+            $sth->execute([$login]);
32 32
 
33
-			if ($row = $sth->fetch()) {
34
-				$otp_enabled = $row['otp_enabled'];
33
+            if ($row = $sth->fetch()) {
34
+                $otp_enabled = $row['otp_enabled'];
35 35
 
36
-				if ($otp_enabled) {
36
+                if ($otp_enabled) {
37 37
 
38
-					// only allow app password checking if OTP is enabled
39
-					if ($service && get_schema_version() > 138) {
40
-						return $this->check_app_password($login, $password, $service);
41
-					}
38
+                    // only allow app password checking if OTP is enabled
39
+                    if ($service && get_schema_version() > 138) {
40
+                        return $this->check_app_password($login, $password, $service);
41
+                    }
42 42
 
43
-					if ($otp) {
44
-						$base32 = new \OTPHP\Base32();
43
+                    if ($otp) {
44
+                        $base32 = new \OTPHP\Base32();
45 45
 
46
-						$secret = $base32->encode(mb_substr(sha1($row["salt"]), 0, 12), false);
47
-						$secret_legacy = $base32->encode(sha1($row["salt"]));
46
+                        $secret = $base32->encode(mb_substr(sha1($row["salt"]), 0, 12), false);
47
+                        $secret_legacy = $base32->encode(sha1($row["salt"]));
48 48
 
49
-						$totp = new \OTPHP\TOTP($secret);
50
-						$otp_check = $totp->now();
49
+                        $totp = new \OTPHP\TOTP($secret);
50
+                        $otp_check = $totp->now();
51 51
 
52
-						$totp_legacy = new \OTPHP\TOTP($secret_legacy);
53
-						$otp_check_legacy = $totp_legacy->now();
52
+                        $totp_legacy = new \OTPHP\TOTP($secret_legacy);
53
+                        $otp_check_legacy = $totp_legacy->now();
54 54
 
55
-						if ($otp != $otp_check && $otp != $otp_check_legacy) {
56
-							return false;
57
-						}
58
-					} else {
59
-						$return = urlencode($_REQUEST["return"]);
60
-						?>
55
+                        if ($otp != $otp_check && $otp != $otp_check_legacy) {
56
+                            return false;
57
+                        }
58
+                    } else {
59
+                        $return = urlencode($_REQUEST["return"]);
60
+                        ?>
61 61
 						<!DOCTYPE html>
62 62
 						<html>
63 63
 							<head>
@@ -87,209 +87,209 @@  discard block
 block discarded – undo
87 87
 							document.forms[0].otp.focus();
88 88
 						</script>
89 89
 						<?php
90
-						exit;
91
-					}
92
-				}
93
-			}
94
-		}
90
+                        exit;
91
+                    }
92
+                }
93
+            }
94
+        }
95 95
 
96
-		// check app passwords first but allow regular password as a fallback for the time being
97
-		// if OTP is not enabled
96
+        // check app passwords first but allow regular password as a fallback for the time being
97
+        // if OTP is not enabled
98 98
 
99
-		if ($service && get_schema_version() > 138) {
100
-			$user_id = $this->check_app_password($login, $password, $service);
99
+        if ($service && get_schema_version() > 138) {
100
+            $user_id = $this->check_app_password($login, $password, $service);
101 101
 
102
-			if ($user_id) {
103
-							return $user_id;
104
-			}
105
-		}
102
+            if ($user_id) {
103
+                            return $user_id;
104
+            }
105
+        }
106 106
 
107
-		if (get_schema_version() > 87) {
107
+        if (get_schema_version() > 87) {
108 108
 
109
-			$sth = $this->pdo->prepare("SELECT salt FROM ttrss_users WHERE login = ?");
110
-			$sth->execute([$login]);
109
+            $sth = $this->pdo->prepare("SELECT salt FROM ttrss_users WHERE login = ?");
110
+            $sth->execute([$login]);
111 111
 
112
-			if ($row = $sth->fetch()) {
113
-				$salt = $row['salt'];
112
+            if ($row = $sth->fetch()) {
113
+                $salt = $row['salt'];
114 114
 
115
-				if ($salt == "") {
115
+                if ($salt == "") {
116 116
 
117
-					$sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
117
+                    $sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
118 118
 						login = ? AND (pwd_hash = ? OR pwd_hash = ?)");
119 119
 
120
-					$sth->execute([$login, $pwd_hash1, $pwd_hash2]);
120
+                    $sth->execute([$login, $pwd_hash1, $pwd_hash2]);
121 121
 
122
-					// verify and upgrade password to new salt base
122
+                    // verify and upgrade password to new salt base
123 123
 
124
-					if ($row = $sth->fetch()) {
125
-						// upgrade password to MODE2
124
+                    if ($row = $sth->fetch()) {
125
+                        // upgrade password to MODE2
126 126
 
127
-						$user_id = $row['id'];
127
+                        $user_id = $row['id'];
128 128
 
129
-						$salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
130
-						$pwd_hash = encrypt_password($password, $salt, true);
129
+                        $salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
130
+                        $pwd_hash = encrypt_password($password, $salt, true);
131 131
 
132
-						$sth = $this->pdo->prepare("UPDATE ttrss_users SET
132
+                        $sth = $this->pdo->prepare("UPDATE ttrss_users SET
133 133
 							pwd_hash = ?, salt = ? WHERE login = ?");
134 134
 
135
-						$sth->execute([$pwd_hash, $salt, $login]);
135
+                        $sth->execute([$pwd_hash, $salt, $login]);
136 136
 
137
-						return $user_id;
137
+                        return $user_id;
138 138
 
139
-					} else {
140
-						return false;
141
-					}
139
+                    } else {
140
+                        return false;
141
+                    }
142 142
 
143
-				} else {
144
-					$pwd_hash = encrypt_password($password, $salt, true);
143
+                } else {
144
+                    $pwd_hash = encrypt_password($password, $salt, true);
145 145
 
146
-					$sth = $this->pdo->prepare("SELECT id
146
+                    $sth = $this->pdo->prepare("SELECT id
147 147
 						  FROM ttrss_users WHERE
148 148
 						  login = ? AND pwd_hash = ?");
149
-					$sth->execute([$login, $pwd_hash]);
149
+                    $sth->execute([$login, $pwd_hash]);
150 150
 
151
-					if ($row = $sth->fetch()) {
152
-						return $row['id'];
153
-					}
154
-				}
151
+                    if ($row = $sth->fetch()) {
152
+                        return $row['id'];
153
+                    }
154
+                }
155 155
 
156
-			} else {
157
-				$sth = $this->pdo->prepare("SELECT id
156
+            } else {
157
+                $sth = $this->pdo->prepare("SELECT id
158 158
 					FROM ttrss_users WHERE
159 159
 					  login = ? AND (pwd_hash = ? OR pwd_hash = ?)");
160 160
 
161
-				$sth->execute([$login, $pwd_hash1, $pwd_hash2]);
161
+                $sth->execute([$login, $pwd_hash1, $pwd_hash2]);
162 162
 
163
-				if ($row = $sth->fetch()) {
164
-					return $row['id'];
165
-				}
166
-			}
167
-		} else {
168
-			$sth = $this->pdo->prepare("SELECT id
163
+                if ($row = $sth->fetch()) {
164
+                    return $row['id'];
165
+                }
166
+            }
167
+        } else {
168
+            $sth = $this->pdo->prepare("SELECT id
169 169
 					FROM ttrss_users WHERE
170 170
 					  login = ? AND (pwd_hash = ? OR pwd_hash = ?)");
171 171
 
172
-			$sth->execute([$login, $pwd_hash1, $pwd_hash2]);
172
+            $sth->execute([$login, $pwd_hash1, $pwd_hash2]);
173 173
 
174
-			if ($row = $sth->fetch()) {
175
-				return $row['id'];
176
-			}
177
-		}
174
+            if ($row = $sth->fetch()) {
175
+                return $row['id'];
176
+            }
177
+        }
178 178
 
179
-		return false;
180
-	}
179
+        return false;
180
+    }
181 181
 
182
-	public function check_password($owner_uid, $password) {
182
+    public function check_password($owner_uid, $password) {
183 183
 
184
-		$sth = $this->pdo->prepare("SELECT salt,login,otp_enabled FROM ttrss_users WHERE
184
+        $sth = $this->pdo->prepare("SELECT salt,login,otp_enabled FROM ttrss_users WHERE
185 185
 			id = ?");
186
-		$sth->execute([$owner_uid]);
186
+        $sth->execute([$owner_uid]);
187 187
 
188
-		if ($row = $sth->fetch()) {
188
+        if ($row = $sth->fetch()) {
189 189
 
190
-			$salt = $row['salt'];
191
-			$login = $row['login'];
190
+            $salt = $row['salt'];
191
+            $login = $row['login'];
192 192
 
193
-			if (!$salt) {
194
-				$password_hash1 = encrypt_password($password);
195
-				$password_hash2 = encrypt_password($password, $login);
193
+            if (!$salt) {
194
+                $password_hash1 = encrypt_password($password);
195
+                $password_hash2 = encrypt_password($password, $login);
196 196
 
197
-				$sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
197
+                $sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
198 198
 					id = ? AND (pwd_hash = ? OR pwd_hash = ?)");
199 199
 
200
-				$sth->execute([$owner_uid, $password_hash1, $password_hash2]);
200
+                $sth->execute([$owner_uid, $password_hash1, $password_hash2]);
201 201
 
202
-				return $sth->fetch();
202
+                return $sth->fetch();
203 203
 
204
-			} else {
205
-				$password_hash = encrypt_password($password, $salt, true);
204
+            } else {
205
+                $password_hash = encrypt_password($password, $salt, true);
206 206
 
207
-				$sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
207
+                $sth = $this->pdo->prepare("SELECT id FROM ttrss_users WHERE
208 208
 					id = ? AND pwd_hash = ?");
209 209
 
210
-				$sth->execute([$owner_uid, $password_hash]);
210
+                $sth->execute([$owner_uid, $password_hash]);
211 211
 
212
-				return $sth->fetch();
213
-			}
214
-		}
212
+                return $sth->fetch();
213
+            }
214
+        }
215 215
 
216
-		return false;
217
-	}
216
+        return false;
217
+    }
218 218
 
219
-	public function change_password($owner_uid, $old_password, $new_password) {
219
+    public function change_password($owner_uid, $old_password, $new_password) {
220 220
 
221
-		if ($this->check_password($owner_uid, $old_password)) {
221
+        if ($this->check_password($owner_uid, $old_password)) {
222 222
 
223
-			$new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
224
-			$new_password_hash = encrypt_password($new_password, $new_salt, true);
223
+            $new_salt = substr(bin2hex(get_random_bytes(125)), 0, 250);
224
+            $new_password_hash = encrypt_password($new_password, $new_salt, true);
225 225
 
226
-			$sth = $this->pdo->prepare("UPDATE ttrss_users SET
226
+            $sth = $this->pdo->prepare("UPDATE ttrss_users SET
227 227
 				pwd_hash = ?, salt = ?, otp_enabled = false
228 228
 					WHERE id = ?");
229
-			$sth->execute([$new_password_hash, $new_salt, $owner_uid]);
229
+            $sth->execute([$new_password_hash, $new_salt, $owner_uid]);
230 230
 
231
-			$_SESSION["pwd_hash"] = $new_password_hash;
231
+            $_SESSION["pwd_hash"] = $new_password_hash;
232 232
 
233
-			$sth = $this->pdo->prepare("SELECT email, login FROM ttrss_users WHERE id = ?");
234
-			$sth->execute([$owner_uid]);
233
+            $sth = $this->pdo->prepare("SELECT email, login FROM ttrss_users WHERE id = ?");
234
+            $sth->execute([$owner_uid]);
235 235
 
236
-			if ($row = $sth->fetch()) {
237
-				$mailer = new Mailer();
236
+            if ($row = $sth->fetch()) {
237
+                $mailer = new Mailer();
238 238
 
239
-				require_once "lib/MiniTemplator.class.php";
239
+                require_once "lib/MiniTemplator.class.php";
240 240
 
241
-				$tpl = new MiniTemplator;
241
+                $tpl = new MiniTemplator;
242 242
 
243
-				$tpl->readTemplateFromFile("templates/password_change_template.txt");
243
+                $tpl->readTemplateFromFile("templates/password_change_template.txt");
244 244
 
245
-				$tpl->setVariable('LOGIN', $row["login"]);
246
-				$tpl->setVariable('TTRSS_HOST', SELF_URL_PATH);
245
+                $tpl->setVariable('LOGIN', $row["login"]);
246
+                $tpl->setVariable('TTRSS_HOST', SELF_URL_PATH);
247 247
 
248
-				$tpl->addBlock('message');
248
+                $tpl->addBlock('message');
249 249
 
250
-				$tpl->generateOutputToString($message);
250
+                $tpl->generateOutputToString($message);
251 251
 
252
-				$mailer->mail(["to_name" => $row["login"],
253
-					"to_address" => $row["email"],
254
-					"subject" => "[tt-rss] Password change notification",
255
-					"message" => $message]);
252
+                $mailer->mail(["to_name" => $row["login"],
253
+                    "to_address" => $row["email"],
254
+                    "subject" => "[tt-rss] Password change notification",
255
+                    "message" => $message]);
256 256
 
257
-			}
257
+            }
258 258
 
259
-			return __("Password has been changed.");
260
-		} else {
261
-			return "ERROR: ".__('Old password is incorrect.');
262
-		}
263
-	}
259
+            return __("Password has been changed.");
260
+        } else {
261
+            return "ERROR: ".__('Old password is incorrect.');
262
+        }
263
+    }
264 264
 
265
-	private function check_app_password($login, $password, $service) {
266
-		$sth = $this->pdo->prepare("SELECT p.id, p.pwd_hash, u.id AS uid
265
+    private function check_app_password($login, $password, $service) {
266
+        $sth = $this->pdo->prepare("SELECT p.id, p.pwd_hash, u.id AS uid
267 267
 			FROM ttrss_app_passwords p, ttrss_users u
268 268
 			WHERE p.owner_uid = u.id AND u.login = ? AND service = ?");
269
-		$sth->execute([$login, $service]);
269
+        $sth->execute([$login, $service]);
270 270
 
271
-		while ($row = $sth->fetch()) {
272
-			list ($algo, $hash, $salt) = explode(":", $row["pwd_hash"]);
271
+        while ($row = $sth->fetch()) {
272
+            list ($algo, $hash, $salt) = explode(":", $row["pwd_hash"]);
273 273
 
274
-			if ($algo == "SSHA-512") {
275
-				$test_hash = hash('sha512', $salt.$password);
274
+            if ($algo == "SSHA-512") {
275
+                $test_hash = hash('sha512', $salt.$password);
276 276
 
277
-				if ($test_hash == $hash) {
278
-					$usth = $this->pdo->prepare("UPDATE ttrss_app_passwords SET last_used = NOW() WHERE id = ?");
279
-					$usth->execute([$row['id']]);
277
+                if ($test_hash == $hash) {
278
+                    $usth = $this->pdo->prepare("UPDATE ttrss_app_passwords SET last_used = NOW() WHERE id = ?");
279
+                    $usth->execute([$row['id']]);
280 280
 
281
-					return $row['uid'];
282
-				}
283
-			} else {
284
-				user_error("Got unknown algo of app password for user $login: $algo");
285
-			}
286
-		}
281
+                    return $row['uid'];
282
+                }
283
+            } else {
284
+                user_error("Got unknown algo of app password for user $login: $algo");
285
+            }
286
+        }
287 287
 
288
-		return false;
289
-	}
288
+        return false;
289
+    }
290 290
 
291
-	public function api_version() {
292
-		return 2;
293
-	}
291
+    public function api_version() {
292
+        return 2;
293
+    }
294 294
 
295 295
 }
Please login to merge, or discard this patch.
plugins/no_iframes/init.php 1 patch
Indentation   +26 added lines, -26 removed lines patch added patch discarded remove patch
@@ -1,38 +1,38 @@
 block discarded – undo
1 1
 <?php
2 2
 class No_Iframes extends Plugin {
3
-	private $host;
3
+    private $host;
4 4
 
5
-	public function about() {
6
-		return array(1.0,
7
-			"Remove embedded iframes (unless whitelisted)",
8
-			"fox");
9
-	}
5
+    public function about() {
6
+        return array(1.0,
7
+            "Remove embedded iframes (unless whitelisted)",
8
+            "fox");
9
+    }
10 10
 
11
-	public function init($host) {
12
-		$this->host = $host;
11
+    public function init($host) {
12
+        $this->host = $host;
13 13
 
14
-		$host->add_hook($host::HOOK_SANITIZE, $this);
15
-	}
14
+        $host->add_hook($host::HOOK_SANITIZE, $this);
15
+    }
16 16
 
17
-	/**
18
-	 * @SuppressWarnings(PHPMD.UnusedFormalParameter)
19
-	 */
20
-	public function hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes) {
17
+    /**
18
+     * @SuppressWarnings(PHPMD.UnusedFormalParameter)
19
+     */
20
+    public function hook_sanitize($doc, $site_url, $allowed_elements, $disallowed_attributes) {
21 21
 
22
-		$xpath = new DOMXpath($doc);
23
-		$entries = $xpath->query('//iframe');
22
+        $xpath = new DOMXpath($doc);
23
+        $entries = $xpath->query('//iframe');
24 24
 
25
-		foreach ($entries as $entry) {
26
-			if (!iframe_whitelisted($entry)) {
27
-							$entry->parentNode->removeChild($entry);
28
-			}
29
-		}
25
+        foreach ($entries as $entry) {
26
+            if (!iframe_whitelisted($entry)) {
27
+                            $entry->parentNode->removeChild($entry);
28
+            }
29
+        }
30 30
 
31
-		return array($doc, $allowed_elements, $disallowed_attributes);
32
-	}
31
+        return array($doc, $allowed_elements, $disallowed_attributes);
32
+    }
33 33
 
34
-	public function api_version() {
35
-		return 2;
36
-	}
34
+    public function api_version() {
35
+        return 2;
36
+    }
37 37
 
38 38
 }
Please login to merge, or discard this patch.