Advertisement
Guest User

asdfasd

a guest
May 22nd, 2009
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.07 KB | None | 0 0
  1. <?php
  2. require('funktioner/func_formattext.php');
  3.  
  4. // Validerar E-mail adress
  5. function checkmail ($youremail) {
  6.  
  7. if (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.'@'.'[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
  8. '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$', $youremail)) {
  9. return true;
  10. } else {
  11. return false;
  12. }
  13. }
  14.  
  15. //Funktion som frhoppningsvis ska rensa bort header injections
  16. function clean_input_4email($value, $check_all_patterns = true)
  17. {
  18. $patterns[0] = '/content-type:/i';
  19. $patterns[1] = '/to:/i';
  20. $patterns[2] = '/cc:/i';
  21. $patterns[3] = '/bcc:/i';
  22. if ($check_all_patterns)
  23. {
  24. $patterns[4] = '/\r/';
  25. $patterns[5] = '/\n/';
  26. $patterns[6] = '/%0a/i';
  27. $patterns[7] = '/%0d/i';
  28. }
  29. //NOTE: can use str_ireplace as this is case insensitive but only available on PHP version 5.0.
  30. return preg_replace($patterns, "", $value);
  31. }
  32.  
  33. //Funktion fr att slumpa en random antispam strng.
  34. function Randspam($aLen) {
  35. $d='';
  36. for($i=0; $i < $aLen; ++$i) {
  37. if( rand(0,9) < 6 ) {
  38. // Digits
  39. $d .= chr( ord('1') + rand(0,8) );
  40. } else {
  41. // Letters
  42. do {
  43. $offset = rand(0,25);
  44. } while ( $offset==14 );
  45. $d .= chr( ord('a') + $offset );
  46. }
  47. }
  48. return $d;
  49. }
  50.  
  51. /*
  52. ## SKriv ut kontakt information frn databasen
  53. $infosida_id = 14; // id till kontakt i infosidor tabellen
  54. $query = "SELECT sida, info FROM $info_table WHERE id='$infosida_id' LIMIT 1";
  55. $result = mysql_query ($query);
  56.  
  57. if ($rad = mysql_fetch_assoc ($result)) {
  58. echo '<div class="title">'.$rad['sida'].'</div>';
  59. echo nl2br(tag_replace($rad['info']));
  60. } else {
  61. echo '<div class="title">'.CONTACT_US.'</div>';
  62. }
  63. */
  64.  
  65. #### E-Mail form
  66. echo'<h1><span class="glob"></span>'.CONTACT_US.':</h1>
  67. <div class="innehall">
  68. <div style="margin: 15px 0px 15px 15px;">
  69. '.sprintf(IF_IS_SUPPORT,'?p=support').'.<br /><br />';
  70.  
  71. if($_SESSION['lang'] == 'se') {
  72. $typ_ar = array(1 => "Allmnna frgor", "Support", "nskeml", "Klagoml", "Jobbanskan", "Reklam/Spons", "Rapportera Fuskare");
  73. } else {
  74. $typ_ar = array(1 => "General Questions", "Support", "Requests", "Complaints", "Job Application", "Advertising / Sponsor", "Report cheater(s)");
  75. }
  76. $email_ar = array(1 => 'kontakta@dindom�n.com',
  77. 'kontakta@dindom�n.com',
  78. 'kontakta@dindom�n.com',
  79. 'kontakta@dindom�n.com',
  80. 'kontakta@dindom�n.com',
  81. 'kontakta@dindom�n.com',
  82. 'kontakta@dindom�n.com');
  83. $error = 0;
  84.  
  85. if(isset($_POST['submit'])) {
  86.  
  87. // Ta bort slashar fr dom behvs inte
  88. $_POST = stripslashes_array($_POST);
  89.  
  90. // Validera alla flt
  91. $amne = clean_input_4email($_POST['amne']);
  92. $meddelande = clean_input_4email($_POST['meddelande'],false);
  93. $email = clean_input_4email($_POST['email']);
  94. $namn = clean_input_4email($_POST['namn']);
  95. $org = clean_input_4email($_POST['org']);
  96. $irc = clean_input_4email($_POST['irc']);
  97.  
  98. if(!checkmail($email)) {
  99. $error = 1;
  100. $email_fel = 1;
  101. echo '<span class="error">'.INVALID_EMAIL.'</span><br />';
  102. }
  103. if(!array_key_exists($_POST['typ'], $typ_ar)) {
  104. // Felaktig typ, kan tyda p att en bot postar. Logga drfr!
  105. // eller orka logga :P
  106. $error = 1;
  107. $typ_fel = 1;
  108. echo '<span class="error">'.TYPE_INVALID.'</span><br />';
  109. }
  110. if(strlen($amne) > 50) {
  111. $error = 1;
  112. $amne_fel = 1;
  113. echo '<span class="error">'.SUBJECT_TOO_LONG.'</span><br />';
  114. }
  115. if(trim($namn) == "" || strlen($namn) > 40) {
  116. $error = 1;
  117. $namn_fel = 1;
  118. echo '<span class="error">'.FORGOT_NAME.'</span><br />';
  119. }
  120. if(strlen($org) > 50) {
  121. $error = 1;
  122. $org_fel = 1;
  123. echo '<span class="error">'.ORG_TOO_LONG.'</span><br />';
  124. }
  125. if(strlen($irc) > 50) {
  126. $error = 1;
  127. $org_fel = 1;
  128. echo '<span class="error">'.IRC_TOO_LONG.'</span><br />';
  129. }
  130. /* if(!isset($_SESSION['antispam']) || strlen($_SESSION['antispam']) != 5 || strtolower($_POST['antispam']) != strtolower($_SESSION['antispam'])) {
  131. // Man har skrivit in fel kod
  132. $error = 1;
  133. echo '<span class="error">'.TEXT_DONT_MATCH.'</span><br />';
  134. } */
  135.  
  136.  
  137. ## Skicka mailet
  138. if($error != 1) {
  139.  
  140. // Skapa mailet.
  141. $mail_till = $email_ar[$_POST['typ']];
  142. $mail_headers = 'From: info@elitecs.se'."\r\n".
  143. 'Reply-To: '.$email."\r\n".
  144. 'Mime-Version: 1.0'."\r\n".
  145. 'X-Mailer: PHP/'.phpversion();
  146. $mail_amne = $typ_ar[$_POST['typ']].': '.substr($amne,0,20);
  147. $mail_text = "Mail skickat frn kontaktforumlret p EliteCS.se.\r\n".
  148. "Avsndare: ".$email."\r\n".
  149. "Avsndarens ip: ".$_SERVER['REMOTE_ADDR']."\r\n".
  150. "Avsndarens anvndarnamn: ".((isset($curuser_vars['nick'])) ? $curuser_vars['nick'] : 'Gst')."\r\n".
  151. "mne: ".$amne."\r\n".
  152. "Kategori: ".$typ_ar[$_POST['typ']]."\r\n".
  153. "Namn: ".$namn."\r\n".
  154. "Irc-kanal: ".$irc."\r\n".
  155. "Organisation: ".$org."\r\n".
  156. "Skickades frn hemsidan: ".date('Y-m-d H:i')."\r\n".
  157. "Meddelande: \r\n".$meddelande;
  158.  
  159. // Skicka mailet
  160. if (@mail($mail_till, $mail_amne, $mail_text, $mail_headers)) {
  161. echo MESSAGE_SENT;
  162. } else {
  163. echo MAIL_NOT_SENT."<br /><br />";
  164. $mail_fel = 1;
  165. }
  166. // Logga att ett mail har skickats.
  167. $outputstring = "\t".'<mail source="kontakt-form">'."\r\n".
  168. "\t\t".'<sender>'."\r\n".
  169. "\t\t\t".'<email>'.$email.'</email>'."\r\n".
  170. "\t\t\t".'<ip>'.$_SERVER['REMOTE_ADDR'].'</ip>'."\r\n".
  171. "\t\t\t".'<username>'.((isset($curuser_vars['nick'])) ? $curuser_vars['nick'] : 'Gst').'</username>'."\r\n".
  172. "\t\t\t".'<name>'.$namn.'</name>'."\r\n".
  173. "\t\t\t".'<organisation>'.$org.'</organisation>'."\r\n".
  174. "\t\t\t".'<irc>'.$irc.'</irc>'."\r\n".
  175. "\t\t".'</sender>'."\r\n".
  176. "\t\t".'<time>'.date('Y-m-d H:i:s').'</time>'."\r\n".
  177. "\t\t".'<type>'.$typ_ar[$_POST['typ']].'</type>'."\r\n".
  178. "\t\t".'<subject>'.$amne.'</subject>'."\r\n".
  179. "\t\t".'<message>'."\r\n".
  180. $meddelande."\r\n".
  181. "\t\t".'</message>'."\r\n".
  182. ((isset($mail_fel) && $mail_fel == 1) ? "\t".'<error>Mail not sent</error>'."\r\n" : '').
  183. "\t".'</mail>'."\r\n\r\n";
  184.  
  185. // Skriv till filen
  186. $fp = fopen("loggar/maillog.xml", "a");
  187. if ($fp) {
  188. flock($fp, LOCK_EX);
  189. fwrite($fp, $outputstring);
  190. flock($fp, LOCK_UN);
  191. fclose($fp);
  192. } else {
  193. // Utfrda ngonslags varning
  194. }
  195. // Slumpa fram ny antispam text fr att frhindra att man laddar om sidan.
  196. $_SESSION['antispam'] = Randspam(5);
  197.  
  198. }
  199.  
  200. }
  201.  
  202. if(!isset($_POST['submit']) || $error == 1) {
  203.  
  204. // Slumpa fram antispam texten
  205. $_SESSION['antispam'] = Randspam(5);
  206.  
  207. ?>
  208. <form method="POST">
  209. <?php echo QUESTION_ABOUT; ?>: <br /><select name="typ">
  210. <?php
  211. foreach($typ_ar as $nr => $typ) {
  212. $sel = ($error == 1 && !isset($typ_fel) && $nr == $_POST['typ']) ? 'selected="selected" ' : '';
  213. echo '<option value="'.$nr.'" '.$sel.'>'.$typ.'</option>';
  214. }
  215. ?>
  216. </select><br /><br />
  217.  
  218. <span class="rod">*</span><?php echo SUBJECT; ?>: <br /><input type="text" name="amne" size="40" maxlength="40" value="<?php echo ($error == 1 && !isset($amne_fel)) ? $_POST['amne'] : ''; ?>"/><br /><br />
  219.  
  220. <span class="rod">*</span><?php echo MESSAGE; ?>:<br />
  221. <textarea cols="45" rows="10" name="meddelande"><?php echo ($error == 1 && !isset($msg_fel)) ? $_POST['meddelande'] : ''; ?></textarea><br /><br />
  222.  
  223. <span class="rod">*</span><?php echo YOUR_EMAIL; ?>:<br />
  224. <input type="text" name="email" size="40" value="<?php echo ($error == 1 && !isset($email_fel)) ? $_POST['email'] : ''; ?>" /><br /><br />
  225.  
  226. <span class="rod">*</span><?php echo YOUR_NAME; ?>:<br />
  227. <input type="text" name="namn" size="40" value="<?php echo ($error == 1 && !isset($namn_fel)) ? $_POST['namn'] : ''; ?>" /><br /><br />
  228.  
  229. <?php echo ORGANISATION; ?>:<br />
  230. <input type="text" name="org" size="40" value="<?php echo ($error == 1 && !isset($org_fel)) ? $_POST['org'] : ''; ?>" /><br /><br />
  231.  
  232. <?php echo IRC; ?>:<br />
  233. <input type="text" name="irc" size="40" value="<?php echo $_POST['irc']; ?>" /><br /><br />
  234.  
  235. <!--<?php echo ENTER_IMAGE_TEXT; ?>: <img src="antispambild.php" /><br />
  236. <input type="text" name="antispam" maxlength="5" /><br /><br />-->
  237.  
  238. <input type="submit" value="<?php echo SEND; ?>" name="submit" />
  239. <br /><br /><span class="rod">*</span> <?php echo IS_OBLIGATORY; ?>
  240. </form>
  241. <?php
  242. }
  243. echo '</div></div>';
  244. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement