Implement #015359: access.php - new MatchOrder=host_uri
[tinyz:tinyz.git] / kernel / layout / set.php
1 <?php
2 //
3 // Created on: <09-Oct-2002 15:33:01 amos>
4 //
5 // ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
6 // SOFTWARE NAME: eZ Publish
7 // SOFTWARE RELEASE: 4.1.x
8 // COPYRIGHT NOTICE: Copyright (C) 1999-2010 eZ Systems AS
9 // SOFTWARE LICENSE: GNU General Public License v2.0
10 // NOTICE: >
11 //   This program is free software; you can redistribute it and/or
12 //   modify it under the terms of version 2.0  of the GNU General
13 //   Public License as published by the Free Software Foundation.
14 //
15 //   This program is distributed in the hope that it will be useful,
16 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
17 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 //   GNU General Public License for more details.
19 //
20 //   You should have received a copy of version 2.0 of the GNU General
21 //   Public License along with this program; if not, write to the Free
22 //   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
23 //   MA 02110-1301, USA.
24 //
25 //
26 // ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
27 //
28
29 $LayoutStyle = $Params['LayoutStyle'];
30 $Module = $Params['Module'];
31
32 $userParamString = '';
33 foreach ( $Params['UserParameters'] as $key => $param )
34 {
35     $userParamString .= "/($key)/$param";
36 }
37
38 $Result = array();
39 $Result['content'] = '';
40 $Result['rerun_uri'] = '/' . implode( '/', array_splice( $Params['Parameters'], 1 ) ) . $userParamString;
41
42 $layoutINI = eZINI::instance( 'layout.ini' );
43 $i18nINI = eZINI::instance( 'i18n.ini' );
44 if ( $layoutINI->hasGroup( $LayoutStyle ) )
45 {
46     if ( $layoutINI->hasVariable( $LayoutStyle, 'PageLayout' ) )
47         $Result['pagelayout'] = $layoutINI->variable( $LayoutStyle, 'PageLayout' );
48
49     if ( $layoutINI->hasVariable( $LayoutStyle, 'ContentType' ) )
50         header( 'Content-Type: ' . $layoutINI->variable( $LayoutStyle, 'ContentType' ) . '; charset=' . $i18nINI->variable( 'CharacterSettings', 'Charset' ) );
51
52     $res = eZTemplateDesignResource::instance();
53     $res->setKeys( array( array( 'layout', $LayoutStyle ) ) );
54
55     if ( $layoutINI->hasVariable( $LayoutStyle, 'UseAccessPass' ) && $layoutINI->variable( $LayoutStyle, 'UseAccessPass' ) == 'false' )
56     {
57     }
58     else
59     {
60         eZSys::addAccessPath( array( 'layout', 'set', $LayoutStyle ), false );
61     }
62
63
64
65     $useFullUrl = false;
66     $http = eZHTTPTool::instance();
67     $http->UseFullUrl = false;
68     if ( $layoutINI->hasVariable( $LayoutStyle, 'UseFullUrl' ) )
69     {
70         if ( $layoutINI->variable( $LayoutStyle, 'UseFullUrl' ) == 'true' )
71         {
72             $http->UseFullUrl = true;
73         }
74     }
75
76     $Module->setExitStatus( eZModule::STATUS_RERUN );
77 }
78 else
79 {
80     eZDebug::writeError( 'No such layout style: ' . $LayoutStyle, 'layout/set' );
81 }
82
83 ?>