Seite 1 von 2

Problem mit Auto Group MOD

Verfasst: 12.08.2006 18:42
von sokrates28
Hi!
Hab den Auto Group MOD installiert doch bei der functions_post.php Datei gibt es Probleme mit folgender Fehlermeldung:

Fatal error: Call to a member function on a non-object in /home/kracher/www.love-forum.at/includes/functions_post.php on line 190

Ich hab den Code nochmal auf Fehler überprüft aber es passt alles. Hab an der richtigen Stelle eingefügt. Hier das Script- Zeile 190 ist Fett und Rot markiert:
$sql = "SELECT ug.user_id, g.group_id as g_id, u.user_posts, g.group_count, g.group_count_max FROM " . GROUPS_TABLE . " g, ".USERS_TABLE." u
LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
WHERE u.user_id=$user_id
AND g.group_single_user=0
AND g.group_count_enable=1
AND g.group_moderator<>$user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error geting users post stat', '', __LINE__, __FILE__, $sql);
}
while ($group_data = $db->sql_fetchrow($result))
{
$user_already_added = (empty($group_data['user_id'])) ? FALSE : TRUE;
$user_add = ($group_data['group_count'] == $group_data['user_posts'] && $user_id!=ANONYMOUS) ? TRUE : FALSE;
$user_remove = ($group_data['group_count'] > $group_data['user_posts'] || $group_data['group_count_max'] < $group_data['user_posts']) ? TRUE : FALSE;
if ($user_add && !$user_already_added)
{
//user join a autogroup
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (group_id, user_id, user_pending)
VALUES (".$group_data['g_id'].", $user_id, '0')";
if ( !($db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error insert users, group count', '', __LINE__, __FILE__, $sql);
}
} else
if ( $user_already_added && $user_remove)
{
//remove user from auto group
$sql = "DELETE FROM " . USER_GROUP_TABLE . "
WHERE group_id=".$group_data['g_id']."
AND user_id=$user_id";
if ( !($db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not remove users, group count', '', __LINE__, __FILE__, $sql);
}
}
}





return;
}

//
// Post a new topic/reply/poll or edit existing post/poll
//
[/quote]

Verfasst: 13.08.2006 17:14
von sokrates28
Ich weiß das der MOD nicht gerade populär ist und nicht viele kennen aber vielleicht findet doch noch ein Ass das Problem und hilft mir weiter?

Danke Jungs!

Verfasst: 13.08.2006 18:00
von Olli Oberhausen
Gib mal im kopf dieser funktion "global $db;" ein, dann sollte es klappen.
Kenn den mod zwar nicht, aber die funktion versucht auf $db zuzugreifen welche nicht zu erreichen ist.

So sollte es aussehen:

Code: Alles auswählen

function keineahhnung_mod($parameter1, $parameter2, usw...)
{
 global $db;

 Rest der funktion 
}

Gruß, Olli

Verfasst: 14.08.2006 13:09
von sokrates28
Danke, der Fehler kommt nicht mehr! :)
Gruß Sokrates

Re: Problem mit Auto Group MOD

Verfasst: 14.08.2006 13:52
von easygo
sokrates28 hat geschrieben:Ich hab den Code nochmal auf Fehler überprüft aber es passt alles. Hab an der richtigen Stelle eingefügt.
Hast du? :-? Nö, hast du nicht und was nun? Schau mal hier -->

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	return;
}

//
// Delete a post/poll

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
So stehts in der MOD Install btw. easy

Verfasst: 20.03.2007 08:52
von caballonegro
HAllo,
ich habe ein ähnliches Problem an dieser Stelle:
$sql = "SELECT ug.user_id, g.group_id as g_id, u.user_posts, g.group_count, g.group_count_max FROM " . GROUPS_TABLE . " g, ".USERS_TABLE." u
LEFT JOIN ". USER_GROUP_TABLE." ug ON g.group_id=ug.group_id AND ug.user_id=$user_id
WHERE u.user_id=$user_id
AND g.group_single_user=0
AND g.group_count_enable=1
AND g.group_moderator<>$user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Error geting users post stat', '', __LINE__, __FILE__, $sql);
}
Nach schreiben oder löschen eines Beitrags kommt jedesmal die rot markierte Meldung.
Hat da jemand eine Idee?
Wo schaltet man den überhaupt Debug Modus ein,
um vielleicht mehr über den Fehler zu erfahren ??

Bitte noch zwei Grundsätzliche Fragen zu diesem MOD stellen zu dürfen:
Ich habe in der Konfiguration der Gruppe folgendes eingestellt.

Number of required posts: 10
Number of max posts: 9999
When users have posted more posts than this value (in any forum) then they will be added to this usergroup: Haken gesetzt

Doch wenn man die Gruppe anzeigen lässt, ist kein User darin enthalten!
Nur einige wenige, welche ich vor Installation des Mod von Hand dieser Gruppe zugeordnet habe!! (Und es sind ne Menge User vorhanden, die mehr als 10 Beiträge verfasst haben)

Und wozu ist das script sync_postcount.php
Ich habe es einmal ausgeführt, doch dessen Ergebnis ist mir unklar!!

Danke u. Gruß

Verfasst: 20.03.2007 08:58
von caballonegro
OK,
da Dr.Death mir freundlicherweise zeigte wo der Debugmodus eingeschaltet wird, habe ich das mal schnell gemacht u. es kommt beim erstellen eines Beitrags folgendes:
Error geting users post stat

DEBUG MODE

SQL Error : 1054 Unknown column 'g.group_id' in 'on clause'

SELECT ug.user_id, g.group_id as g_id, u.user_posts, g.group_count, g.group_count_max FROM phpbb_groups g, phpbb_users u LEFT JOIN phpbb_user_group ug ON g.group_id=ug.group_id AND ug.user_id=3 WHERE u.user_id=3 AND g.group_single_user=0 AND g.group_count_enable=1 AND g.group_moderator<>3

Line : 486
File : /var/www/webxxxx/html/phpbb/includes/functions_post.php
Von diesen merkwürdigen g.irgendwas select abfragen habe ich leider noch keine Ahnung.
Wer weiß da etwas näheres??

Verfasst: 20.03.2007 12:51
von caballonegro
Ich habe inzwischen etwas experimentiert, doch immer noch keine Lösung gefunden.

Ich nehme an, das mit dem vorangestellten g. die Tabelle phpbb_groups gemeint ist.

In den Tabellen phpbb_groups u. phpbb_user_group, gibt es natürlich solche Felder Namens group_id


Warum sagt er denn, er kennt diese Spalte group_id dieser Tabelle nicht?
bzw. wieso will er die nicht lesen können??

Kann mir damit bitte jemand helfen ??

Danke

Verfasst: 20.03.2007 12:59
von Dr.Death
Du hast dein Thema binnen weniger Minuten/Stunden mit einem Folgebeitrag nach oben geschoben.
Die Mindestwartezeit für Topic Bumping beträgt 24 Stunden.

Bitte lies Dir den phpBB.de-Knigge und den Hinweis zur Fragestellung und Rechtschreibung durch und beachte diese zukünftig.

Verfasst: 20.03.2007 13:56
von caballonegro
Sorry,
Beitragsbumping war nicht mein Ziel.
Rechtschreibfehler, da habe ich nur fehlende Komma entdeckt.
Gelobe künftig Besserung.

Gruß