function return_picture_list($dbc, $max_pictures, $id, $select_type)
{
    $return_data;
    $query = 'SELECT users.user_id, users.user_first_name, users.user_avatar_url, pictures.device_optical_id, pictures.device_camera_id, pictures.picture_id, pictures.picture_name, pictures.picture_thumb_url, pictures.picture_datetime, pictures.picture_entry_datetime
				FROM pictures
				INNER JOIN users
				USING (user_id)';
    if ($select_type == 'user' && is_int(intval($id)) && $id > 0) {
        $query .= ' WHERE user_id=' . $id;
    } else {
        if ($select_type == 'astronomical_object' && is_int(intval($id)) && $id > 0) {
            $query .= ' INNER JOIN pictures_astronomical_objects
					USING (picture_id)
					WHERE object_id=' . $id;
        } else {
            if ($select_type == 'camera' && is_int(intval($id)) && $id > 0) {
                $query .= ' WHERE device_camera_id=' . $id;
            } else {
                if (($select_type == 'camera lens' || $select_type == 'telescope') && is_int(intval($id)) && $id > 0) {
                    $query .= ' WHERE device_optical_id=' . $id;
                }
            }
        }
    }
    $query .= ' ORDER BY pictures.picture_entry_datetime DESC';
    if (is_int($max_pictures)) {
        $query .= ' LIMIT 0,' . $max_pictures;
    }
    $table_id = mysqli_query($dbc, $query);
    if (mysqli_num_rows($table_id) == 0) {
        $return_data .= '<p>No pictures yet</p>';
    }
    $counter = 0;
    while ($row = mysqli_fetch_array($table_id)) {
        $counter++;
        $return_data .= '<div class="picture" style="background-image: url(\'' . SITE_PICTURES_DIR . 'thumbs/' . $row['picture_thumb_url'] . '\')';
        $return_data .= ';">' . "\n";
        $return_data .= '<h3><a href="?p=picture&amp;picture_id=' . $row['picture_id'] . '" >' . $row['picture_name'] . '</a></h3>' . "\n";
        $return_data .= '<div class="information">' . "\n";
        $return_data .= return_user_observation_data($row['user_id'], $row['user_first_name'], $row['user_avatar_url'], 'label');
        if ($row['device_optical_id'] > 0) {
            $query = 'SELECT device_name, device_thumb_url FROM devices WHERE device_id=' . $row['device_optical_id'];
            $table_id_d = mysqli_query($dbc, $query);
            $row_d = mysqli_fetch_array($table_id_d);
            $return_data .= return_device_data($row['device_optical_id'], $row_d['device_name'], $row_d['device_thumb_url'], false);
        }
        if ($row['device_camera_id'] > 0) {
            $query = 'SELECT device_name, device_thumb_url FROM devices WHERE device_id=' . $row['device_camera_id'];
            $table_id_d = mysqli_query($dbc, $query);
            $row_d = mysqli_fetch_array($table_id_d);
            $return_data .= return_device_data($row['device_camera_id'], $row_d['device_name'], $row_d['device_thumb_url'], false);
        }
        $return_data .= '</div>' . "\n";
        $return_data .= '<p class="date">' . date('j', strtotime($row['picture_entry_datetime'])) . ' ' . strtolower(date('F', strtotime($row['picture_entry_datetime']))) . ' \'' . date('y', strtotime($row['picture_entry_datetime'])) . '</p>' . "\n";
        $return_data .= '<a class="picture_thumb_link" href="?p=picture&amp;picture_id=' . $row['picture_id'] . '"></a>' . "\n";
        $return_data .= '</div>' . "\n";
    }
    return $return_data;
}
function return_comment_list($dbc, $max_comments, $type, $subtype, $id, $select_type, $display_form)
{
    $return_data;
    if (!empty($_POST['submit'])) {
        $message = mysqli_real_escape_string($dbc, stripslashes(trim($_POST['comment'])));
        if (!empty($message)) {
            $query = 'INSERT INTO comments_pictures (user_id, picture_id, message, comment_date) VALUES (' . $_SESSION['user_id'] . ', ' . $id . ', "' . $message . '", NOW())';
            $result = mysqli_query($dbc, $query);
        }
    }
    $query = 'SELECT users.user_id, users.user_first_name, users.user_surname, users.user_avatar_url, comments_pictures.message';
    if ($subtype == 'recent') {
        $query .= ', pictures.picture_id, pictures.picture_name';
    }
    $query .= ' FROM comments_pictures
				INNER JOIN users
				USING (user_id)
				INNER JOIN pictures
				USING (picture_id)';
    if ($select_type == 'user' && is_int(intval($id)) && $id > 0) {
        $query .= ' WHERE comments_pictures.user_id=' . $id;
    } else {
        if ($select_type == 'picture' && is_int(intval($id)) && $id > 0) {
            $query .= ' WHERE comments_pictures.picture_id=' . $id;
        }
    }
    $query .= ' ORDER BY comment_date DESC LIMIT 0,' . $max_comments;
    $table_id = mysqli_query($dbc, $query);
    if (mysqli_num_rows($table_id) == 0) {
        $return_data .= '<p>No comments yet</p>';
    }
    while ($row = mysqli_fetch_array($table_id)) {
        if ($subtype == 'recent') {
            $return_data .= '<div class="comment">' . "\n";
            $return_data .= '<div class="name">' . "\n" . return_user_observation_data($row['user_id'], $row['user_first_name'], $row['user_avatar_url'], '') . "\n" . ' commented on <a href="?p=picture&amp;picture_id=' . $row['picture_id'] . '">' . $row['picture_name'] . '</a></div>';
            $return_data .= '<div class="message">' . "\n";
            $return_data .= format_text($row['message'], 180, '');
            /*$text = preg_replace("/\r\n/", "\n", $row['message']);
            		
            		if(strlen($text) > 180){
            			$text = substr($text, 0, 180);
            			$text = trim($text) . '..';
            		}
            		
            		$text_array = explode("\n\n", $text);
            		
            		foreach($text_array as $paragraph){
            			$return_data .= '<p>' . "\n";
            			$paragraph = str_replace("\n", '<br />', $paragraph);
            			$return_data .= trim($paragraph);
            			$return_data .= '</p>' . "\n";
            		}*/
            $return_data .= '</div>' . "\n" . '</div>' . "\n";
        } else {
            $return_data .= '<div class="comment">' . "\n";
            $return_data .= '<div class="name">' . "\n" . return_user_observation_data($row['user_id'], $row['user_first_name'], $row['user_avatar_url'], '') . "\n" . '</div>';
            $return_data .= '<div class="message">' . "\n";
            $return_data .= format_text($row['message'], '', '');
            $return_data .= '</div>' . "\n" . '</div>' . "\n";
        }
    }
    if ($display_form == true) {
        $return_data .= '<h3>Leave a comment</h3>' . "\n";
        if ($result) {
            $return_data .= '<p class="notification">Reactie geplaatst!</p>' . "\n";
        }
        $return_data .= '<form class="comment" action="?p=' . $_GET['p'] . '&amp;picture_id=' . $id . '" method="post">' . "\n";
        $return_data .= '<table class="list">' . "\n" . '<tr>' . "\n" . '<td></td>' . "\n" . '<td><textarea rows="10" cols="50" name="comment" ></textarea></td>' . "\n" . '</tr>' . "\n";
        $return_data .= '<tr>' . "\n" . '<td></td>' . "\n" . '<td><input type="submit" name="submit" value="post" /></td>' . "\n" . '</tr>' . "\n" . '</table>';
        $return_data .= '</form>' . "\n";
    }
    return $return_data;
}
function return_observation_list($dbc, $max_observations, $id, $select_type)
{
    $return_data;
    $return_data .= '<table>
	<tr>' . "\n" . '
		<th>Date</th>' . "\n" . '
		<th>Observed By</th>' . "\n" . '
		<th>Level</th>' . "\n" . '
		<th>Messier</th>' . "\n" . '
		<th>NGC</th>' . "\n" . '
		<th>Name</th>' . "\n";
    if ($select_type != 'astronomical_object') {
        $return_data .= '<th>Type</th>' . "\n";
    }
    $return_data .= '<th>Device used</th>' . "\n";
    if (isset($_SESSION['user_id'])) {
        $return_data .= '<th>Loc</th>' . "\n";
    }
    $return_data .= '<!--<th>Links</th>-->' . "\n" . '
	</tr>' . "\n";
    $query = 'SELECT observations.observation_id, observations.observation_datetime, observations.level_id, observations.latitude, observations.longitude, observations.notes, astronomical_objects.object_id, astronomical_objects.object_name, astronomical_objects.object_thumb_url, astronomical_objects.object_url_wikipedia, astronomical_objects_types.object_type_name, astronomical_objects_types.object_type_thumb_url, astronomical_objects_types.object_type_url_wikipedia, users.user_id, users.user_first_name, users.user_surname, users.user_avatar_url, observations_levels.level_description, devices.device_id, devices.device_name, devices.device_thumb_url
			FROM observations
			INNER JOIN users
			USING (user_id)
			INNER JOIN astronomical_objects
			USING (object_id)
			INNER JOIN observations_levels
			USING (level_id)
			INNER JOIN devices
			USING (device_id)
			INNER JOIN astronomical_objects_types
			USING (object_type_id)';
    if ($select_type == 'user' && is_int(intval($id)) && $id > 0) {
        $query .= ' WHERE user_id=' . $id;
    } else {
        if ($select_type == 'device' && is_int(intval($id)) && $id > 0) {
            $query .= ' WHERE device_id=' . $id;
        } else {
            if ($select_type == 'eyepiece_device' && is_int(intval($id)) && $id > 0) {
                $query .= ' WHERE eyepiece_device_id=' . $id;
            } else {
                if ($select_type == 'filter_device' && is_int(intval($id)) && $id > 0) {
                    $query .= ' WHERE filter_device_id=' . $id;
                } else {
                    if ($select_type == 'astronomical_object' && is_int(intval($id)) && $id > 0) {
                        $query .= ' WHERE object_id=' . $id;
                    }
                }
            }
        }
    }
    $query .= ' ORDER BY observations.observation_datetime DESC';
    if (is_int($max_observations)) {
        $query .= ' LIMIT 0,' . $max_observations;
    }
    $table_id = mysqli_query($dbc, $query);
    if (mysqli_num_rows($table_id) == 0) {
        $return_data .= '<tr><td></td><td>No observations yet</td><td></td><td></td><td></td><td></td>';
        if ($select_type != 'astronomical_object' && !is_int(intval($id)) && $id <= 0) {
            $return_data .= '<td></td>';
        }
        if (isset($_SESSION['user_id'])) {
            $return_data .= '<td></td>';
        }
        $return_data .= '<td></td><td></td></tr>';
    }
    while ($row = mysqli_fetch_array($table_id)) {
        $return_data .= '<tr>' . "\n";
        $return_data .= '<td>';
        $return_data .= return_date($row['observation_datetime'], $row['observation_id'], null);
        $return_data .= '</td>' . "\n";
        $return_data .= '<td>';
        $return_data .= return_user_observation_data($row['user_id'], $row['user_first_name'], $row['user_avatar_url'], 'default');
        $return_data .= '</td>' . "\n";
        $return_data .= '<td>';
        $return_data .= return_level_data($row['level_id'], $row['level_description'], $row['notes']);
        $return_data .= '</td>' . "\n";
        $return_data .= '<td>';
        $query = 'SELECT list_object_number FROM astronomical_objects_lists_objects WHERE list_id=1 AND object_id=' . $row['object_id'];
        $table_id_messier = mysqli_query($dbc, $query);
        $row_messier = mysqli_fetch_array($table_id_messier);
        $return_data .= return_messier_number($row_messier['list_object_number']);
        $return_data .= '</td>' . "\n";
        $return_data .= '<td>';
        $query = 'SELECT list_object_number FROM astronomical_objects_lists_objects WHERE list_id=3 AND object_id=' . $row['object_id'];
        $table_id_ngc = mysqli_query($dbc, $query);
        $row_ngc = mysqli_fetch_array($table_id_ngc);
        $return_data .= return_ngc_number($row_ngc['list_object_number']);
        $return_data .= '</td>' . "\n";
        $return_data .= '<td>';
        $return_data .= return_name_data($row['object_id'], $row['object_name'], $row['object_url_wikipedia'], $row['object_thumb_url']);
        $return_data .= '</td>' . "\n";
        if ($select_type != 'astronomical_object') {
            $return_data .= '<td>';
            $return_data .= return_object_type_data($row['object_type_name'], $row['object_type_url_wikipedia'], $row['object_type_thumb_url'], '');
            $return_data .= '</td>' . "\n";
        }
        $return_data .= '<td>';
        $return_data .= return_device_data($row['device_id'], $row['device_name'], $row['device_thumb_url'], false);
        $return_data .= '</td>' . "\n";
        if (isset($_SESSION['user_id'])) {
            $return_data .= '<td>';
            $return_data .= return_location_icon($row['latitude'], $row['longitude']);
            $return_data .= '</td>' . "\n";
        }
        //echo '<td><a href="' . $row['object_url_wikipedia'] . '"><img src="images/link_wiki.png" /></a></td>' . "\n";
        $return_data .= '</tr>' . "\n";
    }
    $return_data .= '</table>' . "\n";
    return $return_data;
}