Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 334 → Rev 335

/trunk/api/text/wiki_papyrus/Parse/Nouveaute.php
New file
0,0 → 1,47
<?php
// $Id: Nouveaute.php,v 1.1 2005-04-14 16:35:36 jpm Exp $
 
 
/**
*
* This class implements a Text_Wiki_Parse to find source text marked as
* an Interwiki link. See the regex for a detailed explanation of the
* text matching procedure; e.g., "InterWikiName:PageName".
*
* @author Paul M. Jones <pmjones@ciaweb.net>
*
* @package Text_Wiki
*
*/
class Text_Wiki_Parse_Nouveaute extends Text_Wiki_Parse {
var $regex = '/\{\{Nouveaute nombre="([1-9][0-9]*)"(?: type="(mineure|majeure)"|)(?: site="((?i:[,-]|\w|\s)+)"|)\}\}/';
/**
*
* Remplace l'action par une liste des dernières pages modifiées
* Les options sont:
*
* 'nombre' => le nombre de dernière page modifiée que l'on veut afficher
*
* @access public
*
* @param array &$matches The array of matches from parse().
*
* @return A delimited token to be used as a placeholder in
* the source text, plus any text priot to the match.
*
*/
function process(&$matches)
{
$options = array(
'nombre' => $matches[1],
'type' => $matches[2],
'site' => $matches[3]
);
return $this->wiki->addToken($this->rule, $options);
}
}
?>
/trunk/api/text/wiki_papyrus/Parse/Categorie.php
New file
0,0 → 1,45
<?php
// $Id: Categorie.php,v 1.1 2005-04-14 16:35:36 jpm Exp $
 
 
/**
*
* This class implements a Text_Wiki_Parse to find source text marked as
* an Interwiki link. See the regex for a detailed explanation of the
* text matching procedure; e.g., "InterWikiName:PageName".
*
* @author Paul M. Jones <pmjones@ciaweb.net>
*
* @package Text_Wiki
*
*/
class Text_Wiki_Parse_Categorie extends Text_Wiki_Parse {
var $regex = '/\{\{Categorie mots="((?i:[,-]|\w|\s)+)"\}\}/';
/**
*
* Remplace l'action par une liste des pages contenant les mots clés choisis
* Les options sont:
*
* 'mots' => les mots clés séparés par des virgules
*
* @access public
*
* @param array &$matches The array of matches from parse().
*
* @return A delimited token to be used as a placeholder in
* the source text, plus any text priot to the match.
*
*/
function process(&$matches)
{
$options = array(
'mots' => $matches[1]
);
return $this->wiki->addToken($this->rule, $options);
}
}
?>
/trunk/api/text/wiki_papyrus/Parse/Motcles.php
New file
0,0 → 1,45
<?php
// $Id: Motcles.php,v 1.1 2005-04-14 16:35:36 jpm Exp $
 
 
/**
*
* This class implements a Text_Wiki_Parse to find source text marked as
* an Interwiki link. See the regex for a detailed explanation of the
* text matching procedure; e.g., "InterWikiName:PageName".
*
* @author Paul M. Jones <pmjones@ciaweb.net>
*
* @package Text_Wiki
*
*/
class Text_Wiki_Parse_Motcles extends Text_Wiki_Parse {
var $regex = '/\{\{MotCles mots="((?i:[,-]|\w|\s)+)"\}\}/';
/**
*
* Remplace l'action par une liste des pages contenant les mots clés choisis
* Les options sont:
*
* 'mots' => les mots clés séparés par des virgules
*
* @access public
*
* @param array &$matches The array of matches from parse().
*
* @return A delimited token to be used as a placeholder in
* the source text, plus any text priot to the match.
*
*/
function process(&$matches)
{
$options = array(
'mots' => $matches[1]
);
return $this->wiki->addToken($this->rule, $options);
}
}
?>
/trunk/api/text/wiki_papyrus/Papyrus.class.php
21,7 → 21,7
// | along with Foobar; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
// +------------------------------------------------------------------------------------------------------+
// CVS : $Id: Papyrus.class.php,v 1.4 2005-01-20 19:39:39 jpm Exp $
// CVS : $Id: Papyrus.class.php,v 1.5 2005-04-14 16:35:42 jpm Exp $
/**
* Classe configurant le formatage pour Papyrus.
*
36,7 → 36,7
//Autres auteurs :
*@author Aucun
*@copyright Tela-Botanica 2000-2004
*@version $Revision: 1.4 $ $Date: 2005-01-20 19:39:39 $
*@version $Revision: 1.5 $ $Date: 2005-04-14 16:35:42 $
// +------------------------------------------------------------------------------------------------------+
*/
 
