migrate link list to uss

This commit is contained in:
JT Smith 2003-11-30 19:45:24 +00:00
parent c66612d680
commit ea970a13ea
5 changed files with 185 additions and 14 deletions

View file

@ -11,5 +11,6 @@
- Created format and processReplacements subs in the WebGUI::HTML package.
- Migrated extra columns to page templates and removed the Extra Column
wobject.
- Migrated Link Lists to USS submissions and removed the Link List wobject.

View file

@ -187,6 +187,11 @@ WebGUI::SQL->write("alter table USS_submission add column contentType varchar(35
WebGUI::SQL->write("update USS_submission set contentType='html' where convertCarriageReturns=0");
WebGUI::SQL->write("alter table USS_submission drop column convertCarriageReturns");
WebGUI::SQL->write("insert into incrementer (incrementerId,nextValue) values ('USS_id',$ussId)");
WebGUI::SQL->write("alter table USS_submission add column userDefined1 text");
WebGUI::SQL->write("alter table USS_submission add column userDefined2 text");
WebGUI::SQL->write("alter table USS_submission add column userDefined3 text");
WebGUI::SQL->write("alter table USS_submission add column userDefined4 text");
WebGUI::SQL->write("alter table USS_submission add column userDefined5 text");
#--------------------------------------------
@ -251,6 +256,70 @@ WebGUI::SQL->write("drop table FAQ_question");
WebGUI::SQL->write("delete from incrementer where incrementerId='FAQ_questionId'");
#--------------------------------------------
print "\tMigrating Link Lists to USS Submissions.\n" unless ($quiet);
my $sth = WebGUI::SQL->read("select * from template where namespace='LinkList'");
while (my $template = $sth->hashRef) {
$template->{name} =~ s/Default (.*?)/$1/i;
if ($template->{templateId} < 1000) {
($template->{templateId}) = WebGUI::SQL->quickArray("select max(templateId) from template where namespace='USS' and templateId<1000");
$template->{templateId}++;
} else {
($template->{templateId}) = WebGUI::SQL->quickArray("select max(templateId) from template where namespace='USS'");
if ($template->{templateId} > 999) {
$template->{templateId}++;
} else {
$template->{templateId} = 1000;
}
}
$template->{template} =~ s/\<tmpl\_loop\s+link\_loop\>/\<tmpl\_loop submissions\_loop\>/igs;
$template->{template} =~ s/\<tmpl\_if\s+session\.var\.adminOn\>//igs;
$template->{template} =~ s/\<\/tmpl\_if\>\s*\<\/tmpl\_if\>/\<\/tmpl_if>/igs;
my $replacement = '
<tmpl_if submission.currentUser>
[<a href="<tmpl_var submission.edit.url>"><tmpl_var submission.edit.label></a>]
</tmpl_if>
<tmpl_if canModerate>
<tmpl_var submission.controls>
';
$template->{template} =~ s/\<tmpl\_if\s+canEdit\>\s*\<tmpl\_var\s+link\.controls\>\s*/$replacement/igs;
$replacement = ' <tmpl_if canPost>
<a href="<tmpl_var post.url>"> ';
$template->{template} =~ s/\<tmpl\_if\s+canEdit\>\s*\<a\s+href="\<tmpl\_var\s+addlink\.url\>"\>/$replacement/igs;
$template->{template} =~ s/\<tmpl\_if\s+link\.newWindow\>/\<tmpl\_if submission\.userDefined2\>/igs;
$template->{template} =~ s/\<tmpl\_var\s+link\.url\>/\<tmpl\_var submission\.userDefined1\>/igs;
$template->{template} =~ s/\<tmpl\_var\s+link\.id\>/\<tmpl\_var submission\.id\>/igs;
$template->{template} =~ s/\<tmpl\_var\s+link\.name\>/\<tmpl\_var submission\.title\>/igs;
$template->{template} =~ s/\<tmpl\_var\s+link\.description\>/\<tmpl\_var submission\.content\.full\>/igs;
$template->{template} =~ s/\<tmpl\_if\s+link\.description\>/\<tmpl\_if submission\.content\.full\>/igs;
WebGUI::SQL->write("insert into template (templateId,name,template,namespace) values (".$template->{templateId}.",
".quote($template->{name}).", ".quote($template->{template}).", 'USS')");
}
$sth->finish;
WebGUI::SQL->write("delete from template where namespace='LinkList'");
my $a = WebGUI::SQL->read("select a.wobjectId,a.groupIdEdit,a.ownerId,a.lastEdited,b.username,a.dateAdded from wobject a left join users b on
a.ownerId=b.userId where a.namespace='LinkList'");
while (my $data = $a->hashRef) {
$ussId = getNextId("USS_id");
WebGUI::SQL->write("insert into USS (wobjectId, USS_id, groupToContribute, submissionsPerPage, filterContent, sortBy, sortOrder,
submissionFormTemplateId) values (
".$data->{wobjectId}.", $ussId, ".$data->{groupIdEdit}.", 1000, 'none', 'sequenceNumber', 'asc', 3)");
my $b = WebGUI::SQL->read("select * from LinkList_link");
while (my $sub = $b->hashRef) {
my $subId = getNextId("USS_submissionId");
my $forum = WebGUI::Forum->create({});
WebGUI::SQL->write("insert into USS_submission (USS_submissionId, USS_id, title, username, userId, content,
dateUpdated, dateSubmited, forumId,contentType,userDefined1, userDefined2) values ( $subId, $ussId, ".quote($sub->{name}).",
".quote($data->{username}).", ".$data->{ownerId}.", ".quote($sub->{description}).", ".$data->{lastEdited}.",
".$data->{dateAdded}.", ".$forum->get("forumId").", 'html', ".quote($sub->{url}).", ".quote($sub->{newWindow}).")");
}
$b->finish;
}
$a->finish;
WebGUI::SQL->write("update wobject set namespace='USS' where namespace='LinkList'");
WebGUI::SQL->write("drop table LinkList");
WebGUI::SQL->write("drop table LinkList_link");
WebGUI::SQL->write("delete from incrementer where incrementerId='LinkList_linkId'");
@ -265,7 +334,7 @@ $conf->set("macros"=>$macros);
my $wobjects = $conf->get("wobjects");
my @newWobjects;
foreach my $wobject (@{$wobjects}) {
unless ($wobject eq "Item" || $wobject eq "FAQ" || $wobject eq "ExtraColumn") {
unless ($wobject eq "Item" || $wobject eq "FAQ" || $wobject eq "ExtraColumn" || $wobject eq "LinkList") {
push(@newWobjects,$wobject);
}
}
@ -278,7 +347,7 @@ $conf->write;
print "\tRemoving unneeded files.\n" unless ($quiet);
unlink("../../lib/WebGUI/Operation/Style.pm");
unlink("../../lib/WebGUI/Wobject/Item.pm");
#unlink("../../lib/WebGUI/Wobject/LinkList.pm");
unlink("../../lib/WebGUI/Wobject/LinkList.pm");
unlink("../../lib/WebGUI/Wobject/FAQ.pm");
unlink("../../lib/WebGUI/Wobject/ExtraColumn.pm");

File diff suppressed because one or more lines are too long

View file

@ -14,7 +14,7 @@ uploadsPath = /data/WebGUI/www/uploads
authMethods = LDAP, WebGUI
wobjects = Article, EventsCalendar, ExtraColumn, FileManager, HttpProxy, \
wobjects = Article, EventsCalendar, FileManager, HttpProxy, \
DataForm, MessageBoard, Poll, Product, SiteMap, \
SQLReport, Survey, SyndicatedContent, USS, WobjectProxy

View file

@ -335,9 +335,8 @@ sub www_editSubmission {
return WebGUI::Privilege::insufficient() unless (WebGUI::Privilege::isInGroup($_[0]->get("groupToContribute"))
|| $submission->{userId} == $session{user}{userId}
|| WebGUI::Privilege::isInGroup($_[0]->get("groupToApprove")));
$var{'link.header.label'} = WebGUI::International::get(90,$_[0]->get("namespace"));
$var{'question.header.label'} = WebGUI::International::get(84,$_[0]->get("namespace"));
$var{'question.label'} = WebGUI::International::get(85,$_[0]->get("namespace"));
$var{'answer.label'} = WebGUI::International::get(86,$_[0]->get("namespace"));
$var{'submission.header.label'} = WebGUI::International::get(19,$_[0]->get("namespace"));
$var{'user.isVisitor'} = ($session{user}{userId} == 1);
$var{'visitorName.label'} = WebGUI::International::get(438);
@ -357,6 +356,74 @@ sub www_editSubmission {
name=>"func",
value=>"editSubmissionSave"
});
$var{'url.label'} = WebGUI::International::get(91,$_[0]->get("namespace"));
$var{'newWindow.label'} = WebGUI::International::get(92,$_[0]->get("namespace"));
$var{'userDefined1.form'} = WebGUI::Form::text({
name=>"userDefined1",
value=>$submission->{userDefined1}
});
$var{'userDefined1.form.yesNo'} = WebGUI::Form::yesNo({
name=>"userDefined1",
value=>$submission->{userDefined1}
});
$var{'userDefined1.form.textarea'} = WebGUI::Form::textarea({
name=>"userDefined1",
value=>$submission->{userDefined1}
});
$var{'userDefined2.form'} = WebGUI::Form::text({
name=>"userDefined2",
value=>$submission->{userDefined2}
});
$var{'userDefined2.form.yesNo'} = WebGUI::Form::yesNo({
name=>"userDefined2",
value=>$submission->{userDefined2}
});
$var{'userDefined2.form.textarea'} = WebGUI::Form::textarea({
name=>"userDefined2",
value=>$submission->{userDefined2}
});
$var{'userDefined3.form'} = WebGUI::Form::text({
name=>"userDefined3",
value=>$submission->{userDefined3}
});
$var{'userDefined3.form.yesNo'} = WebGUI::Form::yesNo({
name=>"userDefined3",
value=>$submission->{userDefined3}
});
$var{'userDefined3.form.textarea'} = WebGUI::Form::textarea({
name=>"userDefined3",
value=>$submission->{userDefined3}
});
$var{'userDefined4.form'} = WebGUI::Form::text({
name=>"userDefined4",
value=>$submission->{userDefined4}
});
$var{'userDefined4.form.yesNo'} = WebGUI::Form::yesNo({
name=>"userDefined4",
value=>$submission->{userDefined4}
});
$var{'userDefined4.form.textarea'} = WebGUI::Form::textarea({
name=>"userDefined4",
value=>$submission->{userDefined4}
});
$var{'userDefined5.form'} = WebGUI::Form::text({
name=>"userDefined5",
value=>$submission->{userDefined5}
});
$var{'userDefined5.form.yesNo'} = WebGUI::Form::yesNo({
name=>"userDefined5",
value=>$submission->{userDefined5}
});
$var{'userDefined5.form.textarea'} = WebGUI::Form::textarea({
name=>"userDefined5",
value=>$submission->{userDefined5}
});
$var{'userDefined1.value'} = $submission->{userDefined1};
$var{'userDefined2.value'} = $submission->{userDefined2};
$var{'userDefined3.value'} = $submission->{userDefined3};
$var{'userDefined4.value'} = $submission->{userDefined4};
$var{'userDefined5.value'} = $submission->{userDefined5};
$var{'question.label'} = WebGUI::International::get(85,$_[0]->get("namespace"));
$var{'title.label'} = WebGUI::International::get(35,$_[0]->get("namespace"));
$var{'title.form'} = WebGUI::Form::text({
name=>"title",
@ -368,11 +435,17 @@ sub www_editSubmission {
});
$var{'title.value'} = $submission->{title};
$var{'body.label'} = WebGUI::International::get(31,$_[0]->get("namespace"));
$var{'answer.label'} = WebGUI::International::get(86,$_[0]->get("namespace"));
$var{'description.label'} = WebGUI::International::get(85);
$var{'body.value'} = $submission->{content};
$var{'body.form'} = WebGUI::Form::HTMLArea({
name=>"body",
value=>$submission->{content}
});
$var{'body.form.textarea'} = WebGUI::Form::textarea({
name=>"body",
value=>$submission->{content}
});
$var{'image.label'} = WebGUI::International::get(32,$_[0]->get("namespace"));
if ($submission->{image} ne "") {
$var{'image.form'} = '<a href="'.WebGUI::URL::page('func=deleteFile&amp;file=image&amp;wid='.$session{form}{wid}
@ -432,6 +505,11 @@ sub www_editSubmissionSave {
$hash{USS_submissionId} = $session{form}{sid};
$hash{dateUpdated} = WebGUI::DateTime::time();
$hash{content} = $session{form}{body};
$hash{userDefined1} = $session{form}{userDefined1};
$hash{userDefined2} = $session{form}{userDefined2};
$hash{userDefined3} = $session{form}{userDefined3};
$hash{userDefined4} = $session{form}{userDefined4};
$hash{userDefined5} = $session{form}{userDefined5};
$hash{contentType} = $session{form}{contentType};
$file = WebGUI::Attachment->new("",$session{form}{wid},$session{form}{sid});
$file->save("image");
@ -477,11 +555,11 @@ sub www_view {
$numResults = $_[0]->get("submissionsPerPage");
$var{"readmore.label"} = WebGUI::International::get(46,$_[0]->get("namespace"));
$var{"responses.label"} = WebGUI::International::get(57,$_[0]->get("namespace"));
$var{title} = $_[0]->get("title");
$var{description} = $_[0]->get("description");
$var{canPost} = WebGUI::Privilege::isInGroup($_[0]->get("groupToContribute"));
$var{"post.url"} = WebGUI::URL::page('func=editSubmission&sid=new&wid='.$_[0]->get("wobjectId"));
$var{"post.label"} = WebGUI::International::get(20,$_[0]->get("namespace"));
$var{"addquestion.label"} = WebGUI::International::get(83,$_[0]->get("namespace"));
$var{"addlink.label"} = WebGUI::International::get(89,$_[0]->get("namespace"));
$var{"search.label"} = WebGUI::International::get(364);
$var{"search.Form"} = WebGUI::Search::form({wid=>$_[0]->get("wobjectId"),func=>'view',search=>1});
$var{"search.url"} = WebGUI::Search::toggleURL("wid=".$_[0]->get("wobjectId")."&func=view");
@ -495,7 +573,6 @@ sub www_view {
} else {
$constraints = "(status='Approved' or (userId=$session{user}{userId} and userId<>1))";
}
$var{"addquestion.label"} = WebGUI::International::get(83,$_[0]->get("namespace"));
$var{canModerate} = WebGUI::Privilege::isInGroup($_[0]->get("groupToApprove"),$session{user}{userId});
$var{"title.label"} = WebGUI::International::get(99);
$var{"thumbnail.label"} = WebGUI::International::get(52,$_[0]->get("namespace"));
@ -505,7 +582,7 @@ sub www_view {
$var{"submission.edit.label"} = WebGUI::International::get(27,$_[0]->get("namespace"));
$p = WebGUI::Paginator->new(WebGUI::URL::page('func=view&wid='.$_[0]->get("wobjectId")),[],$numResults);
$p->setDataByQuery("select USS_submissionId, content, title, userId, status, image, dateSubmitted, dateUpdated,
username, contentType, forumId from USS_submission
username, contentType, forumId, userDefined1, userDefined2, userDefined3, userDefined4, userDefined5 from USS_submission
where USS_id=".$_[0]->get("USS_Id")." and $constraints order by ".$_[0]->getValue("sortBy")." ".$_[0]->getValue("sortOrder"));
$page = $p->getPageData;
$i = 0;
@ -544,14 +621,19 @@ sub www_view {
"submission.content.full"=>join("\n",@content),
"submission.responses"=>$responses,
"submission.title"=>$page->[$i]->{title},
"submission.userDefined1"=>$page->[$i]->{userDefined1},
"submission.userDefined2"=>$page->[$i]->{userDefined2},
"submission.userDefined3"=>$page->[$i]->{userDefined3},
"submission.userDefined4"=>$page->[$i]->{userDefined4},
"submission.userDefined5"=>$page->[$i]->{userDefined5},
"submission.userId"=>$page->[$i]->{userId},
"submission.username"=>$page->[$i]->{username},
"submission.status"=>$page->[$i]->{status},
"submission.thumbnail"=>$thumbnail,
"submission.image"=>$imageURL,
"submission.date"=>epochToHuman($page->[$i]->{dateSubmitted}),
"submission.date.updated"=>epochToHuman($page->[$i]->{dateUpdated}),
"submission.currentUser"=>($session{user}{userId} == $page->[$i]->{userId}),
"submission.username"=>$page->[$i]->{username},
"submission.userProfile"=>WebGUI::URL::page('op=viewProfile&uid='.$page->[$i]->{userId}),
"submission.edit.url"=>WebGUI::URL::page($quickurl.'editSubmission'),
"submission.secondColumn"=>(($i+1)%2==0),
@ -697,6 +779,11 @@ sub www_viewSubmission {
$var{"search.label"} = WebGUI::International::get(364);
$var{"back.url"} = WebGUI::URL::page();
$var{"back.label"} = WebGUI::International::get(28,$_[0]->get("namespace"));
$var{'userDefined1.value'} = $submission->{userDefined1};
$var{'userDefined2.value'} = $submission->{userDefined2};
$var{'userDefined3.value'} = $submission->{userDefined3};
$var{'userDefined4.value'} = $submission->{userDefined4};
$var{'userDefined5.value'} = $submission->{userDefined5};
if ($submission->{image} ne "") {
$file = WebGUI::Attachment->new($submission->{image},$session{form}{wid},$session{form}{sid});
$var{"image.url"} = $file->getURL;