[Devel] r280 - branches/dui
svn at agendadulibre.org
svn at agendadulibre.org
Dim 1 Juil 20:53:46 CEST 2007
Author: ldayot
Date: Sun Jul 1 20:53:44 2007
New Revision: 280
Log:
Controle de l'intitule des tags (carateres non accentues, tirets, chiffres seulement).
Changement des accents en leur code HTML.
Changement de "tag" en "mot-cle".
Modified:
branches/dui/moderatetags.php
Modified: branches/dui/moderatetags.php
==============================================================================
--- branches/dui/moderatetags.php (original)
+++ branches/dui/moderatetags.php Sun Jul 1 20:53:44 2007
@@ -1,6 +1,6 @@
<?php
/* Copyright 2004-2007
- * - Mélanie Bats <melanie POINT bats CHEZ utbm POINT fr>
+ * - Melanie Bats <melanie POINT bats CHEZ utbm POINT fr>
* - Thomas Petazzoni <thomas POINT petazzoni CHEZ enix POINT org>
* - Loic Dayot <ldayot CHEZ ouvaton POINT org>
*
@@ -29,7 +29,7 @@
$db = new db();
include("session.inc.php");
-put_header(_("Gestion des tags"));
+put_header(_("Gestion des mots-clé"));
function tagCategoryListHTML()
@@ -41,7 +41,7 @@
$catQuery = "SELECT COUNT(*) as n FROM tags WHERE category_id=0 GROUP BY category_id";
$catResult = $db->query($catQuery);
while ($catRecord = $db->fetchObject($catResult))
- $return .= " <li><a href='moderatetags.php?op=catListTag&id=0' title=\"". sprintf(_("Liste des tags de la catégorie %s"), _("sans catégorie")). "\">". sprintf(_("%03s tags"), $catRecord->n). "</a> <strong>". _("sans catégorie"). "</strong></li>\n";
+ $return .= " <li><a href='moderatetags.php?op=catListTag&id=0' title=\"". sprintf(_("Liste des mots-clé de la catégorie %s"), _("sans catégorie")). "\">". sprintf(_("%03s mots-clé"), $catRecord->n). "</a> <strong>". _("sans catégorie"). "</strong></li>\n";
$db->freeResult($catResult);
$catQuery = "SELECT COUNT(tags.id) as n, tags_categories.* FROM tags_categories LEFT JOIN tags ON tags_categories.id=category_id GROUP BY tags_categories.id ORDER BY tags_categories.name";
@@ -49,15 +49,16 @@
while ($catRecord = $db->fetchObject($catResult))
{
- $return .= " <li><a href='moderatetags.php?op=catListTag&id={$catRecord->id}' title=\"". sprintf(_("Liste des tags de la catégorie %s"), $catRecord->name). "\">". sprintf(_("%03s tags"), $catRecord->n). "</a> <strong>{$catRecord->name}</strong> <sapn class='description'>{$catRecord->description}</span>";
- if ($catRecord->id>0) $return .= " - <a href='moderatetags.php?op=catEdit&id={$catRecord->id}' title=\"". sprintf(_("Modifier la catégorie %s"), $catRecord->name). "\">". _("Modifier"). "</a>";
- if ($catRecord->n==0) $return .= " - <a href='moderatetags.php?op=catDel&id={$catRecord->id}' title=\"". sprintf(_("Supprimer la catégorie %s"), $catRecord->name). "\">". _("Supprimer"). "</a>";
+ $return .= " <li><a href='moderatetags.php?op=catListTag&id={$catRecord->id}' title=\"". sprintf(_("Liste des tags de la catégorie %s"), $catRecord->name). "\">". sprintf(_("%03s mots-clé"), $catRecord->n). "</a> <strong>{$catRecord->name}</strong> <sapn class='description'>{$catRecord->description}</span>";
+ if ($catRecord->id>0) $return .= " - <a href='moderatetags.php?op=catEdit&id={$catRecord->id}' title=\"". sprintf(_("Modifier la catégorie %s"), $catRecord->name). "\">". _("Modifier"). "</a>";
+ if ($catRecord->n==0) $return .= " - <a href='moderatetags.php?op=catDel&id={$catRecord->id}' title=\"". sprintf(_("Supprimer la catégorie %s"), $catRecord->name). "\">". _("Supprimer"). "</a>";
$return .= "</li>\n";
}
$db->freeResult($catResult);
- $return .= "<li><a href='moderatetags.php?op=catNew'>". _("Nouvelle catégorie de tags"). "</a></li>\n";
+ $return .= "<li><a href='moderatetags.php?op=catNew'>".
+ _("Nouvelle catégorie de mots-clé"). "</a></li>\n";
$return .= "</ul>\n";
@@ -94,8 +95,8 @@
} // end else
$return .= "<table>";
- $return .= "<tr><th colspan='2'>". _("Édition d'une catégorie de tags"). "</th></tr>\n";
- $return .= "<tr><th>". _("Intitulé*"). "</th> <td><input type=\"text\" name=\"tagCat[name]\" value=\"{$tagCat['name']}\" size='40' /></td></tr>\n";
+ $return .= "<tr><th colspan='2'>". _("Édition d'une catégorie de mots-clé"). "</th></tr>\n";
+ $return .= "<tr><th>". _("Intitulé*"). "</th> <td><input type=\"text\" name=\"tagCat[name]\" value=\"{$tagCat['name']}\" size='40' /></td></tr>\n";
$return .= "<tr><th>". _("Description"). "</th> <td><textarea name=\"tagCat[description]\" rows=\"4\" cols=\"70\">{$tagCat['description']}</textarea></td></tr>\n";
$return .= "<tr><th colspan='2'><input type=\"submit\" name=\"submit\" value=\"". _("Valider"). "\" /></th></tr>\n";
@@ -113,9 +114,13 @@
return error(_("Ne venant pas du formulaire"));
$tagCat = $_POST["tagCat"];
if (!is_array($tagCat) || !isset($tagCat["name"], $tagCat["description"]))
- return error(_("Ne venant pas du bon formulaire"));;
+ return error(_("Ne venant pas du bon formulaire"));
if (strlen($tagCat["name"])<4)
- return error(_("Intitulé indispensable d'au moins 4 caractères"));
+ return error(_("Intitulé indispensable d'au moins 4 caractères"));
+
+ if (! ereg("^[a-z0-9\-]*$", $tagCat))
+ return error("L'intitulé ne doit contenir que des lettres minuscules, ".
+ "des chiffres ou des tirets.");
$tagCat["name"] = stripslashes(strip_tags($tagCat["name"]));
$tagCat["description"] = stripslashes(strip_tags($tagCat["description"], "<p><b><i><br/><a><ul><li><ol>"));
@@ -124,7 +129,7 @@
$res = $db->query("SELECT * FROM tags_categories WHERE name LIKE ". $db->quote_smart($tagCat['name']). ($id>0 ? " AND id<>$id" : ""));
if ($db->fetchObject($res))
{ // tag already exists
- return error(sprintf(_("La catégorie de tags %s existe déjà"), $tagCat["name"]));
+ return error(sprintf(_("La catégorie de mots-clé %s existe déjà"), $tagCat["name"]));
}
$query = "tags_categories SET name=". $db->quote_smart($tagCat['name']). ", description=". $db->quote_smart($tagCat['description']);
@@ -137,18 +142,18 @@
function catDelConfirmFormHTML($id)
{
- if ($id==0) return error(_("Catégorie de tags non sélectionné"));
+ if ($id==0) return error(_("Catégorie de mots-clé non sélectionné"));
global $db;
$res = $db->query("SELECT * FROM tags_categories WHERE id='{$id}'");
- if (! $cat = $db->fetchArray($res)) return error(_("Catégorie de tags introuvable"));
+ if (! $cat = $db->fetchArray($res)) return error(_("Catégorie de mots-clé introuvable"));
$db->freeResult($res);
$return = "<form action=\"moderatetags.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"tagCategoryForm\">\n";
$return .= "<input type=\"hidden\" name=\"op\" value=\"catDelete\" />\n";
$return .= "<input type=\"hidden\" name=\"id\" value=\"{$cat['id']}\" />\n";
- $return .= "<p>". sprintf(_("Vous êtes sur le point de supprimer la catégorie de tags %s"), "<strong>{$cat['name']}</strong>"). "</p>\n";
+ $return .= "<p>". sprintf(_("Vous êtes sur le point de supprimer la catégorie de mots-clé %s"), "<strong>{$cat['name']}</strong>"). "</p>\n";
$return .= "<p><label for=\"confirm\">". _("Confirmer la suppression"). "<input type=\"checkbox\" id=\"confirm\" name=\"confirm\" value=\"yes\" /></label></p>";
$return .= "<p><input type=\"submit\" name=\"submit\" value=\"". _("Valider"). "\" /></p>\n";
@@ -164,7 +169,7 @@
if (!isset($_POST["id"]))
return error(_("Ne venant pas du bon formulaire"));;
if (!isset($_POST["confirm"]) || $_POST["confirm"]!="yes")
- return error(_("Supression non confirmée"));
+ return error(_("Supression non confirmée"));
// Find cat
$res = $db->query("SELECT * FROM tags_categories WHERE id=". $db->quote_smart($_POST['id']));
@@ -179,14 +184,14 @@
if ($db->fetchObject($res))
{ // tag already exists
$db->freeresult($res);
- return error(sprintf(_("La catégories %s comporte des tags"), $cat["name"]));
+ return error(sprintf(_("La catégories %s comporte des mots-clé"), $cat["name"]));
}
$query = "DELETE FROM tags_categories WHERE id=". $db->quote_smart($cat['id']);
if ($ok = $db->query($query))
- echo "<p>". _("Catégorie de tags supprimée")."</p>\n";
+ echo "<p>". _("Catégorie de mots-clé supprimée")."</p>\n";
else
- error(_("Impossible de supprimer la catégorie de tags"));
+ error(_("Impossible de supprimer la catégorie de mots-clé"));
return $ok;
} // end function catDelete()
@@ -204,7 +209,7 @@
}
else
{
- $return ="<h3>". _("Sans catégorie"). "</h3>\n";
+ $return ="<h3>". _("Sans catégorie"). "</h3>\n";
}
$return .= "<ul>\n";
@@ -212,20 +217,29 @@
$res = $db->query("SELECT tags.*, COUNT(event_id) AS n FROM tags LEFT JOIN tags_events ON tags.id=tag_id WHERE category_id='{$id}' GROUP BY tags.id ORDER BY tags.name");
while ($tag = $db->fetchObject($res))
{
- $return .= " <li>". sprintf("%03s", $tag->n). " <a href=\"listevents.php?tag={$tag->name}\" title=\"". sprintf(_("Liste des événements portant le tag %s"), $tag->name). "\">{$tag->name}</a> <span class='description'>{$tag->description}</span>";
- $return .= " - <a href='moderatetags.php?op=tagEdit&id={$tag->id}' title=\"". sprintf(_("Modifier le tag %s"), $tag->name). "\">". _("Modifier"). "</a>";
+ $return .= " <li>". sprintf("%03s", $tag->n).
+ " <a href=\"listevents.php?tag={$tag->name}\" title=\"".
+ sprintf(_("Liste des événements portant le mot-clé %s"), $tag->name).
+ "\">{$tag->name}</a> <span class='description'>{$tag->description}</span>";
+ $return .= " - <a href='moderatetags.php?op=tagEdit&id={$tag->id}' title=\"".
+ sprintf(_("Modifier le mot-clé %s"), $tag->name). "\">". _("Modifier"). "</a>";
if ($tag->n==0)
- $return .= " - <a href='moderatetags.php?op=tagDel&id={$tag->id}' title=\"". sprintf(_("Supprimer le tag %s"), $tag->name). "\">". _("Supprimer"). "</a>";
+ $return .= " - <a href='moderatetags.php?op=tagDel&id={$tag->id}' title=\"".
+ sprintf(_("Supprimer le mot-clé %s"), $tag->name). "\">". _("Supprimer"). "</a>";
else
- $return .= " - <a href='moderatetags.php?op=tagTr&id={$tag->id}' title=\"". sprintf(_("Transférer le tag %s vers un autre tag"), $tag->name). "\">". _("Transférer"). "</a>";
+ $return .= " - <a href='moderatetags.php?op=tagTr&id={$tag->id}' title=\"".
+ sprintf(_("Transférer le mot-clé %s vers un autre mot-clé"), $tag->name).
+ "\">". _("Transférer"). "</a>";
$return .= "</li>\n";
} // end while
- if ($id>0) $return .= "<li><a href='moderatetags.php?op=tagNew&id={$tagCat->id}' title=\"". sprintf(_("Nouveau tag dans la catégorie %s"), $tagCat->name). "\">". _("Nouveau tag"). "</a></li>";
+ if ($id>0) $return .= "<li><a href='moderatetags.php?op=tagNew&id=".
+ "{$tagCat->id}' title=\"". sprintf(_("Nouveau mot-clé dans la catégorie %s"),
+ $tagCat->name). "\">". _("Nouveau mot-clé"). "</a></li>";
$return .= "</ul>\n";
- if ($id>0) $return .= "<a href='moderatetags.php?op=catEdit&id={$tagCat->id}' title=\"". sprintf(_("Modifier la catégorie %s"), $tagCat->name). "\">". _("Modifier"). "</a>";
- if ($db->numRows($res)==0) $return .= " - <a href='moderatetags.php?op=catDel&id={$tagCat->id}' title=\"". sprintf(_("Supprimer la catégorie %s"), $tagCat->name). "\">". _("Supprimer"). "</a>";
+ if ($id>0) $return .= "<a href='moderatetags.php?op=catEdit&id={$tagCat->id}' title=\"". sprintf(_("Modifier la catégorie %s"), $tagCat->name). "\">". _("Modifier"). "</a>";
+ if ($db->numRows($res)==0) $return .= " - <a href='moderatetags.php?op=catDel&id={$tagCat->id}' title=\"". sprintf(_("Supprimer la catégorie %s"), $tagCat->name). "\">". _("Supprimer"). "</a>";
$db->freeResult($res);
@@ -242,7 +256,7 @@
$ret = $db->query ("SELECT * FROM tags_categories");
if ($ret == FALSE)
{
- error ("Erreur lors de la recherche des catégories de tags");
+ error ("Erreur lors de la recherche des catégories de mots-clé");
put_footer();
exit;
}
@@ -285,9 +299,9 @@
} // end else
$return .= "<table>";
- $return .= "<tr><th colspan='2'>". _("Édition d'un tag"). "</th></tr>\n";
- $return .= "<tr><th>". _("Intitulé*"). "</th> <td><input type=\"text\" name=\"tag[name]\" value=\"{$tag['name']}\" size='40' /></td></tr>\n";
- $return .= "<tr><th>". _("Catégorie*"). "</th> <td>". selectTagCategoryHTML($tag['category_id'], "tag[category_id]"). "</td></tr>\n";
+ $return .= "<tr><th colspan='2'>". _("Édition d'un mot-clé"). "</th></tr>\n";
+ $return .= "<tr><th>". _("Intitulé*"). "</th> <td><input type=\"text\" name=\"tag[name]\" value=\"{$tag['name']}\" size='40' /></td></tr>\n";
+ $return .= "<tr><th>". _("Catégorie*"). "</th> <td>". selectTagCategoryHTML($tag['category_id'], "tag[category_id]"). "</td></tr>\n";
$return .= "<tr><th>". _("Description"). "</th> <td><textarea name=\"tag[description]\" rows=\"4\" cols=\"70\">{$tag['description']}</textarea></td></tr>\n";
$return .= "<tr><th colspan='2'><input type=\"submit\" name=\"submit\" value=\"". _("Valider"). "\" /></th></tr>\n";
@@ -306,7 +320,10 @@
if (!is_array($tag) || !isset($tag["name"], $tag["category_id"], $tag["description"]))
return error(_("Ne venant pas du bon formulaire"));;
if (strlen($tag["name"])<4)
- return error(_("Intitulé indispensable d'au moins 4 caractères"));
+ return error(_("Intitulé indispensable d'au moins 4 caractères"));
+ if (! ereg("^[a-z0-9\-]*$", $tag["name"]))
+ return error("L'intitulé ne doit contenir que des lettres minuscules, ".
+ "des chiffres ou des tirets.");
$tagCat["name"] = stripslashes(strip_tags($tag["name"]));
$tagCat["description"] = stripslashes(strip_tags($tag["description"], "<p><b><i><br/><a><ul><li><ol>"));
@@ -315,7 +332,7 @@
$res = $db->query("SELECT * FROM tags WHERE name LIKE ". $db->quote_smart($tag['name']). ($id>0 ? " AND id<>$id" : ""));
if ($db->fetchObject($res))
{ // tag already exists
- return error(sprintf(_("Le tag %s existe déjà"), $tag["name"]));
+ return error(sprintf(_("Le mot-clé %s existe déjà"), $tag["name"]));
}
$query = "tags SET name=". $db->quote_smart($tag['name']). ", category_id=". $db->quote_smart($tag['category_id']). ", description=". $db->quote_smart($tag['description']);
@@ -328,11 +345,11 @@
function tagDelConfirmFormHTML($id)
{
- if ($id==0) return error(_("Tag non sélectionné"));
+ if ($id==0) return error(_("Mot-clé non sélectionné"));
global $db;
$res = $db->query("SELECT * FROM tags WHERE id='{$id}'");
- if (! $tag = $db->fetchArray($res)) return error(_("Tag introuvable"));
+ if (! $tag = $db->fetchArray($res)) return error(_("Mot-clé introuvable"));
$db->freeResult($res);
$return = "<form action=\"moderatetags.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"tagDelConfirmForm\">\n";
@@ -340,7 +357,8 @@
$return .= "<input type=\"hidden\" name=\"id\" value=\"{$tag['id']}\" />\n";
$return .= "<input type=\"hidden\" name=\"category_id\" value=\"{$tag['category_id']}\" />\n";
- $return .= "<p>". sprintf(_("Vous êtes sur le point de supprimer le tag %s"), "<strong>{$tag['name']}</strong>"). "</p>\n";
+ $return .= "<p>". sprintf(_("Vous êtes sur le point de supprimer le mot-clé %s"),
+ "<strong>{$tag['name']}</strong>"). "</p>\n";
$return .= "<p><label for=\"confirm\">". _("Confirmer la suppression"). "<input type=\"checkbox\" id=\"confirm\" name=\"confirm\" value=\"yes\" /></label></p>";
$return .= "<p><input type=\"submit\" name=\"submit\" value=\"". _("Valider"). "\" /></p>\n";
@@ -356,7 +374,7 @@
if (!isset($_POST["id"], $_POST["category_id"]))
return error(_("Ne venant pas du bon formulaire"));;
if (!isset($_POST["confirm"]) || $_POST["confirm"]!="yes")
- return error(_("Supression non confirmée"));
+ return error(_("Supression non confirmée"));
// Find tag
$res = $db->query("SELECT * FROM tags WHERE id=". $db->quote_smart($_POST['id']));
@@ -371,14 +389,14 @@
if ($db->fetchObject($res))
{ // tag already exists
$db->freeresult($res);
- return error(sprintf(_("Le tag %s est utilisé"), $tag["name"]));
+ return error(sprintf(_("Le mot-clé %s est utilisé"), $tag["name"]));
}
$query = "DELETE FROM tags WHERE id=". $db->quote_smart($tag['id']);
if ($ok = $db->query($query))
- echo "<p>". _("Tag supprimé")."</p>\n";
+ echo "<p>". _("Mot-clé supprimé")."</p>\n";
else
- error(_("Impossible de supprimer le tag"));
+ error(_("Impossible de supprimer le mot-clé"));
return $ok;
}
@@ -394,7 +412,7 @@
$ret = $db->query ("SELECT tags.id AS id, tags.name AS tag, tags.description AS tag_description, tags_categories.id AS category_id, tags_categories.name AS category, tags_categories.description as description FROM tags LEFT JOIN tags_categories ON tags_categories.id=category_id GROUP BY category_id, tags.id ORDER BY tags_categories.name, tags.name");
if ($ret == FALSE)
{
- error (_("Erreur lors de la recherche des tags"));
+ error (_("Erreur lors de la recherche des mots-clé"));
put_footer();
exit;
}
@@ -419,13 +437,13 @@
function tagTransferFormHTML($id)
{
- if ($id==0) return error(_("Tag non sélectionné"));
+ if ($id==0) return error(_("Mot-clé non sélectionné"));
global $db;
// find tag
$res = $db->query("SELECT * FROM tags WHERE id='{$id}'");
- if (! $tag = $db->fetchArray($res)) return error(_("Tag introuvable"));
+ if (! $tag = $db->fetchArray($res)) return error(_("Mot-clé introuvable"));
$db->freeResult($res);
// How many events with this tag
@@ -438,9 +456,9 @@
$return .= "<input type=\"hidden\" name=\"id\" value=\"{$tag['id']}\" />\n";
$return .= "<input type=\"hidden\" name=\"category_id\" value=\"{$tag['category_id']}\" />\n";
- $return .= "<p>". sprintf(_("Vous souhaitez retirer le tag %s des %s événements"), $tag['name'], $tagevent);
+ $return .= "<p>". sprintf(_("Vous souhaitez retirer le mot-clé %s des %s événements"), $tag['name'], $tagevent);
- $return .= "<br />". _("et les marquer avec le nouveau tag*"). " ". selectTagHTML($id, "tag_id"). "</p>\n";
+ $return .= "<br />". _("et les marquer avec le nouveau mot-clé*"). " ". selectTagHTML($id, "tag_id"). "</p>\n";
$return .= "<p><label for=\"confirm\">". _("Confirmer le transfert"). "<input type=\"checkbox\" id=\"confirm\" name=\"confirm\" value=\"yes\" /></label></p>";
@@ -455,18 +473,18 @@
// and mark with $id_to tag
function tagTransfer($id_from, $id_to)
{
- if ($id_from==0 || $id_to==0) return error(_("Tag non sélectionné"));
+ if ($id_from==0 || $id_to==0) return error(_("Mot-clé non sélectionné"));
global $db;
// find from tag
$res = $db->query("SELECT * FROM tags WHERE id='{$id_from}'");
- if (! $tag_from = $db->fetchObject($res)) return error(_("Tag introuvable"));
+ if (! $tag_from = $db->fetchObject($res)) return error(_("Mot-clé introuvable"));
$db->freeResult($res);
// find to tag
$res = $db->query("SELECT * FROM tags WHERE id='{$id_to}'");
- if (! $tag_to = $db->fetchObject($res)) return error(_("Tag introuvable"));
+ if (! $tag_to = $db->fetchObject($res)) return error(_("Mot-clé introuvable"));
$db->freeResult($res);
// select events
@@ -619,7 +637,9 @@
} // end switch display
-if ($op!="" && $op!="catList") echo "<p><a href=\"moderatetags.php\">". _("Liste des catégories de tags"). "</a></p>\n";
+if ($op!="" && $op!="catList")
+ echo "<p><a href=\"moderatetags.php\">".
+ _("Liste des catégories de mots-clé"). "</a></p>\n";
put_footer();
Plus d'informations sur la liste de diffusion Devel