ajax.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. // AJAX handling
  3. // Includes
  4. include('includes/config.inc.php');
  5. include('includes/database.inc.php');
  6. include('includes/functions.inc.php');
  7. include('includes/document.inc.php');
  8. include('includes/label.inc.php');
  9. include('includes/imap.inc.php');
  10. include('includes/mailboxfolder.inc.php');
  11. $db = new Database($CONFIG['dbHost'], $CONFIG['dbUser'], $CONFIG['dbPassword'], $CONFIG['dbDatabase']);
  12. switch($_REQUEST['action']) {
  13. case 'updateMailaccounts':
  14. switch($_POST['name']) {
  15. case 'hostname':
  16. header("Status: 200 OK");
  17. $db->updateQuery("UPDATE `mailboxes` SET `server`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  18. break;
  19. case 'port':
  20. header("Status: 200 OK");
  21. $db->updateQuery("UPDATE `mailboxes` SET `port`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  22. break;
  23. case 'protocol':
  24. header("Status: 200 OK");
  25. $db->updateQuery("UPDATE `mailboxes` SET `protocol`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  26. break;
  27. case 'use-ssl':
  28. header("Status: 200 OK");
  29. $db->updateQuery("UPDATE `mailboxes` SET `use_ssl`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  30. break;
  31. case 'no-valid-cert':
  32. header("Status: 200 OK");
  33. $db->updateQuery("UPDATE `mailboxes` SET `valid_ssl`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  34. break;
  35. case 'username':
  36. header("Status: 200 OK");
  37. $db->updateQuery("UPDATE `mailboxes` SET `username`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  38. break;
  39. case 'password':
  40. header("Status: 200 OK");
  41. $db->updateQuery("UPDATE `mailboxes` SET `password`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  42. break;
  43. default:
  44. header("Status: 400 Wrong Field");
  45. echo 'error';
  46. break;
  47. }
  48. //$db->updateQuery("UPDATE `mailboxes` SET x=y WHERE id=;")
  49. break;
  50. case 'updateMailfolder':
  51. switch($_POST['name']) {
  52. case 'mailaccount':
  53. header("Status: 200 OK");
  54. $db->updateQuery("UPDATE `mailbox-folders` SET `mailbox_id`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  55. break;
  56. case 'mailfolder':
  57. header("Status: 200 OK");
  58. $db->updateQuery("UPDATE `mailbox-folders` SET `folder_name`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  59. break;
  60. default:
  61. header("Status: 400 Wrong Field");
  62. echo 'error';
  63. break;
  64. }
  65. break;
  66. case 'addDefaultMailaccount':
  67. header("Status: 200 OK");
  68. $db->insertQuery("INSERT INTO `mailboxes` (`user_id`) VALUES (" . $_POST['user-id'] . ");");
  69. break;
  70. case 'addDefaultMailfolder':
  71. header("Status: 200 OK");
  72. $db->insertQuery("INSERT INTO `mailbox-folders` (`label_id`) VALUES (" . $_POST['label-id'] . ");");
  73. break;
  74. case 'removeMailaccount':
  75. header("Status: 200 OK");
  76. $db->removeQuery("DELETE FROM `mailboxes` WHERE `id` = " . $_POST['id'] . ";");
  77. break;
  78. case 'manageMailboxFolder':
  79. header("Status: 200 OK");
  80. $boxHtml = 'Account: ';
  81. $boxHtml .= getEditableLink('mailaccount', 'select', $_GET['mfId'], 'Click to change', getMailboxNameFromMailaccountId($_GET['mbId']));
  82. $boxHtml .= '<br>Folder: ';
  83. $boxHtml .= getEditableLink('mailfolder', 'text', $_GET['mfId'], 'Click to change', getMailboxFolderNameFromId($_GET['mfId'])); // TODO: make this select-box
  84. echo $boxHtml;
  85. break;
  86. case 'getMailAccountsByUid':
  87. header("Status: 200 OK");
  88. $mailboxes = getMailboxesByUserId($_REQUEST['uId'], false);
  89. $mbArray = array();
  90. foreach($mailboxes as $mailbox) {
  91. $mbArray[$mailbox->getId()] = $mailbox->getUsername();
  92. }
  93. $jsonOut = json_encode($mbArray);
  94. echo $jsonOut;
  95. break;
  96. default:
  97. header("Status: 400 No Action Defined");
  98. echo 'error';
  99. break;
  100. }
  101. //pa($_POST); // Debug
  102. ?>