missing session variables from ->new found via code analysis

This commit is contained in:
Colin Kuskie 2006-01-16 21:55:39 +00:00
parent 4085c7baf4
commit 35c4ad353d
12 changed files with 36 additions and 28 deletions

View file

@ -218,7 +218,7 @@ sub view {
my ($garbage, $end) = $self->session->datetime->dayStartEnd($self->get("eventEndDate"));
my $sth = $self->session->db->read("select assetId from EventsCalendar_event where ((eventStartDate >= $start and eventStartDate <= $end) or (eventEndDate >= $start and eventEndDate <= $end)) and assetId<>".$self->session->db->quote($self->getId));
while (my ($assetId) = $sth->array) {
my $asset = WebGUI::Asset::Event->new($assetId);
my $asset = WebGUI::Asset::Event->new($self->session, $assetId);
# deal with multiple versions of the same event with conflicting dates
next unless (($asset->get("eventStartDate") >= $start && $asset->get("eventStartDate") <= $end) || ($asset->get("eventEndDate") >= $start && $asset->get("eventEndDate") <= $end));
push(@others,{

View file

@ -241,7 +241,7 @@ sub getAvatarUrl {
my $avatarUrl;
return $avatarUrl unless
$self->getThread->getParent->getValue("avatarsEnabled");
my $user = WebGUI::User->new($self->get('ownerUserId'));
my $user = WebGUI::User->new($self->session, $self->get('ownerUserId'));
#Get avatar field, storage Id.
my $storageId = $user->profileField("avatar");
my $avatar = WebGUI::Storage::Image->get($self->session,$storageId);
@ -468,7 +468,7 @@ sub getTemplateVars {
sub getThread {
my $self = shift;
unless (exists $self->{_thread}) {
$self->{_thread} = WebGUI::Asset::Post::Thread->new($self->get("threadId"));
$self->{_thread} = WebGUI::Asset::Post::Thread->new($self->session, $self->get("threadId"));
}
return $self->{_thread};
}
@ -617,14 +617,14 @@ sub notifySubscribers {
foreach my $userId (@{$group->getUsers(undef,1)}) {
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
}
$group = WebGUI::Group->new($self->getThread->getParent->get("subscriptionGroupId"));
$group = WebGUI::Group->new($self->session, $self->getThread->getParent->get("subscriptionGroupId"));
foreach my $userId (@{$group->getUsers(undef,1)}) {
$subscribers{$userId} = $userId unless ($userId eq $self->get("ownerUserId"));
}
my %lang;
my $i18n = WebGUI::International->new($self->session);
foreach my $userId (keys %subscribers) {
my $u = WebGUI::User->new($userId);
my $u = WebGUI::User->new($self->session, $userId);
if ($lang{$u->profileField("language")}{message} eq "") {
$lang{$u->profileField("language")}{var} = $self->getTemplateVars();
$self->getThread->getParent->appendTemplateLabels($lang{$u->profileField("language")}{var});

View file

@ -39,7 +39,7 @@ sub canSubscribe {
sub createSubscriptionGroup {
my $self = shift;
return if ($self->get("subscriptionGroupId"));
my $group = WebGUI::Group->new("new");
my $group = WebGUI::Group->new($self->session, "new");
$group->name($self->getId);
$group->description("The group to store subscriptions for the thread ".$self->getId);
$group->isEditable(0);
@ -127,7 +127,7 @@ sub getLastPost {
my $lastPostId = $self->get("lastPostId");
my $lastPost;
if ($lastPostId) {
$lastPost = WebGUI::Asset::Post->new($lastPostId);
$lastPost = WebGUI::Asset::Post->new($self->session, $lastPostId);
}
return $lastPost if (defined $lastPost);
return $self;
@ -196,7 +196,7 @@ sub getNextThread {
group by assetData.assetId
order by ".$sortBy." asc
",$self->session->dbSlave);
$self->{_next} = WebGUI::Asset->new($id,$class,$version);
$self->{_next} = WebGUI::Asset->new($self->session, $id,$class,$version);
# delete $self->{_next} unless ($self->{_next}->{_properties}{className} =~ /Thread/);
};
return $self->{_next};
@ -233,7 +233,7 @@ sub getPreviousThread {
)
group by assetData.assetId
order by ".$sortBy." desc, assetData.revisionDate desc ",$self->session->dbSlave);
$self->{_previous} = WebGUI::Asset::Post::Thread->new($id,$class,$version);
$self->{_previous} = WebGUI::Asset::Post::Thread->new($self->session, $id,$class,$version);
# delete $self->{_previous} unless ($self->{_previous}->{_properties}{className} =~ /Thread/);
};
return $self->{_previous};
@ -454,7 +454,7 @@ sub rate {
my $average = round($sum/$count);
$self->update({rating=>$average});
if ($self->session->setting->get("useKarma")) {
my $poster = WebGUI::User->new($self->get("ownerUserId"));
my $poster = WebGUI::User->new($self->session, $self->get("ownerUserId"));
$poster->karma($rating*$self->getParent->get("karmaRatingMultiplier"),"collaboration rating","someone rated post ".$self->getId);
my $rater = WebGUI::User->new($self->session->user->userId);
$rater->karma(-$self->getParent->get("karmaSpentToRate"),"collaboration rating","spent karma to rate post ".$self->getId);
@ -672,7 +672,7 @@ sub view {
$p->setDataByQuery($sql, undef, undef, undef, "url", $currentPageUrl);
foreach my $dataSet (@{$p->getPageData()}) {
next unless ($dataSet->{className} eq "WebGUI::Asset::Post" || $dataSet->{className} eq "WebGUI::Asset::Post::Thread"); #handle non posts!
my $reply = WebGUI::Asset::Post->new($dataSet->{assetId}, $dataSet->{className}, $dataSet->{revisionDate});
my $reply = WebGUI::Asset::Post->new($self->session, $dataSet->{assetId}, $dataSet->{className}, $dataSet->{revisionDate});
$reply->{_thread} = $self; # caching thread for better performance
my %replyVars = %{$reply->getTemplateVars};
$replyVars{isCurrent} = ($reply->get("url") eq $currentPageUrl);

View file

@ -120,7 +120,7 @@ sub www_view {
my $self = shift;
return $self->session->privilege->noAccess() unless $self->canView;
if ($self->session->var->isAdminOn() && $self->canEdit) {
my $i18n = WebGUI::International->new("Asset_Redirect");
my $i18n = WebGUI::International->new($self->session, "Asset_Redirect");
return $self->getAdminConsole->render($i18n->get("what do you want to do with this redirect").'
<ul>
<li><a href="'.$self->get("redirectUrl").'">'.$i18n->get("go to the redirect url").'</a></li>

View file

@ -318,6 +318,7 @@ sub getFieldsList {
$output .= '<table cellspacing="0" cellpadding="3" border="1"><tr><td><table cellspacing="0" cellpadding="3" border="0">';
my @prefFieldsToShow = split("\n",$self->getValue("prefFieldsToShow"));
$output .= WebGUI::Form::CheckList->new(
$self->session,
-name=>"prefFieldsToShow",
-value=>\@prefFieldsToShow,
-options=>\%fieldNames,
@ -329,6 +330,7 @@ sub getFieldsList {
$output .= '</table></td><td><table cellspacing="0" cellpadding="3" border="0">';
my @prefFieldsToImport = split("\n",$self->getValue("prefFieldsToImport"));
$output .= WebGUI::Form::CheckList->new(
$self->session,
-name=>"prefFieldsToImport",
-value=>\@prefFieldsToImport,
-options=>\%fieldNames,
@ -398,7 +400,7 @@ sub getOverrides {
}
$sth->finish;
if ($self->isDashlet) {
my $u = WebGUI::User->new($self->discernUserId);
my $u = WebGUI::User->new($self->session, $self->discernUserId);
my @userPrefs = $self->getPrefFieldsToImport;
foreach my $fieldId (@userPrefs) {
my $field = WebGUI::ProfileField->new($self->session,$fieldId);
@ -545,13 +547,13 @@ sub getShortcutByCriteria {
# Store the matching assetId in user scratch.
$self->session->scratch->set($scratchId,$id) if ($scratchId);
return WebGUI::Asset->newByDynamicClass($id);
return WebGUI::Asset->newByDynamicClass($self->session, $id);
}
#-------------------------------------------------------------------
sub getShortcutDefault {
my $self = shift;
return WebGUI::Asset->newByDynamicClass($self->get("shortcutToAssetId"));
return WebGUI::Asset->newByDynamicClass($self->session, $self->get("shortcutToAssetId"));
}
#-------------------------------------------------------------------
@ -707,7 +709,7 @@ sub www_saveUserPrefs {
my %data = ();
$self->uncacheOverrides;
my $i18n = WebGUI::International->new($self->session);
my $u = WebGUI::User->new($self->discernUserId);
my $u = WebGUI::User->new($self->session, $self->discernUserId);
foreach my $fieldId ($self->request->params) {
my $field = WebGUI::ProfileField->new($self->session,$fieldId);
next unless $field;
@ -758,7 +760,7 @@ sub www_editOverride {
$params{name} = $fieldName;
$params{label} = $params{label} || $i18n->get("Edit Field Directly");
$params{hoverhelp} = $params{hoverhelp} || $i18n->get("Use this field to edit the override using the native form handler for this field type");
if ($fieldName eq 'templateId') {$params{namespace} = $params{namespace} || WebGUI::Asset->newByDynamicClass($overrides{overrides}{templateId}{origValue})->get("namespace");}
if ($fieldName eq 'templateId') {$params{namespace} = $params{namespace} || WebGUI::Asset->newByDynamicClass($self->session, $overrides{overrides}{templateId}{origValue})->get("namespace");}
$f->dynamicField(%params);
$f->textarea(
-name=>"newOverrideValueText",

View file

@ -211,7 +211,7 @@ sub canView {
#-------------------------------------------------------------------
sub createSubscriptionGroup {
my $self = shift;
my $group = WebGUI::Group->new("new");
my $group = WebGUI::Group->new($self->session, "new");
$group->name($self->getId);
$group->description("The group to store subscriptions for the collaboration system ".$self->getId);
$group->isEditable(0);
@ -806,7 +806,7 @@ sub processPropertiesFromFormPost {
#-------------------------------------------------------------------
sub purge {
my $self = shift;
my $group = WebGUI::Group->new($self->get("subscriptionGroupId"));
my $group = WebGUI::Group->new($self->session, $self->get("subscriptionGroupId"));
$group->delete;
$self->SUPER::purge;
}
@ -1162,7 +1162,7 @@ sub www_viewRSS {
order by ".$self->getValue("sortBy")." ".$self->getValue("sortOrder"));
my $i = 1;
while (my ($id, $class, $version) = $sth->array) {
my $post = WebGUI::Asset::Wobject::Collaboration->new($id, $class, $version);
my $post = WebGUI::Asset::Wobject::Collaboration->new($self->session, $id, $class, $version);
my $encUrl = _xml_encode($self->session->url->getSiteURL().$post->getUrl);
my @attachmentLoop = ();

View file

@ -81,7 +81,7 @@ sub definition {
sub getContentPositions {
my $self = shift;
my $dummy = $self->initialize unless $self->get("isInitialized");
my $u = WebGUI::User->new($self->discernUserId);
my $u = WebGUI::User->new($self->session, $self->discernUserId);
return $u->profileField($self->getId.'contentPositions');
}
@ -190,7 +190,7 @@ sub view {
}
}
my $i = 1;
my $templateAsset = WebGUI::Asset->newByDynamicClass($templateId) || WebGUI::Asset->getImportNode;
my $templateAsset = WebGUI::Asset->newByDynamicClass($self->session, $templateId) || WebGUI::Asset->getImportNode;
my $template = $templateAsset->get("template");
my $numPositions = 1;
foreach my $j (2..15) {
@ -276,7 +276,7 @@ sub www_setContentPositions {
return $self->session->privilege->insufficient() unless ($self->canPersonalize);
return 'empty' unless $self->get("isInitialized");
my $dummy = $self->initialize unless $self->get("isInitialized");
my $u = WebGUI::User->new($self->discernUserId);
my $u = WebGUI::User->new($self->session, $self->discernUserId);
my $success = $u->profileField($self->getId.'contentPositions',$self->session->form->process("map")) eq $self->session->form->process("map");
return "Map set: ".$self->session->form->process("map") if $success;
return "Map failed to set.";

View file

@ -302,7 +302,7 @@ sub view {
$var{content} = $1 || $var{content};
$var{"content.trailing"} = $2;
}
my $p = WebGUI::Asset::Wobject::HttpProxy::Parse->new($proxiedUrl, $var{content}, $self->getId,$self->get("rewriteUrls"),$self->getUrl);
my $p = WebGUI::Asset::Wobject::HttpProxy::Parse->new($self->session, $proxiedUrl, $var{content}, $self->getId,$self->get("rewriteUrls"),$self->getUrl);
$var{content} = $p->filter; # Rewrite content. (let forms/links return to us).
$p->DESTROY;

View file

@ -44,6 +44,7 @@ sub DESTROY {
sub new {
my $pack = shift;
my $self = $pack->SUPER::new();
$self->{_session} = shift;
$self->{Url} = shift;
$self->{Content} = shift;
$self->{assetId} = shift;
@ -92,6 +93,10 @@ sub end {
$_[0]->output("</$_[1]>")
}
sub session {
return $_[0]->{_session};
}
sub start {
my $self = shift;
my ($tag, $attr, $attrseq, $origtext) = @_;

View file

@ -326,7 +326,7 @@ sub www_deleteListingConfirm {
my $self = shift;
return $self->session->privilege->insufficient() unless($self->canEdit);
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$self->session->form->process("listingId"));
WebGUI::Asset::Wobject::Collaboration->new($listing->{forumId})->purge;
WebGUI::Asset::Wobject::Collaboration->new($self->session, $listing->{forumId})->purge;
$self->session->db->write("delete from Matrix_listing where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
$self->session->db->write("delete from Matrix_listingData where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
$self->session->db->write("delete from Matrix_rating where listingId=".$self->session->db->quote($self->session->form->process("listingId")));
@ -970,11 +970,11 @@ sub www_viewDetail {
my %var;
my $i18n = WebGUI::International->new($self->session,'Asset_Matrix');
my $listing = $self->session->db->getRow("Matrix_listing","listingId",$listingId);
my $forum = WebGUI::Asset::Wobject::Collaboration->new($listing->{forumId});
my $forum = WebGUI::Asset::Wobject::Collaboration->new($self->session, $listing->{forumId});
$var{"discussion"} = $forum->view;
if ($self->session->form->process("do") eq "sendEmail") {
if ($self->session->form->process("body") ne "") {
my $u = WebGUI::User->new($listing->{maintainerId});
my $u = WebGUI::User->new($self->session, $listing->{maintainerId});
WebGUI::Mail::send($u->profileField("email"),$listing->{productName}." - ".$self->session->form->process("subject"),$self->session->form->process("body"),"",$self->session->form->process("from"));
}
$var{'email.wasSent'} = 1;

View file

@ -65,7 +65,7 @@ sub view {
$first = $child;
}
my %lastPostVars;
my $lastPost = WebGUI::Asset::Wobject::MessageBoard->newByDynamicClass($child->get("lastPostId"));
my $lastPost = WebGUI::Asset::Wobject::MessageBoard->newByDynamicClass($self->session, $child->get("lastPostId"));
if (defined $lastPost) {
%lastPostVars = (
'forum.lastPost.url' => $lastPost->getUrl,

View file

@ -360,6 +360,7 @@ sub open {
my $self = {_config=>$config, _server=>$server};
bless $self , $class;
$self->{_var} = WebGUI::Session::Var->new($self,$sessionId);
warn "request = ".$request;
$self->{_request} = Apache2::Request->new($request, POST_MAX => 1024 * $self->setting->get("maxAttachmentSize")) if (defined $request);
return $self;
}