johnnyq
58e502ad38
Add Get started, a guided walk through what is left to set up after installing (cron, email, backups, billing, support, the team, starter content and a first client), each step a short form of its own with Skip for now and ticked off from the settings themselves, shown to the first admin to sign in on a new install and as a Finish setting up card on the dashboard until done, skipped or dismissed, and in Admin > Get started any time; database 3.4.7 adds settings.config_getting_started (on for a new install, off for an updated one), config_getting_started_skipped and config_getting_started_opened_at; the mail server check moves to settingsMailServerCheck() for Admin > Mail and the Email step, app.js only starts DataTables where it is loaded, and setup's finish step points at Get started
2026-10-25 14:28:17 -04:00
johnnyq
cd52393138
Settings stage 4: Mail's Sending, Receiving, OAuth and From addresses tabs moved into the settings frame with provider-driven fields, refusals shown beside each field on the same tab and changes logged from old to new; passwords, the OAuth client secret and refresh token are no longer written into the page and are saved exactly as typed; a changed OAuth app or refresh token clears the cached access token, the access token field is removed and Microsoft 365 requires the tenant ID; the Microsoft connect callback stores only the tokens instead of switching both Sending and Receiving to Microsoft 365; Enter saves on the OAuth tab and on Logs; From addresses that are not email addresses are refused and From names keep their punctuation; removed the broken custom fields page with its handler and modals, the unused AI and online payment settings handlers, and the client autopay page
2026-10-20 12:56:01 -04:00
johnnyq
23297082ae
Mail queue stage 3: show failed and stuck mail on the Settings overview and Mail tile, a mail queue summary on the Mail Tests tab and a failed-this-week count on the Mail Queue menu item, add Mail Queue to the Ctrl K search for admins, and say where to watch a test email go
2026-10-20 11:35:36 -04:00
johnnyq
9457442804
Emails stage 3: every email now goes through emailQueue and the shared layout - the client portal invite sends a link to set a password (or to sign in with Microsoft) instead of the password itself, offered on New Contact as well as Edit through portalMailInvite, with Forgot password, password changed and two-step sign-in emails through portalMailPasswordReset and portalMailAccountChange; shared link and code emails with the note quoted and the whole link printed under the button, replacing shareMailHtml and shareQueueMail; calendar invitations, updates and cancellations with when, repeats, where, the description and a join button; Email on the contacts and clients lists in the layout from one of the configured mailboxes with an optional greeting and send time, leaving out archived contacts and contacts without an address, each address once, nothing queued without mail set up, through emailBulkSend and emailBulkPost with a shared bulk_email_fields window; Admin > Mail > Previews shows all 52 emails built by their real senders on sample records inside a rolled-back transaction with emailQueue capturing and custom actions off, with computer and phone widths and Send me a copy; emailHtml gains content and button show_url, emailQueue gains queued_at and always so billing still queues as before, plus emailMailboxes and emailTestSend; ticketMailCreated, ticketMailReply, ticketMailWatchersAdded, ticketMailTaskApproval, ticketMailClosedReply, ticketSlaAlert and billingMailCardSaved moved into functions; fixes Email on the contacts list queuing mail to contacts with no address, the clients list including archived contacts, and both taking any From address posted; changelog updated
2026-10-17 23:26:25 -04:00
johnnyq
0a4aabbf9a
Emails stage 2: agent and staff emails in the shared email layout with an Open in ITFlow button - assigned to you (assignee pick, Bulk Action, New Ticket and Edit, several at once as one list, recurring tickets the same way, nothing when assigning yourself), new ticket to the new-ticket address (portal, email or scheduled, with what they wrote), client replied to the assigned agent (portal or email, with the reply), SLA at risk and missed to the SLA alert address and the assigned agent, scheduled work and its cancellation to the agent, contact and watchers with the calendar file, a new agent's sign in details, account changes, new device and failed MFA sign in alerts, a login sent back through a shared link, the Admin > Mail test email and the portal's saved card confirmation; nothing is queued when outgoing mail is not set up; fixes backslashes before apostrophes in the parser's new ticket and reply emails, emails skipped when no SMTP host was set for Microsoft 365 or Google mail, and the saved card email's wording; adds emailSettings(), emailReady() and cal_str to functions/email.php, the ticket agent email functions, userMailNewAccount() and userMailSignInAlert(), a new sendSlaAlert() signature, removes userQueueMail() and updates the changelog
2026-10-17 22:47:52 -04:00
johnnyq
c44fa30792
Fix Mail settings tabs regression and user menu coloring
2026-08-15 12:29:39 -04:00
johnnyq
dc6b191eed
Update Font, Migrated away from JQUERY dependent libs: toastr to bootstrap5 toasts, daterangepicker to flatpickr, select2 to Tom Select, InputMask to IMask
2026-08-14 17:08:40 -04:00
johnnyq
076f45abb0
Remove Stale SMTP IMAP host if switching Standard SMTP.IMAP to OAUTH
2026-08-09 23:59:54 -04:00
johnnyq
c5ff3e2a3f
Normalize line endings to LF; add .gitattributes and .editorconfig
2026-07-28 17:45:52 -04:00
johnnyq
53842a50d2
Add URI Tabs to mail settings keeps the tab active upon saving
2026-07-26 01:52:25 -04:00
johnnyq
8813b2c066
Use imapEngine lib for testing imap connection
2026-07-24 18:56:16 -04:00
johnnyq
af51c4316f
Updated validateCSRFToken to automatically grab and compare get or post csrf token no longer need to pass an argument to the function which fixed the issue if no hash was present
2026-07-24 13:40:37 -04:00
johnnyq
b8873039a4
Rename Functions: flash_alert, sanitizeFilename and display_folder_options using camelCase instead to match other custom php functions
2026-07-14 17:41:41 -04:00
johnnyq
f1836c70cd
Replace Function logAction() with logAudit()
2026-07-14 17:35:23 -04:00
johnnyq
b57ddc0e5c
Replace Function sanitizeInput() with just escapeSql() and update all instances throughout
2026-07-14 17:17:50 -04:00
johnnyq
1a1f6d80a1
Possible Fix for OAUTH2 M365
2026-07-02 16:08:59 -04:00
johnnyq
6532c2dde4
User Preferences Avatar: Fix creating user upload directory if doesnt exist, and remove Avatar now properly deletes the old avatar image
2026-06-24 12:04:19 -04:00
cs2000
6a6eb4a714
SonarCube Suggestion
...
Define a constant "MICROSOFT_OAUTH_BASE_URL" instead of duplicating "https://login.microsoftonline.com/ " multiple times in the same file.
2026-02-05 10:22:06 +00:00
cs2000
a50a4f274f
Changes for M365 oAuth
...
- Added handler to start Microsoft OAuth Authorization Code flow (oauth_connect_microsoft_mail) with state generation/validation prep.
- Added handler to test OAuth token refresh from admin UI and persist refreshed tokens/expiry.
- Updated IMAP test handler to support OAuth token refresh + XOAUTH2 authentication (in addition to legacy LOGIN).
2026-02-04 13:23:53 +00:00
johnnyq
66fb999a8c
Update Test IMAP to use a Raw connection instead of depending on the Deprecated php-imap extension
2025-11-17 11:29:05 -05:00
johnnyq
26ab43c57f
Fix Mail Queue link when sending a test email, updated the quote send email wording to Quote sent
2025-11-12 14:50:05 -05:00
johnnyq
76c9933baf
Update imap and smtp providers to allow empty string if empty do not execute mail queue
2025-10-02 14:28:43 -04:00
johnnyq
dc0715da57
Added SMTP Provider and the ability to share OAUTH keys with IMAP for M365 Mail Auth
2025-09-15 17:23:00 -04:00
johnnyq
3a5b18f3dd
Added Beta support for Microsoft IMAP OAUTH2 must use new mail parser for it to work cron/ticket_email_parser.php
2025-09-12 15:56:44 -04:00
johnnyq
fae7e76721
Remove logging comments as its implied in admin also if returning 1 field for logging use getFieldById Function
2025-08-01 18:08:02 -04:00
johnnyq
012b0f1a77
Update Admin posts to use new functions flash_alert and getFieldById which greatly cleans up and reduces the code also removed logging comments as implied by the function logAction
2025-08-01 17:21:35 -04:00
johnnyq
d2dac1915d
Update admin, user, guest and client post to use new redirect function
2025-08-01 15:25:52 -04:00
johnnyq
0494bfc1cf
Moved admin_ to /admin, user_ to user report_ to /reports each have their own post includes modals directories created seperate headers and footer. Also did the same for xcustom, more work to me done
2025-07-28 13:32:28 -04:00