Various changes not checked in previously because source forge was down.

This commit is contained in:
JT Smith 2002-11-18 00:12:33 +00:00
parent a06ad50cac
commit 8966e401c3
8 changed files with 298 additions and 46 deletions

View file

@ -134,7 +134,74 @@ insert into international (internationalId,languageId,namespace,message,lastUpda
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (805,1,'WebGUI','Delete this style.', 1037075787);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (804,1,'WebGUI','Copy this style.', 1037075775);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (803,1,'WebGUI','Edit this style.', 1037075751);
insert into incrementer values ("Survey_id",1000);
alter table Survey_answer change wobjectId Survey_id int;
alter table Survey_question change wobjectId Survey_id int;
alter table Survey_response change wobjectId Survey_id int;
alter table Survey add column Survey_id int not null;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (74,1,'Survey','Are you certain you wish to delete all the responses?', 1037574455);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (73,1,'Survey','Delete all the responses.', 1037573893);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (72,1,'Survey','Are you certain you wish to delete this user\'s responses?', 1037573460);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (71,1,'Survey','Grade Book', 1037573252);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (70,1,'Survey','Individual Responses', 1037573240);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (69,1,'Survey','Delete this user\'s responses.', 1037573082);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (68,1,'Survey','View reports and exports.', 1037560492);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (67,1,'Survey','User', 1037558860);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (66,1,'Survey','Responses', 1037557127);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (65,1,'Survey','Export composite summary.', 1037556821);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (64,1,'Survey','Export responses.', 1037556721);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (63,1,'Survey','Export questions.', 1037556710);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (62,1,'Survey','Export answers.', 1037556697);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (61,1,'Survey','View grade book.', 1037556642);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (60,1,'Survey','Back to survey.', 1037556626);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (59,1,'Survey','View statistical overview.', 1037556614);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (58,1,'Survey','Statistical Overview', 1037556179);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (57,1,'Survey','Comments', 1037556124);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (56,1,'Survey','View comments.', 1037555787);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (55,1,'Survey','View responses.', 1037555778);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (54,1,'Survey','Percentage', 1037555267);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (53,1,'Survey','Responses', 1037555255);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (52,1,'Survey','Score', 1037506007);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (51,1,'Survey','Comments?', 1037499470);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (50,1,'Survey','Next', 1037499410);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (49,1,'Survey','You may not take this quiz at this time.', 1037499363);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (48,1,'Survey','You are not currently eligible to participate in this survey. ', 1037499301);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (47,1,'Survey','You have completed this quiz.', 1037499131);
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (46,1,'Survey','Thank you for taking the time to complete our survey.', 1037499049);
delete from international where languageId=1 and namespace='Survey' and internationalId=35;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (35,1,'Survey','Somewhat Agree', 1037498927);
delete from international where languageId=1 and namespace='Survey' and internationalId=34;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (34,1,'Survey','Agree', 1037498914);
delete from international where languageId=1 and namespace='Survey' and internationalId=38;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (38,1,'Survey','Strongly Disagree', 1037498903);
delete from international where languageId=1 and namespace='Survey' and internationalId=37;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (37,1,'Survey','Disagree', 1037498886);
delete from international where languageId=1 and namespace='Survey' and internationalId=36;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (36,1,'Survey','Somewhat Disagree', 1037498872);
delete from international where languageId=1 and namespace='Survey' and internationalId=33;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (33,1,'Survey','Strongly Agree', 1037498857);
delete from international where languageId=1 and namespace='Survey' and internationalId=31;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (31,1,'Survey','True', 1037498842);
delete from international where languageId=1 and namespace='Survey' and internationalId=32;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (32,1,'Survey','False', 1037498832);
delete from international where languageId=1 and namespace='Survey' and internationalId=42;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (42,1,'Survey','Occasionally', 1037574859);
delete from international where languageId=1 and namespace='Survey' and internationalId=39;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (39,1,'Survey','Not Applicable', 1037574804);
delete from international where languageId=1 and namespace='Survey' and internationalId=41;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (41,1,'Survey','Frequently', 1037574786);
delete from international where languageId=1 and namespace='Survey' and internationalId=43;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (43,1,'Survey','Never', 1037574752);
delete from international where languageId=1 and namespace='Survey' and internationalId=40;
insert into international (internationalId,languageId,namespace,message,lastUpdated) values (40,1,'Survey','Always', 1037574725);
delete from help where helpId=1 and namespace='FileManager';
insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (1, 'FileManager', 61, 71, '2,FileManager;21,WebGUI;');
delete from help where helpId=21 and namespace='WebGUI';
insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (21, 'WebGUI', 671, 626, '1,Article;1,FileManager;1,EventsCalendar;1,ExtraColumn;1,FAQ;1,Item;1,LinkList;19,WebGUI;1,MailForm;1,MessageBoard;1,Poll;1,Product;1,SiteMap;1,SQLReport;18,WebGUI;1,SyndicatedContent;1,USS;1,WobjectProxy;27,WebGUI;14,WebGUI;');
delete from help where helpId=47 and namespace='WebGUI';
insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (47, 'WebGUI', 697, 698, '1,Article;17,WebGUI;1,MessageBoard;1,Poll;2,WebGUI;1,USS;');
delete from help where helpId=2 and namespace='FileManager';
insert into help (helpId,namespace,titleId,bodyId,seeAlso) values (2, 'FileManager', 72, 73, '1,FileManager;');

View file

@ -160,8 +160,12 @@ sub checkList {
extras=>$_[0]->{extras},
checked=>$checked
});
$output .= ${$_[0]->{options}}{$key}.'    ';
$output .= '<br>' if ($_[0]->{vertical});
$output .= ${$_[0]->{options}}{$key};
if ($_[0]->{vertical}) {
$output .= "<br />\n";
} else {
$output .= " &nbsp; &nbsp;\n";
}
}
return $output;
}
@ -946,12 +950,6 @@ sub radio {
sub radioList {
my ($output, $key, $checked);
foreach $key (keys %{$_[0]->{options}}) {
$output .= '<input type="radio" name="'.$_[0]->{name}.'" value="'.$key.'"';
if ($_[0]->{value} eq $key) {
$checked = 1;
} else {
$checked = 0;
}
$output .= radio({
name=>$_[0]->{name},
value=>$key,
@ -959,8 +957,11 @@ sub radioList {
extras=>$_[0]->{extras}
});
$output .= ' '.$_[0]->{options}->{$key};
$output .= ' &nbsp; &nbsp;';
$output .= '<br>' if ($_[0]->{vertical});
if ($_[0]->{vertical}) {
$output .= "<br />\n";
} else {
$output .= " &nbsp; &nbsp;\n";
}
}
return $output;
}

View file

@ -1302,7 +1302,7 @@ sub radioList {
my ($name, $options, $label, $value, $vertical, $extras, $subtext, $uiLevel) =
rearrange([qw(name options label value vertical extras subtext uiLevel)], @p);
if (_uiLevelChecksOut($uiLevel)) {
$output = WebGUI::Form::checkList({
$output = WebGUI::Form::radioList({
"name"=>$name,
"options"=>$options,
"value"=>$value,

View file

@ -54,6 +54,10 @@ sub _submenu {
my (%menu);
tie %menu, 'Tie::IxHash';
%menu = %{$_[1]};
if ($session{form}{op} ne "viewHelp" && $session{form}{op} ne "viewHelpIndex") {
$menu{WebGUI::URL::page('op=editHelp&hid=new')} = "Add new help.";
$menu{WebGUI::URL::page('op=exportHelp')} = "Export help.";
}
if (($session{form}{op} eq "editHelp" && $session{form}{hid} ne "new") || $session{form}{op} eq "deleteHelp") {
$menu{WebGUI::URL::page('op=editHelpIndex&hid='.$session{form}{hid})} = "Edit this help.";
$menu{WebGUI::URL::page('op=deleteHelpIndex&hid='.$session{form}{hid})} = "Delete this help.";
@ -68,7 +72,7 @@ sub www_deleteHelp {
my $output = '<h1>Confirm</h1>Are you sure? Deleting help is never a good idea. <a href="'
.WebGUI::URL::page("op=deleteHelpConfirm&hid=".$session{form}{hid}."&namespace=".$session{form}{namespace})
.'">Yes</a> / <a href="'.WebGUI::URL::page("op=manageHelp").'">No</a><p>';
return _submen($output);
return _submenu($output,{});
}
#-------------------------------------------------------------------
@ -130,7 +134,7 @@ sub www_editHelp {
$f->select("seeAlso",\%data,"See Also",\@seeAlso,8,1);
$f->submit;
$output .= $f->print;
return _submenu($output);
return _submenu($output,{});
}
#-------------------------------------------------------------------
@ -194,10 +198,7 @@ sub www_manageHelp {
$output .= 'This interface is for WebGUI developers only. If you\'re not a developer, leave this alone. Also,
this interface works <b>ONLY</b> under MySQL and is not supported by Plain Black under any
circumstances.<p>';
$output .= '<a href="'.WebGUI::URL::page('op=editHelp&hid=new').'">Add new help.</a>';
$output .= ' &middot; ';
$output .= '<a href="'.WebGUI::URL::page('op=exportHelp').'">Export help.</a>';
$output .= '<p><table class="tableData">';
$output .= '<table class="tableData">';
$sth = WebGUI::SQL->read("select help.helpId,help.namespace,international.message from help,international
where help.titleId=international.internationalId and help.namespace=international.namespace
and international.languageId=1 order by international.message");
@ -212,7 +213,7 @@ sub www_manageHelp {
}
$sth->finish;
$output .= '</table>';
return _submenu($output);
return _submenu($output,{});
}
#-------------------------------------------------------------------

View file

@ -12,6 +12,7 @@ package WebGUI::Operation::Trash;
use Exporter;
use strict qw(vars subs);
use Tie::CPHash;
use WebGUI::Icon;
use WebGUI::Privilege;
use WebGUI::Session;
@ -23,11 +24,15 @@ our @EXPORT = qw(&www_purgeTrash &www_purgeTrashConfirm);
#-------------------------------------------------------------------
sub _purgeWobjects {
my ($b, $wobjectId, $namespace, $w, $cmd);
$b = WebGUI::SQL->read("select wobjectId, namespace from wobject where pageId=$_[0]");
while (($wobjectId,$namespace) = $b->array) {
$cmd = "WebGUI::Wobject::".$namespace;
$w = $cmd->new({wobjectId=>$wobjectId,namespace=>$namespace});
my (%properties, $base, $extended, $b, $wobjectId, $namespace, $w, $cmd);
tie %properties, 'Tie::CPHash';
$b = WebGUI::SQL->read("select * from wobject where pageId=$_[0]");
while ($base = $b->hashRef) {
$extended = WebGUI::SQL->quickHashRef("select * from ".$base->{namespace}."
where wobjectId=".$base->{wobjectId});
%properties = (%{$base}, %{$extended});
$cmd = "WebGUI::Wobject::".$properties{namespace};
$w = $cmd->new(\%properties);
$w->purge;
}
$b->finish;

View file

@ -20,6 +20,7 @@ use strict;
use Tie::IxHash;
use WebGUI::ErrorHandler;
use WebGUI::Session;
use WebGUI::Utility;
our @ISA = qw(Exporter);
our @EXPORT = qw(&quote &getNextId);
@ -45,8 +46,10 @@ our @EXPORT = qw(&quote &getNextId);
%hash = WebGUI::SQL->buildHash($sql);
$hashRef = WebGUI::SQL->buildHashRef($sql);
@arr = WebGUI::SQL->quickArray($sql);
$text = WebGUI::SQL->quickCSV($sql);
%hash = WebGUI::SQL->quickHash($sql);
$hashRef = WebGUI::SQL->quickHashRef($sql);
$text = WebGUI::SQL->quickTab($sql);
WebGUI::SQL->write($sql);
@ -336,6 +339,37 @@ sub quickArray {
}
#-------------------------------------------------------------------
=head2 quickCSV ( sql [, dbh ] )
Executes a query and returns a comma delimited text blob with column
headers.
=item sql
An SQL query.
=item dbh
By default this method uses the WebGUI database handler. However,
you may choose to pass in your own if you wish.
=cut
sub quickTab {
my ($sth, $output, @data);
$sth = WebGUI::SQL->new($_[1],$_[2]);
$output = join(",",$sth->getColumnNames)."\n";
while (@data = $sth->array) {
makeArrayCommaSafe(\@data);
$output .= join(",",@data)."\n";
}
$sth->finish;
return $output;
}
#-------------------------------------------------------------------
=head2 quickHash ( sql [, dbh ] )
@ -393,6 +427,36 @@ sub quickHashRef {
#-------------------------------------------------------------------
=head2 quickTab ( sql [, dbh ] )
Executes a query and returns a tab delimited text blob with column
headers.
=item sql
An SQL query.
=item dbh
By default this method uses the WebGUI database handler. However,
you may choose to pass in your own if you wish.
=cut
sub quickTab {
my ($sth, $output, @data);
$sth = WebGUI::SQL->new($_[1],$_[2]);
$output = join("\t",$sth->getColumnNames)."\n";
while (@data = $sth->array) {
makeArrayTabSafe(\@data);
$output .= join("\t",@data)."\n";
}
$sth->finish;
return $output;
}
#-------------------------------------------------------------------
=head2 quote ( string )
Returns a string quoted and ready for insert into the database.

View file

@ -15,7 +15,8 @@ use strict;
use Tie::IxHash;
our @ISA = qw(Exporter);
our @EXPORT = qw(&commify &randomizeArray &sortHashDescending &sortHash &isIn &randint &round);
our @EXPORT = qw(&makeTabSafe &makeArrayTabSafe &randomizeHash &commify &randomizeArray
&sortHashDescending &sortHash &isIn &makeCommaSafe &makeArrayCommaSafe &randint &round);
#-------------------------------------------------------------------
sub commify {
@ -45,6 +46,42 @@ sub isIn {
}
}
#-------------------------------------------------------------------
sub makeArrayCommaSafe {
my ($array) = $_[0];
my ($i);
for ($i = @$array; --$i;) {
$$array[$i] = makeCommaSafe($$array[$i]);
}
}
#-------------------------------------------------------------------
sub makeArrayTabSafe {
my ($array) = $_[0];
my ($i);
for ($i = @$array; --$i;) {
$$array[$i] = makeTabSafe($$array[$i]);
}
}
#-------------------------------------------------------------------
sub makeCommaSafe {
my ($text) = $_[0];
$text =~ s/\n/ /g;
$text =~ s/\r/ /g;
$text =~ s/,/;/g;
return $text;
}
#-------------------------------------------------------------------
sub makeTabSafe {
my ($text) = $_[0];
$text =~ s/\n/ /g;
$text =~ s/\r/ /g;
$text =~ s/\t/ /g;
return $text;
}
#-------------------------------------------------------------------
sub randint {
my ($low, $high) = @_;
@ -67,6 +104,21 @@ sub randomizeArray {
}
}
#-------------------------------------------------------------------
sub randomizeHash {
my ($hash, $key, @keys, %temp);
$hash = $_[0];
foreach $key (keys %{$_[0]}) {
push(@keys,$key);
}
randomizeArray(\@keys);
tie %temp, 'Tie::IxHash';
foreach $key (@keys) {
$temp{$key} = $hash->{$key};
}
return \%temp;
}
#-------------------------------------------------------------------
sub round {
return sprintf("%.0f", $_[0]);

View file

@ -376,7 +376,7 @@ sub inDateRange {
#-------------------------------------------------------------------
=head2 moveCollateralDown ( tableName, idName, id )
=head2 moveCollateralDown ( tableName, idName, id [ , setName, setValue ] )
Moves a collateral data item down one position. This assumes that the
collateral data table has a column called "wobjectId" that identifies
@ -396,25 +396,41 @@ sub inDateRange {
An integer that uniquely identifies this collateral data item.
=item setName
By default this method assumes that the collateral will have a
wobject id in the table. However, since there is not always a wobject
id to separate one data set from another, you may specify another
field to do that.
=item setValue
The value of the column defined by "setName" to select a data set
from.
=cut
### NOTE: There is a redundant use of wobjectId in some of these statements on purpose to support
### two different types of collateral data.
sub moveCollateralDown {
my ($id, $seq);
($seq) = WebGUI::SQL->quickArray("select sequenceNumber from $_[1] where $_[2]=$_[3] and wobjectId=".$_[0]->get("wobjectId"));
($id) = WebGUI::SQL->quickArray("select $_[2] from $_[1] where wobjectId=".$_[0]->get("wobjectId")
." and sequenceNumber=$seq+1 group by wobjectId");
my ($id, $seq, $setName, $setValue);
$setName = $_[4] || "wobjectId";
$setValue = $_[5] || $_[0]->get($setName);
($seq) = WebGUI::SQL->quickArray("select sequenceNumber from $_[1] where $_[2]=$_[3] and $setName=".quote($setValue));
($id) = WebGUI::SQL->quickArray("select $_[2] from $_[1] where $setName=".quote($setValue)
." and sequenceNumber=$seq+1 group by $setName");
if ($id ne "") {
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber+1 where $_[2]=$_[3] and wobjectId=".$_[0]->get("wobjectId"));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber-1 where $_[2]=$id and wobjectId=".$_[0]->get("wobjectId"));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber+1 where $_[2]=$_[3] and $setName="
.quote($setValue));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber-1 where $_[2]=$id and $setName="
.quote($setValue));
}
}
#-------------------------------------------------------------------
=head2 moveCollateralUp ( tableName, idName, id )
=head2 moveCollateralUp ( tableName, idName, id [ , setName, setValue ] )
Moves a collateral data item up one position. This assumes that the
collateral data table has a column called "wobjectId" that identifies
@ -434,19 +450,35 @@ sub moveCollateralDown {
An integer that uniquely identifies this collateral data item.
=item setName
By default this method assumes that the collateral will have a
wobject id in the table. However, since there is not always a wobject
id to separate one data set from another, you may specify another
field to do that.
=item setValue
The value of the column defined by "setName" to select a data set
from.
=cut
### NOTE: There is a redundant use of wobjectId in some of these statements on purpose to support
### two different types of collateral data.
sub moveCollateralUp {
my ($id, $seq);
($seq) = WebGUI::SQL->quickArray("select sequenceNumber from $_[1] where $_[2]=$_[3] and wobjectId=".$_[0]->get("wobjectId"));
($id) = WebGUI::SQL->quickArray("select $_[2] from $_[1] where wobjectId=".$_[0]->get("wobjectId")
." and sequenceNumber=$seq-1 group by wobjectId");
my ($id, $seq, $setValue, $setName);
$setName = $_[4] || "wobjectId";
$setValue = $_[5] || $_[0]->get($setName);
($seq) = WebGUI::SQL->quickArray("select sequenceNumber from $_[1] where $_[2]=$_[3] and $setName=".quote($setValue));
($id) = WebGUI::SQL->quickArray("select $_[2] from $_[1] where $setName=".quote($setValue)
." and sequenceNumber=$seq-1 group by $setValue");
if ($id ne "") {
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber-1 where $_[2]=$_[3] and wobjectId=".$_[0]->get("wobjectId"));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber+1 where $_[2]=$id and wobjectId=".$_[0]->get("wobjectId"));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber-1 where $_[2]=$_[3] and $setName="
.quote($setValue));
WebGUI::SQL->write("update $_[1] set sequenceNumber=sequenceNumber+1 where $_[2]=$id and $setName="
.quote($setValue));
}
}
@ -547,7 +579,7 @@ sub purge {
#-------------------------------------------------------------------
=head2 reorderCollateral ( tableName, keyName )
=head2 reorderCollateral ( tableName, keyName [ , setName, setValue ] )
Resequences collateral data. Typically useful after deleting a
collateral item to remove the gap created by the deletion.
@ -560,14 +592,27 @@ sub purge {
The key column name used to determine which data needs sorting within the table.
=item setName
Defaults to "wobjectId". This is used to define which data set to
reorder.
=item setValue
Used to define which data set to reorder. Defaults to the wobjectId
for this instance. Defaults to the value of "setName" in the wobject
properties.
=cut
sub reorderCollateral {
my ($sth, $i, $id);
my ($sth, $i, $id, $setName, $setValue);
$i = 0;
$sth = WebGUI::SQL->read("select $_[2] from $_[1] where wobjectId=".$_[0]->get("wobjectId")." order by sequenceNumber");
$setName = $_[3] || "wobjectId";
$setValue = $_[4] || $_[0]->get($setName);
$sth = WebGUI::SQL->read("select $_[2] from $_[1] where $setName=".quote($setValue)." order by sequenceNumber");
while (($id) = $sth->array) {
WebGUI::SQL->write("update $_[1] set sequenceNumber=$i where wobjectId=".$_[0]->get("wobjectId")." and $_[2]=$id");
WebGUI::SQL->write("update $_[1] set sequenceNumber=$i where $setName=".quote($setValue)." and $_[2]=$id");
$i++;
}
$sth->finish;
@ -647,7 +692,7 @@ sub set {
#-----------------------------------------------------------------
=head2 setCollateral ( tableName, keyName, properties [ , useSequenceNumber, useWobjectId ] )
=head2 setCollateral ( tableName, keyName, properties [ , useSequenceNumber, useWobjectId, setName, setValue ] )
Performs and insert/update of collateral data for any wobject's
collateral data. Returns the primary key value for that row of
@ -682,20 +727,37 @@ sub set {
upon creation of a new row. Note that this means the table better
have a wobjectId column. Defaults to "1".
=item setName
If this collateral data set is not grouped by wobjectId, but by another
column then specify that column here. The useSequenceNumber parameter
will then use this column name instead of wobjectId to generate
the sequenceNumber.
=item setValue
If you've specified a setName you may also set a value for that set.
Defaults to the value for this id from the wobject properties.
=item
=cut
sub setCollateral {
my ($key, $sql, $seq, $dbkeys, $dbvalues, $counter);
my ($class, $table, $keyName, $properties, $useSequence, $useWobjectId) = @_;
my ($class, $table, $keyName, $properties, $useSequence, $useWobjectId, $setName, $setValue) = @_;
$counter = 0;
$setName = $setName || "wobjectId";
$setValue = $setValue || $_[0]->get($setName);
if ($properties->{$keyName} eq "new" || $properties->{$keyName} eq "") {
$properties->{$keyName} = getNextId($keyName);
$sql = "insert into $table (";
$dbkeys = "";
$dbvalues = "";
unless ($useSequence eq "0") {
($seq) = WebGUI::SQL->quickArray("select max(sequenceNumber) from $table
where wobjectId=".$_[0]->get("wobjectId"));
where $setName=".quote($setValue));
$properties->{sequenceNumber} = $seq+1;
}
unless ($useWobjectId eq "0") {