Make WordPress Core


Ignore:
Timestamp:
11/30/2017 11:09:33 PM (8 years ago)
Author:
pento
Message:

Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/pomo/entry.php

    r35714 r42343  
    88 */
    99
    10 if ( ! class_exists( 'Translation_Entry', false ) ):
    11 /**
    12  * Translation_Entry class encapsulates a translatable string
    13  */
    14 class Translation_Entry {
     10if ( ! class_exists( 'Translation_Entry', false ) ) :
     11    /**
     12    * Translation_Entry class encapsulates a translatable string
     13    */
     14    class Translation_Entry {
    1515
    16     /**
    17     * Whether the entry contains a string and its plural form, default is false
    18     *
    19     * @var boolean
    20     */
    21     var $is_plural = false;
     16        /**
     17        * Whether the entry contains a string and its plural form, default is false
     18        *
     19        * @var boolean
     20        */
     21        var $is_plural = false;
    2222
    23     var $context = null;
    24     var $singular = null;
    25     var $plural = null;
    26     var $translations = array();
    27     var $translator_comments = '';
    28     var $extracted_comments = '';
    29     var $references = array();
    30     var $flags = array();
     23        var $context            = null;
     24        var $singular            = null;
     25        var $plural              = null;
     26        var $translations        = array();
     27        var $translator_comments = '';
     28        var $extracted_comments = '';
     29        var $references          = array();
     30        var $flags              = array();
    3131
    32     /**
    33      * @param array $args associative array, support following keys:
    34      *  - singular (string) -- the string to translate, if omitted and empty entry will be created
    35      *  - plural (string) -- the plural form of the string, setting this will set {@link $is_plural} to true
    36      *  - translations (array) -- translations of the string and possibly -- its plural forms
    37      *  - context (string) -- a string differentiating two equal strings used in different contexts
    38      *  - translator_comments (string) -- comments left by translators
    39      *  - extracted_comments (string) -- comments left by developers
    40      *  - references (array) -- places in the code this strings is used, in relative_to_root_path/file.php:linenum form
    41      *  - flags (array) -- flags like php-format
    42      */
    43     function __construct( $args = array() ) {
    44         // if no singular -- empty object
    45         if (!isset($args['singular'])) {
    46             return;
    47         }
    48         // get member variable values from args hash
    49         foreach ($args as $varname => $value) {
    50             $this->$varname = $value;
    51         }
    52         if (isset($args['plural']) && $args['plural']) $this->is_plural = true;
    53         if (!is_array($this->translations)) $this->translations = array();
    54         if (!is_array($this->references)) $this->references = array();
    55         if (!is_array($this->flags)) $this->flags = array();
    56     }
    57 
    58     /**
    59      * PHP4 constructor.
    60      */
    61     public function Translation_Entry( $args = array() ) {
    62         self::__construct( $args );
    63     }
    64 
    65     /**
    66      * Generates a unique key for this entry
    67      *
    68      * @return string|bool the key or false if the entry is empty
    69      */
    70     function key() {
    71         if ( null === $this->singular || '' === $this->singular ) return false;
    72 
    73         // Prepend context and EOT, like in MO files
    74         $key = !$this->context? $this->singular : $this->context.chr(4).$this->singular;
    75         // Standardize on \n line endings
    76         $key = str_replace( array( "\r\n", "\r" ), "\n", $key );
    77 
    78         return $key;
    79     }
    80 
    81     /**
    82      * @param object $other
    83      */
    84     function merge_with(&$other) {
    85         $this->flags = array_unique( array_merge( $this->flags, $other->flags ) );
    86         $this->references = array_unique( array_merge( $this->references, $other->references ) );
    87         if ( $this->extracted_comments != $other->extracted_comments ) {
    88             $this->extracted_comments .= $other->extracted_comments;
     32        /**
     33         * @param array $args associative array, support following keys:
     34         *  - singular (string) -- the string to translate, if omitted and empty entry will be created
     35         *  - plural (string) -- the plural form of the string, setting this will set {@link $is_plural} to true
     36         *  - translations (array) -- translations of the string and possibly -- its plural forms
     37         *  - context (string) -- a string differentiating two equal strings used in different contexts
     38         *  - translator_comments (string) -- comments left by translators
     39         *  - extracted_comments (string) -- comments left by developers
     40         *  - references (array) -- places in the code this strings is used, in relative_to_root_path/file.php:linenum form
     41         *  - flags (array) -- flags like php-format
     42         */
     43        function __construct( $args = array() ) {
     44            // if no singular -- empty object
     45            if ( ! isset( $args['singular'] ) ) {
     46                return;
     47            }
     48            // get member variable values from args hash
     49            foreach ( $args as $varname => $value ) {
     50                $this->$varname = $value;
     51            }
     52            if ( isset( $args['plural'] ) && $args['plural'] ) {
     53                $this->is_plural = true;
     54            }
     55            if ( ! is_array( $this->translations ) ) {
     56                $this->translations = array();
     57            }
     58            if ( ! is_array( $this->references ) ) {
     59                $this->references = array();
     60            }
     61            if ( ! is_array( $this->flags ) ) {
     62                $this->flags = array();
     63            }
    8964        }
    9065
     66        /**
     67         * PHP4 constructor.
     68         */
     69        public function Translation_Entry( $args = array() ) {
     70            self::__construct( $args );
     71        }
     72
     73        /**
     74         * Generates a unique key for this entry
     75         *
     76         * @return string|bool the key or false if the entry is empty
     77         */
     78        function key() {
     79            if ( null === $this->singular || '' === $this->singular ) {
     80                return false;
     81            }
     82
     83            // Prepend context and EOT, like in MO files
     84            $key = ! $this->context ? $this->singular : $this->context . chr( 4 ) . $this->singular;
     85            // Standardize on \n line endings
     86            $key = str_replace( array( "\r\n", "\r" ), "\n", $key );
     87
     88            return $key;
     89        }
     90
     91        /**
     92         * @param object $other
     93         */
     94        function merge_with( &$other ) {
     95            $this->flags      = array_unique( array_merge( $this->flags, $other->flags ) );
     96            $this->references = array_unique( array_merge( $this->references, $other->references ) );
     97            if ( $this->extracted_comments != $other->extracted_comments ) {
     98                $this->extracted_comments .= $other->extracted_comments;
     99            }
     100
     101        }
    91102    }
    92 }
    93103endif;
Note: See TracChangeset for help on using the changeset viewer.