- Fixed #16160: Call to undefined function ezi18n()
[tinyz:tinyz.git] / kernel / state / assign.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 $Result = array();
30 $Result['content'] = '';
31
32 // Identify whether the input data was submitted through URL parameters or through POST
33 if ( $Module->isCurrentAction( 'Assign' )                 and
34      $Module->hasActionParameter( 'SelectedStateIDList' ) and
35      $Module->hasActionParameter( 'ObjectID' ) )
36 {
37     $selectedStateIDList = $Module->actionParameter( 'SelectedStateIDList' );
38     $objectID = $Module->actionParameter( 'ObjectID' );
39 }
40 else
41 {
42     $objectID = isset( $Params['ObjectID'] ) ? $Params['ObjectID'] : false;
43     $selectedStateIDList = isset( $Params['SelectedStateID'] ) ? array( $Params['SelectedStateID'] ) : false ;
44 }
45
46 // Change object's state
47 if ( $objectID and $selectedStateIDList )
48 {
49     if ( eZOperationHandler::operationIsAvailable( 'content_updateobjectstate' ) )
50     {
51         $operationResult = eZOperationHandler::execute( 'content', 'updateobjectstate',
52                                                         array( 'object_id'     => $objectID,
53                                                                'state_id_list' => $selectedStateIDList ) );
54     }
55     else
56     {
57         eZContentOperationCollection::updateObjectState( $objectID, $selectedStateIDList );
58     }
59
60     // Redirect to the provided URI, or to the root if not provided.
61     // @TODO : in case this view is called through Ajax, make sure the module ends another way.
62     $Module->hasActionParameter( 'RedirectRelativeURI' ) ? $Module->redirectTo( $Module->actionParameter( 'RedirectRelativeURI' ) ) : $Module->redirectTo( '/' );
63 }
64 elseif ( $objectID )
65 {
66     // Propose an interface. The end-user probably accessed this view through a simple URL like
67     // '/state/assign/<object_id>'
68     if ( ( $object = eZContentObject::fetch( $objectID ) ) !== null  )
69     {
70         require_once( 'kernel/common/template.php' );
71         $tpl = templateInit();
72         $tpl->setVariable( 'node', $object->attribute( 'main_node' ) );
73         $Result['content'] = $tpl->fetch( 'design:state/assign.tpl' );
74     }
75 }
76 else
77     $Module->hasActionParameter( 'RedirectRelativeURI' ) ? $Module->redirectTo( $Module->actionParameter( 'RedirectRelativeURI' ) ) : $Module->redirectTo( '/' );
78
79 $Result['path'] = array(
80                     array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'State' ) ),
81                     array( 'url' => false, 'text' => ezpI18n::translate( 'kernel/state', 'Assign' ) )
82                    );
83 ?>