@@ -5,7 +5,7 @@ discard block |
||
| 5 | 5 | private $host; |
| 6 | 6 | /* @var DiskCache $cache */ |
| 7 | 7 | private $cache; |
| 8 | - private $max_cache_attempts = 5; // per-article |
|
| 8 | + private $max_cache_attempts = 5; // per-article |
|
| 9 | 9 | |
| 10 | 10 | function about() { |
| 11 | 11 | return array(1.0, |
@@ -167,30 +167,30 @@ discard block |
||
| 167 | 167 | |
| 168 | 168 | Debug::log("status: $status_filename", Debug::$LOG_VERBOSE); |
| 169 | 169 | |
| 170 | - if ($this->cache->exists($status_filename)) |
|
| 171 | - $status = json_decode($this->cache->get($status_filename), true); |
|
| 172 | - else |
|
| 173 | - $status = []; |
|
| 170 | + if ($this->cache->exists($status_filename)) |
|
| 171 | + $status = json_decode($this->cache->get($status_filename), true); |
|
| 172 | + else |
|
| 173 | + $status = []; |
|
| 174 | 174 | |
| 175 | - $status["attempt"] += 1; |
|
| 175 | + $status["attempt"] += 1; |
|
| 176 | 176 | |
| 177 | - // only allow several download attempts for article |
|
| 178 | - if ($status["attempt"] > $this->max_cache_attempts) { |
|
| 179 | - Debug::log("too many attempts for $site_url", Debug::$LOG_VERBOSE); |
|
| 180 | - return false; |
|
| 181 | - } |
|
| 177 | + // only allow several download attempts for article |
|
| 178 | + if ($status["attempt"] > $this->max_cache_attempts) { |
|
| 179 | + Debug::log("too many attempts for $site_url", Debug::$LOG_VERBOSE); |
|
| 180 | + return false; |
|
| 181 | + } |
|
| 182 | 182 | |
| 183 | - if (!$this->cache->put($status_filename, json_encode($status))) { |
|
| 184 | - user_error("unable to write status file: $status_filename", E_USER_WARNING); |
|
| 185 | - return false; |
|
| 186 | - } |
|
| 183 | + if (!$this->cache->put($status_filename, json_encode($status))) { |
|
| 184 | + user_error("unable to write status file: $status_filename", E_USER_WARNING); |
|
| 185 | + return false; |
|
| 186 | + } |
|
| 187 | 187 | |
| 188 | 188 | $doc = new DOMDocument(); |
| 189 | 189 | |
| 190 | 190 | $has_images = false; |
| 191 | 191 | $success = false; |
| 192 | 192 | |
| 193 | - if ($doc->loadHTML('<?xml encoding="UTF-8">' . $content)) { |
|
| 193 | + if ($doc->loadHTML('<?xml encoding="UTF-8">' . $content)) { |
|
| 194 | 194 | $xpath = new DOMXPath($doc); |
| 195 | 195 | $entries = $xpath->query('(//img[@src])|(//video/source[@src])'); |
| 196 | 196 | |
@@ -212,11 +212,11 @@ discard block |
||
| 212 | 212 | $esth = $this->pdo->prepare("SELECT content_url FROM ttrss_enclosures WHERE post_id = ? AND |
| 213 | 213 | (content_type LIKE '%image%' OR content_type LIKE '%video%')"); |
| 214 | 214 | |
| 215 | - if ($esth->execute([$article_id])) { |
|
| 216 | - while ($enc = $esth->fetch()) { |
|
| 215 | + if ($esth->execute([$article_id])) { |
|
| 216 | + while ($enc = $esth->fetch()) { |
|
| 217 | 217 | |
| 218 | - $has_images = true; |
|
| 219 | - $url = rewrite_relative_url($site_url, $enc["content_url"]); |
|
| 218 | + $has_images = true; |
|
| 219 | + $url = rewrite_relative_url($site_url, $enc["content_url"]); |
|
| 220 | 220 | |
| 221 | 221 | if ($this->cache_url($article_id, $url)) { |
| 222 | 222 | $success = true; |
@@ -17,11 +17,13 @@ discard block |
||
| 17 | 17 | $this->host = $host; |
| 18 | 18 | $this->cache = new DiskCache("starred-images"); |
| 19 | 19 | |
| 20 | - if ($this->cache->makeDir()) |
|
| 21 | - chmod($this->cache->getDir(), 0777); |
|
| 20 | + if ($this->cache->makeDir()) { |
|
| 21 | + chmod($this->cache->getDir(), 0777); |
|
| 22 | + } |
|
| 22 | 23 | |
| 23 | - if (!$this->cache->exists(".no-auto-expiry")) |
|
| 24 | - $this->cache->touch(".no-auto-expiry"); |
|
| 24 | + if (!$this->cache->exists(".no-auto-expiry")) { |
|
| 25 | + $this->cache->touch(".no-auto-expiry"); |
|
| 26 | + } |
|
| 25 | 27 | |
| 26 | 28 | if ($this->cache->isWritable()) { |
| 27 | 29 | $host->add_hook($host::HOOK_HOUSE_KEEPING, $this); |
@@ -141,8 +143,10 @@ discard block |
||
| 141 | 143 | |
| 142 | 144 | $data = fetch_file_contents(["url" => $url, "max_size" => MAX_CACHE_FILE_SIZE]); |
| 143 | 145 | |
| 144 | - if ($data) |
|
| 145 | - return $this->cache->put($local_filename, $data);; |
|
| 146 | + if ($data) { |
|
| 147 | + return $this->cache->put($local_filename, $data); |
|
| 148 | + } |
|
| 149 | + ; |
|
| 146 | 150 | |
| 147 | 151 | } else { |
| 148 | 152 | //Debug::log("cache_images: local file exists for $url", Debug::$LOG_VERBOSE); |
@@ -167,10 +171,11 @@ discard block |
||
| 167 | 171 | |
| 168 | 172 | Debug::log("status: $status_filename", Debug::$LOG_VERBOSE); |
| 169 | 173 | |
| 170 | - if ($this->cache->exists($status_filename)) |
|
| 171 | - $status = json_decode($this->cache->get($status_filename), true); |
|
| 172 | - else |
|
| 173 | - $status = []; |
|
| 174 | + if ($this->cache->exists($status_filename)) { |
|
| 175 | + $status = json_decode($this->cache->get($status_filename), true); |
|
| 176 | + } else { |
|
| 177 | + $status = []; |
|
| 178 | + } |
|
| 174 | 179 | |
| 175 | 180 | $status["attempt"] += 1; |
| 176 | 181 | |
@@ -35,7 +35,7 @@ discard block |
||
| 35 | 35 | function hook_house_keeping() { |
| 36 | 36 | /* since HOOK_UPDATE_TASK is not available to user plugins, this hook is a next best thing */ |
| 37 | 37 | |
| 38 | - Debug::log("caching media of starred articles for user " . $this->host->get_owner_uid() . "..."); |
|
| 38 | + Debug::log("caching media of starred articles for user ".$this->host->get_owner_uid()."..."); |
|
| 39 | 39 | |
| 40 | 40 | $sth = $this->pdo->prepare("SELECT content, ttrss_entries.title, |
| 41 | 41 | ttrss_user_entries.owner_uid, link, site_url, ttrss_entries.id, plugin_data |
@@ -53,13 +53,13 @@ discard block |
||
| 53 | 53 | $usth = $this->pdo->prepare("UPDATE ttrss_entries SET plugin_data = ? WHERE id = ?"); |
| 54 | 54 | |
| 55 | 55 | while ($line = $sth->fetch()) { |
| 56 | - Debug::log("processing article " . $line["title"], Debug::$LOG_VERBOSE); |
|
| 56 | + Debug::log("processing article ".$line["title"], Debug::$LOG_VERBOSE); |
|
| 57 | 57 | |
| 58 | 58 | if ($line["site_url"]) { |
| 59 | 59 | $success = $this->cache_article_images($line["content"], $line["site_url"], $line["owner_uid"], $line["id"]); |
| 60 | 60 | |
| 61 | 61 | if ($success) { |
| 62 | - $plugin_data = "starred_cache_images,${line['owner_uid']}:" . $line["plugin_data"]; |
|
| 62 | + $plugin_data = "starred_cache_images,${line['owner_uid']}:".$line["plugin_data"]; |
|
| 63 | 63 | |
| 64 | 64 | $usth->execute([$plugin_data, $line['id']]); |
| 65 | 65 | } |
@@ -69,9 +69,9 @@ discard block |
||
| 69 | 69 | |
| 70 | 70 | /* actual housekeeping */ |
| 71 | 71 | |
| 72 | - Debug::log("expiring " . $this->cache->getDir() . "..."); |
|
| 72 | + Debug::log("expiring ".$this->cache->getDir()."..."); |
|
| 73 | 73 | |
| 74 | - $files = glob($this->cache->getDir() . "/*.{png,mp4,status}", GLOB_BRACE); |
|
| 74 | + $files = glob($this->cache->getDir()."/*.{png,mp4,status}", GLOB_BRACE); |
|
| 75 | 75 | |
| 76 | 76 | $last_article_id = 0; |
| 77 | 77 | $article_exists = 1; |
@@ -95,7 +95,7 @@ discard block |
||
| 95 | 95 | } |
| 96 | 96 | |
| 97 | 97 | function hook_enclosure_entry($enc, $article_id) { |
| 98 | - $local_filename = $article_id . "-" . sha1($enc["content_url"]); |
|
| 98 | + $local_filename = $article_id."-".sha1($enc["content_url"]); |
|
| 99 | 99 | |
| 100 | 100 | if ($this->cache->exists($local_filename)) { |
| 101 | 101 | $enc["content_url"] = $this->cache->getUrl($local_filename); |
@@ -114,7 +114,7 @@ discard block |
||
| 114 | 114 | if ($entry->hasAttribute('src')) { |
| 115 | 115 | $src = rewrite_relative_url($site_url, $entry->getAttribute('src')); |
| 116 | 116 | |
| 117 | - $local_filename = $article_id . "-" . sha1($src); |
|
| 117 | + $local_filename = $article_id."-".sha1($src); |
|
| 118 | 118 | |
| 119 | 119 | if ($this->cache->exists($local_filename)) { |
| 120 | 120 | $entry->setAttribute("src", $this->cache->getUrl($local_filename)); |
@@ -128,7 +128,7 @@ discard block |
||
| 128 | 128 | } |
| 129 | 129 | |
| 130 | 130 | private function cache_url($article_id, $url) { |
| 131 | - $local_filename = $article_id . "-" . sha1($url); |
|
| 131 | + $local_filename = $article_id."-".sha1($url); |
|
| 132 | 132 | |
| 133 | 133 | if (!$this->cache->exists($local_filename)) { |
| 134 | 134 | Debug::log("cache_images: downloading: $url to $local_filename", Debug::$LOG_VERBOSE); |
@@ -136,7 +136,7 @@ discard block |
||
| 136 | 136 | $data = fetch_file_contents(["url" => $url, "max_size" => MAX_CACHE_FILE_SIZE]); |
| 137 | 137 | |
| 138 | 138 | if ($data) |
| 139 | - return $this->cache->put($local_filename, $data);; |
|
| 139 | + return $this->cache->put($local_filename, $data); ; |
|
| 140 | 140 | |
| 141 | 141 | } else { |
| 142 | 142 | //Debug::log("cache_images: local file exists for $url", Debug::$LOG_VERBOSE); |
@@ -148,7 +148,7 @@ discard block |
||
| 148 | 148 | } |
| 149 | 149 | |
| 150 | 150 | private function cache_article_images($content, $site_url, $owner_uid, $article_id) { |
| 151 | - $status_filename = $article_id . "-" . sha1($site_url) . ".status"; |
|
| 151 | + $status_filename = $article_id."-".sha1($site_url).".status"; |
|
| 152 | 152 | |
| 153 | 153 | /* housekeeping might run as a separate user, in this case status/media might not be writable */ |
| 154 | 154 | if (!$this->cache->isWritable($status_filename)) { |
@@ -181,7 +181,7 @@ discard block |
||
| 181 | 181 | $has_images = false; |
| 182 | 182 | $success = false; |
| 183 | 183 | |
| 184 | - if ($doc->loadHTML('<?xml encoding="UTF-8">' . $content)) { |
|
| 184 | + if ($doc->loadHTML('<?xml encoding="UTF-8">'.$content)) { |
|
| 185 | 185 | $xpath = new DOMXPath($doc); |
| 186 | 186 | $entries = $xpath->query('(//img[@src])|(//video/source[@src])'); |
| 187 | 187 | |
@@ -15,7 +15,7 @@ discard block |
||
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | function get_js() { |
| 18 | - return file_get_contents(dirname(__FILE__) . "/init.js"); |
|
| 18 | + return file_get_contents(dirname(__FILE__)."/init.js"); |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | function hook_article_button($line) { |
@@ -46,7 +46,7 @@ discard block |
||
| 46 | 46 | $sth->execute(array_merge($ids, [$_SESSION['uid']])); |
| 47 | 47 | |
| 48 | 48 | if (count($ids) > 1) { |
| 49 | - $subject = __("[Forwarded]") . " " . __("Multiple articles"); |
|
| 49 | + $subject = __("[Forwarded]")." ".__("Multiple articles"); |
|
| 50 | 50 | } else { |
| 51 | 51 | $subject = ""; |
| 52 | 52 | } |
@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | while ($line = $sth->fetch()) { |
| 55 | 55 | |
| 56 | 56 | if (!$subject) |
| 57 | - $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]); |
|
| 57 | + $subject = __("[Forwarded]")." ".htmlspecialchars($line["title"]); |
|
| 58 | 58 | |
| 59 | 59 | $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"])); |
| 60 | 60 | $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"])); |
@@ -53,8 +53,9 @@ |
||
| 53 | 53 | |
| 54 | 54 | while ($line = $sth->fetch()) { |
| 55 | 55 | |
| 56 | - if (!$subject) |
|
| 57 | - $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]); |
|
| 56 | + if (!$subject) { |
|
| 57 | + $subject = __("[Forwarded]") . " " . htmlspecialchars($line["title"]); |
|
| 58 | + } |
|
| 58 | 59 | |
| 59 | 60 | $tpl->setVariable('ARTICLE_TITLE', strip_tags($line["title"])); |
| 60 | 61 | $tpl->setVariable('ARTICLE_URL', strip_tags($line["link"])); |
@@ -16,7 +16,7 @@ |
||
| 16 | 16 | } |
| 17 | 17 | |
| 18 | 18 | function get_js() { |
| 19 | - return file_get_contents(__DIR__ . "/init.js"); |
|
| 19 | + return file_get_contents(__DIR__."/init.js"); |
|
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | function hook_main_toolbar_button() { |
@@ -17,7 +17,7 @@ |
||
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | function get_js() { |
| 20 | - return file_get_contents(dirname(__FILE__) . "/note.js"); |
|
| 20 | + return file_get_contents(dirname(__FILE__)."/note.js"); |
|
| 21 | 21 | } |
| 22 | 22 | |
| 23 | 23 | |
@@ -19,7 +19,7 @@ |
||
| 19 | 19 | |
| 20 | 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 | 24 | if ($doc) { |
| 25 | 25 | $xpath = new DOMXPath($doc); |
@@ -24,14 +24,14 @@ |
||
| 24 | 24 | $er = error_reporting(E_ALL); |
| 25 | 25 | |
| 26 | 26 | switch (DB_TYPE) { |
| 27 | - case "mysql": |
|
| 28 | - $this->adapter = new Db_Mysqli(); |
|
| 29 | - break; |
|
| 30 | - case "pgsql": |
|
| 31 | - $this->adapter = new Db_Pgsql(); |
|
| 32 | - break; |
|
| 33 | - default: |
|
| 34 | - die("Unknown DB_TYPE: " . DB_TYPE); |
|
| 27 | + case "mysql": |
|
| 28 | + $this->adapter = new Db_Mysqli(); |
|
| 29 | + break; |
|
| 30 | + case "pgsql": |
|
| 31 | + $this->adapter = new Db_Pgsql(); |
|
| 32 | + break; |
|
| 33 | + default: |
|
| 34 | + die("Unknown DB_TYPE: " . DB_TYPE); |
|
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | if (!$this->adapter) { |
@@ -19,7 +19,7 @@ discard block |
||
| 19 | 19 | |
| 20 | 20 | private function legacy_connect() { |
| 21 | 21 | |
| 22 | - user_error("Legacy connect requested to " . DB_TYPE, E_USER_NOTICE); |
|
| 22 | + user_error("Legacy connect requested to ".DB_TYPE, E_USER_NOTICE); |
|
| 23 | 23 | |
| 24 | 24 | $er = error_reporting(E_ALL); |
| 25 | 25 | |
@@ -31,18 +31,18 @@ discard block |
||
| 31 | 31 | $this->adapter = new Db_Pgsql(); |
| 32 | 32 | break; |
| 33 | 33 | default: |
| 34 | - die("Unknown DB_TYPE: " . DB_TYPE); |
|
| 34 | + die("Unknown DB_TYPE: ".DB_TYPE); |
|
| 35 | 35 | } |
| 36 | 36 | |
| 37 | 37 | if (!$this->adapter) { |
| 38 | - print("Error initializing database adapter for " . DB_TYPE); |
|
| 38 | + print("Error initializing database adapter for ".DB_TYPE); |
|
| 39 | 39 | exit(100); |
| 40 | 40 | } |
| 41 | 41 | |
| 42 | 42 | $this->link = $this->adapter->connect(DB_HOST, DB_USER, DB_PASS, DB_NAME, defined('DB_PORT') ? DB_PORT : ""); |
| 43 | 43 | |
| 44 | 44 | if (!$this->link) { |
| 45 | - print("Error connecting through adapter: " . $this->adapter->last_error()); |
|
| 45 | + print("Error connecting through adapter: ".$this->adapter->last_error()); |
|
| 46 | 46 | exit(101); |
| 47 | 47 | } |
| 48 | 48 | |
@@ -53,15 +53,15 @@ discard block |
||
| 53 | 53 | // normal usage is Db::pdo()->prepare(...) etc |
| 54 | 54 | public function pdo_connect() { |
| 55 | 55 | |
| 56 | - $db_port = defined('DB_PORT') && DB_PORT ? ';port=' . DB_PORT : ''; |
|
| 57 | - $db_host = defined('DB_HOST') && DB_HOST ? ';host=' . DB_HOST : ''; |
|
| 56 | + $db_port = defined('DB_PORT') && DB_PORT ? ';port='.DB_PORT : ''; |
|
| 57 | + $db_host = defined('DB_HOST') && DB_HOST ? ';host='.DB_HOST : ''; |
|
| 58 | 58 | |
| 59 | 59 | try { |
| 60 | - $pdo = new PDO(DB_TYPE . ':dbname=' . DB_NAME . $db_host . $db_port, |
|
| 60 | + $pdo = new PDO(DB_TYPE.':dbname='.DB_NAME.$db_host.$db_port, |
|
| 61 | 61 | DB_USER, |
| 62 | 62 | DB_PASS); |
| 63 | 63 | } catch (Exception $e) { |
| 64 | - print "<pre>Exception while creating PDO object:" . $e->getMessage() . "</pre>"; |
|
| 64 | + print "<pre>Exception while creating PDO object:".$e->getMessage()."</pre>"; |
|
| 65 | 65 | exit(101); |
| 66 | 66 | } |
| 67 | 67 | |
@@ -78,7 +78,7 @@ discard block |
||
| 78 | 78 | $pdo->query("SET time_zone = '+0:0'"); |
| 79 | 79 | |
| 80 | 80 | if (defined('MYSQL_CHARSET') && MYSQL_CHARSET) { |
| 81 | - $pdo->query("SET NAMES " . MYSQL_CHARSET); |
|
| 81 | + $pdo->query("SET NAMES ".MYSQL_CHARSET); |
|
| 82 | 82 | } |
| 83 | 83 | } |
| 84 | 84 | |
@@ -86,15 +86,17 @@ discard block |
||
| 86 | 86 | } |
| 87 | 87 | |
| 88 | 88 | public static function instance() { |
| 89 | - if (self::$instance == null) |
|
| 90 | - self::$instance = new self(); |
|
| 89 | + if (self::$instance == null) { |
|
| 90 | + self::$instance = new self(); |
|
| 91 | + } |
|
| 91 | 92 | |
| 92 | 93 | return self::$instance; |
| 93 | 94 | } |
| 94 | 95 | |
| 95 | 96 | public static function get() { |
| 96 | - if (self::$instance == null) |
|
| 97 | - self::$instance = new self(); |
|
| 97 | + if (self::$instance == null) { |
|
| 98 | + self::$instance = new self(); |
|
| 99 | + } |
|
| 98 | 100 | |
| 99 | 101 | if (!self::$instance->adapter) { |
| 100 | 102 | self::$instance->legacy_connect(); |
@@ -104,8 +106,9 @@ discard block |
||
| 104 | 106 | } |
| 105 | 107 | |
| 106 | 108 | public static function pdo() { |
| 107 | - if (self::$instance == null) |
|
| 108 | - self::$instance = new self(); |
|
| 109 | + if (self::$instance == null) { |
|
| 110 | + self::$instance = new self(); |
|
| 111 | + } |
|
| 109 | 112 | |
| 110 | 113 | if (!self::$instance->pdo) { |
| 111 | 114 | self::$instance->pdo = self::$instance->pdo_connect(); |
@@ -3,7 +3,7 @@ discard block |
||
| 3 | 3 | private $dir; |
| 4 | 4 | |
| 5 | 5 | public function __construct($dir) { |
| 6 | - $this->dir = CACHE_DIR . "/" . clean_filename($dir); |
|
| 6 | + $this->dir = CACHE_DIR."/".clean_filename($dir); |
|
| 7 | 7 | } |
| 8 | 8 | |
| 9 | 9 | public function getDir() { |
@@ -41,7 +41,7 @@ discard block |
||
| 41 | 41 | public function getFullPath($filename) { |
| 42 | 42 | $filename = clean_filename($filename); |
| 43 | 43 | |
| 44 | - return $this->dir . "/" . $filename; |
|
| 44 | + return $this->dir."/".$filename; |
|
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | public function put($filename, $data) { |
@@ -73,7 +73,7 @@ discard block |
||
| 73 | 73 | } |
| 74 | 74 | |
| 75 | 75 | public function getUrl($filename) { |
| 76 | - return get_self_url_prefix() . "/public.php?op=cached_url&file=" . basename($this->dir) . "/" . $filename; |
|
| 76 | + return get_self_url_prefix()."/public.php?op=cached_url&file=".basename($this->dir)."/".$filename; |
|
| 77 | 77 | } |
| 78 | 78 | |
| 79 | 79 | // check for locally cached (media) URLs and rewrite to local versions |
@@ -85,7 +85,7 @@ discard block |
||
| 85 | 85 | if (!$res) return ''; |
| 86 | 86 | |
| 87 | 87 | $doc = new DOMDocument(); |
| 88 | - if ($doc->loadHTML('<?xml encoding="UTF-8">' . $res)) { |
|
| 88 | + if ($doc->loadHTML('<?xml encoding="UTF-8">'.$res)) { |
|
| 89 | 89 | $xpath = new DOMXPath($doc); |
| 90 | 90 | $cache = new DiskCache("images"); |
| 91 | 91 | |
@@ -126,7 +126,7 @@ discard block |
||
| 126 | 126 | } |
| 127 | 127 | |
| 128 | 128 | static function expire() { |
| 129 | - $dirs = array_filter(glob(CACHE_DIR . "/*"), "is_dir"); |
|
| 129 | + $dirs = array_filter(glob(CACHE_DIR."/*"), "is_dir"); |
|
| 130 | 130 | |
| 131 | 131 | foreach ($dirs as $cache_dir) { |
| 132 | 132 | $num_deleted = 0; |
@@ -136,7 +136,7 @@ discard block |
||
| 136 | 136 | |
| 137 | 137 | if ($files) { |
| 138 | 138 | foreach ($files as $file) { |
| 139 | - if (time() - filemtime($file) > 86400*CACHE_MAX_DAYS) { |
|
| 139 | + if (time() - filemtime($file) > 86400 * CACHE_MAX_DAYS) { |
|
| 140 | 140 | unlink($file); |
| 141 | 141 | |
| 142 | 142 | ++$num_deleted; |
@@ -18,10 +18,11 @@ discard block |
||
| 18 | 18 | |
| 19 | 19 | public function isWritable($filename = "") { |
| 20 | 20 | if ($filename) { |
| 21 | - if (file_exists($this->getFullPath($filename))) |
|
| 22 | - return is_writable($this->getFullPath($filename)); |
|
| 23 | - else |
|
| 24 | - return is_writable($this->dir); |
|
| 21 | + if (file_exists($this->getFullPath($filename))) { |
|
| 22 | + return is_writable($this->getFullPath($filename)); |
|
| 23 | + } else { |
|
| 24 | + return is_writable($this->dir); |
|
| 25 | + } |
|
| 25 | 26 | } else { |
| 26 | 27 | return is_writable($this->dir); |
| 27 | 28 | } |
@@ -32,10 +33,11 @@ discard block |
||
| 32 | 33 | } |
| 33 | 34 | |
| 34 | 35 | public function getSize($filename) { |
| 35 | - if ($this->exists($filename)) |
|
| 36 | - return filesize($this->getFullPath($filename)); |
|
| 37 | - else |
|
| 38 | - return -1; |
|
| 36 | + if ($this->exists($filename)) { |
|
| 37 | + return filesize($this->getFullPath($filename)); |
|
| 38 | + } else { |
|
| 39 | + return -1; |
|
| 40 | + } |
|
| 39 | 41 | } |
| 40 | 42 | |
| 41 | 43 | public function getFullPath($filename) { |
@@ -53,17 +55,19 @@ discard block |
||
| 53 | 55 | } |
| 54 | 56 | |
| 55 | 57 | public function get($filename) { |
| 56 | - if ($this->exists($filename)) |
|
| 57 | - return file_get_contents($this->getFullPath($filename)); |
|
| 58 | - else |
|
| 59 | - return null; |
|
| 58 | + if ($this->exists($filename)) { |
|
| 59 | + return file_get_contents($this->getFullPath($filename)); |
|
| 60 | + } else { |
|
| 61 | + return null; |
|
| 62 | + } |
|
| 60 | 63 | } |
| 61 | 64 | |
| 62 | 65 | public function getMimeType($filename) { |
| 63 | - if ($this->exists($filename)) |
|
| 64 | - return mime_content_type($this->getFullPath($filename)); |
|
| 65 | - else |
|
| 66 | - return null; |
|
| 66 | + if ($this->exists($filename)) { |
|
| 67 | + return mime_content_type($this->getFullPath($filename)); |
|
| 68 | + } else { |
|
| 69 | + return null; |
|
| 70 | + } |
|
| 67 | 71 | } |
| 68 | 72 | |
| 69 | 73 | public function send($filename) { |
@@ -82,7 +86,9 @@ discard block |
||
| 82 | 86 | static public function rewriteUrls($str) |
| 83 | 87 | { |
| 84 | 88 | $res = trim($str); |
| 85 | - if (!$res) return ''; |
|
| 89 | + if (!$res) { |
|
| 90 | + return ''; |
|
| 91 | + } |
|
| 86 | 92 | |
| 87 | 93 | $doc = new DOMDocument(); |
| 88 | 94 | if ($doc->loadHTML('<?xml encoding="UTF-8">' . $res)) { |
@@ -105,9 +111,9 @@ discard block |
||
| 105 | 111 | |
| 106 | 112 | $src = $cache->getUrl(sha1($src)); |
| 107 | 113 | |
| 108 | - if ($entry->hasAttribute('poster')) |
|
| 109 | - $entry->setAttribute('poster', $src); |
|
| 110 | - else { |
|
| 114 | + if ($entry->hasAttribute('poster')) { |
|
| 115 | + $entry->setAttribute('poster', $src); |
|
| 116 | + } else { |
|
| 111 | 117 | $entry->setAttribute('src', $src); |
| 112 | 118 | $entry->removeAttribute("srcset"); |
| 113 | 119 | } |
@@ -38,7 +38,7 @@ |
||
| 38 | 38 | return 0; |
| 39 | 39 | } |
| 40 | 40 | |
| 41 | - $headers = [ "From: $from_combined", "Content-Type: text/plain; charset=UTF-8" ]; |
|
| 41 | + $headers = ["From: $from_combined", "Content-Type: text/plain; charset=UTF-8"]; |
|
| 42 | 42 | |
| 43 | 43 | return mail($to_combined, $subject, $message, implode("\r\n", array_merge($headers, $additional_headers))); |
| 44 | 44 | } |
@@ -19,8 +19,9 @@ discard block |
||
| 19 | 19 | $from_combined = $from_name ? "$from_name <$from_address>" : $from_address; |
| 20 | 20 | $to_combined = $to_name ? "$to_name <$to_address>" : $to_address; |
| 21 | 21 | |
| 22 | - if (defined('_LOG_SENT_MAIL') && _LOG_SENT_MAIL) |
|
| 23 | - Logger::get()->log("Sending mail from $from_combined to $to_combined [$subject]: $message"); |
|
| 22 | + if (defined('_LOG_SENT_MAIL') && _LOG_SENT_MAIL) { |
|
| 23 | + Logger::get()->log("Sending mail from $from_combined to $to_combined [$subject]: $message"); |
|
| 24 | + } |
|
| 24 | 25 | |
| 25 | 26 | // HOOK_SEND_MAIL plugin instructions: |
| 26 | 27 | // 1. return 1 or true if mail is handled |
@@ -31,11 +32,13 @@ discard block |
||
| 31 | 32 | foreach (PluginHost::getInstance()->get_hooks(PluginHost::HOOK_SEND_MAIL) as $p) { |
| 32 | 33 | $rc = $p->hook_send_mail($this, $params); |
| 33 | 34 | |
| 34 | - if ($rc == 1) |
|
| 35 | - return $rc; |
|
| 35 | + if ($rc == 1) { |
|
| 36 | + return $rc; |
|
| 37 | + } |
|
| 36 | 38 | |
| 37 | - if ($rc == -1) |
|
| 38 | - return 0; |
|
| 39 | + if ($rc == -1) { |
|
| 40 | + return 0; |
|
| 41 | + } |
|
| 39 | 42 | } |
| 40 | 43 | |
| 41 | 44 | $headers = [ "From: $from_combined", "Content-Type: text/plain; charset=UTF-8" ]; |
@@ -194,12 +194,12 @@ discard block |
||
| 194 | 194 | !is_dir(__DIR__."/../plugins.local/$class_file")) continue; |
| 195 | 195 | |
| 196 | 196 | // try system plugin directory first |
| 197 | - $file = __DIR__ . "/../plugins/$class_file/init.php"; |
|
| 198 | - $vendor_dir = __DIR__ . "/../plugins/$class_file/vendor"; |
|
| 197 | + $file = __DIR__."/../plugins/$class_file/init.php"; |
|
| 198 | + $vendor_dir = __DIR__."/../plugins/$class_file/vendor"; |
|
| 199 | 199 | |
| 200 | 200 | if (!file_exists($file)) { |
| 201 | - $file = __DIR__ . "/../plugins.local/$class_file/init.php"; |
|
| 202 | - $vendor_dir = __DIR__ . "/../plugins.local/$class_file/vendor"; |
|
| 201 | + $file = __DIR__."/../plugins.local/$class_file/init.php"; |
|
| 202 | + $vendor_dir = __DIR__."/../plugins.local/$class_file/vendor"; |
|
| 203 | 203 | } |
| 204 | 204 | |
| 205 | 205 | if (!isset($this->plugins[$class])) { |
@@ -217,7 +217,7 @@ discard block |
||
| 217 | 217 | list ($namespace, $class_name) = explode('\\', $class, 2); |
| 218 | 218 | |
| 219 | 219 | if ($namespace && $class_name) { |
| 220 | - $class_file = "$vendor_dir/$namespace/" . str_replace('\\', '/', $class_name) . ".php"; |
|
| 220 | + $class_file = "$vendor_dir/$namespace/".str_replace('\\', '/', $class_name).".php"; |
|
| 221 | 221 | |
| 222 | 222 | if (file_exists($class_file)) |
| 223 | 223 | require_once $class_file; |
@@ -231,12 +231,12 @@ discard block |
||
| 231 | 231 | $plugin_api = $plugin->api_version(); |
| 232 | 232 | |
| 233 | 233 | if ($plugin_api < PluginHost::API_VERSION) { |
| 234 | - user_error("Plugin $class is not compatible with current API version (need: " . PluginHost::API_VERSION . ", got: $plugin_api)", E_USER_WARNING); |
|
| 234 | + user_error("Plugin $class is not compatible with current API version (need: ".PluginHost::API_VERSION.", got: $plugin_api)", E_USER_WARNING); |
|
| 235 | 235 | continue; |
| 236 | 236 | } |
| 237 | 237 | |
| 238 | - if (file_exists(dirname($file) . "/locale")) { |
|
| 239 | - _bindtextdomain($class, dirname($file) . "/locale"); |
|
| 238 | + if (file_exists(dirname($file)."/locale")) { |
|
| 239 | + _bindtextdomain($class, dirname($file)."/locale"); |
|
| 240 | 240 | _bind_textdomain_codeset($class, "UTF-8"); |
| 241 | 241 | } |
| 242 | 242 | |
@@ -319,13 +319,13 @@ discard block |
||
| 319 | 319 | } |
| 320 | 320 | |
| 321 | 321 | function del_command($command) { |
| 322 | - $command = "-" . strtolower($command); |
|
| 322 | + $command = "-".strtolower($command); |
|
| 323 | 323 | |
| 324 | 324 | unset($this->commands[$command]); |
| 325 | 325 | } |
| 326 | 326 | |
| 327 | 327 | function lookup_command($command) { |
| 328 | - $command = "-" . strtolower($command); |
|
| 328 | + $command = "-".strtolower($command); |
|
| 329 | 329 | |
| 330 | 330 | if (is_array($this->commands[$command])) { |
| 331 | 331 | return $this->commands[$command]["class"]; |
@@ -348,7 +348,7 @@ discard block |
||
| 348 | 348 | } |
| 349 | 349 | |
| 350 | 350 | function load_data() { |
| 351 | - if ($this->owner_uid) { |
|
| 351 | + if ($this->owner_uid) { |
|
| 352 | 352 | $sth = $this->pdo->prepare("SELECT name, content FROM ttrss_plugin_storage |
| 353 | 353 | WHERE owner_uid = ?"); |
| 354 | 354 | $sth->execute([$this->owner_uid]); |
@@ -375,13 +375,13 @@ discard block |
||
| 375 | 375 | if ($sth->fetch()) { |
| 376 | 376 | $sth = $this->pdo->prepare("UPDATE ttrss_plugin_storage SET content = ? |
| 377 | 377 | WHERE owner_uid= ? AND name = ?"); |
| 378 | - $sth->execute([(string)$content, $this->owner_uid, $plugin]); |
|
| 378 | + $sth->execute([(string) $content, $this->owner_uid, $plugin]); |
|
| 379 | 379 | |
| 380 | 380 | } else { |
| 381 | 381 | $sth = $this->pdo->prepare("INSERT INTO ttrss_plugin_storage |
| 382 | 382 | (name,owner_uid,content) VALUES |
| 383 | 383 | (?, ?, ?)"); |
| 384 | - $sth->execute([$plugin, $this->owner_uid, (string)$content]); |
|
| 384 | + $sth->execute([$plugin, $this->owner_uid, (string) $content]); |
|
| 385 | 385 | } |
| 386 | 386 | |
| 387 | 387 | $this->pdo->commit(); |
@@ -495,8 +495,8 @@ discard block |
||
| 495 | 495 | } |
| 496 | 496 | |
| 497 | 497 | // handled by classes/pluginhandler.php, requires valid session |
| 498 | - function get_method_url($sender, $method, $params) { |
|
| 499 | - return get_self_url_prefix() . "/backend.php?" . |
|
| 498 | + function get_method_url($sender, $method, $params) { |
|
| 499 | + return get_self_url_prefix()."/backend.php?". |
|
| 500 | 500 | http_build_query( |
| 501 | 501 | array_merge( |
| 502 | 502 | [ |
@@ -508,9 +508,9 @@ discard block |
||
| 508 | 508 | } |
| 509 | 509 | |
| 510 | 510 | // WARNING: endpoint in public.php, exposed to unauthenticated users |
| 511 | - function get_public_method_url($sender, $method, $params) { |
|
| 511 | + function get_public_method_url($sender, $method, $params) { |
|
| 512 | 512 | if ($sender->is_public_method($method)) { |
| 513 | - return get_self_url_prefix() . "/public.php?" . |
|
| 513 | + return get_self_url_prefix()."/public.php?". |
|
| 514 | 514 | http_build_query( |
| 515 | 515 | array_merge( |
| 516 | 516 | [ |
@@ -520,7 +520,7 @@ discard block |
||
| 520 | 520 | ], |
| 521 | 521 | $params)); |
| 522 | 522 | } else { |
| 523 | - user_error("get_public_method_url: requested method '$method' of '" . get_class($sender) . "' is private."); |
|
| 523 | + user_error("get_public_method_url: requested method '$method' of '".get_class($sender)."' is private."); |
|
| 524 | 524 | } |
| 525 | 525 | } |
| 526 | 526 | } |
@@ -82,8 +82,9 @@ discard block |
||
| 82 | 82 | } |
| 83 | 83 | |
| 84 | 84 | public static function getInstance() { |
| 85 | - if (self::$instance == null) |
|
| 86 | - self::$instance = new self(); |
|
| 85 | + if (self::$instance == null) { |
|
| 86 | + self::$instance = new self(); |
|
| 87 | + } |
|
| 87 | 88 | |
| 88 | 89 | return self::$instance; |
| 89 | 90 | } |
@@ -191,7 +192,9 @@ discard block |
||
| 191 | 192 | $class_file = strtolower(clean_filename($class)); |
| 192 | 193 | |
| 193 | 194 | if (!is_dir(__DIR__."/../plugins/$class_file") && |
| 194 | - !is_dir(__DIR__."/../plugins.local/$class_file")) continue; |
|
| 195 | + !is_dir(__DIR__."/../plugins.local/$class_file")) { |
|
| 196 | + continue; |
|
| 197 | + } |
|
| 195 | 198 | |
| 196 | 199 | // try system plugin directory first |
| 197 | 200 | $file = __DIR__ . "/../plugins/$class_file/init.php"; |
@@ -203,7 +206,9 @@ discard block |
||
| 203 | 206 | } |
| 204 | 207 | |
| 205 | 208 | if (!isset($this->plugins[$class])) { |
| 206 | - if (file_exists($file)) require_once $file; |
|
| 209 | + if (file_exists($file)) { |
|
| 210 | + require_once $file; |
|
| 211 | + } |
|
| 207 | 212 | |
| 208 | 213 | if (class_exists($class) && is_subclass_of($class, "Plugin")) { |
| 209 | 214 | |
@@ -219,8 +224,9 @@ discard block |
||
| 219 | 224 | if ($namespace && $class_name) { |
| 220 | 225 | $class_file = "$vendor_dir/$namespace/" . str_replace('\\', '/', $class_name) . ".php"; |
| 221 | 226 | |
| 222 | - if (file_exists($class_file)) |
|
| 223 | - require_once $class_file; |
|
| 227 | + if (file_exists($class_file)) { |
|
| 228 | + require_once $class_file; |
|
| 229 | + } |
|
| 224 | 230 | } |
| 225 | 231 | } |
| 226 | 232 | }); |
@@ -245,18 +251,24 @@ discard block |
||
| 245 | 251 | switch ($kind) { |
| 246 | 252 | case $this::KIND_SYSTEM: |
| 247 | 253 | if ($this->is_system($plugin)) { |
| 248 | - if (!$skip_init) $plugin->init($this); |
|
| 254 | + if (!$skip_init) { |
|
| 255 | + $plugin->init($this); |
|
| 256 | + } |
|
| 249 | 257 | $this->register_plugin($class, $plugin); |
| 250 | 258 | } |
| 251 | 259 | break; |
| 252 | 260 | case $this::KIND_USER: |
| 253 | 261 | if (!$this->is_system($plugin)) { |
| 254 | - if (!$skip_init) $plugin->init($this); |
|
| 262 | + if (!$skip_init) { |
|
| 263 | + $plugin->init($this); |
|
| 264 | + } |
|
| 255 | 265 | $this->register_plugin($class, $plugin); |
| 256 | 266 | } |
| 257 | 267 | break; |
| 258 | 268 | case $this::KIND_ALL: |
| 259 | - if (!$skip_init) $plugin->init($this); |
|
| 269 | + if (!$skip_init) { |
|
| 270 | + $plugin->init($this); |
|
| 271 | + } |
|
| 260 | 272 | $this->register_plugin($class, $plugin); |
| 261 | 273 | break; |
| 262 | 274 | } |
@@ -367,8 +379,9 @@ discard block |
||
| 367 | 379 | owner_uid= ? AND name = ?"); |
| 368 | 380 | $sth->execute([$this->owner_uid, $plugin]); |
| 369 | 381 | |
| 370 | - if (!isset($this->storage[$plugin])) |
|
| 371 | - $this->storage[$plugin] = array(); |
|
| 382 | + if (!isset($this->storage[$plugin])) { |
|
| 383 | + $this->storage[$plugin] = array(); |
|
| 384 | + } |
|
| 372 | 385 | |
| 373 | 386 | $content = serialize($this->storage[$plugin]); |
| 374 | 387 | |
@@ -391,12 +404,15 @@ discard block |
||
| 391 | 404 | function set($sender, $name, $value, $sync = true) { |
| 392 | 405 | $idx = get_class($sender); |
| 393 | 406 | |
| 394 | - if (!isset($this->storage[$idx])) |
|
| 395 | - $this->storage[$idx] = array(); |
|
| 407 | + if (!isset($this->storage[$idx])) { |
|
| 408 | + $this->storage[$idx] = array(); |
|
| 409 | + } |
|
| 396 | 410 | |
| 397 | 411 | $this->storage[$idx][$name] = $value; |
| 398 | 412 | |
| 399 | - if ($sync) $this->save_data(get_class($sender)); |
|
| 413 | + if ($sync) { |
|
| 414 | + $this->save_data(get_class($sender)); |
|
| 415 | + } |
|
| 400 | 416 | } |
| 401 | 417 | |
| 402 | 418 | function get($sender, $name, $default_value = false) { |
@@ -433,7 +449,9 @@ discard block |
||
| 433 | 449 | |
| 434 | 450 | // cat_id: only -1 is supported (Special) |
| 435 | 451 | function add_feed($cat_id, $title, $icon, $sender) { |
| 436 | - if (!$this->feeds[$cat_id]) $this->feeds[$cat_id] = array(); |
|
| 452 | + if (!$this->feeds[$cat_id]) { |
|
| 453 | + $this->feeds[$cat_id] = array(); |
|
| 454 | + } |
|
| 437 | 455 | |
| 438 | 456 | $id = count($this->feeds[$cat_id]); |
| 439 | 457 | |
@@ -479,8 +497,9 @@ discard block |
||
| 479 | 497 | function add_filter_action($sender, $action_name, $action_desc) { |
| 480 | 498 | $sender_class = get_class($sender); |
| 481 | 499 | |
| 482 | - if (!isset($this->plugin_actions[$sender_class])) |
|
| 483 | - $this->plugin_actions[$sender_class] = array(); |
|
| 500 | + if (!isset($this->plugin_actions[$sender_class])) { |
|
| 501 | + $this->plugin_actions[$sender_class] = array(); |
|
| 502 | + } |
|
| 484 | 503 | |
| 485 | 504 | array_push($this->plugin_actions[$sender_class], |
| 486 | 505 | array("action" => $action_name, "description" => $action_desc, "sender" => $sender)); |