Commit Graph

236 Commits

Author SHA1 Message Date
johnnyq 74e7507f7d Change asset TV to Display, changed Firewall icon to Fire 2024-12-06 17:00:52 -05:00
johnnyq 8050dffbb8 Enhancement: DB Structure Update: Seperate Logs into 3 seperate log tables error_logs, auth_logs, audit_logs. This will provide huge performance benefits and organization 2024-11-24 15:04:23 -05:00
johnnyq e58bf3d558 Updated epenses post to use new logAction function, tidy and added more details to logging 2024-11-10 13:32:42 -05:00
johnnyq 1ebd537d9d Updated Cron to use new logAction function, also updated logAction cron to make session_user_id 0 if not set 2024-11-10 12:44:10 -05:00
johnnyq 7b4dda0ad6 Functionalize logging, replaced old logging in contact add with new logging function 2024-11-08 14:40:14 -05:00
johnnyq 68c47ee87d Updated appNotify function to allow null for client_id entity_id and action, also updated all the notification instances to use the new appNotify in cron.php, starting to drop the entity_id as well 2024-11-06 20:56:28 -05:00
johnnyq db621a97fa FEATURE: appNotify Function added so each user can get their own notificaiton and can individually dismiss and see their own notifications, only works under invoice viewed right now 2024-11-06 18:58:45 -05:00
wrongecho 1c404b9cf1 Add custom event handler to be triggered by some actions affecting tickets/quotes/invoices/contacts 2024-10-02 11:26:13 +01:00
Marcus Hill 6363d265ca Refactor POST handling.
- Split into admin and user handlers, each admin page gets its own file now
- Enforce role access once for admin POST requests
- Automatically load POST logic for admin-based requests based on the referring page, otherwise automatically load all user request logic
- Add support for using custom POST handlers
2024-09-29 19:02:28 +01:00
wrongecho b509090530 Detect and convert non-UTF8 encoding as part of input sanitization 2024-09-21 11:07:53 +01:00
wrongecho eeac235c1d Tidy unused accounting functions 2024-09-20 19:24:28 +01:00
wrongecho 10fafacefe Custom Roles & Permissions
Initial enforcement of custom roles & permissions - only on some pages via GET for now.
2024-09-20 17:59:49 +01:00
Johnny 62a2ed7430
Merge pull request #1052 from itflow-org/perms-2
Permissions overhaul - Define permissions in the database
2024-09-18 14:20:05 -04:00
wrongecho c65db3431d Tidying 2024-09-14 23:43:54 +01:00
wrongecho ee9a2789e9 Permissions overhaul - Define permissions in the database
2nd attempt at this one!
Similar to #1008 but separately defining the roles, modules and associated permissions in the database.
Also has admin being a defined role automatically having full access.

Parent issue: #530
2024-09-14 19:14:35 +01:00
wrongecho c7340ca0d4 Permissions overhaul - Define permissions in the database
2nd attempt at this one!
Similar to #1008 but separately defining the roles, modules and associated permissions in the database.
Also has admin being a defined role automatically having full access.

Parent issue: #530
2024-09-14 18:55:00 +01:00
wrongecho 271019b16b Permissions overhaul - Define permissions in the database
2nd attempt at this one!
Similar to #1008 but separately defining the roles, modules and associated permissions in the database.
Also has admin being a defined role automatically having full access.

