DBIx-Web

 view release on metacpan or  search on metacpan

history  view on Meta::CPAN

# 2006-08-31 changed cgiQuery(), -qkey=>{[{}]} partial case excluded to cgiQKey()
# 2006-08-30 new dsdQuot()
# 2006-08-30 changed dbiSel()/dbiKeyWhr()/htmlMenu() to nest hashes within arrays recursivelly
# 2006-08-30 fixed ugnames(name) using local -userln undef
# 2006-08-24 changed htmlMQH() - added -xpar, -xkey
# 2006-08-24 fixed ugnames(username)
# 2006-08-24 changed and corrected -frmLso1C, -frmLso2C specifications
# 2006-08-24 new htmlMQH() for -frmLso1C
# 2006-08-23 added htmlMenu() 'recNew' for 'recList'
# 2006-08-23 new cgiQDflt(); 'cgiQuery', 'cgiForm' optimized; 'htmlHidden' changed
# 2006-08-15 new cgiQInherit(), called before query formulas
# 2006-08-15 new recUnion()
# 2006-08-14 changed cgiForm, cgiQuery, cgiList: local $c->{-cmdt}, $c->{-cmdf} added for formulas
# 2006-08-14 tfvReferences() fixed, 'l' flag not needed when -data/-display in table query
# 2006-08-14 changed field spec sub{$_}({self},{field},?edit,?query...) -> ({self},{field},'eqp',...)
# 2006-08-12 changed field spec sub{$_}({self},{field},?edit,?query,value) -> (...{record})
# 2006-08-12 changed -fdclass, -fdstyle, -fhclass, -fhstyle subs to sub{$_}({self},{field},?edit,?query,value)
# 2006-08-12 changed -ldclass, -ldstyle, -lsthtml subs to sub{$_}($self,, ?hyperlink,, cursor, [record])
# 2006-08-12 changed -ddlb to sub{$_}(fld,edit,query,$_=value)
# 2006-08-12 new -fnhtml, -fnhref, -fvhref
# 2006-08-11 changed 'htmlHidden' QBF: 'frmLso' and 'frmLsc' added
# 2006-08-11 changed 'cgiQuery' defaults and parameters joint usage: 'frmLso', 'qkey', 'qwhere', 'qurole'
# 2006-08-10 new -cgiRun0A, -udisp

lib/DBIx/Web.pm  view on Meta::CPAN

 # ,-rvcUpdBy	=>'fieldname'	# field for user name	record updated	by
 # ,-rvcUpdWhen	=>'fieldname'	# field for time	record updated	when
 # ,-rvcVerWhen	=>'fieldname'	# field for time	version created when
 # ,-rvcActPtr	=>'fieldname'	# field for actual record version pointer
 # ,-rvcChgState=>[fld=>states]	# changeble states of record
 # ,-rvcCkoState=>[fld=>state ]	# check-out state  of record
 # ,-rvcDelState=>[fld=>state ]	# deleted   state  of record

				# Record File Attachments rooles:
   ,-rfa	=>1		# switch on
 # ,-rfdName	=>sub{}		# 'rfdName'  formula for key processing

                                # Record ID References
 # ,-ridRef	=>[]		# reference fields

				# Record Manipulation Triggers:
 # ,-recTrim0A	=>sub{}		# 'recTrim' trigger before	UI action
 # ,-recForm	=>'form'|sub{}	# 'recForm' UI implementation
 # ,-recForm0A	=>sub{}		# 'recForm' trigger before	UI action
 # ,-recForm0C	=>sub{}		# 'recForm' trigger before	command
 # ,-recForm0R	=>sub{}		# 'recForm' trigger before	row

lib/DBIx/Web.pm  view on Meta::CPAN

			,($u
			? $s->ugnames($u)
			: $s->ugnames())
			, $_[4])
	: ())
}


