This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
MatritumCantat_Web/www/administrator/modules/mod_fullmenu.php

445 lines
18 KiB
PHP
Raw Permalink Normal View History

<?php
/**
* @version $Id: mod_fullmenu.php 9998 2008-02-07 11:36:41Z eddieajau $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
if (!defined( '_JOS_FULLMENU_MODULE' )) {
/** ensure that functions are declared only once */
define( '_JOS_FULLMENU_MODULE', 1 );
/**
* Full DHTML Admnistrator Menus
* @package Joomla
*/
class mosFullAdminMenu {
/**
* Show the menu
* @param string The current user type
*/
function show( $usertype='' ) {
global $acl, $database;
global $mosConfig_live_site, $mosConfig_enable_stats, $mosConfig_caching;
// cache some acl checks
$canConfig = $acl->acl_check( 'administration', 'config', 'users', $usertype );
$manageTemplates = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_templates' );
$manageTrash = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_trash' );
$manageMenuMan = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_menumanager' );
$manageLanguages = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_languages' );
$installModules = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'modules', 'all' );
$editAllModules = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'modules', 'all' );
$installMambots = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'mambots', 'all' );
$editAllMambots = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'mambots', 'all' );
$installComponents = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'components', 'all' );
$editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'all' );
$canMassMail = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_massmail' );
$canManageUsers = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
$query = "SELECT a.id, a.title, a.name"
. "\n FROM #__sections AS a"
. "\n WHERE a.scope = 'content'"
. "\n GROUP BY a.id"
. "\n ORDER BY a.ordering"
;
$database->setQuery( $query );
$sections = $database->loadObjectList();
$menuTypes = mosAdminMenus::menutypes();
?>
<div id="myMenuID"></div>
<script language="JavaScript" type="text/javascript">
var myMenu =
[
<?php
// Home Sub-Menu
?> [null,'Home','index2.php',null,'Control Panel'],
_cmSplit,
<?php
// Site Sub-Menu
?> [null,'Site',null,null,'Site Management',
<?php
if ($canConfig) {
?> ['<img src="../includes/js/ThemeOffice/config.png" />','Global Configuration','index2.php?option=com_config&hidemainmenu=1',null,'Configuration'],
<?php
}
if ($manageLanguages) {
?> ['<img src="../includes/js/ThemeOffice/language.png" />','Language Manager',null,null,'Manage languages',
['<img src="../includes/js/ThemeOffice/language.png" />','Site Languages','index2.php?option=com_languages',null,'Manage Languages'],
],
<?php
}
?> ['<img src="../includes/js/ThemeOffice/media.png" />','Media Manager','index2.php?option=com_media',null,'Manage Media Files'],
['<img src="../includes/js/ThemeOffice/preview.png" />', 'Preview', null, null, 'Preview',
['<img src="../includes/js/ThemeOffice/preview.png" />','In New Window','<?php echo $mosConfig_live_site; ?>/index.php','_blank','<?php echo $mosConfig_live_site; ?>'],
['<img src="../includes/js/ThemeOffice/preview.png" />','Inline','index2.php?option=com_admin&task=preview',null,'<?php echo $mosConfig_live_site; ?>'],
['<img src="../includes/js/ThemeOffice/preview.png" />','Inline with Positions','index2.php?option=com_admin&task=preview2',null,'<?php echo $mosConfig_live_site; ?>'],
],
['<img src="../includes/js/ThemeOffice/globe1.png" />', 'Statistics', null, null, 'Site Statistics',
<?php
if ($mosConfig_enable_stats == 1) {
?> ['<img src="../includes/js/ThemeOffice/globe4.png" />', 'Browser, OS, Domain', 'index2.php?option=com_statistics', null, 'Browser, OS, Domain'],
<?php
}
?> ['<img src="../includes/js/ThemeOffice/search_text.png" />', 'Search Text', 'index2.php?option=com_statistics&task=searches', null, 'Search Text']
],
<?php
if ($manageTemplates) {
?> ['<img src="../includes/js/ThemeOffice/template.png" />','Template Manager',null,null,'Change site template',
['<img src="../includes/js/ThemeOffice/template.png" />','Site Templates','index2.php?option=com_templates',null,'Change site template'],
_cmSplit,
['<img src="../includes/js/ThemeOffice/template.png" />','Administrator Templates','index2.php?option=com_templates&client=admin',null,'Change admin template'],
_cmSplit,
['<img src="../includes/js/ThemeOffice/template.png" />','Module Positions','index2.php?option=com_templates&task=positions',null,'Template positions']
],
<?php
}
if ($manageTrash) {
?> ['<img src="../includes/js/ThemeOffice/trash.png" />','Trash Manager','index2.php?option=com_trash',null,'Manage Trash'],
<?php
}
if ($canManageUsers || $canMassMail) {
?> ['<img src="../includes/js/ThemeOffice/users.png" />','User Manager','index2.php?option=com_users&task=view',null,'Manage users'],
<?php
}
?> ],
<?php
// Menu Sub-Menu
?> _cmSplit,
[null,'Menu',null,null,'Menu Management',
<?php
if ($manageMenuMan) {
?> ['<img src="../includes/js/ThemeOffice/menus.png" />','Menu Manager','index2.php?option=com_menumanager',null,'Menu Manager'],
_cmSplit,
<?php
}
foreach ( $menuTypes as $menuType ) {
?> ['<img src="../includes/js/ThemeOffice/menus.png" />','<?php echo $menuType;?>','index2.php?option=com_menus&menutype=<?php echo $menuType;?>',null,''],
<?php
}
?> ],
_cmSplit,
<?php
// Content Sub-Menu
?> [null,'Content',null,null,'Content Management',
<?php
if (count($sections) > 0) {
?> ['<img src="../includes/js/ThemeOffice/edit.png" />','Content by Section',null,null,'Content Managers',
<?php
foreach ($sections as $section) {
$txt = addslashes( $section->title ? $section->title : $section->name );
?> ['<img src="../includes/js/ThemeOffice/document.png" />','<?php echo $txt;?>', null, null,'<?php echo $txt;?>',
['<img src="../includes/js/ThemeOffice/edit.png" />', '<?php echo $txt;?> Items', 'index2.php?option=com_content&sectionid=<?php echo $section->id;?>',null,null],
['<img src="../includes/js/ThemeOffice/backup.png" />', '<?php echo $txt;?> Archives','index2.php?option=com_content&task=showarchive&sectionid=<?php echo $section->id;?>',null,null],
['<img src="../includes/js/ThemeOffice/add_section.png" />', '<?php echo $txt;?> Categories', 'index2.php?option=com_categories&section=<?php echo $section->id;?>',null, null],
],
<?php
} // foreach
?> ],
_cmSplit,
<?php
}
?>
['<img src="../includes/js/ThemeOffice/edit.png" />','All Content Items','index2.php?option=com_content&sectionid=0',null,'Manage Content Items'],
['<img src="../includes/js/ThemeOffice/edit.png" />','Static Content Manager','index2.php?option=com_typedcontent',null,'Manage Typed Content Items'],
_cmSplit,
['<img src="../includes/js/ThemeOffice/add_section.png" />','Section Manager','index2.php?option=com_sections&scope=content',null,'Manage Content Sections'],
['<img src="../includes/js/ThemeOffice/add_section.png" />','Category Manager','index2.php?option=com_categories&section=content',null,'Manage Content Categories'],
_cmSplit,
['<img src="../includes/js/ThemeOffice/home.png" />','Front Page Manager','index2.php?option=com_frontpage',null,'Manage Front Page Items'],
['<img src="../includes/js/ThemeOffice/edit.png" />','Archive Manager','index2.php?option=com_content&task=showarchive&sectionid=0',null,'Manage Archive Items'],
['<img src="../includes/js/ThemeOffice/globe3.png" />', 'Page Impressions', 'index2.php?option=com_statistics&task=pageimp', null, 'Page Impressions'],
],
<?php
// Components Sub-Menu
if ($installComponents | $editAllComponents) {
?> _cmSplit,
[null,'Components',null,null,'Component Management',
<?php
$query = "SELECT *"
. "\n FROM #__components"
. "\n WHERE name != 'frontpage'"
. "\n AND name != 'media manager'"
. "\n ORDER BY ordering, name"
;
$database->setQuery( $query );
$comps = $database->loadObjectList(); // component list
$subs = array(); // sub menus
// first pass to collect sub-menu items
foreach ($comps as $row) {
if ($row->parent) {
if (!array_key_exists( $row->parent, $subs )) {
$subs[$row->parent] = array();
}
$subs[$row->parent][] = $row;
}
}
$topLevelLimit = 19; //You can get 19 top levels on a 800x600 Resolution
$topLevelCount = 0;
foreach ($comps as $row) {
if ($editAllComponents | $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', $row->option )) {
if ($row->parent == 0 && (trim( $row->admin_menu_link ) || array_key_exists( $row->id, $subs ))) {
$topLevelCount++;
if ($topLevelCount > $topLevelLimit) {
continue;
}
$name = addslashes( $row->name );
$alt = addslashes( $row->admin_menu_alt );
$link = $row->admin_menu_link ? "'index2.php?$row->admin_menu_link'" : "null";
echo "\t\t\t\t['<img src=\"../includes/$row->admin_menu_img\" />','$name',$link,null,'$alt'";
if (array_key_exists( $row->id, $subs )) {
foreach ($subs[$row->id] as $sub) {
echo ",\n";
$name = addslashes( $sub->name );
$alt = addslashes( $sub->admin_menu_alt );
$link = $sub->admin_menu_link ? "'index2.php?$sub->admin_menu_link'" : "null";
echo "\t\t\t\t\t['<img src=\"../includes/$sub->admin_menu_img\" />','$name',$link,null,'$alt']";
}
}
echo "\n\t\t\t\t],\n";
}
}
}
if ($topLevelLimit < $topLevelCount) {
echo "\t\t\t\t['<img src=\"../includes/js/ThemeOffice/sections.png\" />','More Components...','index2.php?option=com_admin&task=listcomponents',null,'More Components'],\n";
}
?>
],
<?php
// Modules Sub-Menu
if ($installModules | $editAllModules) {
?> _cmSplit,
[null,'Modules',null,null,'Module Management',
<?php
if ($editAllModules) {
?> ['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Modules', "index2.php?option=com_modules", null, 'Manage Site modules'],
['<img src="../includes/js/ThemeOffice/module.png" />', 'Administrator Modules', "index2.php?option=com_modules&client=admin", null, 'Manage Administrator modules'],
<?php
}
?> ],
<?php
} // if ($installModules | $editAllModules)
} // if $installComponents
// Mambots Sub-Menu
if ($installMambots | $editAllMambots) {
?> _cmSplit,
[null,'Mambots',null,null,'Mambot Management',
<?php
if ($editAllMambots) {
?> ['<img src="../includes/js/ThemeOffice/module.png" />', 'Site Mambots', "index2.php?option=com_mambots", null, 'Manage Site Mambots'],
<?php
}
?> ],
<?php
}
?>
<?php
// Installer Sub-Menu
if ($installModules) {
?> _cmSplit,
[null,'Installers',null,null,'Installer List',
<?php
if ($manageTemplates) {
?> ['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Site','index2.php?option=com_installer&element=template&client=',null,'Install Site Templates'],
['<img src="../includes/js/ThemeOffice/install.png" />','Templates - Admin','index2.php?option=com_installer&element=template&client=admin',null,'Install Administrator Templates'],
<?php
}
if ($manageLanguages) {
?> ['<img src="../includes/js/ThemeOffice/install.png" />','Languages','index2.php?option=com_installer&element=language',null,'Install Languages'],
_cmSplit,
<?php
}
?> ['<img src="../includes/js/ThemeOffice/install.png" />', 'Components','index2.php?option=com_installer&element=component',null,'Install/Uninstall Components'],
['<img src="../includes/js/ThemeOffice/install.png" />', 'Modules', 'index2.php?option=com_installer&element=module', null, 'Install/Uninstall Modules'],
['<img src="../includes/js/ThemeOffice/install.png" />', 'Mambots', 'index2.php?option=com_installer&element=mambot', null, 'Install/Uninstall Mambots'],
],
<?php
} // if ($installModules)
// Messages Sub-Menu
if ($canConfig) {
?> _cmSplit,
[null,'Messages',null,null,'Messaging Management',
['<img src="../includes/js/ThemeOffice/messaging_inbox.png" />','Inbox','index2.php?option=com_messages',null,'Private Messages'],
['<img src="../includes/js/ThemeOffice/messaging_config.png" />','Configuration','index2.php?option=com_messages&task=config&hidemainmenu=1',null,'Configuration']
],
<?php
// System Sub-Menu
/*
?> _cmSplit,
[null,'System',null,null,'System Management',
['<img src="../includes/js/ThemeOffice/joomla_16x16.png" />', 'Version Check', 'index2.php?option=com_admin&task=versioncheck', null,'Version Check'],
['<img src="../includes/js/ThemeOffice/sysinfo.png" />', 'System Info', 'index2.php?option=com_admin&task=sysinfo', null,'System Information'],
<?php
*/
?> _cmSplit,
[null,'System',null,null,'System Management',
['<img src="../includes/js/ThemeOffice/joomla_16x16.png" />', 'Version Check', 'http://www.joomla.org/latest10', '_blank','Version Check'],
['<img src="../includes/js/ThemeOffice/sysinfo.png" />', 'System Info', 'index2.php?option=com_admin&task=sysinfo', null,'System Information'],
<?php
if ($canConfig) {
?>
['<img src="../includes/js/ThemeOffice/checkin.png" />', 'Global Checkin', 'index2.php?option=com_checkin', null,'Check-in all checked-out items'],
<?php
if ($mosConfig_caching) {
?> ['<img src="../includes/js/ThemeOffice/config.png" />','Clean Content Cache','index2.php?option=com_admin&task=clean_cache',null,'Clean the content items cache'],
['<img src="../includes/js/ThemeOffice/config.png" />','Clean All Caches','index2.php?option=com_admin&task=clean_all_cache',null,'Clean all caches'],
<?php
}
}
?> ],
<?php
}
?> _cmSplit,
<?php
// Help Sub-Menu
?> [null,'Help','index2.php?option=com_admin&task=help',null,null]
];
cmDraw ('myMenuID', myMenu, 'hbr', cmThemeOffice, 'ThemeOffice');
</script>
<?php
}
/**
* Show an disbaled version of the menu, used in edit pages
* @param string The current user type
*/
function showDisabled( $usertype='' ) {
global $acl;
$canConfig = $acl->acl_check( 'administration', 'config', 'users', $usertype );
$installModules = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'modules', 'all' );
$editAllModules = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'modules', 'all' );
$installMambots = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'mambots', 'all' );
$editAllMambots = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'mambots', 'all' );
$installComponents = $acl->acl_check( 'administration', 'install', 'users', $usertype, 'components', 'all' );
$editAllComponents = $acl->acl_check( 'administration', 'edit', 'users', $usertype, 'components', 'all' );
$canMassMail = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_massmail' );
$canManageUsers = $acl->acl_check( 'administration', 'manage', 'users', $usertype, 'components', 'com_users' );
$text = 'Menu inactive for this Page';
?>
<div id="myMenuID" class="inactive"></div>
<script language="JavaScript" type="text/javascript">
var myMenu =
[
<?php
/* Home Sub-Menu */
?>
[null,'<?php echo 'Home'; ?>',null,null,'<?php echo $text; ?>'],
_cmSplit,
<?php
/* Site Sub-Menu */
?>
[null,'<?php echo 'Site'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
/* Menu Sub-Menu */
?>
_cmSplit,
[null,'<?php echo 'Menu'; ?>',null,null,'<?php echo $text; ?>'
],
_cmSplit,
<?php
/* Content Sub-Menu */
?>
[null,'<?php echo 'Content'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
/* Components Sub-Menu */
if ( $installComponents | $editAllComponents) {
?>
_cmSplit,
[null,'<?php echo 'Components'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
} // if $installComponents
?>
<?php
/* Modules Sub-Menu */
if ( $installModules | $editAllModules) {
?>
_cmSplit,
[null,'<?php echo 'Modules'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
} // if ( $installModules | $editAllModules)
?>
<?php
/* Mambots Sub-Menu */
if ( $installMambots | $editAllMambots) {
?>
_cmSplit,
[null,'<?php echo 'Mambots'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
} // if ( $installMambots | $editAllMambots)
?>
<?php
/* Installer Sub-Menu */
if ( $installModules) {
?>
_cmSplit,
[null,'<?php echo 'Installers'; ?>',null,null,'<?php echo $text; ?>'
<?php
?>
],
<?php
} // if ( $installModules)
?>
<?php
/* Messages Sub-Menu */
if ( $canConfig) {
?>
_cmSplit,
[null,'<?php echo 'Messages'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
}
?>
<?php
/* System Sub-Menu */
if ( $canConfig) {
?>
_cmSplit,
[null,'<?php echo 'System'; ?>',null,null,'<?php echo $text; ?>'
],
<?php
}
?>
_cmSplit,
<?php
/* Help Sub-Menu */
?>
[null,'<?php echo 'Help'; ?>',null,null,'<?php echo $text; ?>']
];
cmDraw ('myMenuID', myMenu, 'hbr', cmThemeOffice, 'ThemeOffice');
</script>
<?php
}
}
}
$cache =& mosCache::getCache( 'mos_fullmenu' );
$hide = intval( mosGetParam( $_REQUEST, 'hidemainmenu', 0 ) );
if ( $hide ) {
mosFullAdminMenu::showDisabled( $my->usertype );
} else {
mosFullAdminMenu::show( $my->usertype );
}
?>