Pagina 1 van 1

Extended ranks

Geplaatst: 24 aug 2006, 16:21
door lordofhetringetje
Wat is het probleem?
extended ranks system werkt niet. Wanneer ik op de site kom krijg ik een foutcode dat de tabel niet bestaat terwijl deze er toch echt wel is.

dit is de code die de fout veroorzaakt:

Code: Selecteer alles

$rankcfg = array();
$sql = "SELECT *
	FROM " . RANKS_CONFIG_TABLE . "
	ORDER BY cfg_mode ASC;";
if( !$result = $db->sql_query($sql) )
{
	message_die(GENERAL_ERROR, "Couldn't obtain rank config data", "", __LINE__, __FILE__, $sql);
}
while ( $rank_cfg_row = $db->sql_fetchrow($result) )
{
	$rankcfg[$rank_cfg_row['cfg_mode'].','.$rank_cfg_row['cfg_mode_id']] = ( $rank_cfg_row['rank_id'] ) ? $rank_cfg_row['rank_id'] : $rank_cfg_row['rankset_id'];
}
$db->sql_freeresult($result);
Wanneer ontstond het probleem?
tijdens installatie mod
Adres van je forum:
http://lastaliance.nl/forum/
Directe link naar de modification:
http://mods.mosymuis.nl/viewtopic.php?t=123
phpBB versie:
2.0.21
Heb je onlangs een andere mod of stijl geïnstalleerd?
ja, maar daarvoor was de foutcode niet te zien.
Heb je gezocht naar een antwoord?
ja

Geplaatst: 24 aug 2006, 16:26
door Luuk
Zo te zien heb je het bestand includes/constants.php niet (goed) gemod. Kijk daar eens naar.

Geplaatst: 24 aug 2006, 16:31
door lordofhetringetje
ik heb dat bestand weer opnieuw gedaan en nu doet hij het wel

Bedankt :bier:

Geplaatst: 26 aug 2006, 18:11
door lordofhetringetje
ik doe het maar even in dit topic:

Ik ben op het moment bezig met deze mod http://www.phpbb.com/phpBB/viewtopic.ph ... categories

Het probleem is dat zodara je de plaatjes selecteerd en je terug gaat naar het profiel dat de avatar niet opgeslagen wordt en dat er een kruisje staat ipv het plaatje.

Dit is de code, waarschijnlijk zit hier de fout in (usercp_avatar.php):

Code: Selecteer alles

