fix RSS feed encoding

This commit is contained in:
2017-06-26 14:27:21 +12:00
parent 78ace8037f
commit 4aa73e2bb5

View File

@@ -13,41 +13,41 @@ foreach($asRssFeed as $asRssItem)
switch($asRssItem['action']) switch($asRssItem['action'])
{ {
case 'CREATE': case 'CREATE':
$sTitle .= 'Cr<EFBFBD>ation '; $sTitle .= 'Création ';
switch($asRssItem['type']) switch($asRssItem['type'])
{ {
case 'database': case 'database':
$sTitle .= 'd\'une nouvelle sauvegarde'; $sTitle .= 'd\'une nouvelle sauvegarde';
$sDesc = 'Une nouvelle sauvegarde de la base de donn<EFBFBD>es "'.$asRssItem['source'].'" a <EFBFBD>t<EFBFBD> cr<EFBFBD><EFBFBD>e. $sDesc = 'Une nouvelle sauvegarde de la base de données "'.$asRssItem['source'].'" a été créée.
Chemin : '.$asRssItem['old_value']; Chemin : '.$asRssItem['old_value'];
break; break;
case QCM_TABLE: case QCM_TABLE:
$sTitle .= 'd\'un QCM'; $sTitle .= 'd\'un QCM';
$sDesc = 'Le QCM nomm<EFBFBD> "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> cr<EFBFBD><EFBFBD>'; $sDesc = 'Le QCM nommé "'.$asRssItem['old_value'].'" a été créé';
break; break;
case QUESTION_TABLE: case QUESTION_TABLE:
$sTitle .= 'd\'une question'; $sTitle .= 'd\'une question';
$sDesc = 'La question "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> cr<EFBFBD><EFBFBD>'; $sDesc = 'La question "'.$asRssItem['old_value'].'" a été créé';
break; break;
case 'image': case 'image':
$sTitle .= 'd\'une image'; $sTitle .= 'd\'une image';
$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> ajout<EFBFBD>'; $sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été ajouté';
break; break;
case ANSWER_TABLE: case ANSWER_TABLE:
$sTitle .= 'd\'une proposition de r<EFBFBD>ponse'; $sTitle .= 'd\'une proposition de réponse';
$sDesc = 'La proposition de r<EFBFBD>ponse "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> cr<EFBFBD><EFBFBD>'; $sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été créé';
break; break;
case RESULT_TABLE: case RESULT_TABLE:
$sTitle .= 'd\'un r<EFBFBD>sultat de qcm'; $sTitle .= 'd\'un résultat de qcm';
$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['source']).'" a r<EFBFBD>pondu au qcm "'.$asRssItem['old_value'].'"'; $sDesc = 'L\'utilisateur "'.ucwords($asRssItem['source']).'" a répondu au qcm "'.$asRssItem['old_value'].'"';
break; break;
case USER_TABLE: case USER_TABLE:
$sTitle .= 'd\'un compte utilisateur'; $sTitle .= 'd\'un compte utilisateur';
$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est enregistr<EFBFBD>'; $sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est enregistré';
break; break;
case CHANGELOG_TABLE: case CHANGELOG_TABLE:
$sTitle .= 'd\'un changelog'; $sTitle .= 'd\'un changelog';
$sDesc = 'La modification n<EFBFBD>'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> ajout<EFBFBD>'; $sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été ajouté';
break; break;
} }
break; break;
@@ -57,31 +57,31 @@ foreach($asRssFeed as $asRssItem)
{ {
case USER_TABLE.'_name': case USER_TABLE.'_name':
$sTitle .= 'du nom d\'un utilisateur'; $sTitle .= 'du nom d\'un utilisateur';
$sDesc = 'l\'utilisateur "'.ucwords($asRssItem['old_value']).'" est dor<EFBFBD>navant nomm<EFBFBD> '.$asRssItem['new_value']; $sDesc = 'l\'utilisateur "'.ucwords($asRssItem['old_value']).'" est dorénavant nommé '.$asRssItem['new_value'];
break; break;
case USER_TABLE.'_class': case USER_TABLE.'_class':
$sTitle .= 'de la classe d\'un utilisateur '; $sTitle .= 'de la classe d\'un utilisateur ';
$sDesc = 'l\'utilisateur "'.ucwords($asRssItem['source']).'" est pass<EFBFBD> de la classe '.$asRssItem['old_value'].' <EFBFBD> la classe '.$asRssItem['new_value']; $sDesc = 'l\'utilisateur "'.ucwords($asRssItem['source']).'" est passé de la classe '.$asRssItem['old_value'].' à la classe '.$asRssItem['new_value'];
break; break;
case QCM_TABLE: case QCM_TABLE:
$sTitle .= 'd\'un QCM'; $sTitle .= 'd\'un QCM';
$sDesc = 'Le QCM nomm<EFBFBD> "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> modifi<EFBFBD>'; $sDesc = 'Le QCM nommé "'.$asRssItem['old_value'].'" a été modifié';
break; break;
case QUESTION_TABLE: case QUESTION_TABLE:
$sTitle .= 'd\'une question'; $sTitle .= 'd\'une question';
$sDesc = 'La question "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> modifi<EFBFBD>e'; $sDesc = 'La question "'.$asRssItem['old_value'].'" a été modifiée';
break; break;
case 'image': case 'image':
$sTitle .= 'd\'une image'; $sTitle .= 'd\'une image';
$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> modifi<EFBFBD>'; $sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été modifié';
break; break;
case ANSWER_TABLE: case ANSWER_TABLE:
$sTitle .= 'd\'une proposition de r<EFBFBD>ponse'; $sTitle .= 'd\'une proposition de réponse';
$sDesc = 'La proposition de r<EFBFBD>ponse "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> modif<EFBFBD>'; $sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été modifé';
break; break;
case CHANGELOG_TABLE: case CHANGELOG_TABLE:
$sTitle .= 'd\'un changelog'; $sTitle .= 'd\'un changelog';
$sDesc = 'La modification n<EFBFBD>'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> modifi<EFBFBD>e. $sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été modifiée.
Nouvelle modification : "'.$asRssItem['new_value'].'"'; Nouvelle modification : "'.$asRssItem['new_value'].'"';
break; break;
} }
@@ -92,25 +92,25 @@ foreach($asRssFeed as $asRssItem)
{ {
case QCM_TABLE: case QCM_TABLE:
$sTitle .= 'd\'un qcm'; $sTitle .= 'd\'un qcm';
$sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> activ<EFBFBD>'; $sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a été activé';
break; break;
case CHANGELOG_TABLE: case CHANGELOG_TABLE:
$sTitle .= 'd\'un changelog'; $sTitle .= 'd\'un changelog';
$sDesc = 'La modification n<EFBFBD>'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est achev<EFBFBD>'; $sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est achevé';
break; break;
} }
break; break;
case 'DESACTIVATE': case 'DESACTIVATE':
$sTitle .= 'D<EFBFBD>sactivation '; $sTitle .= 'Désactivation ';
switch($asRssItem['type']) switch($asRssItem['type'])
{ {
case QCM_TABLE: case QCM_TABLE:
$sTitle .= 'd\'un qcm'; $sTitle .= 'd\'un qcm';
$sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> d<EFBFBD>sactiv<EFBFBD>'; $sDesc = 'Le qcm "'.$asRssItem['old_value'].'" a été désactivé';
break; break;
case CHANGELOG_TABLE: case CHANGELOG_TABLE:
$sTitle .= 'd\'un changelog'; $sTitle .= 'd\'un changelog';
$sDesc = 'La modification n<EFBFBD>'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est pass<EFBFBD> en mode "non achev<EFBFBD>"'; $sDesc = 'La modification '.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" est passé en mode "non achevé"';
break; break;
} }
break; break;
@@ -120,54 +120,54 @@ foreach($asRssFeed as $asRssItem)
{ {
case USER_TABLE: case USER_TABLE:
$sTitle .= 'd\'un utilisateur'; $sTitle .= 'd\'un utilisateur';
$sDesc = 'Le compte de l\'utilisateur "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>'; $sDesc = 'Le compte de l\'utilisateur "'.$asRssItem['old_value'].'" a été supprimé';
break; break;
case QCM_TABLE: case QCM_TABLE:
$sTitle .= 'd\'un qcm '; $sTitle .= 'd\'un qcm ';
$sDesc = 'Le qcm intitul<EFBFBD> "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>'; $sDesc = 'Le qcm intitulé "'.$asRssItem['old_value'].'" a été supprimé';
break; break;
case QUESTION_TABLE: case QUESTION_TABLE:
$sTitle .= 'd\'une question'; $sTitle .= 'd\'une question';
$sDesc = 'La question "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>e'; $sDesc = 'La question "'.$asRssItem['old_value'].'" a été supprimée';
break; break;
case 'image': case 'image':
$sTitle .= 'd\'une image'; $sTitle .= 'd\'une image';
$sDesc = 'L\'image "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>e'; $sDesc = 'L\'image "'.$asRssItem['old_value'].'" a été supprimée';
break; break;
case ANSWER_TABLE: case ANSWER_TABLE:
$sTitle .= 'd\'une proposition de r<EFBFBD>ponse'; $sTitle .= 'd\'une proposition de réponse';
$sDesc = 'La proposition de r<EFBFBD>ponse "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>e'; $sDesc = 'La proposition de réponse "'.$asRssItem['old_value'].'" a été supprimée';
break; break;
case CHANGELOG_TABLE: case CHANGELOG_TABLE:
$sTitle .= 'd\'un changelog'; $sTitle .= 'd\'un changelog';
$sDesc = 'La modification n<EFBFBD>'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> abandonn<EFBFBD>'; $sDesc = 'La modification né'.$asRssItem['source'].'. "'.$asRssItem['old_value'].'" a été abandonné';
break; break;
} }
break; break;
case 'RESET': case 'RESET':
$sTitle .= 'R<EFBFBD>initialisation de la base de donn<EFBFBD>es '; $sTitle .= 'Réinitialisation de la base de données ';
$sDesc = 'La base de donn<EFBFBD>es "'.$asRssItem['source'].'" a <EFBFBD>t<EFBFBD> supprim<EFBFBD>e et r<EFBFBD>install<EFBFBD>e'; $sDesc = 'La base de données "'.$asRssItem['source'].'" a été supprimée et réinstallée';
break; break;
case 'RESTORE': case 'RESTORE':
$sTitle .= 'Restauration de la base de donn<EFBFBD>es '; $sTitle .= 'Restauration de la base de données ';
$sDesc = 'La base de donn<EFBFBD>es "'.$asRssItem['old_value'].'" a <EFBFBD>t<EFBFBD> restaur<EFBFBD>e'; $sDesc = 'La base de données "'.$asRssItem['old_value'].'" a été restaurée';
break; break;
case 'UPLOAD': case 'UPLOAD':
$sTitle .= 'Upload d\'une base de donn<EFBFBD>es '; $sTitle .= 'Upload d\'une base de données ';
$sDesc = 'La base de donn<EFBFBD>es "'.$asRssItem['old_value'].'" '; $sDesc = 'La base de données "'.$asRssItem['old_value'].'" ';
switch($asRssItem['type']) switch($asRssItem['type'])
{ {
case 'file': case 'file':
$sDesc .= 'a <EFBFBD>t<EFBFBD> upload<EFBFBD>'; $sDesc .= 'a été uploadé';
break; break;
case 'sync': case 'sync':
$sDesc = 'a <EFBFBD>t<EFBFBD> synchronis<EFBFBD>e avec le site '.$asRssItem['source']; $sDesc = 'a été synchronisée avec le site '.$asRssItem['source'];
break; break;
} }
break; break;
case 'CONNECT': case 'CONNECT':
$sTitle .= 'Connexion d\'un utilisateur'; $sTitle .= 'Connexion d\'un utilisateur';
$sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est connect<EFBFBD>'; $sDesc = 'L\'utilisateur "'.ucwords($asRssItem['old_value']).'" s\'est connecté';
break; break;
} }
$sAuthor = str_replace(' ', '.', strtolower($asRssItem['author'])).'@'.DOMAIN.' ('.ucwords($asRssItem['author']).')'; $sAuthor = str_replace(' ', '.', strtolower($asRssItem['author'])).'@'.DOMAIN.' ('.ucwords($asRssItem['author']).')';
@@ -208,10 +208,10 @@ function getFeedDesc($sAction, $sType)
$sPubDate = date('r', strtotime(getUniqueValue("SELECT /* ".basename(__FILE__)." ".__LINE__." */ MAX(led) FROM ".FEED_TABLE))); $sPubDate = date('r', strtotime(getUniqueValue("SELECT /* ".basename(__FILE__)." ".__LINE__." */ MAX(led) FROM ".FEED_TABLE)));
//feed header //feed header
$sRssFeed = '<?xml version="1.0" encoding="ISO-8859-1" ?>'; $sRssFeed = '<?xml version="1.0" encoding="UTF-8" ?>';
$sRssFeedHeader = getHtml('QcmMaker Rss Feed', 'title'); $sRssFeedHeader = getHtml('QcmMaker Rss Feed', 'title');
$sRssFeedHeader .= getHtml($sRssFeedUrl, 'link'); $sRssFeedHeader .= getHtml($sRssFeedUrl, 'link');
$sRssFeedHeader .= getHtml('Copyright (C) '.date('Y').' Fran<EFBFBD>ois Lutran', 'copyright'); $sRssFeedHeader .= getHtml('Copyright (C) '.date('Y').' François Lutran', 'copyright');
$sRssFeedHeader .= getHtml('Users Activity', 'description'); $sRssFeedHeader .= getHtml('Users Activity', 'description');
$sRssFeedHeader .= getHtml('', 'atom:link', '', '', array('href'=>$sRssFeedUrl, 'rel'=>'self', 'type'=>'application/atom+xml'), true); $sRssFeedHeader .= getHtml('', 'atom:link', '', '', array('href'=>$sRssFeedUrl, 'rel'=>'self', 'type'=>'application/atom+xml'), true);
$sRssFeedHeader .= getHtml('fr', 'language'); $sRssFeedHeader .= getHtml('fr', 'language');