- Fixed #16160: Call to undefined function ezi18n()
[tinyz:tinyz.git] / kernel / visual / menuconfig.php
1 <?php
2 //
3 // Definition of Menuconfig class
4 //
5 // Created on: <05-Mar-2004 14:34:34 bf>
6 //
7 // ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
8 // SOFTWARE NAME: eZ Publish
9 // SOFTWARE RELEASE: 4.1.x
10 // COPYRIGHT NOTICE: Copyright (C) 1999-2010 eZ Systems AS
11 // SOFTWARE LICENSE: GNU General Public License v2.0
12 // NOTICE: >
13 //   This program is free software; you can redistribute it and/or
14 //   modify it under the terms of version 2.0  of the GNU General
15 //   Public License as published by the Free Software Foundation.
16 //
17 //   This program is distributed in the hope that it will be useful,
18 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
19 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 //   GNU General Public License for more details.
21 //
22 //   You should have received a copy of version 2.0 of the GNU General
23 //   Public License along with this program; if not, write to the Free
24 //   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
25 //   MA 02110-1301, USA.
26 //
27 //
28 // ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
29 //
30
31 $http = eZHTTPTool::instance();
32 $module = $Params['Module'];
33
34 require_once( "kernel/common/template.php" );
35 $ini = eZINI::instance();
36 $tpl = templateInit();
37
38 if ( $module->isCurrentAction( 'SelectCurrentSiteAccess' ) )
39 {
40     if ( $http->hasPostVariable( 'CurrentSiteAccess' ) )
41     {
42         $http->setSessionVariable( 'eZTemplateAdminCurrentSiteAccess', $http->postVariable( 'CurrentSiteAccess' ) );
43     }
44 }
45
46 $siteAccessList = $ini->variable( 'SiteAccessSettings', 'RelatedSiteAccessList' );
47 $siteAccess = false;
48
49 // Fetch siteaccess settings for the selected override
50 // Default to first defined siteacces if none are selected
51 if ( $http->hasSessionVariable( 'eZTemplateAdminCurrentSiteAccess' ) )
52     $siteAccess = $http->sessionVariable( 'eZTemplateAdminCurrentSiteAccess' );
53
54 if ( !in_array( $siteAccess, $siteAccessList ) )
55     $siteAccess = $siteAccessList[0];
56
57 if ( $http->hasPostVariable( 'SelectCurrentSiteAccessButton' ) )
58 {
59     $http->setSessionVariable( 'eZTemplateAdminCurrentSiteAccess', $siteAccess );
60 }
61
62 // Get path to specified site access.
63 $pathToSiteAccess = eZSiteAccess::findPathToSiteAccess( $siteAccess );
64 $menuINI = eZINI::instance( "menu.ini", "", null, null, true );
65 $menuINI->prependOverrideDir( $pathToSiteAccess, true, 'siteaccess' );
66 $menuINI->loadCache();
67
68 /*$iniPath = "settings/siteaccess/$siteAccess";
69 $menuINI = eZINI::instance( 'menu.ini.append.php', $iniPath, null, false, null, true );*/
70
71 if ( $module->isCurrentAction( 'Store' ) )
72 {
73     $menuType = $http->postVariable( 'MenuType' );
74
75     $menuINI->setVariable( 'SelectedMenu', 'CurrentMenu', $menuType );
76     $menuINI->setVariable( 'SelectedMenu', 'TopMenu', $menuINI->variable( $menuType, "TopMenu" ) );
77     $menuINI->setVariable( 'SelectedMenu', 'LeftMenu', $menuINI->variable( $menuType, "LeftMenu" ) );
78
79     $menuINI->save( "menu.ini.append.php", false, false, false, $pathToSiteAccess, true );
80
81     // Delete compiled template
82     $iniPath = $pathToSiteAccess;
83     $siteINI = eZINI::instance( 'site.ini.append', $iniPath );
84     if ( $siteINI->hasVariable( 'FileSettings', 'CacheDir' ) )
85     {
86         $cacheDir = $siteINI->variable( 'FileSettings', 'CacheDir' );
87         if ( $cacheDir[0] == "/" )
88         {
89             $cacheDir = eZDir::path( array( $cacheDir ) );
90         }
91         else
92         {
93             if ( $siteINI->hasVariable( 'FileSettings', 'VarDir' ) )
94             {
95                 $varDir = $siteINI->variable( 'FileSettings', 'VarDir' );
96                 $cacheDir = eZDir::path( array( $varDir, $cacheDir ) );
97             }
98         }
99     }
100     else if ( $siteINI->hasVariable( 'FileSettings', 'VarDir' ) )
101     {
102          $varDir = $siteINI->variable( 'FileSettings', 'VarDir' );
103          $cacheDir = $ini->variable( 'FileSettings', 'CacheDir' );
104          $cacheDir = eZDir::path( array( $varDir, $cacheDir ) );
105     }
106     else
107     {
108         $cacheDir =  eZSys::cacheDirectory();
109     }
110     $compiledTemplateDir = $cacheDir ."/template/compiled";
111     eZDir::unlinkWildcard( $compiledTemplateDir . "/", "*pagelayout*.*" );
112
113     // Expire template block cache
114     eZContentCacheManager::clearTemplateBlockCacheIfNeeded( false );
115 }
116
117 $availableMenuArray = $menuINI->variable( 'MenuSettings', 'AvailableMenuArray' );
118
119 $menuArray = array();
120 foreach ( $availableMenuArray as $menuType )
121 {
122     $menuArray[] = array( 'type' => $menuType, 'settings' => $menuINI->group( $menuType ) );
123 }
124
125 $tpl->setVariable( 'available_menu_array', $menuArray );
126 $tpl->setVariable( 'current_menu', $menuINI->variable( 'SelectedMenu', 'CurrentMenu' ) );
127 $tpl->setVariable( 'siteaccess_list', $siteAccessList );
128
129 $tpl->setVariable( 'current_siteaccess', $siteAccess );
130
131 $Result = array();
132 $Result['content'] = $tpl->fetch( "design:visual/menuconfig.tpl" );
133 $Result['path'] = array( array( 'url' => false,
134                                 'text' => ezpI18n::translate( 'design/standard/menuconfig', 'Menu management' ) ) );
135
136 ?>