Files
qcmmaker/current_version/.svn/text-base/rss.php.svn-base
2013-08-07 14:41:29 +02:00

226 lines
7.9 KiB
Plaintext

<?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 n°'.$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 n°'.$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 n°'.$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 n°'.$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="ISO-8859-1" ?>';
$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;
?>