<?php
/*
	Question2Answer by Gideon Greenspan and contributors
	http://www.question2answer.org/

	File: qa-include/qa-page-updates.php
	Description: Controller for page listing recent updates for a user


	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	More about this license: http://www.question2answer.org/license.php
*/

	if (!defined('QA_VERSION')) { // don't allow this page to be requested directly from browser
		header('Location: ../');
		exit;
	}

	require_once QA_INCLUDE_DIR.'db/selects.php';
	require_once QA_INCLUDE_DIR.'app/format.php';
	require_once QA_INCLUDE_DIR.'app/q-list.php';


//	Check that we're logged in

	$userid=qa_get_logged_in_userid();

	if (!isset($userid))
		qa_redirect('login');


//	Find out which updates to show

	$forfavorites=qa_get('show')!='content';
	$forcontent=qa_get('show')!='favorites';


//	Get lists of recent updates for this user

	$questions=qa_db_select_with_pending(
		qa_db_user_updates_selectspec($userid, $forfavorites, $forcontent)
	);

	if ($forfavorites) {
		if ($forcontent) {
			$sometitle=qa_lang_html('misc/recent_updates_title');
			$nonetitle=qa_lang_html('misc/no_recent_updates');

		} else {
			$sometitle=qa_lang_html('misc/recent_updates_favorites');
			$nonetitle=qa_lang_html('misc/no_updates_favorites');
		}

	} else {
		$sometitle=qa_lang_html('misc/recent_updates_content');
		$nonetitle=qa_lang_html('misc/no_updates_content');
	}


//	Prepare and return content for theme

	$qa_content=qa_q_list_page_content(
		qa_any_sort_and_dedupe($questions),
		null, // questions per page
		0, // start offset
		null, // total count (null to hide page links)
		$sometitle, // title if some questions
		$nonetitle, // title if no questions
		null, // categories for navigation
		null, // selected category id
		null, // show question counts in category navigation
		null, // prefix for links in category navigation
		null, // prefix for RSS feed paths (null to hide)
		$forfavorites ? strtr(qa_lang_html('misc/suggest_update_favorites'), array(
			'^1' => '<a href="'.qa_path_html('favorites').'">',
			'^2' => '</a>',
		)) : null // suggest what to do next
	);

	$qa_content['navigation']['sub']=array(
		'all' => array(
			'label' => qa_lang_html('misc/nav_all_my_updates'),
			'url' => qa_path_html('updates'),
			'selected' => $forfavorites && $forcontent,
		),

		'favorites' => array(
			'label' => qa_lang_html('misc/nav_my_favorites'),
			'url' => qa_path_html('updates', array('show' => 'favorites')),
			'selected' => $forfavorites && !$forcontent,
		),

		'myposts' => array(
			'label' => qa_lang_html('misc/nav_my_content'),
			'url' => qa_path_html('updates', array('show' => 'content')),
			'selected' => $forcontent && !$forfavorites,
		),
	);


	return $qa_content;


/*
	Omit PHP closing tag to help avoid accidental output
*/