PageRenderTime 69ms CodeModel.GetById 35ms RepoModel.GetById 0ms app.codeStats 1ms

/massmessage.php

https://github.com/TravianWar/Travianx
PHP | 327 lines | 287 code | 30 blank | 10 comment | 40 complexity | 9fadbec8e99f3ae5d760629526d08f81 MD5 | raw file
  1. <?php
  2. #################################################################################
  3. ## -= YOU MAY NOT REMOVE OR CHANGE THIS NOTICE =- ##
  4. ## --------------------------------------------------------------------------- ##
  5. ## Filename massmessage.php ##
  6. ## Developed by: Dzoki ##
  7. ## License: TravianX Project ##
  8. ## Copyright: TravianX (c) 2010-2011. All rights reserved. ##
  9. ## ##
  10. #################################################################################
  11. include_once("GameEngine/Account.php");
  12. $max_per_pass = 1000;
  13. mysql_connect(SQL_SERVER, SQL_USER, SQL_PASS);
  14. mysql_select_db(SQL_DB);
  15. if (mysql_num_rows(mysql_query("SELECT id FROM ".TB_PREFIX."users WHERE access = 9 AND id = ".$session->uid)) != '1') die("Hacking attemp!");
  16. if (@$_POST['submit'] == "Send")
  17. {
  18. unset ($_SESSION['m_message']); unset ($_SESSION['m_subject']); unset ($_SESSION['m_color']);
  19. if (!$_POST['message']){die("You have to enter message");}
  20. if (!$_POST['subject']){die("You have to enter subject");}
  21. if (!$_POST['color']){$_SESSION['m_color'] = "black";}
  22. $_SESSION['m_subject'] = $_POST['subject'];
  23. if (!$_SESSION['m_color']){$_SESSION['m_color'] = $_POST['color'];}
  24. $_SESSION['m_message'] = $_POST['message'];
  25. $NextStep = true;
  26. }
  27. if (@isset($_POST['confirm']))
  28. {
  29. if ($_POST['confirm'] == 'Yes') $NextStep2 = true;
  30. if ($_POST['confirm'] == 'No' ) $Interupt = true;
  31. }
  32. $max_per_pass = 1000;
  33. if (isset($_GET['send']) && isset($_GET['from']))
  34. {
  35. $_SESSION['m_message'] = preg_replace("/\[img\]([a-z0-9\_\.\:\/\-]*)\[\/img\]/i","<img src='$1' alt='Corrupted image'/>", $_SESSION['m_message']);
  36. $_SESSION['m_message'] = preg_replace("/\[url\]([a-z0-9\_\.\:\/\-]*)\[\/url\]/i", "<a href='$1'>$1</a>", $_SESSION['m_message']);
  37. $_SESSION['m_message'] = preg_replace("/\[url\=([a-z0-9\_\.\:\/\-]*)\]([a-z0-9\_\.\:\/\-]*)\[\/url\]/i", "<a href='$1'>$2</a>", $_SESSION['m_message']);
  38. $_SESSION['m_message'] = preg_replace("/\*u([0-9]*)(left|right)\*/i", "<img src='img/u2/u$1.gif' style='float:$2;' alt='unit$1' />", $_SESSION['m_message']);
  39. $users_count = mysql_fetch_assoc(mysql_query("SELECT count(*) as count FROM ".TB_PREFIX."users WHERE id != 0"));
  40. $users_count = $users_count['count'];
  41. if ($_GET['from'] + $max_per_pass <= $users_count) $plus = $max_per_pass; else $plus = $users_count - $_GET['from'];
  42. $sql = "INSERT INTO ".TB_PREFIX."mdata (`target`, `owner`, `topic`, `message`, `viewed`, `archived`, `send`, `time`) VALUES ";
  43. for($i = $_GET['from']; $i < ($_GET['from'] + $plus) ; $i++) {
  44. if ($_SESSION['m_color'])
  45. {
  46. $sql .= "($i, 0, '<span style=\'color:{$_SESSION['m_color']};\'>{$_SESSION['m_subject']}</span>', \"{$_SESSION['m_message']}\", 0, 0, 0, ".time()."),";
  47. }
  48. else
  49. {
  50. $sql .= "($i, 0, '{$_SESSION['m_subject']}', \"{$_SESSION['m_message']}\", 0, 0, 0, ".time()."),";
  51. }
  52. }
  53. if ($_SESSION['m_color'])
  54. {
  55. $sql .= "($i, 0, '<span style=\'color:{$_SESSION['m_color']};\'>{$_SESSION['m_subject']}</span>', \"{$_SESSION['m_message']}\", 0, 0, 0, ".time().")";
  56. }
  57. else
  58. {
  59. $sql .= "($i, 0, '{$_SESSION['m_subject']}', \"{$_SESSION['m_message']}\", 0, 0, 0, ".time()."),";
  60. }
  61. mysql_query($sql);
  62. if (($users_count - $_GET['from']) > $max_per_pass) echo header("Location: massmessage.php?send=true&from=",$_GET['from'] + $max_per_pass); else $done = true;
  63. }
  64. ?>
  65. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  66. <html>
  67. <head>
  68. <title><?php echo SERVER_NAME; ?></title>
  69. <link REL="shortcut icon" HREF="favicon.ico"/>
  70. <style>
  71. .fm {
  72. border:1px solid #71D000;
  73. font-size:8pt;
  74. padding-bottom:2px;
  75. padding-left:3px;
  76. padding-top:2px;
  77. }
  78. .tbg {
  79. background-color:#C0C0C0;
  80. font-size:10pt;
  81. text-align:center;
  82. width:100%;
  83. }
  84. .uu1 {background-image: url(img/u2/u1.gif);}
  85. .uu2 {background-image: url(img/u2/u2.gif);}
  86. .uu3 {background-image: url(img/u2/u3.gif);}
  87. .uu4 {background-image: url(img/u2/u4.gif);}
  88. .uu5 {background-image: url(img/u2/u5.gif);}
  89. .uu6 {background-image: url(img/u2/u6.gif);}
  90. .uu7 {background-image: url(img/u2/u7.gif);}
  91. .uu8 {background-image: url(img/u2/u8.gif);}
  92. .uu9 {background-image: url(img/u2/u9.gif);}
  93. .uu10 {background-image: url(img/u2/u10.gif);}
  94. .uu11 {background-image: url(img/u2/u11.gif);}
  95. .uu12 {background-image: url(img/u2/u12.gif);}
  96. .uu13 {background-image: url(img/u2/u13.gif);}
  97. .uu14 {background-image: url(img/u2/u14.gif);}
  98. .uu15 {background-image: url(img/u2/u15.gif);}
  99. .uu16 {background-image: url(img/u2/u16.gif);}
  100. .uu17 {background-image: url(img/u2/u17.gif);}
  101. .uu18 {background-image: url(img/u2/u18.gif);}
  102. .uu19 {background-image: url(img/u2/u19.gif);}
  103. .uu20 {background-image: url(img/u2/u20.gif);}
  104. .uu21 {background-image: url(img/u2/u21.gif);}
  105. .uu22 {background-image: url(img/u2/u22.gif);}
  106. .uu23 {background-image: url(img/u2/u23.gif);}
  107. .uu24 {background-image: url(img/u2/u24.gif);}
  108. .uu25 {background-image: url(img/u2/u25.gif);}
  109. .uu26 {background-image: url(img/u2/u26.gif);}
  110. .uu27 {background-image: url(img/u2/u27.gif);}
  111. .uu28 {background-image: url(img/u2/u28.gif);}
  112. .uu29 {background-image: url(img/u2/u29.gif);}
  113. .uu30 {background-image: url(img/u2/u30.gif);}
  114. .uu1, .uu2, .uu3, .uu4, .uu5, .uu6, .uu7, .uu8, .uu9, .uu10, u11, .uu12, .uu13, .uu14, .uu15, .uu16, .uu17, .uu18, .uu19, .uu20, .uu21, .uu22, .uu23, .uu24, .uu25, .uu26, .uu27, .uu28, .uu29, .uu30
  115. {
  116. height: 150px;
  117. width: 150px;
  118. }
  119. div.messages div#message_container div#message_toolbarWindows div, div#text_container div#text_toolbarWindows div {
  120. background:none repeat scroll 0 0 #EFEFEF;
  121. border:1px solid #71D000;
  122. /*display:none;*/
  123. left:180px;
  124. margin-top:5px;
  125. max-width:240px;
  126. padding:5px;
  127. position:absolute;
  128. }
  129. .uu19 {width: 150px;}
  130. .uu20 {width: 150px;}
  131. .uu17 {width: 150px;}
  132. </style>
  133. <script language="javascript" type="text/javascript">
  134. function smilie(text) {
  135. document.myform.message.value += text;
  136. }
  137. </script>
  138. <script language="javascript">
  139. function toggleDisplay(e){
  140. element = document.getElementById(e).style;
  141. element.display == 'none' ? element.display = 'block' :
  142. element.display='none';
  143. }
  144. </script>
  145. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  146. <html>
  147. <head>
  148. <title><?php echo SERVER_NAME ?></title>
  149. <link REL="shortcut icon" HREF="favicon.ico"/>
  150. <meta http-equiv="cache-control" content="max-age=0" />
  151. <meta http-equiv="pragma" content="no-cache" />
  152. <meta http-equiv="expires" content="0" />
  153. <meta http-equiv="imagetoolbar" content="no" />
  154. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  155. <script src="mt-full.js?0ac36" type="text/javascript"></script>
  156. <script src="unx.js?0ac36" type="text/javascript"></script>
  157. <script src="new.js?0ac36" type="text/javascript"></script>
  158. <link href="<?php echo GP_LOCATE; ?>lang/en/lang.css?f4b7c" rel="stylesheet" type="text/css" />
  159. <link href="<?php echo GP_LOCATE; ?>lang/en/compact.css?f4b7c" rel="stylesheet" type="text/css" />
  160. <?php
  161. if($session->gpack == null || GP_ENABLE == false) {
  162. echo "
  163. <link href='".GP_LOCATE."travian.css?e21d2' rel='stylesheet' type='text/css' />
  164. <link href='".GP_LOCATE."lang/en/lang.css?e21d2' rel='stylesheet' type='text/css' />";
  165. } else {
  166. echo "
  167. <link href='".$session->gpack."travian.css?e21d2' rel='stylesheet' type='text/css' />
  168. <link href='".$session->gpack."lang/en/lang.css?e21d2' rel='stylesheet' type='text/css' />";
  169. }
  170. ?>
  171. <script type="text/javascript">
  172. window.addEvent('domready', start);
  173. </script>
  174. </head>
  175. <?php
  176. if($session->gpack == null || GP_ENABLE == false) {
  177. echo "
  178. <link href='".GP_LOCATE."travian.css?e21d2' rel='stylesheet' type='text/css' />
  179. <link href='".GP_LOCATE."lang/en/lang.css?e21d2' rel='stylesheet' type='text/css' />";
  180. } else {
  181. echo "
  182. <link href='".$session->gpack."travian.css?e21d2' rel='stylesheet' type='text/css' />
  183. <link href='".$session->gpack."lang/en/lang.css?e21d2' rel='stylesheet' type='text/css' />";
  184. }
  185. ?>
  186. <script type="text/javascript">
  187. window.addEvent('domready', start);
  188. </script>
  189. </head>
  190. <body class="v35 ie ie8">
  191. <div class="wrapper">
  192. <img style="filter:chroma();" src="img/x.gif" id="msfilter" alt="" />
  193. <div id="dynamic_header">
  194. </div>
  195. <?php include("Templates/header.tpl"); ?>
  196. <div id="mid">
  197. <?php include("Templates/menu.tpl"); ?>
  198. <div id="content" class="login">
  199. <?php if (@!$NextStep && @!$NextStep2 && @!$done){?>
  200. <form method="POST" action="massmessage.php" name="myform" id="myform">
  201. <table cellspacing="1" cellpadding="2" class="tbg" style="background-color:#C0C0C0; border: 0px solid #C0C0C0; font-size: 10pt;">
  202. <tbody>
  203. <tr>
  204. <td class="rbg" style="font-size: 10pt; text-align:center;" colspan="2"><?php echo MASS; ?></td>
  205. </tr>
  206. <tr>
  207. <td style="font-size: 10pt; text-align: left; width: 200px;"><?php echo MASS_SUBJECT; ?></td>
  208. <td style="font-size: 10pt; text-align: left;">
  209. <input type="text" style="width: 240px;" class="fm" name="subject" value="" size="30"></td>
  210. </tr>
  211. <tr>
  212. <td style="font-size: 10pt; text-align: left;"><?php echo MASS_COLOR; ?></td>
  213. <td style="font-size: 10pt; text-align: left;">
  214. <input type="text" style="width: 240px;" class="fm" name="color" size="30"></td>
  215. </tr>
  216. <tr>
  217. <td colspan="2" style="font-size: 10pt; text-align:center;"><?php echo MASS; ?> <br>
  218. <textarea class="fm" name="message" cols="60" rows="23"></textarea></td>
  219. </tr>
  220. <tr>
  221. <td colspan="2" style="text-align:center;"><?php echo MASS_REQUIRED; ?><td>
  222. </tr>
  223. <tr>
  224. <td colspan="2" style="text-align:center;">
  225. <input type="submit" value="Send" name="submit" /> </td>
  226. </tr>
  227. </tbody>
  228. </table>
  229. </form>
  230. <?php if (@!$NextStep && @!$NextStep2 && @!$done){?>
  231. <?php echo MASS_UNITS; ?>
  232. <a href="javascript:toggleDisplay('message_smilies')"><?php echo MASS_SHOWHIDE; ?></a>
  233. <div name="smilll" id="message_smilies" style="background:none repeat scroll 0 0 #EFEFEF;border:1px solid #71D000;left:20px;margin-top:5px;max-width:660px;padding:5px;position:relative;display: none;">
  234. <?php echo MASS_READ; ?>
  235. <a href="#" onclick="smilie('*u1*')"><img src="img/x.gif" class="uu1" /></a>
  236. <a href="#" onclick="smilie('*u2*')"><img src="img/x.gif" class="uu2" /></a>
  237. <a href="#" onclick="smilie('*u3*')"><img src="img/x.gif" class="uu3" /></a>
  238. <a href="#" onclick="smilie('*u4*')"><img src="img/x.gif" class="uu4" /></a>
  239. <a href="#" onclick="smilie('*u5*')"><img src="img/x.gif" class="uu5" /></a>
  240. <a href="#" onclick="smilie('*u6*')"><img src="img/x.gif" class="uu6" /></a>
  241. <a href="#" onclick="smilie('*u7*')"><img src="img/x.gif" class="uu7" /></a>
  242. <a href="#" onclick="smilie('*u8*')"><img src="img/x.gif" class="uu8" /></a>
  243. <a href="#" onclick="smilie('*u9*')"><img src="img/x.gif" class="uu9" /></a>
  244. <a href="#" onclick="smilie('*u10*')"><img src="img/x.gif" class="uu10" /></a>
  245. <a href="#" onclick="smilie('*u11*')"><img src="img/x.gif" class="uu11" /></a>
  246. <a href="#" onclick="smilie('*u12*')"><img src="img/x.gif" class="uu12" /></a><br />
  247. <a href="#" onclick="smilie('*u13*')"><img src="img/x.gif" class="uu13" /></a>
  248. <a href="#" onclick="smilie('*u14*')"><img src="img/x.gif" class="uu14" /></a>
  249. <a href="#" onclick="smilie('*u15*')"><img src="img/x.gif" class="uu15" /></a>
  250. <a href="#" onclick="smilie('*u16*')"><img src="img/x.gif" class="uu16" /></a>
  251. <a href="#" onclick="smilie('*u17*')"><img src="img/x.gif" class="uu17" /></a>
  252. <a href="#" onclick="smilie('*u18*')"><img src="img/x.gif" class="uu18" /></a>
  253. <a href="#" onclick="smilie('*u19*')"><img src="img/x.gif" class="uu19" /></a>
  254. <a href="#" onclick="smilie('*u21*')"><img src="img/x.gif" class="uu21" /></a>
  255. <a href="#" onclick="smilie('*u22*')"><img src="img/x.gif" class="uu22" /></a>
  256. <a href="#" onclick="smilie('*u23*')"><img src="img/x.gif" class="uu23" /></a>
  257. <a href="#" onclick="smilie('*u24*')"><img src="img/x.gif" class="uu24" /></a><br />
  258. <a href="#" onclick="smilie('*u25*')"><img src="img/x.gif" class="uu25" /></a>
  259. <a href="#" onclick="smilie('*u26*')"><img src="img/x.gif" class="uu26" /></a>
  260. <a href="#" onclick="smilie('*u29*')"><img src="img/x.gif" class="uu29" /></a>
  261. </div>
  262. <?php } ?>
  263. <?php }elseif (@$NextStep){?>
  264. <form method="POST" action="massmessage.php">
  265. <table cellspacing="1" cellpadding="2" class="tbg">
  266. <tbody>
  267. <tr>
  268. <td class="rbg" colspan="2"><?php echo MASS_CONFIRM; ?></td>
  269. </tr>
  270. <tr>
  271. <td style="text-align: left; width: 200px;"><?php echo MASS_REALLY; ?></td>
  272. <td style="text-align: left;">
  273. <input type="submit" style="width: 240px;" class="fm" name="confirm" value="Yes">
  274. <input type="submit" style="width: 240px;" class="fm" name="confirm" value="No"></td>
  275. </tr>
  276. </tbody>
  277. </table>
  278. </form>
  279. <?php }elseif (@$NextStep2){?>
  280. <script>document.location.href='massmessage.php?send=true&from=0'</script>
  281. <?php }elseif (@$Interupt){?>
  282. <b><?php echo MASS_ABORT; ?></b>
  283. <?php }elseif (@$done){?>
  284. <?php echo MASS_SENT; ?>
  285. <?php }else{die("Something is wrong");}?>
  286. </div>
  287. <div id="side_info" class="outgame">
  288. </div>
  289. <div class="clear"></div>
  290. </div>
  291. <div class="footer-stopper outgame"></div>
  292. <div class="clear"></div>
  293. <?php include("Templates/footer.tpl"); ?>
  294. <div id="ce"></div>
  295. </body>
  296. </html>
  297. <?php mysql_close(); ?>