Profile Photo Hack werkt niet meer

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
2strokedriver
Berichten: 74
Lid geworden op: 07 dec 2006, 21:18

Profile Photo Hack werkt niet meer

Bericht door 2strokedriver » 03 jan 2008, 13:06

Hallo mensen,

Onlangs heb ik met succes de profile photo mod geinstalleerd op ons forum. Nu viel het mij echter op dat mijn collega beheerder en ik niet via "gebruikersbeheer" in het adminpanel bij het veld voor de profielfoto van een gebruiker kunnen komen. Als we via "gebruikersbeheer" in het adminpanel een gebruiker opzoeken krijgen we wel zijn, of haar, profiel te zien maar daarbij ontbreekt dus het gedeelte voor de profielfoto. Wij hebben nu geen invloed op de geplaatste foto's en kunnen hier dus ook niet corrigerend bij optreden in geval van misbruik. Als er nu net ter zake doende foto's, of bijvoorbeeld reclame, geplaatst wordt kunnen we dit niet aanpassen. Enigste mogelijkheid is om de afbeelding direct van de server te verwijderen wat dan weer lijdt tot een vak met het bekende rode kruisje in het profiel van een gebruiker.

Heeft iemand een oplossing voor dit probleem waardoor het veld voor de profielfoto in het profiel van een gebruiker toch te benaderen is via "gebruikersbeheer" in het adminpanel?

Groeten,
Erik
Laatst gewijzigd door 2strokedriver op 20 jan 2008, 15:08, 1 keer totaal gewijzigd.

Gebruikersavatar
marian0810
Berichten: 1974
Lid geworden op: 09 apr 2007, 10:24
Locatie: Hoofddorp
Contacteer:

Re: profielfoto niet te benaderen

Bericht door marian0810 » 03 jan 2008, 13:42

Ik heb dat met een andere mod, dus ik kijk met belangstelling uit naar de oplossing :D

Maar het zou wel via een omweg kunnen denk ik? Als je instelt dat ze alleen maar foto's mogen uploaden en geen externe link mogen gebruiken dan zou je die via ftp kunnen overschrijven door een plaatje met dezelfde naam naar die map te uploaden.

2strokedriver
Berichten: 74
Lid geworden op: 07 dec 2006, 21:18

Re: profielfoto niet te benaderen

Bericht door 2strokedriver » 06 jan 2008, 20:48