72,7 → 72,10
*
*/
var $rules = array(
'Inclure'// Action Inclure
'Inclure', // Action Inclure
'Motcles', // Action Motcles
'Categorie', // Action Categorie
'Nouveaute' // Action Nouveaute
);
/**
278,6 → 281,9
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.4 2005/01/20 19:39:39 jpm
* Correction bogue du à la fonction file_exists qui renvoie false pour les fichiers présent dans le dossier Pear /usr/local/lib/php/.
*
* Revision 1.3 2004/12/07 12:17:37 jpm
* Correction message d'erreur.
*
/trunk/api/text/wiki_papyrus/Render/Xhtml/Nouveaute.php
New file
0,0 → 1,173
<?php
 
class Text_Wiki_Render_Xhtml_Nouveaute extends Text_Wiki_Render {
/**
*
* Renders a token into text matching the requested format.
*
* @access public
*
* @param array $options The "options" portion of the token (second
* element).
*
* @return string The text rendered from the token options.
*
*/
function token($options)
{
// Initialisation des variables
$sortie = '';
$type = '';
$site = '';
$nombre = $options['nombre'];
// Récupération du type
if (isset($options['type'])) {
$type = $options['type'];
}
// Récupération du site
if (isset($options['site'])) {
$site = $options['site'];
}
$aso_info_menu = GEN_lireInfoMenuContenuDate($GLOBALS['_GEN_commun']['pear_db'], $type, $site);
// Formatage des infos en XHTML
$sortie .= '<ul class="page_liste">'."\n";
$i = 0;
foreach ($aso_info_menu as $menu_id => $un_menu) {
if ($i == $nombre) {
break;
}
// Création de l'url
$une_url =& new Pap_URL();
$une_url->setId($menu_id);
// Début affichage d'une entrée de la liste des pages modifiées
if ($un_menu->gmc_ce_type_modification = 1) {
$type_modif = 'mineure';
} elseif ($un_menu->gmc_ce_type_modification = 2) {
$type_modif = 'majeure';
}
$sortie .= '<li class="page_modification_'.$type_modif.'">'."\n";
// Affichage du titre
$sortie .= '<h2 class="page_titre"><a href="'.$une_url->getURL().'">';
if (!empty($un_menu->gm_titre)) {
$sortie .= $un_menu->gm_titre;
} elseif (!empty($un_menu->gm_titre_alternatif)) {
$sortie .= $un_menu->gm_titre_alternatif;
} else {
$sortie .= $un_menu->gm_nom;
}
$sortie .= '</a></h2>'."\n".'<dl>'."\n";
// Affichage de l'auteur(s)
if (!empty($un_menu->gm_auteur)) {
$sortie .= '<dt class="page_auteur"> Auteur(s)&nbsp;: '.'</dt>'."\n";
$sortie .= '<dd>'.$un_menu->gm_auteur.'</dd>'."\n";
}
// Affichage des contributeur(s)
if (!empty($un_menu->gm_contributeur)) {
$sortie .= '<dt class="page_contributeur"> Contributeur(s)&nbsp;: '.'</dt>'."\n";
$sortie .= '<dd>'.$un_menu->gm_contributeur.'</dd>'."\n";
}
// Affichage de la date de la modification de la page
$sortie .= '<dt class="page_modification_date"> '.'Modifié le&nbsp;: '.'</dt>'."\n";
$sortie .= '<dd>'."\n";
if (($jour = date('d', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
$sortie .= '<span class="page_modification_jour"> '.$jour.'</span>'."\n";
}
if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gmc_date_modification))) ) != '' ) {
$sortie .= '<span class="page_modification_mois"> '.$mois.'</span>'."\n";
}
if (($annee = date('Y', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
$sortie .= '<span class="page_modification_annee"> '.$annee.'</span>'."\n";
}
$sortie .= '<span class="page_separateur_date_heure"> - </span>'."\n";
// Affichage de l'horaire de la modification de la page
if (($heure = date('G', strtotime($un_menu->gmc_date_modification)) ) != 0 ) {
$sortie .= '<span class="page_modification_heure">'.$heure.'</span>';
$sortie .= '<span class="page_separateur_heure">:</span>';
$minute = date('i', strtotime($un_menu->gmc_date_modification));
$sortie .= '<span class="page_modification_minute">'.$minute.'</span>'."\n";
/*
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_separateur_heure">:</span>';
$sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
}
*/
}
$sortie .= '</dd>'."\n";
// Affichage de la description
if (!empty($un_menu->gm_description_libre)) {
$sortie .= '<dt class="page_description"> Description&nbsp;: '.'</dt>'."\n";
$sortie .= '<dd>'.$un_menu->gm_description_libre.'</dd>'."\n";
}
// Affichage du résumé de la modification
if (!empty($un_menu->gmc_resume_modification)) {
$sortie .= '<dt class="page_resumer_modification_'.$type_modif.'"> Résumer modification&nbsp;: '.'</dt>'."\n";
$sortie .= '<dd>'.$un_menu->gmc_resume_modification.'</dd>'."\n";
}
$sortie .= '</dl>'."\n";
$sortie .= '</li>'."\n";
$i++;
}
$sortie .= '</ul>'."\n";
return $sortie;
}
function _traduireMois($mois_numerique)
{
switch ($mois_numerique) {
case '01' :
return 'janvier';
break;
case '02' :
return 'février';
break;
case '03' :
return 'mars';
break;
case '04' :
return 'avril';
break;
case '05' :
return 'mai';
break;
case '06' :
return 'juin';
break;
case '07' :
return 'juillet';
break;
case '08' :
return 'août';
break;
case '09' :
return 'septembre';
break;
case '10' :
return 'octobre';
break;
case '11' :
return 'novembre';
break;
case '12' :
return 'décembre';
break;
default:
return '';
break;
}
}
}
?>
/trunk/api/text/wiki_papyrus/Render/Xhtml/Categorie.php
New file
0,0 → 1,129
<?php
 
