ajax.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. // AJAX handling
  3. // Includes
  4. require('includes/config.inc.php');
  5. require('includes/database.inc.php');
  6. require('includes/functions.inc.php');
  7. require('includes/document.inc.php');
  8. require('includes/label.inc.php');
  9. require('includes/imap.inc.php');
  10. require('includes/mailboxfolder.inc.php');
  11. require('includes/documenthandler.inc.php');
  12. $db = new Database($CONFIG['dbHost'], $CONFIG['dbUser'], $CONFIG['dbPassword'], $CONFIG['dbDatabase']);
  13. switch($_REQUEST['action']) {
  14. case 'updateMailaccounts':
  15. switch($_POST['name']) {
  16. case 'hostname':
  17. header("Status: 200 OK");
  18. $db->updateQuery("UPDATE `mailboxes` SET `server`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  19. break;
  20. case 'port':
  21. header("Status: 200 OK");
  22. $db->updateQuery("UPDATE `mailboxes` SET `port`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  23. break;
  24. case 'protocol':
  25. header("Status: 200 OK");
  26. $db->updateQuery("UPDATE `mailboxes` SET `protocol`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  27. break;
  28. case 'use-ssl':
  29. header("Status: 200 OK");
  30. $db->updateQuery("UPDATE `mailboxes` SET `use_ssl`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  31. break;
  32. case 'no-valid-cert':
  33. header("Status: 200 OK");
  34. $db->updateQuery("UPDATE `mailboxes` SET `valid_ssl`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  35. break;
  36. case 'username':
  37. header("Status: 200 OK");
  38. $db->updateQuery("UPDATE `mailboxes` SET `username`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  39. break;
  40. case 'password':
  41. header("Status: 200 OK");
  42. $db->updateQuery("UPDATE `mailboxes` SET `password`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  43. break;
  44. default:
  45. header("Status: 400 Wrong Field");
  46. echo 'error';
  47. break;
  48. }
  49. //$db->updateQuery("UPDATE `mailboxes` SET x=y WHERE id=;")
  50. break;
  51. case 'updateMailfolder':
  52. switch($_POST['name']) {
  53. case 'mailaccount':
  54. header("Status: 200 OK");
  55. $db->updateQuery("UPDATE `mailbox-folders` SET `mailbox_id`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  56. break;
  57. case 'mailfolder':
  58. header("Status: 200 OK");
  59. $db->updateQuery("UPDATE `mailbox-folders` SET `folder_name`='" . $_POST['value'] . "' WHERE id=" . $_POST['pk'] . ";");
  60. break;
  61. default:
  62. header("Status: 400 Wrong Field");
  63. echo 'error';
  64. break;
  65. }
  66. break;
  67. case 'addDefaultMailaccount':
  68. header("Status: 200 OK");
  69. $db->insertQuery("INSERT INTO `mailboxes` (`user_id`) VALUES (" . $_POST['user-id'] . ");");
  70. break;
  71. case 'addDefaultMailfolder':
  72. header("Status: 200 OK");
  73. $db->insertQuery("INSERT INTO `mailbox-folders` (`label_id`) VALUES (" . $_POST['label-id'] . ");");
  74. break;
  75. case 'removeMailaccount':
  76. header("Status: 200 OK");
  77. $db->removeQuery("DELETE FROM `mailboxes` WHERE `id` = " . $_POST['id'] . ";");
  78. break;
  79. case 'removeMailboxFolder':
  80. header("Status: 200 OK");
  81. $db->removeQuery("DELETE FROM `mailbox-folders` WHERE `id` = " . $_POST['id'] . ";");
  82. break;
  83. case 'manageMailboxFolder':
  84. header("Status: 200 OK");
  85. $boxHtml = 'Account: ';
  86. $boxHtml .= getEditableLink('mailaccount', 'select', $_GET['mfId'], 'Click to change', getMailboxNameFromMailaccountId($_GET['mbId']));
  87. $boxHtml .= '<br>Folder: ';
  88. $boxHtml .= getEditableLink('mailfolder', 'text', $_GET['mfId'], 'Click to change', getMailboxFolderNameFromId($_GET['mfId'])); // TODO: make this select-box
  89. echo $boxHtml;
  90. break;
  91. case 'getMailAccountsByUid':
  92. header("Status: 200 OK");
  93. $mailboxes = getMailboxesByUserId($_REQUEST['uId'], false);
  94. $mbArray = array();
  95. foreach($mailboxes as $mailbox) {
  96. $mbArray[$mailbox->getId()] = $mailbox->getUsername();
  97. }
  98. $jsonOut = json_encode($mbArray);
  99. echo $jsonOut;
  100. break;
  101. case 'getNewDocumentBox':
  102. $boxHtml = 'Vorlage: ';
  103. $boxHtml .= getEditableLink('document-draft', 'select', 0, 'Click to change', 'Rechnung.odt');
  104. $boxHtml .= '<br>Dateiname: ';
  105. $boxHtml .= getEditableLink('document-filename', 'text', 0, 'Click to change', 'Neue-Rechnung-09.04.2015.odt');
  106. $documentHandler = new DocumentHandler('NeueRechnung.docx', 'Rechnung.docx');
  107. $valueKeys = $documentHandler->getVariables();
  108. foreach($valueKeys as $key=>$value) {
  109. $boxHtml .= '<br>' . getEditableLink('template-value-' . $key, 'text', 0, 'Click to change', $value) . $value;
  110. }
  111. $documentHandler->setVal('ADRESSE', 'Moritz Schmidt' . PHP_EOL . 'Fr.-Weinbrenner-Str. 13' . PHP_EOL . '69126 Heidelberg');
  112. $documentHandler->setVal('RECHNUNGSNUMMER', '2015.1');
  113. $documentHandler->setVal('BESCHREIBUNG', 'eine kleine rechnung lol');
  114. $documentHandler->setVal('RECHNUNGTABELLE', 'tabelle idk ollo todo implement!');
  115. $documentHandler->setVal('GESAMTBETRAG', '7€');
  116. $documentHandler->setVal('JAHR', '2015');
  117. //$documentHandler->saveFile();
  118. echo $boxHtml;
  119. break;
  120. default:
  121. header("Status: 400 No Action Defined");
  122. echo 'error';
  123. break;
  124. }
  125. //pa($_POST); // Debug
  126. ?>