Chyba v nahrávání obrázku na server z url

Podpora pre phpBB 2, nie podpora pre modifikácie, tú nájdete o kúsok nižšie

Moderátor: Moderátori

Chyba v nahrávání obrázku na server z url

Poslaťod M1k3 » Ned Máj 13, 2007 6:30 am

Takže doufám že v nýzvu threadu je jasně uvedeno oč se jedná.. po odeslání se objeví toto hlášení:

Kód: Vybrať všetko
Warning: tempnam() [function.tempnam]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/home/www/lfsaction.net:/usr/local/lib/php) in /home/www/lfsaction.net/subdomains/warez/includes/usercp_avatar.php on line 170

Warning: Cannot modify header information - headers already sent by (output started at /home/www/lfsaction.net/subdomains/warez/includes/usercp_avatar.php:170) in /home/www/lfsaction.net/subdomains/warez/includes/page_header.php on line 515

Warning: Cannot modify header information - headers already sent by (output started at /home/www/lfsaction.net/subdomains/warez/includes/usercp_avatar.php:170) in /home/www/lfsaction.net/subdomains/warez/includes/page_header.php on line 517

Warning: Cannot modify header information - headers already sent by (output started at /home/www/lfsaction.net/subdomains/warez/includes/usercp_avatar.php:170) in /home/www/lfsaction.net/subdomains/warez/includes/page_header.php on line 518


ZDE JE OBSAH souboru usercp_avatar.php:
Kód: Vybrať všetko
<?php
/***************************************************************************
*                             usercp_avatar.php
*                            -------------------
*   begin                : Saturday, Feb 13, 2001
*   copyright            : (C) 2001 The phpBB Group
*   email                : support@phpbb.com
*
*   $Id: usercp_avatar.php,v 1.8.2.24 2006/05/23 21:09:27 grahamje Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
*
***************************************************************************/

function check_image_type(&$type, &$error, &$error_msg)
{
   global $lang;

   switch( $type )
   {
      case 'jpeg':
      case 'pjpeg':
      case 'jpg':
         return '.jpg';
         break;
      case 'gif':
         return '.gif';
         break;
      case 'png':
         return '.png';
         break;
      default:
         $error = true;
         $error_msg = (!empty($error_msg)) ? $error_msg . '<br />' . $lang['Avatar_filetype'] : $lang['Avatar_filetype'];
         break;
   }

   return false;
}

function user_avatar_delete($avatar_type, $avatar_file)
{
   global $board_config, $userdata;

   $avatar_file = basename($avatar_file);
   if ( $avatar_type == USER_AVATAR_UPLOAD && $avatar_file != '' )
   {
      if ( @file_exists(@phpbb_realpath('./' . $board_config['avatar_path'] . '/' . $avatar_file)) )
      {
         @unlink('./' . $board_config['avatar_path'] . '/' . $avatar_file);
      }
   }

   return ", user_avatar = '', user_avatar_type = " . USER_AVATAR_NONE;
}

function user_avatar_gallery($mode, &$error, &$error_msg, $avatar_filename, $avatar_category)
{
   global $board_config;

   $avatar_filename = phpbb_ltrim(basename($avatar_filename), "'");
   $avatar_category = phpbb_ltrim(basename($avatar_category), "'");
   
   if(!preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $avatar_filename))
   {
      return '';
   }

   if ($avatar_filename == "" || $avatar_category == "")
   {
      return '';
   }

   if ( file_exists(@phpbb_realpath($board_config['avatar_gallery_path'] . '/' . $avatar_category . '/' . $avatar_filename)) && ($mode == 'editprofile') )
   {
      $return = ", user_avatar = '" . str_replace("\'", "''", $avatar_category . '/' . $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_GALLERY;
   }
   else
   {
      $return = '';
   }
   return $return;
}

function user_avatar_url($mode, &$error, &$error_msg, $avatar_filename)
{
   global $lang;

   if ( !preg_match('#^(http)|(ftp):\/\/#i', $avatar_filename) )
   {
      $avatar_filename = 'http://' . $avatar_filename;
   }

   $avatar_filename = substr($avatar_filename, 0, 100);

   if ( !preg_match("#^((ht|f)tp://)([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png))$)#is", $avatar_filename) )
   {
      $error = true;
      $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Wrong_remote_avatar_format'] : $lang['Wrong_remote_avatar_format'];
      return;
   }

   return ( $mode == 'editprofile' ) ? ", user_avatar = '" . str_replace("\'", "''", $avatar_filename) . "', user_avatar_type = " . USER_AVATAR_REMOTE : '';

}