function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popup_pm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$rankset, &$dateformat, &$session_id, &$birthday)
{ 
   global $board_config, $db, $template, $lang, $images, $theme; 
   global $phpbb_root_path, $phpEx; 

   $dir = @opendir($board_config['avatar_gallery_path']); 

   $avatar_images = array(); 
   while( $file = @readdir($dir) ) 
   { 
      if( $file != '.' && $file != '..' && !is_file($board_config['avatar_gallery_path'] . '/' . $file) && !is_link($board_config['avatar_gallery_path'] . '/' . $file) ) 
      { 
         $avatar_row_count = 0; 
         $avatar_col_count = 0; 

         $sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file); 
         while( $sub_file = @readdir($sub_dir) ) 
         { 

            if( $sub_file != '.' && $sub_file != '..' && !is_link($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
            { 
               if( !is_file($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
               { 
                  $avatar_row_count_sub = 0; 
                  $avatar_col_count_sub = 0; 

                  $sub_sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file); 

                  while( $sub_sub_file = @readdir($sub_sub_dir) ) 
                  { 
                     if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_sub_file) ) 
                     { 
                        $avatar_images[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = $file . '/' . $sub_file . '/' . $sub_sub_file; 
                        $avatar_name[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_sub_file))); 

                        $avatar_col_count_sub++; 
                        if( $avatar_col_count_sub == 5 ) 
                        { 
                           $avatar_row_count_sub++; 
                           $avatar_col_count_sub = 0; 
                        } 
                     } 
                  } 
                  @closedir($sub_sub_dir); 

               } 
               else if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) ) 
               { 

                  $avatar_images[$file][' '][$avatar_row_count][$avatar_col_count] = $file . '/' . $sub_file; 
                  $avatar_name[$file][' '][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file))); 

                  $avatar_col_count++; 
                  if( $avatar_col_count == 5 ) 
                  { 
                     $avatar_row_count++; 
                     $avatar_col_count = 0; 
                  } 
               } 
            } 
         } 
      } 
   } 

   @closedir($dir); 

   @ksort($avatar_images); 
   @reset($avatar_images); 

   if( empty($category) || !array_key_exists($category, $avatar_images) ) 
   { 
      list($category, ) = each($avatar_images); 
   } 
   @reset($avatar_images); 

   // Remove image set in root folder and move to end of array 
   if( count($avatar_images[$category][' ']) ) 
   { 
      $tmp = $avatar_images[$category][' ']; 
      unset($avatar_images[$category][' ']); 
      $avatar_images[$category][' '] = $tmp; 
   } 

   $s_categories = '<select name="avatarcategory">'; 
   while( list($key) = each($avatar_images) ) 
   { 
      $selected = ( $key == $category ) ? ' selected="selected"' : ''; 
      if( count($avatar_images[$key]) ) 
      { 
         $s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>'; 
      } 
   } 
   $s_categories .= '</select>'; 

   while( list($sub_category) = @each($avatar_images[$category])) 
   { 
      for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
      { 
         $s_colspan = max($s_colspan, count($avatar_images[$category][$sub_category][$i])); 
      } 

   } 
   @reset($avatar_images[$category]); 

   while( list($sub_category) = @each($avatar_images[$category])) 
   { 
      $template->assign_block_vars("avatar_sub_category", array( 
         "CATEGORY_NAME" => $sub_category) 
      ); 

      if( (count($avatar_images[$category]) - 1) ) 
      { 
         $template->assign_block_vars('avatar_sub_category.switch_avatar_sub_category_heading', array()); 
      } 

      for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
      { 
         $template->assign_block_vars("avatar_sub_category.avatar_row", array()); 

         if( (count($avatar_images[$category][$sub_category][$i]) % $s_colspan) != 0 ) 
         { 
            $template->assign_block_vars('avatar_sub_category.avatar_row.switch_remainder_column', array( 
               "REMAINDER_COLSPAN" => ($s_colspan - (count($avatar_images[$category][$sub_category][$i]) % $s_colspan))) 
            ); 
         } 

         for( $j = 0; $j < count($avatar_images[$category][$sub_category][$i]); $j++ ) 
         { 
            $avatar_id = ''; 
            for( $n = 0; $n < strlen($avatar_images[$category][$sub_category][$i][$j]); $n++ ) 
            { 
               $avatar_id .= ord(substr($avatar_images[$category][$sub_category][$i][$j], $n, 1)); 
            } 

            $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_column', array( 
               "AVATAR_ID" => $avatar_id, 
               "AVATAR_IMAGE" => $board_config['avatar_gallery_path'] . '/' . $avatar_images[$category][$sub_category][$i][$j], 
               "AVATAR_NAME" => $avatar_name[$category][$sub_category][$i][$j]) 
            ); 

            $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_option_column', array( 
               "AVATAR_ID" => $avatar_id, 
               "S_OPTIONS_AVATAR" => $avatar_images[$category][$sub_category][$i][$j]) 
            ); 
         } 
      } 
   } 

	$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'cur_password', 'new_password', 'password_confirm', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popup_pm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'rankset', 'dateformat', 'birthday');

