24

Recherche d'une campagne

Code

Éditez l'action search dans le fichier actions/search.php pour protéger l'accès à une campagne :

  1. require_once 'userprofile.php';

Charge la fonction user_profile.

  1.         if ($thread_type == 'campaign') {
  2.             if (!(user_has_role('administrator') or (user_has_role('client') and $thread_user_id == user_profile('id')))) {
  3.                 return run('error/notfound', $lang);
  4.             }
  5.             $cloud_name=$cloud_id;
  6.         }

Si le fil est une campagne et si l'utilisateur n'est pas un administrateur ou le client qui possède le fil, retourne une erreur.

Modifiez le code des fonctions cloud_list_tags, cloud_search et cloud_match dans le fichier models/cloud.inc pour interdire l'accès aux mots clés d'une campagne :

  1.         $join2 .= " AND t.thread_type!='rss' AND t.thread_type!='newsletter' AND t.thread_type!='campaign'";
  1.         $join2 .= " AND t.thread_type!='rss' AND t.thread_type!='newsletter' AND t.thread_type!='campaign'";
  1.         $join2 .= " AND t.thread_type!='rss' AND t.thread_type!='newsletter' AND t.thread_type!='campaign'";

Pour interdire toute recherche globale, i.e. l'appel de l'action search sans fil en paramètre, mettez le paramètre de configuration $search_all à false dans config.inc :

  1. $search_all='cloud';    // true, false, 'cloud'
Test

Connectez-vous en tant qu'administrateur. Entrez dans la partie gestion du site.

Gestion

Contenu

Cliquez sur le grand téléphone.

Annonceurs

  1. BarFoo

Cliquez sur le client BarFoo dans la liste.

BarFoo

  1. Le moteur web

Entrez izend dans la zone de recherche. Cliquez sur la loupe pour afficher la liste des campagnes de cet annonceur contenant le terme izend.

Essayez de cliquer sur un des mots clés dans le nuage. Effacez le champ de saisie et appuyez sur Entrée.

Cliquez sur le logo pour afficher la page d'accueil. Ciquez sur la loupe pour afficher la liste de tous les termes de l'index. La page est vide. Les termes associés aux campagnes ne sont pas publiés.

Git
  1. /izendsms.com
    1. actions
      1. search.php
    2. includes
      1. includes.inc
    3. models
      1. cloud.inc

Commettez cette version :

$ git status
$ git add --update
$ git commit -m'Adds searching campaigns'

Affichage des campagnes, Édition des campagnes

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].