[ Index ]
 

Code source de e107 0.7.8

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/e107_plugins/chatbox_menu/ -> chat.php (source)

   1  <?php
   2  /*
   3  + ----------------------------------------------------------------------------+
   4  |     e107 website system
   5  |
   6  |     ©Steve Dunstan 2001-2002
   7  |     http://e107.org
   8  |     jalist@e107.org
   9  |
  10  |     Released under the terms and conditions of the
  11  |     GNU General Public License (http://gnu.org).
  12  |
  13  |     $Source: /cvsroot/e107/e107_0.7/e107_plugins/chatbox_menu/chat.php,v $
  14  |     $Revision: 1.24 $
  15  |     $Date: 2007/01/28 13:51:57 $
  16  |     $Author: e107steved $
  17  +----------------------------------------------------------------------------+
  18  */
  19  require_once ("../../class2.php");
  20  if (file_exists(e_PLUGIN."chatbox_menu/languages/".e_LANGUAGE."/".e_LANGUAGE.".php")) {
  21      include_once(e_PLUGIN."chatbox_menu/languages/".e_LANGUAGE."/".e_LANGUAGE.".php");
  22  } else {
  23      include_once(e_PLUGIN."chatbox_menu/languages/English/English.php");
  24  }
  25  require_once(HEADERF);
  26  
  27  $sql->db_Select("menus", "*", "menu_name='chatbox_menu'");
  28  $row = $sql->db_Fetch();
  29  
  30  if (!check_class($row['menu_class'])) {
  31      $ns->tablerender(CHATBOX_L23, "<div style='text-align:center'>".CHATBOX_L24."</div>");
  32      require_once(FOOTERF);
  33      exit;
  34  }
  35  
  36  if(!isset($pref['cb_mod']))
  37  {
  38      $pref['cb_mod'] = e_UC_ADMIN;
  39  }
  40  define("CB_MOD", check_class($pref['cb_mod']));
  41  
  42  if($_POST['moderate'] && CB_MOD)
  43  {
  44      if(isset($_POST['block']))
  45      {
  46          foreach(array_keys($_POST['block']) as $k){ $kk[] = intval($k); }
  47          $blocklist = implode(",", $kk);
  48          $sql->db_Select_gen("UPDATE #chatbox SET cb_blocked=1 WHERE cb_id IN ({$blocklist})");
  49      }
  50  
  51      if(isset($_POST['unblock']))
  52      {
  53          foreach(array_keys($_POST['unblock']) as $k){ $kk[] = intval($k); }
  54          $unblocklist = implode(",", $kk);
  55          $sql->db_Select_gen("UPDATE #chatbox SET cb_blocked=0 WHERE cb_id IN ({$unblocklist})");
  56      }
  57  
  58      if(isset($_POST['delete']))
  59      {
  60          $deletelist = implode(",", array_keys($_POST['delete']));
  61          $sql -> db_Select_gen("SELECT c.cb_id, u.user_id FROM #chatbox AS c
  62          LEFT JOIN #user AS u ON SUBSTRING_INDEX(c.cb_nick,'.',1) = u.user_id
  63          WHERE c.cb_id IN (".$deletelist.")");
  64          $rowlist = $sql -> db_getList();
  65          foreach ($rowlist as $row) {
  66              $sql -> db_Select_gen("UPDATE #user SET user_chats=user_chats-1 where user_id = ".intval($row['user_id']));
  67          }
  68          $sql -> db_Select_gen("DELETE FROM #chatbox WHERE cb_id IN ({$deletelist})");
  69      }
  70      $e107cache->clear("nq_chatbox");
  71      $message = CHATBOX_L18;
  72  }
  73  
  74  // when coming from search.php
  75  if (strstr(e_QUERY, "fs")) {
  76      $cgtm = str_replace(".fs", "", e_QUERY);
  77      $fs = TRUE;
  78  }
  79  // end search
  80  
  81  if (e_QUERY ? $from = e_QUERY : $from = 0);
  82  
  83  $chat_total = $sql->db_Count("chatbox");
  84  
  85  $qry_where = (CB_MOD ? "1" : "cb_blocked=0");
  86  
  87  // when coming from search.php calculate page number
  88  if ($fs) {
  89      $page_count = 0;
  90      $row_count = 0;
  91      $sql->db_Select("chatbox", "*", "{$qry_where} ORDER BY cb_datestamp DESC");
  92      while ($row = $sql -> db_Fetch()) {
  93          if ($row['cb_id'] == $cgtm) {
  94              $from = $page_count;
  95              break;
  96          }
  97          $row_count++;
  98          if ($row_count == 30) {
  99              $row_count = 0;
 100              $page_count += 30;
 101          }
 102      }
 103  }
 104  // end search
 105  
 106  $sql->db_Select("chatbox", "*", "{$qry_where} ORDER BY cb_datestamp DESC LIMIT ".intval($from).", 30");
 107  $obj2 = new convert;
 108  
 109  $chatList = $sql->db_getList();
 110  foreach ($chatList as $row)
 111  {
 112      $CHAT_TABLE_DATESTAMP = $obj2->convert_date($row['cb_datestamp'], "long");
 113      $CHAT_TABLE_NICK = preg_replace("/[0-9]+\./", "", $row['cb_nick']);
 114      $cb_message = $tp->toHTML($row['cb_message'], TRUE,'BODY');
 115      if($row['cb_blocked'])
 116      {
 117          $cb_message .= "<br />".CHATBOX_L25;
 118      }
 119      if(CB_MOD)
 120      {
 121          $cb_message .= "<br /><input type='checkbox' name='delete[{$row['cb_id']}]' value='1' />".CHATBOX_L10;
 122          if($row['cb_blocked'])
 123          {
 124              $cb_message .= "&nbsp;&nbsp;&nbsp;<input type='checkbox' name='unblock[{$row['cb_id']}]' value='1' />".CHATBOX_L7;
 125          }
 126          else
 127          {
 128              $cb_message .= "&nbsp;&nbsp;&nbsp;<input type='checkbox' name='block[{$row['cb_id']}]' value='1' />".CHATBOX_L9;
 129          }
 130      }
 131  
 132      $CHAT_TABLE_MESSAGE = $cb_message;
 133      $CHAT_TABLE_FLAG = ($flag ? "forumheader3" : "forumheader4");
 134  
 135      if (!$CHAT_TABLE) {
 136          if (file_exists(THEME."chat_template.php"))
 137          {
 138              require_once (THEME."chat_template.php");
 139          }
 140          else
 141          {
 142              require_once(e_PLUGIN."chatbox_menu/chat_template.php");
 143          }
 144      }
 145      $textstring .= preg_replace("/\{(.*?)\}/e", '$\1', $CHAT_TABLE);
 146      $flag = (!$flag ? TRUE : FALSE);
 147  }
 148  
 149  $textstart = preg_replace("/\{(.*?)\}/e", '$\1', $CHAT_TABLE_START);
 150  $textend = preg_replace("/\{(.*?)\}/e", '$\1', $CHAT_TABLE_END);
 151  $text = $textstart.$textstring.$textend;
 152  if(CB_MOD)
 153  {
 154      $text = "<form method='post' action='".e_SELF."'>".$text."<input type='submit' class='button' name='moderate' value='".CHATBOX_L13."' /></form>";
 155  }
 156  if($message)
 157  {
 158      $ns->tablerender("", $message);
 159  }
 160  
 161  $ns->tablerender(CHATBOX_L20, $text);
 162  
 163  
 164  require_once(e_HANDLER."np_class.php");
 165  $ix = new nextprev("chat.php", $from, 30, $chat_total, CHATBOX_L21);
 166  
 167  require_once(FOOTERF);
 168  ?>


Généré le : Sun Apr 1 01:23:32 2007 par Balluche grâce à PHPXref 0.7