Prob mit Bedankomat!

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

:grin: Super das isses Danke dir vielmals für deine Mühe.

Steht zwar nun am Ende, aber es ist so wie ich mir das dachte.

Du machst echt 'nen tollen Job
Gruß
CADwiesel
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Moin moin

super das du nun fertig bist.....dann kommen mal meine Probleme:

Ich möchte gern das der User die Bedankung nicht mehr zurück nehmen kann.

In der Anleitung steht zwar:

Code: Alles auswählen

$allow_remove_thanks = 1;  // noch nicht implementiert !!!!!
Muß man das nun auf 0 (null) setzen oder geht das noch garnicht ????

Danke schon mal

DP
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

Hast es denn mal ausprobiert?
Gruß
CADwiesel
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

Was passiert denn wenn du das ganze auf 0 stellst? Können die User dann ihre "Danke" zurücknehmen ?

Markus
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

ich habe hier noch was gefunden :

Code: Alles auswählen

Wenn ihr nicht wollt, daß man das "Danke" zurücknehmen kann:

# 
#-----[ OPEN ]----- 
# 
viewtopic.php 

# 
#-----[ FIND AND DELETE ]----- 
# 
      case 'remove_thx': 
            // Von mir aus. Ein 'Dankeschoen' soll also zurueckgenommen werden. 
            // Es kostet zwar eine zuaetzliche SQL-Abfrage, aber wir sollten an dieser 
            // Stelle anhand der User-Datenbank pruefen, ob die gegebene User-ID wirklich 
            // gueltig ist. 
            // Auch den User ANONYMOUS (-1) wollen wir ausschliessen. 
            $sql = 'SELECT user_id FROM ' .USERS_TABLE. ' WHERE user_id=' .$thx_user_id. ' LIMIT 1'; 
            if ( !($result = $db->sql_query($sql)) ) 
            { 
               message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql); 
            }              
            if (($db->sql_numrows($result) == 0) && ($thx_user_id == -1)) 
            { 
               // Ein Satz mit 'X' - das war wohl nix. 
               // Es wurde eine ungueltige User-ID uebergeben. 
               // Um so besser - dann haben wir weniger zu tun. 
               message_die(GENERAL_ERROR, 'Invalid User-ID', '', __LINE__, __FILE__, $sql); 
            } 

            // Wir wollen nur dann weiter machen, wenn sich dieser User auch fuer dieses Topic bedankt hat. 
            // Man koennte sich ueberlegen, sich diese Abfrage zu schenken, aber es schadet nichts, 
            // fuer alle Situationen gewappnet zu sein. 
            $sql = 'SELECT * FROM ' .BEDANKOMAT_TABLE. ' WHERE (user_id=' .$thx_user_id. ') AND (topic_id=' .$thx_topic_id. ') LIMIT 1'; 
            if ( !($result = $db->sql_query($sql)) ) 
            { 
               message_die(GENERAL_ERROR, 'Could not obtain bedankomat information', '', __LINE__, __FILE__, $sql); 
            } 
            if ($db->sql_numrows($result) == 0) 
            { 
               // Noch ein Satz mit 'X' - das war wohl wieder nix. 
               // Dieser User hat sich fuer diesen Thread niemals bedankt. 
               message_die(GENERAL_ERROR, 'invalid data', '', __LINE__, __FILE__, $sql); 
            } 

            // Endlich: 
            // Dann versuchen wir jetzt, das 'Dankeschoen' dieses Users fuer genau dieses Topic 
            // aus der Datenbank zu entfernen. 
            $sql = 'DELETE FROM ' .BEDANKOMAT_TABLE. ' WHERE (user_id=' .$thx_user_id. ') AND (topic_id=' .$thx_topic_id. ') LIMIT 1'; 
            if ( !($result = $db->sql_query($sql)) ) 
            { 
               message_die(GENERAL_ERROR, 'Could not update bedankomat information', '', __LINE__, __FILE__, $sql); 
            } 
            // done. 

            break; 

# 
#------[ FIND ]----- 
# 
      $l_bedankomat = $lang['Say_no_thanks']; 
      $u_bedankomat = append_sid('viewtopic.'.$phpEx.'?mode=remove_thx&u='.$userdata['user_id'].'&t='.$topic_id); 

# 
#-----[ REPLACE WITH ]----- 
# 
      $l_bedankomat = ''; 
      $u_bedankomat = ''; 


