functions.inc.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. function pa($array) {
  3. echo '<pre>';
  4. print_r($array);
  5. echo '</pre>';
  6. }
  7. function error($message) {
  8. echo $message;
  9. }
  10. function searchNewFiles($scanDir) {
  11. global $db;
  12. global $CONFIG;
  13. $oldDocuments = Document::getDocumentsByPath($scanDir);
  14. $files = scandir($CONFIG['documentPath'] . $scanDir);
  15. foreach($files as $file) {
  16. $existed = false;
  17. if($file === '.' || $file === '..') {
  18. continue;
  19. }
  20. foreach($oldDocuments as $oldDocument) {
  21. if($oldDocument->getFileName() === $file) { // TODO: Check update-date, maybe removed files
  22. $existed = true;
  23. break;
  24. }
  25. }
  26. if($existed) {
  27. continue;
  28. }
  29. Document::addDocument('file', $file, '/', Label::getLabelByPath($scanDir)->getId(), '', 'NOW()', 'NOW()', 0); // TODO: get dates by filesystem
  30. }
  31. }
  32. function searchMails() {
  33. global $user;
  34. $mailboxes = Mailbox::getMailBoxes();
  35. foreach($mailboxes as $mailbox) {
  36. $mailbox->listFolders();
  37. }
  38. foreach($mailboxes as $mailbox) {
  39. foreach($mailbox->getFolders() as $folder) {
  40. $mbFolder = MailboxFolder::getMailboxFolderByName($folder);
  41. if($mbFolder != false) {
  42. $mailbox->changeFolder($mbFolder->getFolderName());
  43. $messageCount = imap_num_msg($mailbox->getMailbox());
  44. for($i = 1; $i <= $messageCount; ++$i) {
  45. $headers = imap_header($mailbox->getMailbox(), $i);
  46. pa($headers);
  47. //$uid = imap_msgno($mailbox->getMailbox(), imap_uid($mailbox->getMailbox(), $i)); // TODO: Get really unique ID, not folder-id
  48. //echo $uid;
  49. $uid = imap_uid($mailbox->getMailbox(), $i);
  50. $documents = getDocumentsByMailInfo($mailbox->getId(), $uid, $mbFolder->getLabelId());
  51. if(sizeof($documents) < 1) {
  52. Document::addDocument('mail', $headers->subject, $headers->from[0]->mailbox . '@' . $headers->from[0]->host, $mbFolder->getLabelId(), '', '\'' . $headers->date . '\'', '\'' . $headers->date . '\'', $uid, $mailbox->getId());
  53. }
  54. }
  55. }
  56. }
  57. }
  58. }
  59. function getEditableLink($elementId, $type, $pk, $title, $value, $class = '') {
  60. if($type == 'text' || $type == 'password') {
  61. $class = 'editable-element-text';
  62. } else if($type == 'select' && $elementId == 'protocol') {
  63. $class = 'editable-element-select-protocol';
  64. } else if($type == 'select' && $elementId == 'use-ssl') {
  65. $class = 'editable-element-select-use-ssl';
  66. if($value == '/ssl') {
  67. $value = 'On';
  68. } else {
  69. $value = 'Off';
  70. }
  71. } else if($type == 'select' && $elementId == 'no-valid-cert') {
  72. $class = 'editable-element-select-no-valid-cert';
  73. if($value == '/novalidate-cert') {
  74. $value = 'On';
  75. } else {
  76. $value = 'Off';
  77. }
  78. } else if($type == 'select' && $elementId == 'mailaccount') {
  79. $class = 'editable-element-select-mailaccount';
  80. }
  81. $link = '<a href="#" id="' . $elementId . '" class="' . $class . '" data-type="' . $type . '" data-pk="' . $pk . '" data-url="ajax.php" data-title="' . $title . '">' . $value . '</a>';
  82. return $link;
  83. }
  84. ?>