Forum Webscript.Ru

Программирование => PHP => Тема начата: kkhk от 13 Октября 2001, 16:21:00

Название: Вопросик?
Отправлено: kkhk от 13 Октября 2001, 16:21:00
вот файл, что нужно изменить в этом файле что бы можно в ручную добовлять избранным юзерам их картинки рядом с их именем , если можно подробнее я не программист.

   //start the forum session
  session_start("ITAF");
 
    //include main components
  require("config.inc.php");
  require("lang.inc.php");
  require("classes/navbar.class.php");
  require("classes/pagesplit.class.php");
  require("userStatusFuncs.inc.php");
  require("regFuncs.inc.php");
 
  //create db access object instance
  require("dbaccess.inc.php");
 
  //get the selected forum name
  $trs = mysql_query("SELECT forumtitle, locked FROM itaf_forum WHERE forumid = \'$fid\'");
  if($res1 = mysql_fetch_array($trs)){
      $forum_name = $res1[\'forumtitle\'];
  }

  //get the selected thread messages...
  $message_rs = mysql_query("SELECT * FROM itaf_message WHERE threadid = \'$tid\' ORDER BY intime");
  if($res = mysql_fetch_array($message_rs)){
      $thread_name = $res[\'heading\'];
  }
 
  //move to selected block
  mysql_data_seek($message_rs,$block);
  $res = mysql_fetch_array($message_rs);
 
  //create page split...
  $total_messages = mysql_num_rows($message_rs);
  $current_page = round($block / $user_toshow) + 1;
  $mysplit = new pageSplit($total_messages,$block,"showthread.php",$user_toshow);
 
  //create a navigation bar
  $mynav = new navbar();
  $title = $forum_name;
  $mynav->addElement($title,"showforum.php?fid=".$fid);
  $title = $lang[\'THREAD\'] . ": " . $thread_name . " -- " . $lang[\'PAGE\'] . " " . $current_page;
  $mynav->addElement($title,"showthread.php?fid=".$fid."&tid=".$tid);
 
  //get user browser:
  $agent = getenv("HTTP_USER_AGENT");
 
  //show the header data
  include("header.inc.php");
 
  //show the login bar + menu and navigation
  include("topbar.inc.php");
 
  //here comes the data...
  ?>
    ">
       
         
       
     

           
              ">
               
               
             
             
              ">
               
             
                              $current_color = $LIGHT_IN;
                if($block<1){
                    $icon_state = "out";
                }else{
                    $icon_state = "in";
                }
               
                //get some cool output herefrom...
                for($x=0;$x<$user_toshow;$x++){
                    //get all the sender info...
                    $current_sender = $res[\'sender\'];
                   
                    //check if user is registered... if yes, get his info from db
                    //otherwise make all info N/A...
                    if(isRegistered($current_sender)){

                      //get current sender info...
                      $sender_rs = mysql_query("SELECT user_signature, user_name, user_city, user_status, count(itaf_message.id) as tot_mes
                       FROM itaf_user, itaf_message WHERE user_name = \'$current_sender\' AND user_name = itaf_message.sender GROUP BY
                       user_name");
                      $sender = mysql_fetch_array($sender_rs);
                     
                      //fix the city
                      if(strlen($sender[\'user_city\'])<2){
                          $sender_from = $lang[\'NA\'];
                      }else{
                          $sender_from = $sender[\'user_city\'];
                      }
                     
                      $sender_signature = $sender[\'user_signature\'];
                      $sender_messages = $sender[\'tot_mes\'];
                      $sender_status = $sender[\'user_status\'];
                    }else{
                      $sender_from = $lang[\'NA\'];
                      $sender_messages = $lang[\'NA\'];
                      $sender_status = 0;
                    }
                   
                    //get message intime...
                    $stamp = $res[\'intime\'];
              ?>
              ">
               
               
             
             
             
               
             
             
               
             
                              //control color change...
                if($current_color==$LIGHT_IN){
                    $current_color = $DARK_IN;
                }else{
                    $current_color = $LIGHT_IN;
                }

                //change icon state
                $icon_state = "in";
                $sender_signature = "";
               
                //control page split...
                if($res = mysql_fetch_array($message_rs)){
              } else { break; }
         
              }//end for

              //show split
              $mysplit->showLine();
             ?>
           
:

                                      if(isRegistered($current_sender)){
                        ?>
                          showuser.php?uid=">
                                            }else{
                        echo htmlspecialchars($current_sender);
                    }
                  ?>
                 


                 

                 

                  :

                  :

                 
                   
                     
                     
                   
                 
img/icon_.gif" width="20" height="13"> 

               
" colspan="2" height="20">
                 
                   
                     
                     
                   
                 
:
                       

                         
                           
                             
                                                              //make sure only the owner or admin may edit the message...
                                if(($user_status>7)||($current_sender==$user_id)){?>
                             
                             
                             
                             
                                                              }
                               
                                if(($res1[\'locked\']>1)&&($user_status<9)){
                                    ?>
                                   
                                   
                                                                    }else{
                              ?>
                                 
                                 
                                 
                                 
                                                              }
                              ?>
                           
                         
 img/i-delete.gif" width="24" height="16">itafdeletemessage.php?mid=&tid=&tot_m=">    img/i-edit.gif" width="24" height="16">addmessage.php?action=edit&fid=&tid=&mid=&bp=">     img/glasses.gif" width="24" height="16">img/i-quote.gif" width="24" height="16">addmessage.php?action=quote&tid=&fid=&tot_m=&mid=">    img/i-reply.gif" width="24" height="16">addmessage.php?action=reply&tid=&fid=&tot_m=&mid=">

                       

                     

               
" colspan="2">

                                       echo nl2br($res[\'centents\']);
                     
                     if(strlen($sender_signature)>1){
                        echo "

~~~~~~~~~~~~

";
                        echo nl2br($sender_signature);
                     }
                  ?>

                 

               

         


               
  //show the statistics table
  include("stats.inc.php");
 
  //show the footer data
  include("footer.inc.php");
?>
Название: Вопросик?
Отправлено: Макс от 13 Октября 2001, 20:05:39
А почему ты думаешь что нужно именно в этом этом файле нужно что-то изменить.

1. Нужно изменить базу данных - добавить поле для хранения адреса картинки.
2.Нужно изменить регистрацию на этом (насколько я понял) форуме - добавить текстовое поле, куда юзер должен ввести URL картинки.
3. И в этом файле добавить что-то и поменять SQL-запросы

Если это все-таки форум - то возьми себе готовый скрипт - XMB или vBulletin. Там такая фича встроена.

А в готовом скрипте разбираться врятле кто будет. :(

Цитировать
если можно подробнее я не программист.
Любой программер по вопросу может определить что спрашивает его не программер :) :) :)
Название: Вопросик?
Отправлено: kkhk от 13 Октября 2001, 21:27:27
Есть такой форум http://www.ita-studio.com/forum/ru/f/  , я хочу поставить себе такой, сейчас его тестирую на халявном хостинге http://www.zavgar.f2s.com/forum/  со смайликами я разобрался, как их добовлять, но вот хочу сделать  добавление аватара , не автоматическое, просто в ручную для админа и модераторов, размер например 32х32 рх,  Автор форума обещает помочь, но сейчас занят делом, пишет чат интегрированный с форумом, это он мне сказал, что нужно прописать в этом файле что то.
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 01:57:02
30$
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 05:46:36
AliMamed
Куда платить? счет и прочее, гарантии, что получится.
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 12:46:07
Цитировать
что бы можно в ручную добовлять избранным юзерам их картинки рядом с их именем

вот это получица.

платить мона на вебмани. - присылаешь целиком исходник кода всего форума, я делаю - показываю тебе. присылаешь деньги - возвращаю исходник
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 13:54:44
Давай лучше просто на счет, не люблю я эти интернет бабки, могу вестер юнион оплатить, данные свои кидай на мыло kkhk@mail.ru , исходник можно скачать от сюда http://www.ita-studio.com/forum/ru/download.php только бери русский за основу, если еще что сможешь прилепить к форуму я не обижусь :)
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 19:20:20
ХАК для ItaForum v.1.21
позволяет администратору определить, какие пользователи могут иметь аватаров, а пользователям - добавлять аватаров в виде урлов к картинкам


1. Базу данных форума измените следующим образом:

ALTER TABLE itaf_user ADD astatus INT (1) not null , ADD avatar VARCHAR (255) not null


2. отредактируйте editusers.php следующим образом

2.1. замените:
$myresultset = mysql_query("SELECT user_name, id, user_status FROM itaf_user ORDER BY user_name");
     на:
$myresultset = mysql_query("SELECT user_name, id, user_status, astatus FROM itaf_user ORDER BY user_name");


2.2. после
   
                     

                      1){?>
                        demoteuser.php?uid="> |
                                            if($user[\'user_status\']<9){?>
                        promoteuser.php?uid="> |
                        deleteuser.php?uid=">
                       

                   
     добавьте:
   
                       
avatars.php?uid=&action=deny">Запретить аватаров

   
                       
avatars.php?uid=&action=let">Разрешить аватаров

   

3. отредактируйте itafedituser.php следующим образом:
2.1. после:
$user_city = htmlspecialchars(trim($user_city));

     вставьте:
$user_avatar = htmlspecialchars(trim($user_avatar));
     
2.2. после:
auto_login=\'$auto_login\',

     вставьте:
avatar=\'$user_avatar\',

2.3. после:
                 ">
                 
                   
:

                 
                 
                    " size="" style="width: 100%;" maxlength="128">
                 
               

     вставьте:

                ">
                 
                   
Аватар:

                 
                 
                    " size="" style="width: 100%;" maxlength="128">
                 
               


3. отредактируйте showuser.php

   после:
                ">
                 
                   
:

                 
                 
                    ">
                 
               

   вставьте:
1) ){ ?>
                ">
                 
                   
Аватар:

                 
                 
                    " border="0">
                 
               


4. отредактируйте showthread.php

4.1. замените:
$sender_rs = mysql_query("SELECT user_signature, user_name, user_city, user_status, count(itaf_message.id) as tot_mes
FROM itaf_user, itaf_message WHERE user_name = \'$current_sender\' AND user_name = itaf_message.sender GROUP BY
user_name");
     на:
$sender_rs = mysql_query("SELECT user_signature, user_name, user_city, user_status, astatus, avatar, count(itaf_message.id) as tot_mes
FROM itaf_user, itaf_message WHERE user_name = \'$current_sender\' AND user_name = itaf_message.sender GROUP BY
user_name");

4.2. после:
$sender_status = $sender[\'user_status\'];
     вставьте:
$sender_astatus = $sender[\'astatus\'];
$sender_avatar = $sender[\'avatar\'];

4.3. после:


     вставьте:
1) ){ ?>
                    " border="0">



5. создайте файл avatars.php со следующим кодом:

  //start the forum session
  unset($user_status);   //wannabe hackers, go away!
  unset($user_id); //wannabeeeees... go AWAY!
  session_start("ITAF");
  session_register($user_status);
  session_register($user_id);

  //config file...
  require("config.inc.php");
 
  //check for user status, must be admin
  if(($user_status<9)||(!eregi("^$SERVER_ROOT" . "edituser.php" ,$HTTP_REFERER))){
      header("Location: $ERROR_ROOT");
      exit;
  }

  //include main components
  require("classes/db.class.php");
 
  //create db access object instance
  require("dbaccess.inc.php");
 
  if( $action=="let" ){
   mysql_query("UPDATE itaf_user SET astatus = \'1\' WHERE id = \'$uid\'");  
  }
  elseif( $action=="deny" ){
   mysql_query("UPDATE itaf_user SET astatus = \'0\' WHERE id = \'$uid\'");  
  }
  //and redirect...
  Header("Location: $HTTP_REFERER");
?>

вот так вроде должно работать
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 20:07:13
Спасибо пойду пробовать, вышли на мыло свои данные для оплаты, если не получится можно еще раз обратиться? и дай кнопку на твой ресурс размещу, у себя после того как выложу на платный хостинг.
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 20:08:52
энто халява потому как не совсем то как просилося
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 20:09:39
Цитировать
1. Базу данных форума измените следующим образом:

code:
   ALTER TABLE itaf_user ADD avstatus INT (1) not null , ADD avatar VARCHAR (255) not null


это где енто такое находится?
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 20:15:42
Ну хоть кнопку твою дай , с удовольствием размещу, пусть люди пользуются, может кто через меня и с серьезным вопросом  обратится, бабки заработаешь и мне приятно будет
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 20:16:57
Цитировать
Цитата:
1. Базу данных форума измените следующим образом:

code:
ALTER TABLE itaf_user ADD avstatus INT (1) not null , ADD avatar VARCHAR (255) not null

это где енто такое находится?


это в mysql
Название: Вопросик?
Отправлено: AliMamed от 14 Октября 2001, 20:18:44
только не avstatus а просто astatus
Название: Вопросик?
Отправлено: kkhk от 14 Октября 2001, 20:22:57
я тестирую на на f2s.com, как это произвести я даже толком и не знаю если можно по подробнне