Răsfoiți Sursa

handle scrutinizer issues (mostly changes in API documentation)

El RIDO 7 ani în urmă
părinte
comite
909ff2daa7
6 a modificat fișierele cu 75 adăugiri și 72 ștergeri
  1. 8 4
      lib/Controller.php
  2. 1 1
      lib/Data/AbstractData.php
  3. 63 64
      lib/Data/Database.php
  4. 1 1
      lib/Json.php
  5. 1 1
      lib/Persistence/DataStore.php
  6. 1 1
      lib/Request.php

+ 8 - 4
lib/Controller.php

@@ -199,12 +199,13 @@ class Controller
         // Ensure last paste from visitors IP address was more than configured amount of seconds ago.
         TrafficLimiter::setConfiguration($this->_conf);
         if (!TrafficLimiter::canPass()) {
-            return $this->_return_message(
+            $this->_return_message(
                 1, I18n::_(
                     'Please wait %d seconds between each post.',
                     $this->_conf->getKey('limit', 'traffic')
                 )
             );
+            return;
         }
 
         $data      = $this->_request->getData();
@@ -213,18 +214,20 @@ class Controller
             array_key_exists('parentid', $data) &&
             !empty($data['parentid']);
         if (!FormatV2::isValid($data, $isComment)) {
-            return $this->_return_message(1, I18n::_('Invalid data.'));
+            $this->_return_message(1, I18n::_('Invalid data.'));
+            return;
         }
         $sizelimit = $this->_conf->getKey('sizelimit');
         // Ensure content is not too big.
         if (strlen($data['ct']) > $sizelimit) {
-            return $this->_return_message(
+            $this->_return_message(
                 1,
                 I18n::_(
                     'Paste is limited to %s of encrypted data.',
                     Filter::formatHumanReadableSize($sizelimit)
                 )
             );
+            return;
         }
 
         // The user posts a comment.
@@ -236,7 +239,8 @@ class Controller
                     $comment->setData($data);
                     $comment->store();
                 } catch (Exception $e) {
-                    return $this->_return_message(1, $e->getMessage());
+                    $this->_return_message(1, $e->getMessage());
+                    return;
                 }
                 $this->_return_message(0, $comment->getId());
             } else {

+ 1 - 1
lib/Data/AbstractData.php

@@ -79,7 +79,7 @@ abstract class AbstractData
      *
      * @access public
      * @param  string $pasteid
-     * @return stdClass|false
+     * @return array|false
      */
     abstract public function read($pasteid);
 

+ 63 - 64
lib/Data/Database.php

@@ -75,73 +75,71 @@ class Database extends AbstractData
             self::$_instance = new self;
         }
 