marian0810 schreef:Maar het zou wel via een omweg kunnen denk ik? Als je instelt dat ze alleen maar foto's mogen uploaden en geen externe link mogen gebruiken dan zou je die via ftp kunnen overschrijven door een plaatje met dezelfde naam naar die map te uploaden.
Ik heb dit inderdaad al bij een gebruiker op deze wijze opgelost maar het is natuurlijk niet ideaal :(

Groeten,
Erik

2strokedriver
Berichten: 74
Lid geworden op: 07 dec 2006, 21:18

Re: HELP! Profile Photo Hack werkt niet meer :-(

Bericht door 2strokedriver » 20 jan 2008, 15:20

Hallo mensen,

Ik dacht de oplossing voor mijn originele vraagstelling gevonden te hebben op phpbbhacks.com. Daar stuitte ik op een topic waarin men zich ook afvroeg hoe ze de profielfoto via het ACP zouden kunnen benaderen http://www.phpbbhacks.com/forums/profil ... file+photo

Nu heb ik uit dit topic de volgende code geselecteerd en deze wijzigingen doorgevoerd in admin/admin_users.php en "template"/admin/user_edit_body.tpl:

Code: Selecteer alles

# 
#------[ OPEN: ]------------------------------------------------------------- 
# 
admin/admin_users.php 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
require($phpbb_root_path . 'includes/functions_validate.'.$phpEx); 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
require($phpbb_root_path . 'language/lang_english/lang_profilephoto.'.$phpEx); 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
   // Ok, the profile has been modified and submitted, let's update 
   if ( ( $mode == 'save' && isset( $HTTP_POST_VARS['submit'] ) ) || isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) ) 
# 
#------[ REPLACE WITH: ]----------------------------------------------------- 
# 
   // Ok, the profile has been modified and submitted, let's update 
   if ( ( $mode == 'save' && isset( $HTTP_POST_VARS['submit'] ) ) || isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) || isset( $HTTP_POST_VARS['submitphoto'] ) || isset( $HTTP_POST_VARS['cancelphoto'] ) ) 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      $user_avatar = ( empty($user_avatar_loc) ) ? $this_userdata['user_avatar'] : ''; 
      $user_avatar_type = ( empty($user_avatar_loc) ) ? $this_userdata['user_avatar_type'] : ''; 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
      $user_photo_upload = ( !empty($HTTP_POST_VARS['photourl']) ) ? trim($HTTP_POST_VARS['photourl']) : ( ( $HTTP_POST_FILES['photo']['tmp_name'] != 'none') ? $HTTP_POST_FILES['photo']['tmp_name'] : '' ); 
      $user_photo_remoteurl = ( !empty($HTTP_POST_VARS['photoremoteurl']) ) ? trim($HTTP_POST_VARS['photoremoteurl']) : ''; 
      $user_photo_name = ( !empty($HTTP_POST_FILES['photo']['name']) ) ? $HTTP_POST_FILES['photo']['name'] : ''; 
      $user_photo_size = ( !empty($HTTP_POST_FILES['photo']['size']) ) ? $HTTP_POST_FILES['photo']['size'] : 0; 
      $user_photo_filetype = ( !empty($HTTP_POST_FILES['photo']['type']) ) ? $HTTP_POST_FILES['photo']['type'] : ''; 
      $user_photo_url = ( !empty($HTTP_POST_VARS['photourl']) ) ? trim($HTTP_POST_VARS['photourl']) : ''; 
      $user_photo = ( empty($user_photo_loc) && $mode == 'editprofile' ) ? $userdata['user_photo'] : ''; 
      $user_photo_type = ( empty($user_photo_loc) && $mode == 'editprofile' ) ? $userdata['user_photo_type'] : ''; 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      $user_avatar = $this_userdata['user_avatar']; 
      $user_avatar_type = $this_userdata['user_avatar_type']; 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
      $user_photo = $this_userdata['user_photo']; 
      $user_photo_type = $this_userdata['user_photo_type']; 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      if( isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) ) 
