SUCHE EINEN DANKE MOD/karma Mod

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
hackerking
Mitglied
Beiträge: 46
Registriert: 17.11.2007 12:27

SUCHE EINEN DANKE MOD/karma Mod

Beitrag von hackerking »

ich suche einen danke mod oder einen karma mod
hackerking
Mitglied
Beiträge: 46
Registriert: 17.11.2007 12:27

Beitrag von hackerking »

weiß niemand einen????
manuj170793
Mitglied
Beiträge: 170
Registriert: 29.06.2007 22:03
Kontaktdaten:

Beitrag von manuj170793 »

karma:
http://phpbbhacks.com/download/3237

bedankomat:

Code: Alles auswählen

##############################################################
## MOD Title: Bedankomat
## MOD Author: cyberWolf < daniel@delphipraxis.net > (Daniel R. Wolf) www.delphipraxis.net
## MOD Description: some_description_goes_here
## MOD Version: 0.1.1
##
## Installation Level: easy
## Installation Time: 10
## Files To Edit: includes/constants.php
##                viewtopic.php
##                templates/subSilver/viewtopic_body.tpl
## Included Files: (n/a)
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/
##############################################################
## Author Notes: (n/a)
##
##############################################################
## MOD History:  0.1.1 initial release (22-JAN-2003)
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################


IMPORTANT:

You will have to create an extra table. Plase run the following SQL-code
within your DBMS:



CREATE TABLE `phpbb_bedankomat` (
  `thx_id` smallint(11) NOT NULL auto_increment,
  `user_id` smallint(11) NOT NULL default '0',
  `topic_id` smallint(11) NOT NULL default '0',
  PRIMARY KEY  (`thx_id`)
) TYPE=MyISAM;




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

#
#-----[ FIND ]------------------------------------------
#
define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');

#
#-----[ AFTER, ADD ]------------------------------------------
#
define('BEDANKOMAT_TABLE', $table_prefix.'bedankomat');

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

#
#-----[ FIND ]------------------------------------------
#
if ( !isset($topic_id) && !isset($post_id) )
{
   message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}

#
#-----[ AFTER, ADD ]------------------------------------------
#
//////////////////////////////////////////////
//
//   Bedankomat START (1)
//   Hier quetschen wir den Bedankomat dazwischen
//   und schauen, ob es etwas fuer uns zu tun gibt
//
//////////////////////////////////////////////

if (isset($HTTP_GET_VARS['mode']) && isset($HTTP_GET_VARS['u']) && isset($HTTP_GET_VARS['t']))
{
   // Alle benoetigten Parameter sind schonmal vorhanden. Das ist wenigstens ein Anfang.
   $thx_user_id = intval($HTTP_GET_VARS['u']);
   $thx_topic_id = intval($HTTP_GET_VARS['t']);
   $thx_mode = stripslashes($HTTP_GET_VARS['mode']);

   switch ($thx_mode)
   {
      case 'add_thx':
            // Von mir aus. Ein 'Dankeschoen' soll also hinzugefuegt 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);
            }

            // Man soll sich ja pro Topic nur einmal bedanken koennen. Also muesen wir jetzt prufen, ob
            // dieser User sich bereits fuer dieses Topic bedankt hat.
            $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 bereits bedankt.
               message_die(GENERAL_ERROR, 'Einmal reicht. ;-)', '', __LINE__, __FILE__, $sql);
            }

            // Hier endlich angekommen scheint alles klar zu gehen. ;-)
            // Der User existiert, will sich aufrichtig bedanken und hat dies auch noch nicht getan.
            $sql = 'INSERT INTO ' .BEDANKOMAT_TABLE. ' (user_id, topic_id) VALUES (' .$thx_user_id. ', ' .$thx_topic_id. ')';
            if ( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, 'Could not update bedankomat information', '', __LINE__, __FILE__, $sql);
            }
            // done.

            break;
      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;
      default:
            // und was machen wir hier? irgendeine Fehlermeldung auszugeben waere nicht das Verkehrteste....
            message_die(GENERAL_ERROR, 'unknown "mode"', '', __LINE__, __FILE__, $sql);
            break;
   }

   $db->sql_freeresult($result);
   unset( $sql );
   unset( $thx_user_id );
   unset( $thx_topic_id );
   unset( $thx_mode );
}

//////////////////////////////////////////////
//
// Bedankomat Ende (1)
//
//////////////////////////////////////////////

#
#-----[ FIND ]------------------------------------------
#
//
// Topic watch information
//

