Premiere chose à faire:
une sauvegarde de votre base de donnée.
une sauvegarde des fichiers:
admin/controllers/SiteControler.php
admin/templates/arfooo/site/edit.tpl
admin/templates/arfooo/category/index.tpl
/models/SiteModel.php
Aller dans votre base de donnée. (ici je donne l'exemple sous phpMyAdmin.).
Aller dans la table arfooo_sites (à gauche).
Nous allons rajouter un nouveau champs (à droite) qui va définir un status pour afficher ou pas le site referrer.
En bas de la liste des champs vous faites:
Ajouter un champs Après referrerTimes puis Executer.
Vous devez maintenant préciser :
Champ: referrerDisallow
Type: SMALLINT
Taille: 6
Interclassement:
Attributs:
Null: notnull
Défaut: 0
Extra:
Commentaires:
Vous sauvegardez.
Ouvrez le fichier admin/controllers/SiteControler.php
recherchez la ligne:
- Code: Tout sélectionner
function searchAction()
juste avant collez:
- Code: Tout sélectionner
function referrerDisallowAction()
{
$c = new Criteria();
$c->add("referrerDisallow", 0);
$this->set("sites", $this->site->findAll($c));
}
toujours dans admin/controllers/SiteControler.php
recherchez:
- Code: Tout sélectionner
function saveSiteDataAction($siteId)
{
$this->viewClass = "JsonView";
$fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId", "siteTitle", "url", "rssTitle", "rssFeedOfSite",
"description", "returnBond", "status", "problemExists", "priority", "visitsCount", "referrerTimes");
remplacez par:
- Code: Tout sélectionner
function saveSiteDataAction($siteId)
{
$this->viewClass = "JsonView";
$fields = array("categoryId", "webmasterName", "webmasterEmail", "webmasterId", "siteTitle", "url", "rssTitle", "rssFeedOfSite",
"description", "returnBond", "status", "problemExists", "priority", "visitsCount", "referrerTimes","referrerDisallow);
Sauvegardez.
Ouvrez le fichier admin/templates/arfooo/site/edit.tpl
juste après ces lignes:
- Code: Tout sélectionner
<tr>
<td>{'Times being referrers'|lang}:</td>
<td><input type="text" class="input_text_small" name="referrerTimes" value="" /></td>
</tr>
collez
- Code: Tout sélectionner
<tr>
<td>Cacher du Top Referrer</td>
<td><select name="referrerDisallow">
{html_options options=$yesNoOptions}
</select></td>
</tr>
Sauvegardez
Ouvrez le fichier admin/templates/arfooo/category/index.tpl
juste avant ces lignes:
- Code: Tout sélectionner
<tr>
<td>{'Priority'|lang}:</td>
<td><select name="priority">
{html_options options=$priorites}
</select></td>
</tr>
collez:
- Code: Tout sélectionner
<tr>
<td>Cacher du Top Referrer</td>
<td><select name="referrerDisallow">
{html_options options=$yesNoOptions}
</select></td>
</tr>
Sauvegardez.
enfin ouvrir le fichier /models/SiteModel.php
recherchez:
- Code: Tout sélectionner
function getValidatedTopReferrersSites()
{
$c = new Criteria();
$c->add("referrerTimes", 0, ">");
$c->add("status", "validated");
$c->add($this->getForbiddenRule());
$c->addOrder("referrerTimes DESC");
$c->setLimit(Config::get('maxTopReferrersCount'));
remplacez par:
- Code: Tout sélectionner
function getValidatedTopReferrersSites()
{
$c = new Criteria();
$c->add("referrerTimes", 0, ">");
$c->add("referrerDisallow", 0, "=");
$c->add("status", "validated");
$c->add($this->getForbiddenRule());
$c->addOrder("referrerTimes DESC");
$c->setLimit(Config::get('maxTopReferrersCount'));
Sauvegardez.
Lors de la création ou de l'édition d'un site il vous sera donc demandé si vous vouler cacher le site du top referrer (par défaut "non").
Pour les puristes ou ceux qui sont en multilangue fait les modifications necessaires.
Voilou.
J'espère avoir bien recopié les étapes, dîtes moi s'il y a un soucis, il est tard... voir tôt

