- Fixed #16160: Call to undefined function ezi18n()
[tinyz:tinyz.git] / kernel / workflow / processlist.php
1 <?php
2 //
3 // Created on: <09-Oct-2006 17:00:00 rl>
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 $http = eZHTTPTool::instance();
30 $Module = $Params['Module'];
31
32 //////////////////////
33 //$userID = eZUser::currentUserID();
34 $conds = array();
35 //$conds['user_id'] =  $userID;
36 $conds['status'] = array( array( eZWorkflow::STATUS_DEFERRED_TO_CRON,
37                                  eZWorkflow::STATUS_FETCH_TEMPLATE,
38                                  eZWorkflow::STATUS_REDIRECT,
39                                  eZWorkflow::STATUS_WAITING_PARENT ) );
40 $db = eZDB::instance();
41 if ( $db->databaseName() == 'oracle' )
42     $conds['LENGTH(memento_key)'] = array( '!=', 0 );
43 else
44     $conds['memento_key'] = array( '!=', '' );
45
46
47 $offset = $Params['Offset'];
48 if ( !is_numeric( $offset ) )
49 {
50     $offset = 0;
51 }
52
53 $limitList = array( 1 => 10,
54                     2 => 25,
55                     3 => 50,
56                     4 => 100 );
57 $limit = 10;
58 $limitId = eZPreferences::value( 'admin_workflow_processlist_limit' );
59
60 if ( $limitId and isset( $limitList[$limitId] ) )
61 {
62     $limit = $limitList[$limitId];
63 }
64
65 $viewParameters = array( 'offset' => $offset );
66
67 $plist = eZWorkflowProcess::fetchList( $conds, true, $offset, $limit );
68 $plistCount = eZWorkflowProcess::count( eZWorkflowProcess::definition(), $conds );
69
70 $totalProcessCount = 0;
71 $outList2 = array();
72 foreach ( $plist as $p )
73 {
74     $mementoMain = eZOperationMemento::fetchMain( $p->attribute( 'memento_key' ) );
75     $mementoChild = eZOperationMemento::fetchChild( $p->attribute( 'memento_key' ) );
76
77     if ( !$mementoMain or !$mementoChild )
78         continue;
79
80     $mementoMainData = $mementoMain->data();
81     $mementoChildData = $mementoChild->data();
82
83     $triggers = eZTrigger::fetchList( array( 'module_name' => $mementoChildData['module_name'],
84                                              'function_name' => $mementoChildData['operation_name'],
85                                              'name' => $mementoChildData['name'] ) );
86     if ( count( $triggers ) > 0 )
87     {
88         $trigger = $triggers[0];
89         if ( is_object( $trigger ) )
90         {
91             $nkey = $trigger->attribute( 'module_name' ) . '/' . $trigger->attribute( 'function_name' ) . '/' . $trigger->attribute( 'name' );
92
93             if ( !isset( $outList2[ $nkey ] ) )
94             {
95                 $outList2[ $nkey ] = array( 'trigger' => $trigger,
96                                             'process_list' => array() );
97             }
98             $outList2[ $nkey ][ 'process_list' ][] = $p;
99             $totalProcessCount++;
100         }
101     }
102 }
103
104 // Template handling
105 require_once( "kernel/common/template.php" );
106 $tpl = templateInit();
107
108 $tpl->setVariable( "module", $Module );
109 $tpl->setVariable( "trigger_list", $outList2 );
110 $tpl->setVariable( "total_process_count", $totalProcessCount );
111 $tpl->setVariable( 'page_limit', $limit );
112 $tpl->setVariable( 'list_count', $plistCount );
113 $tpl->setVariable( 'view_parameters', $viewParameters );
114
115 $Module->setTitle( "Workflow processes list" );
116 $Result = array();
117 $Result['content'] = $tpl->fetch( "design:workflow/processlist.tpl" );
118 $Result['path'] = array( array( 'text' => ezpI18n::translate( 'kernel/workflow', 'Workflow' ),
119                                 'url' => false ),
120                          array( 'text' => ezpI18n::translate( 'kernel/workflow', 'Process list' ),
121                                 'url' => false ) );
122
123 ?>