# 
#------[ REPLACE WITH: ]----------------------------------------------------- 
# 
      if( isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) || isset( $HTTP_POST_VARS['submitphoto'] ) || isset( $HTTP_POST_VARS['cancelphoto'] ) ) 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
   if( isset( $HTTP_POST_VARS['submit'] ) ) 
   { 
      include($phpbb_root_path . 'includes/usercp_avatar.'.$phpEx); 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
      include($phpbb_root_path . 'profilephoto_mod.'.$phpEx); 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      else if( $user_avatar_local != "" && $avatar_sql == "" && !$error ) 
      { 
         $avatar_sql = ", user_avatar = '" . str_replace("\'", "''", $user_avatar_local) . "', user_avatar_type = " . USER_AVATAR_GALLERY; 
      } 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
// START Profilephoto - MOD 
      // PhotoProfile stuff 
      $photo_sql = ""; 
      if( isset($HTTP_POST_VARS['photodel']) ) 
      { 
         if( $this_userdata['user_photo_type'] == USER_AVATAR_UPLOAD && $this_userdata['user_photo'] != "" ) 
         { 
            if( @file_exists(@phpbb_realpath("./" . $board_config['photo_path'] . "/" . $this_userdata['user_photo'])) ) 
            { 
               @unlink("./" . $board_config['photo_path'] . "/" . $this_userdata['user_photo']); 
            } 
         } 
         $photo_sql = ", user_photo = '', user_photo_type = " . USER_AVATAR_NONE; 
      } 
      else if( ( $user_photo_loc != "" || !empty($user_photo_url) ) && !$error ) 
      { 
         // Only allow one type of upload, either a filename or a URL 
         if( !empty($user_photo_loc) && !empty($user_photo_url) ) 
         { 
            $error = TRUE; 
            if( isset($error_msg) ) 
            { 
               $error_msg .= "<br />"; 
            } 
            $error_msg .= $lang['Only_one_photo']; 
         } 
         if( $user_photo_loc != "" ) 
         { 
            if( file_exists(@phpbb_realpath($user_photo_loc)) && ereg(".jpg$|.gif$|.png$", $user_photo_name) ) 
            { 
               if( $user_photo_size <= $board_config['photo_filesize'] && $user_photo_size > 0) 
               { 
                  $error_type = false; 
                  // Opera appends the image name after the type, not big, not clever! 
                  preg_match("'image\/[x\-]*([a-z]+)'", $user_photo_filetype, $user_photo_filetype); 
                  $user_photo_filetype = $user_photo_filetype[1]; 
                  switch( $user_photo_filetype ) 
                  { 
                     case "jpeg": 
                     case "pjpeg": 
                     case "jpg": 
                        $imgtype = '.jpg'; 
                        break; 
                     case "gif": 
                        $imgtype = '.gif'; 
                        break; 
                     case "png": 
                        $imgtype = '.png'; 
                        break; 
                     default: 
                        $error = true; 
                        $error_msg = (!empty($error_msg)) ? $error_msg . "<br />" . $lang['photo_filetype'] : $lang['photo_filetype']; 
                        break; 
                  } 
                  if( !$error ) 
                  { 
                     list($width, $height) = @getimagesize($user_photo_loc); 
                     if( $width <= $board_config['photo_max_width'] && $height <= $board_config['photo_max_height'] ) 
                     { 
                        $user_id = $this_userdata['user_id']; 
                        $photo_filename = $user_id . $imgtype; 
                        if( $this_userdata['user_photo_type'] == USER_AVATAR_UPLOAD && $this_userdata['user_photo'] != "" ) 
                        { 
                           if( @file_exists(@phpbb_realpath("./../" . $board_config['photo_path'] . "/" . $this_userdata['user_photo'])) ) 
                           { 
                              @unlink("./../" . $board_config['photo_path'] . "/". $this_userdata['user_photo']); 
                           } 
                        } 
                        @copy($user_photo_loc, "./../" . $board_config['photo_path'] . "/$photo_filename"); 
                        $photo_sql = ", user_photo = '$photo_filename', user_photo_type = " . USER_AVATAR_UPLOAD; 
                     } 
                     else 
                     { 
                        $l_photo_size = sprintf($lang['photo_imagesize'], $board_config['photo_max_width'], $board_config['photo_max_height']); 
                        $error = true; 
                        $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_photo_size : $l_photo_size; 
                     } 
                  } 
               } 
               else 
               { 
                  $l_photo_size = sprintf($lang['Photo_filesize'], round($board_config['photo_filesize'] / 1024)); 
                  $error = true; 
                  $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_photo_size : $l_photo_size; 
               } 
            } 
            else 
            { 
               $error = true; 
               $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['Photo_filetype'] : $lang['Photo_filetype']; 
            } 
         } 
         else if( !empty($user_photo_url) ) 
         { 
// First check what port we should connect to, look for a :[xxxx]/ or, if that doesn't exist assume port 80 (http) 
            preg_match("/^(http:\/\/)?([\w\-\.]+)\:?([0-9]*)\/(.*)$/", $user_photo_url, $url_ary); 
            if( !empty($url_ary[4]) ) 
            { 
               $port = (!empty($url_ary[3])) ? $url_ary[3] : 80; 
               $fsock = @fsockopen($url_ary[2], $port, $errno, $errstr); 
               if( $fsock ) 
               { 
                  $base_get = "/" . $url_ary[4]; 
                  // Uses HTTP 1.1, could use HTTP 1.0 ... 
                  @fputs($fsock, "GET $base_get HTTP/1.1\r\n"); 
                  @fputs($fsock, "HOST: " . $url_ary[2] . "\r\n"); 
                  @fputs($fsock, "Connection: close\r\n\r\n"); 
                  unset($photo_data); 
                  while( !@feof($fsock) ) 
                  { 
                     $photo_data .= @fread($fsock, $board_config['photo_filesize']); 
                  } 
                  @fclose($fsock); 
                  if( preg_match("/Content-Length\: ([0-9]+)[^\/ ][\s]+/i", $photo_data, $file_data1) && preg_match("/Content-Type\: image\/[x\-]*([a-z]+)[\s]+/i", $photo_data, $file_data2) ) 
                  { 
                     $file_size = $file_data1[1]; 
                     $file_type = $file_data2[1]; 
                     switch( $file_type ) 
                     { 
                        case "jpeg": 
                        case "pjpeg": 
                        case "jpg": 
                           $imgtype = '.jpg'; 
                           break; 
                        case "gif": 
                           $imgtype = '.gif'; 
                           break; 
                        case "png": 
                           $imgtype = '.png'; 
                           break; 
                        default: 
                           $error = true; 
                           $error_msg = (!empty($error_msg)) ? $error_msg . "<br />" . $lang['Photo_filetype'] : $lang['Photo_filetype']; 
                           break; 
                     } 
                     if( !$error && $file_size > 0 && $file_size < $board_config['photo_filesize'] ) 
                     { 
                        $photo_data = substr($photo_data, strlen($photo_data) - $file_size, $file_size); 
                        $tmp_filename = tempnam ("/tmp", $this_userdata['user_id'] . "-"); 
                        $fptr = @fopen($tmp_filename, "wb"); 
                        $bytes_written = @fwrite($fptr, $photo_data, $file_size); 
                        @fclose($fptr); 
                        if( $bytes_written == $file_size ) 
                        { 
                           list($width, $height) = @getimagesize($tmp_filename); 
                           if( $width <= $board_config['photo_max_width'] && $height <= $board_config['photo_max_height'] ) 
                           { 
                              $user_id = $this_userdata['user_id']; 
                              $photo_filename = $user_id . $imgtype; 
                              if( $this_userdata['user_photo_type'] == USER_AVATAR_UPLOAD && $this_userdata['user_photo'] != "") 
                              { 
                                 if( file_exists(@phpbb_realpath("./../" . $board_config['photo_path'] . "/" . $this_userdata['user_photo'])) ) 
                                 { 
                                    @unlink("./../" . $board_config['photo_path'] . "/" . $this_userdata['user_photo']); 
                                 } 
                              } 
                              @copy($tmp_filename, "./../" . $board_config['photo_path'] . "/$photo_filename"); 
                              @unlink($tmp_filename); 
                              $photo_sql = ", user_photo = '$photo_filename', user_photo_type = " . USER_AVATAR_UPLOAD; 
                           } 
                           else 
                           { 
                              $l_photo_size = sprintf($lang['Photo_imagesize'], $board_config['photo_max_width'], $board_config['photo_max_height']); 
                              $error = true; 
                              $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_photo_size : $l_photo_size; 
                           } 
                        } 
                        else 
                        { 
                           // Error writing file 
                           @unlink($tmp_filename); 
                           message_die(GENERAL_ERROR, "Could not write photo file to local storage. Please contact the board administrator with this message", "", __LINE__, __FILE__); 
                        } 
                     } 
                  } 
                  else 
                  { 
                     // No data 
                     $error = true; 
                     $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['File_no_data'] : $lang['File_no_data']; 
                  } 
               } 
               else 
               { 
                  // No connection 
                  $error = true; 
                  $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['No_connection_URL'] : $lang['No_connection_URL']; 
               } 
            } 
            else 
            { 
               $error = true; 
               $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['Incomplete_URL'] : $lang['Incomplete_URL']; 
            } 
         } 
         else if( !empty($user_photo_name) ) 
         { 
            $l_photo_size = sprintf($lang['Photo_filesize'], round($board_config['photo_filesize'] / 1024)); 
            $error = true; 
            $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $l_photo_size : $l_photo_size; 
         } 
      } 
      else if( $user_photo_remoteurl != "" && $photo_sql == "" && !$error ) 
      { 
         if( !preg_match("#^http:\/\/#i", $user_photo_remoteurl) ) 
         { 
            $user_photo_remoteurl = "http://" . $user_photo_remoteurl; 
         } 
         if( preg_match("#^(http:\/\/[a-z0-9\-]+?\.([a-z0-9\-]+\.)*[a-z]+\/.*?\.(gif|jpg|png)$)#is", $user_photo_remoteurl) ) 
         { 
            $photo_sql = ", user_photo = '" . str_replace("\'", "''", $user_photo_remoteurl) . "', user_photo_type = " . USER_AVATAR_REMOTE; 
         } 
         else 
         { 
            $error = true; 
            $error_msg = ( !empty($error_msg) ) ? $error_msg . "<br />" . $lang['Wrong_remote_photo_format'] : $lang['Wrong_remote_photo_format']; 
         } 
      } 
      else if( $user_photo_local != "" && $photo_sql == "" && !$error ) 
      { 
         $photo_sql = ", user_photo = '" . str_replace("\'", "''", $user_photo_local) . "', user_photo_type = " . USER_AVATAR_GALLERY; 
      } 
// END Profilephoto - MOD 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      // Update entry in DB 
      if( !$error ) 
      { 
         $sql = "UPDATE " . USERS_TABLE . " 
            SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql . " 
# 
#------[ INLINE FIND: ]------------------------------------------------------ 
# 
" . $avatar_sql . 
# 
#------[ INLINE AFTER, ADD: ]------------------------------------------------ 
# 
 $photo_sql . 
# 
#------[ END OF LINE SHOULD NOW LOOK LIKE THIS: ]---------------------------- 
# 
" . $avatar_sql . $photo_sql . " 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
   else if( !isset( $HTTP_POST_VARS['submit'] ) && $mode != 'save' && !isset( $HTTP_POST_VARS['avatargallery'] ) && !isset( $HTTP_POST_VARS['submitavatar'] ) && !isset( $HTTP_POST_VARS['cancelavatar'] ) ) 
# 
#------[ REPLACE WITH: ]----------------------------------------------------- 
# 
   else if( !isset( $HTTP_POST_VARS['submit'] ) && $mode != 'save' && !isset( $HTTP_POST_VARS['avatargallery'] ) && !isset( $HTTP_POST_VARS['submitavatar'] ) && !isset( $HTTP_POST_VARS['cancelavatar'] ) && !isset( $HTTP_POST_VARS['submitphoto'] ) && !isset( $HTTP_POST_VARS['cancelphoto'] ) ) 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
            case USER_AVATAR_GALLERY: 
               $avatar = '<img src="../' . $board_config['avatar_gallery_path'] . '/' . $user_avatar . '" alt="" />'; 
               break; 
         } 
      } 
      else 
      { 
         $avatar = ""; 
      } 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
      if ( !empty($user_photo_local) ) 
      { 
         $s_hidden_fields .= '<input type="hidden" name="photolocal" value="' . $user_photo_local . '" />'; 
      } 
      if ( $user_photo_type ) 
      { 
         switch( $user_photo_type ) 
         { 
            case USER_AVATAR_UPLOAD: 
               $photo_img = ( $board_config['allow_photo_upload'] ) ? '<img src="../' . $board_config['photo_path'] . '/' . $user_photo . '" alt="" />' : ''; 
               break; 
            case USER_AVATAR_REMOTE: 
               $photo_img = ( $board_config['allow_photo_remote'] ) ? '<img src="../' . $user_photo . '" alt="" />' : ''; 
               break; 
         } 
      } 
      $template->set_filenames(array( 
         'photobox' => 'profile_photo_box.tpl') 
      ); 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
         'L_LINK_REMOTE_AVATAR' => $lang['Link_remote_Avatar'], 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
         'L_PROFLE_PHOTO_SETTINGS' => $lang['Profile_photo_settings'], 
         'L_ALLOW_PHOTO_REMOTE' => $lang['Allow_photo_remote'], 
         'L_ALLOW_PHOTO_REMOTE_EXPLAIN' => $lang['Allow_photo_remote_explain'], 
         'L_ALLOW_PHOTO_UPLOAD' => $lang['Allow_photo_upload'], 
         'L_PHOTO_MAX_FILESIZE' => $lang['Photo_max_filesize'], 
         'L_PHOTO_MAX_FILESIZE_EXPLAIN' => $lang['Photo_max_filesize_explain'], 
         'L_MAX_PHOTO_SIZE' => $lang['Max_photo_size'], 
         'L_PHOTO_STORAGE_PATH' => $lang['Photo_storage_path'], 
         'L_PHOTO_STORAGE_PATH_EXPLAIN' => $lang['Photo_storage_path_explain'], 
         'PHOTO_REMOTE_YES' => $photo_remote_yes, 
         'PHOTO_REMOTE_NO' => $photo_remote_no, 
         'PHOTO_UPLOAD_YES' => $photo_upload_yes, 
         'PHOTO_UPLOAD_NO' => $photo_upload_no, 
         'PHOTO_FILESIZE' => $new['photo_filesize'], 
         'PHOTO_MAX_HEIGHT' => $new['photo_max_height'], 
         'PHOTO_MAX_WIDTH' => $new['photo_max_width'], 
         'PHOTO_PATH' => $new['photo_path'], 
         'ALLOW_PHOTO' => $board_config['allow_photo_upload'], 
         'PHOTO' => $photo_img, 
         'PHOTO_SIZE' => $board_config['photo_filesize'], 
         'L_PHOTO_PANEL' => $lang['Photo_panel'], 
         'L_PHOTO_EXPLAIN' => sprintf($lang['Photo_explain'], $board_config['photo_max_width'], $board_config['photo_max_height'], (round($board_config['photo_filesize'] / 1024))), 
         'L_UPLOAD_PHOTO_FILE' => $lang['Upload_photo_file'], 
         'L_UPLOAD_PHOTO_URL' => $lang['Upload_photo_url'], 
         'L_UPLOAD_PHOTO_URL_EXPLAIN' => $lang['Upload_photo_url_explain'], 
         'L_LINK_REMOTE_PHOTO' => $lang['Link_remote_photo'], 
         'L_LINK_REMOTE_PHOTO_EXPLAIN' => $lang['Link_remote_photo_explain'], 
         'L_DELETE_PHOTO' => $lang['Delete_Image'], 
         'L_CURRENT_IMAGE' => $lang['Current_Image'], 
         'S_ALLOW_PHOTO_UPLOAD' => $board_config['allow_photo_upload'], 
         'S_ALLOW_PHOTO_REMOTE' => $board_config['allow_photo_remote'], 
         'S_PHOTO_HIDDEN_FIELDS' => $s_hidden_fields, 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
      if( $board_config['allow_avatar_remote'] == TRUE ) 
      { 
         $template->assign_block_vars('avatar_remote_link', array() ); 
      } 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# 
      if ( $board_config['allow_photo_upload'] || $board_config['allow_photo_remote'] ) 
      { 
         $template->assign_block_vars('switch_photo_block', array() ); 
         if ( $board_config['allow_photo_upload'] && file_exists('./../' . $board_config['photo_path']) ) 
         { 
            if ( $form_enctype != '' ) 
            { 
               $template->assign_block_vars('switch_photo_block.switch_photo_local_upload', array() ); 
            } 
            $template->assign_block_vars('switch_photo_block.switch_photo_remote_upload', array() ); 
         } 
         if ( $board_config['allow_photo_remote'] ) 
         { 
            $template->assign_block_vars('switch_photo_block.switch_photo_remote_link', array() ); 
         } 
      } 
      $template->assign_var_from_handle('PHOTO_BOX', 'photobox'); 
