- Fixed #16160: Call to undefined function ezi18n()
[tinyz:tinyz.git] / kernel / state / edit.php
1 <?php
2 //
3 //
4 // ## BEGIN COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
5 // SOFTWARE NAME: eZ Publish
6 // SOFTWARE RELEASE: 4.1.x
7 // COPYRIGHT NOTICE: Copyright (C) 1999-2010 eZ Systems AS
8 // SOFTWARE LICENSE: GNU General Public License v2.0
9 // NOTICE: >
10 //   This program is free software; you can redistribute it and/or
11 //   modify it under the terms of version 2.0  of the GNU General
12 //   Public License as published by the Free Software Foundation.
13 //
14 //   This program is distributed in the hope that it will be useful,
15 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
16 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 //   GNU General Public License for more details.
18 //
19 //   You should have received a copy of version 2.0 of the GNU General
20 //   Public License along with this program; if not, write to the Free
21 //   Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
22 //   MA 02110-1301, USA.
23 //
24 //
25 // ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
26 //
27
28 $Module = $Params['Module'];
29 $GroupIdentifier = $Params['GroupIdentifier'];
30 $StateIdentifier = $Params['StateIdentifier'];
31
32 $group = eZContentObjectStateGroup::fetchByIdentifier( $GroupIdentifier );
33
34 if ( !is_object( $group ) )
35 {
36     return $Module->handleError( eZError::KERNEL_NOT_FOUND, 'kernel' );
37 }
38
39 if ( $group->isInternal() )
40 {
41     return $Module->handleError( eZError::KERNEL_ACCESS_DENIED, 'kernel' );
42 }
43
44 $state = $StateIdentifier ? $group->stateByIdentifier( $StateIdentifier ) : $group->newState();
45
46 if ( !is_object( $state ) )
47 {
48     return $Module->handleError( eZError::KERNEL_NOT_FOUND, 'kernel' );
49 }
50
51 $redirectUrl = "state/group/$GroupIdentifier";
52 require_once( 'kernel/common/template.php' );
53
54 $tpl = templateInit();
55
56 $currentAction = $Module->currentAction();
57
58 if ( $currentAction == 'Cancel' )
59 {
60     return $Module->redirectTo( $redirectUrl );
61 }
62 else if ( $currentAction == 'Store' )
63 {
64     $state->fetchHTTPPersistentVariables();
65
66     $messages = array();
67     $isValid = $state->isValid( $messages );
68
69     if ( $isValid )
70     {
71         $state->store();
72         return $Module->redirectTo( $redirectUrl );
73     }
74
75     $tpl->setVariable( 'is_valid', $isValid );
76     $tpl->setVariable( 'validation_messages', $messages );
77 }
78
79 $tpl->setVariable( 'state', $state );
80 $tpl->setVariable( 'group', $group );
81
82 if ( $StateIdentifier === null )
83 {
84     $path = array(
85         array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'State' ) ),
86         array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'New' ) ),
87         array( 'url' => false, 'text' => $GroupIdentifier )
88     );
89 }
90 else
91 {
92     $path = array(
93         array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'State' ) ),
94         array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'Edit' ) ),
95         array( 'url' => false, 'text' => $GroupIdentifier ),
96         array( 'url' => false, 'text' => $StateIdentifier ),
97     );
98 }
99
100 $Result = array(
101     'path' => $path,
102     'content' => $tpl->fetch( 'design:state/edit.tpl' )
103 );
104
105 ?>