Parent issue: #530
2024-09-14 18:29:44 +01:00
johnnyq e0ca3f15a8 Added Ubuntu, Fedora and DuckDuckGo to user agents 2024-09-12 12:42:15 -04:00
johnnyq 168a298a55 Dont Show windows version as this is inaccurate, show just Windows for OS, fix Opera String, and removed iPod 2024-09-12 12:28:24 -04:00
johnnyq f2a3299ef0 Update getOS Function to include Windows 11, Fix get Web Browser when using Microsoft Edge 2024-09-12 12:13:51 -04:00
wrongecho 517e8d42f0 Email Send - Tidy
- Enhance error logging in cron_mail_queue.php
- Prevent invalid sender addresses
- Prevent potential SQL injections in the sender name (admin settings and should be sanitized before being sent to queue anyway)
2024-09-10 22:34:20 +01:00
wrongecho 3d16431d32 Initial implementation of whitelabelling 2024-09-05 10:44:50 +01:00
wrongecho 4458c87463 Initial implementation of whitelabelling 2024-09-05 10:31:18 +01:00
wrongecho 75846adc28 Remove the old function for fetching domain expiration 2024-08-29 19:42:53 +01:00
wrongecho 24ff6f5c84 WIP: Allow decrypting logins/credentials via the API 2024-08-25 12:45:18 +01:00
wrongecho d37bdcdbcb WIP: Allow decrypting logins/credentials via the API 2024-08-25 12:31:15 +01:00
wrongecho a6113dc371 WIP: Allow decrypting logins/credentials via the API 2024-08-22 18:22:20 +01:00
wrongecho 0c60ecc329 WIP: Allow decrypting logins/credentials via the API 2024-08-22 17:46:58 +01:00
wrongecho 63feff03d2 Initial WIP: Allow decrypting logins/credentials via the API 2024-08-19 21:23:43 +01:00
wrongecho d80334a7cf Ticketing updates - guest view & resolved vs closed
- Swap autclose for resolved to allow temporarily re-opening resolved tickets for 72 hrs after closure
- Add guest view URL for tickets
2024-08-17 23:24:15 +01:00
johnnyq 40ccbb5627 Update GetDomainExpiry Function to return proper null if Expire is not found, updated the logic 2024-06-06 02:30:12 -04:00
johnnyq acfd5e8d54 Was missing a few more regexes in get domain expiry 2024-06-02 17:05:53 -04:00
johnnyq 738c83378c Forgot to add a pattern for expires on 2024-06-02 16:41:20 -04:00
johnnyq 56b0eafe2b re-push out new domain expiry lookup 2024-06-02 16:32:42 -04:00
johnnyq e2b700cdcd Revert new Domain lookup 2024-06-02 13:15:41 -04:00
johnnyq 13764da199 Updated domain lookup function to include TLDs of and time formats to match the python script 2024-06-02 13:07:33 -04:00
johnnyq 84653cb57a Created new PHP function to use the local whois binary to get the expire date of a domain 2024-06-02 12:38:47 -04:00
Hugo Sampaio 352fbd852e typos 2024-05-13 11:22:57 -03:00
Hugo Sampaio 13a45c81a0 Display notification when update is available 2024-05-13 11:12:52 -03:00
Hugo Sampaio b1efb76b3b Update functions.php
handle phone_mask option
2024-05-06 11:31:38 -03:00
Marcus Hill 43abd177ea Certificate checks - Allow custom ports 2024-05-04 18:04:24 +01:00
johnnyq 894a4369b3 Fix Timezone always being UTC when sent to the mail queue when scheduling / cancelling tickets 2024-04-17 16:47:10 -04:00
Marcus Hill 667a93210c Ticket Statuses from DB 2024-03-29 11:22:32 +00:00
Marcus Hill 5e63ef9a2a Ticket Statuses from DB
First swing at this to share my progress, isn't ready to merge yet but would appreciate thoughts
2024-03-24 22:36:21 +00:00
Marcus Hill 796ba6633e Ticket status colours
Standardize ticket statuses via function
2024-03-24 10:12:02 +00:00
Marcus Hill b9431645d3 Ticket Statuses
Standardize on 5 consistent ticket states:-
- New (Red/Danger)
- Open (Blue/Primary)
- On Hold (Green/Success)
- Auto Close (Dark/black)
- Closed (Dark/black)

