Isaac Connor
48fadaebbf
feat: customizable menu entries with links, icons and delete on options menu tab
...
Port the menu customization work from the ai_server branch onto master:
- Add/edit/delete custom navbar/sidebar menu entries via Options > Menu
- Per-entry Link column (new Menu_Items.Link) with ?view= fallback derived
the same way as built-in items; custom entries render via buildMenuItem
- Live icon preview (material/font awesome) with fixed-width preview cell
- Per-row delete icon; add/reset buttons with tooltips
- Surface DB errors when saving options config: capture the swallowed PDO
error via dbLastError() and show it in the page error banner instead of
redirecting past it
Menu_Items.Link is added to zm_create.sql.in and as an idempotent ALTER in
zm_update-1.39.16.sql.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-27 12:13:49 -04:00
IgorA100
8ecad0d28e
If the requested Object isn't found in the database, generate a Warning instead of an Error. (Object.php)
2026-05-31 17:46:02 +03:00
Isaac Connor
df33e75afd
Add support for the string NULL is object lookup values
2026-01-30 08:33:49 -05:00
BHMSD-bdailey
faca0a57c5
Add Not Null to ZM_Object
2026-01-29 21:54:04 -05:00
Isaac Connor
198716f05b
Fix array to string conversion message
2025-07-04 16:28:52 -04:00
Isaac Connor
94c2816841
Split out the default and initial_default concepts
2024-10-26 13:59:59 -04:00
IgorA100
51bf4bcbb8
Chore: Replace Tabs to Space
2024-04-08 19:21:30 +03:00
Isaac Connor
70b1432c1f
Have to check for property_exists instead of empty. empty includes a valid value of 0
2023-12-01 12:46:49 -05:00
adhamiamirhossein
27977acdd4
fix: php 8.3 deprecated get_class method call without argument
2023-11-22 10:48:04 +03:30
Isaac Connor
7824613e53
Allow Objects with no Id, they can't be cached but can be used.
2023-10-20 14:01:55 -04:00
Isaac Connor
69e601d286
Fix failure to save new user due to Snapshots not getting a default value.
2023-10-11 13:34:00 -04:00
Simpler1
2547376c27
fix(php8): AllowDynamicProperties
2023-09-30 19:56:57 -04:00
Isaac Connor
3767d815a5
Use different syntax for assigning object properties
2023-09-13 13:05:57 -04:00
Isaac Connor
51755b4f4e
Fix updating having Id in it
2023-05-12 12:56:36 -04:00
Isaac Connor
969baa3891
Convert user from an array to a User object
2023-04-23 12:57:29 -04:00
Isaac Connor
082ffdf76e
Fix SQL for when passing an empty array to find. Return false instead of trying weird sql.
2022-10-20 10:22:56 -04:00
Isaac Connor
84fd4b42d5
Fix test for null in Object::find
2022-10-20 10:22:56 -04:00
Isaac Connor
ff01d4d394
IN () being false could still result in a true result of used in an OR, so instead of just returning, use an always false sql equivalent
2022-10-20 10:22:56 -04:00
Isaac Connor
837d0ece7f
return empty array when passing empty as SQLvalue
2022-10-20 10:22:56 -04:00
Isaac Connor
553c79d8f9
Put back ctype_digit and quoting of the sql to fix loading object in new
2022-06-01 12:59:09 -04:00
Isaac Connor
8f2b8bf478
Test for is_array first, get rid of ctype_digit test as passing a null to it is deprecated
2022-06-01 10:40:31 -04:00
Isaac Connor
a6dc7ba0fc
Add debugging, but commented out
2022-02-03 17:30:38 -05:00
Isaac Connor
cfac99be4e
better debugging when the row has no Id
2022-01-07 16:21:49 -05:00
Isaac Connor
836fe8c2b1
spacing
2021-11-17 18:57:44 -05:00
Isaac Connor
500ced2dc5
When locking, use the results to reload the object fields fresh as they may have changed since the object was loaded
2021-08-06 19:14:43 -04:00
Isaac Connor
cbd8b22efb
Fix setting value when not empty
2021-03-30 14:28:17 -04:00
Isaac Connor
8582c1a652
Once again fix saving string value to '' so that we can empty LabelFormat
2021-03-30 13:31:26 -04:00
Isaac Connor
3fdd2bff7f
Have to use === because apparently null == NOW() according to php.
2021-03-22 12:59:18 -04:00
Isaac Connor
fa08240a4d
Fix set() and __call to use the default value when set value is ''. Fixes issues in monitor view when changing type
2021-03-22 12:06:25 -04:00
Isaac Connor
68f9c7c9e6
introduce a _last_error member to the object for reporting errors saving.
2021-03-20 19:27:53 -04:00
Isaac Connor
4cb38a119e
Fix saving Filters and other objects. Apparently comparing 0 to NOW() doesn't work.
2021-03-18 14:09:15 -04:00
Isaac Connor
6682ec7da5
Add Snapshots and Snapshot_Events Tables. Add HomeView to Users.
2021-03-12 09:26:23 -05:00
Isaac Connor
50e5f84df2
introduce insert function to be used when we want specifically to insert a db record instead of being smart about update/insert.
2021-02-01 16:44:04 -05:00
Isaac Connor
f89da79c27
Fix comparing empty arrays. explode on an empty string returns an array with a single element '' instead of an empty array
2020-12-10 16:25:24 -05:00
Isaac Connor
3a7571dd63
undo bogus cache use in Object constructor
2020-12-04 15:16:43 -05:00
Isaac Connor
5b10fff2a0
Use cached objects when using new instead of only find_one
2020-11-10 13:14:36 -05:00
Isaac Connor
4a6743be3f
turn off debug
2020-09-17 15:15:13 -04:00
Isaac Connor
cce0ab1464
pass params when loading Objects_Indexed_By_Id
2020-08-31 10:16:35 -04:00
Isaac Connor
d0f6f8755c
Implement a remove_from_cache function so we can free mem for objects we are not interested in
2020-08-27 17:14:47 -04:00
Isaac Connor
d7de4768d7
Fix use of is_callable
2020-08-04 16:36:04 -04:00
Isaac Connor
9acbd9d1b2
fix typos prevent array based regexp from working. Fixes saving Storage
2020-08-03 11:05:16 -04:00
Isaac Connor
31cbfc35b1
fix use of is_callable so that we fix filter saving
2020-07-26 22:32:55 -04:00
Isaac Connor
c81e4a3bca
fix
2020-07-25 14:32:30 -04:00
Isaac Connor
99d7aa0da0
fix
2020-07-25 14:31:57 -04:00
Isaac Connor
522dfecebe
Fix setting values by checking is_callable. Remove debug. Fix filter_regexp
2020-07-25 14:26:49 -04:00
Isaac Connor
a819b73e18
allow filter_regexp to be an array
2020-07-25 13:50:59 -04:00
Isaac Connor
910d4b51c9
Escape table names for mysql-8
2020-06-04 11:44:59 -04:00
Isaac Connor
683bf3f982
Handle no default set for array defaults. Fixes Warning when saving WebSite type Monitors
2020-05-01 15:32:54 -04:00
Isaac Connor
b05916fc50
Use === when testing for empty value and setting defaults
2020-04-23 15:08:01 -04:00
Isaac Connor
eb26c5f798
Fix use of array_key_exists instead of property_exists
2020-04-23 15:07:28 -04:00