Commit Graph

  • 78ee38b39f Revert DB Update johnnyq 2026-07-28 22:08:01 -04:00
  • 1494d2cb5e Backed out of Refunds which still keeps the fix to properly set the invoice status when payment is deleted johnnyq 2026-07-28 22:03:35 -04:00
  • 31921ee99b Add Refunding capability along with Stripe Refunding johnnyq 2026-07-28 21:34:06 -04:00
  • b3f959ac55 Use Short echo tags across the code johnnyq 2026-07-28 18:47:52 -04:00
  • 0031438bce Update Contrubuting johnnyq 2026-07-28 18:12:42 -04:00
  • 556ab22c79 Enfoce Sales Permission Read on products export johnnyq 2026-07-28 17:53:13 -04:00
  • 78e7e1c49e Remove Normalize Scripts johnnyq 2026-07-28 17:46:39 -04:00
  • c5ff3e2a3f Normalize line endings to LF; add .gitattributes and .editorconfig johnnyq 2026-07-28 17:45:52 -04:00
  • 7f7880a4a7 Add Quick Payments view modal in Invoices johnnyq 2026-07-28 12:49:57 -04:00
  • 5f3a0bec46 Remove old payments and revenues and all ties to the pages as these are combined in income now johnnyq 2026-07-28 12:38:29 -04:00
  • c3896ba3d6 Add Export CSV to the new combined income page johnnyq 2026-07-28 12:26:50 -04:00
  • 7327ebb37c Stop parallel login attempts from bypassing the rate limits johnnyq 2026-07-28 01:01:43 -04:00
  • 2e855f62c9 Require credential module access to view or share credentials johnnyq 2026-07-28 00:40:33 -04:00
  • 4c65b8c561 Clear mail bodies after successful delivery johnnyq 2026-07-28 00:18:07 -04:00
  • c64c76c577 Rotate session ID on login and fix client portal Entra SSO johnnyq 2026-07-27 23:49:09 -04:00
  • 22e93589cb Fix share link view accounting and quote response handling johnnyq 2026-07-27 21:11:45 -04:00
  • f129311b2e Remove patch and update gitignore johnnyq 2026-07-27 21:02:13 -04:00
  • 70d165e8bc Claim shared item views atomically and log guest audit IPs johnnyq 2026-07-27 20:58:37 -04:00
  • b555a300bc Give the vault session key full entropy and guard empty-key credential writes johnnyq 2026-07-27 20:27:23 -04:00
  • 829527244e Fix broken ajax johnnyq 2026-07-27 20:25:48 -04:00
  • 50352fb779 Revert vault session key entropy change johnnyq 2026-07-27 20:13:46 -04:00
  • 8dcb45fc9d Remove Patch johnnyq 2026-07-27 20:00:42 -04:00
  • b18544c69b Give the vault session key full entropy and guard empty-key credential writes johnnyq 2026-07-27 20:00:09 -04:00
  • 8825661360 Dump new DB Structure johnnyq 2026-07-27 18:38:48 -04:00
  • a4fdced10f Rate limit 2FA code attempts and narrow the TOTP acceptance window johnnyq 2026-07-27 18:36:43 -04:00
  • 97490bef3b Security Fix in recurring invoices in cron johnnyq 2026-07-27 18:07:15 -04:00
  • a844d7b428 Adds a shared flock guard used by all five cron entry points, keyed per script and per install. Replaces the mail queue's own lock file, which was not atomic and could be deleted out from under a long run. Bounds the SMTP conversation so an unresponsive server cannot hold the lock. Recovers rows left at Sending by a run that died, which nothing previously picked up. johnnyq 2026-07-27 17:35:39 -04:00
  • 686fca99e1 Fix Possible duplicate emails in a race condition in mail queue johnnyq 2026-07-27 16:59:10 -04:00
  • 775e8f58f6 Fix Cents Calc johnnyq 2026-07-27 16:55:16 -04:00
  • 409d769eb7 Scope the cron lock per install so instances don't block each other Report an unopenable cron lock file instead of claiming cron is running johnnyq 2026-07-27 16:41:21 -04:00
  • cff416dd87 Remove Patch johnnyq 2026-07-27 15:22:46 -04:00
  • 65de8c35e6 Prevent duplicate Stripe payment bookings and overlapping cron runs johnnyq 2026-07-27 15:22:16 -04:00
  • 815802fb7c Gate Admin UI Modals to Admin johnnyq 2026-07-27 14:50:32 -04:00
  • 53842a50d2 Add URI Tabs to mail settings keeps the tab active upon saving johnnyq 2026-07-26 01:52:25 -04:00
  • 5fc2f93b38 Allow negative numbers in add expense johnnyq 2026-07-26 01:40:11 -04:00
  • 32be252261 Remove patch file johnnyq 2026-07-26 01:11:27 -04:00
  • 04014da21f Combined Payments and Revenues as one View called income keeps all income in one place and still can add revenue not related to invoice johnnyq 2026-07-26 01:10:52 -04:00
  • 276e84ad0b Expenses: Set Current Date in new expense johnnyq 2026-07-25 20:38:58 -04:00
  • cd34236716 Fix saved-payment setup Checkout: embedded_page ui_mode + attach existing Stripe customer johnnyq 2026-07-25 19:00:06 -04:00
  • a26ac2c4fc Fixed adding saved credit cards in stipe due to API change johnnyq 2026-07-25 18:47:13 -04:00
  • 497ea3b669 Centralize client portal access checks through contactCan() johnnyq 2026-07-25 17:55:30 -04:00
  • 887063394a Prevent client portal contacts from editing their own contact record johnnyq 2026-07-25 17:28:57 -04:00
  • 04bf3c234f Read API credential decrypt password from body instead of query string johnnyq 2026-07-25 17:08:22 -04:00
  • e6daf00528 Fix some broken API calls after RBAC update johnnyq 2026-07-25 16:59:03 -04:00
  • c509b7f693 Add user-based RBAC for API keys johnnyq 2026-07-25 16:50:58 -04:00
  • 8d46e2a7db Fix Client Permission overides to include deny allow list in projects prohect and edit ticket johnnyq 2026-07-25 13:28:47 -04:00
  • 3756561458 Feature: Add Deny Client Access to Client Access Permssions - BREAKS UI, MUST UPDATE DB USING php scripts/cli_update.php --db_update johnnyq 2026-07-25 13:22:52 -04:00
  • ff4b69b511 Client Enforcement via function on client edit instad of in sql query johnnyq 2026-07-25 00:35:47 -04:00
  • 761b2a7af4 Module permissions modal enforcement sweep to match its post counterpart johnnyq 2026-07-25 00:28:42 -04:00
  • 7a793cbbcc Add more enforceClientAccess to agent ajax gets johnnyq 2026-07-24 22:51:57 -04:00
  • 113ef4b9a4 Add more enforceClientAccess johnnyq 2026-07-24 22:49:18 -04:00
  • 3524010d7a Add enforceClientAccess to 4 bulk modals initially missing johnnyq 2026-07-24 22:06:42 -04:00
  • 8993bce53f Force No Indexes of empty directories even if enabled using .htaccess in uploads johnnyq 2026-07-24 20:52:35 -04:00
  • 8813b2c066 Use imapEngine lib for testing imap connection johnnyq 2026-07-24 18:56:16 -04:00
  • 5c4805b822 Neutralize CSV formula injection in generated exports using the new created escapeCsvFormula Function johnnyq 2026-07-24 18:12:45 -04:00
  • 28f1a965b8 Remove dead code johnnyq 2026-07-24 17:33:09 -04:00
  • 565aff35f6 Set SameSite=Lax on the session cookie johnnyq 2026-07-24 14:09:52 -04:00
  • 3549c2ef2a Harden CSRF handling and session cookies johnnyq 2026-07-24 14:06:04 -04:00
  • 8afc5aea89 Typo fix johnnyq 2026-07-24 13:45:52 -04:00
  • 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 johnnyq 2026-07-24 13:40:37 -04:00
  • dd358da65d Update missing CSRF endpoint checks missed update_db johnnyq 2026-07-24 13:22:17 -04:00
  • 91a1676e89 Update missing CSRF endpoint checks johnnyq 2026-07-24 13:16:51 -04:00
  • e7698f15bd Make better use of formatAddress function for clients listing johnnyq 2026-07-24 12:22:15 -04:00
  • c7b34fe107 Remove leftover getFallBack in client pdf export in favor of ?: '-' johnnyq 2026-07-23 18:29:11 -04:00
  • 5846119ec9 remove duplicate formatAddress johnnyq 2026-07-23 18:16:57 -04:00
  • 41b118ab87 Add formatAddress function and replace all addresses with it johnnyq 2026-07-23 18:10:39 -04:00
  • 9c65644adc Update the rest of the PHP functions to use camelCase johnnyq 2026-07-23 17:39:06 -04:00
  • 3d94846a61 Fix broken link to service modal in services johnnyq 2026-07-23 13:48:00 -04:00
  • 90bc8ed029 Fix broken links to modals and remove _details from service johnnyq 2026-07-23 13:43:04 -04:00
  • 40be80981d Fix vendor modal link in service details johnnyq 2026-07-23 13:34:08 -04:00
  • b853c24c96 Remove a few more unused vendor contact modals and update the escaping in rename modal vendor_details.php to vendor.php johnnyq 2026-07-23 13:26:06 -04:00
  • 5f26d75e18 Update Functions in ticket_edit_vendor and document link vendor and deleted legacy code unused that had legacy functions tied to them johnnyq 2026-07-23 13:17:41 -04:00
  • 8f43b92496 Use stripe_init include to init stripe and updated code everywhere johnnyq 2026-07-23 13:00:01 -04:00
  • 7ccdc942fe Bump imapEngine from v1.25.2 to v1.25.3 johnnyq 2026-07-23 00:59:07 -04:00
  • 2b756f6ea4 Split DB Updates into seperate files, with the cutoff being 2.0.0 johnnyq 2026-07-22 18:43:11 -04:00
  • 17e4c61067 Spelling Fix johnnyq 2026-07-22 17:40:30 -04:00
  • fad62ca045 Remove custom_hosting tables johnnyq 2026-07-22 17:36:55 -04:00
  • 5402578ce6 Remove Static payment processing fees from database and update field hints with useful info when adding / editing payment provider johnnyq 2026-07-22 17:32:01 -04:00
  • 8ee780566e Cleanup Expense Code in post blocks and remove single use function since stripe payments get reconciled during nightly cron johnnyq 2026-07-22 17:06:10 -04:00
  • 08334b22c3 Add Stripe fee reconciliation to cron johnnyq 2026-07-22 16:47:28 -04:00
  • f4b1b6585b Move Expense block for Stripe after intent johnnyq 2026-07-22 16:16:40 -04:00
  • 66b38b7f19 Get Expense from Stripe instead of Static Entry johnnyq 2026-07-22 16:07:39 -04:00
  • 54e2005224 Icon change for Mail Queue johnnyq 2026-07-21 14:18:33 -04:00
  • d5a1305192 Reorg Admin Side nav menu johnnyq 2026-07-21 14:17:16 -04:00
  • 4bb497ea9c Reorganize Client Side nav and the renamed Client overview to All Client Docs side nav johnnyq 2026-07-21 13:43:56 -04:00
  • 97ab1df762 Feature: Add Transactions, reorg Main side nav johnnyq 2026-07-21 13:21:23 -04:00
  • 058e31c290 Fix Truncated Client name in side nav needs to be truncated before escaped johnnyq 2026-07-20 19:31:31 -04:00
  • d173357b51 Add Bulk and Single Refresh certificate Actions johnnyq 2026-07-20 19:14:38 -04:00
  • e134c89c3a Add Bulk and Single Refresh Domain Actions johnnyq 2026-07-20 18:54:01 -04:00
  • a35ef025dc Add Expiring in Filter Field to assets, licenses, domains and certificate and wire that into the dashboard as well johnnyq 2026-07-20 18:25:44 -04:00
  • ce0a62b0c3 Add Expiring Asset Warranties and Liceneses to the Dashboard johnnyq 2026-07-20 17:45:03 -04:00
  • 1a3d7a1e0d Bump ImapEngine from 1.25.1 to 1.25.2 johnnyq 2026-07-18 11:17:53 -04:00
  • 9cc7e5ff3c Move Guest Function formatBytes to root shared functions and use in files and files section in contact johnnyq 2026-07-16 20:25:18 -04:00
  • 113d6220bb Add back missing function call johnnyq 2026-07-16 19:32:52 -04:00
  • e40926c08d Restore native DNS/RDAP domain lookups (lost in functions.php split) johnnyq 2026-07-16 19:30:38 -04:00
  • e11d8f3252 Harden checkFileUpload: drop content hashing for random storage names johnnyq 2026-07-16 19:18:08 -04:00
  • 41d029937a More Client Scoping fixes johnnyq 2026-07-16 14:29:23 -04:00
  • 1251944dcc More Client Enforcement in modals across the app johnnyq 2026-07-16 13:33:17 -04:00
  • 2c09ce097c More Client Enforcement in modals across the app johnnyq 2026-07-16 13:10:02 -04:00
  • 9e84ce4c07 Ticket Merge: EnforceClientAccess on modal and ticket list johnnyq 2026-07-16 12:14:36 -04:00