added matrix asset
This commit is contained in:
parent
9fda810ad0
commit
f98ac111f9
6 changed files with 2544 additions and 0 deletions
|
|
@ -35,8 +35,573 @@ addAvatarField();
|
|||
addEnableAvatarColumn();
|
||||
addSpectre();
|
||||
addWorkflow();
|
||||
addMatrix();
|
||||
finish();
|
||||
|
||||
#-------------------------------------------------
|
||||
sub addMatrix {
|
||||
print "\tAdding Matrix Asset\n" unless ($quiet);
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix_rating` (
|
||||
`timeStamp` int(11) NOT NULL default '0',
|
||||
`category` varchar(255) default NULL,
|
||||
`rating` int(11) NOT NULL default '1',
|
||||
`listingId` varchar(22) binary NOT NULL default '',
|
||||
`ipAddress` varchar(15) default NULL,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
`userId` varchar(22) binary default NULL
|
||||
) ");
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix_listingData` (
|
||||
`listingId` varchar(22) binary NOT NULL default '',
|
||||
`fieldId` varchar(22) binary NOT NULL default '',
|
||||
`value` varchar(255) default NULL,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
PRIMARY KEY (`listingId`,`fieldId`)
|
||||
) ");
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix_field` (
|
||||
`fieldId` varchar(22) binary NOT NULL default '',
|
||||
`category` varchar(255) NOT NULL default '',
|
||||
`name` varchar(255) default NULL,
|
||||
`label` varchar(255) default NULL,
|
||||
`description` text,
|
||||
`fieldType` varchar(35) default NULL,
|
||||
`defaultValue` varchar(255) default NULL,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
PRIMARY KEY (`fieldId`),
|
||||
KEY `categoryIndex` (`category`)
|
||||
) ");
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix_ratingSummary` (
|
||||
`listingId` varchar(22) binary NOT NULL default '',
|
||||
`category` varchar(255) NOT NULL default '',
|
||||
`meanValue` decimal(3,2) default NULL,
|
||||
`medianValue` int(11) default NULL,
|
||||
`countValue` int(11) default NULL,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
PRIMARY KEY (`listingId`,`category`)
|
||||
)");
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix` (
|
||||
`detailTemplateId` varchar(22) binary default NULL,
|
||||
`compareTemplateId` varchar(22) binary default NULL,
|
||||
`searchTemplateId` varchar(22) binary default NULL,
|
||||
`ratingDetailTemplateId` varchar(22) binary default NULL,
|
||||
`categories` text,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
`templateId` varchar(22) binary NOT NULL default '',
|
||||
`revisionDate` bigint(20) NOT NULL default '0',
|
||||
`maxComparisons` int(11) NOT NULL default '10',
|
||||
`maxComparisonsPrivileged` int(11) NOT NULL default '10',
|
||||
`privilegedGroup` varchar(22) binary NOT NULL default '2',
|
||||
`groupToRate` varchar(22) binary NOT NULL default '2',
|
||||
`ratingTimeout` int(11) NOT NULL default '31536000',
|
||||
`ratingTimeoutPrivileged` int(11) NOT NULL default '31536000',
|
||||
`groupToAdd` varchar(22) binary NOT NULL default '2',
|
||||
PRIMARY KEY (`assetId`,`revisionDate`)
|
||||
) ");
|
||||
WebGUI::SQL->write("CREATE TABLE `Matrix_listing` (
|
||||
`listingId` varchar(22) binary NOT NULL default '',
|
||||
`maintainerId` varchar(22) binary default NULL,
|
||||
`forumId` varchar(22) binary default NULL,
|
||||
`productName` varchar(255) default NULL,
|
||||
`productUrl` text,
|
||||
`manufacturerName` varchar(255) default NULL,
|
||||
`manufacturerUrl` text,
|
||||
`description` text,
|
||||
`lastUpdated` int(11) default NULL,
|
||||
`versionNumber` varchar(30) default NULL,
|
||||
`views` int(11) NOT NULL default '0',
|
||||
`compares` int(11) NOT NULL default '0',
|
||||
`clicks` int(11) NOT NULL default '0',
|
||||
`status` varchar(30) NOT NULL default 'pending',
|
||||
`clicksLastIp` varchar(16) default NULL,
|
||||
`viewsLastIp` varchar(16) default NULL,
|
||||
`comparesLastIp` varchar(16) default NULL,
|
||||
`assetId` varchar(22) binary NOT NULL default '',
|
||||
PRIMARY KEY (`listingId`)
|
||||
) ");
|
||||
my $import = WebGUI::Asset->getImportNode;
|
||||
my $folder = $import->addChild({
|
||||
title=>"Matrix Templates",
|
||||
menuTitle=>"Matrix Templates",
|
||||
className=>"WebGUI::Asset::Wobject::Folder",
|
||||
url=>"matrix-templates",
|
||||
});
|
||||
my $template = <<STOP;
|
||||
<h1>Comparison</h1>
|
||||
<table cellpadding="0" cellspacing="0" border="0" style="font-size: 11px; font-family: helvetica, arial, sans-serif;">
|
||||
|
||||
<tr>
|
||||
<td valign="top"><tmpl_var compare.form></td>
|
||||
|
||||
<td valign="top">
|
||||
|
||||
<tmpl_if isTooMany>
|
||||
You tried to compare too many listings. Please choose <tmpl_var maxCompares> or less at a time.
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if isTooFew>
|
||||
You must choose at least two products to compare. Less than two isn't much of a comparison.
|
||||
</tmpl_if>
|
||||
|
||||
|
||||
<tmpl_unless isTooFew><tmpl_unless isTooMany>
|
||||
|
||||
|
||||
<table style="font-size: 11px; font-family: helvetica, arial, sans-serif;" align="center" cellpadding="1" cellspacing="1" border="0">
|
||||
<tr>
|
||||
<td>Product</td>
|
||||
<tmpl_loop product_loop>
|
||||
<td><a href="<tmpl_var url>"><tmpl_var name> <tmpl_var version></a></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Last Updated</td>
|
||||
<tmpl_loop lastupdated_loop>
|
||||
<td><tmpl_var lastupdated></a></td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
|
||||
<tmpl_loop category_loop>
|
||||
<tr><td class="category"><tmpl_var category></td>
|
||||
<tmpl_loop product_loop>
|
||||
<td align="center"><b><tmpl_var name></b></td>
|
||||
</tmpl_loop>
|
||||
|
||||
|
||||
</tr>
|
||||
<tmpl_loop row_loop>
|
||||
<tr
|
||||
<tmpl_if __ODD__>
|
||||
class="odd"
|
||||
<tmpl_else>
|
||||
class="even"
|
||||
</tmpl_if>
|
||||
>
|
||||
<tmpl_loop column_loop>
|
||||
<td class="<tmpl_var class>" <tmpl_if description>onmouseover="return escape('<tmpl_var description>')"</tmpl_if>>
|
||||
<tmpl_var value>
|
||||
</td>
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
|
||||
|
||||
</tmpl_unless></tmpl_unless>
|
||||
|
||||
</td></tr></table>
|
||||
STOP
|
||||
my $newAsset = $folder->addChild({
|
||||
title=>"Matrix Default Compare",
|
||||
menuTitle=>"Matrix Default Compare",
|
||||
namespace=>"Matrix/Compare",
|
||||
url=>"matrix-default-compare-template",
|
||||
className=>"WebGUI::Asset::Template",
|
||||
template=>$template
|
||||
}, "matrixtmpl000000000002");
|
||||
$newAsset->commit;
|
||||
$template = <<STOP;
|
||||
<tmpl_if session.var.adminOn>
|
||||
<p><tmpl_var toolbar></p>
|
||||
</tmpl_if>
|
||||
<h1><tmpl_var title></h1>
|
||||
|
||||
<tmpl_if description>
|
||||
<tmpl_var description><br /><br />
|
||||
</tmpl_if>
|
||||
|
||||
<table class="content" width="100%">
|
||||
<tr><td valign="top" width="50%">
|
||||
<p>Use the form below to select up to <tmpl_var maxCompares> listings to compare at once.
|
||||
</p>
|
||||
<tmpl_var compare.form>
|
||||
|
||||
</td><td valign="top">
|
||||
|
||||
|
||||
<p>
|
||||
<b>Narrow The Matrix</b><br>
|
||||
You can narrow the scope of the matrix by <a href="<tmpl_var search.url>">searching</a> for exactly the criteria you're looking for in a listing.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
<br><b>Expand The Matrix</b><br>
|
||||
<tmpl_if isLoggedIn>
|
||||
<a href="<tmpl_var listing.add.url>">Click here to add a new listing.</a> Please note that you will be the official maintainer of the listing, and will be responsible for keeping it up to date.
|
||||
<tmpl_else>
|
||||
If you are the maker of a product, or are an expert user and are willing to maintain the listing, <a href="^a(linkonly);">create an account</a> so you can register your listing.
|
||||
</tmpl_if>
|
||||
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<br><b>Listing Statistics</b><br>
|
||||
<table class="content">
|
||||
<tr>
|
||||
<td>Most clicks:</td>
|
||||
<td><tmpl_var best.clicks.count></td>
|
||||
<td><a href="<tmpl_var best.clicks.url>"><tmpl_var best.clicks.name></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Most views:</td>
|
||||
<td><tmpl_var best.views.count></td>
|
||||
<td><a href="<tmpl_var best.views.url>"><tmpl_var best.views.name></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Most compares:</td>
|
||||
<td><tmpl_var best.compares.count></td>
|
||||
<td><a href="<tmpl_var best.compares.url>"><tmpl_var best.compares.name></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Most recently updated:</td>
|
||||
<td><tmpl_var best.updated.date></td>
|
||||
<td><a href="<tmpl_var best.updated.url>"><tmpl_var best.updated.name></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><hr size="1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" colspan="3">Best Rated By Users</td>
|
||||
</tr>
|
||||
<tmpl_loop best_rating_loop>
|
||||
<tr>
|
||||
<td><tmpl_var category></td>
|
||||
<td><tmpl_var mean>/10</td>
|
||||
<td><a href="<tmpl_var url>"><tmpl_var name></a></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
|
||||
|
||||
<tr>
|
||||
<td colspan="3"><hr size="1"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" align="center"><a href="<tmpl_var ratings.details.url>">View Ratings Details</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><hr size="1"></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td align="center" colspan="3">Worst Rated By Users</td>
|
||||
</tr>
|
||||
<tmpl_loop worst_rating_loop>
|
||||
<tr>
|
||||
<td><tmpl_var category></td>
|
||||
<td><tmpl_var mean>/10</td>
|
||||
<td><a href="<tmpl_var url>"><tmpl_var name></a></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
|
||||
<tr>
|
||||
<td colspan="3"><hr size="1"></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
<br>
|
||||
<br><b>Site Statistics</b><br>
|
||||
<table class="content">
|
||||
<tr>
|
||||
<td>Listing Count:</td>
|
||||
<td><tmpl_var listing.count></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Current Visitors:</td>
|
||||
<td><tmpl_var current.user.count></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Registered Users:</td>
|
||||
<td><tmpl_var user.count></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
<tmpl_if session.var.adminOn>
|
||||
<p> <a href="<tmpl_var field.list.url>">List Fields</a>
|
||||
</p>
|
||||
<tmpl_if pending_list>
|
||||
<b>PENDING LISTINGS:</b>
|
||||
</tmpl_if>
|
||||
<ul>
|
||||
<tmpl_loop pending_list>
|
||||
<li><a href="<tmpl_var url>"><tmpl_var productName></a></li>
|
||||
</tmpl_loop>
|
||||
</ul>
|
||||
</tmpl_if>
|
||||
|
||||
</td></tr></table>
|
||||
STOP
|
||||
$newAsset = $folder->addChild({
|
||||
title=>"Matrix Default View",
|
||||
menuTitle=>"Matrix Default View",
|
||||
namespace=>"Matrix",
|
||||
url=>"matrix-default-view-template",
|
||||
className=>"WebGUI::Asset::Template",
|
||||
template=>$template
|
||||
}, "matrixtmpl000000000001");
|
||||
$newAsset->commit;
|
||||
$template = <<STOP;
|
||||
<style>
|
||||
.ratingForm {
|
||||
font-size: 9px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<h1><tmpl_var productName></h1>
|
||||
|
||||
|
||||
<table class="content">
|
||||
<tr><td valign="top">
|
||||
|
||||
<table class="content">
|
||||
<tr><td><b>Web Site</b></td><td><a target="_blank" href="<tmpl_var productUrl.click>"><tmpl_var productUrl></a></td></tr>
|
||||
<tr><td><b>Version Number</b></td><td><tmpl_var versionNumber></td></tr>
|
||||
<tr><td><b>Manufacturer</b></td><td><a target="_blank" href="<tmpl_var manufacturerUrl.click>"><tmpl_var manufacturerName></a></td></tr>
|
||||
<tr><td><b>Last Updated</b></td><td><tmpl_var lastUpdated.date></td></tr>
|
||||
<tr><td><b>Clicks</b></td><td><tmpl_var clicks></td></tr>
|
||||
<tr><td><b>Views</b></td><td><tmpl_var views></td></tr>
|
||||
<tr><td><b>Compares</b></td><td><tmpl_var compares></td></tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
|
||||
<td valign="top"> </td>
|
||||
<td valign="top">
|
||||
<tmpl_if description>
|
||||
<b>Description</b><br /><tmpl_var description><br /><br />
|
||||
</tmpl_if>
|
||||
|
||||
<b>Contact Maintainer</b><br />
|
||||
<tmpl_if email.wasSent>
|
||||
<div style="color: green;">Message sent.<br /></div>
|
||||
</tmpl_if>
|
||||
<tmpl_var email.form>
|
||||
</td>
|
||||
|
||||
|
||||
<td valign="top"> </td>
|
||||
<td valign="top">
|
||||
<tmpl_var ratings>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
<p />
|
||||
|
||||
|
||||
<table width="100%" class="content">
|
||||
<tr>
|
||||
<td valign="top" width="50%">
|
||||
<span class="category">Features</span>
|
||||
<table class="content" width="180">
|
||||
|
||||
<tmpl_loop features_loop>
|
||||
<tr
|
||||
<tmpl_if __ODD__>
|
||||
class="odd"
|
||||
<tmpl_else>
|
||||
class="even"
|
||||
</tmpl_if>
|
||||
>
|
||||
<td onmouseover="return escape('<tmpl_var description>')"><tmpl_var label></td><td><tmpl_var value></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
<p />
|
||||
|
||||
|
||||
</td>
|
||||
<td valign="top" width="50%">
|
||||
|
||||
<span class="category">Benefits</span>
|
||||
<table class="content" width="180">
|
||||
<tmpl_loop benefits_loop>
|
||||
<tr
|
||||
<tmpl_if __ODD__>
|
||||
class="odd"
|
||||
<tmpl_else>
|
||||
class="even"
|
||||
</tmpl_if>
|
||||
>
|
||||
<td onmouseover="return escape('<tmpl_var description>')"><tmpl_var label></td><td class="<tmpl_var class>"><tmpl_var value></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<p />
|
||||
|
||||
<tmpl_var discussion>
|
||||
|
||||
|
||||
<tmpl_if user.canEdit>
|
||||
<br /> <hr /><a href="<tmpl_var edit.url>">Edit this listing.</a> <br>
|
||||
</tmpl_if>
|
||||
<tmpl_if user.canApprove>
|
||||
<tmpl_if isPending>
|
||||
<a href="<tmpl_var approve.url>">Approve this listing.</a><br>
|
||||
</tmpl_if>
|
||||
<a href="<tmpl_var delete.url>">Delete this listing.</a><br>
|
||||
|
||||
</tmpl_if>
|
||||
STOP
|
||||
$newAsset = $folder->addChild({
|
||||
title=>"Matrix Default Detailed Listing",
|
||||
menuTitle=>"Matrix Default Detailed Listing",
|
||||
namespace=>"Matrix/Detail",
|
||||
url=>"matrix-default-detailed-listing",
|
||||
className=>"WebGUI::Asset::Template",
|
||||
template=>$template
|
||||
}, "matrixtmpl000000000003");
|
||||
$newAsset->commit;
|
||||
$template = <<STOP;
|
||||
<h1>Rating Detail</h1>
|
||||
|
||||
<table class="content" cellpadding="5" width="60%">
|
||||
<tbody>
|
||||
<tmpl_loop rating_loop>
|
||||
<tmpl_if __ODD__>
|
||||
<tr>
|
||||
</tmpl_if>
|
||||
|
||||
<td width="50%" valign="top">
|
||||
<h2><tmpl_var category></h2>
|
||||
|
||||
<table class="content">
|
||||
<tbody>
|
||||
<tr><th>Listing</th><th>Mean</th><th>Median</th><th>Count</th></tr>
|
||||
<tmpl_loop detail_loop>
|
||||
|
||||
<tr>
|
||||
<td><a href="<tmpl_var url>"><tmpl_var name></a></td>
|
||||
<td><tmpl_var mean></td>
|
||||
<td><tmpl_var median></td>
|
||||
<td><tmpl_var count></td>
|
||||
</tr>
|
||||
|
||||
</tmpl_loop>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
|
||||
<tmpl_if __EVEN__>
|
||||
</tr>
|
||||
</tmpl_if>
|
||||
|
||||
</tmpl_loop>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
STOP
|
||||
$newAsset = $folder->addChild({
|
||||
title=>"Matrix Default Rating Detail",
|
||||
menuTitle=>"Matrix Default Rating Detail",
|
||||
namespace=>"Matrix/RatingDetail",
|
||||
url=>"matrix-rating-detail-template",
|
||||
className=>"WebGUI::Asset::Template",
|
||||
template=>$template
|
||||
}, "matrixtmpl000000000004");
|
||||
$newAsset->commit;
|
||||
$template = <<STOP;
|
||||
<h1>Search The Matrix</h1>
|
||||
|
||||
|
||||
<tmpl_if isTooFew>
|
||||
<p>Your search returned no results. Try specifying a few less criteria.</p>
|
||||
</tmpl_if>
|
||||
|
||||
<tmpl_if isTooMany>
|
||||
<p>
|
||||
Your search returned too many results. Either select up to <tmpl_var maxCompares> products from the list below, or specify more critera.
|
||||
</p>
|
||||
</tmpl_if>
|
||||
|
||||
|
||||
<table width="100%" class="content">
|
||||
<tr><td valign="top">
|
||||
<tmpl_var compare.form>
|
||||
</td><td valign="top">
|
||||
|
||||
|
||||
|
||||
<tmpl_var form.header>
|
||||
<tmpl_var form.submit>
|
||||
|
||||
|
||||
<table width="100%" class="content">
|
||||
<tr>
|
||||
<td valign="top" width="50%">
|
||||
|
||||
|
||||
<span class="category">Features</span>
|
||||
<table class="content" width="180">
|
||||
<tmpl_loop features_loop>
|
||||
<tr
|
||||
<tmpl_if __ODD__>
|
||||
class="odd"
|
||||
<tmpl_else>
|
||||
class="even"
|
||||
</tmpl_if>
|
||||
>
|
||||
<td onmouseover="return escape('<tmpl_var description>')"><tmpl_var label></td><td><tmpl_var form></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
<td valign="top" width="50%">
|
||||
|
||||
<span class="category">Benefits</span>
|
||||
<table class="content">
|
||||
<tmpl_loop benefits_loop>
|
||||
<tr
|
||||
<tmpl_if __ODD__>
|
||||
class="odd"
|
||||
<tmpl_else>
|
||||
class="even"
|
||||
</tmpl_if>
|
||||
>
|
||||
<td onmouseover="return escape('<tmpl_var description>')"><tmpl_var label></td><td><tmpl_var form></td>
|
||||
</tr>
|
||||
</tmpl_loop>
|
||||
</table>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<tmpl_var form.submit>
|
||||
<tmpl_var form.footer>
|
||||
|
||||
|
||||
</td></tr></table>
|
||||
STOP
|
||||
$newAsset = $folder->addChild({
|
||||
title=>"Matrix Default Search",
|
||||
menuTitle=>"Matrix Default Search",
|
||||
namespace=>"Matrix/Search",
|
||||
url=>"matrix-search-template",
|
||||
className=>"WebGUI::Asset::Template",
|
||||
template=>$template
|
||||
}, "matrixtmpl000000000005");
|
||||
$newAsset->commit;
|
||||
}
|
||||
|
||||
#-------------------------------------------------
|
||||
sub updateCollaboration {
|
||||
print "\tAdding collaboration/rss template\n" unless ($quiet);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue