/**
 * @param $group
 * @param $data_rows
 * @param $stat_issue_count
 * @param $group_index
 * @param $valid_flag
 * @param $group_name
 * @return mixed
 */
function process_user_row_group($group, $data_rows, $stat_issue_count, $group_index, $valid_flag, $group_name)
{
    print_group_head_row($group, $data_rows, $group_index, $group_name);
    $head_rows_array = userprojectapi::calculate_user_head_rows($data_rows, $valid_flag);
    foreach ($head_rows_array as $head_row) {
        /** get information flag with specific user_id for each data row */
        $information_flag_array = userprojectapi::create_information_flag_array($group, $data_rows);
        $head_row_user_id = $head_row[0];
        $user_head_row_printed = false;
        for ($group_index = 0; $group_index < count($group); $group_index++) {
            $data_row_index = $group[$group_index];
            $user_id = $data_rows[$data_row_index]['user_id'];
            if ($user_id == $head_row_user_id) {
                $data_row = $data_rows[$data_row_index];
                $assigned_project_id = $data_row['assigned_project_id'];
                /** pass data row, if user has no access level */
                if (!userprojectapi::check_user_has_level($assigned_project_id)) {
                    continue;
                } else {
                    /** information flag is true, if any data row contains information text */
                    $information_flag = userprojectapi::check_information_flag_array($information_flag_array, $user_id);
                    if (!$user_head_row_printed) {
                        print_user_head_row($head_row, $data_row, $information_flag);
                        $user_head_row_printed = true;
                    }
                    $stat_issue_count = print_user_row($data_row, $stat_issue_count, 0);
                }
            }
        }
    }
    return $stat_issue_count;
}