/[drupal]/contributions/modules/contaxe/contaxe.module
ViewVC logotype

Diff of /contributions/modules/contaxe/contaxe.module

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.14.2.1, Thu Feb 28 11:39:23 2008 UTC revision 1.14.2.2, Thu Feb 28 16:59:41 2008 UTC
# Line 1  Line 1 
1  <?php  <?php
2  // $Id: contaxe.module,v 1.14 2008/02/28 09:59:14 salgar Exp $  // $Id: contaxe.module,v 1.14.2.1 2008/02/28 11:39:23 salgar Exp $
3    
4  /*  /*
5    http://drupal.org/project/jquery_update    http://drupal.org/project/jquery_update
# Line 155  function contaxe_help($section='') { Line 155  function contaxe_help($section='') {
155    
156    switch ($section) {    switch ($section) {
157      case 'admin/settings/contaxe':      case 'admin/settings/contaxe':
158        $output = 'Dieses Modul erlaubt es Contaxe-Werbung in Drupal einzubinden. Durch komplexe        $output = 'Dieses Modul erlaubt es Contaxe-Werbung in Drupal einzubinden. Mit Hilfe des
159  Regeln kann definiert werden, wann ein Werbemittel sichtbar ist. Ausserdem können die Einnahmen  Regelsystems kann definiert werden, wann ein Werbemittel sichtbar ist. Außerdem können die
160  mittels Revenue Sharing unter mehreren Autoren aufgeteilt werden.';  Einnahmen mittels Revenue Sharing unter mehreren Autoren aufgeteilt werden.';
161        break;        break;
162      case 'admin/settings/contaxe/isa':      case 'admin/settings/contaxe/isa':
163        $output = 'Das <em>Intelligent Search Ad</em> ist ein Werbemittel welches mit dem Suchfeld        $output = 'Das <em>Intelligent Search Ad</em> ist ein Werbemittel welches mit dem Suchfeld
164  Ihrer Website verbunden ist. Sobald Suchbegriffe eingegeben werden, erscheint dazu passende  Ihrer Website verbunden ist. Sobald Suchbegriffe eingegeben werden, erscheint dazu passende
165  Werbung in einem kleinen Fenster unterhalb des Eingabefelds.';  Werbung in einem kleinen Fenster unterhalb des Eingabefelds.';
166        break;        break;
167        case 'admin/settings/contaxe/highlighter':
168          $output = 'Beim <em>Text-Highlighting</em> werden Wörter einer Seite mit einem Link hinterlegt.
169    Fährt ein Besucher mit der Maus über den Link, öffnet sich ein kleines Popupfenster mit
170    Werbeinformationen innerhalb der Seite.';
171          break;
172        case 'admin/settings/contaxe/injector':
173          $output = 'Der <em>Contaxe-Injektor</em> fügt Werbung automatisch in die Einzel- oder
174    Listenansicht von Inhalten ein. Auf Wunsch kann das Einfügen auf bestimmte Inhaltstypen beschränkt
175    werden. Für das Einfügen werden spezielle Templates verwendet, in denen durch
176    <a href="' . url('admin/help/contaxe') . '#contaxe-tags">Contaxe-Tags</a> Werbung platziert werden kann.';
177          break;
178        case 'admin/settings/contaxe/banners':
179          $output = 'Hier können Sie Banner anlegen die Sie anschließend auf mehrere Arten platzieren können.
180    Näheres dazu erfahren Sie in der <a href="' . url('admin/help/contaxe') . '#integration">Hilfe</a>.';
181          break;
182      case 'admin/help#contaxe':      case 'admin/help#contaxe':
183        $output = '        $output = '
184  <p>Dieses Modul erlaubt es Contaxe-Werbung in Drupal einzubinden. Durch komplexe Regeln  <p>Dieses Modul erlaubt es Contaxe-Werbung in Drupal einzubinden. Mit Hilfe des Regelsystems
185  kann definiert werden, wann ein Werbemittel sichtbar ist. Ausserdem können die Einnahmen  kann definiert werden, wann ein Werbemittel sichtbar ist. Außerdem können die Einnahmen
186  mittels Revenue Sharing unter mehreren Autoren aufgeteilt werden.</p>  mittels Revenue Sharing unter mehreren Autoren aufgeteilt werden.</p>
187    
188  <h2>Voraussetzungen</h2>  <h2>Inhalt</h2>
189    <ul>
190      <li><a href="#requirements">Voraussetzungen</a></li>
191      <li><a href="#optional-modules">Optionale Module</a></li>
192      <li><a href="#supported-adformats">Unterstützte Werbeformate</a>
193        <ul>
194          <li><a href="#isa">Intelligent Search Ad</a></li>
195          <li><a href="#highlighter">Text-Highlighting</a></li>
196        </ul>
197      </li>
198      <li><a href="#integration">Contaxe-Banner einbinden</a>
199        <ul>
200          <li><a href="#contaxe-blocks">Contaxe-Blöcke</a></li>
201          <li><a href="#contaxe-tags">Contaxe-Tags</a></li>
202          <li><a href="#contaxe-injector">Contaxe-Injektor</a></li>
203          <li><a href="#php-code">PHP-Code</a></li>
204        </ul>
205      </li>
206      <li><a href="#revenue-sharing">Revenue Sharing</a>
207        <ul>
208          <li><a href="#rs-requirements">Voraussetzungen</a></li>
209          <li><a href="#rs-configuration">Konfiguration</a></li>
210          <li><a href="#rs-channelid">Auswahl der Channel-ID</a></li>
211        </ul>
212      <li>
213      <li><a href="#rulesystem">Regelsystem</a>
214        <ul>
215          <li><a href="#rule-samples">Beispiele</a></li>
216        </ul>
217      </li>
218    </ul>
219    
220    <h2 id="requirements">Voraussetzungen</h2>
221  <p>Sie müssen als Affiliate oder Agentur bei <a href="http://www.contaxe.com">Contaxe</a>  <p>Sie müssen als Affiliate oder Agentur bei <a href="http://www.contaxe.com">Contaxe</a>
222  angemeldet sein um dieses Modul nutzen zu können.</p>  angemeldet sein um dieses Modul nutzen zu können.</p>
223    
224  <h2>Optionale Module</h2>  <h2 id="optional-modules">Optionale Module</h2>
225  <ul>  <ul>
226    <li><strong>Search</strong>: Zur Integration des Intelligent Search Ads.</li>    <li><strong>Search</strong>: Zur Integration des Intelligent Search Ads.</li>
227    <li><strong>Profile</strong>: Um Revenue Sharing zu betreiben.</li>    <li><strong>Profile</strong>: Um Revenue Sharing zu betreiben.</li>
# Line 189  angemeldet sein um dieses Modul nutzen z Line 236  angemeldet sein um dieses Modul nutzen z
236    </li>    </li>
237  </ul>  </ul>
238    
239  <h2>Unterstützte Werbeformate</h2>  <h2 id="supported-adformats">Unterstützte Werbeformate</h2>
240  <p>Neben dem <em>Intelligent Search Ad</em> und dem <em>Text-Highlighting</em> werden sämtliche Bannerformate  <p>Neben dem <em>Intelligent Search Ad</em> und dem <em>Text-Highlighting</em> werden sämtliche Bannerformate
241  die Contaxe anbietet unterstützt. Einen Überblick über die verschiedenen Werbemittel erhalten  die Contaxe anbietet unterstützt. Einen Überblick über die verschiedenen Werbemittel erhalten
242  Sie in der <a href="http://www.contaxe.com/de/texte/werbemittelvorschau/">Werbemittelvorschau</a>.  Sie in der <a href="http://www.contaxe.com/de/texte/werbemittelvorschau/">Werbemittelvorschau</a>.
243  </p>  </p>
244    
245  <h2>Contaxe-Banner einbinden</h2>  <h3 id="isa">Intelligent Search Ad</h3>
246    <p>Das <em>Intelligent Search Ad</em> ist ein Werbemittel welches mit dem Suchfeld
247    Ihrer Website verbunden ist. Sobald Suchbegriffe eingegeben werden, erscheint dazu passende
248    Werbung in einem kleinen Fenster unterhalb des Eingabefelds. Um es nutzen zu können, muss
249    das Modul <em>Search</em> aktiviert sein.</p>
250    
251    <h3 id="highlighter">Text-Highlighting</h3>
252    <p>Beim <em>Text-Highlighting</em> werden Wörter einer Seite mit einem Link hinterlegt. Fährt ein Besucher
253    mit der Maus über den Link, öffnet sich ein kleines Popupfenster mit Werbeinformationen innerhalb
254    der Seite. Sowohl der Link hinter dem Wort als auch ein Klick in die Popupbox führen zur Zielseite.</p>
255    
256    <div class="messages warning">Aus technischen Gründen ist es leider mit Hilfe dieses Moduls nicht
257    möglich, bestimmte Bereiche auf einer Seite (z.B. Header, Footer oder Sidebar) vom Text-Highlighting
258    auszuschließen. Dies kann nur über Änderungen in dem verwendeten Drupal-Theme umgesetzt werden.
259    Weitere Hinweise finden Sie im Artikel
260    <a href="http://www.contaxe.com/de/artikel/kontextsensitivitaet-eingrenzen/">Kontextsensitivität eingrenzen</a>
261    im Abschnitt <em>Highlighter-Optimierung</em>.</div>
262    
263    <h2 id="integration">Contaxe-Banner einbinden</h2>
264  <!-- <p>Es gibt mehrere Wege um Contaxe-Werbebanner einzubinden. Diese sind im Folgenden zusammengefasst.</p> -->  <!-- <p>Es gibt mehrere Wege um Contaxe-Werbebanner einzubinden. Diese sind im Folgenden zusammengefasst.</p> -->
265    
266  <div class="messages warning">Die folgenden Ausführungen beziehen sich nicht auf die Werbeformate <em>Intelligent  <div class="messages warning">Die folgenden Ausführungen beziehen sich nicht auf die Werbeformate <em>Intelligent
267  Search Ad</em> sowie <em>Text-Highlighting</em>. Diese Formate werden automatisch eingebunden,  Search Ad</em> sowie <em>Text-Highlighting</em>. Diese Formate werden automatisch eingebunden,
268  sobald sie im Verwaltungsbereich des Contaxe-Moduls aktiviert werden.</div>  sobald sie im Verwaltungsbereich des Contaxe-Moduls aktiviert werden.</div>
269    
270  <h3>Contaxe-Blöcke</h3>  <h3 id="contaxe-blocks">Contaxe-Blöcke</h3>
271  <p>Am schnellsten lassen sich Contaxe-Banner mit Hilfe der vorgegebenen Blöcke einbinden.  <p>Am schnellsten lassen sich Contaxe-Banner mit Hilfe der vorgegebenen Blöcke einbinden.
272  Besuchen Sie dazu die <a href="' . url('admin/build/block') . '">Block-Verwaltung</a>,  Besuchen Sie dazu die <a href="' . url('admin/build/block') . '">Block-Verwaltung</a>,
273  konfigurieren Sie einen der Contaxe-Blöcke und wählen Sie einen Banner. Anschließend müssen Sie  konfigurieren Sie einen der Contaxe-Blöcke und wählen Sie einen Banner. Anschließend müssen Sie
# Line 230  welche sich in manchen Fällen durch ums Line 295  welche sich in manchen Fällen durch ums
295    </li>    </li>
296  </ul>  </ul>
297    
298  <h3>Contaxe-Injektor</h3>  <h3 id="contaxe-injector">Contaxe-Injektor</h3>
299  <p>Der <em>Contaxe-Injektor</em> fügt Werbung automatisch in die Einzel- oder Listenansicht von Inhalten ein. Auf  <p>Der <em>Contaxe-Injektor</em> fügt Werbung automatisch in die Einzel- oder Listenansicht von Inhalten ein. Auf
300  Wunsch kann das Einfügen auf bestimmte Inhaltstypen beschränkt werden. Für das Einfügen werden  Wunsch kann das Einfügen auf bestimmte Inhaltstypen beschränkt werden. Für das Einfügen werden
301  spezielle Templates verwendet, in denen durch <em>Contaxe-Tags</em> Werbung platziert werden kann.  spezielle Templates verwendet, in denen durch <em>Contaxe-Tags</em> Werbung platziert werden kann.
# Line 238  spezielle Templates verwendet, in denen Line 303  spezielle Templates verwendet, in denen
303  <div class="messages warning">Einfügen von Werbung in die Mitte eines Inhalts ist leider nicht möglich.</div>  <div class="messages warning">Einfügen von Werbung in die Mitte eines Inhalts ist leider nicht möglich.</div>
304    
305    
306  <h3>PHP-Code</h3>  <h3 id="php-code">PHP-Code</h3>
307  <p>Mittels PHP-Code können Banner direkt in ein Template oder einen eigenen Block  <p>Mittels PHP-Code können Banner direkt in ein Template oder einen eigenen Block
308  mit Eingabeformat <em>PHP-Code</em> eingebunden werden.</p>  mit Eingabeformat <em>PHP-Code</em> eingebunden werden.</p>
309  <ul>  <ul>
# Line 258  mit Eingabeformat PHP-Code eing Line 323  mit Eingabeformat PHP-Code eing
323  <div class="messages warning">Stellen Sie sicher, dass Sie den Code mit PHP-Tags umschließen.</div>  <div class="messages warning">Stellen Sie sicher, dass Sie den Code mit PHP-Tags umschließen.</div>
324    
325  <h2 id="revenue-sharing">Revenue Sharing</h2>  <h2 id="revenue-sharing">Revenue Sharing</h2>
326  <h3>Konfiguration</h3>  <h3 id="rs-requirements">Voraussetzungen</h3>
327    <p>Um Revenue Sharing nutzen zu können wird das <em>Profile</em>-Modul benötigt, welches standardmäßig
328    in Drupal enthalten ist. Auf Wunsch können auch Benutzer, die Autoren geworben haben an den Einnahmen
329    beteiligen werden. Dazu wird das <a href="http://drupal.org/project/referral">Referral</a>-Modul benötigt.</p>
330    
331    <h3 id="rs-configuration">Konfiguration</h3>
332  <p>Um Revenue Sharing nutzen zu können müssen Sie ein Profilfeld anlegen, in welches die  <p>Um Revenue Sharing nutzen zu können müssen Sie ein Profilfeld anlegen, in welches die
333  Benutzer ihre Channel-ID eingeben können.</p>  Benutzer ihre Channel-ID eingeben können.</p>
334    
# Line 280  Benutzer ihre Channel-ID eingeben könne Line 350  Benutzer ihre Channel-ID eingeben könne
350        <li>Während der Benutzeranmeldung sichtbar.</li>        <li>Während der Benutzeranmeldung sichtbar.</li>
351      </ul>      </ul>
352    </li>    </li>
353    <li>Ausserdem sollten Sie eine verständliche Erklärung zu dem Feld angeben,    <li>Außerdem sollten Sie eine verständliche Erklärung zu dem Feld angeben,
354      damit die Benutzer wissen, was sie in das Feld eingeben sollen.      damit die Benutzer wissen, was sie in das Feld eingeben sollen.
355    </li>    </li>
356  </ul>  </ul>
357  <h3>Welche Channel-ID wird beim Einblenden der Werbung benutzt?</h3>  <h3 id="rs-channelid">Auswahl der Channel-ID</h3>
358  <p>Das System entscheidet bei jedem Seitenaufruf ob</p>  <p>Das System entscheidet bei jedem Seitenaufruf ob</p>
359  <ul>  <ul>
360    <li>die Channel-ID vom Autor des Inhalts,</li>    <li>die Channel-ID vom Autor des Inhalts,</li>
# Line 295  Benutzer ihre Channel-ID eingeben könne Line 365  Benutzer ihre Channel-ID eingeben könne
365    angegeben, wird die Channel-ID aus dem Profil des Benutzers 1 verwendet.  Ist auch dort nichts eingetragen wird    angegeben, wird die Channel-ID aus dem Profil des Benutzers 1 verwendet.  Ist auch dort nichts eingetragen wird
366    die Channel-ID aus den <a href="' . url('admin/settings/contaxe') . '">Allgemeinen Einstellungen</a> verwendet.    die Channel-ID aus den <a href="' . url('admin/settings/contaxe') . '">Allgemeinen Einstellungen</a> verwendet.
367  </p>  </p>
368  <div class="messages warning">Revenue Sharing funktioniert nur auf Seiten mit einzelnen Inhalten sowie auf den Blogs der jeweiligen Autoren (Falls das Blog-Modul genutzt wird).</div>  <div class="messages warning">Revenue Sharing funktioniert nur auf Seiten mit einzelnen Inhalten sowie auf den
369    Blogs der jeweiligen Autoren (falls das Blog-Modul genutzt wird).</div>
370    
371    <h2 id="rulesystem">Regelsystem</h2>
372    <p>Mit dem Regelsystem kann durch vielfältige Regeln eingestellt werden, wann ein Werbemittel angezeigt werden soll.
373    Falls gar keine Regeln gewählt sind, werden die Werbemittel immer angezeigt. Sobald mindestens eine Regel gewählt ist,
374    wird ein Werbemittel nur dann angezeigt, wenn eine der Regeln zutrifft und besagt, dass es angezeigt werden soll.</p>
375    
376    <h3 id="rule-samples">Beispiele</h3>
377    <strong>Regelmäßige Besucher sollen keine Werbung sehen:</strong>
378    <ul>
379      <li>Wenn der Besucher ein regelmäßiger Leser ist, dann <em>nicht anzeigen</em>.</li>
380      <li>(Sonst) Immer <em>anzeigen</em>.</li>
381    </ul>
382    <strong>Benutzer die über eine Suchmaschine kommen sollen diesen Banner sehen - alle anderen einen anderen Banner:</strong>
383    <ul>
384      <li>Wenn der Besucher von einer Suchmaschine kommt, dann <em> anzeigen</em>.</li>
385      <li>Wenn die vorherigen Bedingungen fehlschlagen, dann versuche <em>Anderer Banner</em> anzuzeigen.</li>
386    </ul>
387    
388    <div class="messages warning">Je nach Theme kann es vorkommen, dass die Regeln in der Contaxe-Verwaltung nicht
389    richtig dargestellt werden. Dies lässt sich am einfachsten beheben, indem <em>garland</em> als
390    <a href=' . url('admin/settings/admin') . '">Verwaltungs-Theme</a> gewählt wird.</div>
391  ';  ';
392        break;        break;
393    }    }
# Line 675  EOT; Line 767  EOT;
767      );      );
768      $form['whoseesads']['active'][CONTAXE_HIGHLIGHTER_ACTIVE_RULES] = array(      $form['whoseesads']['active'][CONTAXE_HIGHLIGHTER_ACTIVE_RULES] = array(
769        '#type' => 'sortable',        '#type' => 'sortable',
770        '#items' => contaxe_sortable(true, variable_get('contaxe_highlighter_active', array())),        '#items' => contaxe_sortable(true, variable_get('contaxe_highlighter_active', array()), 'highlighter'),
771        '#inner_id' => 'rules',        '#inner_id' => 'rules',
772        '#options' => array(        '#options' => array(
773          'helperclass' => 'sortable-helper',          'helperclass' => 'sortable-helper',
# Line 691  EOT; Line 783  EOT;
783      );      );
784      $form['whoseesads']['inactive'][CONTAXE_HIGHLIGHTER_INACTIVE_RULES] = array(      $form['whoseesads']['inactive'][CONTAXE_HIGHLIGHTER_INACTIVE_RULES] = array(
785        '#type' => 'sortable',        '#type' => 'sortable',
786        '#items' => contaxe_sortable(false, variable_get('contaxe_highlighter_active', array())),        '#items' => contaxe_sortable(false, variable_get('contaxe_highlighter_active', array()), 'highlighter'),
787        '#inner_id' => 'rules',        '#inner_id' => 'rules',
788        '#options' => array(        '#options' => array(
789          'helperclass' => 'sortable-helper',          'helperclass' => 'sortable-helper',
# Line 1173  function contaxe_sortable($active, $acti Line 1265  function contaxe_sortable($active, $acti
1265    $list = array();    $list = array();
1266    if ($active) {    if ($active) {
1267      foreach ($activerules as $rule) {      foreach ($activerules as $rule) {
1268          if ($banner == 'highlighter' && $rule['type'] == 'fallback') continue;
1269        $list[$rule['type']] = contaxe_sortable_item($rule['type'], $rule['display'], $rule['params'], $banner);        $list[$rule['type']] = contaxe_sortable_item($rule['type'], $rule['display'], $rule['params'], $banner);
1270      }      }
1271      return $list;      return $list;
1272    }    }
1273    foreach ($GLOBALS['_CONTAXE_RULES'] as $rule) {    foreach ($GLOBALS['_CONTAXE_RULES'] as $rule) {
1274        if ($banner == 'highlighter' && $rule == 'fallback') continue;
1275      foreach ($activerules as $a_rule) {      foreach ($activerules as $a_rule) {
1276        if ($a_rule['type'] == $rule) continue 2;        if ($a_rule['type'] == $rule) continue 2;
1277      }      }

Legend:
Removed from v.1.14.2.1  
changed lines
  Added in v.1.14.2.2

  ViewVC Help
Powered by ViewVC 1.1.2