index.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. // https://uichi.ortiche.net/index.php/Strutture_dati_di_posta
  3. // version: 0.2
  4. require_once('include/Database.php');
  5. require_once('include/util.php');
  6. require_once('include/localization.php');
  7. require_once('include/template.php');
  8. $err=$user=$email="";
  9. $type="-1";
  10. //$rasplice_url="http://rasplice.contaminati.net/cgi-bin/rasplice.txt";
  11. $rasplice_url="http://rasplice.contaminati.net/i2rasplice/";
  12. $indivia24hdomain="@24h.indivia.net";
  13. $db=Database::getInstance('std');
  14. function getSqlNumOfAlias($alias_tab,$alias_nic){
  15. $sql = "SELECT count(*)
  16. FROM $alias_tab
  17. WHERE user = '$alias_nic'
  18. AND active = 'Y'";
  19. return $sql;
  20. }
  21. function getSqlCreateAlias($alias_tab, $alias_nic,$alias_dom,$goto_email,$timo){
  22. $sql = "INSERT INTO $alias_tab (user, domain, active, tipo, goto, modified, md5salt, deleted)
  23. VALUES ('$alias_nic', '$alias_dom', 'Y', 'alias', '$goto_email', '$timo','','0')";
  24. return $sql;
  25. }
  26. function getSqlAliasInfo($goto_email){
  27. $sql = "SELECT user
  28. FROM 24h_indivia_net
  29. WHERE goto = '$goto_email'
  30. AND active = 'Y'";
  31. return $sql;
  32. }
  33. //aliasing..
  34. if (isset($_POST["ph"]) AND
  35. $_POST["ph"]=="1" AND
  36. $_POST['email'] != "") {
  37. $goto_email_noescape = $_POST['email'];
  38. $goto_email = $db->escapeString($goto_email_noescape);
  39. if (email_check($goto_email)) {
  40. //solo l'email alias deve non essere presente.
  41. do {
  42. $alias_nic = preg_replace('/\s+/', '', get_data($rasplice_url.rand()));
  43. if($alias_nic===FALSE)
  44. $alias_nic="email_".rand(10000,99999);
  45. $alias_dom = substr($indivia24hdomain,1);
  46. $alias_email = $alias_nic.$indivia24hdomain;
  47. $alias_dom2lvl = dom($alias_dom);
  48. $alias_tab = str_replace(".","_",$alias_dom2lvl);
  49. $res = $db->isThereAlready(getSqlNumOfAlias($alias_tab,$alias_nic));
  50. } while ($res != FALSE);
  51. $timo=time();
  52. $ret=$db->execQuery(getSqlCreateAlias($alias_tab,$alias_nic,$alias_dom,$goto_email,$timo));
  53. if ($ret == 1) {
  54. header("location: index.php?ph=2&email=".$goto_email."&lang=".$lang);
  55. } else {
  56. $type=1;
  57. $err=$msgAliasErr;
  58. }
  59. } else {
  60. $type=1;
  61. $err=$msgEmailValidErr;
  62. }
  63. } elseif (isset($_GET["ph"]) AND
  64. $_GET['ph'] == 2 AND
  65. isset($_GET['email'])) {
  66. $goto_email_noescape = $_GET['email'];
  67. $goto_email = $db->escapeString($goto_email_noescape);
  68. $rows = $db->select(getSqlAliasInfo($goto_email));
  69. $row = mysqli_fetch_row($rows);
  70. if ($row[0] != "") {
  71. $type=2;
  72. $user=$row[0];
  73. $email=$goto_email;
  74. } else {
  75. $type=1;
  76. $err=$msgNoEmailFoundErr;
  77. }
  78. } else {
  79. $type=0;
  80. }
  81. if($type>-1) {
  82. printHead($type);
  83. printLangSelector();
  84. printTitle($title);
  85. switch ($type) {
  86. case 0:
  87. printForm($form_goto_email, $lang);
  88. break;
  89. case 1:
  90. printMessage($err);
  91. break;
  92. case 2:
  93. printMessage($msgAliasDonePart1).
  94. printBold($user.$indivia24hdomain).
  95. printMessage($msgAliasDonePart2).
  96. printBold($email);
  97. break;
  98. }
  99. }
  100. ?>