警告:缺少参数2 for feed :: getLikes(),在第1497行的[...]中调用,在第3117行的[...]中定义

There are errors in the lines I mentioned, but I could not figure out what it is. There is something illogical in this line, but I did not see. I mentioned the line is a range of places.

Line: 1497

'.(($this->getLikes()) ? '<div class="sidebar-list">'.$LNG['likes'].': <a href="'.$this->url.'/index.php?a=profile&u='.$profile['username'].'&r=likes"><strong>'.$this->getLikes().' '.$LNG['messages'].'</strong></a></div>' : '').'

Line: 3117

    function getLikes($start, $type) {
    global $LNG;
    // Type 0: Return the likes count
    // Type 1: Return the liked posts

    if($type) {
        if($start == 0) {
            $start = '';
        } else {
            $start = 'AND `likes`.`id` < \''.$this->db->real_escape_string($start).'\'';
        }

        $query = sprintf("SELECT 
        `likes`.`id` as `like_id`, `likes`.`post` as `like_post`, `likes`.`by` as `like_by`, `likes`.`time` as `time`,
        `messages`.`id` as `id`, `messages`.`message` as `message`, `messages`.`type` as `type`, `messages`.`value` as `value`,
        `users`.`username` as `username`, `users`.`first_name` as `first_name`, `users`.`last_name` as `last_name`, `users`.`image` as `image`
        FROM `likes`,`messages`,`users` WHERE `likes`.`by` = '%s' AND `likes`.`post` = `messages`.`id` AND `messages`.`uid` = `users`.`idu` AND `messages`.`public` = 1 %s ORDER BY `likes`.`time` DESC LIMIT %s", $this->profile_data['idu'], $start, ($this->per_page + 1));

        $getLikes = $this->db->query($query);

        // Declare the rows array
        $rows = array();
        while($row = $getLikes->fetch_assoc()) {
            // Store the result into the array
            $rows[] = $row;
        }

        // Decide whether the load more will be shown or not
        if(array_key_exists($this->per_page, $rows)) {
            $loadmore = 1;

            // Unset the last array element because it's not needed, it's used only to predict if the Load More Messages should be displayed
            array_pop($rows);
        }

        // Start the output
        foreach($rows as $value) {
            $time = $value['time']; $b = '';
            if($this->time == '0') {
                $time = date("c", strtotime($value['time']));
            } elseif($this->time == '2') {
                $time = $this->ago(strtotime($value['time']));
            } elseif($this->time == '3') {
                $date = strtotime($value['time']);
                $time = date('Y-m-d', $date);
                $b = '-standard';
            }

            $output .= '<div class="message-container"><div class="message-content"><div class="message-inner">
            <a href="'.$this->url.'/index.php?a=profile&u='.$this->profile_data['username'].'">'.realName($this->profile_data['username'], $this->profile_data['first_name'], $this->profile_data['last_name']).'</a> '.sprintf($LNG['x_liked_y_post'], '<a href="'.$this->url.'/index.php?a=profile&u='.$value['username'].'"><div class="like_btn like_btn_extended" style="float: none;"><img src="'.$this->url.'/thumb.php?src='.$value['image'].'&w=25&h=25&t=a" /></div>'.realName($value['username'], $value['first_name'], $value['last_name']).'</a>', $this->url.'/index.php?a=post&m='.$value['like_post']).' - <span class="timeago'.$b.'" title="'.$time.'" style="float: none;">'.$time.'</span>
             '.((!empty($value['message'])) ? '<div class="like_text_snippet">'.($this->parseMessage(substr($value['message'], 0, 60))).'...</div>' : '').'</div></div></div>';
        }

        // Display the load more button
        if($loadmore) {
            $output .= '<div class="message-container" id="more_messages">
                            <div class="load_more"><a onclick="loadLikes('.$value['like_id'].', \''.$this->profile_data['idu'].'\', \''.$this->profile_data['username'].'\')">'.$LNG['view_more_messages'].'</a></div>
                        </div>';
        }

        return $output;
    } else {
        $query = $this->db->query(sprintf("SELECT count(`likes`.`id`) FROM `likes`,`messages` WHERE `likes`.`by` = '%s' AND `likes`.`post` = `messages`.`id` AND `messages`.`public` = '1'", $this->profile_data['idu']));

        // Store the array results
        $result = $query->fetch_array();

        // Return the likes value
        return $result[0];
    }
}

The message is clear enough. In definition of function you have:

getLikes($start, $type)

so you need to always pass 2 parameters to the function

Instead of

'.(($this->getLikes()) ? '<div class="sidebar-list">'.$LNG['likes'].': <a href="'.$this->url.'/index.php?a=profile&u='.$profile['username'].'&r=likes"><strong>'.$this->getLikes().' '.$LNG['messages'].'</strong></a></div>' : '').'

you should have something like that:

'.(($this->getLikes($something1, $something2)) ? '<div class="sidebar-list">'.$LNG['likes'].': <a href="'.$this->url.'/index.php?a=profile&u='.$profile['username'].'&r=likes"><strong>'.$this->getLikes($something1, $something2).' '.$LNG['messages'].'</strong></a></div>' : '').'