# 
#-----[ SAVE/CLOSE ALL FILES ]----- 
# 
# EoM
Gruß
CADwiesel
CADwiesel
Mitglied
Beiträge: 57
Registriert: 23.09.2004 15:45
Kontaktdaten:

Beitrag von CADwiesel »

@Markus

eine Sache ist mir aber noch aufgefallen
es wird nun unter jeder Seite (wenn ein Toppic mehrere Seiten beinhaltet) der Danke Threat angezeigt.
wenn ich den unter dem 1. Beitrag platzieren möchte, muss ich den irgendwo anders einbauen.

weißt du wo?
.. ich fummel mal etwas rum mal sehen....
Gruß
CADwiesel
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Die Variable steht auf 0 (null) ...aber man kann das Dankeschön trotz alldem zurück nehmen.

DP
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

Hi ...

@DreamPromise

Hast du schon den weiter oben geposteten Code von CADwiesel ausprobiert?

@CATwiesel

Wenn du das ganze an den Anfang stellst ist es das gleiche in grün .. nur steht es dann obendrüber. :wink:
Wie wird denn das ganze im Standard angezeigt? Kommt es da auch auf jeder Seite?

Markus
Benutzeravatar
DreamPromise
Mitglied
Beiträge: 3793
Registriert: 27.01.2004 17:56

Beitrag von DreamPromise »

Markus67 hat geschrieben:Hi ...

@DreamPromise

Hast du schon den weiter oben geposteten Code von CADwiesel ausprobiert?
Also diese Cod ist doch schon in der viewtopic.php mit drin.
Aber man kann das immernoch zurück nehmen.

DP
Benutzeravatar
Markus67
Ehrenadmin
Beiträge: 28346
Registriert: 12.01.2004 16:02
Wohnort: Neuss
Kontaktdaten:

Beitrag von Markus67 »

@DreamPromise

lösch das mal aus der viewtopic.php
(vorher aber bitte eine Sicherungskopie erstellen)

Code: Alles auswählen

      case 'remove_thx':
            // Von mir aus. Ein 'Dankeschoen' soll also zurueckgenommen werden.
            // Es kostet zwar eine zuaetzliche SQL-Abfrage, aber wir sollten an dieser
            // Stelle anhand der User-Datenbank pruefen, ob die gegebene User-ID wirklich
            // gueltig ist.
            // Auch den User ANONYMOUS (-1) wollen wir ausschliessen.
            $sql = 'SELECT user_id FROM ' .USERS_TABLE. ' WHERE user_id=' .$thx_user_id. ' LIMIT 1';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
            }            
            if (($db->sql_numrows($result) == 0) && ($thx_user_id == -1))
            {
               // Ein Satz mit 'X' - das war wohl nix.
               // Es wurde eine ungueltige User-ID uebergeben.
               // Um so besser - dann haben wir weniger zu tun.
               message_die(GENERAL_ERROR, 'Invalid User-ID', '', __LINE__, __FILE__, $sql);
            }

            // Wir wollen nur dann weiter machen, wenn sich dieser User auch fuer dieses Topic bedankt hat.
            // Man koennte sich ueberlegen, sich diese Abfrage zu schenken, aber es schadet nichts,
            // fuer alle Situationen gewappnet zu sein.
            $sql = 'SELECT * FROM ' .BEDANKOMAT_TABLE. ' WHERE (user_id=' .$thx_user_id. ') AND (topic_id=' .$thx_topic_id. ') LIMIT 1';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not obtain bedankomat information', '', __LINE__, __FILE__, $sql);
            }
            if ($db->sql_numrows($result) == 0)
            {
               // Noch ein Satz mit 'X' - das war wohl wieder nix.
               // Dieser User hat sich fuer diesen Thread niemals bedankt.
               message_die(GENERAL_ERROR, 'invalid data', '', __LINE__, __FILE__, $sql);
            }

            // Endlich:
            // Dann versuchen wir jetzt, das 'Dankeschoen' dieses Users fuer genau dieses Topic
            // aus der Datenbank zu entfernen.
            $sql = 'DELETE FROM ' .BEDANKOMAT_TABLE. ' WHERE (user_id=' .$thx_user_id. ') AND (topic_id=' .$thx_topic_id. ') LIMIT 1';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not update bedankomat information', '', __LINE__, __FILE__, $sql);
            }
            // done.

            break;
Markus
Antworten

Zurück zu „phpBB 2.0: Mod Support“