various bugfixes on the collaboration system

This commit is contained in:
JT Smith 2005-02-16 00:38:47 +00:00
parent 850404ad3b
commit d361711600
5 changed files with 366 additions and 76 deletions

View file

@ -532,7 +532,6 @@ while (my ($id, $template, $namespace) = $sth->array) {
my $newNamespace;
if ($namespace eq "Forum") {
$newNamespace = "Collaboration";
$template = '<a name="<tmpl_var assetId>"></a><tmpl_if session.var.adminOn><p><tmpl_var controls></p></tmpl_if>'.$template;
} elsif ($namespace eq "Forum/PostForm") {
$newNamespace = "Collaboration/PostForm";
} elsif ($namespace eq "Forum/Search") {
@ -546,6 +545,8 @@ while (my ($id, $template, $namespace) = $sth->array) {
$template =~ s/\<tmpl_var\s+callback\.label\>//ixsg;
$template =~ s/\<tmpl_var\s+forum\.description\>//ixsg;
$template =~ s/\<tmpl_var\s+forum\.title\>//ixsg;
$template =~ s/forum\.title/collaboration.title/ixsg;
$template =~ s/forum\.description/collaboration.description/ixsg;
$template =~ s/forum\.//ixsg;
$template =~ s/thread\.list\.url/collaboration.url/ixsg;
$template =~ s/thread\.new\.url/add.url/ixsg;
@ -608,8 +609,324 @@ while (my ($id, $template, $namespace) = $sth->array) {
WebGUI::SQL->write("update template set template=".quote($template).", namespace=".quote($newNamespace)." where templateId=".quote($id)." and namespace=".quote($namespace));
}
$sth->finish;
my $defaultThread = '
<a name="<tmpl_var assetId>"></a>
<tmpl_if session.var.adminOn>
<p><tmpl_var controls></p>
</tmpl_if>
<style>
.postBorder {
border: 1px solid #cccccc;
width: 100%;
margin-bottom: 10px;
}
.postBorderCurrent {
border: 3px dotted black;
width: 100%;
margin-bottom: 10px;
}
.postSubject {
border-bottom: 1px solid #cccccc;
font-weight: bold;
padding: 3px;
}
.postData {
border-bottom: 1px solid #cccccc;
font-size: 11px;
background-color: #eeeeee;
color: black;
padding: 3px;
}
.postControls {
border-top: 1px solid #cccccc;
background-color: #eeeeee;
color: black;
padding: 3px;
}
.postMessage {
padding: 3px;
}
.currentThread {
background-color: #eeeeee;
}
.threadHead {
font-weight: bold;
border-bottom: 1px solid #cccccc;
font-size: 11px;
background-color: #eeeeee;
color: black;
padding: 3px;
}
.threadData {
font-size: 11px;
padding: 3px;
}
</style>
<div style="float: left; width: 70%">
<h1><a href="<tmpl_var collaboration.url>"><tmpl_var collaboration.title></a></h1>
</div>
<div style="width: 30%; float: left; text-align: right;">
<script language="JavaScript" type="text/javascript"> <!--
function goLayout(){
location = document.layout.layoutSelect.options[document.layout.layoutSelect.selectedIndex].value
}
//-->
</script>
<form name="layout">
<select name="layoutSelect" size="1" onChange="goLayout()">
<option value="<tmpl_var layout.flat.url>" <tmpl_if layout.isFlat>selected="1"</tmpl_if>><tmpl_var layout.flat.label></option>
<option value="<tmpl_var layout.nested.url>" <tmpl_if layout.isNested>selected="1"</tmpl_if>><tmpl_var layout.nested.label></option>
<option value="<tmpl_var layout.threaded.url>" <tmpl_if layout.isThreaded>selected="1"</tmpl_if>><tmpl_var layout.threaded.label></option>
</select>
</form>
</div>
<div style="clear: both;"></div>
<tmpl_if layout.isThreaded>
<!-- begin threaded layout -->
<tmpl_loop post_loop>
<tmpl_if isCurrent>
<div class="postBorder">
<a name="<tmpl_var assetId>"></a>
<div class="postSubject">
<tmpl_var title>
</div>
<div class="postData">
<div style="float: left; width: 50%;">
<b><tmpl_var user.label>:</b>
<tmpl_if user.isVisitor>
<tmpl_var username>
<tmpl_else>
<a href="<tmpl_var userProfile.url>"><tmpl_var username></a>
</tmpl_if>
<br />
<b><tmpl_var date.label>:</b> <tmpl_var dateSubmitted.human><br />
</div>
<div>
<b><tmpl_var views.label>:</b> <tmpl_var views><br />
<b><tmpl_var rating.label>:</b> <tmpl_var rating>
<tmpl_unless hasRated>
&nbsp; &nbsp;<tmpl_var rate.label> [ <a href="<tmpl_var rate.url.1>">1</a>, <a href="<tmpl_var rate.url.2>">2</a>, <a href="<tmpl_var rate.url.3>">3</a>, <a href="<tmpl_var rate.url.4>">4</a>, <a href="<tmpl_var rate.url.5>">5</a> ]
</tmpl_unless>
<br />
<tmpl_if user.isModerator>
<b><tmpl_var status.label>:</b> <tmpl_var status> &nbsp; &nbsp; [ <a href="<tmpl_var approve.url>"><tmpl_var approve.label></a> | <a href="<tmpl_var deny.url>"><tmpl_var deny.label></a> ]<br />
<tmpl_else>
<tmpl_if user.isPoster>
<b><tmpl_var status.label>:</b> <tmpl_var status><br />
</tmpl_if>
</tmpl_if>
</div>
</div>
<div class="postMessage">
<tmpl_var content>
</div>
<tmpl_unless isLocked>
<div class="postControls">
<tmpl_if user.canReply>
<a href="<tmpl_var reply.url>">[<tmpl_var reply.label>]</a>
</tmpl_if>
<tmpl_if user.canEdit>
<a href="<tmpl_var edit.url>">[<tmpl_var edit.label>]</a>
<a href="<tmpl_var delete.url>">[<tmpl_var delete.label>]</a>
</tmpl_if>
</div>
</tmpl_unless>
</div>
</tmpl_if>
</tmpl_loop>
<table style="width: 100%">
<thead>
<tr>
<td class="threadHead"><tmpl_var subject.label></td>
<td class="threadHead"><tmpl_var user.label></td>
<td class="threadHead"><tmpl_var date.label></td>
</tr>
</thead>
<tbody>
<tmpl_loop post_loop>
<tr <tmpl_if isCurrent>class="currentThread"</tmpl_if>>
<td class="threadData"><tmpl_loop indent_loop>&nbsp; &nbsp;</tmpl_loop><a href="<tmpl_var url>"><tmpl_var title.short></a></td>
<td class="threadData"><tmpl_var username></td>
<td class="threadData"><tmpl_var dateSubmitted.human></td>
</tr>
</tmpl_loop>
</tbody>
</table>
<!-- end threaded layout -->
</tmpl_if>
<tmpl_if layout.isFlat>
<!-- begin flat layout -->
<tmpl_loop post_loop>
<div class="postBorder<tmpl_if isCurrent>Current</tmpl_if>">
<a name="<tmpl_var assetId>"></a>
<div class="postSubject">
<tmpl_var title>
</div>
<div class="postData">
<div style="float: left; width: 50%">
<b><tmpl_var user.label>:</b>
<tmpl_if user.isVisitor>
<tmpl_var username>
<tmpl_else>
<a href="<tmpl_var userProfile.url>"><tmpl_var username></a>
</tmpl_if>
<br />
<b><tmpl_var date.label>:</b> <tmpl_var dateSubmitted.human><br />
</div>
<div>
<b><tmpl_var views.label>:</b> <tmpl_var views><br />
<b><tmpl_var rating.label>:</b> <tmpl_var rating>
<tmpl_unless hasRated>
&nbsp; &nbsp;<tmpl_var rate.label> [ <a href="<tmpl_var rate.url.1>">1</a>, <a href="<tmpl_var rate.url.2>">2</a>, <a href="<tmpl_var rate.url.3>">3</a>, <a href="<tmpl_var rate.url.4>">4</a>, <a href="<tmpl_var rate.url.5>">5</a> ]
</tmpl_unless>
<br />
<tmpl_if user.isModerator>
<b><tmpl_var status.label>:</b> <tmpl_var status> &nbsp; &nbsp; [ <a href="<tmpl_var approve.url>"><tmpl_var approve.label></a> | <a href="<tmpl_var deny.url>"><tmpl_var deny.label></a> ]<br />
<tmpl_else>
<tmpl_if user.isPoster>
<b><tmpl_var status.label>:</b> <tmpl_var status><br />
</tmpl_if>
</tmpl_if>
</div>
</div>
<div class="postMessage">
<tmpl_var content>
</div>
<tmpl_unless isLocked>
<div class="postControls">
<tmpl_if user.canReply>
<a href="<tmpl_var reply.url>">[<tmpl_var reply.label>]</a>
</tmpl_if>
<tmpl_if user.canEdit>
<a href="<tmpl_var edit.url>">[<tmpl_var edit.label>]</a>
<a href="<tmpl_var delete.url>">[<tmpl_var delete.label>]</a>
</tmpl_if>
</div>
</tmpl_unless>
</div>
</tmpl_loop>
<!-- end flat layout -->
</tmpl_if>
<tmpl_if layout.isNested>
<!-- begin nested layout -->
<tmpl_loop post_loop>
<div style="margin-left: <tmpl_var depthX10>px;">
<div class="postBorder<tmpl_if isCurrent>Current</tmpl_if>">
<a name="<tmpl_var assetId>"></a>
<div class="postSubject">
<tmpl_var title>
</div>
<div class="postData">
<div style="float: left; width: 50%">
<b><tmpl_var user.label>:</b>
<tmpl_if user.isVisitor>
<tmpl_var username>
<tmpl_else>
<a href="<tmpl_var userProfile.url>"><tmpl_var username></a>
</tmpl_if>
<br />
<b><tmpl_var date.label>:</b> <tmpl_var dateSubmitted.human><br />
</div>
<div>
<b><tmpl_var views.label>:</b> <tmpl_var views><br />
<b><tmpl_var rating.label>:</b> <tmpl_var rating>
<tmpl_unless hasRated>
&nbsp; &nbsp;<tmpl_var rate.label> [ <a href="<tmpl_var rate.url.1>">1</a>, <a href="<tmpl_var rate.url.2>">2</a>, <a href="<tmpl_var rate.url.3>">3</a>, <a href="<tmpl_var rate.url.4>">4</a>, <a href="<tmpl_var rate.url.5>">5</a> ]
</tmpl_unless>
<br />
<tmpl_if user.isModerator>
<b><tmpl_var status.label>:</b> <tmpl_var status> &nbsp; &nbsp; [ <a href="<tmpl_var approve.url>"><tmpl_var approve.label></a> | <a href="<tmpl_var deny.url>"><tmpl_var deny.label></a> ]<br />
<tmpl_else>
<tmpl_if user.isPoster>
<b><tmpl_var status.label>:</b> <tmpl_var status><br />
</tmpl_if>
</tmpl_if>
</div>
</div>
<div class="postMessage">
<tmpl_var content>
</div>
<tmpl_unless isLocked>
<div class="postControls">
<tmpl_if user.canReply>
<a href="<tmpl_var reply.url>">[<tmpl_var reply.label>]</a>
</tmpl_if>
<tmpl_if user.canEdit>
<a href="<tmpl_var edit.url>">[<tmpl_var edit.label>]</a>
<a href="<tmpl_var delete.url>">[<tmpl_var delete.label>]</a>
</tmpl_if>
</div>
</tmpl_unless>
</div>
</div>
</tmpl_loop>
<!-- end nested layout -->
</tmpl_if>
<tmpl_if pagination.pageCount.isMultiple>
<div class="pagination" style="margin-top: 20px;">
[ <tmpl_var pagination.previousPage> | <tmpl_var pagination.pageList.upTo10> | <tmpl_var pagination.nextPage> ]
</div>
</tmpl_if>
<div style="margin-top: 20px;">
<tmpl_if previous.url>
<a href="<tmpl_var previous.url>">[<tmpl_var previous.label>]</a>
</tmpl_if>
<tmpl_if next.url>
<a href="<tmpl_var next.url>">[<tmpl_var next.label>]</a>
</tmpl_if>
<tmpl_if user.canPost>
<a href="<tmpl_var add.url>">[<tmpl_var add.label>]</a>
</tmpl_if>
<tmpl_if user.isModerator>
<tmpl_if isSticky>
<a href="<tmpl_var unstick.url>">[<tmpl_var unstick.label>]</a>
<tmpl_else>
<a href="<tmpl_var stick.url>">[<tmpl_var stick.label>]</a>
</tmpl_if>
<tmpl_if isLocked>
<a href="<tmpl_var unlock.url>">[<tmpl_var unlock.label>]</a>
<tmpl_else>
<a href="<tmpl_var lock.url>">[<tmpl_var lock.label>]</a>
</tmpl_if>
</tmpl_if>
<tmpl_unless user.isVisitor>
<tmpl_if user.isSubscribed>
<a href="<tmpl_var unsubscribe.url>">[<tmpl_var unsubscribe.label>]</a>
<tmpl_else>
<a href="<tmpl_var subscribe.url>">[<tmpl_var subscribe.label>]</a>
</tmpl_if>
</tmpl_unless>
</div>
';
WebGUI::SQL->write("update template set template=".quote($defaultThread)." where templateId='25' and namespace='Collaboration/Thread'");
print "\tMigrating USS templates to collaboration templates\n" unless ($quiet);
my $sth = WebGUI::SQL->read("select templateId,template,namespace from template where namespace in ('USS','USS/Submission','USS/SubmissionForm')");