# 
#------[ OPEN: ]------------------------------------------------------------- 
# 
templates/template_name/admin/user_edit_body.tpl 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
<input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_SIZE}" /> 
# 
#------[ REPLACE WITH: ]----------------------------------------------------- 
# 
<!--<input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_SIZE}" />--> 
# 
#------[ FIND: ]------------------------------------------------------------- 
# 
   <!-- END avatar_local_gallery --> 
# 
#------[ AFTER, ADD: ]------------------------------------------------------- 
# (I really wanted to use {PHOTOBOX} but for some reason I couldn't get it to show.) 
# (I did copy profile_photo_box.tpl to my templates/template_name/admin folder.) 
# (Anyway the switches are working now so I will live with it for now.) 

   <!-- BEGIN switch_photo_block --> 
   <tr> 
     <th class="thSides" colspan="2" height="28">&nbsp;</th> 
   </tr> 
   <tr> 
     <th colspan="2" height="12" valign="middle">{L_PHOTO_PANEL}</th> 
   </tr> 
   <tr> 
      <td class="row1" colspan="2"><table width="70%" cellspacing="2" cellpadding="0" border="0" align="center"> 
         <tr> 
            <td width="65%"><span class="gensmall">{L_PHOTO_EXPLAIN}</span></td> 
            <td align="center"><span class="gensmall">{L_CURRENT_IMAGE}</span><br />{PHOTO}<br /><input type="checkbox" name="photodel" />&nbsp;<span class="gensmall">{L_DELETE_PHOTO}</span></td> 
         </tr> 
      </table></td> 
   </tr> 
   <!-- BEGIN switch_photo_local_upload --> 
   <tr> 
      <td class="row1"><span class="gen">{L_UPLOAD_PHOTO_FILE}:</span></td> 
      <td class="row2"><!--<input type="hidden" name="MAX_PHOTO_FILE_SIZE" value="{PHOTO_SIZE}" />--><input type="file" name="photo" class="post" style="width:200px" /></td> 
   </tr> 
   <!-- END switch_photo_local_upload --> 
   <!-- BEGIN switch_photo_remote_upload --> 
   <tr> 
      <td class="row1"><span class="gen">{L_UPLOAD_PHOTO_URL}:</span><br /><span class="gensmall">{L_UPLOAD_PHOTO_URL_EXPLAIN}</span></td> 
      <td class="row2"><input type="text" name="photourl" size="40" class="post" style="width:200px" /></td> 
   </tr> 
   <!-- END switch_photo_remote_upload --> 
   <!-- BEGIN switch_photo_remote_link --> 
   <tr> 
      <td class="row1"><span class="gen">{L_LINK_REMOTE_PHOTO}:</span><br /><span class="gensmall">{L_LINK_REMOTE_PHOTO_EXPLAIN}</span></td> 
      <td class="row2"><input type="text" name="photoremoteurl" size="40" class="post" style="width:200px" /></td> 
   </tr> 
   <!-- END switch_photo_remote_link --> 
   {S_PHOTO_HIDDEN_FIELDS} 
   <!-- END switch_photo_block --> 