-        if (is_array($options)) {
-            // set table prefix if given
-            if (array_key_exists('tbl', $options)) {
-                self::$_prefix = $options['tbl'];
-            }
-
-            // initialize the db connection with new options
-            if (
-                array_key_exists('dsn', $options) &&
-                array_key_exists('usr', $options) &&
-                array_key_exists('pwd', $options) &&
-                array_key_exists('opt', $options)
-            ) {
-                // set default options
-                $options['opt'][PDO::ATTR_ERRMODE]          = PDO::ERRMODE_EXCEPTION;
-                $options['opt'][PDO::ATTR_EMULATE_PREPARES] = false;
-                $options['opt'][PDO::ATTR_PERSISTENT]       = true;
-                $db_tables_exist                            = true;
-
-                // setup type and dabase connection
-                self::$_type = strtolower(
-                    substr($options['dsn'], 0, strpos($options['dsn'], ':'))
-                );
-                $tableQuery = self::_getTableQuery(self::$_type);
-                self::$_db  = new PDO(
-                    $options['dsn'],
-                    $options['usr'],
-                    $options['pwd'],
-                    $options['opt']
-                );
-
-                // check if the database contains the required tables
-                $tables = self::$_db->query($tableQuery)->fetchAll(PDO::FETCH_COLUMN, 0);
-
-                // create paste table if necessary
-                if (!in_array(self::_sanitizeIdentifier('paste'), $tables)) {
-                    self::_createPasteTable();
-                    $db_tables_exist = false;
-                }
+        // set table prefix if given
+        if (array_key_exists('tbl', $options)) {
+            self::$_prefix = $options['tbl'];
+        }
 
-                // create comment table if necessary
-                if (!in_array(self::_sanitizeIdentifier('comment'), $tables)) {
-                    self::_createCommentTable();
-                    $db_tables_exist = false;
-                }
+        // initialize the db connection with new options
+        if (
+            array_key_exists('dsn', $options) &&
+            array_key_exists('usr', $options) &&
+            array_key_exists('pwd', $options) &&
+            array_key_exists('opt', $options)
+        ) {
+            // set default options
+            $options['opt'][PDO::ATTR_ERRMODE]          = PDO::ERRMODE_EXCEPTION;
+            $options['opt'][PDO::ATTR_EMULATE_PREPARES] = false;
+            $options['opt'][PDO::ATTR_PERSISTENT]       = true;
+            $db_tables_exist                            = true;
+
+            // setup type and dabase connection
+            self::$_type = strtolower(
+                substr($options['dsn'], 0, strpos($options['dsn'], ':'))
+            );
+            $tableQuery = self::_getTableQuery(self::$_type);
+            self::$_db  = new PDO(
+                $options['dsn'],
+                $options['usr'],
+                $options['pwd'],
+                $options['opt']
+            );
+
+            // check if the database contains the required tables
+            $tables = self::$_db->query($tableQuery)->fetchAll(PDO::FETCH_COLUMN, 0);
+
+            // create paste table if necessary
+            if (!in_array(self::_sanitizeIdentifier('paste'), $tables)) {
+                self::_createPasteTable();
+                $db_tables_exist = false;
+            }
 
-                // create config table if necessary
-                $db_version = Controller::VERSION;
-                if (!in_array(self::_sanitizeIdentifier('config'), $tables)) {
-                    self::_createConfigTable();
-                    // if we only needed to create the config table, the DB is older then 0.22
-                    if ($db_tables_exist) {
-                        $db_version = '0.21';
-                    }
-                } else {
-                    $db_version = self::_getConfig('VERSION');
-                }
+            // create comment table if necessary
+            if (!in_array(self::_sanitizeIdentifier('comment'), $tables)) {
+                self::_createCommentTable();
+                $db_tables_exist = false;
+            }
 
-                // update database structure if necessary
-                if (version_compare($db_version, Controller::VERSION, '<')) {
-                    self::_upgradeDatabase($db_version);
+            // create config table if necessary
+            $db_version = Controller::VERSION;
+            if (!in_array(self::_sanitizeIdentifier('config'), $tables)) {
+                self::_createConfigTable();
+                // if we only needed to create the config table, the DB is older then 0.22
+                if ($db_tables_exist) {
+                    $db_version = '0.21';
                 }
             } else {
-                throw new Exception(
-                    'Missing configuration for key dsn, usr, pwd or opt in the section model_options, please check your configuration file', 6
-                );
+                $db_version = self::_getConfig('VERSION');
             }
+
+            // update database structure if necessary
+            if (version_compare($db_version, Controller::VERSION, '<')) {
+                self::_upgradeDatabase($db_version);
+            }
+        } else {
+            throw new Exception(
+                'Missing configuration for key dsn, usr, pwd or opt in the section model_options, please check your configuration file', 6
+            );
         }
 
         return self::$_instance;
@@ -250,8 +248,9 @@ class Database extends AbstractData
             list($createdKey)       = self::_getVersionedKeys(1);
         }
 
-        $paste['meta'] = Json::decode($paste['meta']);
-        if (!is_array($paste['meta'])) {
+        try {
+            $paste['meta'] = Json::decode($paste['meta']);
+        } catch (Exception $e) {
             $paste['meta'] = array();
         }
         $paste                                       = self::upgradePreV1Format($paste);
@@ -474,7 +473,7 @@ class Database extends AbstractData
      * @param  array $params
      * @param  bool $firstOnly if only the first row should be returned
      * @throws PDOException
-     * @return array
+     * @return array|false
      */
     private static function _select($sql, array $params, $firstOnly = false)
     {

+ 1 - 1
lib/Json.php

@@ -63,7 +63,7 @@ class Json
      */
     private static function _detectError()
     {
-        $errorCode  = json_last_error();
+        $errorCode = json_last_error();
         if ($errorCode === JSON_ERROR_NONE) {
             return;
         }

+ 1 - 1
lib/Persistence/DataStore.php

@@ -61,7 +61,7 @@ class DataStore extends AbstractPersistence
      * @access public
      * @static
      * @param  string $filename
-     * @return \stdClass|false  $data
+     * @return array|false $data
      */
     public static function get($filename)
     {

+ 1 - 1
lib/Request.php

@@ -184,7 +184,7 @@ class Request
      *
      * @access public
      * @param  string $param
-     * @param  string $default
+     * @param  string|array $default
      * @return string
      */
     public function getParam($param, $default = '')