#
#-----[ BEFORE, ADD ]------------------------------------------
#
/////////////////////////////////////////////////////////
//
//   Bedankomat-Start (2)
//
/////////////////////////////////////////////////////////


// nungut - erstmal soll das Teil nur fuer registrierte Benuzer vorhanden sein.
if ($userdata['session_logged_in'])
{
   // Nun muss sich der Admin entscheiden - soll ein Benutzer die Möglichkeit haben, ein
   // 'Dankeschoen' wieder zurueckzunehmen? Wenn nicht, dann muss die folgende Variable
   // auf '0' gestzt werden, sonst eben auf einen Wert ungleich '0' - etwa die '1' wäre
   // eine gute Alternative ;-)
   $allow_remove_thanks = 1;  // noch nicht implementiert !!!!!


   // Jetzt gibt es zwei Moeglichkeiten:
   // (1) Dieser Benutzer hat sich bereits bedankt - dann koennte er seine Danksagung zurueckziehen
   // (2) Dieser Benutzer hat sich noch nicht bedankt und erhaelt jetzt die Möglichkeit hierzu
   

   // Feststellen, ob der aktuelle Benutzer sich fuer dieses Topic schon bedankt hat.
   $sql = 'SELECT * FROM ' .BEDANKOMAT_TABLE. ' WHERE (user_id=' . $userdata['user_id'] . ') AND (topic_id=' .$topic_id. ') LIMIT 1';
   if ( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain user-bedankomat information', '', __LINE__, __FILE__, $sql);
   }


   if ($db->sql_numrows($result) == 1)
   {
      // Daten liegen vor - Benutzer hat sich also schon bedankt.
      $l_bedankomat = '\'Dankeschön\' zurücknehmen';
      $u_bedankomat = append_sid('viewtopic.'.$phpEx.'?mode=remove_thx&u='.$userdata['user_id'].'&t='.$topic_id);
   }
   else
   {
      // Daten liegen nicht vor - Benutzer hat sich also noch nicht bedankt.
      $l_bedankomat = '\'Dankeschön\' sagen.';
      $u_bedankomat = append_sid('viewtopic.'.$phpEx.'?mode=add_thx&u='.$userdata['user_id'].'&t='.$topic_id);
   }
}
else
{
   $l_bedankomat = '';
   $u_bedankomat = '';
}


// Jetzt generieren wir die Ansicht fuer diejenigen, die sich bedankt haben.
$sql = 'SELECT b.user_id, b.topic_id, u.username FROM ' .BEDANKOMAT_TABLE. ' b, ' .USERS_TABLE. ' u
   WHERE (b.user_id = u.user_id) AND (b.topic_id = ' .$topic_id. ')';
if ( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not obtain topic-bedankomat information', '', __LINE__, __FILE__, $sql);
}

$thx_users = array();
$num_thxs = $db->sql_numrows($result);
$thx_users = $db->sql_fetchrowset($result);

if ($num_thxs > 0)
{
   $l_thx_userlist = '';
   $l_thx_user = 'Für diesen Thread bedanken sich die folgenden User:';

   for ($index=0; $index<$num_thxs; $index++)
   {
      $l_thx_userlist .= ($index==0) ? $thx_users[$index]['username'] : ', ' . $thx_users[$index]['username'];
   }

   $template->assign_block_vars('switch_bedankomat', array() );
}
else
{
   $l_thx_userlist = '';
   $l_thx_user = '';
}

unset( $num_thxs );
unset( $thx_users );

/////////////////////////////////////////////////////////
//
//   Bedankomat-Ende (2)
//
/////////////////////////////////////////////////////////

#
#-----[ FIND ]------------------------------------------
#
'L_GOTO_PAGE' => $lang['Goto_page'],

#
#-----[ AFTER, ADD ]------------------------------------------
#
'L_BEDANKOMAT' => $l_bedankomat,
'U_BEDANKOMAT' => $u_bedankomat,
'L_BEDANKOMAT_USERS' => $l_thx_userlist,
'L_BEDANKOMAT_TEXT' => $l_thx_user,

#
#-----[ OPEN ]------------------------------------------
#
templates/subSilver/viewtopic_body.tpl

#
#-----[ FIND ]------------------------------------------
#
   <td align="left" valign="middle" width="100%"><span class="nav">&nbsp;&nbsp;&nbsp;<a href="{U_INDEX}" class="nav">{L_INDEX}</a>
     -> <a href="{U_VIEW_FORUM}" class="nav">{FORUM_NAME}</a></span></td>
  </tr>