sub dbiSel {    # Select records from database
		# -select	=>ALL, DISTINCT, DISTINCTROW, STRAIGHT_JOIN, HIGH_PRIORITY, SQL_SMALL_RESULT
		# -data		=>[fields] | [field, [field=>alias], {-fld=>alias, -expr=>formula,..}]
		# -table	=>[tables] | [[table=>alias], [table=>alias,join]]
		# -join[01]	=>string
		# -join		=>string
		# -join2	=>string
		# -key		=>{field=>value}
		# -where	=>string   | [strings]
		# -ftext	=>string
		# -version	=>0|1
		# -order	=>string   | [field, [field=>order]]
		# -keyord	=>-(a|f|d|b)(all|eq|ge|gt|le|lt)

lib/DBIx/Web.pm  view on Meta::CPAN

		delete $c->{$k} if !defined($c->{$k});
	}
 }
 $s
}


sub cgiQInherit { # Inherit cgi query attributes if needed
 my($s, $q, $qm, $tm) =@_;	# (self, query, meta, table meta, table query)
 # use local @$q{qw(-meta -field -data -display -order -keyord)} =@$q{qw(-meta -field -data -display -order -keyord)};
 #  meta - process -query specification - fill inheritance for formulas
 # !meta - process request formed - fill metadata for cgiList
 $tm =	  !$q->{-table}
	? $tm
	: !ref($q->{-table}) && ($q->{-table} =~/^([^\s]+)/)
	? $_[0]->{-form}->{$1} || $_[0]->mdeTable($1)
	: ref($q->{-table}->[0])
	? $_[0]->mdeTable($q->{-table}->[0]->[0])
	: ($q->{-table}->[0] =~/^([^\s]+)/)  && $_[0]->mdeTable($1)
	if !$tm;
 # return(&{$s->{-die}}("cgiQInherit -> no table meta" .$s->{-ermd})) if !$tm;

lib/DBIx/Web.pod  view on Meta::CPAN

=item -env

	=> not exists || {env var=>value,...}

(C<Creation and Setup>)
Assignment or deletion of environment variables within C<set>.


=item -expr

	=> not exists || database name or formula

(C<Table/Form Description>, C<Field Description>)
Table or Field name as used inside SQL database engine,
or SQL expression.
Table name for application is explained as C<-table> key.
Field name for application is explained as C<-fld>.


=item -fdclass

lib/DBIx/Web.pod  view on Meta::CPAN

Relative filename will be based on 'C<-path>/psp/' with
C<-url> as default base URL.
See C<Perl Script Pages>.


=item psParse (? '-e', perl script source string, ? base URL) -> perl source string

C<User Interface>.
Converts HTML with embedded perl into perl source with C<output> calls.
'e'mbeddable html option prevents generation output of html headers.
Perl code markers are: '<% perl formula %>', '<script> perl script </script>', '<script language=PerlScript|Perl runat=Server>'.
'@_' considered to contain application object, options, filename, base URL, additional args.
See C<Perl Script Pages>.


=item pthCln (path) -> success

C<File Store>.
Removes path if empty.
Recourses bottom-up. 
Empty path may contain '.htaccess' files.

lib/DBIx/Web.pod  view on Meta::CPAN

C<Database Operation>.
Rollbacks changes to database. Should be called from $SIG{__DIE__}, 
see C<set> source for example.
See also C<recCommit>.


=item recSel (
-table => table name || 'FROM clause' || [table name, [table, alias], [table, alias, join],...],
? -join[01] => 'left or right addition to FROM clause'
? -select => 'ALL' || 'DISTINCT' || 'DISTINCTROW' || 'STRAIGHT_JOIN'...,
? -data => [field, [field => alias], {-fld => alias, -expr => formula,..},...],
? -key => {field name => value,...},
? -where => 'WHERE clause' || ['WHERE clause',...],
? -urole => 'author'||'authors'||'actors'||'principals'||'user'||'users',
? -uname => 'role username'
? -ftext => 'full-text search string',
? -version => false ||true,
? -group => 'GROUP BY clause' || ['GROUP BY clause'...]
? -order => string || [field, [field => order],...],
? -keyord => -(a|f|d|b)(all|eq|ge|gt|le|lt),
? -filter=> sub{}(cursor, undef, {field=>value,...})



( run in 0.424 second using v1.01-cache-2.11-cpan-3cd7ad12f66 )