/** * admin panel list * * @since 1.2.1 * @deprecated 2.0.0 * * @package Redaxscript * @category Admin * @author Henry Ruhs */ function admin_panel_list() { $output = Redaxscript\Hook::trigger('adminPanelStart'); /* define access variables */ if (Redaxscript\Registry::get('categoriesNew') || Redaxscript\Registry::get('categoriesEdit') || Redaxscript\Registry::get('categoriesDelete')) { $categories_access = $contents_access = 1; } if (Redaxscript\Registry::get('articlesNew') || Redaxscript\Registry::get('articlesEdit') || Redaxscript\Registry::get('articlesDelete')) { $articles_access = $contents_access = 1; } if (Redaxscript\Registry::get('extrasNew') || Redaxscript\Registry::get('extrasEdit') || Redaxscript\Registry::get('extrasDelete')) { $extras_access = $contents_access = 1; } if (Redaxscript\Registry::get('commentsNew') || Redaxscript\Registry::get('commentsEdit') || Redaxscript\Registry::get('commentsDelete')) { $comments_access = $contents_access = 1; } if (Redaxscript\Registry::get('usersNew') || Redaxscript\Registry::get('usersEdit') || Redaxscript\Registry::get('usersDelete')) { $users_access = $access_access = 1; } if (Redaxscript\Registry::get('groupsNew') || Redaxscript\Registry::get('groupsEdit') || Redaxscript\Registry::get('groupsDelete')) { $groups_access = $access_access = 1; } if (Redaxscript\Registry::get('modulesInstall') || Redaxscript\Registry::get('modulesEdit') || Redaxscript\Registry::get('modulesUninstall')) { $modules_access = $system_access = 1; } if (Redaxscript\Registry::get('settingsEdit')) { $settings_access = $system_access = 1; } /* collect contents output */ $counter = 1; if ($contents_access == 1) { $counter++; $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-content"><span class="rs-admin-text-panel rs-admin-text-content">' . Redaxscript\Language::get('contents') . '</span><ul class="rs-admin-list-panel-children rs-admin-list-contents">'; if ($categories_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/categories" class="rs-admin-link-panel' . (Redaxscript\Registry::get('categoriesNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('categories') . '</a>'; if (Redaxscript\Registry::get('categoriesNew')) { $output .= '<a title="' . Redaxscript\Language::get('category_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/categories" class="rs-admin-link-panel' . (Redaxscript\Registry::get('categoriesNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('category_new') . '</a>'; } $output .= '</span></li>'; } if ($articles_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/articles" class="rs-admin-link-panel' . (Redaxscript\Registry::get('articlesNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('articles') . '</a>'; if (Redaxscript\Registry::get('articlesNew')) { $output .= '<a title="' . Redaxscript\Language::get('article_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/articles" class="rs-admin-link-panel' . (Redaxscript\Registry::get('articlesNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('article_new') . '</a>'; } $output .= '</span></li>'; } if ($extras_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/extras" class="rs-admin-link-panel' . (Redaxscript\Registry::get('extrasNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('extras') . '</a>'; if (Redaxscript\Registry::get('extrasNew')) { $output .= '<a title="' . Redaxscript\Language::get('extra_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/extras" class="rs-admin-link-panel' . (Redaxscript\Registry::get('extrasNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('extra_new') . '</a>'; } $output .= '</span></li>'; } if ($comments_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/comments" class="rs-admin-link-panel' . (Redaxscript\Registry::get('commentsNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('comments') . '</a>'; if (Redaxscript\Registry::get('commentsNew')) { $output .= '<a title="' . Redaxscript\Language::get('comment_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/comments" class="rs-admin-link-panel' . (Redaxscript\Registry::get('commentsNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('comment_new') . '</a>'; } $output .= '</span></li>'; } $output .= '</ul></li>'; } /* collect access output */ if ($access_access == 1) { $counter++; $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-access"><span class="rs-admin-text-panel rs-admin-text-access">' . Redaxscript\Language::get('access') . '</span><ul class="rs-admin-list-panel-children rs-admin-list-access">'; if (Redaxscript\Registry::get('myId')) { $output .= '<li><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/edit/users/' . Redaxscript\Registry::get('myId') . '" class="rs-admin-link-panel">' . Redaxscript\Language::get('profile') . '</a></li>'; } if ($users_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/users" class="rs-admin-link-panel' . (Redaxscript\Registry::get('usersNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('users') . '</a>'; if (Redaxscript\Registry::get('usersNew')) { $output .= '<a title="' . Redaxscript\Language::get('user_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/users" class="rs-admin-link-panel' . (Redaxscript\Registry::get('usersNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('user_new') . '</a>'; } $output .= '</span></li>'; } if ($groups_access == 1) { $output .= '<li><span class="rs-admin-text-panel-group"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/groups" class="rs-admin-link-panel' . (Redaxscript\Registry::get('groupsNew') ? ' rs-admin-link-view' : null) . '">' . Redaxscript\Language::get('groups') . '</a>'; if (Redaxscript\Registry::get('groupsNew')) { $output .= '<a title="' . Redaxscript\Language::get('group_new') . '" href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/new/groups" class="rs-admin-link-panel' . (Redaxscript\Registry::get('groupsNew') ? ' rs-admin-link-new' : null) . '">' . Redaxscript\Language::get('group_new') . '</a>'; } $output .= '</span></li>'; } $output .= '</ul></li>'; } /* collect system output */ if ($system_access == 1) { $counter++; $outputModule = null; $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-system"><span class="rs-admin-text-panel rs-admin-text-system">' . Redaxscript\Language::get('system') . '</span><ul class="rs-admin-list-panel-children rs-admin-list-panel-children-system">'; if ($modules_access == 1) { $output .= '<li><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/view/modules" class="rs-admin-link-panel">' . Redaxscript\Language::get('modules') . '</a>'; $moduleArray = Redaxscript\Hook::collect('adminPanelModule'); if ($moduleArray) { foreach ($moduleArray as $key => $value) { $outputModule .= '<li><a href="' . Redaxscript\Registry::get('parameterRoute') . $value . '" class="rs-admin-link-panel">' . $key . '</a></li>'; } $output .= '<ul class="rs-admin-js-list-panel-children rs-admin-list-panel-children">' . $outputModule . '</ul>'; } $output .= '</li>'; } if ($settings_access == 1) { $output .= '<li><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/edit/settings" class="rs-admin-link-panel">' . Redaxscript\Language::get('settings') . '</a></li>'; } $output .= '</ul></li>'; } /* collect profile output */ if (Redaxscript\Registry::get('myId')) { $counter++; $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-profile"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'admin/edit/users/' . Redaxscript\Registry::get('myId') . '" class="rs-admin-link-panel rs-admin-link-profile">' . Redaxscript\Language::get('profile') . '</a></li>'; } /* collect notification output */ $outputNotification = null; $counterNotification = 0; $moduleLastKey = null; $notificationSystemArray = []; $notificationHasArray = []; $orderArray = ['success', 'info', 'warning', 'error']; if (Redaxscript\Registry::get('myId') == 1) { $notificationSystemArray = ['error' => [Redaxscript\Language::get('system') => [!is_dir('cache') ? Redaxscript\Language::get('directory_not_found') . Redaxscript\Language::get('colon') . ' cache' . Redaxscript\Language::get('point') : null]], 'warning' => [Redaxscript\Language::get('system') => [file_exists('console.php') ? Redaxscript\Language::get('file_remove') . ' console.php' . Redaxscript\Language::get('point') : null, file_exists('install.php') ? Redaxscript\Language::get('file_remove') . ' install.php' . Redaxscript\Language::get('point') : null, is_writable('config.php') ? Redaxscript\Language::get('file_permission_revoke') . ' config.php' . Redaxscript\Language::get('point') : null]]]; } $notificationModuleArray = Redaxscript\Hook::collect('adminPanelNotification'); if ($notificationModuleArray) { $notificationArray = array_merge_recursive($notificationModuleArray, $notificationSystemArray); } else { $notificationArray = $notificationSystemArray; } foreach ($notificationArray as $typeKey => $typeValue) { foreach ($typeValue as $notificationKey => $notificationValue) { if (array_filter($notificationValue)) { $outputNotification .= '<li class="rs-admin-item-panel-notification rs-admin-item-note rs-admin-is-' . $typeKey . '">'; $moduleLastKey = null; foreach ($notificationValue as $value) { if ($moduleLastKey !== $notificationKey) { $outputNotification .= '<h3 class="rs-admin-title-panel-notification">' . $notificationKey . '</h3>'; } $moduleLastKey = $notificationKey; if (array_key_exists('text', $value) && array_key_exists('attr', $value)) { $notificationHasArray[$typeKey] = 'rs-admin-has-' . $typeKey; $outputNotification .= '<a href="' . $value['attr']['href'] . '" target="' . $value['attr']['target'] . '" class="rs-admin-link-panel-notification">' . $value['text'] . '</a>'; } else { $notificationHasArray[$typeKey] = 'rs-admin-has-' . $typeKey; $outputNotification .= '<span class="rs-admin-text-panel-notification">' . $value . '</span>'; } if (strlen($value)) { $counterNotification++; } } $outputNotification .= '</li>'; } } } uksort($notificationHasArray, function ($key1, $key2) use($orderArray) { return array_search($key1, $orderArray) > array_search($key2, $orderArray); }); if ($counterNotification) { $counter++; $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-notification ' . implode(' ', $notificationHasArray) . '"><span class="rs-admin-text-panel rs-admin-text-notification">' . ($counterNotification ? '<small class="rs-admin-text-notification-counter">' . $counterNotification . '</small>' : null) . Redaxscript\Language::get('notifications') . '</span>'; $output .= '<ul class="rs-admin-list-panel-children rs-admin-list-panel-notification">' . $outputNotification . '</ul></li>'; } /* collect logout */ $output .= '<li class="rs-admin-js-item-panel rs-admin-item-panel rs-admin-item-logout"><a href="' . Redaxscript\Registry::get('parameterRoute') . 'logout" class="rs-admin-link-panel rs-admin-link-logout">' . Redaxscript\Language::get('logout') . '</a></li>'; /* collect list output */ if ($output) { $output = '<ul class="rs-admin-js-list-panel rs-admin-list-panel rs-admin-has-column' . $counter . ' rs-admin-fn-clearfix">' . $output . '</ul>'; } $output .= Redaxscript\Hook::trigger('adminPanelEnd'); echo $output; }