function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_type, &$error, &$error_msg, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype)
{
   global $board_config, $db, $lang;

   $ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';

   $width = $height = 0;
   $type = '';

   if ( $avatar_mode == 'remote' && preg_match('/^(http:\/\/)?([\w\-\.]+)\:?([0-9]*)\/([^ \?&=\#\"\n\r\t<]*?(\.(jpg|jpeg|gif|png)))$/', $avatar_filename, $url_ary) )
   {
      if ( empty($url_ary[4]) )
      {
         $error = true;
         $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['Incomplete_URL'] : $lang['Incomplete_URL'];
         return;
      }

      $base_get = '/' . $url_ary[4];
      $port = ( !empty($url_ary[3]) ) ? $url_ary[3] : 80;

      if ( !($fsock = @fsockopen($url_ary[2], $port, $errno, $errstr)) )
      {
         $error = true;
         $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['No_connection_URL'] : $lang['No_connection_URL'];
         return;
      }

      @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($avatar_data);
      while( !@feof($fsock) )
      {
         $avatar_data .= @fread($fsock, $board_config['avatar_filesize']);
      }
      @fclose($fsock);

      if (!preg_match('#Content-Length\: ([0-9]+)[^ /][\s]+#i', $avatar_data, $file_data1) || !preg_match('#Content-Type\: image/[x\-]*([a-z]+)[\s]+#i', $avatar_data, $file_data2))
      {
         $error = true;
         $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $lang['File_no_data'] : $lang['File_no_data'];
         return;
      }

      $avatar_filesize = $file_data1[1];
      $avatar_filetype = $file_data2[1];

      if ( !$error && $avatar_filesize > 0 && $avatar_filesize < $board_config['avatar_filesize'] )
      {
         $avatar_data = substr($avatar_data, strlen($avatar_data) - $avatar_filesize, $avatar_filesize);

         $tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp';
         $tmp_filename = tempnam($tmp_path, uniqid(rand()) . '-');

         $fptr = @fopen($tmp_filename, 'wb');
         $bytes_written = @fwrite($fptr, $avatar_data, $avatar_filesize);
         @fclose($fptr);

         if ( $bytes_written != $avatar_filesize )
         {
            @unlink($tmp_filename);
            message_die(GENERAL_ERROR, 'Could not write avatar file to local storage. Please contact the board administrator with this message', '', __LINE__, __FILE__);
         }

         list($width, $height, $type) = @getimagesize($tmp_filename);
      }
      else
      {
         $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024));

         $error = true;
         $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
      }
   }
   else if ( ( file_exists(@phpbb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )
   {
      if ( $avatar_filesize <= $board_config['avatar_filesize'] && $avatar_filesize > 0 )
      {
         preg_match('#image\/[x\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype);
         $avatar_filetype = $avatar_filetype[1];
      }
      else
      {
         $l_avatar_size = sprintf($lang['Avatar_filesize'], round($board_config['avatar_filesize'] / 1024));

         $error = true;
         $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
         return;
      }

      list($width, $height, $type) = @getimagesize($avatar_filename);
   }

   if ( !($imgtype = check_image_type($avatar_filetype, $error, $error_msg)) )
   {
      return;
   }

   switch ($type)
   {
      // GIF
      case 1:
         if ($imgtype != '.gif')
         {
            @unlink($tmp_filename);
            message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
         }
      break;

      // JPG, JPC, JP2, JPX, JB2
      case 2:
      case 9:
      case 10:
      case 11:
      case 12:
         if ($imgtype != '.jpg' && $imgtype != '.jpeg')
         {
            @unlink($tmp_filename);
            message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
         }
      break;

      // PNG
      case 3:
         if ($imgtype != '.png')
         {
            @unlink($tmp_filename);
            message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
         }
      break;

      default:
         @unlink($tmp_filename);
         message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
   }

   if ( $width > 0 && $height > 0 && $width <= $board_config['avatar_max_width'] && $height <= $board_config['avatar_max_height'] )
   {
      $new_filename = uniqid(rand()) . $imgtype;

      if ( $mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '' )
      {
         user_avatar_delete($current_type, $current_avatar);
      }

      if( $avatar_mode == 'remote' )
      {
         @copy($tmp_filename, './' . $board_config['avatar_path'] . "/$new_filename");
         @unlink($tmp_filename);
      }
      else
      {
         if ( @$ini_val('open_basedir') != '' )
         {
            if ( @phpversion() < '4.0.3' )
            {
               message_die(GENERAL_ERROR, 'open_basedir is set and your PHP version does not allow move_uploaded_file', '', __LINE__, __FILE__);
            }

            $move_file = 'move_uploaded_file';
         }
         else
         {
            $move_file = 'copy';
         }

         if (!is_uploaded_file($avatar_filename))
         {
            message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
         }
         $move_file($avatar_filename, './' . $board_config['avatar_path'] . "/$new_filename");
      }

      @chmod('./' . $board_config['avatar_path'] . "/$new_filename", 0777);

      $avatar_sql = ( $mode == 'editprofile' ) ? ", user_avatar = '$new_filename', user_avatar_type = " . USER_AVATAR_UPLOAD : "'$new_filename', " . USER_AVATAR_UPLOAD;
   }
   else
   {
      $l_avatar_size = sprintf($lang['Avatar_imagesize'], $board_config['avatar_max_width'], $board_config['avatar_max_height']);

      $error = true;
      $error_msg = ( !empty($error_msg) ) ? $error_msg . '<br />' . $l_avatar_size : $l_avatar_size;
   }

   return $avatar_sql;
}

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, &$dateformat, &$session_id)
{
   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) )
      {
         $sub_dir = @opendir($board_config['avatar_gallery_path'] . '/' . $file);

         $avatar_row_count = 0;
         $avatar_col_count = 0;
         while( $sub_file = @readdir($sub_dir) )
         {
            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) )
   {
      list($category, ) = each($avatar_images);
   }
   @reset($avatar_images);

   $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>';

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

      $s_colspan = max($s_colspan, count($avatar_images[$category][$i]));

      for($j = 0; $j < count($avatar_images[$category][$i]); $j++)
      {
         $template->assign_block_vars('avatar_row.avatar_column', array(
            "AVATAR_IMAGE" => $board_config['avatar_gallery_path'] . '/' . $category . '/' . $avatar_images[$category][$i][$j],
            "AVATAR_NAME" => $avatar_name[$category][$i][$j])
         );

         $template->assign_block_vars('avatar_row.avatar_option_column', array(
            "S_OPTIONS_AVATAR" => $avatar_images[$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', 'dateformat');

   $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('"', '&quot;', $$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;
}

?>


ZDE je obsah souboru page_header.php:
Kód: Vybrať všetko
<?php
/***************************************************************************
*                              page_header.php
*                            -------------------
*   begin                : Saturday, Feb 13, 2001
*   copyright            : (C) 2001 The phpBB Group
*   email                : support@phpbb.com
*
*   $Id: page_header.php,v 1.106.2.25 2005/10/30 15:17:14 acydburn Exp $
*
*
***************************************************************************/

/***************************************************************************
*
*   This program is free software; you can redistribute it and/or modify
*   it under the terms of the GNU General Public License as published by
*   the Free Software Foundation; either version 2 of the License, or
*   (at your option) any later version.
*
***************************************************************************/

if ( !defined('IN_PHPBB') )
{
   die("Hacking attempt");
}

define('HEADER_INC', TRUE);
include($phpbb_root_path . 'includes/functions_news.'.$phpEx);

//
// gzip_compression
//
$do_gzip_compress = FALSE;
if ( $board_config['gzip_compress'] )
{
   $phpver = phpversion();

   $useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');

   if ( $phpver >= '4.0.4pl1' && ( strstr($useragent,'compatible') || strstr($useragent,'Gecko') ) )
   {
      if ( extension_loaded('zlib') )
      {
         ob_start('ob_gzhandler');
      }
   }
   else if ( $phpver > '4.0' )
   {
      if ( strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip') )
      {
         if ( extension_loaded('zlib') )
         {
            $do_gzip_compress = TRUE;
            ob_start();
            ob_implicit_flush(0);

            header('Content-Encoding: gzip');
         }
      }
   }
}

//
// Parse and show the overall header.
//
$template->set_filenames(array(
   'overall_header' => ( empty($gen_simple_header) ) ? 'overall_header.tpl' : 'simple_header.tpl')
);

//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
   $u_login_logout = 'login.'.$phpEx.'?logout=true&amp;sid=' . $userdata['session_id'];
   $l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
   $u_login_logout = 'login.'.$phpEx;
   $l_login_logout = $lang['Login'];
}

$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone']) : '';

//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';

if (defined('SHOW_ONLINE'))
{

   include_once($phpbb_root_path.'includes/functions_color_groups.'.$phpEx);

   $user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
   $sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
      FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
      WHERE u.user_id = s.session_user_id
         AND s.session_time >= ".( time() - 300 ) . "
         $user_forum_sql
      ORDER BY u.username ASC, s.session_ip ASC";
   if( !($result = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not obtain user/online information', '', __LINE__, __FILE__, $sql);
   }

   $userlist_ary = array();
   $userlist_visible = array();

   $prev_user_id = 0;
   $prev_user_ip = $prev_session_ip = '';

   while( $row = $db->sql_fetchrow($result) )
   {
      // User is logged in and therefor not a guest
      if ( $row['session_logged_in'] )
      {
         // Skip multiple sessions for one user
         if ( $row['user_id'] != $prev_user_id )
         {
            $user_online_link = color_group_colorize_name($row['user_id']);
            if ( $row['user_allow_viewonline'] )
            {
               $logged_visible_online++;
            }
            else
            {
               $logged_hidden_online++;
            }

            if ( $row['user_allow_viewonline'] || $userdata['user_level'] == ADMIN )
            {
               $online_userlist .= ( $online_userlist != '' ) ? ', ' . $user_online_link : $user_online_link;
            }
         }

         $prev_user_id = $row['user_id'];
      }
      else
      {
         // Skip multiple sessions for one user
         if ( $row['session_ip'] != $prev_session_ip )
         {
            $guests_online++;
         }
      }

      $prev_session_ip = $row['session_ip'];
   }
   $db->sql_freeresult($result);

   if ( empty($online_userlist) )
   {
      $online_userlist = $lang['None'];
   }
   $online_userlist = ( ( isset($forum_id) ) ? $lang['Browsing_forum'] : $lang['Registered_users'] ) . ' ' . $online_userlist;

   $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_online;

   if ( $total_online_users > $board_config['record_online_users'])
   {
      $board_config['record_online_users'] = $total_online_users;
      $board_config['record_online_date'] = time();

      $sql = "UPDATE " . CONFIG_TABLE . "
         SET config_value = '$total_online_users'
         WHERE config_name = 'record_online_users'";
      if ( !$db->sql_query($sql) )
      {
         message_die(GENERAL_ERROR, 'Could not update online user record (nr of users)', '', __LINE__, __FILE__, $sql);
      }

      $sql = "UPDATE " . CONFIG_TABLE . "
         SET config_value = '" . $board_config['record_online_date'] . "'
         WHERE config_name = 'record_online_date'";
      if ( !$db->sql_query($sql) )
      {
         message_die(GENERAL_ERROR, 'Could not update online user record (date)', '', __LINE__, __FILE__, $sql);
      }
   }

   if ( $total_online_users == 0 )
   {
      $l_t_user_s = $lang['Online_users_zero_total'];
   }
   else if ( $total_online_users == 1 )
   {
      $l_t_user_s = $lang['Online_user_total'];
   }
   else
   {
      $l_t_user_s = $lang['Online_users_total'];
   }

   if ( $logged_visible_online == 0 )
   {
      $l_r_user_s = $lang['Reg_users_zero_total'];
   }
   else if ( $logged_visible_online == 1 )
   {
      $l_r_user_s = $lang['Reg_user_total'];
   }
   else
   {
      $l_r_user_s = $lang['Reg_users_total'];
   }

   if ( $logged_hidden_online == 0 )
   {
      $l_h_user_s = $lang['Hidden_users_zero_total'];
   }
   else if ( $logged_hidden_online == 1 )
   {
      $l_h_user_s = $lang['Hidden_user_total'];
   }
   else
   {
      $l_h_user_s = $lang['Hidden_users_total'];
   }

   if ( $guests_online == 0 )
   {
      $l_g_user_s = $lang['Guest_users_zero_total'];
   }
   else if ( $guests_online == 1 )
   {
      $l_g_user_s = $lang['Guest_user_total'];
   }
   else
   {
      $l_g_user_s = $lang['Guest_users_total'];
   }

   $l_online_users = sprintf($l_t_user_s, $total_online_users);
   $l_online_users .= sprintf($l_r_user_s, $logged_visible_online);
   $l_online_users .= sprintf($l_h_user_s, $logged_hidden_online);
   $l_online_users .= sprintf($l_g_user_s, $guests_online);
}

//
// Obtain number of new private messages
// if user is logged in
//
if ( ($userdata['session_logged_in']) && (empty($gen_simple_header)) )
{
   if ( $userdata['user_new_privmsg'] )
   {
      $l_message_new = ( $userdata['user_new_privmsg'] == 1 ) ? $lang['New_pm'] : $lang['New_pms'];
      $l_privmsgs_text = sprintf($l_message_new, $userdata['user_new_privmsg']);

      if ( $userdata['user_last_privmsg'] > $userdata['user_lastvisit'] )
      {
         $sql = "UPDATE " . USERS_TABLE . "
            SET user_last_privmsg = " . $userdata['user_lastvisit'] . "
            WHERE user_id = " . $userdata['user_id'];
         if ( !$db->sql_query($sql) )
         {
            message_die(GENERAL_ERROR, 'Could not update private message new/read time for user', '', __LINE__, __FILE__, $sql);
         }

         $s_privmsg_new = 1;
         $icon_pm = $images['pm_new_msg'];
      }
      else
      {
         $s_privmsg_new = 0;
         $icon_pm = $images['pm_new_msg'];
      }
   }
   else
   {
      $l_privmsgs_text = $lang['No_new_pm'];

      $s_privmsg_new = 0;
      $icon_pm = $images['pm_no_new_msg'];
   }

   if ( $userdata['user_unread_privmsg'] )
   {
      $l_message_unread = ( $userdata['user_unread_privmsg'] == 1 ) ? $lang['Unread_pm'] : $lang['Unread_pms'];
      $l_privmsgs_text_unread = sprintf($l_message_unread, $userdata['user_unread_privmsg']);
   }
   else
   {
      $l_privmsgs_text_unread = $lang['No_unread_pm'];
   }
}
else
{
   $icon_pm = $images['pm_no_new_msg'];
   $l_privmsgs_text = $lang['Login_check_pm'];
   $l_privmsgs_text_unread = '';
   $s_privmsg_new = 0;
}

// BEGIN Advanced_Report_Hack
$report_info = '';
if (($userdata['user_level'] == ADMIN || $userdata['user_level'] == MOD) && $board_config['report_list'] == 0 && empty($gen_simple_header))
{
   include_once($phpbb_root_path . 'includes/functions_report.'.$phpEx);
   $report_count = report_count('notcleared');

   switch ($report_count)
   {
      case 0:
         $report_info = $lang['No_new_reports'];
         break;
      case 1:
         $report_info = $lang['New_report'];
         break;
      default:
         $report_info = sprintf($lang['New_reports'], $report_count);
   }
   $report_info = '<a href="' . append_sid("report.$phpEx") . '" class="mainmenu">' . $report_info . '</a>';
}
else if ($userdata['user_id'] != ANONYMOUS)
{
   $report_info = '<a href="' . append_sid("report.$phpEx?mode=report") . '" class="mainmenu">' . $lang['Write_report'] . '</a>';
}
// END Advanced_Report_Hack

//
// Generate HTML required for Mozilla Navigation bar
//
if (!isset($nav_links))
{
   $nav_links = array();
}

$nav_links_html = '';
$nav_link_proto = '<link rel="%s" href="%s" title="%s" />' . "\n";
while( list($nav_item, $nav_array) = @each($nav_links) )
{
   if ( !empty($nav_array['url']) )
   {
      $nav_links_html .= sprintf($nav_link_proto, $nav_item, append_sid($nav_array['url']), $nav_array['title']);
   }
   else
   {
      // We have a nested array, used for items like <link rel='chapter'> that can occur more than once.
      while( list(,$nested_array) = each($nav_array) )
      {
         $nav_links_html .= sprintf($nav_link_proto, $nav_item, $nested_array['url'], $nested_array['title']);
      }
   }
}

// Format Timezone. We are unable to use array_pop here, because of PHP3 compatibility
$l_timezone = explode('.', $board_config['board_timezone']);
$l_timezone = (count($l_timezone) > 1 && $l_timezone[count($l_timezone)-1] != 0) ? $lang[sprintf('%.1f', $board_config['board_timezone'])] : $lang[number_format($board_config['board_timezone'])];
//
// The following assigns all _common_ variables that may be used at any point
// in a template.
//
$template->assign_vars(array(
   'SITENAME' => $board_config['sitename'],
   'SITE_DESCRIPTION' => $board_config['site_desc'],
   'PAGE_TITLE' => $page_title,
   'LAST_VISIT_DATE' => sprintf($lang['You_last_visit'], $s_last_visit),
   'CURRENT_TIME' => sprintf($lang['Current_time'], create_date($board_config['default_dateformat'], time(), $board_config['board_timezone'])),
    'NEWS_TITLE' =>  $news_config['news_title'],
     'NEWS_COLOR' => $news_config['news_color'],
     'NEWS_BLOCK' => $news_config['news_block'],
     'NEWS_STYLE' => $news_config['news_style'],
     'NEWS_BOLD' => $news_config['news_bold'],
     'NEWS_ITAL' => $news_config['news_ital'],
     'NEWS_UNDER' => $news_config['news_under'],
     'NEWS_SIZE' => $news_config['news_size'],
     'SCROLL_SPEED' => $news_config['scroll_speed'],
     'SCROLL_ACTION' => $news_config['scroll_action'],
     'SCROLL_BEHAVIOR'=> $news_config['scroll_behavior'],
     'SCROLL_SIZE' => $news_config['scroll_size'],
   'TOTAL_USERS_ONLINE' => $l_online_users,
   'LOGGED_IN_USER_LIST' => $online_userlist,
   'RECORD_USERS' => sprintf($lang['Record_online_users'], $board_config['record_online_users'], create_date($board_config['default_dateformat'], $board_config['record_online_date'], $board_config['board_timezone'])),
   'PRIVATE_MESSAGE_INFO' => $l_privmsgs_text,
   'PRIVATE_MESSAGE_INFO_UNREAD' => $l_privmsgs_text_unread,
   'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,
   
   // BEGIN Advanced_Report_Hack
   'REPORT_INFO' => $report_info,
   // END Advanced_Report_Hack

   'PRIVMSG_IMG' => $icon_pm,

   'L_USERNAME' => $lang['Username'],
   'L_PASSWORD' => $lang['Password'],
   'L_LOGIN_LOGOUT' => $l_login_logout,
   'L_LOGIN' => $lang['Login'],
   'L_LOG_ME_IN' => $lang['Log_me_in'],
   'L_AUTO_LOGIN' => $lang['Log_me_in'],
   'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),
   'L_REGISTER' => $lang['Register'],
   'L_PROFILE' => $lang['Profile'],
   'L_SEARCH' => $lang['Search'],
   'L_PRIVATEMSGS' => $lang['Private_Messages'],
   'L_WHO_IS_ONLINE' => $lang['Who_is_Online'],
   'L_MEMBERLIST' => $lang['Memberlist'],
   'L_FAQ' => $lang['FAQ'],
   'L_USERGROUPS' => $lang['Usergroups'],
   'L_SEARCH_NEW' => $lang['Search_new'],
   'L_SEARCH_UNANSWERED' => $lang['Search_unanswered'],
   'L_SEARCH_SELF' => $lang['Search_your_posts'],
   'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '<span style="color:#' . $theme['fontcolor3'] . '">', '</span>'),
   'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '<span style="color:#' . $theme['fontcolor2'] . '">', '</span>'),

   'U_SEARCH_UNANSWERED' => append_sid('search.'.$phpEx.'?search_id=unanswered'),
   'U_SEARCH_SELF' => append_sid('search.'.$phpEx.'?search_id=egosearch'),
   'U_SEARCH_NEW' => append_sid('search.'.$phpEx.'?search_id=newposts'),
   'U_INDEX' => append_sid('index.'.$phpEx),
   'U_REGISTER' => append_sid('profile.'.$phpEx.'?mode=register'),
   'U_PROFILE' => append_sid('profile.'.$phpEx.'?mode=editprofile'),
   'U_PRIVATEMSGS' => append_sid('privmsg.'.$phpEx.'?folder=inbox'),
   'U_PRIVATEMSGS_POPUP' => append_sid('privmsg.'.$phpEx.'?mode=newpm'),
   'U_SEARCH' => append_sid('search.'.$phpEx),
   'U_MEMBERLIST' => append_sid('memberlist.'.$phpEx),
   'U_MODCP' => append_sid('modcp.'.$phpEx),
   'U_FAQ' => append_sid('faq.'.$phpEx),
   'U_VIEWONLINE' => append_sid('viewonline.'.$phpEx),
   'U_LOGIN_LOGOUT' => append_sid($u_login_logout),
   'U_GROUP_CP' => append_sid('groupcp.'.$phpEx),

   'S_CONTENT_DIRECTION' => $lang['DIRECTION'],
   'S_CONTENT_ENCODING' => $lang['ENCODING'],
   'S_CONTENT_DIR_LEFT' => $lang['LEFT'],
   'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'],
   'S_TIMEZONE' => sprintf($lang['All_times'], $l_timezone),
   'S_LOGIN_ACTION' => append_sid('login.'.$phpEx),

   'T_HEAD_STYLESHEET' => $theme['head_stylesheet'],
   'T_BODY_BACKGROUND' => $theme['body_background'],
   'T_BODY_BGCOLOR' => '#'.$theme['body_bgcolor'],
   'T_BODY_TEXT' => '#'.$theme['body_text'],
   'T_BODY_LINK' => '#'.$theme['body_link'],
   'T_BODY_VLINK' => '#'.$theme['body_vlink'],
   'T_BODY_ALINK' => '#'.$theme['body_alink'],
   'T_BODY_HLINK' => '#'.$theme['body_hlink'],
   'T_TR_COLOR1' => '#'.$theme['tr_color1'],
   'T_TR_COLOR2' => '#'.$theme['tr_color2'],
   'T_TR_COLOR3' => '#'.$theme['tr_color3'],
   'T_TR_CLASS1' => $theme['tr_class1'],
   'T_TR_CLASS2' => $theme['tr_class2'],
   'T_TR_CLASS3' => $theme['tr_class3'],
   'T_TH_COLOR1' => '#'.$theme['th_color1'],
   'T_TH_COLOR2' => '#'.$theme['th_color2'],
   'T_TH_COLOR3' => '#'.$theme['th_color3'],
   'T_TH_CLASS1' => $theme['th_class1'],
   'T_TH_CLASS2' => $theme['th_class2'],
   'T_TH_CLASS3' => $theme['th_class3'],
   'T_TD_COLOR1' => '#'.$theme['td_color1'],
   'T_TD_COLOR2' => '#'.$theme['td_color2'],
   'T_TD_COLOR3' => '#'.$theme['td_color3'],
   'T_TD_CLASS1' => $theme['td_class1'],
   'T_TD_CLASS2' => $theme['td_class2'],
   'T_TD_CLASS3' => $theme['td_class3'],
   'T_FONTFACE1' => $theme['fontface1'],
   'T_FONTFACE2' => $theme['fontface2'],
   'T_FONTFACE3' => $theme['fontface3'],
   'T_FONTSIZE1' => $theme['fontsize1'],
   'T_FONTSIZE2' => $theme['fontsize2'],
   'T_FONTSIZE3' => $theme['fontsize3'],
   'T_FONTCOLOR1' => '#'.$theme['fontcolor1'],
   'T_FONTCOLOR2' => '#'.$theme['fontcolor2'],
   'T_FONTCOLOR3' => '#'.$theme['fontcolor3'],
   'T_SPAN_CLASS1' => $theme['span_class1'],
   'T_SPAN_CLASS2' => $theme['span_class2'],
   'T_SPAN_CLASS3' => $theme['span_class3'],

   'NAV_LINKS' => $nav_links_html)
);

//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
   $template->assign_block_vars('switch_user_logged_out', array());
   //
   // Allow autologin?
   //
   if (!isset($board_config['allow_autologin']) || $board_config['allow_autologin'] )
   {
      $template->assign_block_vars('switch_allow_autologin', array());
      $template->assign_block_vars('switch_user_logged_out.switch_allow_autologin', array());
   }
}
else
{
   $template->assign_block_vars('switch_user_logged_in', array());

   if ( !empty($userdata['user_popup_pm']) )
   {
      $template->assign_block_vars('switch_enable_pm_popup', array());
   }
}

// Add no-cache control for cookies if they are set
//$c_no_cache = (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_data'])) ? 'no-cache="set-cookie", ' : '';

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
   header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
   header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
header ('Expires: 0');
header ('Pragma: no-cache');

$template->pparse('overall_header');

?>


CHMOD v images mame na 777.. i v avatars.. ví někdo o co jde? pls pomocte nám někdo..

EDIT: Mimochodem, právě jsem zjistil, že u vás to také blbne.. dělá to toto:
Kód: Vybrať všetko
Unable to upload file

DEBUG MODE

Line : 251
File : usercp_avatar.php
Obrázok
M1k3
Začiatočník
Začiatočník
 
Príspevky: 93
Registrovaný: Pia Apr 20, 2007 12:20 pm
Bydlisko: Česká Republika, Praha

Poslaťod smiesek » Ned Máj 13, 2007 7:50 am

Máš nastavený CHMOD 777 na složku tmp?
Obrázok
Obrázok
Obrázok
Obrázok užívateľa
smiesek
Začiatočník
Začiatočník
 
Príspevky: 27
Registrovaný: Sob Mar 31, 2007 6:29 pm
Bydlisko: Luhačovice

Poslaťod M1k3 » Ned Máj 13, 2007 8:21 am

no v adresari fora jako v rootu fora ji nemam jetli bych ji mel mit, ale v rootu jako takovym kde je taky slozka subdomains apod ji mám a chmod je na 777
Obrázok
M1k3
Začiatočník
Začiatočník
 
Príspevky: 93
Registrovaný: Pia Apr 20, 2007 12:20 pm
Bydlisko: Česká Republika, Praha

Poslaťod Shawan_666 » Ned Máj 13, 2007 9:52 am

nema sa nahodou nastavit chmod zlozky avatar na 777 :roll:
Slovenská podpora modifikácii do systému phpBB >|http://phpbbhacks.sk/|<
Online podpora phpBB. Píšte!!
Shawan_666
Expert
Expert
 
Príspevky: 1256
Registrovaný: Pia Apr 13, 2007 10:38 pm
Bydlisko: Nitra

Poslaťod M1k3 » Ned Máj 13, 2007 10:20 am

ale vdyt to pisam po pate, ze v chmodu to neni.. avatars mam na 777
Obrázok
M1k3
Začiatočník
Začiatočník
 
Príspevky: 93
Registrovaný: Pia Apr 20, 2007 12:20 pm
Bydlisko: Česká Republika, Praha

Poslaťod masterdead » Ned Máj 13, 2007 11:35 am

noo tento problem je sposobeny serverom, neviem presne ktora funkcia to ma na starosti. nasiel som fix, ale neviem ci to bude fungovat
otvor /admin/admin_users.php a najdi
Kód: Vybrať všetko
$tmp_filename = tempnam ("/tmp", $this_userdata['user_id'] . "-");
nahrad
Kód: Vybrať všetko
$tmp_filename = tempnam ( ini_get('upload_tmp_dir') , $this_userdata['user_id'] . "-");

otvor /includes/usercp_avatar.php a najdi
Kód: Vybrať všetko
$tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp';

nahrad
Kód: Vybrať všetko
$tmp_path = ( !@$ini_val('safe_mode') ) ? ini_get('upload_tmp_dir') : './' . $board_config['avatar_path'] . '/tmp';
ale neviem ci to bude fungovat :?
Obrázok užívateľa
masterdead
Administrátor
Administrátor
 
Príspevky: 960
Registrovaný: Ned Jan 28, 2007 1:02 pm

Poslaťod M1k3 » Ned Máj 13, 2007 6:24 pm

ok, ale aspoň něco :) dám vědět, jestli to funguje.. udělám si i zálohu, kdyby ne..
EDIT: bohužel to nefunguje :(, ale přesto díky za ochotu :) vyřeším to tak, že prostě z templatu odstraním to nahravani na server z url.. meli by v phpbb tak udelat, aby se dalo nastavit i to, jestli to tam chces mit nebo ne, protoze to je spolecne s nahravanim z harddisku.. inak by me zajimalo, proc to nejde zde na phpbb.sk? take nevite co s tim je?
Obrázok
M1k3
Začiatočník
Začiatočník
 
Príspevky: 93
Registrovaný: Pia Apr 20, 2007 12:20 pm
Bydlisko: Česká Republika, Praha

Poslaťod Leachim » Ned Máj 13, 2007 6:32 pm

Ja by som to trpšku upravil:

otvor /admin/admin_users.php a najdi[php]$tmp_filename = tempnam ("/tmp", $this_userdata['user_id'] . "-");[/php]nahrad
[php]$tmp_filename = tempnam ( @ini_get('upload_tmp_dir') , $this_userdata['user_id'] . "-");[/php]
otvor /includes/usercp_avatar.php a najdi[php]$tmp_path = ( !@$ini_val('safe_mode') ) ? '/tmp' : './' . $board_config['avatar_path'] . '/tmp';[/php]
nahrad[php]$tmp_path = ( !@$ini_val('safe_mode') ) ? @ini_get('upload_tmp_dir') : './' . $board_config['avatar_path'] . '/tmp';[/php]ale neviem ci to bude fungovat :?

Pred funkciu ini_get sompridal @.. @ v PHP funguje ako preskakovač pri chybe, teda keď sa nepodarí získať hodnotu z php.ini, tak nevypíše chybu, ale proste pokračuje vo vykonávaní skriptu

(to <?php na začiatku každého kódu ignoruj. Keby to tam nedám, teda to tam systém nedá automaticky, nezobrazí sa farebná syntax)
Michael Watzke - Osobný blog, Bazár PC, notebookov, Tvorba WWW stránok
Nepíšte mi ohľadom phpBB, neodpovedám...
Obrázok užívateľa
Leachim
Expert
Expert
 
Príspevky: 1123
Registrovaný: Sob Jan 27, 2007 2:34 pm


Späť na Podpora (phpBB 2)

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia


vladstudio
TOPlist TOPlist
cron

Valid XHTML 1.0 Strict [Valid Atom 1.0]


* Štúrovo ubytovanie *