$s_hidden_vars = '<input type="hidden" name="sid" value="' . $session_id . '" /><input type="hidden" name="agreed" value="true" />'; 

   for($i = 0; $i < count($params); $i++) 
   { 
      $s_hidden_vars .= '<input type="hidden" name="' . $params[$i] . '" value="' . str_replace('"', '"', $$params[$i]) . '" />'; 
   } 
    
   $template->assign_vars(array( 
      'L_AVATAR_GALLERY' => $lang['Avatar_gallery'], 
      'L_SELECT_AVATAR' => $lang['Select_avatar'], 
      'L_RETURN_PROFILE' => $lang['Return_profile'], 
      'L_CATEGORY' => $lang['Select_category'], 

      'S_CATEGORY_SELECT' => $s_categories, 
      'S_COLSPAN' => $s_colspan, 
      'S_PROFILE_ACTION' => append_sid("profile.$phpEx?mode=$mode"), 
      'S_HIDDEN_FIELDS' => $s_hidden_vars) 
   ); 

   return; 
}


En anders zit hij hier in (admin_users.php):

Code: Selecteer alles

$dir = @opendir('../' . $board_config['avatar_gallery_path']); 

         while( $file = @readdir($dir) ) 
         { 
            if( $file != '.' && $file != '..' && !is_file('../' . $board_config['avatar_gallery_path'] . '/' . $file) && !is_link('../' . $board_config['avatar_gallery_path'] . '/' . $file) ) 
            { 
               $avatar_row_count = 0; 
               $avatar_col_count = 0; 

               $sub_dir = @opendir('../' . $board_config['avatar_gallery_path'] . '/' . $file); 
               while( $sub_file = @readdir($sub_dir) ) 
               { 

                  if( $sub_file != '.' && $sub_file != '..' && !is_link('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
                  { 
                     if( !is_file('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
                     { 
                        $avatar_row_count_sub = 0; 
                        $avatar_col_count_sub = 0; 

                        $sub_sub_dir = @opendir('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file); 

                        while( $sub_sub_file = @readdir($sub_sub_dir) ) 
                        { 
                           if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_sub_file) ) 
                           { 
                              $avatar_images[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = $file . '/' . $sub_file . '/' . $sub_sub_file; 
                              $avatar_name[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_sub_file))); 

                              $avatar_col_count_sub++; 
                              if( $avatar_col_count_sub == 5 ) 
                              { 
                                 $avatar_row_count_sub++; 
                                 $avatar_col_count_sub = 0; 
                              } 
                           } 
                        } 
                        @closedir($sub_sub_dir); 

                     } 
                     else if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) ) 
                     { 

                        $avatar_images[$file][' '][$avatar_row_count][$avatar_col_count] = $file . '/' . $sub_file; 
                        $avatar_name[$file][' '][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file))); 

                        $avatar_col_count++; 
                        if( $avatar_col_count == 5 ) 
                        { 
                           $avatar_row_count++; 
                           $avatar_col_count = 0; 
                        } 
                     } 
                  } 
               } 
            } 
         } 

         @closedir($dir); 

         @ksort($avatar_images); 
         @reset($avatar_images); 

         if( isset($HTTP_POST_VARS['avatarcategory']) ) 
         { 
            $category = $HTTP_POST_VARS['avatarcategory']; 
         } 
         else 
         { 
            list($category, ) = each($avatar_images); 
         } 
         @reset($avatar_images); 

         // Remove image set in root folder and move to end of array 
         if( count($avatar_images[$category][' ']) ) 
         { 
            $tmp = $avatar_images[$category][' ']; 
            unset($avatar_images[$category][' ']); 
            $avatar_images[$category][' '] = $tmp; 
         } 

         $s_categories = ""; 
         while( list($key) = each($avatar_images) ) 
         { 
            $selected = ( $key == $category ) ? "selected=\"selected\"" : ""; 
            if( count($avatar_images[$key]) ) 
            { 
               $s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>'; 
            } 
         } 

         while( list($sub_category) = each($avatar_images[$category])) 
         { 
            for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
            { 
               $s_colspan = max($s_colspan, count($avatar_images[$category][$sub_category][$i])); 
            } 
         } 
         reset($avatar_images[$category]); 
       
         while( list($sub_category) = each($avatar_images[$category])) 
         { 
            $template->assign_block_vars("avatar_sub_category", array( 
               "CATEGORY_NAME" => $sub_category) 
            ); 
       
            if( (count($avatar_images[$category]) - 1) ) 
            { 
               $template->assign_block_vars('avatar_sub_category.switch_avatar_sub_category_heading', array()); 
            } 
       
            for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
            { 
               $template->assign_block_vars("avatar_sub_category.avatar_row", array()); 
       
               if( (count($avatar_images[$category][$sub_category][$i]) % $s_colspan) != 0 ) 
               { 
                  $template->assign_block_vars('avatar_sub_category.avatar_row.switch_remainder_column', array( 
                     "REMAINDER_COLSPAN" => ($s_colspan - (count($avatar_images[$category][$sub_category][$i]) % $s_colspan))) 
                  ); 
               } 
       
               for( $j = 0; $j < count($avatar_images[$category][$sub_category][$i]); $j++ ) 
               { 
                  $avatar_id = ''; 
                  for( $n = 0; $n < strlen($avatar_images[$category][$sub_category][$i][$j]); $n++ ) 
                  { 
                     $avatar_id .= ord(substr($avatar_images[$category][$sub_category][$i][$j], $n, 1)); 
                  } 
       
                  $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_column', array( 
                     "AVATAR_ID" => $avatar_id, 
                     "AVATAR_IMAGE" => '../' . $board_config['avatar_gallery_path'] . '/' . $avatar_images[$category][$sub_category][$i][$j], 
                     "AVATAR_NAME" => $avatar_name[$category][$sub_category][$i][$j]) 
                  ); 
       
                  $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_option_column', array( 
                     "AVATAR_ID" => $avatar_id, 
                     "S_OPTIONS_AVATAR" => $avatar_images[$category][$sub_category][$i][$j]) 
                  ); 
               } 
            } 
         } 

