| 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 |
| 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> |
| 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 |
| 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. |
| 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> |
| 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 |
|
|
| 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> |
| 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 |
} |
} |
| 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', |
| 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', |
| 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 |
} |
} |