diff options
| author | randomdan <randomdan@localhost> | 2010-06-11 09:03:42 +0000 | 
|---|---|---|
| committer | randomdan <randomdan@localhost> | 2010-06-11 09:03:42 +0000 | 
| commit | 6d9685a710718cef286293bf98e500a5b68c5f14 (patch) | |
| tree | d8ebe1e10195761ac442292e63f120c085f60435 | |
| parent | Add top level browse page (diff) | |
| download | gentoobrowse-6d9685a710718cef286293bf98e500a5b68c5f14.tar.bz2 gentoobrowse-6d9685a710718cef286293bf98e500a5b68c5f14.tar.xz gentoobrowse-6d9685a710718cef286293bf98e500a5b68c5f14.zip | |
Use Glib::ustring in libodbcpp for data and std::string for non-data
Add support for parameters in SqlViews
Uses parameters to implement category browse and search
| -rw-r--r-- | gentoobrowse/base.xslt | 15 | ||||
| -rw-r--r-- | gentoobrowse/present/category.xml | 4 | ||||
| -rw-r--r-- | gentoobrowse/present/search.xml | 4 | ||||
| -rw-r--r-- | gentoobrowse/search.xslt | 6 | ||||
| -rw-r--r-- | gentoobrowse/views/category.xml | 16 | ||||
| -rw-r--r-- | gentoobrowse/views/search.xml | 19 | 
6 files changed, 57 insertions, 7 deletions
| diff --git a/gentoobrowse/base.xslt b/gentoobrowse/base.xslt index b723c59..803d56a 100644 --- a/gentoobrowse/base.xslt +++ b/gentoobrowse/base.xslt @@ -35,10 +35,17 @@  			</div>  			<div class="poweredby">  				Powered by -				<a href="http://www.gentoo.org/">Gentoo</a>, -				<a href="http://httpd.apache.org/">Apache</a>, -				<a href="http://www.postgresql.org/">PostgreSQL</a> and -				<a href="http://www.w3.org/TR/xslt">XSLT</a> - Driven by dbweb +				<a href="http://www.gentoo.org/">Gentoo</a> +				| +				<a href="http://www.postgresql.org/">PostgreSQL</a> +				| +				<a href="http://httpd.apache.org/">Apache</a> +				| +				<a href="http://www.fastcgi.com/drupal/">FastCGI</a> +				| +				<a href="http://www.w3.org/TR/xslt">XSLT</a> +				| +				<a href="http://project2.randomdan.homeip.net">Project2</a>  			</div>  		</body>  	</html> diff --git a/gentoobrowse/present/category.xml b/gentoobrowse/present/category.xml new file mode 100644 index 0000000..d6c4748 --- /dev/null +++ b/gentoobrowse/present/category.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<view name="category" root="gentoo" style="browse.xslt" xmlns:xi="http://www.w3.org/2001/XInclude"> +	<xi:include href="../views/category.xml" /> +</view> diff --git a/gentoobrowse/present/search.xml b/gentoobrowse/present/search.xml new file mode 100644 index 0000000..26c7c1d --- /dev/null +++ b/gentoobrowse/present/search.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<view name="search" root="gentoo" style="search.xslt" xmlns:xi="http://www.w3.org/2001/XInclude"> +	<xi:include href="../views/search.xml" /> +</view> diff --git a/gentoobrowse/search.xslt b/gentoobrowse/search.xslt index c17a5a8..74a791d 100644 --- a/gentoobrowse/search.xslt +++ b/gentoobrowse/search.xslt @@ -1,6 +1,6 @@  <?xml version="1.0" encoding="UTF-8" ?>  <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" -	xmlns:dbweb="http://dbweb.randomdan.homeip.net/"> +	xmlns:project2="http://project2.randomdan.homeip.net/">  	<xsl:import href="base.xslt" />    <xsl:output  encoding="utf-8"  method="html" media-type="text/html" indent="yes"      doctype-system="http://www.w3.org/TR/html4/loose.dtd" @@ -10,7 +10,7 @@  	<form action="/search" method="get">  		<input type="textbox" name="criteria">  			<xsl:attribute name="value"> -				<xsl:value-of select="/gentoo/dbweb:params/dbweb:param[@name='criteria']" /> +				<xsl:value-of select="/gentoo/project2:params/project2:param[@name='criteria']" />  			</xsl:attribute>  		</input>  		<input type="submit" /> @@ -18,7 +18,7 @@  	<xsl:apply-templates select="/gentoo/searchResults" />    </xsl:template>    <xsl:template match="/gentoo/searchResults"> -	<xsl:if test="/gentoo/dbweb:params/dbweb:param[@name='criteria'] != ''"> +	<xsl:if test="/gentoo/project2:params/project2:param[@name='criteria'] != ''">  		<xsl:if test="count(/gentoo/searchResults/package) > 0">  			<h2>Search Results</h2>  			<ul> diff --git a/gentoobrowse/views/category.xml b/gentoobrowse/views/category.xml new file mode 100644 index 0000000..5e4644e --- /dev/null +++ b/gentoobrowse/views/category.xml @@ -0,0 +1,16 @@ +<?xml version="1.0"?> +<block xmlns:xi="http://www.w3.org/2001/XInclude"> +	<xi:include href="../datasources/postgres.xml" /> +	<sqlview name="packages" recordname="package" datasource="postgres"> +		<sql> +			SELECT c.name AS catname, p.name AS pkgname, p.description +			FROM categories c, packages p +			WHERE c.categoryid = p.categoryid +			AND c.name = ? +			ORDER BY p.name +		</sql> +		<parameters> +			<param bind="0" id="1" source="uri" /> +		</parameters> +	</sqlview> +</block> diff --git a/gentoobrowse/views/search.xml b/gentoobrowse/views/search.xml new file mode 100644 index 0000000..538e852 --- /dev/null +++ b/gentoobrowse/views/search.xml @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<block xmlns:xi="http://www.w3.org/2001/XInclude"> +	<xi:include href="../datasources/postgres.xml" /> +	<sqlview name="searchResults" recordname="package" datasource="postgres"> +		<sql> +			select c.name as catname, p.name as pkgname, description, +				ts_rank((setweight(to_tsvector('english', p.name), 'A') || setweight(to_tsvector('english', p.description), 'B')),  +				plainto_tsquery('english', ?)) as rank +			from packages p, categories c +			where (setweight(to_tsvector('english', p.name), 'A') || setweight(to_tsvector('english', p.description), 'B')) @@ plainto_tsquery('english', ?) +			and p.categoryid = c.categoryid +			order by rank desc, p.name +		</sql> +		<parameters> +			<param bind="0" id="criteria" source="query" /> +			<param bind="1" id="criteria" source="query" /> +		</parameters> +	</sqlview> +</block> | 
