MyBB.de Forum
Zeitgesteuerte Anzeige von Werbung - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Zeitgesteuerte Anzeige von Werbung (/thread-22616.html)



Zeitgesteuerte Anzeige von Werbung - Duergy - 13.08.2010

Halli Hallo

ich habe mal eine Frage und zwar möchte in meinem MyBB nur zwischen 24 und 6 Uhr Werbung für nicht Registrierte Mitglieder Anzeigen.

Meine Idee war es jetzt in der Template Datei einfach einen Code Ähnlich
PHP-Code:
if(date("H",time())>="0" AND date("H",time())<="6") AND empty($useridvariabele)){
echo
"Werbecode";


Nun ist es ja leider nicht möglich in den Templates PHP auszuführen. Gibt es eine andere Möglichkeit?


RE: Zeitgesteuerte Anzeige von Werbung - frostschutz - 13.08.2010

Leg den Code in ein Plugin...?

Ist ja nichts dabei, schnapp dir die hello.php,

anstatt echo machst du global $irgendwas; $irgendwas="werbecode";

im global_start Hook oder so...

Dann kannst du im Template da wo du es haben willst {$irgendwas} einfügen.


RE: Zeitgesteuerte Anzeige von Werbung - Duergy - 13.08.2010

(13.08.2010, 14:14)frostschutz schrieb: Leg den Code in ein Plugin...?

Ist ja nichts dabei, schnapp dir die hello.php,

anstatt echo machst du global $irgendwas; $irgendwas="werbecode";

im global_start Hook oder so...

Dann kannst du im Template da wo du es haben willst {$irgendwas} einfügen.

Die Idee ist garnicht mal so schlecht, wenn ich dich Richtig verstanden habe wäre folgender Code ja richtig oder? Weil, warum auch immer, geht es Leider nicht.

PHP-Code:
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_end""adfooter");
function 
adfooter_info()
{
    return array(
        
"name"            => "adFooter",
        
"description"    => "Zeigt die adFOOTER Werbung an'",
        
"website"        => "http://www.DM-Scripts.de",
        
"author"        => "DM-Scripts.de",
        
"authorsite"    => "http://www.DM-Scripts.de",
        
"version"        => "1.0",
        
"guid"             => "",
        
"compatibility" => "1600"
    
);
}

function 
adfooter($adfooter){
global 
$adfooter;

$adfooter="Werbecode";
    return 
$adfooter;




RE: Zeitgesteuerte Anzeige von Werbung - querschlaeger - 13.08.2010

Code:
function adfooter(){
global $adfooter;
$adfooter="Werbecode";
}
Reicht aus.


RE: Zeitgesteuerte Anzeige von Werbung - frostschutz - 13.08.2010

versuchs mit global_start statt global_end, je nachdem in welches Template es soll (der Plugin-Code muss ausgeführt sein bevor das Template evaluiert wird, also im Fall der Header Templates, möglichst früh)

und den funktionsparameter weg wie querschlaeger schon schrieb ...


RE: Zeitgesteuerte Anzeige von Werbung - Duergy - 13.08.2010

Supi das global_start war der fehler.

PHP-Code:
if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("global_start""adfooter");
function 
adfooter_info()
{
    return array(
        
"name"            => "adFooter",
        
"description"    => "Zeigt die adFOOTER Werbung nur zwischen 0 und 6 Uhr an'",
        
"website"        => "http://www.DM-Scripts.de",
        
"author"        => "DM-Scripts.de",
        
"authorsite"    => "http://www.DM-Scripts.de",
        
"version"        => "1.0",
        
"guid"             => "",
        
"compatibility" => "1600"
    
);
}

function 
adfooter(){
global 
$adfooter$mybb;
if(
date("H",time())>="00" AND date("H",time())<="6" AND empty($mybb->user['uid'])){
$adfooter="Werbecode";

else{
$adfooter="";
}



So Funktioniert es glaube ich. Mal heute Nacht testen.
Vielen Dank erstmal euch zwein