Extended ranks

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
lordofhetringetje
Berichten: 81
Lid geworden op: 12 apr 2004, 11:14
Contacteer:

Extended ranks

Bericht door lordofhetringetje » 24 aug 2006, 16:21

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

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 24 aug 2006, 16:26

Zo te zien heb je het bestand includes/constants.php niet (goed) gemod. Kijk daar eens naar.
Afbeelding

lordofhetringetje
Berichten: 81
Lid geworden op: 12 apr 2004, 11:14
Contacteer:

Bericht door lordofhetringetje » 24 aug 2006, 16:31

ik heb dat bestand weer opnieuw gedaan en nu doet hij het wel

Bedankt :bier:

lordofhetringetje
Berichten: 81
Lid geworden op: 12 apr 2004, 11:14
Contacteer:

Bericht door lordofhetringetje » 26 aug 2006, 18:11

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]) 
                  ); 
               } 
            } 
         } 

lordofhetringetje
Berichten: 81
Lid geworden op: 12 apr 2004, 11:14
Contacteer:

Bericht door lordofhetringetje » 02 sep 2006, 18:27

Ik zou graag mijn forum weer willen openen voor leden, alle help is dus welkom! :bier:

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 02 sep 2006, 21:24

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:
Afbeelding

lordofhetringetje
Berichten: 81
Lid geworden op: 12 apr 2004, 11:14
Contacteer:

Bericht door lordofhetringetje » 06 sep 2006, 18:03

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; 
} 

Gesloten