226 lines
7.9 KiB
Plaintext
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;
|
|
?> |