[ Index ] |
|
Code source de e107 0.7.8 |
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 .= " <input type='checkbox' name='unblock[{$row['cb_id']}]' value='1' />".CHATBOX_L7; 125 } 126 else 127 { 128 $cb_message .= " <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 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Apr 1 01:23:32 2007 | par Balluche grâce à PHPXref 0.7 |