meta-record —
Attribute | Pos. | Req. | Default | Description |
---|---|---|---|---|
interpolate | 0 | interpolate output? | ||
hide | 0 | Hide the tag return value? |
Interchange 5.9.0:
Source: code/UI_Tag/meta_record.coretag
Lines: 13
# Copyright 2002-2007 Interchange Development Group and others # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. See the LICENSE file for details. # # $Id: meta_record.coretag,v 1.5 2007-03-30 23:40:54 pajamian Exp $ UserTag meta-record Order item view source UserTag meta-record attrAlias table item UserTag meta-record Version $Revision: 1.5 $ UserTag meta-record MapRoutine Vend::Table::Editor::meta_record
Source: lib/Vend/Table/Editor.pm
Lines: 720
sub meta_record { my ($item, $view, $mdb, $extended_only, $overlay) = @_; #::logDebug("meta_record: item=$item view=$view mdb=$mdb"); return undef unless $item; my $mtable; if(! ref ($mdb)) { $mtable = $mdb || $::Variable->{UI_META_TABLE} || 'mv_metadata'; #::logDebug("meta_record mtable=$mtable"); $mdb = database_exists_ref($mtable) or return undef; } #::logDebug("meta_record has an item=$item and mdb=$mdb"); my $record; my $mkey = $view ? "${view}::$item" : $item; if( ref ($mdb) eq 'HASH') { $record = $mdb; } else { $record = $mdb->row_hash($mkey); #::logDebug("used mkey=$mkey to select record=$record"); } $record ||= $mdb->row_hash($item) if $view and $mdb; #::logDebug("meta_record record=$record"); return undef if ! $record; # Get additional settings from extended field, which is a serialized # hash my $hash; if(! $record->{extended}) { return undef if $extended_only; } else { ## From Vend::Util $hash = get_option_hash($record->{extended}); $record = {} if $extended_only; if(ref $hash eq 'HASH') { @$record{keys %$hash} = values %$hash; } else { undef $hash; return undef if $extended_only; } } # Allow view settings to be placed in the extended area if($view and $hash and $hash->{view}) { my $view_hash = $record->{view}{$view}; ref $view_hash and @$record{keys %$view_hash} = values %$view_hash; } # Allow overlay of certain settings if($overlay and $record->{overlay}) { my $ol_hash = $record->{overlay}{$overlay}; Vend::Util::copyref($ol_hash, $record) if $ol_hash; } #::logDebug("return meta_record=" . ::uneval($record) ); return $record; }