| Age | Commit message (Collapse) | Author | Files | Lines |
|
list_xref.tpl now uses 7-column layout (Type/Link/Key/Value/Date/Updated/
Edit) and delegates row rendering to view_xref_{template}_record.tpl,
matching the template name stored in liberty_xref_source. Eight generic
record templates added (text, contact, phone, address, date, bank, sig,
locate) using hasUpdatePermission()/hasExpungePermission() throughout.
edit_xref.php gains expunge/stepXref handling for Delete and Restore
actions, with permission checks scoped per action branch.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Use icon-note-add to match contact package. Add button now requires
allow_add=true (passed by edit templates only), isValid(), and
hasUpdatePermission() — so it never appears on view pages or new content.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Moves add/edit xref pages out of stock into liberty so any content type
can use them. list_xref.tpl uses hasUpdatePermission() instead of a
stock-specific permission check.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
mime_video_update defaulted $ret=false and only set it true when a
new file was uploaded or aspect meta was present. Saving an image edit
page with an existing video attachment and no new upload always
triggered "There was a problem updating the file settings". Changed
default to true to match mime_image_update which does the same.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Store and update paths were explicitly passing 60s offset to
mime_video_create_thumbnail — clips shorter than that would cause
the ffmpeg fallback to seek past end-of-file and produce nothing.
Now all call sites use the 5s default set in the previous commit.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- Wrap ffmpegthumbnailer and ffmpeg shell_exec calls with timeout 60
so a hung process doesn't stall gallery-level thumbnail regeneration
- Drop $pOffset default from 60s to 5s so the ffmpeg fallback works
for clips shorter than one minute
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
LibertyXrefType: add getContentTypeGuids() and getGroupList() static methods.
New admin pages with package filter (session-persisted content_type_guid
dropdown): admin_xref_groups.php manages liberty_xref_type rows;
admin_xref_sources.php manages liberty_xref_source rows. Both support
add and delete (delete guarded by entry/source count). Wired into
menu_liberty_admin.tpl as Xref Groups / Xref Sources links.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Moves xref handling up from Contact so any LibertyContent subclass can
use liberty_xref_type/source/xref tables scoped to its own content_type_guid.
Added: getXrefGroupList, getXrefSourceList, getXrefTypeList, getXrefFormatList,
loadXrefTypeList (uses protected $mXrefTypeKey, default 'xref_types'),
loadXrefList, loadXref, storeXref, stepXref. loadXref/storeXref/stepXref use
LibertyXref directly with mContentTypeGuid set before load.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
LibertyXref gains a $mContentTypeGuid property (default empty) used to
filter the liberty_xref_source JOIN in load() and the multi-check in
verify(). Subclasses set it to scope queries to their content type without
duplicating any logic.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
New tables: liberty_xref_type (text PK, package, sort_order),
liberty_xref_source (package column for direct equality filtering),
liberty_xref (data rows keyed by content_id, works for any package).
Sequence liberty_xref_seq and indices on content_id and package columns.
LibertyXref and LibertyXrefType classes provide the full store/load/step
mechanism. Contact and stock register their own source types against the
shared tables. Upgrade script 5.0.1.php creates the tables on existing installs.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
video.js was loading from the unbuilt source directory and required
Flash-era IE workarounds no longer needed. Native <video> with controls
handles playback in all modern browsers. MIME type now taken from
attachment data rather than hardcoded as video/mp4.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
The extracted .txt file was left in the upload directory after
file_get_contents(). Added unlink() to remove it immediately.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
shell_exec('which magick') was dead since magick CLI was removed in
favour of the PHP imagick extension. Rewritten to use \Imagick directly
to rasterise the first page of a PDF to JPEG before passing to
liberty_generate_thumbnails. Thumbnail sizes now inherited from global
$gThumbSizes via liberty_generate_thumbnails rather than hardcoded.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Replaced SELECT-then-INSERT/UPDATE with UPDATE-first pattern: attempt
UPDATE and only INSERT if zero rows were affected. Eliminates the race
window where two concurrent requests both see no row and both try to
INSERT, which left an uncommitted Firebird transaction blocking reads.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
functionality
Used by blogs to pass extra info to search package
|
|
Missed from BIT_INSTALL fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
base defaulted to ROLE_MODEL reducing complexity in LibertyContent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
protection to private content has been cloned from protector package
|
|
|
|
|
|
|
|
|
|
|
|
the final y
|
|
|