- Fixed #16160: Call to undefined function ezi18n()
[tinyz:tinyz.git] / kernel / class / view.php
1 <?php
2 //
3 // Created on: <18-Nov-2003 10:00:08 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 $Module = $Params['Module'];
30 $LanguageCode = $Params['Language'];
31 $http = eZHTTPTool::instance();
32 $ClassID = null;
33 $validation = array( 'processed' => false,
34                      'groups' => array() );
35
36 if ( isset( $Params["ClassID"] ) )
37     $ClassID = $Params["ClassID"];
38 $ClassVersion = null;
39
40 if ( !is_numeric( $ClassID ) )
41     return $Module->handleError( eZError::KERNEL_NOT_FOUND, 'kernel' );
42
43 $class = eZContentClass::fetch( $ClassID, true, eZContentClass::VERSION_STATUS_DEFINED );
44
45 if ( !$class )
46     return $Module->handleError( eZError::KERNEL_NOT_AVAILABLE, 'kernel' );
47
48 if ( !$LanguageCode)
49     $LanguageCode = $class->attribute( 'top_priority_language_locale' );
50
51 if ( $http->hasPostVariable( 'AddGroupButton' ) && $http->hasPostVariable( 'ContentClass_group' ) )
52 {
53     eZClassFunctions::addGroup( $ClassID, $ClassVersion, $http->postVariable( 'ContentClass_group' ) );
54 }
55
56 if ( $http->hasPostVariable( 'RemoveGroupButton' ) && $http->hasPostVariable( 'group_id_checked' ) )
57 {
58     if ( !eZClassFunctions::removeGroup( $ClassID, $ClassVersion, $http->postVariable( 'group_id_checked' ) ) )
59     {
60         $validation['groups'][] = array( 'text' => ezpI18n::translate( 'kernel/class', 'You have to have at least one group that the class belongs to!' ) );
61         $validation['processed'] = true;
62     }
63 }
64
65 $attributes = $class->fetchAttributes();
66 $datatypes = eZDataType::registeredDataTypes();
67
68 $mainGroupID = false;
69 $mainGroupName = false;
70 $groupList = $class->fetchGroupList();
71 if ( count( $groupList ) > 0 )
72 {
73     $mainGroupID = $groupList[0]->attribute( 'group_id' );
74     $mainGroupName = $groupList[0]->attribute( 'group_name' );
75 }
76
77 $Module->setTitle( "Edit class " . $class->attribute( "name" ) );
78
79 require_once( "kernel/common/template.php" );
80 $tpl = templateInit();
81
82 $res = eZTemplateDesignResource::instance();
83 $res->setKeys( array( array( 'class', $class->attribute( "id" ) ),
84                       array( 'class_identifier', $class->attribute( 'identifier' ) ) ) );
85
86 $tpl->setVariable( 'module', $Module );
87 $tpl->setVariable( 'language_code', $LanguageCode );
88 $tpl->setVariable( 'class', $class );
89 $tpl->setVariable( 'attributes', $attributes );
90 $tpl->setVariable( 'datatypes', $datatypes );
91 $tpl->setVariable( 'validation', $validation );
92 $tpl->setVariable( 'scheduled_script_id', (int) $Params['ScheduledScriptID'] );
93
94 $Result = array();
95 $Result['content'] = $tpl->fetch( 'design:class/view.tpl' );
96 $Result['path'] = array( array( 'url' => '/class/grouplist/',
97                                 'text' => ezpI18n::translate( 'kernel/class', 'Class groups' ) ) );
98 if ( $mainGroupID !== false )
99 {
100     $Result['path'][] = array( 'url' => '/class/classlist/' . $mainGroupID,
101                                'text' => $mainGroupName );
102 }
103 $Result['path'][] = array( 'url' => false,
104                            'text' => $class->attribute( 'name' ) );
105
106 ?>