Update parts of the app where these have deviated from, as they have not been updated everywhere.
Other states may be configurable in future via custom fields.
2024-03-03 00:13:29 +00:00
o-psi 277e91b07e Update Password Gen Function 2024-02-15 21:35:21 +00:00
o-psi cdf4118b09 Allow canceling scheduled tickets 2024-02-15 16:31:35 +00:00
o-psi 1f3799ebe3 Update Calendar to Full Calendar 6.1.10 2024-02-14 20:21:19 +00:00
o-psi 12f6f86581 Update for long tickets 2024-02-10 02:42:37 +00:00
o-psi 5ac03e7086 Merge branch '0.1.8.2' of https://github.com/twetech/itflow into 0.1.8.2 2024-02-09 22:49:52 +00:00
o-psi 2bf0a2aef8 cleanups 2024-02-09 22:49:12 +00:00
o-psi f0d2f5b02a SonarCloud Cleanups 2024-02-09 16:40:51 -06:00
o-psi 6e14406364 Update Calendar to show past scheduled tickets as different colors based on status. 2024-02-09 22:06:34 +00:00
o-psi e2392c3c6c Add iCal functionality 2024-02-08 12:59:36 -06:00
Marcus Hill 8a9a4fd97e Bugfix: Prevent preg_replace passing null parameter error when no phone is present 2024-02-04 14:50:38 +00:00
johnnyq ad1ec7d338 Allow to set an optional queue time in bulk mail, update cron_mail_queue.php to only send mail after its queued_at date and time 2024-01-21 15:52:15 -05:00
johnnyq 62fb73875b Updated addToMailQueue Function to allow specifing an optional queue time to schedule outbound mail 2024-01-21 15:27:15 -05:00
johnnyq e07fb9ce50 Expanded timeAgo function to incoude time ahead, added this functionality to client overview 2024-01-15 22:59:39 -05:00
Andrew Malsbury 10b04c79d0
Merge branch 'v0.1.2' into Readable-Passwords 2023-12-22 11:31:36 -06:00
o-psi f1516b06ee Refactor calculateInvoiceBalance function to sanitizr
This commit refactors the calculateInvoiceBalance function in functions.php. The invoice_id parameter is now properly sanitized using intval() to prevent SQL injection attacks. Additionally, the SQL query for retrieving the invoice and payments data has been formatted for better readability.
2023-12-21 14:37:19 +00:00
johnnyq e8a53cbd6a Update new mail queue function to use the proper mail from name and mail from email 2023-12-21 01:37:21 -05:00
johnnyq cdaca0e06b Update a few var names for the new mail addToMailQueue function 2023-12-21 01:05:59 -05:00
o-psi 999c8ddb40 Add sanitations
Forgot to add in the sanitations.
2023-12-19 23:11:50 +00:00
o-psi 4e142b26e9 Missing "}" after confict resolution 2023-12-19 23:05:56 +00:00
Andrew Malsbury ae1496adae
Merge branch 'master' into ticket_notifications 2023-12-19 17:04:05 -06:00
o-psi 8b4beacf0e Update MailQueue to use function 2023-12-19 22:36:51 +00:00
o-psi e0c8b0c30d Readable Password Function 2023-12-18 17:34:22 +00:00
o-psi 7004d9217d Convert account_id and invoice_id to integers in calculateAccountBalance and calculateInvoiceBalance functions 2023-12-17 20:34:39 +00:00
o-psi 5be0f9f934 add calculate invoice balance function 2023-12-13 16:10:08 +00:00
Eduard Stehlík f47c5cca84 Fix domain edit for .eu and other domains. 2023-12-04 18:40:53 +01:00
Andrew Malsbury 230e649e2c Redo Balance Sheet Report 2023-11-21 16:04:41 +00:00
Andrew Malsbury 5cfae2520e Add functions for retrieving setting values and
calculating taxes
2023-11-17 21:43:37 +00:00
Marcus Hill 218cdcdc4c Allow contacts to upload attachments when adding ticket replies in portal
- Adds the ability for contacts to add file attachments when posting a ticket reply
- Enhancements to checkFileUpload(): Adjust file reference name generation & bad extension handling
2023-10-21 15:24:15 +01:00
o-psi 53c11edc8c Update constructs to not have parenthesis. 2023-10-20 15:25:52 -05:00
Marcus Hill 4ac7841882 Email parsing for all domains registered under a client
- Add support for email parsing/contact creation for all domains registered under a client in the domains module, rather than just the client main website.

