finally, the last of this round of syntax fixes.

This commit is contained in:
Matthew Wilson 2006-01-15 21:02:00 +00:00
parent 83e071fde1
commit 128f265678
24 changed files with 194 additions and 164 deletions

View file

@ -40,11 +40,11 @@ sub definition {
},
eventStartDate => {
fieldType=>"dateTime",
defaultValue=$session->datetime->time()
defaultValue=>$session->datetime->time()
},
eventEndDate => {
fieldType=>"dateTime",
defaultValue=$session->datetime->time()
defaultValue=>$session->datetime->time()
},
EventsCalendar_recurringId => {
fieldType=>"hidden",

View file

@ -159,7 +159,7 @@ sub getEditForm {
);
$tabform->getTab("properties")->text (
-name=>"showPage",
-label=$i18n->get('show page'),
-label=>$i18n->get('show page'),
-value=>$self->getValue("showPage"),
-hoverHelp=>$i18n->get('show page description'),
);

View file

@ -106,7 +106,8 @@ sub edit {
}
my $clause;
if ($self->session->user->isInGroup(3)) {
my $contentManagers = $group->getUsers(4,1);
my $group = WebGUI::Group->new($self->session,4);
my $contentManagers = $group->getUsers(1);
push (@$contentManagers, $self->session->user->userId);
$clause = "userId in (".$self->session->db->quoteAndJoin($contentManagers).")";
} else {
@ -160,7 +161,7 @@ sub editSave {
$className = "WebGUI::Asset::File::Image" if ($storage->isImage($filename));
foreach my $definition (@{$className->definition}) {
foreach my $property (keys %{$definition->{properties}}) {
$data{$property} = $self->session->form->process(
$data{$property} = $class->session->form->process(
$property,
$definition->{properties}{$property}{fieldType},
$definition->{properties}{$property}{defaultValue}
@ -180,7 +181,7 @@ sub editSave {
$newAsset->commit;
}
$tempStorage->delete;
return $class->getParent->www_manageAssets if ($self->session->form->process("proceed") eq "manageAssets");
return $class->getParent->www_manageAssets if ($class->session->form->process("proceed") eq "manageAssets");
return $class->getParent->www_view;
}

View file

@ -663,7 +663,7 @@ sub www_getUserPrefsForm {
$f->submit({extras=>'className="nothing"'});
$f->raw('</table>');
my $tags;
foreach my $tag (@{$session{page}{head}{javascript}}) {
foreach my $tag (@{$self->session->style->{_javascript}}) {
$tags .= '<script';
foreach my $name (keys %{$tag}) {
$tags .= ' '.$name.'="'.$tag->{$name}.'"';
@ -708,7 +708,7 @@ sub www_saveUserPrefs {
$self->uncacheOverrides;
my $i18n = WebGUI::International->new($self->session);
my $u = WebGUI::User->new($self->discernUserId);
foreach my $fieldId (keys %{$session{form}}) {
foreach my $fieldId ($self->request->params) {
my $field = WebGUI::ProfileField->new($self->session,$fieldId);
next unless $field;
$data{$field->getId} = $field->formProcess;

View file

@ -98,7 +98,7 @@ Returns the TabForm object that will be used in generating the edit page for thi
sub getEditForm {
my $self = shift;
my $tabform = $self->SUPER::getEditForm();
my $i18n = WebGUI::International->new($session,"Asset_Snippet");
my $i18n = WebGUI::International->new($self->session,"Asset_Snippet");
my %mimeTypes;
foreach ('text/html','text/css','text/javascript','text/plain','text/xml','application/xml') {
$mimeTypes{$_}=$_;

View file

@ -575,8 +575,8 @@ sub processPropertiesFromFormPost {
});
}
if ($self->session->form->process("fid") eq "new") { # hack to get proceed to work.
$session->stow->set('whatNext',$self->session->form->process("proceed"));
} else { $session->stow->set('whatNext','nothing'); }
$self->session->stow->set('whatNext',$self->session->form->process("proceed"));
} else { $self->session->stow->set('whatNext','nothing'); }
}
#-------------------------------------------------------------------
@ -1054,7 +1054,7 @@ sub www_process {
userId=>$self->session->user->userId,
username=>$self->session->user->username,
ipAddress=>$self->session->env->get("REMOTE_ADDR"),
submissionDate=$self->session->datetime->time()
submissionDate=>$self->session->datetime->time()
},0);
my ($var, %row, @errors, $updating, $hadErrors);
$var->{entryId} = $entryId;

View file

@ -147,7 +147,7 @@ sub getEditForm {
%options = (
"last"=>$i18n->get(85),
"after12"=>$i18n->get(86),
"after9"=$i18n->get(87),
"after9"=>$i18n->get(87),
"after6"=>$i18n->get(88),
"after3"=>$i18n->get(89),
"current"=>$i18n->get(82)

View file

@ -51,6 +51,7 @@ where users.userId=?";
#-------------------------------------------------------------------
sub _fetchDepartments {
my $self = shift;
return $self->session->db->buildArray("select fieldData from userProfileData where fieldName='department' GROUP by fieldData");
}
@ -404,7 +405,7 @@ sub www_viewReport {
-value=>$endDate
);
my %depHash;
%depHash = map { $_ => $_ } (_fetchDepartments(),
%depHash = map { $_ => $_ } ($self->_fetchDepartments(),
$i18n->get('all departments'));
my $defaultDepartment = $self->session->form->process("selectDepartment")
|| $i18n->get('all departments');

View file

@ -540,12 +540,13 @@ sub _getContentTypes {
#-------------------------------------------------------------------
sub _getSearchablePages {
my $self = shift;
my $searchRoot = shift;
my %pages;
my $sth = $self->session->db->read("select assetId from asset where parentId = ".$self->session->db->quote($searchRoot));
while (my %data = $sth->hash) {
$pages{$data{assetId}} = 1;
%pages = (%pages, _getSearchablePages($data{assetId}) );
%pages = (%pages, $self->_getSearchablePages($data{assetId}) );
}
return %pages;
}

View file

@ -154,6 +154,7 @@ sub hasRated {
#-------------------------------------------------------------------
sub incrementCounter {
my $self = shift;
my $listingId = shift;
my $counter = shift;
my ($lastIp) = $self->session->db->quickArray("select ".$counter."LastIp from Matrix_listing where listingId = ".$self->session->db->quote($listingId));
@ -211,7 +212,7 @@ sub www_approveListing {
#-------------------------------------------------------------------
sub www_click {
my $self = shift;
incrementCounter($self->session->form->process("listingId"),"clicks");
$self->incrementCounter($self->session->form->process("listingId"),"clicks");
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
if ($self->session->form->process("m")) {
$self->session->http->setRedirect($listing->{manufacturerUrl});
@ -238,7 +239,7 @@ sub www_compare {
return $self->processStyle($self->processTemplate(\%var,$self->get("compareTemplateId")));
}
foreach my $cms (@cmsList) {
incrementCounter($cms,"compares");
$self->incrementCounter($cms,"compares");
my $data = $self->session->db->quickHashRef("select listingId, productName, versionNumber, lastUpdated
from Matrix_listing where listingId=".$self->session->db->quote($cms));
push(@prodcol, {
@ -305,6 +306,7 @@ sub www_compare {
#-------------------------------------------------------------------
sub www_copy {
my $self = shift;
my $i18n = WebGUI::International->new($self->session,'Asset_Matrix');
return $i18n->get('no copy');
}
@ -593,8 +595,8 @@ sub www_editListingSave {
url=>$self->session->form->process("productName"),
groupIdView=>7,
groupIdEdit=>3,
startDate=$self->session->datetime->time(),
endDate=$self->session->datetime->time()+60*60*24*365*15,
startDate=>$self->session->datetime->time(),
endDate=>$self->session->datetime->time()+60*60*24*365*15,
displayLastReply => 0,
allowReplies => 1,
threadsPerPage => 30,
@ -766,7 +768,7 @@ sub www_rate {
$lastRating = $self->session->form->process($category);
}
return $self->www_viewDetail("",1) if ($hasRated || $sameRating); # Throw out ratings that are all the same number, or if the user rates twice.
$self->setRatings($self->session->form->process("listingId"),$session{form});
$self->setRatings($self->session->form->process("listingId"),$self->session->form->paramsHashRef);
return $self->www_viewDetail;
}
@ -977,7 +979,7 @@ sub www_viewDetail {
}
$var{'email.wasSent'} = 1;
} else {
incrementCounter($listingId,"views");
$self->incrementCounter($listingId,"views");
}
$var{'edit.url'} = $self->formatURL("editListing",$listingId);
$var{id} = $listingId;

View file

@ -23,7 +23,7 @@ our @ISA = qw(WebGUI::Asset::Wobject);
#-------------------------------------------------------------------
sub addAnswer {
my $i18n = WebGUI::International->new($self->session,'Asset_Survey');
my $i18n = WebGUI::International->new($_[0]->session,'Asset_Survey');
$_[0]->setCollateral("Survey_answer","Survey_answerId",{
Survey_id=>$_[0]->get("Survey_id"),
Survey_questionId=>$_[2],
@ -571,12 +571,12 @@ sub processPropertiesFromFormPost {
}
#-------------------------------------------------------------------
sub purge {
my ($count) = $self->session->db->quickArray("select count(*) from Survey where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
my ($count) = $_[0]->session->db->quickArray("select count(*) from Survey where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
if ($count < 2) { ### Check for other wobjects using this survey.
$self->session->db->write("delete from Survey_question where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$self->session->db->write("delete from Survey_answer where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$self->session->db->write("delete from Survey_response where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$self->session->db->write("delete from Survey_section where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$_[0]->session->db->write("delete from Survey_question where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
$_[0]->session->db->write("delete from Survey_answer where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
$_[0]->session->db->write("delete from Survey_response where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
$_[0]->session->db->write("delete from Survey_section where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
}
$_[0]->SUPER::purge();
}
@ -694,79 +694,79 @@ sub view {
#-------------------------------------------------------------------
sub www_deleteAnswerConfirm {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
my ($answerCount) = $self->session->db->quickArray("select count(*) from Survey_answer where Survey_questionId=".$self->session->db->quote($self->session->form->process("qid")));
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
my ($answerCount) = $_[0]->session->db->quickArray("select count(*) from Survey_answer where Survey_questionId=".$_[0]->session->db->quote($_[0]->session->form->process("qid")));
return $_[0]->i18n("cannot delete the last answer") unless($answerCount);
$self->session->db->write("delete from Survey_questionResponse where Survey_answerId=".$self->session->db->quote($self->session->form->process("aid")));
$_[0]->deleteCollateral("Survey_answer","Survey_answerId",$self->session->form->process("aid"));
$_[0]->session->db->write("delete from Survey_questionResponse where Survey_answerId=".$_[0]->session->db->quote($_[0]->session->form->process("aid")));
$_[0]->deleteCollateral("Survey_answer","Survey_answerId",$_[0]->session->form->process("aid"));
$_[0]->reorderCollateral("Survey_answer","Survey_answerId","Survey_id");
return $_[0]->www_editQuestion;
}
#-------------------------------------------------------------------
sub www_deleteQuestionConfirm {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$self->session->db->write("delete from Survey_answer where Survey_questionId=".$self->session->db->quote($self->session->form->process("qid")));
$self->session->db->write("delete from Survey_questionResponse where Survey_questionId=".$self->session->db->quote($self->session->form->process("qid")));
$_[0]->deleteCollateral("Survey_question","Survey_questionId",$self->session->form->process("qid"));
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->session->db->write("delete from Survey_answer where Survey_questionId=".$_[0]->session->db->quote($_[0]->session->form->process("qid")));
$_[0]->session->db->write("delete from Survey_questionResponse where Survey_questionId=".$_[0]->session->db->quote($_[0]->session->form->process("qid")));
$_[0]->deleteCollateral("Survey_question","Survey_questionId",$_[0]->session->form->process("qid"));
$_[0]->reorderCollateral("Survey_question","Survey_questionId","Survey_id");
return "";
}
#-------------------------------------------------------------------
sub www_deleteSectionConfirm {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
my $i18n = WebGUI::International->new($self->session,'Asset_Survey');
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
my $i18n = WebGUI::International->new($_[0]->session,'Asset_Survey');
my $none = $i18n->get(107);
my ($sectionName) = $self->session->db->quickArray("select sectionName from Survey_section where Survey_sectionId="
.$self->session->db->quote($self->session->form->process("sid")));
my ($sectionName) = $_[0]->session->db->quickArray("select sectionName from Survey_section where Survey_sectionId="
.$_[0]->session->db->quote($_[0]->session->form->process("sid")));
if ($sectionName =~ /$none/) {
return $self->session->privilege->vitalComponent();
return $_[0]->session->privilege->vitalComponent();
}
$self->session->db->write("delete from Survey_section where Survey_sectionId=".$self->session->db->quote($self->session->form->process("sid")));
$_[0]->deleteCollateral("Survey_section","Survey_sectionId",$self->session->form->process("sid"));
$_[0]->session->db->write("delete from Survey_section where Survey_sectionId=".$_[0]->session->db->quote($_[0]->session->form->process("sid")));
$_[0]->deleteCollateral("Survey_section","Survey_sectionId",$_[0]->session->form->process("sid"));
$_[0]->reorderCollateral("Survey_section","Survey_sectionId","Survey_id");
return "";
}
#-------------------------------------------------------------------
sub www_deleteResponse {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
my $i18n = WebGUI::International->new($self->session, 'Asset_Survey');
return $self->session->style->process($_[0]->confirm($i18n->get(72),
$_[0]->getUrl('func=deleteResponseConfirm;responseId='.$self->session->form->process("responseId"))),$_[0]->getValue("styleTemplateId"));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
my $i18n = WebGUI::International->new($_[0]->session, 'Asset_Survey');
return $_[0]->session->style->process($_[0]->confirm($i18n->get(72),
$_[0]->getUrl('func=deleteResponseConfirm;responseId='.$_[0]->session->form->process("responseId"))),$_[0]->getValue("styleTemplateId"));
}
#-------------------------------------------------------------------
sub www_deleteResponseConfirm {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->db->write("delete from Survey_response where Survey_responseId=".$self->session->db->quote($self->session->form->process("responseId")));
$self->session->db->write("delete from Survey_questionResponse where Survey_responseId=".$self->session->db->quote($self->session->form->process("responseId")));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->db->write("delete from Survey_response where Survey_responseId=".$_[0]->session->db->quote($_[0]->session->form->process("responseId")));
$_[0]->session->db->write("delete from Survey_questionResponse where Survey_responseId=".$_[0]->session->db->quote($_[0]->session->form->process("responseId")));
return $_[0]->www_viewGradebook;
}
#-------------------------------------------------------------------
sub www_deleteAllResponses {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
my $i18n = WebGUI::International->new($self->session,'Asset_Survey');
return $self->session->style->process($_[0]->confirm($i18n->get(74),$_[0]->getUrl('func=deleteAllResponsesConfirm')),$_[0]->getValue("styleTemplateId"));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
my $i18n = WebGUI::International->new($_[0]->session,'Asset_Survey');
return $_[0]->session->style->process($_[0]->confirm($i18n->get(74),$_[0]->getUrl('func=deleteAllResponsesConfirm')),$_[0]->getValue("styleTemplateId"));
}
#-------------------------------------------------------------------
sub www_deleteAllResponsesConfirm {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->db->write("delete from Survey_response where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
$self->session->db->write("delete from Survey_questionResponse where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->db->write("delete from Survey_response where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
$_[0]->session->db->write("delete from Survey_questionResponse where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
return "";
}
#-------------------------------------------------------------------
sub www_editSave {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
my $output = $_[0]->SUPER::www_editSave();
if ($self->session->form->process("proceed") eq "addQuestion") {
$self->session->form->process("qid") = "new";
if ($_[0]->session->form->process("proceed") eq "addQuestion") {
$_[0]->session->form->process("qid") = "new";
return $_[0]->www_editQuestion;
}
return $output;
@ -774,17 +774,15 @@ sub www_editSave {
#-------------------------------------------------------------------
sub www_editAnswer {
my ($question, $f, $answer, $self);
$self = shift;
return $self->session->privilege->insufficient() unless ($self->canEdit);
my ($question, $f, $answer);
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
my $i18n = WebGUI::International->new($self->session,'Asset_Survey');
$answer = $self->getCollateral("Survey_answer","Survey_answerId",$self->session->form->process("aid"));
$f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl);
my $i18n = WebGUI::International->new($_[0]->session,'Asset_Survey');
$answer = $_[0]->getCollateral("Survey_answer","Survey_answerId",$_[0]->session->form->process("aid"));
$f = WebGUI::HTMLForm->new($_[0]->session,-action=>$_[0]->getUrl);
$f->hidden(
-name => "assetId",
-value => $self->session->form->process("assetId")
-value => $_[0]->session->form->process("assetId")
);
$f->hidden(
-name => "func",
@ -792,7 +790,7 @@ sub www_editAnswer {
);
$f->hidden(
-name => "qid",
-value => $self->session->form->process("qid")
-value => $_[0]->session->form->process("qid")
);
$f->hidden(
-name => "aid",
@ -804,7 +802,7 @@ sub www_editAnswer {
-label=>$i18n->get(19),
-hoverHelp=>$i18n->get('19 description')
);
if ($self->get("mode") eq "quiz") {
if ($_[0]->get("mode") eq "quiz") {
$f->yesNo(
-name=>"isCorrect",
-value=>$answer->{isCorrect},
@ -817,9 +815,9 @@ sub www_editAnswer {
-value => 0
);
}
if ($self->get("questionOrder") eq "response") {
$question = $self->session->db->buildHashRef("select Survey_questionId,question
from Survey_question where Survey_id=".$self->session->db->quote($self->get("Survey_id"))." order by sequenceNumber");
if ($_[0]->get("questionOrder") eq "response") {
$question = $_[0]->session->db->buildHashRef("select Survey_questionId,question
from Survey_question where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id"))." order by sequenceNumber");
$question = { ('-1' => $i18n->get(82),%$question) };
$f->selectBox(
-name=>"gotoQuestion",
@ -846,28 +844,28 @@ sub www_editAnswer {
}
$f->submit;
# $self->getAdminConsole->setHelp("answer add/edit","Asset_Survey");
return $self->getAdminConsole->render($f->print, $i18n->get(18));
# $_[0]->getAdminConsole->setHelp("answer add/edit","Asset_Survey");
return $_[0]->getAdminConsole->render($f->print, $i18n->get(18));
}
#-------------------------------------------------------------------
sub www_editAnswerSave {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->setCollateral("Survey_answer", "Survey_answerId", {
Survey_answerId => $self->session->form->process("aid"),
Survey_questionId => $self->session->form->process("qid"),
answer => $self->session->form->process("answer"),
isCorrect => $self->session->form->process("isCorrect"),
Survey_answerId => $_[0]->session->form->process("aid"),
Survey_questionId => $_[0]->session->form->process("qid"),
answer => $_[0]->session->form->process("answer"),
isCorrect => $_[0]->session->form->process("isCorrect"),
Survey_id=>$_[0]->get("Survey_id"),
gotoQuestion => $self->session->form->process("gotoQuestion")
gotoQuestion => $_[0]->session->form->process("gotoQuestion")
},1,0,"Survey_Id");
if ($self->session->form->process("proceed") eq "addQuestion") {
$self->session->form->process("qid") = "new";
} elsif ($self->session->form->process("proceed") eq "addAnswer") {
$self->session->form->process("aid") = "new";
if ($_[0]->session->form->process("proceed") eq "addQuestion") {
$_[0]->session->form->process("qid") = "new";
} elsif ($_[0]->session->form->process("proceed") eq "addAnswer") {
$_[0]->session->form->process("aid") = "new";
return $_[0]->www_editAnswer();
} elsif ($self->session->form->process("proceed") eq "backToPage") {
} elsif ($_[0]->session->form->process("proceed") eq "backToPage") {
return "";
}
return $_[0]->www_editQuestion();
@ -1045,7 +1043,7 @@ sub www_editQuestionSave {
sub www_editSection {
my ($f, $section, $sectionName, $self);
$self = shift;
my $i18n = WebGUI::International->new($self->sessionet(107, 'Asset_Survey');
my $i18n = WebGUI::International->new($self->session, 'Asset_Survey');
my $none = $i18n->get(107);
return $self->session->privilege->insufficient() unless ($self->canEdit);
$section = $self->getCollateral("Survey_section","Survey_sectionId",$self->session->form->process("sid"));
@ -1080,10 +1078,10 @@ sub www_editSection {
#-------------------------------------------------------------------
sub www_editSectionSave {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$self->session->form->process("sid") = $_[0]->setCollateral("Survey_section", "Survey_sectionId", {
sectionName => $self->session->form->process("sectionName"),
Survey_sectionId=>$self->session->form->process("sid"),
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->session->form->process("sid") = $_[0]->setCollateral("Survey_section", "Survey_sectionId", {
sectionName => $_[0]->session->form->process("sectionName"),
Survey_sectionId=>$_[0]->session->form->process("sid"),
Survey_id=>$_[0]->get("Survey_id"),
},1,0,"Survey_id");
return "";
@ -1091,74 +1089,74 @@ sub www_editSectionSave {
#-------------------------------------------------------------------
sub www_exportAnswers {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->http->setFilename($self->session->url->escape($_[0]->get("title")."_answers.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_answer where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->http->setFilename($_[0]->session->url->escape($_[0]->get("title")."_answers.tab"),"text/tab");
return $_[0]->session->db->quickTab("select * from Survey_answer where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
}
#-------------------------------------------------------------------
sub www_exportComposite {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->http->setFilename($self->session->url->escape($_[0]->get("title")."_composite.tab"),"text/tab");
return $self->session->db->quickTab("select b.question, c.response, a.userId, a.username, a.ipAddress, c.comment, c.dateOfResponse from Survey_response a
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->http->setFilename($_[0]->session->url->escape($_[0]->get("title")."_composite.tab"),"text/tab");
return $_[0]->session->db->quickTab("select b.question, c.response, a.userId, a.username, a.ipAddress, c.comment, c.dateOfResponse from Survey_response a
left join Survey_questionResponse c on a.Survey_responseId=c.Survey_responseId
left join Survey_question b on c.Survey_questionId=b.Survey_questionId
where a.Survey_id=".$self->session->db->quote($_[0]->get("Survey_id"))." order by a.userId, a.ipAddress, b.sequenceNumber");
where a.Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id"))." order by a.userId, a.ipAddress, b.sequenceNumber");
}
#-------------------------------------------------------------------
sub www_exportQuestions {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->http->setFilename($self->session->url->escape($_[0]->get("title")."_questions.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_question where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->http->setFilename($_[0]->session->url->escape($_[0]->get("title")."_questions.tab"),"text/tab");
return $_[0]->session->db->quickTab("select * from Survey_question where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
}
#-------------------------------------------------------------------
sub www_exportResponses {
return "" unless ($self->session->user->isInGroup($_[0]->get("groupToViewReports")));
$self->session->http->setFilename($self->session->url->escape($_[0]->get("title")."_responses.tab"),"text/tab");
return $self->session->db->quickTab("select * from Survey_response where Survey_id=".$self->session->db->quote($_[0]->get("Survey_id")));
return "" unless ($_[0]->session->user->isInGroup($_[0]->get("groupToViewReports")));
$_[0]->session->http->setFilename($_[0]->session->url->escape($_[0]->get("title")."_responses.tab"),"text/tab");
return $_[0]->session->db->quickTab("select * from Survey_response where Survey_id=".$_[0]->session->db->quote($_[0]->get("Survey_id")));
}
#-------------------------------------------------------------------
sub www_moveAnswerDown {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_answer","Survey_answerId",$self->session->form->process("aid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_answer","Survey_answerId",$_[0]->session->form->process("aid"),"Survey_id");
return $_[0]->www_editQuestion;
}
#-------------------------------------------------------------------
sub www_moveAnswerUp {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_answer","Survey_answerId",$self->session->form->process("aid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_answer","Survey_answerId",$_[0]->session->form->process("aid"),"Survey_id");
return $_[0]->www_editQuestion;
}
#-------------------------------------------------------------------
sub www_moveQuestionDown {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_question","Survey_questionId",$self->session->form->process("qid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_question","Survey_questionId",$_[0]->session->form->process("qid"),"Survey_id");
return "";
}
#-------------------------------------------------------------------
sub www_moveQuestionUp {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_question","Survey_questionId",$self->session->form->process("qid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_question","Survey_questionId",$_[0]->session->form->process("qid"),"Survey_id");
return "";
}
#-------------------------------------------------------------------
sub www_moveSectionDown {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_section","Survey_sectionId",$self->session->form->process("sid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralDown("Survey_section","Survey_sectionId",$_[0]->session->form->process("sid"),"Survey_id");
return "";
}
#-------------------------------------------------------------------
sub www_moveSectionUp {
return $self->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_section","Survey_sectionId",$self->session->form->process("sid"),"Survey_id");
return $_[0]->session->privilege->insufficient() unless ($_[0]->canEdit);
$_[0]->moveCollateralUp("Survey_section","Survey_sectionId",$_[0]->session->form->process("sid"),"Survey_id");
return "";
}
@ -1170,7 +1168,7 @@ sub www_respond {
return "" unless ($self->session->scratch->get($varname));
my $userId = ($self->get("anonymous")) ? substr(md5_hex($self->session->user->userId),0,8) : $self->session->user->userId;
my $terminate = 0;
foreach my $key (keys %{$session{form}}) {
foreach my $key ($self->session->request->params) {
if ($key =~ /^answerId_(.+)$/) {
my $id = $1;
my ($previousResponse) = $self->session->db->quickArray("select count(*) from Survey_questionResponse
@ -1180,9 +1178,9 @@ sub www_respond {
if ($self->get("questionOrder") eq "response" && $answer->{gotoQuestion} eq "") {
$terminate = 1;
}
my $response = $self->session->form->process("textResponse_".$id) || $answer->{answer});
my $response = $self->session->form->process("textResponse_".$id) || $answer->{answer};
$self->session->db->write("insert into Survey_questionResponse (Survey_answerId,Survey_questionId,Survey_responseId,Survey_id,comment,response,dateOfResponse) values (
".$self->session->db->quote($answer->{Survey_answerId}).", ".$self->session->db->quote($answer->{Survey_questionId}).", ".$self->session->db->quote($self->session->scratch->get($varname).", ".$self->session->db->quote($answer->{Survey_id}).",
".$self->session->db->quote($answer->{Survey_answerId}).", ".$self->session->db->quote($answer->{Survey_questionId}).", ".$self->session->db->quote($self->session->scratch->get($varname)).", ".$self->session->db->quote($answer->{Survey_id}).",
".$self->session->db->quote($self->session->form->process("comment_".$id)).", ".$self->session->db->quote($response).", ".$self->session->datetime->time().")");
}
}

View file

@ -245,7 +245,7 @@ sub view {
# this page, with important params
@seen{@exclude_params} = ();
for ($session->request->params) {
foreach ($self->session->request->params) {
unless (exists $seen{$_}) {
$query_string .= $self->session->url->escape($_) . '='
. $self->session->url->escape($self->session->form->process($_)) . ';';
@ -287,7 +287,7 @@ sub view {
# check to see if this exact query has already been cached, using either
# a cache specific to this session, or a shared global cache
if ($self->session->form->process('cache')) {
if ($self->session->form->process('targetWobjects')}
if ($self->session->form->process('targetWobjects')
&& grep /^$call$/, @targetWobjects) {
$cache_key = $self->session->form->process('cache');
@ -465,7 +465,7 @@ sub view {
$self->session->errorHandler->debug($i18n->get(26) . $@) if $self->get('debugMode');
}
# did they request a funky http header?
if ($self->session->config->get('soapHttpHeaderOverride')} &&
if ($self->session->config->get('soapHttpHeaderOverride') &&
$self->get("httpHeader")) {
$self->session->http->setMimeType($self->get("httpHeader"));

View file

@ -619,13 +619,6 @@ sub new {
my $self = {};
my $class = shift;
$self->{_session} = shift;
my $output;
my $i = 1;
while (my @data = caller($i)) {
$output .= "\t".join(",",@data)."\n";
$i++;
}
print $output."\n\n";
$self->{authMethod} = shift;
my $userId = shift || $self->{_session}->user->userId;
$self->{user} = $self->{_session}->user;

View file

@ -178,7 +178,7 @@ sub createAccount {
.'<img src="'.$storage->getUrl($filename).'" border="0" alt="captcha" align="middle" />';
$vars->{'create.form.captcha.label'} = $i18n->get("captcha label","AuthWebGUI");
}
$vars->{'create.form.username'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.username","value"=>$self->session->form->process("authWebGUI.username"}));
$vars->{'create.form.username'} = WebGUI::Form::text($self->session,{"name"=>"authWebGUI.username","value"=>$self->session->form->process("authWebGUI.username")});
$vars->{'create.form.username.label'} = $i18n->get(50);
$vars->{'create.form.password'} = WebGUI::Form::password($self->session,{"name"=>"authWebGUI.identifier"});
$vars->{'create.form.password.label'} = $i18n->get(51);
@ -449,26 +449,31 @@ sub editUserSettingsForm {
#-------------------------------------------------------------------
sub getAccountTemplateId {
my $self = shift;
return $self->session->setting->get("webguiAccountTemplate") || "PBtmpl0000000000000010";
}
#-------------------------------------------------------------------
sub getCreateAccountTemplateId {
my $self = shift;
return $self->session->setting->get("webguiCreateAccountTemplate") || "PBtmpl0000000000000011";
}
#-------------------------------------------------------------------
sub getExpiredPasswordTemplateId {
my $self = shift;
return $self->session->setting->get("webguiExpiredPasswordTemplate") || "PBtmpl0000000000000012";
}
#-------------------------------------------------------------------
sub getLoginTemplateId {
my $self = shift;
return $self->session->setting->get("webguiLoginTemplate") || "PBtmpl0000000000000013";
}
#-------------------------------------------------------------------
sub getPasswordRecoveryTemplateId {
my $self = shift;
return $self->session->setting->get("webguiPasswordRecoveryTemplate") || "PBtmpl0000000000000014";
}
@ -486,7 +491,7 @@ sub login {
my $userData = $self->getParams;
if($self->getSetting("passwordTimeout") && $userData->{passwordTimeout}){
my $expireTime = $userData->{passwordLastUpdated} + $userData->{passwordTimeout};
if$self->session->datetime->time() >= $expireTime){
if ($self->session->datetime->time() >= $expireTime){
$self->session->form->process("uid") = $self->userId;
$self->logout;
return $self->resetExpiredPassword;
@ -499,10 +504,11 @@ sub login {
#-------------------------------------------------------------------
sub new {
my $class = shift;
my $session = shift;
my $authMethod = $_[0];
my $userId = $_[1];
my @callable = ('validateEmail','createAccount','deactivateAccount','displayAccount','displayLogin','login','logout','recoverPassword','resetExpiredPassword','recoverPasswordFinish','createAccountSave','deactivateAccountConfirm','resetExpiredPasswordSave','updateAccount');
my $self = WebGUI::Auth->new($self->session,$authMethod,$userId,\@callable);
my $self = WebGUI::Auth->new($session,$authMethod,$userId,\@callable);
bless $self, $class;
}
@ -693,7 +699,7 @@ sub updateAccount {
}
}
$self->saveParams($u->userId,$self->authMethod,$properties);
$session->user({user=>$u});
$self->session->user(undef,undef,$u);
return $self->displayAccount($display);
}

View file

@ -477,19 +477,18 @@ sub confirmRecurringTransaction {
#### !!!Site checken!!! ####
my $self = shift;
my $form = $session{form};
my $transaction = WebGUI::Commerce::Transaction->getByGatewayId($self->session->form->process("orig_xid"), $self->namespace);
my $itemProperties = $transaction->getItems->[0];
my $item = WebGUI::Commerce::Item->new($itemProperties->{itemId}, $itemProperties->{itemType});
my $startEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $form->{start_date})));
my $currentEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $form->{when})));
my $startEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $self->session->form->process("start_date"))));
my $currentEpoch = $self->session->datetime->setToEpoch(sprintf("%4d-%02d-%02d %02d:%02d:%02d", unpack('a4a2a2a2a2a2', $self->session->form->process("when"))));
$self->session->db->write("delete from ITransact_recurringStatus where gatewayId=".$self->session->db->quote($form->{orig_xid}));
$self->session->db->write("delete from ITransact_recurringStatus where gatewayId=".$self->session->db->quote($self->session->form->process("orig_xid")));
$self->session->db->write("insert into ITransact_recurringStatus ".
"(gatewayId, initDate, lastTransaction, status, errorMessage, recipe) values ".
"(".$self->session->db->quote($form->{orig_xid}).", $startEpoch, $currentEpoch, ".$self->session->db->quote($form->{status}).", ".$self->session->db->quote($form->{error_message}).
", ".$self->session->db->quote($form->{recipe_name}).")");
"(".$self->session->db->quote($self->session->form->process("orig_xid")).", $startEpoch, $currentEpoch, ".$self->session->db->quote($self->session->form->process("status")).", ".$self->session->db->quote($self->session->form->process("error_message")).
", ".$self->session->db->quote($self->session->form->process("recipe_name")).")");
}
#-------------------------------------------------------------------
@ -583,7 +582,7 @@ sub normalTransaction {
$normal = shift;
if ($normal) {
$i18n = WebGUI::International->new($self->session, 'CommercePaymentITransact');
my $i18n = WebGUI::International->new($self->session, 'CommercePaymentITransact');
$self->{_recurring} = 0;
$self->{_transactionParams} = {
AMT => sprintf('%.2f', $normal->{amount}),
@ -608,7 +607,7 @@ sub recurringTransaction {
$initialAmount = ($self->session->datetime->getDaysInMonth(time) - ($self->session->datetime->localtime)[2])*$recurring->{amount}/$self->session->datetime->getDaysInMonth(time);
$initialAmount = $recurring->{amount} if ($initialAmount < 1);
$self->{_recurring} = 1;
$i18n = WebGUI::International->new($self->session, 'CommercePaymentITransact');
my $i18n = WebGUI::International->new($self->session, 'CommercePaymentITransact');
$self->{_transactionParams} = {
START => $recurring->{start} || $self->session->datetime->epochToHuman($self->session->datetime->addToDate(time, 0, 0, 1), '%m%d%y'),
AMT => sprintf('%.2f', $recurring->{amount}),

View file

@ -513,7 +513,7 @@ sub www_editCommerceSettingsSave {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
foreach (keys(%{$session{form}})) {
foreach ($session->request->params) {
# Store the plugin confiuration data in a special table for security and the general settings in the
# normal settings table for easy access.
if (/~([^~]*)~([^~]*)~([^~]*)/) {
@ -768,7 +768,7 @@ sub www_updateCart {
my $session = shift;
my $shoppingCart = WebGUI::Commerce::ShoppingCart->new($session);
foreach my $formElement (keys(%{$session{form}})) {
foreach my $formElement ($session->request->params) {
if ($formElement =~ m/^quantity~([^~]*)~([^~]*)$/) {
$shoppingCart->setQuantity($2, $1, $session->form->process($formElement));
}

View file

@ -135,7 +135,7 @@ sub www_editDatabaseLinkSave {
username=>$session->form->process("dbusername"),
identifier=>$session->form->process("dbidentifier"),
DSN=>$session->form->process("DSN")
});
};
if ($session->form->process("dlid") eq "new") {
WebGUI::DatabaseLink->create($session,$params);
} else {

View file

@ -27,7 +27,8 @@ use WebGUI::Utility;
sub _hasSecondaryPrivilege {
my $session = shift;
return 0 unless ($session->user->isInGroup(11));
return $group->userIsAdmin($session->user->userId,$_[0]);
my $group = WebGUI::Group->new($session,$_[0]);
return $group->userIsAdmin($session->user->userId);
}
@ -148,7 +149,7 @@ sub walkGroups {
.$session->icon->delete('op=deleteGroupGrouping;gid='.$parentId.';delete='.$id)
.$session->icon->edit('op=editGroup;gid='.$id)
.' '.$name.'<br />';
$output .= walkGroups($id,$indent."&nbsp; &nbsp; ");
$output .= $session->walkGroups($id,$indent."&nbsp; &nbsp; ");
}
$sth->finish;
return $output;
@ -157,10 +158,11 @@ sub walkGroups {
#-------------------------------------------------------------------
sub www_addGroupsToGroupSave {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my @groups = $session->form->group('groups');
$group->addGroups(\@groups,[$session->form->process("gid")]);
return www_manageGroupsInGroup();
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my $group = WebGUI::Group->new($session,$_[0]);
my @groups = $session->form->group('groups');
$group->addGroups(\@groups);
return www_manageGroupsInGroup();
}
#-------------------------------------------------------------------
@ -168,7 +170,8 @@ sub www_addUsersToGroupSave {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
my @users = $session->form->selectList('users');
$group->addUsers(\@users,[$session->form->process("gid")]);
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
$group->addUsers(\@users);
return www_manageUsersInGroup();
}
@ -223,8 +226,9 @@ sub www_deleteGroupConfirm {
sub www_deleteGroupGrouping {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup('3') || _hasSecondaryPrivilege($session->form->process("gid")));
$group->deleteGroups([$session->form->process("delete")],[$session->form->process("gid")]);
return www_manageGroupsInGroup();
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
$group->deleteGroups([$session->form->process("delete")]);
return www_manageGroupsInGroup();
}
#-------------------------------------------------------------------
@ -458,17 +462,18 @@ sub www_editGrouping {
-label => $i18n->get(84),
-hoverHelp => $i18n->get('84 description'),
);
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
$f->date(
-name => "expireDate",
-label => $i18n->get(369),
-hoverHelp => $i18n->get('369 description'),
-value => $group->userGroupExpireDate($session->form->process("uid"),$session->form->process("gid")),
-value => $group->userGroupExpireDate($session->form->process("uid")),
);
$f->yesNo(
-name=>"groupAdmin",
-label=>$i18n->get(977),
-hoverHelp=>$i18n->get('977 description'),
-value=>$group->userIsAdmin($session->form->process("uid"),$session->form->process("gid"))
-value=>$group->userIsAdmin($session->form->process("uid"))
);
$f->submit;
return _submenu($f->print,'370','grouping edit');
@ -478,8 +483,9 @@ sub www_editGrouping {
sub www_editGroupingSave {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3) || _hasSecondaryPrivilege($session->form->process("gid")));
$group->userGroupExpireDate($session->form->process("uid"),$session->form->process("gid"),$session->datetime->setToEpoch($session->form->process("expireDate")));
$group->userIsAdmin($session->form->process("uid"),$session->form->process("gid"),$session->form->process("groupAdmin"));
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
$group->userGroupExpireDate($session->form->process("uid"),$session->datetime->setToEpoch($session->form->process("expireDate")));
$group->userIsAdmin($session->form->process("uid"),$session->form->process("groupAdmin"));
return www_manageUsersInGroup();
}
@ -609,8 +615,9 @@ sub www_manageGroupsInGroup {
-value => $session->form->process("gid")
);
my @groups;
my $groupsIn = $group->getGroupsIn($session->form->process("gid"),1);
my $groupsFor = $group->getGroupsFor($session->form->process("gid"));
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
my $groupsIn = $group->getGroupsIn(1);
my $groupsFor = $group->getGroupsFor;
push(@groups, @$groupsIn,@$groupsFor,$session->form->process("gid"));
my $i18n = WebGUI::International->new($session);
$f->group(
@ -623,7 +630,7 @@ sub www_manageGroupsInGroup {
$f->submit;
my $output = $f->print;
$output .= '<p />';
$output .= walkGroups($session->form->process("gid"));
$output .= $session->walkGroups($session->form->process("gid"));
return _submenu($output,'813');
}
@ -676,7 +683,8 @@ sub www_manageUsersInGroup {
-name => "op",
-value => "addUsersToGroupSave"
);
my $existingUsers = $group->getUsers($session->form->process("gid"));
my $group = WebGUI::Group->new($session,$session->form->process("gid"));
my $existingUsers = $group->getUsers;
push(@{$existingUsers},"1");
my %users;
tie %users, "Tie::IxHash";

View file

@ -416,7 +416,7 @@ my $variantId = $session->form->process("variantId");
return $session->privilege->insufficient unless ($session->user->isInGroup(14));
WebGUI::Product->getByVariantId($session,$variantId)->setVariant($variantId, $session{form});
WebGUI::Product->getByVariantId($session,$variantId)->setVariant($variantId, $session->form->paramsHashRef);
return WebGUI::Operation::execute('listProductVariants');
}

View file

@ -291,7 +291,7 @@ sub www_saveSettings {
my $session = shift;
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
my ($key, $value);
foreach $key (keys %{$session{form}}) {
foreach $key ($session->request->params) {
$value = $session->form->process("$key");
if ($key =~ m/(.*)_interval/) {
$value = $session->form->interval($1);

View file

@ -37,7 +37,7 @@ sub www_makePrintable {
if ($session->form->process("styleId") ne "") {
$session->asset->{_properties}{printableStyleTemplateId} = $session->form->process("styleId");
}
$session->style->makePrintable("1")
$session->style->makePrintable("1");
return "";
}

View file

@ -266,8 +266,7 @@ sub www_editSubscriptionSave {
return $session->privilege->adminOnly() unless ($session->user->isInGroup(3));
@relevantFields = qw(subscriptionId name price description subscriptionGroup duration executeOnSubscription karma);
WebGUI::Subscription->new($session,$session->form->process("sid"))->set({map {$_ => $session->form->process($_)} @relevantFields]);
WebGUI::Subscription->new($session,$session->form->process("sid"))->set({map {$_ => $session->form->process($_)} @relevantFields});
return www_listSubscriptions();
}

View file

@ -103,6 +103,27 @@ sub new {
}
#-------------------------------------------------------------------
=head2 paramsHashRef ( )
Gets a hash ref of all the params passed in, and their values.
=cut
sub paramsHashRef {
my $self = shift;
unless ($self->{_paramsHashRef}) {
my $hash;
foreach ($self->session->request->params) {
$hash->{$_} = $self->process($_);
}
$self->{_paramsHashRef} = $hash;
}
return $self->{_paramsHashRef};
}
#-------------------------------------------------------------------
=head2 process ( name, type [ , default ] )

View file

@ -13,6 +13,7 @@ use strict;
use lib '../lib';
use Getopt::Long;
use File::Find;
use WebGUI::Session;
# ---- END DO NOT EDIT ----