flag —
Attribute | Pos. | Req. | Default | Description |
---|---|---|---|---|
value | ||||
status | ||||
table | ||||
show | ||||
interpolate | 0 | interpolate output? | ||
hide | 0 | Hide the tag return value? |
Interchange 5.9.0:
Source: code/SystemTag/flag.coretag
Lines: 17
# 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: flag.coretag,v 1.5 2007-03-30 23:40:49 pajamian Exp $ UserTag flag Order type UserTag flag addAttr UserTag flag attrAlias tables table UserTag flag attrAlias flag type UserTag flag attrAlias name type UserTag flag PosNumber 1 UserTag flag Version $Revision: 1.5 $ UserTag flag MapRoutine Vend::Interpolate::flag
Source: lib/Vend/Interpolate.pm
Lines: 1873
sub flag { my($flag, $opt, $text) = @_; $flag = lc $flag; if(! $text) { ($flag, $text) = split /\s+/, $flag; } my $value = defined $opt->{value} ? $opt->{value} : 1; my $fmt = $opt->{status} || ''; my @status; #::logDebug("tag flag=$flag text=$text value=$value opt=". uneval_it($opt)); if($flag eq 'write' || $flag eq 'read') { my $arg = $opt->{table} || $text; $value = 0 if $flag eq 'read'; my (@args) = Text::ParseWords::shellwords($arg); my $dbname; foreach $dbname (@args) { # Handle table:column:key $dbname =~ s/:.*//; #::logDebug("tag flag write $dbname=$value"); $Vend::WriteDatabase{$dbname} = $value; } } elsif($flag =~ /^transactions?/i) { my $arg = $opt->{table} || $text; my (@args) = Text::ParseWords::shellwords($arg); my $dbname; foreach $dbname (@args) { # Handle table:column:key $dbname =~ s/:.*//; $Vend::TransactionDatabase{$dbname} = $value; $Vend::WriteDatabase{$dbname} = $value; # we can't do anything else if in Safe next if $MVSAFE::Safe; # Now we close and reopen my $db = database_exists_ref($dbname) or next; if($db->isopen()) { # need to reopen in transactions mode. $db->close_table(); $db->suicide(); $db = database_exists_ref($dbname); $db = $db->ref(); } $Db{$dbname} = $db; $Sql{$dbname} = $db->dbh() if $db->can('dbh'); } } elsif($flag eq 'commit' || $flag eq 'rollback') { my $arg = $opt->{table} || $text; $value = 0 if $flag eq 'rollback'; my $method = $value ? 'commit' : 'rollback'; my (@args) = Text::ParseWords::shellwords($arg); my $dbname; foreach $dbname (@args) { # Handle table:column:key $dbname =~ s/:.*//; #::logDebug("tag commit $dbname=$value"); my $db = database_exists_ref($dbname); next unless $db->isopen(); next unless $db->config('Transactions'); if( ! $db ) { logError("attempt to $method on unknown database: %s", $dbname); return undef; } if( ! $db->$method() ) { logError("problem doing $method for table: %s", $dbname); return undef; } } } elsif($flag eq 'checkhtml') { $Vend::CheckHTML = $value; @status = ("Set CheckHTML flag: %s", $value); } else { @status = ("Unknown flag operation '%s', ignored.", $flag); $status[0] = $opt->{status} if $opt->{status}; logError( @status ); } return '' unless $opt->{show}; $status[0] = $opt->{status} if $opt->{status}; return errmsg(@status); }