Moved function to Arrays.php
This commit is contained in:
parent
fbde999d0d
commit
a66bb09b40
3 changed files with 39 additions and 37 deletions
|
@ -29,6 +29,7 @@ use Friendica\Model\Post;
|
|||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Security\BasicAuth;
|
||||
use Friendica\Security\OAuth;
|
||||
use Friendica\Util\Arrays;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\HTTPInputData;
|
||||
use Friendica\Util\XML;
|
||||
|
@ -384,34 +385,6 @@ class BaseApi extends BaseModule
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* walks recursively through an array with the possibility to change value and key
|
||||
*
|
||||
* @param array $array The array to walk through
|
||||
* @param callable $callback The callback function
|
||||
*
|
||||
* @return array the transformed array
|
||||
*/
|
||||
static public function walkRecursive(array &$array, callable $callback)
|
||||
{
|
||||
$new_array = [];
|
||||
|
||||
foreach ($array as $k => $v) {
|
||||
if (is_array($v)) {
|
||||
if ($callback($v, $k)) {
|
||||
$new_array[$k] = self::walkRecursive($v, $callback);
|
||||
}
|
||||
} else {
|
||||
if ($callback($v, $k)) {
|
||||
$new_array[$k] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
$array = $new_array;
|
||||
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Formats the data according to the data type
|
||||
*
|
||||
|
@ -484,7 +457,7 @@ class BaseApi extends BaseModule
|
|||
|
||||
if (is_array($data2)) {
|
||||
$key = key($data2);
|
||||
self::walkRecursive($data2, ['Friendica\Module\BaseApi', 'reformatXML']);
|
||||
Arrays::walkRecursive($data2, ['Friendica\Module\BaseApi', 'reformatXML']);
|
||||
|
||||
if ($key == '0') {
|
||||
$data4 = [];
|
||||
|
|
|
@ -29,7 +29,7 @@ class Arrays
|
|||
/**
|
||||
* Private constructor
|
||||
*/
|
||||
private function __construct () {
|
||||
private function __construct() {
|
||||
// Utitlities don't have instances
|
||||
}
|
||||
|
||||
|
@ -40,7 +40,7 @@ class Arrays
|
|||
* @param string $glue Glue for imploded elements
|
||||
* @return string String with elements from array
|
||||
*/
|
||||
public static function recursiveImplode (array $array, $glue) {
|
||||
public static function recursiveImplode(array $array, $glue) {
|
||||
// Init returned string
|
||||
$string = '';
|
||||
|
||||
|
@ -62,4 +62,32 @@ class Arrays
|
|||
// Return it
|
||||
return $string;
|
||||
}
|
||||
|
||||
/**
|
||||
* walks recursively through an array with the possibility to change value and key
|
||||
*
|
||||
* @param array $array The array to walk through
|
||||
* @param callable $callback The callback function
|
||||
*
|
||||
* @return array the transformed array
|
||||
*/
|
||||
static public function walkRecursive(array &$array, callable $callback)
|
||||
{
|
||||
$new_array = [];
|
||||
|
||||
foreach ($array as $k => $v) {
|
||||
if (is_array($v)) {
|
||||
if ($callback($v, $k)) {
|
||||
$new_array[$k] = self::walkRecursive($v, $callback);
|
||||
}
|
||||
} else {
|
||||
if ($callback($v, $k)) {
|
||||
$new_array[$k] = $v;
|
||||
}
|
||||
}
|
||||
}
|
||||
$array = $new_array;
|
||||
|
||||
return $array;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ use Friendica\Module\BaseApi;
|
|||
use Friendica\Network\HTTPException;
|
||||
use Friendica\Security\BasicAuth;
|
||||
use Friendica\Test\FixtureTest;
|
||||
use Friendica\Util\Arrays;
|
||||
use Friendica\Util\DateTimeFormat;
|
||||
use Friendica\Util\Temporal;
|
||||
use Monolog\Handler\TestHandler;
|
||||
|
@ -998,7 +999,7 @@ class ApiTest extends FixtureTest
|
|||
}
|
||||
|
||||
/**
|
||||
* Test the BaseApi::walkRecursive() function.
|
||||
* Test the Arrays::walkRecursive() function.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -1007,7 +1008,7 @@ class ApiTest extends FixtureTest
|
|||
$array = ['item1'];
|
||||
self::assertEquals(
|
||||
$array,
|
||||
BaseApi::walkRecursive(
|
||||
Arrays::walkRecursive(
|
||||
$array,
|
||||
function () {
|
||||
// Should we test this with a callback that actually does something?
|
||||
|
@ -1018,7 +1019,7 @@ class ApiTest extends FixtureTest
|
|||
}
|
||||
|
||||
/**
|
||||
* Test the BaseApi::walkRecursive() function with an array.
|
||||
* Test the Arrays::walkRecursive() function with an array.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
@ -1027,7 +1028,7 @@ class ApiTest extends FixtureTest
|
|||
$array = [['item1'], ['item2']];
|
||||
self::assertEquals(
|
||||
$array,
|
||||
BaseApi::walkRecursive(
|
||||
Arrays::walkRecursive(
|
||||
$array,
|
||||
function () {
|
||||
// Should we test this with a callback that actually does something?
|
||||
|
@ -2549,8 +2550,8 @@ class ApiTest extends FixtureTest
|
|||
public function testApiHelpTest()
|
||||
{
|
||||
// @todo How to test the new API?
|
||||
// $result = api_help_test('json');
|
||||
// self::assertEquals(['ok' => 'ok'], $result);
|
||||
$result = \Friendica\Module\Api\Friendica\Help\Test::rawcontent(['extension' => 'xml']);
|
||||
self::assertEquals(['ok' => 'ok'], $result);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue