<?php

/* RSS Feed */

$bNoTemplate = true;

$asRssFeed = selectRows(array('from'=>FEED_TABLE, 'constraint'=>array('id_ref'=>'0')));
$sRssFeedUrl = cleanRss('http://'.$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME'].'?page=rss');
$asItems = array();
foreach($asRssFeed as $asRssItem)
{
	$sTitle = $sDesc = '';
	switch($asRssItem['action'])
	{
		case 'CREATE':
			$sTitle .= 'Création ';
			switch($asRssItem['type'])
			{
				case 'database':
					$sTitle .= 'd\'une nouvelle sauvegarde';
					$sDesc = 'Une nouvelle sauvegarde de la base de données "'.$asRssItem['source'].'" a été créée. 
								Chemin : '.$asRssItem['old_value'];
					break;
				case QCM_TABLE:
					$sTitle .= 'd\'un QCM';
					$sDesc = 'Le QCM nommé "'.$asRssItem['old_value'].'" a été créé';
					break;
				case QUESTION_TABLE:
					$sTitle .= 'd\'une question';
					$sDesc = 'La question "'.$asRssItem['old_value'].'" a été créé';
					break;
				case 'image':
					$sTitle .= 'd\'une image';
					$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été ajouté';
					break;
				case ANSWER_TABLE:
					$sTitle .= 'd\'une proposition de réponse';
					$sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été créé';
					break;
				case RESULT_TABLE:
					$sTitle .= 'd\'un résultat de qcm';
					$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['source']).'" a répondu au qcm "'.$asRssItem['old_value'].'"';
					break;
				case USER_TABLE:
					$sTitle .= 'd\'un compte utilisateur';
					$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est enregistré';
					break;
				case CHANGELOG_TABLE:
					$sTitle .= 'd\'un changelog';
					$sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été ajouté';
					break;
			}
			break;
		case 'MODIFY':
			$sTitle .= 'Modification ';
			switch($asRssItem['type'])
			{
				case USER_TABLE.'_name':
					$sTitle .= 'du nom d\'un utilisateur';
					$sDesc = 'l\'utilisateur "'.ucwords($asRssItem['old_value']).'" est dorénavant nommé '.$asRssItem['new_value'];
					break;
				case USER_TABLE.'_class':
					$sTitle .= 'de la classe d\'un utilisateur ';
					$sDesc = 'l\'utilisateur "'.ucwords($asRssItem['source']).'" est passé de la classe '.$asRssItem['old_value'].' à la classe '.$asRssItem['new_value'];	
					break;
				case QCM_TABLE:
					$sTitle .= 'd\'un QCM';
					$sDesc = 'Le QCM nommé "'.$asRssItem['old_value'].'" a été modifié';
					break;
				case QUESTION_TABLE:
					$sTitle .= 'd\'une question';
					$sDesc = 'La question "'.$asRssItem['old_value'].'" a été modifiée';
					break;
				case 'image':
					$sTitle .= 'd\'une image';
					$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été modifié';
					break;
				case ANSWER_TABLE:
					$sTitle .= 'd\'une proposition de réponse';
					$sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été modifé';
					break;
				case CHANGELOG_TABLE:
					$sTitle .= 'd\'un changelog';
					$sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été modifiée.
								Nouvelle modification : "'.$asRssItem['new_value'].'"';
					break;
			}
			break;
		case 'ACTIVATE':
			$sTitle .= 'Activation ';
			switch($asRssItem['type'])
			{
				case QCM_TABLE:
					$sTitle .= 'd\'un qcm';
					$sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a été activé';
					break;
				case CHANGELOG_TABLE:
					$sTitle .= 'd\'un changelog';
					$sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est achevé';
					break;
			}
			break;
		case 'DESACTIVATE':
			$sTitle .= 'Désactivation ';
			switch($asRssItem['type'])
			{
				case QCM_TABLE:
					$sTitle .= 'd\'un qcm';
					$sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a été désactivé';
					break;
				case CHANGELOG_TABLE:
					$sTitle .= 'd\'un changelog';
					$sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est passé en mode "non achevé"';
					break;
			}
			break;
		case 'DELETE':
			$sTitle .= 'Suppression ';
			switch($asRssItem['type'])
			{
				case USER_TABLE:
					$sTitle .= 'd\'un utilisateur';
					$sDesc = 'Le compte de l\'utilisateur "'.$asRssItem['old_value'].'" a été supprimé';	
					break;
				case QCM_TABLE:
					$sTitle .= 'd\'un qcm ';
					$sDesc = 'Le qcm intitulé "'.$asRssItem['old_value'].'" a été supprimé';	
					break;
				case QUESTION_TABLE:
					$sTitle .= 'd\'une question';
					$sDesc = 'La question "'.$asRssItem['old_value'].'" a été supprimée';
					break;
				case 'image':
					$sTitle .= 'd\'une image';
					$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été supprimée';
					break;
				case ANSWER_TABLE:
					$sTitle .= 'd\'une proposition de réponse';
					$sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été supprimée';
					break;
				case CHANGELOG_TABLE:
					$sTitle .= 'd\'un changelog';
					$sDesc = 'La modification né'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été abandonné';
					break;
			}
			break;
		case 'RESET':
			$sTitle .= 'Réinitialisation de la base de données ';
			$sDesc = 'La base de données "'.$asRssItem['source'].'" a été supprimée et réinstallée';	
			break;
		case 'RESTORE':
			$sTitle .= 'Restauration de la base de données ';
			$sDesc = 'La base de données "'.$asRssItem['old_value'].'" a été restaurée';	
			break;
		case 'UPLOAD':
			$sTitle .= 'Upload d\'une base de données ';
			$sDesc = 'La base de données "'.$asRssItem['old_value'].'" ';
			switch($asRssItem['type'])
			{
				case 'file':
					$sDesc .= 'a été uploadé';	
					break;
				case 'sync':
					$sDesc = 'a été synchronisée avec le site '.$asRssItem['source'];	
					break;	
			}
			break;
		case 'CONNECT':
			$sTitle .= 'Connexion d\'un utilisateur';
			$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est connecté';
			break;
	}
	$sAuthor = str_replace(' ', '.', strtolower($asRssItem['author'])).'@'.DOMAIN.' ('.ucwords($asRssItem['author']).')';
	
	if($sTitle!='' && $sDesc!='')
	{
		$sRssItem  = getHtml(cleanRss($sTitle), 'title');
		$sRssItem .= getHtml(cleanRss($sAuthor), 'author');
		$sRssItem .= getHtml($sRssFeedUrl, 'link');
		$sRssItem .= getHtml(cleanRss($sDesc.'.'), 'description');
		$sRssItem .= getHtml(cleanRss(date('r', strtotime($asRssItem['led']))), 'pubDate');
		$sRssItem .= getHtml(cleanRss($sRssFeedUrl.'&id='.$asRssItem['id_'.FEED_TABLE]), 'guid', '', '', array('isPermaLink'=>'true'));
	
		$asItems[] = getHtml($sRssItem, 'item');
	}
}

