PageRenderTime 28ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 0ms

/functions.php

https://github.com/ellenoneill/lootjestrekmachine
PHP | 155 lines | 145 code | 6 blank | 4 comment | 8 complexity | c9aae4c79f5fd6d372d240a9d25f03c3 MD5 | raw file
  1. <?php session_start();
  2. ob_start();
  3. $sql_username = "";
  4. $sql_password = "";
  5. $sql_host = "";
  6. $sql_dbname = "";
  7. $config['mail'] = ""; //Jouw e-mailadres
  8. $config['website'] = ""; //De url naar je website
  9. mysql_connect($sql_host, $sql_username, $sql_password);
  10. mysql_select_db($sql_dbname);
  11. function keygen($i)
  12. {
  13. $alfabet = array_merge(range('a', 'z'), range('A', 'Z'), range('0', '9'), range('0', '9'));
  14. $actkey = "";
  15. while(strlen($actkey) < $i)
  16. {
  17. $actkey .= $alfabet[array_rand($alfabet)];
  18. }
  19. return($actkey);
  20. }
  21. function mysql_is_unique($value, $table, $field)
  22. {
  23. $sql = "SELECT ".$field." FROM ".$table." WHERE ".$field." LIKE '".$value."' LIMIT 1";
  24. $res = mysql_query($sql) or echo_mysql_error($sql);
  25. if(mysql_num_rows($res) > 0)
  26. {
  27. return false;
  28. }
  29. else
  30. {
  31. return true;
  32. }
  33. }
  34. function is_unieke_naam_in_groep($naam, $gid)
  35. {
  36. $sql = "SELECT id FROM mensen WHERE naam LIKE '".$naam."' AND groep_id = ".$gid." LIMIT 1";
  37. $res = mysql_query($sql) or echo_mysql_error($sql);
  38. if(mysql_num_rows($res) > 0)
  39. {
  40. return false;
  41. }
  42. else
  43. {
  44. return true;
  45. }
  46. }
  47. function echo_mysql_error($sql)
  48. {
  49. echo '
  50. <h2>MySQL error</h2>: '.mysql_error().'
  51. <h3>Query:</h3>
  52. <pre>'.$sql.'</pre>';
  53. exit();
  54. }
  55. function form_login($username = null, $gid = null, $code = null)
  56. {
  57. $sql = "SELECT id, naam FROM groepen ORDER BY naam";
  58. $res = mysql_query($sql) or echo_mysql_error($sql);
  59. echo '
  60. <form method="post" action="login.php">
  61. <fieldset>
  62. <legend>Inloggen</legend>
  63. <p><label for="groepsnaam">Groepsnaam</label><br />
  64. <select name="groepsnaam">
  65. <option value="">Maak je keuze...</option>';
  66. while($row = mysql_fetch_assoc($res))
  67. {
  68. if($gid == $row['id'])
  69. {
  70. echo '
  71. <option value="'.$row['id'].'" selected="selected">'.$row['naam'].'</option>';
  72. }
  73. else
  74. {
  75. echo '
  76. <option value="'.$row['id'].'">'.$row['naam'].'</option>';
  77. }
  78. }
  79. echo '
  80. </select><br />
  81. <a href="register.php">Maak een nieuwe groep aan</a></p>
  82. <p><label for="gebruikersnaam">Naam</label><br />
  83. <input type="text" name="gebruikersnaam" value="'.$username.'" /></p>
  84. <p><label for="inlogcode">Inlogcode</label><br />
  85. <input type="password" name="inlogcode" value="'.$code.'" /></p>
  86. <p><input type="submit" value="Log in" /></p>
  87. </fieldset>
  88. </form>';
  89. }
  90. function begin_pagina()
  91. {
  92. echo '
  93. <!DOCTYPE html>
  94. <meta charset="utf-8">
  95. <title>Lootjes trekken</title>
  96. <link rel="stylesheet" type="text/css" href="/static/css/universal.css" media="all">
  97. <link rel="stylesheet" type="text/css" href="/static/css/default.css" media="all">
  98. <link rel="stylesheet" type="text/css" href="/static/css/custom.css" media="all">
  99. <h1 class="page-heading"><a href="login.php">De Lootjestrekmachine</a></h1>
  100. ';
  101. }
  102. function einde_pagina()
  103. {
  104. echo '
  105. <p class="legal">&copy; 2006-'.date("Y").', powered by de <a href="http://github.com/eliun/lootjestrekmachine">Lootjestrekmachine</a>, <a href="http://phphulp.nl/php/scripts/3/806/">scripting</a> door Herjan Treurniet, revisie door <a href="http://ellenoneill.nl">Ellen O\'Neill</a>, <a href="http://code.google.com/p/universal-ie6-css/">Universal CSS</a> van Andy Clarke. Aan deze website kunnen geen rechten ontleend worden. De makers van deze website zijn niet aansprakelijk voor de gevolgen van het gebruik van deze website. De diensten aangeboden op deze site zijn volkomen gratis, verwacht dan ook niet al te veel service.</p>
  106. ';
  107. ob_end_flush();
  108. }
  109. function _make_url_clickable_cb($matches) {
  110. $ret = '';
  111. $url = $matches[2];
  112. if ( empty($url) )
  113. return $matches[0];
  114. // removed trailing [.,;:] from URL
  115. if ( in_array(substr($url, -1), array('.', ',', ';', ':')) === true ) {
  116. $ret = substr($url, -1);
  117. $url = substr($url, 0, strlen($url)-1);
  118. }
  119. return $matches[1] . "<a href=\"$url\" rel=\"nofollow\">$url</a>" . $ret;
  120. }
  121. function _make_web_ftp_clickable_cb($matches) {
  122. $ret = '';
  123. $dest = $matches[2];
  124. $dest = 'http://' . $dest;
  125. if ( empty($dest) )
  126. return $matches[0];
  127. // removed trailing [,;:] from URL
  128. if ( in_array(substr($dest, -1), array('.', ',', ';', ':')) === true ) {
  129. $ret = substr($dest, -1);
  130. $dest = substr($dest, 0, strlen($dest)-1);
  131. }
  132. return $matches[1] . "<a href=\"$dest\" rel=\"nofollow\">$dest</a>" . $ret;
  133. }
  134. function _make_email_clickable_cb($matches) {
  135. $email = $matches[2] . '@' . $matches[3];
  136. return $matches[1] . "<a href=\"mailto:$email\">$email</a>";
  137. }
  138. function make_clickable($ret) {
  139. $ret = ' ' . $ret;
  140. // in testing, using arrays here was found to be faster
  141. $ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_url_clickable_cb', $ret);
  142. $ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_web_ftp_clickable_cb', $ret);
  143. $ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret);
  144. // this one is not in an array because we need it to run last, for cleanup of accidental links within links
  145. $ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
  146. $ret = trim($ret);
  147. return $ret;
  148. }
  149. ?>