function print_project_user_list( $p_user_id, $p_include_remove_link = true ) {
$t_mantis_project_user_list_table = db_get_table( 'mantis_project_user_list_table' );
$t_mantis_project_table = db_get_table( 'mantis_project_table' );
$t_mantis_project_hierarchy_table = db_get_table( 'mantis_project_hierarchy_table' );
$res_p = Array();
$c_user_id = db_prepare_int( $p_user_id );
/*
$query = "SELECT DISTINCT p.id, p.name, p.view_state, u.access_level
FROM $t_mantis_project_table p
LEFT JOIN $t_mantis_project_user_list_table u
ON p.id=u.project_id
WHERE p.enabled = '1' AND
u.user_id=" . db_param() . "
ORDER BY p.name";
*/
$query = "SELECT DISTINCT p.id, p.name, p.view_state, u.access_level,
IF(h.parent_id IS NULL, 0,h.parent_id) as parent_id, u.user_id
FROM $t_mantis_project_table p
LEFT JOIN $t_mantis_project_user_list_table u
ON p.id=u.project_id AND u.user_id=" . db_param() . "
LEFT JOIN $t_mantis_project_hierarchy_table h
ON p.id=h.child_id
WHERE p.enabled = '1'
ORDER BY p.name";
// $result = db_query_bound( $query, Array( $c_user_id ) );
$result = db_query_bound( $query, Array( $c_user_id,$c_user_id ) );
$category_count = db_num_rows( $result );
for( $i = 0;$i < $category_count;$i++ ) {
$row = db_fetch_array( $result );
$t_project_id = $row['id'];
$t_project_name = $row['name'];
$t_view_state = $row['view_state'];
$t_access_level = $row['access_level'];
if(is_null($t_access_level))
$t_access_level = '-';
else
$t_access_level = get_enum_element( 'access_levels', $t_access_level );
// $t_access_level = get_enum_element( 'access_levels', $t_access_level );
$t_view_state = get_enum_element( 'project_view_state', $t_view_state );
$t_hierarchy = $row['parent_id'];
$t_userid = $row['user_id'];
$res_p[$i] = Array('id'=>$t_project_id,'name'=>$t_project_name,'view_state'=>$t_view_state,
'access_level'=>$t_access_level,'project_view_state'=>$t_view_state,'parent_id'=>$t_hierarchy,'user_id'=>$t_userid);
/*
echo $t_project_name . ' [' . $t_access_level . '] (' . $t_view_state . ')';
if( $p_include_remove_link && access_has_project_level( config_get( 'project_user_threshold' ), $t_project_id ) ) {
html_button( 'manage_user_proj_delete.php', lang_get( 'remove_link' ), array( 'project_id' => $t_project_id, 'user_id' => $p_user_id ) );
}
echo '
';
*/
}
recprj2( $res_p, 0, 0, $p_user_id, $p_include_remove_link );
}
function recprj2( $prj, $id, $lev = 0, $user, $p_include_remove_link )
{
foreach($prj as $pr)
{
if( $pr['parent_id'] == $id ){
if( $lev == 0 ) echo "";
echo str_repeat(" ",$lev).str_repeat("»",$lev).$pr['name']. ' [' . $pr['access_level'] . '] (' . $pr['view_state'] . ')';
if( !is_null($pr['user_id']) && $p_include_remove_link && access_has_project_level( config_get( 'project_user_threshold' ), $pr['id'] ) ) {
html_button( 'manage_user_proj_delete.php', lang_get( 'remove_link' ), array( 'project_id' => $pr['id'], 'user_id' => $user ) );
}
if( $lev == 0 ) echo "";
echo '
';
recprj2( $prj, $pr['id'], $lev+1, $user, $p_include_remove_link );
}
}
}