Seite 3 von 4

Verfasst: 25.05.2007 18:39
von flatron2006
metty84 hat geschrieben:na ich würde sagen alle phpdatein die du für den mod hochgeladen hast und duie damit zu tuen haben also: congrat.php, congrat_popup.php

und fals es noch zu fehlern im acp kommt kannst du die admin_congrat.php noch checken
ich finde das nur in der einen datei, hab nicht soviel php erfahrung :(

Verfasst: 25.05.2007 20:59
von metty84
kann sein weis ich nicht wiegesagt so genau hab ioch mir den code nicht angesehen aber auf alle fälle sind es schon mehrere stellen in der einen datei

Verfasst: 31.05.2007 14:48
von Fussball-Experte.com
Hi,
habe mal nach den entsprechenden Stellen gesucht, und diese auch angeändert. Nur leider hat diesen Erfolg gebracht.
Er gratuliert jetzt garnicht mehr. Denke ich werde irgend nen Fehler rein gebaut haben. Kann aml jemand drüber gucken?
http://fussballexperte.fu.funpic.de/.tx ... at.php.txt
http://fussballexperte.fu.funpic.de/.tx ... up.php.txt

Wäre echt super nett.

Greetz

Verfasst: 02.06.2007 12:05
von Fussball-Experte.com
*push*

Verfasst: 02.06.2007 18:06
von metty84
k hier schonmal die erste datei

Code: Alles auswählen

<?php

function get_congrat_config()
{
	global $db, $board_config;
	$congrat_config = array();
	$sql = "SELECT *
	FROM " . CONGRATS_TABLE;
	 	if ( !($result = $db->sql_query($sql)) )
	  {
		message_die(GENERAL_ERROR, 'Could not query Congratulation information', '', __LINE__, __FILE__, $sql);
	  }
	    while ($row = $db->sql_fetchrow($result))
	  {
		  $congrat_config[$row['config_name']] = trim($row['config_value']);
	  }
	return ($congrat_config);
}
$congrat_config = get_congrat_config();
$congrat_array = array($congrat_config['congrat_posts']);

$do_congrat = (in_array($userdata['user_posts'], ($congrat_array)) && ( $userdata['user_congrat'] < $userdata['user_posts'] )) ? TRUE : FALSE ;

if ( !$congrat_config['congrat_active'] == 0 && !$userdata['session_logged_in'] == 0 )
{
  if ( $congrat_config['congrat_when'] == 1 )
  {
    $sql = "SELECT user_id, user_posts, user_congrat
         FROM " . USERS_TABLE . "
         WHERE user_id = " . $userdata['user_id'];
      if ( !($result = $db->sql_query($sql)) )
	    {
		   message_die(GENERAL_ERROR, 'Could not get user posts', '', __LINE__, __FILE__, $sql);
	    }
        if ( in_array($userdata['user_posts'], ($congrat_array)) && ( $userdata['user_congrat'] < $userdata['user_posts'] ) )
        {
          $sql = "UPDATE " . USERS_TABLE . "
        SET user_congrat = ".$userdata['user_posts']."
        WHERE user_id = " . $userdata['user_id']; 
          if ( !$db->sql_query($sql) ) 
          { 
           message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql); 
          }
          else
          {
            if ( !$congrat_config['congrat_how'] == 0 )
            {
               $template->assign_var("CONGRAT_POPUP",  
		                "<script language=\"Javascript\" type=\"text/javascript\"><!-- 
		                window.open('".append_sid('congrat_popup.'.$phpEx)."',   '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); 
		                //--> 
		                </script>");
            }
            else
            {
              $congrat_message = sprintf($congrat_config['congrat_text'], $userdata['username'], $userdata['user_posts']);
              $template->assign_block_vars("congrat_user", array());
              $template->assign_var("CONGRAT_MESSAGE",$congrat_message);
            }
           }   
          } 
         }  
         else
         {
           $sql = "SELECT SUM(forum_posts) AS post_total
				 FROM " . FORUMS_TABLE;
         if ( !($result = $db->sql_query($sql)) )
	       {
		      return false;
	       }
          $row = $db->sql_fetchrow($result);
         }
          $post_total = $row['post_total'];
        
            if ( in_array($row['post_total'], ($congrat_array)) )
            {
              $sql = "UPDATE " . CONGRATS_TABLE . " 
					  SET config_value = " . $userdata['user_id'] . "
					  WHERE config_name = 'congrat_usersumid'"; 
             if ( !$db->sql_query($sql) ) 
             { 
                message_die(GENERAL_ERROR, 'Could not congrats congrats table', '', __LINE__, __FILE__, $sql); 
             }
             else
             {
               $sql = "UPDATE " . CONGRATS_TABLE . " 
					   SET config_value = " . $row['post_total'] . "
					   WHERE config_name = 'congrat_reached'";
				      if (!$db->sql_query($sql))
				      {
					     message_die(GENERAL_ERROR, 'Could not update congrat table', '', __LINE__, __FILE__, $sql);
				      }
              else
              {
                $sql = "UPDATE " . USERS_TABLE . "
              SET user_congrat = ".$userdata['user_posts']." 
              WHERE user_id = " . $userdata['user_id']; 
                if ( !$db->sql_query($sql) ) 
                { 
                 message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql); 
                }
                 else
                 {
                   if ( $do_congrat == TRUE )
                   {
                     if ( !$congrat_config['congrat_how'] == 0 )
                     {
                       $template->assign_var("CONGRAT_POPUP",  
		                      "<script language=\"Javascript\" type=\"text/javascript\"><!-- 
		                      window.open('".append_sid('congrat_popup.'.$phpEx)."',   '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); 
		                      //--> 
		                      </script>");
                     }
                     else
                     {
                       $congrat_message = sprintf($congrat_config['congrat_text'], $userdata['username'], $congrat_config['congrat_reached']);
                       $template->assign_block_vars("congrat_user", array());
                       $template->assign_var("CONGRAT_MESSAGE",$congrat_message);
                     }
                  }                     
               }
            
         }
      }
   }
}  
  
?>



und hier das popup dazu

Code: Alles auswählen

<?
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

$gen_simple_header = TRUE; 
$page_title = $lang['Congrat_title']; 
include($phpbb_root_path . 'includes/page_header.'.$phpEx); 

$sql = "SELECT *
	FROM " . CONGRATS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
	message_die(CRITICAL_ERROR, "Could not query congrat information", "", __LINE__, __FILE__, $sql);
}

while ( $row = $db->sql_fetchrow($result) )
{
	$congrat[$row['config_name']] = $row['config_value'];
}

if ( !$congrat['congrat_when'] == 1 )
{
  $sql = "SELECT username
	FROM " . USERS_TABLE . " 
	WHERE user_id = ". $congrat['congrat_usersumid'];
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not get user data', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
  $l_congrat_user = sprintf($congrat['congrat_text'], $row['username'], $congrat['congrat_reached']);
}
else
{
  $sql = "SELECT username, user_posts
	FROM " . USERS_TABLE . " 
	WHERE user_id = ". $userdata['user_id'] . "
  AND user_congrat = ".$userdata['user_posts'] ;
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not get user data', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
  $l_congrat_user = sprintf($congrat['congrat_text'], $row['username'], $row['user_posts']);
}

$template->set_filenames(array( 
      'body' => 'congrat_popup.tpl')); 
$template->assign_vars(array( 
      'L_CLOSE_WINDOW' => $lang['Close_window'], 
      'L_MESSAGE' => $l_congrat_user)); 
$template->pparse('body'); 
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); 

?>

Verfasst: 03.06.2007 12:36
von Fussball-Experte.com
Hi,
danke habe die Dateien jetzt mit deinen ersetzt.
Es passiert aber leider immer noch garnichts.
Ich habe die Werte so geschrieben 1, 2, 3
aber als ich dann mit meinem Testaccount die Beiträge geschrieben habe, passierte einfach nix.
Muss ich vielleicht noch woanders etwas umändern?

Greetz

Verfasst: 03.06.2007 15:36
von metty84
das kann sein ich weis ja nicht was zu dem mod noch alles dazugehört hast mir ja nur die 2 datein gepostet

Verfasst: 03.06.2007 20:15
von Fussball-Experte.com
Achso, ich hab dann jetzt mal alle Dateien, die bei dem Mod dabei waren, oder bei dem Mod verändert wurden hoch geladen.
http://fussballexperte.fu.funpic.de/congrat/
Hoffe du kannst mir helfen.

Greetz

/edit
Könnt auch gerne mal über einen Testaccount testen...
Name: Test
Passwort: test

Verfasst: 04.06.2007 22:59
von Fussball-Experte.com
*push*
Bitte helft mir...

Greetz

Re: Beitragsgratulierer erweitern

Verfasst: 11.09.2008 13:19
von MK35
svenrieger hat geschrieben:Der Beitragsgratulierer funktioniert nur bei einer eingestellten Beitragszahl.

Gibt es die Möglichkeit bei mehrere Beitragszahlen den Gratulierer laufen zu laseen z.B. bei 10, 25, 100 Beiträgen.

Danke im voraus.
Gibt es da mittlerweile eine Lösung?