Geplaatst: 02 sep 2006, 18:27
door lordofhetringetje
Ik zou graag mijn forum weer willen openen voor leden, alle help is dus welkom! :bier:

Geplaatst: 02 sep 2006, 21:24
door Luuk
De beide stukken zijn rechtstreeks uit de mod, dit moet je erneer zetten. Ik denk dat je beter kunt vragen op phpbb.com in het topic van de mod. De modmaker weet er meer vanaf dan wij hier :wink:

Geplaatst: 06 sep 2006, 18:03
door lordofhetringetje
Goed aangezien er op phpbb.com en hier nauwelijks gereageerd wordt ben ik zelf maar aan de slag gegaan. Ik ben nu zo ver dat de avatars worden weergegeven in de galerij en dat de avatars in de galerij zonder subdir opgeslagen kunnen worden. Nu is het alleen nog zo dat de avatars die wel in een subdir zitten niet goed worden opgeslagen.

Dit komt omdat de subdirs niet worden opgeslagen, je krijg dan dit:
http://www.lastalliance.nl/forum/images ... ollum4.gif

terwijl je dit moet hebben
http://www.lastalliance.nl/forum/images ... /[u]Gollem[/u]/Gollum4.gif

De gewone dir (http://www.lastalliance.nl/forum/images ... [u]Hobbits[/u]/Gollem/Gollum4.gif) wordt opgeslagen met deze code:

Code: Selecteer alles

$s_hidden_fields = '<input type="hidden" name="mode" value="edit" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="coppa" value="' . $coppa . '" />[u]<input type="hidden" name="avatarcatname" value="' . $category . '" />[/u]';
Ik weet alleen niet hoe ik het met de subdir moet doen.

Dit zijn de aangepaste codes:
admin_users.php

Code: Selecteer alles

$dir = @opendir('../' . $board_config['avatar_gallery_path']); 

         while( $file = @readdir($dir) ) 
         { 
            if( $file != '.' && $file != '..' && !is_file('../' . $board_config['avatar_gallery_path'] . '/' . $file) && !is_link('../' . $board_config['avatar_gallery_path'] . '/' . $file) ) 
            { 
               $avatar_row_count = 0; 
               $avatar_col_count = 0; 

               $sub_dir = @opendir('../' . $board_config['avatar_gallery_path'] . '/' . $file); 
               while( $sub_file = @readdir($sub_dir) ) 
               { 

                  if( $sub_file != '.' && $sub_file != '..' && !is_link('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
                  { 
                     if( !is_file('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
                     { 
                        $avatar_row_count_sub = 0; 
                        $avatar_col_count_sub = 0; 

                        $sub_sub_dir = @opendir('../' . $board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file); 

                        while( $sub_sub_file = @readdir($sub_sub_dir) ) 
                        { 
                           if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_sub_file) ) 
                           { 
                              $avatar_images[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = $sub_file . '/' . $sub_sub_file; 
                              $avatar_name[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_sub_file))); 

                              $avatar_col_count_sub++; 
                              if( $avatar_col_count_sub == 5 ) 
                              { 
                                 $avatar_row_count_sub++; 
                                 $avatar_col_count_sub = 0; 
                              } 
                           } 
                        } 
                        @closedir($sub_sub_dir); 

                     } 
                     else if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) ) 
                     { 

                        $avatar_images[$file][' '][$avatar_row_count][$avatar_col_count] = $sub_file; 
                        $avatar_name[$file][' '][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file))); 

                        $avatar_col_count++; 
                        if( $avatar_col_count == 5 ) 
                        { 
                           $avatar_row_count++; 
                           $avatar_col_count = 0; 
                        } 
                     } 
                  } 
               } 
            } 
         } 

         @closedir($dir); 

         @ksort($avatar_images); 
         @reset($avatar_images); 

         if( isset($HTTP_POST_VARS['avatarcategory']) ) 
         { 
            $category = htmlspecialchars($HTTP_POST_VARS['avatarcategory']); 
         } 
         else 
         { 
            list($category, ) = each($avatar_images); 
         } 
         @reset($avatar_images); 

         // Remove image set in root folder and move to end of array 
         if( count($avatar_images[$category][' ']) ) 
         { 
            $tmp = $avatar_images[$category][' ']; 
            unset($avatar_images[$category][' ']); 
            $avatar_images[$category][' '] = $tmp; 
         } 

         $s_categories = ""; 
         while( list($key) = each($avatar_images) ) 
         { 
            $selected = ( $key == $category ) ? "selected=\"selected\"" : ""; 
            if( count($avatar_images[$key]) ) 
            { 
               $s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>'; 
            } 
         } 

         while( list($sub_category) = each($avatar_images[$category])) 
         { 
            for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
            { 
               $s_colspan = max($s_colspan, count($avatar_images[$category][$sub_category][$i])); 
            } 
         } 
         reset($avatar_images[$category]); 
       
         while( list($sub_category) = each($avatar_images[$category])) 
         { 
            $template->assign_block_vars("avatar_sub_category", array( 
               "CATEGORY_NAME" => $sub_category) 
            ); 
       
            if( (count($avatar_images[$category]) - 1) ) 
            { 
               $template->assign_block_vars('avatar_sub_category.switch_avatar_sub_category_heading', array()); 
            } 
       
            for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
            { 
               $template->assign_block_vars("avatar_sub_category.avatar_row", array()); 
       
               if( (count($avatar_images[$category][$sub_category][$i]) % $s_colspan) != 0 ) 
               { 
                  $template->assign_block_vars('avatar_sub_category.avatar_row.switch_remainder_column', array( 
                     "REMAINDER_COLSPAN" => ($s_colspan - (count($avatar_images[$category][$sub_category][$i]) % $s_colspan))) 
                  ); 
               } 
       
               for( $j = 0; $j < count($avatar_images[$category][$sub_category][$i]); $j++ ) 
               { 
                  $avatar_id = ''; 
                  for( $n = 0; $n < strlen($avatar_images[$category][$sub_category][$i][$j]); $n++ ) 
                  { 
                     $avatar_id .= ord(substr($avatar_images[$category][$sub_category][$i][$j], $n, 1)); 
                  } 
       
                  $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_column', array( 
                     "AVATAR_ID" => $avatar_id, 
                     "AVATAR_IMAGE" => '../' . $board_config['avatar_gallery_path'] . '/' . $category . '/' . $avatar_images[$category][$sub_category][$i][$j], 
                     "AVATAR_NAME" => $avatar_name[$category][$sub_category][$i][$j]) 
                  ); 
       
                  $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_option_column', array( 
                     "AVATAR_ID" => $avatar_id, 
                     "S_OPTIONS_AVATAR" => $avatar_images[$category][$sub_category][$i][$j]) 
                  ); 
               } 
            } 
         }
