/**
  * @param string $json_column_array
  * @param string $json_argument_array
  * @param string $get_array
  * @param string $css_page_id
  * @param string $css_row_sort_id
  * @param string $entries_per_page
  * @param string $page
  * @param string $sortvalue
  * @param string $sortmethod
  * @return string
  * @throws UserIDMissingException
  */
 public static function list_organisation_units_by_user_id($json_column_array, $json_argument_array, $get_array, $css_page_id, $css_row_sort_id, $entries_per_page, $page, $sortvalue, $sortmethod)
 {
     if ($get_array) {
         $_GET = unserialize($get_array);
     }
     $argument_array = json_decode($json_argument_array);
     $user_id = $argument_array[1];
     if (is_numeric($user_id)) {
         $list_request = new ListRequest_IO();
         $list_request->set_column_array($json_column_array);
         if (!is_numeric($entries_per_page) or $entries_per_page < 1) {
             $entries_per_page = 20;
         }
         $list_array = OrganisationUnit_Wrapper::list_organisation_units_by_user_id($user_id, $sortvalue, $sortmethod, $page * $entries_per_page - $entries_per_page, $page * $entries_per_page);
         if (is_array($list_array) and count($list_array) >= 1) {
             $module_link_array = ModuleLink::list_links_by_type("ou_navigation");
             foreach ($list_array as $key => $value) {
                 $paramquery['username'] = $_GET['username'];
                 $paramquery['session_id'] = $_GET['session_id'];
                 if (is_array($module_link_array[0]['array']) and count($module_link_array[0]['array']) >= 1) {
                     foreach ($module_link_array[0]['array'] as $array_key => $array_value) {
                         if ($array_value == "%OU_ID%") {
                             $paramquery['ou_id'] = $list_array[$key]['id'];
                         } else {
                             $paramquery[$array_key] = $array_value;
                         }
                     }
                 }
                 $params = http_build_query($paramquery, '', '&#38;');
                 $tmp_symbol = $list_array[$key]['symbol'];
                 unset($list_array[$key]['symbol']);
                 $list_array[$key]['symbol']['link'] = $params;
                 $list_array[$key]['symbol']['content'] = "<img src='images/icons/" . $tmp_symbol . "' alt='N' border='0' />";
                 $tmp_name = $list_array[$key]['name'];
                 unset($list_array[$key]['name']);
                 $list_array[$key]['name']['link'] = $params;
                 $list_array[$key]['name']['content'] = $tmp_name;
                 if ($list_array[$key]['is_member']) {
                     $my_status_string = "Member";
                 }
                 if ($list_array[$key]['is_owner']) {
                     if ($my_status_string) {
                         $my_status_string .= ", Owner";
                     } else {
                         $my_status_string = "Owner";
                     }
                 }
                 if ($list_array[$key]['is_leader']) {
                     if ($my_status_string) {
                         $my_status_string .= ", Leader";
                     } else {
                         $my_status_string = "Leader";
                     }
                 }
                 if ($list_array[$key]['is_quality_manager']) {
                     if ($my_status_string) {
                         $my_status_string .= ", Quality Manager";
                     } else {
                         $my_status_string = "Quality Manager";
                     }
                 }
                 $list_array[$key]['mystatus'] = $my_status_string;
             }
         } else {
             $list_request->empty_message("<span class='italic'>No Organisation Unit found!</span>");
         }
         $list_request->set_array($list_array);
         return $list_request->get_page($page);
     } else {
         throw new UserIDMissingException();
     }
 }