class Text_Wiki_Render_Xhtml_Categorie extends Text_Wiki_Render {
/**
*
* Renders a token into text matching the requested format.
*
* @access public
*
* @param array $options The "options" portion of the token (second
* element).
*
* @return string The text rendered from the token options.
*
*/
function token($options)
{
// Initialisation des variables
$sortie = '';
if (isset($options['mots'])) {
$mots = $options['mots'];
} else {
return '<p>'.' Aucune catégorie passé en paramêtre! '.'</p>';
}
// Récupération des infos
$tab_mots = explode(',', $mots);
for ($i = 0; $i < count($tab_mots); $i++) {
// Suppression des espaces, tabulations... en début et fin de chaine
$tab_mots[$i] = trim($tab_mots[$i]);
}
$aso_info_menu = GEN_lireInfoMenuCategorie($GLOBALS['_GEN_commun']['pear_db'], $tab_mots);
// Formatage des infos en XHTML
$sortie .= '<ul class="page_liste">'."\n";
foreach ($aso_info_menu as $id_menu => $un_menu) {
// Création de l'url
$une_url =& new Pap_URL();
$une_url->setId($id_menu);
$sortie .= '<li>'."\n";
// Affichage de l'auteur(s)
$sortie .= '<span class="page_auteur"> '.$un_menu->gm_auteur.'</span>';
$sortie .= '<span class="page_separateur_auteur"> - </span>';
// Affichage du titre
$sortie .= '<a href="'.$une_url->getURL().'">';
$sortie .= '<span class="page_titre"> '.$un_menu->gm_titre.'</span>';
$sortie .= '</a>';
$sortie .= '<span class="page_separateur_titre"> - </span>';
// Affichage de l'horaire de la création de la page
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_heure">'.$heure.'</span>';
$sortie .= '<span class="page_separateur_heure">:</span>';
$minute = date('i', strtotime($un_menu->gm_date_creation));
$sortie .= '<span class="page_creation_minute">'.$minute.'</span>';
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_separateur_heure">:</span>';
$sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
}
}
$sortie .= '<span class="page_separateur_date_heure"> - </span>'."\n";
// Affichage de la date de la création de la page
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_jour"> '.$jour.'</span>';
}
if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) {
$sortie .= '<span class="page_creation_mois"> '.$mois.'</span>';
}
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_annee"> '.$annee.'</span>';
}
$sortie .= '</li>'."\n";
}
$sortie .= '</ul>'."\n";
return $sortie;
}
function _traduireMois($mois_numerique)
{
switch ($mois_numerique) {
case '01' :
return 'janvier';
break;
case '02' :
return 'février';
break;
case '03' :
return 'mars';
break;
case '04' :
return 'avril';
break;
case '05' :
return 'mai';
break;
case '06' :
return 'juin';
break;
case '07' :
return 'juillet';
break;
case '08' :
return 'août';
break;
case '09' :
return 'septembre';
break;
case '10' :
return 'octobre';
break;
case '11' :
return 'novembre';
break;
case '12' :
return 'décembre';
break;
default:
return '';
break;
}
}
}
?>
/trunk/api/text/wiki_papyrus/Render/Xhtml/Motcles.php
New file
0,0 → 1,129
<?php
 
