| Age | Commit message (Collapse) | Author | Files | Lines |
|
contact.role_id stores the user_id of the linked registered user (NULL = no
account). load() joins users_users on role_id to expose linked_user_login and
linked_user_name. verify() accepts user_id from the edit form and writes it to
contact_store['role_id']. getList() now filters by user_id key (was role_id).
Edit form shows the user_id field to admins with current login shown inline;
display template shows the linked user when set.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
The bulk DELETE of P*/B* xrefs was removing P01 (which carries the
pipe-encoded name) whenever contact_types were saved. P01 is implied
for all persons and never submitted as a checkbox, so it was never
re-inserted. Fix handles P01 separately — always delete/rewrite it
from pParamHash['name'] — and excludes it from the checkbox cycle.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Splits the Contact class into ContactPerson (content_type_guid='contactperson')
and ContactBusiness (content_type_guid='contactbusiness'), each using 'contact'
as the shared package-level xref schema. Replaces the $isPerson/$00 xref hack
with proper class identity via instanceof.
- ContactPerson.php, ContactBusiness.php: new subclasses
- Contact.php: loadXrefTypeList() reads type tags directly from liberty_xref;
getAvailableTypeItems() for edit form (schema-driven with pre-upgrade fallback);
getDisplayUrl() now points to display_contact.php
- Type item codes: P01/P02 (person), B01-B04 (business, B01=Service new)
- list_people.php, list_businesses.php: separate list pages per type
- list_contacts.php: combined display-layer merge of both types
- 5.0.3.php: upgrade script migrating existing data to new content types and codes
- Templates: isPerson flag from instanceof; horizontal type checkboxes; list.tpl
accepts $listTitle; menu adds People/Businesses entries
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Direct string concatenation of mUserId into JOIN conditions produces
'purm.user_id=' (no value) when mUserId is null for anonymous users,
giving Firebird -104 Token unknown. Cast to (int) with ?? 0 fallback.
Affects ContactType::setup() and Contact::loadAddressList().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Add/update docblocks across Contact, ContactType, ImportContactCSV.
Fix @package articles typo in ContactType.
Delete ContactXref, ContactXrefType, and lookup_contact_xref_type_inc —
all three were unwired scaffolding with no callers.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Remove one-off importers: Phx, Sage, Wande, old Contact/ContactOld
classes, load_contacts/phx/sage/wande scripts, schema_import_inc,
phx SQL, xmail files, mbox/mime email pipeline stubs.
Add CONTACT_IMPORT_PATH = STORAGE_PKG_PATH.'contact/' to bit_setup_inc.
Update load_contacts_csv.php to use CONTACT_IMPORT_PATH.
Email-to-contact pipeline (Mbox/mime/phail) retained as pending todo.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
loadXrefList() was removed from LibertyContent as part of the xref
migration to the LibertyXrefGroup path. Contact::load() already called
loadXrefInfo() but the stale loadXrefList() call remained, causing a
fatal error on load.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Searches contacts by title or SCREF short name. Used by stock
edit_movement.tpl From field datalist.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- add_person.php + add_person.tpl: minimal form, auto-injects $00
- add_business.php + add_business.tpl: org name + $02+ type checkboxes
- menu_contact.tpl: replace generic edit link with Add Person / Add Business
- Contact.php: fix title overwrite (org no longer clobbers person name);
fix null trim on organisation; fix $00 type xref stored correctly
- edit.php: isPerson flag; xref groups loaded; type list filtered $02+ for businesses
- edit.tpl: person/business field visibility; tabbed xref block at bottom of Details tab
- edit_type_header.tpl: value fixed to {$type.item}; $00/$01 filtered out
- display_contact.tpl: person/business field selection; note above addresses;
no-addresses fallback removed; allow_edit=false on xref tabs
- display_type_header.tpl: heading Personal/Business Contact; $02+ types only
- contact_date_bar.tpl: remove Add crossref shortcut (now in edit tabs)
- view_xref_*_item.tpl: dates and edit actions gated on $xrefAllowEdit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
edit_type_header.tpl: value was {$type.source} (unquoted, wrong field)
— changed to "{$type.item}" so $04 etc are submitted correctly.
Label corrected from "Content Types" to "Contact Types".
Contact.php: organisation trim() now handles null from DB.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- Fix LOCALTIMESTAMP default in contact_address (CURRENT_TIMESTAMP caused
timezone error with Firebird 4+ / PDO session having no timezone set)
- Add xref_id sequence call to all liberty_xref INSERTs in Contact::store()
- Add CONTACT_PKG_CLASS_PATH so getLibertyObject resolves Contact class
- Fix LibertyXref date fields: format Unix timestamps as Y-m-d H:i:s before
INSERT; use null instead of empty string for nullable TIMESTAMP columns
- Remove Contract/Key Number column from list and edit templates
- Remove find_key search box and getContractList() method
- Remove alarm and council xref groups and items from schema seed
- Add SCREF (Stock Source Reference) to links xref group seed
- Archive and git-remove Cotswold-specific templates and list_contracts.php
- Clean up contact_header: remove xkey prefix, restore plain title display
- Browser title now shows contact name instead of generic "Contact Information"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
5.0.1 upgrade migrates contact_xref_type/source/xref data into
liberty_xref_group/item/xref with content_type_guid='contact'.
5.0.2 upgrade drops the old contact_xref* tables.
schema_inc.php updated for fresh installs:
- Removes contact_xref, contact_xref_source, contact_xref_type tables
- Adds address_postcode table (UK postcode lookup, LEFT JOIN'd in queries)
- Defaults now INSERT into liberty_xref_group and liberty_xref_item directly
- dependencies => 'liberty' ensures correct install ordering
PHP and templates: source→item, xref_type→group rename throughout.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Nine methods deleted from Contact (getContactGroupList, getContactSourceList,
getXrefTypeList, getXrefFormatList, loadContentTypeList, loadXrefList,
loadXref, storeXref, stepXref) — all now inherited from LibertyContent.
Contact sets $mXrefTypeKey = 'contact_types' so loadXrefTypeList() continues
to store under the key templates expect. load() updated to call
loadXrefTypeList(). Page files updated: getContactGroupList → getXrefGroupList,
getContactSourceList → getXrefSourceList.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
filter
getContactGroupList() now adds xref_type AS source so templates can key
into mInfo by the text group name (e.g. 'contact', 'links'). display_contact.tpl
passes sort_order (integer) to add_xref.php instead of the text xref_type key
so getXrefTypeList() group filter works correctly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
All references to dropped contact_xref, contact_xref_type and
contact_xref_source tables replaced with liberty_xref equivalents.
Content_type_guid='contact' scoping added throughout. Integer xref_type
comparisons replaced with sort_order via JOIN to liberty_xref_type.
Naked SQL subquery in getList() now uses BIT_DB_PREFIX and content_type_guid
filter. t.source → t.xref_type in loadXrefList() and loadAddressList().
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
ContactXref and ContactXrefType become thin subclasses of their liberty
counterparts, scoped to content_type_guid='contact'. load_emails.php updated
to query liberty_xref. Gallery view template moved into contact package as
fisheye_fixed_grid_contact.tpl (keeps fisheye clean; same pattern for future
assembly/component packages). contact/admin/upgrades/5.0.1.php migrates
existing contact_xref_* data into liberty_xref_* tables.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|