Seite 1 von 2

Approve-Mod und CH-Mod

Verfasst: 05.04.2006 22:03
von karstenkurt
Hallo,

hab gerade bei Durchsicht meiner Index.php festgestellt, das ein Block des Approve-Mods im durch den CH-Mod 2.0.5 auskommentierten Bereichs liegt.
Weiss iregendwer was dieser Bereich macht bzw. wie ich den wie kompatibel herstellen kann? Und zwar handelt es sich um diesen Code-Part

Code: Alles auswählen

//
// Begin Approve_Mod Block : 1
//
              $approve_mod = array();
              $approve_sql = "SELECT enabled, approve_moderators, forum_hide_unapproved_posts, forum_hide_unapproved_topics
                FROM " . APPROVE_FORUMS_TABLE . " 
                WHERE forum_id = " . intval($forum_data[$j]['forum_id']) . " LIMIT 0,1"; 
              if ( !($approve_result = $db->sql_query($approve_sql)) ) 
              { 
                message_die(GENERAL_ERROR, $lang['approve_posts_error_obtain'], '', __LINE__, __FILE__, $approve_sql); 
              } 
              if ( $approve_row = $db->sql_fetchrow($approve_result) ) 
              {    
                if ( intval($approve_row['enabled']) == 1 )
                {
                  $approve_mod = $approve_row;
                  $approve_mod['enabled'] = true;
                }
              }
              if ( $approve_mod['enabled'] )
              {
                
                if ( $forum_data[$j]['user_id'] == ANONYMOUS || $approve_mod['forum_hide_unapproved_posts'] || $approve_mod['forum_hide_unapproved_topics'] )
                {
                  $approve_mod['moderators'] = array();
                  $approve_mod['moderators'] = explode('|', $approve_mod['approve_moderators']);
                  
                  if ( !in_array($userdata['user_id'], $approve_mod['moderators']) && !$is_auth_ary[$forum_id]['auth_mod'] && $last_post != $lang['No_Posts'] )
                  {
                    $approve_sql = "SELECT * 
                      FROM " . APPROVE_POSTS_TABLE . " 
                      WHERE post_id = " . intval($forum_data[$j]['forum_last_post_id']) . " 
                      LIMIT 0,1"; 
                    if ( !$approve_result = $db->sql_query($approve_sql) ) 
                    { 
                      message_die(GENERAL_ERROR, $lang['approve_posts_error_obtain'], '', __LINE__, __FILE__, $approve_sql); 
                    }  
                    $approve_row = $db->sql_fetchrow($approve_result);
                    if ( intval($approve_row['post_id']) == intval($forum_data[$j]['forum_last_post_id']) )
                    {
                      if ( $approve_mod['forum_hide_unapproved_posts'] || $approve_mod['forum_hide_unapproved_topics'] )
                      {
                        $approve_sql = "SELECT p.post_id, p.poster_id, p.post_time, p.post_username, u.username, u.user_id 
                          FROM " . POSTS_TABLE . " p, " . USERS_TABLE . " u 
                          WHERE p.forum_id = " . intval($forum_data[$j]['forum_id']) . "
                          AND u.user_id = p.poster_id 
                          ORDER BY p.post_time DESC";
                        if ( !($approve_result = $db->sql_query($approve_sql)) ) 
                        { 
                          message_die(GENERAL_ERROR, $lang['approve_posts_error_obtain'], '', __LINE__, __FILE__, $approve_sql); 
                        } 
                        while( $approve_row = $db->sql_fetchrow($approve_result) )
                        {
                          $approve_sql = "SELECT * FROM " . APPROVE_POSTS_TABLE . " 
                            WHERE post_id = " . intval($approve_row['post_id']) . " 
                            LIMIT 0,1";
                          if ( !($approve_result2 = $db->sql_query($approve_sql)) ) 
                          { 
                            message_die(GENERAL_ERROR, $lang['approve_posts_error_obtain'], '', __LINE__, __FILE__, $approve_sql); 
                          } 
                          $approve_row2 = $db->sql_fetchrow($approve_result2);
                          if ( !$approve_row2['post_id'] )
                          {
                            $last_post_time = create_date($board_config['default_dateformat'], $approve_row['post_time'], $board_config['board_timezone']);
                            $last_post = $last_post_time . '<br />';

                            $last_post .= ( $approve_row['user_id'] == ANONYMOUS ) ? ( ($approve_row['post_username'] != '' ) ? $approve_row['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $approve_row['poster_id']) . '">' . $approve_row['username'] . '</a> ';
                            
                            $last_post .= '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $approve_row['post_id']) . '#' . $approve_row['post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
                            break;
                          }
                        }    
                      }
                      else
                      {
                        $last_post = $last_post_time . '<br />';
                        $last_post .= $lang['Guest'] . '  ' . '<a href="' . append_sid("viewforum.$phpEx?"  . POST_FORUM_URL . '=' . $forum_data[$j]['forum_id']) . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '" /></a>';
                      }
                    }
                  }
                }
              }
//
// End Approve_Mod Block : 1
//
Ca. 200 Zeilen darüber steht

Code: Alles auswählen

//-- mod : categories hierarchy --------------------------------------------------------------------
//-- delete
/*
und 20 Zeilen darunter steht Also wird dieser Code nie ausgeführt. Wie bekomm ich den in meinem Board ans Laufen?

Verfasst: 05.04.2006 22:12
von easygo
Jo wenn das so ist, wirst du nach der Stelle (MOD Install -> FIND) statt in der
index.php in der functions_categories_hierarchy.php suchen müssen

Dort den Hack dann einfügen und testen. easy

Verfasst: 05.04.2006 22:16
von karstenkurt
Hi,

der erste Teil der Find-Abfrage ist enthalten

Code: Alles auswählen

# 
#-----[ FIND ]------------------------------------------
#
$template->assign_block_vars('catrow.forumrow',	array(
	'ROW_COLOR' => '#' . $row_color,
aber ROW_COLOR kann ich dort nicht finden?

Verfasst: 05.04.2006 22:28
von easygo
Kenne die Approve MOD nicht und hab hier auch keine Install rumfliegen von.

Also mal genauer beschreiben oder MOD verlinken bitte.

Der assign_block 'catrow.forumrow' ist auf jeden Fall vorhanden
(und btw die var ROW_COLOR bei mir auch) aber wichtig zum Einfügen
ist doch nur der Block, wenn ich das richtig sehe. easy

Verfasst: 05.04.2006 22:33
von karstenkurt
Download

Bitte bedenke CH-Mod 2.0.5 RC2.

Verfasst: 05.04.2006 23:03
von easygo
Fehler in gepackter Datei ... :roll:
karstenkurt hat geschrieben:Bitte bedenke CH-Mod 2.0.5 RC2.
Jo wenns anders wär, dann würde dir der Tipp mit der Suche in der
functions_categories_hierarchy auch nicht viel weiterhelfen.

Verfasst: 06.04.2006 04:16
von karstenkurt
Habs nochmal hochgeladen oder Du nimmt den hier
http://www.synace.com/projects/phpBBmod ... 1.0.10.zip
Direkt vom Hersteller :grin:
Thred dazu:
http://www.phpbb.com/phpBB/viewtopic.php?t=76852

Verfasst: 06.04.2006 07:45
von easygo
Ok wie gesagt... beim Einfügen seh ich da jetzt weniger ein Problem.

Code: Alles auswählen

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

# 
#-----[ FIND ]------------------------------------------
#
			// send to template
			$template->assign_block_vars('catrow', array());
			$template->assign_block_vars('catrow.forumrow',	array(

# 
#-----[ BEFORE, ADD ]------------------------------------------
#

Verfasst: 06.04.2006 10:21
von karstenkurt
So, eingbaut hab ichs. Aber das was ich mir davon erwartet hatte ist ausgeblieben :cry:

Da muss ich wohl noch ein wenig nacharbeiten. Denn die ganzen $forum_data[$j]['..'] gehen ja nun nicht mehr.

Verfasst: 06.04.2006 14:33
von easygo
Das schaffst du schon -> $db auf global setzen nicht vergessen. 8) easy