class Text_Wiki_Render_Xhtml_Motcles extends Text_Wiki_Render {
/**
*
* Renders a token into text matching the requested format.
*
* @access public
*
* @param array $options The "options" portion of the token (second
* element).
*
* @return string The text rendered from the token options.
*
*/
function token($options)
{
// Initialisation des variables
$sortie = '';
if (isset($options['mots'])) {
$mots = $options['mots'];
} else {
return '<p>'.' Aucun mot-clés passé en paramêtre! '.'</p>';
}
// Récupération des infos
$tab_mots = explode(',', $mots);
for ($i = 0; $i < count($tab_mots); $i++) {
// Suppression des espaces, tabulations... en début et fin de chaine
$tab_mots[$i] = trim($tab_mots[$i]);
}
$aso_info_menu = GEN_lireInfoMenuMotsCles($GLOBALS['_GEN_commun']['pear_db'], $tab_mots);
// Formatage des infos en XHTML
$sortie .= '<ul class="page_liste">'."\n";
foreach ($aso_info_menu as $id_menu => $un_menu) {
// Création de l'url
$une_url =& new Pap_URL();
$une_url->setId($id_menu);
$sortie .= '<li>'."\n";
// Affichage de l'auteur(s)
$sortie .= '<span class="page_auteur"> '.$un_menu->gm_auteur.'</span>'."\n";
$sortie .= '<span class="page_separateur_auteur"> - </span>'."\n";
// Affichage du titre
$sortie .= '<a href="'.$une_url->getURL().'">';
$sortie .= '<span class="page_titre"> '.$un_menu->gm_titre.'</span>';
$sortie .= '</a>'."\n";
$sortie .= '<span class="page_separateur_titre"> - </span>'."\n";
// Affichage de l'horaire de la création de la page
if (($heure = date('G', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_heure">'.$heure.'</span>';
$sortie .= '<span class="page_separateur_heure">:</span>';
$minute = date('i', strtotime($un_menu->gm_date_creation));
$sortie .= '<span class="page_creation_minute">'.$minute.'</span>';
if (($seconde = date('s', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_separateur_heure">:</span>';
$sortie .= '<span class="page_creation_seconde">'.$seconde.'</span>';
}
}
$sortie .= "\n".'<span class="page_separateur_date_heure"> - </span>'."\n";
// Affichage de la date de la création de la page
if (($jour = date('d', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_jour"> '.$jour.'</span>'."\n";
}
if (($mois = $this->_traduireMois(date('m', strtotime($un_menu->gm_date_creation))) ) != '' ) {
$sortie .= '<span class="page_creation_mois"> '.$mois.'</span>'."\n";
}
if (($annee = date('Y', strtotime($un_menu->gm_date_creation)) ) != 0 ) {
$sortie .= '<span class="page_creation_annee"> '.$annee.'</span>'."\n";
}
$sortie .= '</li>'."\n";
}
$sortie .= '</ul>'."\n";
return $sortie;
}
function _traduireMois($mois_numerique)
{
switch ($mois_numerique) {
case '01' :
return 'janvier';
break;
case '02' :
return 'février';
break;
case '03' :
return 'mars';
break;
case '04' :
return 'avril';
break;
case '05' :
return 'mai';
break;
case '06' :
return 'juin';
break;
case '07' :
return 'juillet';
break;
case '08' :
return 'août';
break;
case '09' :
return 'septembre';
break;
case '10' :
return 'octobre';
break;
case '11' :
return 'novembre';
break;
case '12' :
return 'décembre';
break;
default:
return '';
break;
}
}
}
?>