MyBB.de Forum

Normale Version: Ads after first post 2.2
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo,

ich habe bereits die Beiträge zu "Ads after first post 2.2" gelesen. Der Fehler, den ich Erhalte, ist seltsamerweise noch bei niemanden aufgetaucht. Obwohl er bei mir bei zwei verschiedenen Installationen auftaucht.

Ads after first post 2.2 läßt sich erst gar nicht installieren. Bei dem Versuch der Aktivierung erhalte ich folgende Fehlermeldung:

Zitat:MyBB has experienced an internal SQL error and cannot continue.
SQL Error:
22P02 - ERROR: invalid input syntax for integer: "NULL"
Query:
INSERT INTO mybb_settinggroups (gid,name,title,description,disporder,isdefault) VALUES ('NULL','Ads after first post','Ads after first post','Settings for the plugin.','1','no')

Ich habe in adsafp.php
"gid" => "NULL", und "isdefault" => "no",
entfernt. Danach konnte man es aktivieren. Nur leider läuft nichts. Eine anschließende Deaktivierung ist wegen fehlender gid nicht möglich :-(

Ich verwende MYBB 1.4.6
(17.05.2009, 20:59)fosca schrieb: [ -> ]Eine anschließende Deaktivierung ist wegen fehlender gid nicht möglich :-(
Was bedeutet das genau? Erhältst du eine Fehlermeldung?

Manuell kannst du es auch "deaktivieren":
1. Lösche die Einstellungen und die Gruppe in den Datenbanktabellen settings und settinggroups.
2. Lösche das Plugin aus dem Cache plugins (je nach Einstellung in der Datenbanktabelle datacache oder im Ordner cache.
3. Lösche die eingefügte Variable aus den Templates postbit und postbit_classic.

Wenn du an der Datenbank rumspielst, solltest du vorher unbedingt eine Sicherung anlegen!

Wenn du es nochmal installieren willst, ersetze
PHP-Code:
"gid" => "NULL"
durch
PHP-Code:
"gid" => ""
Wenn das auch nicht geht, lösche die Zeile, dann sollte es gehen.
Hallo Michael,

wie bereits geschrieben, hatte ich:

"gid" => "NULL", und
"isdefault" => "no",

entfernt. Ansonsten liess es sich überhaupt nicht aktivieren. Beim deaktivieren bekomme ich folgende Meldung:

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
22P02 - ERROR: invalid input syntax for integer: ""
Query:
DELETE FROM mybb_settinggroups WHERE gid=''
Suche in der Plugindatei:
PHP-Code:
$g $db->fetch_array($query); 
Darunter einfügen:
PHP-Code:
$g['gid'] = intval($g['gid']); 
Dann solltest du es deaktivieren können, musst aber ggf. die überflüssigen Einträge in settings und settinggroups von Hand löschen.
Hallo Michael,

also ich habe es entfernt und neu eingespielt und aktiviert. Dafür musste ich alle Zeilen mit gid => Null und sid => Null löschen.

Danach habe ich in den settings unter Value das JavaScript von Google eingefügt.

Zuletzt habe ich postbit_separator geändert:

<tr>
<td class="trow_sep" colspan="2"><img src="{$theme['imgdir']}/pixel.gif" height="1" width="1" alt="" />{$post['adsaf']}</td>
</tr>

Und in postbit_classic {$post['adsaf']} vor dem letzten schließenden table-Tag eingefügt:

</tr>
{$post['adsaf']}
</table>

Und in postbit separator vor dem letzten schließenden tbody-tag eingefügt:

{$seperator}
</tbody>
</table>

Angezeiigt wird trotzdem nichts :-(.
Was mache ich falsch?
Ganz banal: Hast du in den Einstellungen auch die Anzeige aktiviert?
(20.05.2009, 00:34)Michael schrieb: [ -> ]Ganz banal: Hast du in den Einstellungen auch die Anzeige aktiviert?

Wo stellt man das ein? Ich habe in den Settings nichts gefunden.
In den Einstellungen des Plugins, wo du auch den Werbecode eingibst, sollte das die erste Option sein.
Hallo Michael,
(22.05.2009, 01:08)Michael schrieb: [ -> ]In den Einstellungen des Plugins, wo du auch den Werbecode eingibst, sollte das die erste Option sein.
Erst einmal danke für Deine unermüdliche Hilfe. Leider weiss ich nicht was Du meinst. Den Werbetext habe ich bei den Settings eingefügt, unter Value. Dort gibt es keine Option aktivieren. Es gibt einen Titel, eine Beschreibung, Die Gruppe, Display order, Identifier, Typ und Value.
(22.05.2009, 01:08)Michael schrieb: [ -> ]In den Einstellungen des Plugins, wo du auch den Werbecode eingibst, sollte das die erste Option sein.

Es gibt auch nur ein Setting. Könntest Du mir schreiben, wie ich das per Hand aktivieren kann? Eventuell zu modifizierende Datei. Oder neu anzulegendes Setting mit welchen Daten?
Kann es sein, dass du MySQL im Strict-Mode laufen hast?

Du kannst im ACP ja auch manuell Einstellungen hinzufügen. Welche das Plugin benötigt, findest du in der Plugindatei:
PHP-Code:
    $adsafp_1 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_code_onoff",

        
"title" => "Activate/Deactivate",

        
"description" => "Do you want to show ads after posts?",

        
"optionscode" => "yesno",

        
"value" => "0",

        
"disporder" => "1",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_1);



    
$adsafp_2 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_groups",

        
"title" => "Usergroups",

        
"description" => "Please enter the IDs of the usergroups that should see ads seperated with commas (0 = all groups).",

        
"optionscode" => "text",

        
"value" => "0",

        
"disporder" => "2",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_2);

    

    
$adsafp_3 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_align",

        
"title" => "Alignment",

        
"description" => "Choose the alignment.",

        
"optionscode" => "radio\r\n1=Left\r\n2=Center\r\n3=Right",

        
"value" => "2",

        
"disporder" => "3",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_3);

    

    
$adsafp_4 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_mode",

        
"title" => "Mode",

        
"description" => "Where do you want to show the ads?",

        
"optionscode" => "radio\r\n1=After first post on each page (Default)\r\n2=After the first post and then after every x posts\r\n3=After every x posts",

        
"value" => "1",

        
"disporder" => "4",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_4);

    

    
$adsafp_5 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_afterxposts",

        
"title" => "Number of posts",

        
"description" => "Enter the number of posts after that you want to display the ads (only necessary for the second mode)",

        
"optionscode" => "text",

        
"value" => "5",

        
"disporder" => "5",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_5);

    

    
$adsafp_6 = array(

        
"sid" => "NULL",

        
"name" => "adsafp_code",

        
"title" => "Code",

        
"description" => "Enter the HTML code for the ads.",

        
"optionscode" => "textarea",

        
"value" => "",

        
"disporder" => "6",

        
"gid" => intval($gid),

        );

    
$db->insert_query("settings"$adsafp_6); 
Seiten: 1 2