migrate link list to uss
This commit is contained in:
parent
c66612d680
commit
ea970a13ea
5 changed files with 185 additions and 14 deletions
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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&file=image&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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue