]> git.immae.eu Git - github/shaarli/Shaarli.git/blobdiff - application/config/ConfigPhp.php
Apply PHP Code Beautifier on source code for linter automatic fixes
[github/shaarli/Shaarli.git] / application / config / ConfigPhp.php
index 2633824d3197f209d3048f74949d95b96d128148..53d6a7a357c910ab0f2789fdacac5728f85da817 100644 (file)
@@ -1,4 +1,5 @@
 <?php
+
 namespace Shaarli\Config;
 
 /**
@@ -12,7 +13,7 @@ class ConfigPhp implements ConfigIO
     /**
      * @var array List of config key without group.
      */
-    public static $ROOT_KEYS = array(
+    public static $ROOT_KEYS = [
         'login',
         'hash',
         'salt',
@@ -22,16 +23,16 @@ class ConfigPhp implements ConfigIO
         'redirector',
         'disablesessionprotection',
         'privateLinkByDefault',
-    );
+    ];
 
     /**
      * Map legacy config keys with the new ones.
      * If ConfigPhp is used, getting <newkey> will actually look for <legacykey>.
-     * The Updater will use this array to transform keys when switching to JSON.
+     * The updater will use this array to transform keys when switching to JSON.
      *
      * @var array current key => legacy key.
      */
-    public static $LEGACY_KEYS_MAPPING = array(
+    public static $LEGACY_KEYS_MAPPING = [
         'credentials.login' => 'login',
         'credentials.hash' => 'hash',
         'credentials.salt' => 'salt',
@@ -68,7 +69,7 @@ class ConfigPhp implements ConfigIO
         'privacy.hide_public_links' => 'config.HIDE_PUBLIC_LINKS',
         'privacy.hide_timestamps' => 'config.HIDE_TIMESTAMPS',
         'security.open_shaarli' => 'config.OPEN_SHAARLI',
-    );
+    ];
 
     /**
      * @inheritdoc
@@ -76,17 +77,17 @@ class ConfigPhp implements ConfigIO
     public function read($filepath)
     {
         if (! file_exists($filepath) || ! is_readable($filepath)) {
-            return array();
+            return [];
         }
 
         include $filepath;
 
-        $out = array();
+        $out = [];
         foreach (self::$ROOT_KEYS as $key) {
-            $out[$key] = $GLOBALS[$key];
+            $out[$key] = isset($GLOBALS[$key]) ? $GLOBALS[$key] : '';
         }
-        $out['config'] = $GLOBALS['config'];
-        $out['plugins'] = !empty($GLOBALS['plugins']) ? $GLOBALS['plugins'] : array();
+        $out['config'] = isset($GLOBALS['config']) ? $GLOBALS['config'] : [];
+        $out['plugins'] = isset($GLOBALS['plugins']) ? $GLOBALS['plugins'] : [];
         return $out;
     }
 
@@ -95,7 +96,7 @@ class ConfigPhp implements ConfigIO
      */
     public function write($filepath, $conf)
     {
-        $configStr = '<?php '. PHP_EOL;
+        $configStr = '<?php ' . PHP_EOL;
         foreach (self::$ROOT_KEYS as $key) {
             if (isset($conf[$key])) {
                 $configStr .= '$GLOBALS[\'' . $key . '\'] = ' . var_export($conf[$key], true) . ';' . PHP_EOL;
@@ -104,22 +105,31 @@ class ConfigPhp implements ConfigIO
 
         // Store all $conf['config']
         foreach ($conf['config'] as $key => $value) {
-            $configStr .= '$GLOBALS[\'config\'][\''. $key .'\'] = '.var_export($conf['config'][$key], true).';'. PHP_EOL;
+            $configStr .= '$GLOBALS[\'config\'][\''
+                . $key
+                . '\'] = '
+                . var_export($conf['config'][$key], true) . ';'
+                . PHP_EOL;
         }
 
         if (isset($conf['plugins'])) {
             foreach ($conf['plugins'] as $key => $value) {
-                $configStr .= '$GLOBALS[\'plugins\'][\''. $key .'\'] = '.var_export($conf['plugins'][$key], true).';'. PHP_EOL;
+                $configStr .= '$GLOBALS[\'plugins\'][\''
+                    . $key
+                    . '\'] = '
+                    . var_export($conf['plugins'][$key], true) . ';'
+                    . PHP_EOL;
             }
         }
 
-        if (!file_put_contents($filepath, $configStr)
+        if (
+            !file_put_contents($filepath, $configStr)
             || strcmp(file_get_contents($filepath), $configStr) != 0
         ) {
-            throw new \IOException(
+            throw new \Shaarli\Exceptions\IOException(
                 $filepath,
-                'Shaarli could not create the config file.
-                Please make sure Shaarli has the right to write in the folder is it installed in.'
+                t('Shaarli could not create the config file. ' .
+                  'Please make sure Shaarli has the right to write in the folder is it installed in.')
             );
         }
     }