Fix align of block comments
authorumherirrender <umherirrender_de.wp@web.de>
Thu, 7 Mar 2013 16:27:38 +0000 (17:27 +0100)
committerumherirrender <umherirrender_de.wp@web.de>
Thu, 7 Mar 2013 16:27:38 +0000 (17:27 +0100)
Change-Id: I88ea33a125a71671886b49e4ebf4c1d0a1cce572

20 files changed:
includes/GlobalFunctions.php
includes/MimeMagic.php
includes/User.php
includes/WikiPage.php
includes/Xml.php
includes/api/ApiBlock.php
includes/api/ApiOptions.php
includes/api/ApiQueryUsers.php
includes/db/Database.php
includes/filerepo/file/File.php
includes/media/BitmapMetadataHandler.php
includes/media/Exif.php
includes/media/FormatMetadata.php
includes/media/IPTC.php
includes/media/JpegMetadataExtractor.php
includes/media/MediaHandler.php
includes/media/XMP.php
includes/media/XMPInfo.php
includes/media/XMPValidate.php
includes/specials/SpecialRevisiondelete.php

index cdd0ae9..cebb814 100644 (file)
@@ -350,7 +350,7 @@ function wfRandomString( $length = 32 ) {
  *
  * @param $s String:
  * @return string
-*/
+ */
 function wfUrlencode( $s ) {
        static $needle;
        if ( is_null( $s ) ) {
index e787fbd..2ea5799 100644 (file)
@@ -144,21 +144,21 @@ END_STRING
 class MimeMagic {
 
        /**
-       * Mapping of media types to arrays of mime types.
-       * This is used by findMediaType and getMediaType, respectively
-       */
+        * Mapping of media types to arrays of mime types.
+        * This is used by findMediaType and getMediaType, respectively
+        */
        var $mMediaTypes = null;
 
        /** Map of mime type aliases
-       */
+        */
        var $mMimeTypeAliases = null;
 
        /** map of mime types to file extensions (as a space seprarated list)
-       */
+        */
        var $mMimeToExt = null;
 
        /** map of file extensions types to mime types (as a space seprarated list)
-       */
+        */
        var $mExtToMime = null;
 
        /** IEContentAnalyzer instance
@@ -179,8 +179,8 @@ class MimeMagic {
         */
        function __construct() {
                /**
-               *   --- load mime.types ---
-               */
+                *   --- load mime.types ---
+                */
 
                global $wgMimeTypeFile, $IP, $wgLoadFileinfoExtension;
 
@@ -802,12 +802,13 @@ class MimeMagic {
                        # TODO: remove the block below, as soon as improveTypeFromExtension is used everywhere
                        if ( $ext !== true && $ext !== false ) {
                                /** This is the mode used by getPropsFromPath
-                               * These mime's are stored in the database, where we don't really want
-                               * x-opc+zip, because we use it only for internal purposes
-                               */
+                                * These mime's are stored in the database, where we don't really want
+                                * x-opc+zip, because we use it only for internal purposes
+                                */
                                if ( $this->isMatchingExtension( $ext, $mime) ) {
                                        /* A known file extension for an OPC file,
-                                       * find the proper mime type for that file extension */
+                                        * find the proper mime type for that file extension
+                                        */
                                        $mime = $this->guessTypesForExtension( $ext );
                                } else {
                                        $mime = "application/zip";
index e3c11cc..3837e8a 100644 (file)
@@ -3632,7 +3632,7 @@ class User {
        }
 
        /**
-       * Return a URL the user can use to confirm their email address.
+        * Return a URL the user can use to confirm their email address.
         * @param $token String Accepts the email confirmation token
         * @return String New token URL
         */
index 392c2d6..c97f59d 100644 (file)
@@ -2979,14 +2979,14 @@ class WikiPage implements Page, IDBAccessObject {
        }
 
        /**
-       * Return an applicable autosummary if one exists for the given edit.
-       * @param $oldtext String|null: the previous text of the page.
-       * @param $newtext String|null: The submitted text of the page.
-       * @param $flags Int bitmask: a bitmask of flags submitted for the edit.
-       * @return string An appropriate autosummary, or an empty string.
-       *
-       * @deprecated since 1.21, use ContentHandler::getAutosummary() instead
-       */
+        * Return an applicable autosummary if one exists for the given edit.
+        * @param $oldtext String|null: the previous text of the page.
+        * @param $newtext String|null: The submitted text of the page.
+        * @param $flags Int bitmask: a bitmask of flags submitted for the edit.
+        * @return string An appropriate autosummary, or an empty string.
+        *
+        * @deprecated since 1.21, use ContentHandler::getAutosummary() instead
+        */
        public static function getAutosummary( $oldtext, $newtext, $flags ) {
                // NOTE: stub for backwards-compatibility. assumes the given text is wikitext. will break horribly if it isn't.
 
index 158a6b5..4ff061b 100644 (file)
@@ -751,12 +751,12 @@ class Xml {
        }
 
        /**
-       * Generate a form (without the opening form element).
-       * Output optionally includes a submit button.
-       * @param $fields Array Associative array, key is message corresponding to a description for the field (colon is in the message), value is appropriate input.
-       * @param $submitLabel String A message containing a label for the submit button.
-       * @return string HTML form.
-       */
+        * Generate a form (without the opening form element).
+        * Output optionally includes a submit button.
+        * @param $fields Array Associative array, key is message corresponding to a description for the field (colon is in the message), value is appropriate input.
+        * @param $submitLabel String A message containing a label for the submit button.
+        * @return string HTML form.
+        */
        public static function buildForm( $fields, $submitLabel = null ) {
                $form = '';
                $form .= "<table><tbody>";
index b479310..90432b9 100644 (file)
@@ -25,9 +25,9 @@
  */
 
 /**
-* API module that facilitates the blocking of users. Requires API write mode
-* to be enabled.
-*
+ * API module that facilitates the blocking of users. Requires API write mode
+ * to be enabled.
+ *
  * @ingroup API
  */
 class ApiBlock extends ApiBase {
index faebcdc..f626a0f 100644 (file)
@@ -25,9 +25,9 @@
  */
 
 /**
-* API module that facilitates the changing of user's preferences.
-* Requires API write mode to be enabled.
-*
+ * API module that facilitates the changing of user's preferences.
+ * Requires API write mode to be enabled.
+ *
  * @ingroup API
  */
 class ApiOptions extends ApiBase {
index dff924f..72ab786 100644 (file)
@@ -254,12 +254,12 @@ class ApiQueryUsers extends ApiQueryBase {
        }
 
        /**
-       * Gets all the groups that a user is automatically a member of (implicit groups)
-       *
-       * @deprecated since 1.20; call User::getAutomaticGroups() directly.
-       * @param $user User
-       * @return array
-       */
+        * Gets all the groups that a user is automatically a member of (implicit groups)
+        *
+        * @deprecated since 1.20; call User::getAutomaticGroups() directly.
+        * @param $user User
+        * @return array
+        */
        public static function getAutoGroups( $user ) {
                wfDeprecated( __METHOD__, '1.20' );
 
index ff2f7f7..81a6756 100644 (file)
@@ -491,7 +491,7 @@ abstract class DatabaseBase implements DatabaseType {
         * Returns true if this database uses timestamps rather than integers
         *
         * @return bool
-       */
+        */
        public function realTimestamps() {
                return false;
        }
index 265e27e..add6b42 100644 (file)
@@ -369,7 +369,7 @@ abstract class File {
         * returns false.
         *
         * @return string|bool ForeignAPIFile::getPath can return false
-       */
+        */
        public function getPath() {
                if ( !isset( $this->path ) ) {
                        $this->assertRepoDefined();
@@ -512,12 +512,12 @@ abstract class File {
        }
 
        /**
-       * get versioned metadata
-       *
-       * @param $metadata Mixed Array or String of (serialized) metadata
-       * @param $version integer version number.
-       * @return Array containing metadata, or what was passed to it on fail (unserializing if not array)
-       */
+        * get versioned metadata
+        *
+        * @param $metadata Mixed Array or String of (serialized) metadata
+        * @param $version integer version number.
+        * @return Array containing metadata, or what was passed to it on fail (unserializing if not array)
+        */
        public function convertMetadataVersion($metadata, $version) {
                $handler = $this->getHandler();
                if ( !is_array( $metadata ) ) {
index 55deef0..0230424 100644 (file)
@@ -47,13 +47,13 @@ class BitmapMetadataHandler {
        private $iptcType = 'iptc-no-hash';
 
        /**
-       * This does the photoshop image resource app13 block
-       * of interest, IPTC-IIM metadata is stored here.
-       *
-       * Mostly just calls doPSIR and doIPTC
-       *
-       * @param String $app13 String containing app13 block from jpeg file
-       */
+        * This does the photoshop image resource app13 block
+        * of interest, IPTC-IIM metadata is stored here.
+        *
+        * Mostly just calls doPSIR and doIPTC
+        *
+        * @param String $app13 String containing app13 block from jpeg file
+        */
        private function doApp13 ( $app13 ) {
                try {
                        $this->iptcType = JpegMetadataExtractor::doPSIR( $app13 );
@@ -91,11 +91,11 @@ class BitmapMetadataHandler {
                }
        }
        /** Add misc metadata. Warning: atm if the metadata category
-       * doesn't have a priority, it will be silently discarded.
-       *
-       * @param Array $metaArray array of metadata values
-       * @param string $type type. defaults to other. if two things have the same type they're merged
-       */
+        * doesn't have a priority, it will be silently discarded.
+        *
+        * @param Array $metaArray array of metadata values
+        * @param string $type type. defaults to other. if two things have the same type they're merged
+        */
        function addMetadata ( $metaArray, $type = 'other' ) {
                if ( isset( $this->metadata[$type] ) ) {
                        /* merge with old data */
@@ -106,14 +106,14 @@ class BitmapMetadataHandler {
        }
 
        /**
-       * Merge together the various types of metadata
-       * the different types have different priorites,
-       * and are merged in order.
-       *
-       * This function is generally called by the media handlers' getMetadata()
-       *
-       * @return Array metadata array
-       */
+        * Merge together the various types of metadata
+        * the different types have different priorites,
+        * and are merged in order.
+        *
+        * This function is generally called by the media handlers' getMetadata()
+        *
+        * @return Array metadata array
+        */
        function getMetadataArray () {
                // this seems a bit ugly... This is all so its merged in right order
                // based on the MWG recomendation.
index 2dc2eae..e89c67c 100644 (file)
@@ -346,23 +346,23 @@ class Exif {
        }
 
        /**
-       * Collapse some fields together.
-       * This converts some fields from exif form, to a more friendly form.
-       * For example GPS latitude to a single number.
-       *
-       * The rationale behind this is that we're storing data, not presenting to the user
-       * For example a longitude is a single number describing how far away you are from
-       * the prime meridian. Well it might be nice to split it up into minutes and seconds
-       * for the user, it doesn't really make sense to split a single number into 4 parts
-       * for storage. (degrees, minutes, second, direction vs single floating point number).
-       *
-       * Other things this might do (not really sure if they make sense or not):
-       * Dates -> mediawiki date format.
-       * convert values that can be in different units to be in one standardized unit.
-       *
-       * As an alternative approach, some of this could be done in the validate phase
-       * if we make up our own types like Exif::DATE.
-       */
+        * Collapse some fields together.
+        * This converts some fields from exif form, to a more friendly form.
+        * For example GPS latitude to a single number.
+        *
+        * The rationale behind this is that we're storing data, not presenting to the user
+        * For example a longitude is a single number describing how far away you are from
+        * the prime meridian. Well it might be nice to split it up into minutes and seconds
+        * for the user, it doesn't really make sense to split a single number into 4 parts
+        * for storage. (degrees, minutes, second, direction vs single floating point number).
+        *
+        * Other things this might do (not really sure if they make sense or not):
+        * Dates -> mediawiki date format.
+        * convert values that can be in different units to be in one standardized unit.
+        *
+        * As an alternative approach, some of this could be done in the validate phase
+        * if we make up our own types like Exif::DATE.
+        */
        function collapseData( ) {
 
                $this->exifGPStoNumber( 'GPSLatitude' );
@@ -434,11 +434,11 @@ class Exif {
 
        }
        /**
-       * Do userComment tags and similar. See pg. 34 of exif standard.
-       * basically first 8 bytes is charset, rest is value.
-       * This has not been tested on any shift-JIS strings.
-       * @param $prop String prop name.
-       */
+        * Do userComment tags and similar. See pg. 34 of exif standard.
+        * basically first 8 bytes is charset, rest is value.
+        * This has not been tested on any shift-JIS strings.
+        * @param $prop String prop name.
+        */
        private function charCodeString ( $prop ) {
                if ( isset( $this->mFilteredExifData[$prop] ) ) {
 
@@ -495,21 +495,21 @@ class Exif {
                }
        }
        /**
-       * Convert an Exif::UNDEFINED from a raw binary string
-       * to its value. This is sometimes needed depending on
-       * the type of UNDEFINED field
-       * @param $prop String name of property
-       */
+        * Convert an Exif::UNDEFINED from a raw binary string
+        * to its value. This is sometimes needed depending on
+        * the type of UNDEFINED field
+        * @param $prop String name of property
+        */
        private function exifPropToOrd ( $prop ) {
                if ( isset( $this->mFilteredExifData[$prop] ) ) {
                        $this->mFilteredExifData[$prop] = ord( $this->mFilteredExifData[$prop] );
                }
        }
        /**
-       * Convert gps in exif form to a single floating point number
-       * for example 10 degress 20`40`` S -> -10.34444
-       * @param String $prop a gps coordinate exif tag name (like GPSLongitude)
-       */
+        * Convert gps in exif form to a single floating point number
+        * for example 10 degress 20`40`` S -> -10.34444
+        * @param String $prop a gps coordinate exif tag name (like GPSLongitude)
+        */
        private function exifGPStoNumber ( $prop ) {
                $loc =& $this->mFilteredExifData[$prop];
                $dir =& $this->mFilteredExifData[$prop . 'Ref'];
index 97aa28b..f21514b 100644 (file)
@@ -829,20 +829,20 @@ class FormatMetadata {
        }
 
        /**
-       * A function to collapse multivalued tags into a single value.
-       * This turns an array of (for example) authors into a bulleted list.
-       *
-       * This is public on the basis it might be useful outside of this class.
-       *
-       * @param $vals Array array of values
-       * @param $type String Type of array (either lang, ul, ol).
-       * lang = language assoc array with keys being the lang code
-       * ul = unordered list, ol = ordered list
-       * type can also come from the '_type' member of $vals.
-       * @param $noHtml Boolean If to avoid returning anything resembling
-       * html. (Ugly hack for backwards compatibility with old mediawiki).
-       * @return String single value (in wiki-syntax).
-       */
+        * A function to collapse multivalued tags into a single value.
+        * This turns an array of (for example) authors into a bulleted list.
+        *
+        * This is public on the basis it might be useful outside of this class.
+        *
+        * @param $vals Array array of values
+        * @param $type String Type of array (either lang, ul, ol).
+        * lang = language assoc array with keys being the lang code
+        * ul = unordered list, ol = ordered list
+        * type can also come from the '_type' member of $vals.
+        * @param $noHtml Boolean If to avoid returning anything resembling
+        * html. (Ugly hack for backwards compatibility with old mediawiki).
+        * @return String single value (in wiki-syntax).
+        */
        public static function flattenArray( $vals, $type = 'ul', $noHtml = false ) {
                if ( isset( $vals['_type'] ) ) {
                        $type = $vals['_type'];
@@ -1353,7 +1353,7 @@ class FormatMetadata {
  *
  * @deprecated since 1.18
  *
-**/
+ */
 class FormatExif {
        var $meta;
 
index 06cbc3b..5f280c8 100644 (file)
 class IPTC {
 
        /**
-       * This takes the results of iptcparse() and puts it into a
-       * form that can be handled by mediawiki. Generally called from
-       * BitmapMetadataHandler::doApp13.
-       *
-       * @see http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf
-       *
-       * @param $rawData String app13 block from jpeg containing iptc/iim data
-       * @return Array iptc metadata array
-       */
+        * This takes the results of iptcparse() and puts it into a
+        * form that can be handled by mediawiki. Generally called from
+        * BitmapMetadataHandler::doApp13.
+        *
+        * @see http://www.iptc.org/std/IIM/4.1/specification/IIMV4.1.pdf
+        *
+        * @param $rawData String app13 block from jpeg containing iptc/iim data
+        * @return Array iptc metadata array
+        */
        static function parse( $rawData ) {
                $parsed = iptcparse( $rawData );
                $data = Array();
@@ -198,7 +198,7 @@ class IPTC {
                                        /* original transmission ref.
                                         * "A code representing the location of original transmission ac-
                                         * cording to practises of the provider."
-                                       */
+                                        */
                                        $data['OriginalTransmissionRef'] = self::convIPTC( $val, $c );
                                        break;
                                case '2#118': /*contact*/
@@ -350,14 +350,14 @@ class IPTC {
        }
 
        /**
-       * Convert an iptc date and time tags into the exif format
-       *
-       * @todo Potentially this should also capture the timezone offset.
-       * @param Array $date The date tag
-       * @param Array $time The time tag
-       * @param $c
-       * @return String Date in exif format.
-       */
+        * Convert an iptc date and time tags into the exif format
+        *
+        * @todo Potentially this should also capture the timezone offset.
+        * @param Array $date The date tag
+        * @param Array $time The time tag
+        * @param $c
+        * @return String Date in exif format.
+        */
        private static function timeHelper( $date, $time, $c ) {
                if ( count( $date ) === 1 ) {
                        //the standard says this should always be 1
@@ -417,12 +417,12 @@ class IPTC {
        }
 
        /**
-       * Helper function to convert charset for iptc values.
-       * @param $data string|array The iptc string
-       * @param $charset String: The charset
+        * Helper function to convert charset for iptc values.
+        * @param $data string|array The iptc string
+        * @param $charset String: The charset
         *
         * @return string|array
-       */
+        */
        private static function convIPTC ( $data, $charset ) {
                if ( is_array( $data ) ) {
                        foreach ( $data as &$val ) {
@@ -435,12 +435,12 @@ class IPTC {
                return $data;
        }
        /**
-       * Helper function of a helper function to convert charset for iptc values.
-       * @param $data Mixed String or Array: The iptc string
-       * @param $charset String: The charset
-       *
-       * @return string
-       */
+        * Helper function of a helper function to convert charset for iptc values.
+        * @param $data Mixed String or Array: The iptc string
+        * @param $charset String: The charset
+        *
+        * @return string
+        */
        private static function convIPTCHelper ( $data, $charset ) {
                if ( $charset ) {
                        wfSuppressWarnings();
@@ -465,13 +465,13 @@ class IPTC {
        }
 
        /**
-       * take the value of 1:90 tag and returns a charset
-       * @param String $tag 1:90 tag.
-       * @return string charset name or "?"
-       * Warning, this function does not (and is not intended to) detect
-       * all iso 2022 escape codes. In practise, the code for utf-8 is the
-       * only code that seems to have wide use. It does detect that code.
-       */
+        * take the value of 1:90 tag and returns a charset
+        * @param String $tag 1:90 tag.
+        * @return string charset name or "?"
+        * Warning, this function does not (and is not intended to) detect
+        * all iso 2022 escape codes. In practise, the code for utf-8 is the
+        * only code that seems to have wide use. It does detect that code.
+        */
        static function getCharset( $tag ) {
 
                //According to iim standard, charset is defined by the tag 1:90.
index 60fd2a0..fd1c7cc 100644 (file)
@@ -37,16 +37,16 @@ class JpegMetadataExtractor {
        // that many segments. Your average file has about 10.
 
        /** Function to extract metadata segments of interest from jpeg files
-       * based on GIFMetadataExtractor.
-       *
-       * we can almost use getimagesize to do this
-       * but gis doesn't support having multiple app1 segments
-       * and those can't extract xmp on files containing both exif and xmp data
-       *
-       * @param String $filename name of jpeg file
-       * @return Array of interesting segments.
-       * @throws MWException if given invalid file.
-       */
+        * based on GIFMetadataExtractor.
+        *
+        * we can almost use getimagesize to do this
+        * but gis doesn't support having multiple app1 segments
+        * and those can't extract xmp on files containing both exif and xmp data
+        *
+        * @param String $filename name of jpeg file
+        * @return Array of interesting segments.
+        * @throws MWException if given invalid file.
+        */
        static function segmentSplitter ( $filename ) {
                $showXMP = function_exists( 'xml_parser_create_ns' );
 
@@ -183,18 +183,18 @@ class JpegMetadataExtractor {
        }
 
        /**
-       * This reads the photoshop image resource.
-       * Currently it only compares the iptc/iim hash
-       * with the stored hash, which is used to determine the precedence
-       * of the iptc data. In future it may extract some other info, like
-       * url of copyright license.
-       *
-       * This should generally be called by BitmapMetadataHandler::doApp13()
-       *
-       * @param String $app13 photoshop psir app13 block from jpg.
-       * @throws MWException (It gets caught next level up though)
-       * @return String if the iptc hash is good or not.
-       */
+        * This reads the photoshop image resource.
+        * Currently it only compares the iptc/iim hash
+        * with the stored hash, which is used to determine the precedence
+        * of the iptc data. In future it may extract some other info, like
+        * url of copyright license.
+        *
+        * This should generally be called by BitmapMetadataHandler::doApp13()
+        *
+        * @param String $app13 photoshop psir app13 block from jpg.
+        * @throws MWException (It gets caught next level up though)
+        * @return String if the iptc hash is good or not.
+        */
        public static function doPSIR ( $app13 ) {
                if ( !$app13 ) {
                        throw new MWException( "No App13 segment given" );
index 46993e7..2255c7d 100644 (file)
@@ -119,20 +119,20 @@ abstract class MediaHandler {
        function getMetadata( $image, $path ) { return ''; }
 
        /**
-       * Get metadata version.
-       *
-       * This is not used for validating metadata, this is used for the api when returning
-       * metadata, since api content formats should stay the same over time, and so things
-       * using ForiegnApiRepo can keep backwards compatibility
-       *
-       * All core media handlers share a common version number, and extensions can
-       * use the GetMetadataVersion hook to append to the array (they should append a unique
-       * string so not to get confusing). If there was a media handler named 'foo' with metadata
-       * version 3 it might add to the end of the array the element 'foo=3'. if the core metadata
-       * version is 2, the end version string would look like '2;foo=3'.
-       *
-       * @return string version string
-       */
+        * Get metadata version.
+        *
+        * This is not used for validating metadata, this is used for the api when returning
+        * metadata, since api content formats should stay the same over time, and so things
+        * using ForiegnApiRepo can keep backwards compatibility
+        *
+        * All core media handlers share a common version number, and extensions can
+        * use the GetMetadataVersion hook to append to the array (they should append a unique
+        * string so not to get confusing). If there was a media handler named 'foo' with metadata
+        * version 3 it might add to the end of the array the element 'foo=3'. if the core metadata
+        * version is 2, the end version string would look like '2;foo=3'.
+        *
+        * @return string version string
+        */
        static function getMetadataVersion () {
                $version = Array( '2' ); // core metadata version
                wfRunHooks( 'GetMetadataVersion', Array( &$version ) );
@@ -140,15 +140,15 @@ abstract class MediaHandler {
        }
 
        /**
-       * Convert metadata version.
-       *
-       * By default just returns $metadata, but can be used to allow
-       * media handlers to convert between metadata versions.
-       *
-       * @param $metadata Mixed String or Array metadata array (serialized if string)
-       * @param $version Integer target version
-       * @return Array serialized metadata in specified version, or $metadata on fail.
-       */
+        * Convert metadata version.
+        *
+        * By default just returns $metadata, but can be used to allow
+        * media handlers to convert between metadata versions.
+        *
+        * @param $metadata Mixed String or Array metadata array (serialized if string)
+        * @param $version Integer target version
+        * @return Array serialized metadata in specified version, or $metadata on fail.
+        */
        function convertMetadataVersion( $metadata, $version = 1 ) {
                if ( !is_array( $metadata ) ) {
 
index 0decb75..0f341ae 100644 (file)
  */
 
 /**
-* Class for reading xmp data containing properties relevant to
-* images, and spitting out an array that FormatExif accepts.
-*
-* Note, this is not meant to recognize every possible thing you can
-* encode in XMP. It should recognize all the properties we want.
-* For example it doesn't have support for structures with multiple
-* nesting levels, as none of the properties we're supporting use that
-* feature. If it comes across properties it doesn't recognize, it should
-* ignore them.
-*
-* The public methods one would call in this class are
-* - parse( $content )
-     Reads in xmp content.
-     Can potentially be called multiple times with partial data each time.
-* - parseExtended( $content )
-     Reads XMPExtended blocks (jpeg files only).
-* - getResults
-     Outputs a results array.
-*
-* Note XMP kind of looks like rdf. They are not the same thing - XMP is
-* encoded as a specific subset of rdf. This class can read XMP. It cannot
-* read rdf.
-*
-*/
+ * Class for reading xmp data containing properties relevant to
+ * images, and spitting out an array that FormatExif accepts.
+ *
+ * Note, this is not meant to recognize every possible thing you can
+ * encode in XMP. It should recognize all the properties we want.
+ * For example it doesn't have support for structures with multiple
+ * nesting levels, as none of the properties we're supporting use that
+ * feature. If it comes across properties it doesn't recognize, it should
+ * ignore them.
+ *
+ * The public methods one would call in this class are
+ * - parse( $content )
+ *     Reads in xmp content.
+ *     Can potentially be called multiple times with partial data each time.
+ * - parseExtended( $content )
+ *     Reads XMPExtended blocks (jpeg files only).
+ * - getResults
+ *     Outputs a results array.
+ *
+ * Note XMP kind of looks like rdf. They are not the same thing - XMP is
+ * encoded as a specific subset of rdf. This class can read XMP. It cannot
+ * read rdf.
+ *
+ */
 class XMPReader {
 
        private $curItem = array();        // array to hold the current element (and previous element, and so on)
@@ -63,14 +63,14 @@ class XMPReader {
        protected $items;
 
        /**
-       * These are various mode constants.
-       * they are used to figure out what to do
-       * with an element when its encountered.
-       *
-       * For example, MODE_IGNORE is used when processing
-       * a property we're not interested in. So if a new
-       * element pops up when we're in that mode, we ignore it.
-       */
+        * These are various mode constants.
+        * they are used to figure out what to do
+        * with an element when its encountered.
+        *
+        * For example, MODE_IGNORE is used when processing
+        * a property we're not interested in. So if a new
+        * element pops up when we're in that mode, we ignore it.
+        */
        const MODE_INITIAL = 0;
        const MODE_IGNORE  = 1;
        const MODE_LI      = 2;
@@ -92,10 +92,10 @@ class XMPReader {
 
 
        /**
-       * Constructor.
-       *
-       * Primary job is to initialize the XMLParser
-       */
+        * Constructor.
+        *
+        * Primary job is to initialize the XMLParser
+        */
        function __construct() {
 
                if ( !function_exists( 'xml_parser_create_ns' ) ) {
@@ -109,9 +109,9 @@ class XMPReader {
 
        }
        /**
-       * Main use is if a single item has multiple xmp documents describing it.
-       * For example in jpeg's with extendedXMP
-       */
+        * Main use is if a single item has multiple xmp documents describing it.
+        * For example in jpeg's with extendedXMP
+        */
        private function resetXMLParser() {
 
                if ( $this->xmlParser ) {
@@ -131,20 +131,20 @@ class XMPReader {
        }
 
        /** Destroy the xml parser
-       *
-       * Not sure if this is actually needed.
-       */
+        *
+        * Not sure if this is actually needed.
+        */
        function __destruct() {
                // not sure if this is needed.
                xml_parser_free( $this->xmlParser );
        }
 
        /** Get the result array. Do some post-processing before returning
-       * the array, and transform any metadata that is special-cased.
-       *
-       * @return Array array of results as an array of arrays suitable for
-             FormatMetadata::getFormattedData().
-       */
+        * the array, and transform any metadata that is special-cased.
+        *
+        * @return Array array of results as an array of arrays suitable for
+        *      FormatMetadata::getFormattedData().
+        */
        public function getResults() {
                // xmp-special is for metadata that affects how stuff
                // is extracted. For example xmpNote:HasExtendedXMP.
@@ -368,21 +368,21 @@ class XMPReader {
        }
 
        /**
-       * Character data handler
-       * Called whenever character data is found in the xmp document.
-       *
-       * does nothing if we're in MODE_IGNORE or if the data is whitespace
-       * throws an error if we're not in MODE_SIMPLE (as we're not allowed to have character
-       * data in the other modes).
-       *
-       * As an example, this happens when we encounter XMP like:
-       * <exif:DigitalZoomRatio>0/10</exif:DigitalZoomRatio>
-       * and are processing the 0/10 bit.
-       *
-       * @param $parser XMLParser reference to the xml parser
-       * @param $data String Character data
-       * @throws MWException on invalid data
-       */
+        * Character data handler
+        * Called whenever character data is found in the xmp document.
+        *
+        * does nothing if we're in MODE_IGNORE or if the data is whitespace
+        * throws an error if we're not in MODE_SIMPLE (as we're not allowed to have character
+        * data in the other modes).
+        *
+        * As an example, this happens when we encounter XMP like:
+        * <exif:DigitalZoomRatio>0/10</exif:DigitalZoomRatio>
+        * and are processing the 0/10 bit.
+        *
+        * @param $parser XMLParser reference to the xml parser
+        * @param $data String Character data
+        * @throws MWException on invalid data
+        */
        function char( $parser, $data ) {
 
                $data = trim( $data );
@@ -412,11 +412,11 @@ class XMPReader {
        }
 
        /** When we hit a closing element in MODE_IGNORE
-       * Check to see if this is the element we started to ignore,
-       * in which case we get out of MODE_IGNORE
-       *
-       * @param $elm String Namespace of element followed by a space and then tag name of element.
-       */
+        * Check to see if this is the element we started to ignore,
+        * in which case we get out of MODE_IGNORE
+        *
+        * @param $elm String Namespace of element followed by a space and then tag name of element.
+        */
        private function endElementModeIgnore ( $elm ) {
                if ( $this->curItem[0] === $elm ) {
                        array_shift( $this->curItem );
@@ -425,20 +425,20 @@ class XMPReader {
        }
 
        /**
-       * Hit a closing element when in MODE_SIMPLE.
-       * This generally means that we finished processing a
-       * property value, and now have to save the result to the
-       * results array
-       *
-       * For example, when processing:
-       * <exif:DigitalZoomRatio>0/10</exif:DigitalZoomRatio>
-       * this deals with when we hit </exif:DigitalZoomRatio>.
-       *
-       * Or it could be if we hit the end element of a property
-       * of a compound data structure (like a member of an array).
-       *
-       * @param $elm String namespace, space, and tag name.
-       */
+        * Hit a closing element when in MODE_SIMPLE.
+        * This generally means that we finished processing a
+        * property value, and now have to save the result to the
+        * results array
+        *
+        * For example, when processing:
+        * <exif:DigitalZoomRatio>0/10</exif:DigitalZoomRatio>
+        * this deals with when we hit </exif:DigitalZoomRatio>.
+        *
+        * Or it could be if we hit the end element of a property
+        * of a compound data structure (like a member of an array).
+        *
+        * @param $elm String namespace, space, and tag name.
+        */
        private function endElementModeSimple ( $elm ) {
                if ( $this->charContent !== false ) {
                        if ( $this->processingArray ) {
@@ -572,15 +572,15 @@ class XMPReader {
        }
 
        /**
-       * End element while in MODE_QDESC
-       * mostly when ending an element when we have a simple value
-       * that has qualifiers.
-       *
-       * Qualifiers aren't all that common, and we don't do anything
-       * with them.
-       *
-       * @param $elm String namespace and element
-       */
+        * End element while in MODE_QDESC
+        * mostly when ending an element when we have a simple value
+        * that has qualifiers.
+        *
+        * Qualifiers aren't all that common, and we don't do anything
+        * with them.
+        *
+        * @param $elm String namespace and element
+        */
        private function endElementModeQDesc( $elm ) {
 
                if ( $elm === self::NS_RDF . ' value' ) {
@@ -679,16 +679,16 @@ class XMPReader {
        }
 
        /**
-       * Hit an opening element while in MODE_IGNORE
-       *
-       * XMP is extensible, so ignore any tag we don't understand.
-       *
-       * Mostly ignores, unless we encounter the element that we are ignoring.
-       * in which case we add it to the item stack, so we can ignore things
-       * that are nested, correctly.
-       *
-       * @param $elm String namespace . ' ' . tag name
-       */
+        * Hit an opening element while in MODE_IGNORE
+        *
+        * XMP is extensible, so ignore any tag we don't understand.
+        *
+        * Mostly ignores, unless we encounter the element that we are ignoring.
+        * in which case we add it to the item stack, so we can ignore things
+        * that are nested, correctly.
+        *
+        * @param $elm String namespace . ' ' . tag name
+        */
        private function startElementModeIgnore( $elm ) {
                if ( $elm === $this->curItem[0] ) {
                        array_unshift( $this->curItem, $elm );
@@ -697,12 +697,12 @@ class XMPReader {
        }
 
        /**
-       *  Start element in MODE_BAG (unordered array)
-       * this should always be <rdf:Bag>
-       *
-       * @param $elm String namespace . ' ' . tag
-       * @throws MWException if we have an element that's not <rdf:Bag>
-       */
+        *  Start element in MODE_BAG (unordered array)
+        * this should always be <rdf:Bag>
+        *
+        * @param $elm String namespace . ' ' . tag
+        * @throws MWException if we have an element that's not <rdf:Bag>
+        */
        private function startElementModeBag( $elm ) {
                if ( $elm === self::NS_RDF . ' Bag' ) {
                        array_unshift( $this->mode, self::MODE_LI );
@@ -713,12 +713,12 @@ class XMPReader {
        }
 
        /**
-       * Start element in MODE_SEQ (ordered array)
-       * this should always be <rdf:Seq>
-       *
-       * @param $elm String namespace . ' ' . tag
-       * @throws MWException if we have an element that's not <rdf:Seq>
-       */
+        * Start element in MODE_SEQ (ordered array)
+        * this should always be <rdf:Seq>
+        *
+        * @param $elm String namespace . ' ' . tag
+        * @throws MWException if we have an element that's not <rdf:Seq>
+        */
        private function startElementModeSeq( $elm ) {
                if ( $elm === self::NS_RDF . ' Seq' ) {
                        array_unshift( $this->mode, self::MODE_LI );
@@ -734,19 +734,19 @@ class XMPReader {
        }
 
        /**
-       * Start element in MODE_LANG (language alternative)
-       * this should always be <rdf:Alt>
-       *
-       * This tag tends to be used for metadata like describe this
-       * picture, which can be translated into multiple languages.
-       *
-       * XMP supports non-linguistic alternative selections,
-       * which are really only used for thumbnails, which
-       * we don't care about.
-       *
-       * @param $elm String namespace . ' ' . tag
-       * @throws MWException if we have an element that's not <rdf:Alt>
-       */
+        * Start element in MODE_LANG (language alternative)
+        * this should always be <rdf:Alt>
+        *
+        * This tag tends to be used for metadata like describe this
+        * picture, which can be translated into multiple languages.
+        *
+        * XMP supports non-linguistic alternative selections,
+        * which are really only used for thumbnails, which
+        * we don't care about.
+        *
+        * @param $elm String namespace . ' ' . tag
+        * @throws MWException if we have an element that's not <rdf:Alt>
+        */
        private function startElementModeLang( $elm ) {
                if ( $elm === self::NS_RDF . ' Alt' ) {
                        array_unshift( $this->mode, self::MODE_LI_LANG );
@@ -799,19 +799,19 @@ class XMPReader {
        }
 
        /**
-       * Start an element when in MODE_QDESC.
-       * This generally happens when a simple element has an inner
-       * rdf:Description to hold qualifier elements.
-       *
-       * For example in:
-       * <exif:DigitalZoomRatio><rdf:Description><rdf:value>0/10</rdf:value>
-       *   <foo:someQualifier>Bar</foo:someQualifier> </rdf:Description>
-       *   </exif:DigitalZoomRatio>
-       * Called when processing the <rdf:value> or <foo:someQualifier>.
-       *
-       * @param $elm String namespace and tag name separated by a space.
-       *
-       */
+        * Start an element when in MODE_QDESC.
+        * This generally happens when a simple element has an inner
+        * rdf:Description to hold qualifier elements.
+        *
+        * For example in:
+        * <exif:DigitalZoomRatio><rdf:Description><rdf:value>0/10</rdf:value>
+        *   <foo:someQualifier>Bar</foo:someQualifier> </rdf:Description>
+        *   </exif:DigitalZoomRatio>
+        * Called when processing the <rdf:value> or <foo:someQualifier>.
+        *
+        * @param $elm String namespace and tag name separated by a space.
+        *
+        */
        private function startElementModeQDesc( $elm ) {
                if ( $elm === self::NS_RDF . ' value' ) {
                        return; // do nothing
@@ -930,18 +930,18 @@ class XMPReader {
        }
 
        /**
-       * opening element in MODE_LI
-       * process elements of arrays.
-       *
-       * Example:
-       * <exif:ISOSpeedRatings> <rdf:Seq> <rdf:li>64</rdf:li>
-       *   </rdf:Seq> </exif:ISOSpeedRatings>
-       * This method is called when we hit the <rdf:li> element.
-       *
-       * @param $elm String: namespace . ' ' . tagname
-       * @param $attribs Array: Attributes. (needed for BAGSTRUCTS)
-       * @throws MWException if gets a tag other than <rdf:li>
-       */
+        * opening element in MODE_LI
+        * process elements of arrays.
+        *
+        * Example:
+        * <exif:ISOSpeedRatings> <rdf:Seq> <rdf:li>64</rdf:li>
+        *   </rdf:Seq> </exif:ISOSpeedRatings>
+        * This method is called when we hit the <rdf:li> element.
+        *
+        * @param $elm String: namespace . ' ' . tagname
+        * @param $attribs Array: Attributes. (needed for BAGSTRUCTS)
+        * @throws MWException if gets a tag other than <rdf:li>
+        */
        private function startElementModeLi( $elm, $attribs ) {
                if ( ( $elm ) !== self::NS_RDF . ' li' ) {
                        throw new MWException( "<rdf:li> expected but got $elm." );
@@ -981,19 +981,19 @@ class XMPReader {
        }
 
        /**
-       * Opening element in MODE_LI_LANG.
-       * process elements of language alternatives
-       *
-       * Example:
-       * <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">My house
-       *  </rdf:li> </rdf:Alt> </dc:title>
-       *
-       * This method is called when we hit the <rdf:li> element.
-       *
-       * @param $elm String namespace . ' ' . tag
-       * @param $attribs array array of elements (most importantly xml:lang)
-       * @throws MWException if gets a tag other than <rdf:li> or if no xml:lang
-       */
+        * Opening element in MODE_LI_LANG.
+        * process elements of language alternatives
+        *
+        * Example:
+        * <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">My house
+        *  </rdf:li> </rdf:Alt> </dc:title>
+        *
+        * This method is called when we hit the <rdf:li> element.
+        *
+        * @param $elm String namespace . ' ' . tag
+        * @param $attribs array array of elements (most importantly xml:lang)
+        * @throws MWException if gets a tag other than <rdf:li> or if no xml:lang
+        */
        private function startElementModeLiLang( $elm, $attribs ) {
                if ( $elm !== self::NS_RDF . ' li' ) {
                        throw new MWException( __METHOD__ . " <rdf:li> expected but got $elm." );
@@ -1157,16 +1157,16 @@ class XMPReader {
        }
 
        /**
-       * Given an extracted value, save it to results array
-       *
-       * note also uses $this->ancestorStruct and
-       * $this->processingArray to determine what name to
-       * save the value under. (in addition to $tag).
-       *
-       * @param $ns String namespace of tag this is for
-       * @param $tag String tag name
-       * @param $val String value to save
-       */
+        * Given an extracted value, save it to results array
+        *
+        * note also uses $this->ancestorStruct and
+        * $this->processingArray to determine what name to
+        * save the value under. (in addition to $tag).
+        *
+        * @param $ns String namespace of tag this is for
+        * @param $tag String tag name
+        * @param $val String value to save
+        */
        private function saveValue( $ns, $tag, $val ) {
 
                $info =& $this->items[$ns][$tag];
index a4ba741..01b07db 100644 (file)
  */
 
 /**
-* This class is just a container for a big array
-* used by XMPReader to determine which XMP items to
-* extract.
-*/
+ * This class is just a container for a big array
+ * used by XMPReader to determine which XMP items to
+ * extract.
+ */
 class XMPInfo {
 
        /** get the items array
         * @return Array XMP item configuration array.
-       */
+        */
        public static function getItems ( ) {
                if( !self::$ranHooks ) {
                        // This is for if someone makes a custom metadata extension.
@@ -44,26 +44,25 @@ class XMPInfo {
        static private $ranHooks = false;
 
        /**
-       * XMPInfo::$items keeps a list of all the items
-       * we are interested to extract, as well as
-       * information about the item like what type
-       * it is.
-       *
-       * Format is an array of namespaces,
-       * each containing an array of tags
-       * each tag is an array of information about the
-       * tag, including:
-       *       * map_group - what group (used for precedence during conflicts)
-       *       * mode - What type of item (self::MODE_SIMPLE usually, see above for all values)
-       *       * validate - method to validate input. Could also post-process the input. A string value is assumed to be a static method of XMPValidate. Can also take a array( 'className', 'methodName' ).
-       *       * choices  - array of potential values (format of 'value' => true ). Only used with validateClosed
-       *       * rangeLow and rangeHigh - alternative to choices for numeric ranges. Again for validateClosed only.
-       *       * children - for MODE_STRUCT items, allowed children.
-       *       * structPart - Indicates that this element can only appear as a member of a structure.
-       *
-       * currently this just has a bunch of exif values as this class is only half-done
-       */
-
+        * XMPInfo::$items keeps a list of all the items
+        * we are interested to extract, as well as
+        * information about the item like what type
+        * it is.
+        *
+        * Format is an array of namespaces,
+        * each containing an array of tags
+        * each tag is an array of information about the
+        * tag, including:
+        *       * map_group - what group (used for precedence during conflicts)
+        *       * mode - What type of item (self::MODE_SIMPLE usually, see above for all values)
+        *       * validate - method to validate input. Could also post-process the input. A string value is assumed to be a static method of XMPValidate. Can also take a array( 'className', 'methodName' ).
+        *       * choices  - array of potential values (format of 'value' => true ). Only used with validateClosed
+        *      * rangeLow and rangeHigh - alternative to choices for numeric ranges. Again for validateClosed only.
+        *       * children - for MODE_STRUCT items, allowed children.
+        *      * structPart - Indicates that this element can only appear as a member of a structure.
+        *
+        * currently this just has a bunch of exif values as this class is only half-done
+        */
        static private $items = array(
                'http://ns.adobe.com/exif/1.0/' => array(
                        'ApertureValue' => array(
index e2ae535..b7cf6be 100644 (file)
  */
 
 /**
-* This contains some static methods for
-* validating XMP properties. See XMPInfo and XMPReader classes.
-*
-* Each of these functions take the same parameters
-* * an info array which is a subset of the XMPInfo::items array
-* * A value (passed as reference) to validate. This can be either a
-     simple value or an array
-* * A boolean to determine if this is validating a simple or complex values
-*
-* It should be noted that when an array is being validated, typically the validation
-* function is called once for each value, and then once at the end for the entire array.
-*
-* These validation functions can also be used to modify the data. See the gps and flash one's
-* for example.
-*
-* @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf starting at pg 28
-* @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf starting at pg 11
-*/
+ * This contains some static methods for
+ * validating XMP properties. See XMPInfo and XMPReader classes.
+ *
+ * Each of these functions take the same parameters
+ * * an info array which is a subset of the XMPInfo::items array
+ * * A value (passed as reference) to validate. This can be either a
+ *     simple value or an array
+ * * A boolean to determine if this is validating a simple or complex values
+ *
+ * It should be noted that when an array is being validated, typically the validation
+ * function is called once for each value, and then once at the end for the entire array.
+ *
+ * These validation functions can also be used to modify the data. See the gps and flash one's
+ * for example.
+ *
+ * @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf starting at pg 28
+ * @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf starting at pg 11
+ */
 class XMPValidate {
        /**
-       * function to validate boolean properties ( True or False )
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate boolean properties ( True or False )
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateBoolean( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -61,12 +61,12 @@ class XMPValidate {
        }
 
        /**
-       * function to validate rational properties ( 12/10 )
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate rational properties ( 12/10 )
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateRational( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -80,15 +80,15 @@ class XMPValidate {
        }
 
        /**
-       * function to validate rating properties -1, 0-5
-       *
-       * if its outside of range put it into range.
-       *
-       * @see MWG spec
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate rating properties -1, 0-5
+        *
+        * if its outside of range put it into range.
+        *
+        * @see MWG spec
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateRating( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -119,12 +119,12 @@ class XMPValidate {
        }
 
        /**
-       * function to validate integers
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate integers
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateInteger( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -138,13 +138,13 @@ class XMPValidate {
        }
 
        /**
-       * function to validate properties with a fixed number of allowed
-       * choices. (closed choice)
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate properties with a fixed number of allowed
+        * choices. (closed choice)
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateClosed( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -169,12 +169,12 @@ class XMPValidate {
        }
 
        /**
-       * function to validate and modify flash structure
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate and modify flash structure
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateFlash( $info, &$val, $standalone ) {
                if ( $standalone ) {
                        // this only validates flash structs, not individual properties
@@ -198,17 +198,17 @@ class XMPValidate {
        }
 
        /**
-       * function to validate LangCode properties ( en-GB, etc )
-       *
-       * This is just a naive check to make sure it somewhat looks like a lang code.
-       *
-       * @see rfc 3066
-       * @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf page 30 (section 8.2.2.5)
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate LangCode properties ( en-GB, etc )
+        *
+        * This is just a naive check to make sure it somewhat looks like a lang code.
+        *
+        * @see rfc 3066
+        * @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart1.pdf page 30 (section 8.2.2.5)
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateLangCode( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
@@ -223,22 +223,22 @@ class XMPValidate {
        }
 
        /**
-       * function to validate date properties, and convert to (partial) Exif format.
-       *
-       * Dates can be one of the following formats:
-       * YYYY
-       * YYYY-MM
-       * YYYY-MM-DD
-       * YYYY-MM-DDThh:mmTZD
-       * YYYY-MM-DDThh:mm:ssTZD
-       * YYYY-MM-DDThh:mm:ss.sTZD
-       *
-       * @param $info Array information about current property
-       * @param &$val Mixed current value to validate. Converts to TS_EXIF as a side-effect.
-             in cases where there's only a partial date, it will give things like
-             2011:04.
-       * @param $standalone Boolean if this is a simple property or array
-       */
+        * function to validate date properties, and convert to (partial) Exif format.
+        *
+        * Dates can be one of the following formats:
+        * YYYY
+        * YYYY-MM
+        * YYYY-MM-DD
+        * YYYY-MM-DDThh:mmTZD
+        * YYYY-MM-DDThh:mm:ssTZD
+        * YYYY-MM-DDThh:mm:ss.sTZD
+        *
+        * @param $info Array information about current property
+        * @param &$val Mixed current value to validate. Converts to TS_EXIF as a side-effect.
+        *      in cases where there's only a partial date, it will give things like
+        *      2011:04.
+        * @param $standalone Boolean if this is a simple property or array
+        */
        public static function validateDate( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        // this only validates standalone properties, not arrays, etc
index 6f75da4..85ca2bd 100644 (file)
@@ -464,8 +464,8 @@ class SpecialRevisionDelete extends UnlistedSpecialPage {
        }
 
        /**
-       * @return String: HTML
-       */
+        * @return String: HTML
+        */
        protected function buildCheckBoxes() {
                $html = '<table>';
                // If there is just one item, use checkboxes