diff options
| author | Lester Caine <lester@lsces.co.uk> | 2026-05-25 16:56:05 +0100 |
|---|---|---|
| committer | Lester Caine <lester@lsces.co.uk> | 2026-05-25 16:56:05 +0100 |
| commit | 98a222ddbaa5ca0dc7d914d4912af8055d46dbc4 (patch) | |
| tree | b90036736e0c371dfddc452074ebaa71a8b7182f | |
| parent | c35e539cf4777eead5500d3229c4a84669db8c5e (diff) | |
| download | liberty-98a222ddbaa5ca0dc7d914d4912af8055d46dbc4.tar.gz liberty-98a222ddbaa5ca0dc7d914d4912af8055d46dbc4.tar.bz2 liberty-98a222ddbaa5ca0dc7d914d4912af8055d46dbc4.zip | |
Add generic xref record templates and sub-template rendering to liberty
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>
| -rw-r--r-- | edit_xref.php | 11 | ||||
| -rw-r--r-- | templates/list_xref.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_address_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_bank_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_contact_record.tpl | 34 | ||||
| -rw-r--r-- | templates/view_xref_date_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_locate_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_phone_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_sig_record.tpl | 28 | ||||
| -rw-r--r-- | templates/view_xref_text_record.tpl | 34 |
10 files changed, 251 insertions, 24 deletions
diff --git a/edit_xref.php b/edit_xref.php index 323b4db..2c14384 100644 --- a/edit_xref.php +++ b/edit_xref.php @@ -24,21 +24,28 @@ if( !empty( $_REQUEST['xref_id'] ) ) { $gContent->loadXref( $_REQUEST['xref_id'] ); } -$gContent->verifyUpdatePermission(); - if( !empty( $_REQUEST['fCancel'] ) ) { header( 'Location: '.$gContent->getDisplayUrl() ); die; } if( !empty( $_REQUEST['fSaveXref'] ) ) { + $gContent->verifyUpdatePermission(); if( $gContent->storeXref( $_REQUEST ) ) { header( 'Location: '.$gContent->getDisplayUrl() ); die; } $xrefInfo = $_REQUEST; $xrefInfo['data'] = $_REQUEST['edit'] ?? ''; +} elseif( isset( $_REQUEST['expunge'] ) ) { + $gContent->verifyExpungePermission(); + if( $gContent->stepXref( $_REQUEST ) ) { + header( 'Location: '.$gContent->getDisplayUrl() ); + die; + } + $xrefInfo = $gContent->mInfo['xref_store']['data'] ?? []; } else { + $gContent->verifyUpdatePermission(); $xrefInfo = $gContent->mInfo['xref_store']['data'] ?? []; } diff --git a/templates/list_xref.tpl b/templates/list_xref.tpl index 2552fb6..572cc34 100644 --- a/templates/list_xref.tpl +++ b/templates/list_xref.tpl @@ -5,8 +5,10 @@ <table> <thead> <tr> - <th>{tr}Source{/tr}</th> - <th>{tr}Data{/tr}</th> + <th>{tr}Type{/tr}</th> + <th>{tr}Link{/tr}</th> + <th>{tr}Key{/tr}</th> + <th>{tr}Value{/tr}</th> {if $source ne 'history'} <th>{tr}Started{/tr}</th> {else} @@ -19,29 +21,11 @@ <tbody> {section name=xref loop=$gContent->mInfo.$source} <tr class="{cycle values="even,odd"}"> - <td>{$gContent->mInfo.$source[xref].source_title|escape}</td> - <td> - {if $gContent->mInfo.$source[xref].xref} - <a href="{$smarty.const.CONTACT_PKG_URL}?content_id={$gContent->mInfo.$source[xref].xref}">{$gContent->mInfo.$source[xref].data|escape}</a> - {else} - {$gContent->mInfo.$source[xref].data|escape} - {/if} - </td> - {if $source ne 'history'} - <td>{$gContent->mInfo.$source[xref].start_date|bit_short_date}</td> - {else} - <td>{$gContent->mInfo.$source[xref].end_date|bit_short_date}</td> - {/if} - <td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> - <td> - {if $gContent->hasUpdatePermission()} - {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="fa-pen-to-square" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} - {/if} - </td> + {include file="bitpackage:liberty/view_xref_`$gContent->mInfo.$source[xref].template`_record.tpl"} </tr> {sectionelse} <tr class="norecords"> - <td colspan="5">{tr}No {$source_title} records found{/tr}</td> + <td colspan="7">{tr}No {$source_title} records found{/tr}</td> </tr> {/section} </tbody> diff --git a/templates/view_xref_address_record.tpl b/templates/view_xref_address_record.tpl new file mode 100644 index 0000000..d7efba4 --- /dev/null +++ b/templates/view_xref_address_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey_ext|escape}, {$gContent->mInfo.$source[xref].xkey|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_bank_record.tpl b/templates/view_xref_bank_record.tpl new file mode 100644 index 0000000..edea55a --- /dev/null +++ b/templates/view_xref_bank_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_contact_record.tpl b/templates/view_xref_contact_record.tpl new file mode 100644 index 0000000..ec14270 --- /dev/null +++ b/templates/view_xref_contact_record.tpl @@ -0,0 +1,34 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> + {if isset($gContent->mInfo.$source[xref].xref) && $gContent->mInfo.$source[xref].xref > 100} + {$gContent->mInfo.$source[xref].xref|escape} + {else} + + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_date_record.tpl b/templates/view_xref_date_record.tpl new file mode 100644 index 0000000..edea55a --- /dev/null +++ b/templates/view_xref_date_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_locate_record.tpl b/templates/view_xref_locate_record.tpl new file mode 100644 index 0000000..edea55a --- /dev/null +++ b/templates/view_xref_locate_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_phone_record.tpl b/templates/view_xref_phone_record.tpl new file mode 100644 index 0000000..8fe0d1a --- /dev/null +++ b/templates/view_xref_phone_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_sig_record.tpl b/templates/view_xref_sig_record.tpl new file mode 100644 index 0000000..edea55a --- /dev/null +++ b/templates/view_xref_sig_record.tpl @@ -0,0 +1,28 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> </td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} diff --git a/templates/view_xref_text_record.tpl b/templates/view_xref_text_record.tpl new file mode 100644 index 0000000..ec14270 --- /dev/null +++ b/templates/view_xref_text_record.tpl @@ -0,0 +1,34 @@ +{strip} +<td>{$gContent->mInfo.$source[xref].source_title|escape}</td> +<td> + {if isset($gContent->mInfo.$source[xref].xref) && $gContent->mInfo.$source[xref].xref > 100} + {$gContent->mInfo.$source[xref].xref|escape} + {else} + + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].xkey|escape} {$gContent->mInfo.$source[xref].xkey_ext|escape}</td> +<td>{$gContent->mInfo.$source[xref].data|escape}</td> +<td> + {if $source ne 'history'} + {$gContent->mInfo.$source[xref].start_date|bit_short_date} + {else} + {$gContent->mInfo.$source[xref].end_date|bit_short_date} + {/if} +</td> +<td>{$gContent->mInfo.$source[xref].last_update_date|bit_short_date}</td> +<td> + <span class="actionicon"> + {if $gContent->hasUpdatePermission() && $source ne 'history'} + {smartlink ititle="Edit" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id} + {/if} + {if $gContent->hasExpungePermission()} + {if $source eq 'history'} + {smartlink ititle="Restore" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-edit" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=-1} + {else} + {smartlink ititle="Delete" ipackage="liberty" ifile="edit_xref.php" booticon="icon-note-delete" content_id=$gContent->mInfo.content_id xref_id=$gContent->mInfo.$source[xref].xref_id expunge=1} + {/if} + {/if} + </span> +</td> +{/strip} |