# 
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------------------- 
# 
# ..::END::.. 
Nadat ik de twee gewijzigde bestanden had geupload zag het er heel veel belovend uit en werden de profielfoto's inderdaad getoond in het ACP. De foto's waren, indien gewenst, ook uit het profiel te verwijderen via het ACP. Het viel me echter op dat ik geen profielfoto kon uploaden via het ACP. Ik heb daarop geprobeerd om via de gewone weg in mijn profiel een nieuwe foto te uploaden maar dat wilde ook niet.

Hierop heb ik de twee gewijzigde bestanden op de server weer vervangen door de oude, ongewijzigde, bestanden. Het blijft nu echter onmogelijk om een foto in het profiel te uploaden :cry: Het lijkt haast wel of er bij het uploaden van een profielfoto dezelfde criteria gehanteerd worden als voor het uploaden van een avatar. Het aanpassen van de instellingen in het ACP voor de grootte van een profielfoto hebben geen enkele invloed. Hij laad de foto alleen op als deze niet boven de 20kB uitkomt terwijl we een maximum van 156kB ingesteld hebben staan.

Wie o wie weet wat er aan de hand is en hoe ik dit kan hertsllen. Ik ben zelf ten einde raad.

Groeten,
Erik

Gebruikersavatar
Jan
Berichten: 1987
Lid geworden op: 30 mei 2006, 20:30
Locatie: De kelder van Dhr. J. Fritzl
Contacteer:

