summaryrefslogtreecommitdiff
path: root/classes/db
diff options
context:
space:
mode:
authorwn_ <[email protected]>2021-11-12 05:24:02 +0000
committerwn_ <[email protected]>2021-11-12 05:24:02 +0000
commit011c941e7cdfce21d415eb6fa479c411776c79ce (patch)
treed30a28a84cb23e3c110ae5dfcc704244b57af4f7 /classes/db
parentb0eb347839d3350b57bd614eee67e32a574661d5 (diff)
Fix some PHPStan warnings in 'classes/db/migrations.php', 'classes/db/prefs.php', and 'classes/debug.php'.
Diffstat (limited to 'classes/db')
-rw-r--r--classes/db/migrations.php37
-rw-r--r--classes/db/prefs.php10
2 files changed, 31 insertions, 16 deletions
diff --git a/classes/db/migrations.php b/classes/db/migrations.php
index 3008af535..cb74c247a 100644
--- a/classes/db/migrations.php
+++ b/classes/db/migrations.php
@@ -1,29 +1,29 @@
<?php
class Db_Migrations {
- private $base_filename = "schema.sql";
- private $base_path;
- private $migrations_path;
- private $migrations_table;
- private $base_is_latest;
- private $pdo;
+ private string $base_filename = "schema.sql";
+ private string $base_path;
+ private string $migrations_path;
+ private string $migrations_table;
+ private bool $base_is_latest;
+ private \PDO $pdo;
- private $cached_version;
- private $cached_max_version;
- private $max_version_override;
+ private int $cached_version;
+ private int $cached_max_version;
+ private int $max_version_override;
function __construct() {
$this->pdo = Db::pdo();
}
- function initialize_for_plugin(Plugin $plugin, bool $base_is_latest = true, string $schema_suffix = "sql") {
+ function initialize_for_plugin(Plugin $plugin, bool $base_is_latest = true, string $schema_suffix = "sql"): void {
$plugin_dir = PluginHost::getInstance()->get_plugin_dir($plugin);
$this->initialize($plugin_dir . "/${schema_suffix}",
strtolower("ttrss_migrations_plugin_" . get_class($plugin)),
$base_is_latest);
}
- function initialize(string $root_path, string $migrations_table, bool $base_is_latest = true, int $max_version_override = 0) {
+ function initialize(string $root_path, string $migrations_table, bool $base_is_latest = true, int $max_version_override = 0): void {
$this->base_path = "$root_path/" . Config::get(Config::DB_TYPE);
$this->migrations_path = $this->base_path . "/migrations";
$this->migrations_table = $migrations_table;
@@ -31,7 +31,7 @@ class Db_Migrations {
$this->max_version_override = $max_version_override;
}
- private function set_version(int $version) {
+ private function set_version(int $version): void {
Debug::log("Updating table {$this->migrations_table} with version ${version}...", Debug::LOG_EXTENDED);
$sth = $this->pdo->query("SELECT * FROM {$this->migrations_table}");
@@ -66,11 +66,15 @@ class Db_Migrations {
}
}
- private function create_migrations_table() {
+ private function create_migrations_table(): void {
$this->pdo->query("CREATE TABLE IF NOT EXISTS {$this->migrations_table} (schema_version integer not null)");
}
- private function migrate_to(int $version) {
+ /**
+ * @throws PDOException
+ * @return bool false if the migration failed, otherwise true (or an exception)
+ */
+ private function migrate_to(int $version): bool {
try {
if ($version <= $this->get_version()) {
Debug::log("Refusing to apply version $version: current version is higher", Debug::LOG_VERBOSE);
@@ -110,8 +114,10 @@ class Db_Migrations {
Debug::log("Migration finished, current version: " . $this->get_version(), Debug::LOG_VERBOSE);
Logger::log(E_USER_NOTICE, "Applied migration to version $version for {$this->migrations_table}");
+ return true;
} else {
Debug::log("Migration failed: schema file is empty or missing.", Debug::LOG_VERBOSE);
+ return false;
}
} catch (PDOException $e) {
@@ -174,6 +180,9 @@ class Db_Migrations {
return !$this->is_migration_needed();
}
+ /**
+ * @return array<int, string>
+ */
private function get_lines(int $version) : array {
if ($version > 0)
$filename = "{$this->migrations_path}/${version}.sql";
diff --git a/classes/db/prefs.php b/classes/db/prefs.php
index 821216622..209ef58c1 100644
--- a/classes/db/prefs.php
+++ b/classes/db/prefs.php
@@ -2,11 +2,17 @@
class Db_Prefs {
// this class is a stub for the time being (to be removed)
- function read($pref_name, $user_id = false, $die_on_error = false) {
+ /**
+ * @return bool|int|null|string
+ */
+ function read(string $pref_name, ?int $user_id = null, bool $die_on_error = false) {
return get_pref($pref_name, $user_id);
}
- function write($pref_name, $value, $user_id = false, $strip_tags = true) {
+ /**
+ * @param mixed $value
+ */
+ function write(string $pref_name, $value, ?int $user_id = null, bool $strip_tags = true): bool {
return set_pref($pref_name, $value, $user_id, $strip_tags);
}
}