usercp_avatar.php

Code: Selecteer alles

function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$new_password, &$cur_password, &$password_confirm, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popup_pm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$rankset, &$dateformat, &$session_id, &$birthday)
{ 
   global $board_config, $db, $template, $lang, $images, $theme; 
   global $phpbb_root_path, $phpEx; 

   $dir = @opendir($board_config['avatar_gallery_path']); 

   $avatar_images = array(); 
   while( $file = @readdir($dir) ) 
   { 
      if( $file != '.' && $file != '..' && !is_file($board_config['avatar_gallery_path'] . '/' . $file) && !is_link($board_config['avatar_gallery_path'] . '/' . $file) ) 
      { 
         $avatar_row_count = 0; 
         $avatar_col_count = 0; 

         $sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file); 
         while( $sub_file = @readdir($sub_dir) ) 
         { 

            if( $sub_file != '.' && $sub_file != '..' && !is_link($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
            { 
               if( !is_file($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file) ) 
               { 
                  $avatar_row_count_sub = 0; 
                  $avatar_col_count_sub = 0; 

                  $sub_sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file . '/' . $sub_file); 

                  while( $sub_sub_file = @readdir($sub_sub_dir) ) 
                  { 
                     if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_sub_file) ) 
                     { 
                        $avatar_images[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = $sub_file . '/' . $sub_sub_file; 
                        $avatar_name[$file][ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', "{$sub_file}:")))][$avatar_row_count_sub][$avatar_col_count_sub] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_sub_file))); 

                        $avatar_col_count_sub++; 
                        if( $avatar_col_count_sub == 5 ) 
                        { 
                           $avatar_row_count_sub++; 
                           $avatar_col_count_sub = 0; 
                        } 
                     } 
                  } 
                  @closedir($sub_sub_dir); 

               } 
               else if( preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file) ) 
               { 

                  $avatar_images[$file][' '][$avatar_row_count][$avatar_col_count] = $sub_file; 
                  $avatar_name[$file][' '][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file))); 

                  $avatar_col_count++; 
                  if( $avatar_col_count == 5 ) 
                  { 
                     $avatar_row_count++; 
                     $avatar_col_count = 0; 
                  } 
               } 
            } 
         } 
      } 
   } 

   @closedir($dir); 

   @ksort($avatar_images); 
   @reset($avatar_images); 

   if( empty($category) || !array_key_exists($category, $avatar_images) ) 
   { 
      list($category, ) = each($avatar_images); 
   } 
   @reset($avatar_images); 

   // Remove image set in root folder and move to end of array 
   if( count($avatar_images[$category][' ']) ) 
   { 
      $tmp = $avatar_images[$category][' ']; 
      unset($avatar_images[$category][' ']); 
      $avatar_images[$category][' '] = $tmp; 
   } 

   $s_categories = '<select name="avatarcategory">'; 
   while( list($key) = each($avatar_images) ) 
   { 
      $selected = ( $key == $category ) ? ' selected="selected"' : ''; 
      if( count($avatar_images[$key]) ) 
      { 
         $s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>'; 
      } 
   } 
   $s_categories .= '</select>'; 

   while( list($sub_category) = @each($avatar_images[$category])) 
   { 
      for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
      { 
         $s_colspan = max($s_colspan, count($avatar_images[$category][$sub_category][$i])); 
      } 

   } 
   @reset($avatar_images[$category]); 

   while( list($sub_category) = @each($avatar_images[$category])) 
   { 
      $template->assign_block_vars("avatar_sub_category", array( 
         "CATEGORY_NAME" => $sub_category) 
      ); 

      if( (count($avatar_images[$category]) - 1) ) 
      { 
         $template->assign_block_vars('avatar_sub_category.switch_avatar_sub_category_heading', array()); 
      } 

      for( $i = 0; $i < count($avatar_images[$category][$sub_category]); $i++ ) 
      { 
         $template->assign_block_vars("avatar_sub_category.avatar_row", array()); 

         if( (count($avatar_images[$category][$sub_category][$i]) % $s_colspan) != 0 ) 
         { 
            $template->assign_block_vars('avatar_sub_category.avatar_row.switch_remainder_column', array( 
               "REMAINDER_COLSPAN" => ($s_colspan - (count($avatar_images[$category][$sub_category][$i]) % $s_colspan))) 
            ); 
         } 

         for( $j = 0; $j < count($avatar_images[$category][$sub_category][$i]); $j++ ) 
         { 
            $avatar_id = ''; 
            for( $n = 0; $n < strlen($avatar_images[$category][$sub_category][$i][$j]); $n++ ) 
            { 
               $avatar_id .= ord(substr($avatar_images[$category][$sub_category][$i][$j], $n, 1)); 
            } 

            $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_column', array( 
               "AVATAR_ID" => $avatar_id, 
               "AVATAR_IMAGE" => $board_config['avatar_gallery_path'] . '/' . $category . '/' . $avatar_images[$category][$sub_category][$i][$j], 
               "AVATAR_NAME" => $avatar_name[$category][$sub_category][$i][$j]) 
            ); 

            $template->assign_block_vars('avatar_sub_category.avatar_row.avatar_option_column', array( 
               "AVATAR_ID" => $avatar_id, 
               "S_OPTIONS_AVATAR" => $avatar_images[$category][$sub_category][$i][$j]) 
            ); 
         } 
      } 
   } 

	$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'cur_password', 'new_password', 'password_confirm', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popup_pm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'rankset', 'dateformat', 'birthday');

$s_hidden_vars = '<input type="hidden" name="sid" value="' . $session_id . '" /><input type="hidden" name="agreed" value="true" /><input type="hidden" name="avatarcatname" value="' . $category . '" />';

   for($i = 0; $i < count($params); $i++) 
   { 
      $s_hidden_vars .= '<input type="hidden" name="' . $params[$i] . '" value="' . str_replace('"', '"', $$params[$i]) . '" />'; 
   } 
    
   $template->assign_vars(array( 
      'L_AVATAR_GALLERY' => $lang['Avatar_gallery'], 
      'L_SELECT_AVATAR' => $lang['Select_avatar'], 
      'L_RETURN_PROFILE' => $lang['Return_profile'], 
      'L_CATEGORY' => $lang['Select_category'], 

      'S_CATEGORY_SELECT' => $s_categories, 
      'S_COLSPAN' => $s_colspan, 
      'S_PROFILE_ACTION' => append_sid("profile.$phpEx?mode=$mode"), 
      'S_HIDDEN_FIELDS' => $s_hidden_vars) 
   ); 

   return; 
}