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 = ''; $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; ?>