- Additionally fix domain_created_at bug and move the new ticket auto-reply message to the email queue instead

Future work: Make ticket parsing work with HTML emails (HTML emails break agent notifs)
2023-10-07 15:51:58 +01:00
johnnyq 375d5af974 Fix issue with roundToNearest15 Function would break php if the time worked was empty 2023-09-27 16:01:44 -04:00
johnnyq 8ebe7eda03 Changed roundUpTo15 function to just round to the closest 15 2023-09-26 17:59:11 -04:00
johnnyq 61c9c0c8b9 Feature: Automatically calculate tickert to invoice based off time worked rounded up to the near 15 min mark multiplied by Client Rate, Changed all Price, cost fields to use text field with numeric patterns instead of number fields, set pricing to always display 2 decimal spots 2023-09-22 15:19:05 -04:00
johnnyq f897705135 Fix 3 Letter Client Abbrevation function to remove htmlentity characters to fix ' being replace with a 0 2023-09-19 16:24:41 -04:00
johnnyq 827b880b28 Fixed edit scheduled ticket updated shoertenClient function to be even more intelligent 2023-09-17 20:08:41 -04:00
johnnyq 1b90a005e4 Added a php function to intelligently shorten a clients name to 3 characters 2023-09-17 19:49:09 -04:00
johnnyq 3f5c1c270a Fix Certificate Renewals 2023-09-11 18:20:59 -04:00
johnnyq 9028f219b9 Moved get Cert Expiry date to functions.php 2023-09-11 15:31:43 -04:00
johnnyq 6cb3d8f9d0 Truncate Client Name on client side nav 2023-09-08 01:51:29 -04:00
Marcus Hill b7108436fd Add notify by email function when a new ticket is created 2023-08-27 12:24:15 +01:00
johnnyq a95b32a57e Upon upload the file contents are not hashed in Sha256 and used for the reference file in the DB 2023-08-23 16:10:15 -04:00
johnnyq 2633477575 Added Commented code to has the file contents itself instead of the name 2023-08-23 16:04:42 -04:00
johnnyq 4ec7c686c3 Updated the checkFileUpload fucntion to use SHA256 instead of MD5 for file reference and check file ext before checking size, also adding some error returns 2023-08-23 15:59:10 -04:00
johnnyq 2fa442028a Updated sendSingleEmail function to allow for authless email sending 2023-08-21 10:44:54 -04:00
johnnyq 43f016f70f Allow Extra file extentions to be uploaded, increased file upload hard limit in code from 20MB to 500MB 2023-08-09 16:38:53 -04:00
Marcus Hill 2c53faddd4 Add curly braces around if statement, adjust to exit for consistency 2023-06-13 20:36:32 +01:00
johnnyq f64ab630fd Added TimeAgo Function to convert mysql DataTime to a human readable time like 2 weeks ago similar to other apps like facebook do it. Added to function to Recent Activity under client overview 2023-06-05 12:25:39 -04:00
wrongecho 7d3f4fefbf
Update functions.php
Tidy spacing
2023-05-20 20:27:37 +01:00
Brent Hopkins 23f7866c8f
Increased security for getIP() function 2023-05-18 05:41:06 -05:00
johnnyq 51ee479130 oops fix replaced the actualy function with nullable 2023-05-11 18:34:06 -04:00
johnnyq 37fb696e63 Replace the remaining php files with nullable_htmlentites() 2023-05-11 18:27:48 -04:00
Brent Hopkins 019050ba82
Add function to use htmlentities without deprecated error 2023-05-11 16:37:21 -05:00
johnnyq 3202bceddd Set File Size to 20MB 2023-03-21 13:00:50 -04:00
johnnyq 035be88e72 Moved the remaining upload logics to use the checkFileUpload() Function 2023-03-21 12:53:01 -04:00