function fillFeed($sText)
{
	$asColumnNames = getTableColumnNames(FEED_TABLE);
	foreach($asColumnNames as $sColumnName)
	{
		$sText = str_replace('#'.$sColumnName.'#', $_POST[$sColumnName], $sText);
	}
}

function getFeedTitle($sAction, $sType)
{
	
}

function getFeedDesc($sAction, $sType)
{
	
}

//last feed update
$sPubDate = date('r', strtotime(getUniqueValue("SELECT /* ".basename(__FILE__)." ".__LINE__." */ MAX(led) FROM ".FEED_TABLE)));

//feed header
$sRssFeed = '<?xml version="1.0" encoding="UTF-8" ?>';
$sRssFeedHeader = getHtml('QcmMaker Rss Feed', 'title');
$sRssFeedHeader .= getHtml($sRssFeedUrl, 'link');
$sRssFeedHeader .= getHtml('Copyright (C) '.date('Y').' François Lutran', 'copyright');
$sRssFeedHeader .= getHtml('Users Activity', 'description');
$sRssFeedHeader .= getHtml('', 'atom:link', '', '', array('href'=>$sRssFeedUrl, 'rel'=>'self', 'type'=>'application/atom+xml'), true);
$sRssFeedHeader .= getHtml('fr', 'language');
$sRssFeedHeader .= getHtml(cleanRss($sPubDate), 'pubDate');
$sRssFeedHeader .= getHtml('qcmMaker rss Feed generator', 'generator');
$sRssFeedHeader .= getHtml(cleanRss(FEEDBACK_MAIL.' (Webmaster)'), 'webMaster');

//feed items
$sRssFeed .= getHtml(getHtml($sRssFeedHeader.implode("\n", $asItems), 'channel'), 'rss', '', '', array('version'=>'2.0', 'xmlns:atom'=>'http://www.w3.org/2005/Atom'));

echo $sRssFeed;
?>