12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- use Illuminate\Support\Arr;
- if (! function_exists('user_admin_config')) {
- function user_admin_config($key = null, $value = null)
- {
-
- $session = session();
-
- $config = $session->get('admin.config', function () {
- $adminConfig = config('admin');
- $adminConfig['lang'] = config('app.locale');
- return $adminConfig;
- });
-
- if (is_array($key)) {
- foreach ($key as $k => $v) {
- Arr::set($config, $k, $v);
- }
- $session->put('admin.config', $config);
- return;
- }
-
- if (is_null($key)) {
- return $config;
- }
-
- return Arr::get($config, $key, $value);
- }
- }
- if (!function_exists('buildTree')) {
- function buildTree(array $elements, $parentId = 0)
- {
- $branch = [];
- foreach ($elements as $element) {
- if ($element['parent_id'] == $parentId) {
- $children = buildTree($elements, $element['id']);
- if ($children) {
- $element['children'] = $children;
- }
- $branch[] = $element;
- }
- }
- return $branch;
- }
- }
- if (!function_exists('flattenTree')) {
- function flattenTree(array $tree, array &$result = [], $level = 0)
- {
- foreach ($tree as $node) {
-
- $flattenedNode = array_diff_key($node, ['children' => null]);
- $flattenedNode['level'] = $level;
- $result[] = $flattenedNode;
-
- if (isset($node['children']) && is_array($node['children'])) {
- flattenTree($node['children'], $result, $level + 1);
- }
- }
- return $result;
- }
- }
|