diff options
| author | randomdan <randomdan@localhost> | 2012-03-13 20:17:26 +0000 | 
|---|---|---|
| committer | randomdan <randomdan@localhost> | 2012-03-13 20:17:26 +0000 | 
| commit | 9019eda559a27b9c486fdc8a08a6bca511b764e6 (patch) | |
| tree | 2bbe629fd146253100acfe155d41b8415244fb36 | |
| parent | Fix xsl paths for new output (diff) | |
| download | gentoobrowse-9019eda559a27b9c486fdc8a08a6bca511b764e6.tar.bz2 gentoobrowse-9019eda559a27b9c486fdc8a08a6bca511b764e6.tar.xz gentoobrowse-9019eda559a27b9c486fdc8a08a6bca511b764e6.zip  | |
Minor fixes and add pages for browsing by USE flag
| -rw-r--r-- | gentoobrowse/BingSiteAuth.xml | 4 | ||||
| -rw-r--r-- | gentoobrowse/console/use.local.xml | 4 | ||||
| -rw-r--r-- | gentoobrowse/present/package.xml | 6 | ||||
| -rw-r--r-- | gentoobrowse/present/use.xml | 23 | ||||
| -rw-r--r-- | gentoobrowse/views/search.xml | 13 | ||||
| -rw-r--r-- | gentoobrowse/views/use.xml | 44 | ||||
| -rw-r--r-- | gentoobrowse/xslt/base.xslt | 22 | ||||
| -rw-r--r-- | gentoobrowse/xslt/package.xslt | 26 | ||||
| -rw-r--r-- | gentoobrowse/xslt/use.xslt | 25 | 
9 files changed, 163 insertions, 4 deletions
diff --git a/gentoobrowse/BingSiteAuth.xml b/gentoobrowse/BingSiteAuth.xml new file mode 100644 index 0000000..55f6af2 --- /dev/null +++ b/gentoobrowse/BingSiteAuth.xml @@ -0,0 +1,4 @@ +<?xml version="1.0"?> +<users> +	<user>73B32731E60AB08699031ED48022DB7A</user> +</users>
\ No newline at end of file diff --git a/gentoobrowse/console/use.local.xml b/gentoobrowse/console/use.local.xml index 456c5cc..e35e3ba 100644 --- a/gentoobrowse/console/use.local.xml +++ b/gentoobrowse/console/use.local.xml @@ -19,6 +19,8 @@  	<project2:sqlmerge name="mergeguse" datasource="postgres" targettable="use_local">  		<project2:iterate name="lines" source="cl">  			<project2:iterate name="flags" source="cla"> +				<project2:handler> +					<try>  				<project2:sqlmergeinsert name="insertFile">  					<parameters>  						<packageid source="lookup" name="packageid"> @@ -38,6 +40,8 @@  						<description source="parent" name="description" depth="1" />  					</parameters>  				</project2:sqlmergeinsert> +					</try> +				</project2:handler>  			</project2:iterate>  		</project2:iterate>  		<columns> diff --git a/gentoobrowse/present/package.xml b/gentoobrowse/present/package.xml index 62d4226..db09c42 100644 --- a/gentoobrowse/present/package.xml +++ b/gentoobrowse/present/package.xml @@ -2,6 +2,7 @@  <view name="package" root="gentoo" contenttype="text/xml-xslt" style="xslt/package.xslt" xmlns:xi="http://www.w3.org/2001/XInclude"  		xmlns:project2="http://project2.randomdan.homeip.net">  	<xi:include href="../views/package.xml" /> +	<xi:include href="../views/use.xml" />  	<xi:include href="../views/webcommon.xml" />  	<project2:view name="package" source="packages" rootname="summary" recordname="package" filter="catAndName">  		<parameters> @@ -14,6 +15,11 @@  				<userid source="session" name="loggedInUserID"><default value="0" type="int" /></userid>  			</parameters>  		</project2:view> +		<project2:view name="uses" source="package-uses" rootname="uses" recordname="use" filter="byPackageID"> +			<parameters> +				<packageid source="parent" name="packageid" depth="1" /> +			</parameters> +		</project2:view>  		<project2:view name="versions" source="versions" rootname="versions" recordname="version" filter="pkg">  			<parameters>  				<pkgid source="parent" name="packageid" depth="1" /> diff --git a/gentoobrowse/present/use.xml b/gentoobrowse/present/use.xml new file mode 100644 index 0000000..b1ae7b1 --- /dev/null +++ b/gentoobrowse/present/use.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<view name="popular" root="gentoo" contenttype="text/xml-xslt" style="xslt/use.xslt" xmlns:xi="http://www.w3.org/2001/XInclude" +		xmlns:project2="http://project2.randomdan.homeip.net"> +	<xi:include href="../views/search.xml" /> +	<xi:include href="../views/use.xml" /> +	<xi:include href="../views/webcommon.xml" /> +	<project2:view name="packagesLocalDef" source="use-local" rootname="local" recordname="use" filter="use"> +		<parameters> +			<use source="uri" index="1" /> +		</parameters> +	</project2:view> +	<project2:view name="packagesGlobalDef" source="use-global" rootname="global" recordname="use" filter="use"> +		<parameters> +			<use source="uri" index="1" /> +		</parameters> +	</project2:view> +	<project2:view name="packagesWithUse" source="packagesWithUse" rootname="packages" recordname="package" filter="byUse"> +		<parameters> +			<use source="uri" index="1" /> +		</parameters> +	</project2:view> +</view> + diff --git a/gentoobrowse/views/search.xml b/gentoobrowse/views/search.xml index b3a5ed2..db08d33 100644 --- a/gentoobrowse/views/search.xml +++ b/gentoobrowse/views/search.xml @@ -30,6 +30,19 @@  			</filter>  		</sql>  	</project2:sqlrows> +	<project2:sqlrows name="packagesWithUse" datasource="postgres-web"> +		<sql> +			SELECT DISTINCT p.packageid, c.name AS catname, p.name AS pkgname, description +			FROM ebuild_uses eu, ebuilds e, packages p, categories c +			WHERE e.ebuildid = eu.ebuildid +			AND e.packageid = p.packageid +			AND p.categoryid = c.categoryid +			<filter name="byUse"> +				AND eu.use = <param name="use" /> +			</filter> +			ORDER BY c.name, p.name +		</sql> +	</project2:sqlrows>  	<project2:sqlrows name="packagesInHerd" datasource="postgres-web">  		<sql>  			SELECT c.name as catname, p.name as pkgname, description diff --git a/gentoobrowse/views/use.xml b/gentoobrowse/views/use.xml new file mode 100644 index 0000000..f0938bd --- /dev/null +++ b/gentoobrowse/views/use.xml @@ -0,0 +1,44 @@ +<?xml version="1.0"?> +<block xmlns:xi="http://www.w3.org/2001/XInclude" +		xmlns:project2="http://project2.randomdan.homeip.net"> +	<project2:sqlrows name="package-uses" datasource="postgres-web"> +		<sql> +			SELECT LTRIM(p.use, '+') AS use, COALESCE(MIN(l.description), MIN(g.description)) AS description +			FROM (SELECT e.packageid, u.use +					FROM ebuilds e, ebuild_uses u +					WHERE e.ebuildid = u.ebuildid +					<filter name="byPackageID"> +						AND e.packageid = <param name="packageid" /> +					</filter>) AS p +				LEFT OUTER JOIN use_global g ON LTRIM(p.use, '+') = g.use +				LEFT OUTER JOIN use_local l ON LTRIM(p.use, '+') = l.use +			AND (l.packageid = p.packageid OR l.packageid IS NULL) +			AND (l.description IS NOT NULL OR g.description IS NOT NULL) +			GROUP BY LTRIM(p.use, '+') +			ORDER BY LTRIM(p.use, '+') +		</sql> +	</project2:sqlrows> +	<project2:sqlrows name="use-global" datasource="postgres-web"> +		<sql> +			SELECT use, description +			FROM use_global +			<filter name="use"> +				WHERE use = <param name="use" /> +			</filter> +		</sql> +	</project2:sqlrows> +	<project2:sqlrows name="use-local" datasource="postgres-web"> +		<sql> +			SELECT packageid, use, description +			FROM use_local +			<filter name="use"> +				WHERE use = <param name="use" /> +				ORDER BY packageid +			</filter> +			<filter name="package"> +				WHERE packageid = <param name="packageid" /> +				ORDER BY use +			</filter> +		</sql> +	</project2:sqlrows> +</block> diff --git a/gentoobrowse/xslt/base.xslt b/gentoobrowse/xslt/base.xslt index e1c721f..88bea15 100644 --- a/gentoobrowse/xslt/base.xslt +++ b/gentoobrowse/xslt/base.xslt @@ -29,10 +29,10 @@  						<li><a href="/categories">Browse</a></li>  						<li><a href="/popular">Popular</a></li>  						<li><a href="JavaScript: void(0);" onclick="toggleForm('#search');" rel="nofollow">Search</a></li> -						<xsl:if test="count(/gentoo/project2:session/var[@name='loggedInUserID']) = 0"> +						<xsl:if test="count(/gentoo/project2:session/loggedInUserID) = 0">  							<li><a href="JavaScript: void(0);" onclick="toggleForm('#login');" rel="nofollow">Login</a></li>  						</xsl:if> -						<xsl:if test="count(/gentoo/project2:session/var[@name='loggedInUserID']) > 0"> +						<xsl:if test="count(/gentoo/project2:session/loggedInUserID) > 0">  							<li><a href="/accountHome" rel="nofollow">My Account</a></li>  						</xsl:if>  					</ul> @@ -91,4 +91,22 @@  			</a> - <xsl:value-of select="description" />  		</li>    </xsl:template> +  <xsl:template match="package" mode="withuse"> +  	<li> +			<a> +				<xsl:attribute name="href">/package/<xsl:value-of select="catname" />/<xsl:value-of select="pkgname" /></xsl:attribute> +				<xsl:attribute name="title"><xsl:value-of select="description" /></xsl:attribute> +				<xsl:value-of select="catname" />/<xsl:value-of select="pkgname" /> +			</a> - <xsl:value-of select="description" /> +			<xsl:if test="count(/gentoo/local/use[packageid = current()/packageid]) > 0"> +				<ul> +					<xsl:for-each select="/gentoo/local/use[packageid = current()/packageid]"> +						<li> +							<xsl:value-of select="description" /> +						</li> +					</xsl:for-each> +				</ul> +			</xsl:if> +		</li> +  </xsl:template>  </xsl:stylesheet> diff --git a/gentoobrowse/xslt/package.xslt b/gentoobrowse/xslt/package.xslt index 8547ff3..efba87d 100644 --- a/gentoobrowse/xslt/package.xslt +++ b/gentoobrowse/xslt/package.xslt @@ -13,7 +13,7 @@  				$("section#pkgdetails").tabs();  			})  		</script> -		<xsl:if test="count(/gentoo/project2:session/var[@name='loggedInUserID']) != 0"> +		<xsl:if test="count(/gentoo/project2:session/loggedInUserID) != 0">  			<script type="text/javascript" src="/js/pkgtracking.js" />  		</xsl:if>    </xsl:template> @@ -36,7 +36,7 @@  						<xsl:value-of select="herd" />  					</a>)</small>  				</xsl:if> -				<xsl:if test="count(/gentoo/project2:session/var[@name='loggedInUserID']) != 0"> +				<xsl:if test="count(/gentoo/project2:session/loggedInUserID) != 0">  					<a id="dotrack">  						<xsl:attribute name="href">javascript:track(<xsl:value-of select="/gentoo/summary/package/packageid" />);</xsl:attribute>  						<xsl:if test="count(tracks/track) = 1"> @@ -62,6 +62,9 @@  			<!-- handles -->  			<ul>  				<li><a href="#versions">Versions</a></li> +				<xsl:if test="count(/gentoo/summary/package/uses/use) > 0"> +					<li><a href="#uses">Uses</a></li> +				</xsl:if>  				<xsl:if test="count(/gentoo/summary/package/deps/package) > 0">  					<li><a href="#deps">Dependencies</a></li>  				</xsl:if> @@ -83,6 +86,7 @@  			</ul>  			<!-- content -->  			<xsl:apply-templates select="versions" /> +			<xsl:apply-templates select="uses" />  			<xsl:apply-templates select="deps" />  			<xsl:apply-templates select="rdeps" />  			<xsl:apply-templates select="depees" /> @@ -104,6 +108,24 @@  		</section>    </xsl:template> +	<!-- Uses --> +  <xsl:template match="/gentoo/summary/package/uses"> +		<xsl:if test="/gentoo/summary/package/uses/use"> +			<section id="uses"> +				<ul> +					<xsl:apply-templates select="use" /> +				</ul> +			</section> +		</xsl:if> +  </xsl:template> +  <xsl:template match="/gentoo/summary/package/uses/use"> +		<li> +			<a> +				<xsl:attribute name="href">/use/<xsl:value-of select="use" /></xsl:attribute> +				<xsl:value-of select="use" /> +			</a> - <xsl:value-of select="description" /> +		</li> +  </xsl:template>  	<!-- Versions -->    <xsl:template match="/gentoo/summary/package/versions">    	<section id="versions"> diff --git a/gentoobrowse/xslt/use.xslt b/gentoobrowse/xslt/use.xslt new file mode 100644 index 0000000..3bd2780 --- /dev/null +++ b/gentoobrowse/xslt/use.xslt @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" +	xmlns:project2="http://project2.randomdan.homeip.net" exclude-result-prefixes="project2" > +	<xsl:import href="base.xslt" /> +  <xsl:output encoding="utf-8" method="html" media-type="text/html" indent="yes" /> +  <xsl:template name="head"> +	<title>Packages with the <xsl:value-of select="/gentoo/project2:uriElems/uriElem[2]" /> USE flag - Gentoo Browse</title> +	<meta name="description"> +		<xsl:attribute name="content">Packages with the <xsl:value-of select="/gentoo/project2:uriElems/uriElem[2]" /> USE flag</xsl:attribute> +	</meta> +  </xsl:template> +  <xsl:template name="content"> +	<xsl:apply-templates select="/gentoo/packages" /> +  </xsl:template> +  <xsl:template match="/gentoo/packages"> +  	<h2>Packages with the <xsl:value-of select="/gentoo/project2:uriElems/uriElem[2]" /> USE flag</h2> +		<xsl:if test="/gentoo/global/use"> +			<p>Global definition: <xsl:value-of select="/gentoo/global/use/description" />.</p> +		</xsl:if> +	<ul> +		<xsl:apply-templates select="/gentoo/packages/package" mode="withuse" /> +	</ul> +  </xsl:template> +</xsl:stylesheet> +  | 
