From: <reg...@us...> - 2005-11-30 14:09:42
|
Update of /cvsroot/egroupware/workflow/inc/engine/src/GUI In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31358/d/engine/src/GUI Modified Files: GUI.php Log Message: minor fix: clean user activities filters in user activities tabs with only usefull activities Index: GUI.php =================================================================== RCS file: /cvsroot/egroupware/workflow/inc/engine/src/GUI/GUI.php,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** GUI.php 27 Nov 2005 17:05:00 -0000 1.24 --- GUI.php 30 Nov 2005 14:09:24 -0000 1.25 *************** *** 150,157 **** } ! /* ! $user is the real user id */ ! function gui_list_user_activities($user,$offset,$maxRecords,$sort_mode,$find,$where='', $remove_activities_without_instances=false) { // FIXME: this doesn't support multiple sort criteria --- 150,169 ---- } ! /*! list user activities ! * @param $user is the current user id ! * @param $offset is the current starting point for the query results ! * @param $maxRecords is the max number of results to return ! * @param $sort_mode is for sorting ! * @param $find is a string to search in activity name or description ! * @param $where is deprecated it's a string to add to the query, use with care for SQL injection ! * @param $remove_activities_without_instances is false by default will remove all activities having no instances related at this time ! * @param $remove_instances_activities is false by default, if true then all activities related to instances will be avoided ! * (i.e. activities which are not standalone, start or view). If $remove_activities_without_instances is true you'll obtain nothing :-) ! * @param $add_start is false by default, if true start activities are added to the listing, no effect if $remove_activities_without_instances is true ! * @param $add_standalone is false by default, if true standalone activities are added to the listing, no effect if $remove_activities_without_instances is true ! * @param $add_view is false by default, if true view activities are added to the listing, no effect if $remove_activities_without_instances is true ! * @return an associative array, key cant gives the number of results, key data is an associative array conteining the results */ ! function gui_list_user_activities($user,$offset,$maxRecords,$sort_mode,$find,$where='', $remove_activities_without_instances=false, $remove_instances_activities =false, $add_start = false, $add_standalone = false, $add_view = false) { // FIXME: this doesn't support multiple sort criteria *************** *** 159,162 **** --- 171,201 ---- $sort_mode = str_replace("__"," ",$sort_mode); $mid = "where gp.wf_is_active=?"; + $bindvars = array('y'); + + if ($remove_instances_activities) + { + $mid .= " and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? "; + $bindvars[] = 'end'; + $bindvars[] = 'switch'; + $bindvars[] = 'join'; + $bindvars[] = 'activity'; + $bindvars[] = 'split'; + } + if (!($add_start)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'start'; + } + if (!($add_standalone)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'standalone'; + } + if (!($add_view)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'view'; + } + // add group mapping, warning groups and user can have the same id $groups = galaxia_retrieve_user_groups($user); *************** *** 167,172 **** } $mid .= ')'; ! ! $bindvars = array('y',$user); if($find) { $findesc = '%'.$find.'%'; --- 206,210 ---- } $mid .= ')'; ! $bindvars[] = $user; if($find) { $findesc = '%'.$find.'%'; *************** *** 245,250 **** } ! //! list user activities but each activity name (and not id) appears only one time ! function gui_list_user_activities_by_unique_name($user,$offset,$maxRecords,$sort_mode,$find,$where='') { // FIXME: this doesn't support multiple sort criteria --- 283,301 ---- } ! /*! list user activities but each activity name (and not id) appears only one time ! * @param $user is the current user id ! * @param $offset is the current starting point for the query results ! * @param $maxRecords is the max number of results to return ! * @param $sort_mode is for sorting ! * @param $find is a string to search in activity name or description ! * @param $where is deprecated it's a string to add to the query, use with care for SQL injection ! * @param $remove_instances_activities is false by default, if true then all activities related to instances will be avoided ! * (i.e. activities which are not standalone, start or view). ! * @param $add_start is false by default, if true start activities are added to the listing ! * @param $add_standalone is false by default, if true standalone activities are added to the listing ! * @param $add_view is false by default, if true view activities are added to the listing ! * @return an associative array, key cant gives the number of results, key data is an associative array conteining the results ! */ ! function gui_list_user_activities_by_unique_name($user,$offset,$maxRecords,$sort_mode,$find,$where='', $remove_instances_activities =false, $add_start = false, $add_standalone = false, $add_view = false) { // FIXME: this doesn't support multiple sort criteria *************** *** 252,255 **** --- 303,333 ---- $sort_mode = str_replace("__"," ",$sort_mode); $mid = "where gp.wf_is_active=?"; + $bindvars = array('y'); + + if ($remove_instances_activities) + { + $mid .= " and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? and ga.wf_type <> ? "; + $bindvars[] = 'end'; + $bindvars[] = 'switch'; + $bindvars[] = 'join'; + $bindvars[] = 'activity'; + $bindvars[] = 'split'; + } + if (!($add_start)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'start'; + } + if (!($add_standalone)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'standalone'; + } + if (!($add_view)) + { + $mid .= " and ga.wf_type <> ?"; + $bindvars[] = 'view'; + } + // add group mapping, warning groups and user can have the same id $groups = galaxia_retrieve_user_groups($user); *************** *** 261,265 **** $mid .= ')'; ! $bindvars = array('y',$user); if($find) { --- 339,343 ---- $mid .= ')'; ! $bindvars[] = $user; if($find) { |