aboutsummaryrefslogtreecommitdiff
path: root/app/Controllers
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <aledeg@users.noreply.github.com> 2019-11-18 10:04:32 +0100
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2019-11-18 10:04:32 +0100
commitd3735d04fcdb557a2ecc798f9914b9f769daf781 (patch)
tree9f31f8dfcf67054ebe4c47d1ecfa2091f5d0986f /app/Controllers
parent3d6f9c58988c27430df278b5f6f8937a37d16794 (diff)
Add log in fever api saving process (#2664)
Before, there was no user log when the fever api credential saving process was failing. There was one though for the admin user but it did not appear in the interface. Now, there is a user log showing what the problem is. The admin log is still there but catch only unknown errors. See #2663
Diffstat (limited to 'app/Controllers')
-rw-r--r--app/Controllers/userController.php24
1 files changed, 16 insertions, 8 deletions
diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php
index 7ce6b298a..5209edc84 100644
--- a/app/Controllers/userController.php
+++ b/app/Controllers/userController.php
@@ -59,14 +59,22 @@ class FreshRSS_user_Controller extends Minz_ActionController {
$apiPasswordHash = self::hashPassword($apiPasswordPlain);
$userConfig->apiPasswordHash = $apiPasswordHash;
- @mkdir(DATA_PATH . '/fever/', 0770, true);
- self::deleteFeverKey($user);
- $userConfig->feverKey = strtolower(md5($user . ':' . $apiPasswordPlain));
- $ok = file_put_contents(DATA_PATH . '/fever/.key-' . sha1(FreshRSS_Context::$system_conf->salt) . '-' . $userConfig->feverKey . '.txt', $user) !== false;
-
- if (!$ok) {
- Minz_Log::warning('Could not save API credentials for fever API', ADMIN_LOG);
- return $ok;
+ $feverPath = DATA_PATH . '/fever/';
+
+ if (!file_exists($feverPath)) {
+ @mkdir($feverPath, 0770, true);
+ }
+
+ if (!is_writable($feverPath)) {
+ Minz_Log::error("Could not save Fever API credentials. The directory does not have write access.");
+ } else {
+ self::deleteFeverKey($user);
+ $userConfig->feverKey = strtolower(md5("{$user}:{$apiPasswordPlain}"));
+ $ok = file_put_contents($feverPath . '.key-' . sha1(FreshRSS_Context::$system_conf->salt) . '-' . $userConfig->feverKey . '.txt', $user) !== false;
+
+ if (!$ok) {
+ Minz_Log::warning('Could not save Fever API credentials. Unknown error.', ADMIN_LOG);
+ }
}
}