Doc fixes for MediaHandler. No behaviour changes.
[lhc/web/wiklou.git] / includes / media / XMPValidate.php
index e2ae535..3e29c12 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 array $info 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 array $info 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 array $info 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 array $info 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 array $info 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 array $info 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,23 +198,23 @@ 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 array $info 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
                        return;
                }
-               if ( !preg_match( '/^[-A-Za-z0-9]{2,}$/D', $val) ) {
+               if ( !preg_match( '/^[-A-Za-z0-9]{2,}$/D', $val ) ) {
                        //this is a rather naive check.
                        wfDebugLog( 'XMP', __METHOD__ . " Expected Lang code but got $val" );
                        $val = null;
@@ -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 array $info 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
@@ -295,7 +295,6 @@ class XMPValidate {
                                return;
                        }
 
-
                        // Extra check for empty string necessary due to TZ but no second case.
                        $stripSeconds = false;
                        if ( !isset( $res[6] ) || $res[6] === '' ) {
@@ -331,12 +330,12 @@ class XMPValidate {
         * @see http://www.adobe.com/devnet/xmp/pdfs/XMPSpecificationPart2.pdf
         *        section 1.2.7.4 on page 23
         *
-        * @param $info Array unused (info about prop)
+        * @param array $info unused (info about prop)
         * @param &$val String GPS string in either DDD,MM,SSk or
         *           or DDD,MM.mmk form
         * @param $standalone Boolean if its a simple prop (should always be true)
         */
-       public static function validateGPS ( $info, &$val, $standalone ) {
+       public static function validateGPS( $info, &$val, $standalone ) {
                if ( !$standalone ) {
                        return;
                }
@@ -347,8 +346,8 @@ class XMPValidate {
                        $val, $m )
                ) {
                        $coord = intval( $m[1] );
-                       $coord += intval( $m[2] ) * (1/60);
-                       $coord += intval( $m[3] ) * (1/3600);
+                       $coord += intval( $m[2] ) * ( 1 / 60 );
+                       $coord += intval( $m[3] ) * ( 1 / 3600 );
                        if ( $m[4] === 'S' || $m[4] === 'W' ) {
                                $coord = -$coord;
                        }
@@ -359,7 +358,7 @@ class XMPValidate {
                        $val, $m )
                ) {
                        $coord = intval( $m[1] );
-                       $coord += floatval( $m[2] ) * (1/60);
+                       $coord += floatval( $m[2] ) * ( 1 / 60 );
                        if ( $m[3] === 'S' || $m[3] === 'W' ) {
                                $coord = -$coord;
                        }