Re: HELP! Profile Photo Hack werkt niet meer :-(

Bericht door Jan » 20 jan 2008, 20:05

Heb je alles in templates/jouw_template/admin/user_edit_body.tpl correct gewijzigd?

Normaalgezien zouden Meik's MODs wel goed moeten zijn. Indien je niet zeker bent of je alles wel correct hebt geinstalleerd, kan je het eens door ons Service Team laten proberen.

Succes!
Vriendelijke groet,
Jan
Gratis Forum - Gratis Blog - Blokart

2strokedriver
Berichten: 74
Lid geworden op: 07 dec 2006, 21:18

Re: HELP! Profile Photo Hack werkt niet meer :-(

Bericht door 2strokedriver » 21 jan 2008, 20:40

Hallo Jan,

Ik weet zeker dat alle codes correct aangepast zijn. Het lijkt er op of er door het script ergens wijzigingen zijn doorgevoerd maar ik kan niet uitvissen waar dit is. Kan het zijn dat er, door de code, iets in de database veranderd is of moet de fout toch ergens in het script gezocht worden?

Groeten,
Erik

2strokedriver
Berichten: 74
Lid geworden op: 07 dec 2006, 21:18

Re: HELP! Profile Photo Hack werkt niet meer :-(

Bericht door 2strokedriver » 26 jan 2008, 21:44

Ik ben er nu zeker van dat de profielfoto bij het uploaden getoetst wordt aan de criteria die gelden voor een avatar. In de database staan de waarden voor de profielfoto echter gewoon in de tabel rijen zoals ze ingesteld zijn via het ACP.

Hoe kan het nu zijn dat bij het registreren, of wijzigen van een profiel, de foto niet getoetst wordt aan de waarden die voor de profielfoto via het ACP zijn ingesteld maar aan de waarden van de avatar? In welk bestand wordt dit "geregeld"?

Groeten,
Erik

Gesloten