From 3abef2feb19378aaad83d95c4fdaf815285806be Mon Sep 17 00:00:00 2001 From: Matthew Wilson Date: Thu, 12 May 2005 21:22:51 +0000 Subject: [PATCH] orderByClause added. --- lib/WebGUI/Asset.pm | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/lib/WebGUI/Asset.pm b/lib/WebGUI/Asset.pm index dab012312..dd771f738 100644 --- a/lib/WebGUI/Asset.pm +++ b/lib/WebGUI/Asset.pm @@ -1394,8 +1394,11 @@ sub getLineage { $columns = "*"; $slavedb = WebGUI::SQL->getSlave; } - my $sortOrder = ($rules->{invertTree}) ? "desc" : "asc"; - my $sql = "select $columns from $tables where $where order by lineage $sortOrder"; + my $sortOrder = ($rules->{invertTree}) ? "lineage desc" : "lineage asc"; + if (exists $rules->{orderByClause}) { + $sortOrder = $rules->{orderByClause}; + } + my $sql = "select $columns from $tables where $where order by $sortOrder"; my @lineage; my %relativeCache; my $sth = WebGUI::SQL->read($sql, $slavedb); @@ -1952,26 +1955,26 @@ Optional string representing a URL. sub newByUrl { my $class = shift; - my $url = shift || $session{env}{PATH_INFO}; - $url = lc($url); - $url =~ s/\/$//; - $url =~ s/^\///; - $url =~ s/\'//; - $url =~ s/\"//; - my $asset; - if ($url ne "") { + my $url = shift || $session{env}{PATH_INFO}; + $url = lc($url); + $url =~ s/\/$//; + $url =~ s/^\///; + $url =~ s/\'//; + $url =~ s/\"//; + my $asset; + if ($url ne "") { my $asset = WebGUI::Cache->new("asseturl_".$url)->get; unless (exists $asset->{assetId}) { - $asset = WebGUI::SQL->quickHashRef("select assetId, className from asset where url=".quote($url)); + $asset = WebGUI::SQL->quickHashRef("select assetId, className from asset where url=".quote($url)); WebGUI::Cache->new("asseturl_".$url)->set($asset,3600); } if ($asset->{assetId} ne "" || $asset->{className} ne "") { return WebGUI::Asset->newByDynamicClass($asset->{assetId}, $asset->{className}); } else { - return $class->newByDynamicClass($session{setting}{notFoundPage}); + return $class->newByDynamicClass($session{setting}{notFoundPage}); } - } - return $class->newByDynamicClass($session{setting}{defaultPage}); + } + return $class->newByDynamicClass($session{setting}{defaultPage}); } #-------------------------------------------------------------------