git-svn-id: https://192.168.0.254/svn/Proyectos.MatritumCantat_Web/trunk@2 8e3496fd-7892-4c45-be36-0ff06e9dacc6
114 lines
3.3 KiB
PHP
114 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: wrapper.class.php 10002 2008-02-08 10:56:57Z willebil $
|
|
* @package Joomla
|
|
* @subpackage Menus
|
|
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
|
|
* @license http://www.gnu.org/licenses/gpl-2.0.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' );
|
|
|
|
/**
|
|
* Wrapper class
|
|
* @package Joomla
|
|
* @subpackage Menus
|
|
*/
|
|
class wrapper_menu {
|
|
|
|
function edit( &$uid, $menutype, $option ) {
|
|
global $database, $my, $mainframe;
|
|
|
|
$menu = new mosMenu( $database );
|
|
$menu->load( (int)$uid );
|
|
|
|
// fail if checked out not by 'me'
|
|
if ($menu->checked_out && $menu->checked_out != $my->id) {
|
|
mosErrorAlert( "The module ".$menu->title." is currently being edited by another administrator" );
|
|
}
|
|
|
|
if ( $uid ) {
|
|
$menu->checkout( $my->id );
|
|
} else {
|
|
$menu->type = 'wrapper';
|
|
$menu->menutype = $menutype;
|
|
$menu->ordering = 9999;
|
|
$menu->parent = intval( mosGetParam( $_POST, 'parent', 0 ) );
|
|
$menu->published = 1;
|
|
$menu->link = 'index.php?option=com_wrapper';
|
|
}
|
|
|
|
// build the html select list for ordering
|
|
$lists['ordering'] = mosAdminMenus::Ordering( $menu, $uid );
|
|
// build the html select list for the group access
|
|
$lists['access'] = mosAdminMenus::Access( $menu );
|
|
// build the html select list for paraent item
|
|
$lists['parent'] = mosAdminMenus::Parent( $menu );
|
|
// build published button option
|
|
$lists['published'] = mosAdminMenus::Published( $menu );
|
|
// build the url link output
|
|
$lists['link'] = mosAdminMenus::Link( $menu, $uid );
|
|
|
|
// get params definitions
|
|
$params = new mosParameters( $menu->params, $mainframe->getPath( 'menu_xml', $menu->type ), 'menu' );
|
|
if ( $uid ) {
|
|
$menu->url = $params->def( 'url', '' );
|
|
}
|
|
|
|
wrapper_menu_html::edit( $menu, $lists, $params, $option );
|
|
}
|
|
|
|
|
|
function saveMenu( $option, $task ) {
|
|
global $database;
|
|
|
|
$params = mosGetParam( $_POST, 'params', '' );
|
|
$params[url] = mosGetParam( $_POST, 'url', '' );
|
|
|
|
if (is_array( $params )) {
|
|
$txt = array();
|
|
foreach ($params as $k=>$v) {
|
|
$txt[] = "$k=$v";
|
|
}
|
|
$_POST['params'] = mosParameters::textareaHandling( $txt );
|
|
}
|
|
|
|
$row = new mosMenu( $database );
|
|
|
|
if (!$row->bind( $_POST )) {
|
|
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
|
|
exit();
|
|
}
|
|
|
|
if (!$row->check()) {
|
|
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
|
|
exit();
|
|
}
|
|
if (!$row->store()) {
|
|
echo "<script> alert('".$row->getError()."'); window.history.go(-1); </script>\n";
|
|
exit();
|
|
}
|
|
$row->checkin();
|
|
$row->updateOrder( 'menutype = ' . $database->Quote( $row->menutype ) . ' AND parent = ' . (int) $row->parent );
|
|
|
|
|
|
$msg = 'Menu item Saved';
|
|
switch ( $task ) {
|
|
case 'apply':
|
|
mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype .'&task=edit&id='. $row->id, $msg );
|
|
break;
|
|
|
|
case 'save':
|
|
default:
|
|
mosRedirect( 'index2.php?option='. $option .'&menutype='. $row->menutype, $msg );
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
?>
|