ソースを参照

Move sqm_array_merge to arrays.php and subsequently move inclusion of arrays.php to init.php for global access.

pdontthink 19 年 前
コミット
8ac4e87d23
6 ファイル変更65 行追加62 行削除
  1. 62 0
      functions/arrays.php
  2. 0 58
      functions/global.php
  3. 1 1
      functions/plugin.php
  4. 1 0
      include/init.php
  5. 1 2
      src/options_order.php
  6. 0 1
      src/read_body.php

+ 62 - 0
functions/arrays.php

@@ -139,3 +139,65 @@ if (!function_exists('array_combine')) {
         return $r;
     }
 }
+
+
+ /**
+  * Merges two variables into a single array
+  *
+  * Similar to PHP array_merge function, but provides same
+  * functionality as array_merge without losing array values
+  * with same key names.  If the values under identical array
+  * keys are both strings and $concat_strings is TRUE, those
+  * values are concatenated together, otherwise they are placed
+  * in a sub-array and are merged (recursively) in the same manner.
+  *
+  * If either of the elements being merged is not an array,
+  * it will simply be added to the returned array.
+  *
+  * If both values are strings and $concat_strings is TRUE,
+  * a concatenated string is returned instead of an array.
+  *
+  * @param mixed   $a              First element to be merged
+  * @param mixed   $b              Second element to be merged
+  * @param boolean $concat_strings Whether or not string values
+  *                                should be concatenated instead
+  *                                of added to different array
+  *                                keys (default TRUE)
+  *
+  * @return array The merged $a and $b in one array
+  *
+  * @since 1.5.2
+  * @author Paul Lesniewski 
+  *
+  */
+function sqm_array_merge($a, $b, $concat_strings=true) {
+
+    $ret = array();
+
+    if (is_array($a)) {
+        $ret = $a;
+    } else {
+        if (is_string($a) && is_string($b) && $concat_strings) {
+            return $a . $b;
+        }
+        $ret[] = $a;
+    }
+
+
+    if (is_array($b)) {
+        foreach ($b as $key => $value) {
+            if (isset($ret[$key])) {
+                $ret[$key] = sqm_array_merge($ret[$key], $value, $concat_strings);
+            } else {
+                $ret[$key] = $value;
+            }
+        }
+    } else {
+        $ret[] = $b;
+    }
+
+    return $ret;
+
+}
+
+

+ 0 - 58
functions/global.php

@@ -83,64 +83,6 @@ function sqstripslashes(&$array) {
     }
 }
 
-/**
- * Merges two variables into a single array
- *
- * Similar to PHP array_merge function, but provides same
- * functionality as array_merge without losing array values
- * with same key names.  If the values under identical array
- * keys are both strings and $concat_strings is TRUE, those
- * values are concatenated together, otherwise they are placed
- * in a sub-array and are merged (recursively) in the same manner.  
- *
- * If either of the elements being merged is not an array,
- * it will simply be added to the returned array.
- * 
- * If both values are strings and $concat_strings is TRUE,
- * a concatenated string is returned instead of an array.
- * 
- * @param mixed   $a              First element to be merged
- * @param mixed   $b              Second element to be merged
- * @param boolean $concat_strings Whether or not string values 
- *                                should be concatenated instead 
- *                                of added to different array 
- *                                keys (default TRUE)
- *
- * @return array The merged $a and $b in one array
- *
- * @since 1.5.2
- *
- */
-function sq_array_merge($a, $b, $concat_strings=true) {
-
-    $ret = array();
-
-    if (is_array($a)) {
-        $ret = $a;
-    } else {
-        if (is_string($a) && is_string($b) && $concat_strings) {
-            return $a . $b;
-        }
-        $ret[] = $a;
-    }
-
-
-    if (is_array($b)) {
-        foreach ($b as $key => $value) {
-            if (isset($ret[$key])) {
-                $ret[$key] = sq_array_merge($ret[$key], $value, $concat_strings);
-            } else {
-                $ret[$key] = $value;
-            }
-        }
-    } else {
-        $ret[] = $b;
-    }
-
-    return $ret;
-
-}
-
 /**
  * Add a variable to the session.
  * @param mixed $var the variable to register

+ 1 - 1
functions/plugin.php

@@ -118,7 +118,7 @@ function concat_hook_function($name,$parm=NULL) {
             /* Add something to set correct gettext domain for plugin. */
             if (function_exists($function)) {
 //                $ret .= $function($parm);
-                $ret = sq_array_merge($ret, $function($parm));
+                $ret = sqm_array_merge($ret, $function($parm));
             }
         }
     }

+ 1 - 0
include/init.php

@@ -134,6 +134,7 @@ $color[15] = '#002266';  /* (dark blue)   Unselectable folders */
 $color[16] = '#ff9933';  /* (orange)      Highlight color */
 
 require(SM_PATH . 'functions/global.php');
+require(SM_PATH . 'functions/arrays.php');
 
 /* load default configuration */
 require(SM_PATH . 'config/config_default.php');

+ 1 - 2
src/options_order.php

@@ -18,7 +18,6 @@ require('../include/init.php');
 
 /* SquirrelMail required files. */
 require_once(SM_PATH . 'functions/forms.php');
-require_once(SM_PATH . 'functions/arrays.php');
 
 /* get globals */
 if (sqgetGlobalVar('num',       $num,       SQ_GET)) {
@@ -160,4 +159,4 @@ $oTemplate->assign('addField_action', $PHP_SELF);
 $oTemplate->display('options_order.tpl');
 
 $oTemplate->display('footer.tpl');
-?>
+?>

+ 0 - 1
src/read_body.php

@@ -26,7 +26,6 @@ require_once(SM_PATH . 'functions/mime.php');
 require_once(SM_PATH . 'functions/date.php');
 require_once(SM_PATH . 'functions/url_parser.php');
 require_once(SM_PATH . 'functions/identity.php');
-require_once(SM_PATH . 'functions/arrays.php');
 require_once(SM_PATH . 'functions/mailbox_display.php');
 require_once(SM_PATH . 'functions/forms.php');
 require_once(SM_PATH . 'functions/attachment_common.php');