#
#-----[ AFTER, ADD ]------------------------------------------
#
  <tr>
   <td colspan="2"><span class="gen"><a href="{U_BEDANKOMAT}" class="nav">{L_BEDANKOMAT}</a></span></td>
  </tr>

#
#-----[ FIND ]------------------------------------------
#
<!-- END postrow -->

#
#-----[ AFTER, ADD ]------------------------------------------
#
<!-- BEGIN switch_bedankomat -->
<tr>
   <td class="row1" colspan="2"><span class="gen"><b>{L_BEDANKOMAT_TEXT}</b>&nbsp;{L_BEDANKOMAT_USERS}</td>
</tr>
<!-- END switch_bedankomat -->

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM
hackerking
Mitglied
Beiträge: 46
Registriert: 17.11.2007 12:27

Beitrag von hackerking »

kannst du mir die fertigen datein mit dem danke mod schicken
manuj170793
Mitglied
Beiträge: 170
Registriert: 29.06.2007 22:03
Kontaktdaten:

Beitrag von manuj170793 »

fertige dateien?
da musst du nur welche editieren. Wenn man das machen soll, dann melde dich in der Jobbörse.
Eddie123Karlsruhe
Mitglied
Beiträge: 1
Registriert: 20.11.2007 16:34

Beitrag von Eddie123Karlsruhe »

Wo soll ich CREATE TABLE `phpbb_bedankomat` (
`thx_id` smallint(11) NOT NULL auto_increment,
`user_id` smallint(11) NOT NULL default '0',
`topic_id` smallint(11) NOT NULL default '0',
PRIMARY KEY (`thx_id`)
) TYPE=MyISAM;

einfügen
Ach ja und

if ( !isset($topic_id) && !isset($post_id) )
{
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}
findet er nicht ( viewtopic )
Michael Zacher
Mitglied
Beiträge: 1620
Registriert: 03.01.2004 23:12
Wohnort: Aken (Elbe)

Beitrag von Michael Zacher »

Hallo,

Code: Alles auswählen

CREATE TABLE `phpbb_bedankomat` (
`thx_id` smallint(11) NOT NULL auto_increment,
`user_id` smallint(11) NOT NULL default '0',
`topic_id` smallint(11) NOT NULL default '0',
PRIMARY KEY (`thx_id`)
) TYPE=MyISAM;
führst Du bei phpMyAdmin aus.

Und such in der viewtopic.php mal nicht nach

Code: Alles auswählen

f ( !isset($topic_id) && !isset($post_id) )
{
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}
sondern nur nach einem Teil vom Gesuchten.
Mit freundlichen Grüßen / Best regards / Met vriendelijke groeten

Michael Zacher
Benutzeravatar
Daryl van Horne
Mitglied
Beiträge: 936
Registriert: 08.07.2008 01:25
Kontaktdaten:

Beitrag von Daryl van Horne »

was soll dann passieren, bei mir ist nix zu sehen...
habe die mysql erfolgreich bearbeitet, und die dateien...

bei der:
if ( !isset($topic_id) && !isset($post_id) )
{
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}
hab ich nur nach:
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
geucht, die zeile wurde 2x gefunden, und bei der ersten zeile, die am ähnlisten aussah, nur ohne "isset" hab ich den langen code danach eingebaut...

aba bei mir ist nix zu sehen...

wo sollte denn was zu sehen sein?
Fettflecken halten länger, wenn man sie ab und zu mit Butter einreibt. :D http://www.00493088535469.de/
Benutzeravatar
Daryl van Horne
Mitglied
Beiträge: 936
Registriert: 08.07.2008 01:25
Kontaktdaten:

Beitrag von Daryl van Horne »

hi,

hat sich erledigt...
ich habs gefunden, das steht dann oben...

aba ich ging davon aus das man bei der erstellung der nachricht irgendwo ein häkchen reinmachen mus, und der bedankomat nich in jedem them angezeigt wird...

aba trotzdem danke...

mfg daryl
Fettflecken halten länger, wenn man sie ab und zu mit Butter einreibt. :D http://www.00493088535469.de/
Benutzeravatar
Daryl van Horne
Mitglied
Beiträge: 936
Registriert: 08.07.2008 01:25
Kontaktdaten:

Beitrag von Daryl van Horne »

hi,

hab noch ne frage...
der karma mod:
manuj170793 hat geschrieben:karma:
http://phpbbhacks.com/download/3237
wo kann man mal n demo sehen?!? hat das vieleicht schon einer bei sich eingebaut?

mfg daryl
Fettflecken halten länger, wenn man sie ab und zu mit Butter einreibt. :D http://www.00493088535469.de/
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“