[vhffs-dev] [492] Every objects in admin lists now use lightweight objects ( actually hashes) provides by Vhffs::Panel.

[ Thread Index | Date Index | More vhffs.org/vhffs-dev Archives ]


Revision: 492
Author:   beuss
Date:     2007-02-22 09:49:40 +0000 (Thu, 22 Feb 2007)

Log Message:
-----------
Every objects in admin lists now use lightweight objects (actually hashes) provides by Vhffs::Panel.
Code is easier to read.

Modified Paths:
--------------
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Functions.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Cvs.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/DNS.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Group.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mail.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mailinglist.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Main.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mysql.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Pgsql.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Repository.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Svn.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/User.pm
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Web.pm
    branches/vhffs_4.1/vhffs-panel/admin/cvs/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/dns/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/group/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/mail/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/mailing/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/mysql/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/object/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/pgsql/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/repository/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/svn/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/user/list.pl
    branches/vhffs_4.1/vhffs-panel/admin/web/list.pl
    branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/mailing/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/object/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/user/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/user/part.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/web/part-modo.tmpl
    branches/vhffs_4.1/vhffs-panel/templates/admin/web/part.tmpl

Added Paths:
-----------
    branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Object.pm


Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Functions.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Functions.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Functions.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -58,6 +58,20 @@
 $STATUS_STRINGS[Vhffs::Constants::MODIFICATION_APPLIED] = 'Modification applied';
 $STATUS_STRINGS[Vhffs::Constants::TO_DELETE] = 'Will be deleted';
 
+
+my @TYPES_STRINGS;
+$TYPES_STRINGS[Vhffs::Constants::TYPE_USER] = 'User';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_GROUP] = 'Group';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_HTTPD] = 'Webarea';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_REPOSITORY] = 'Download Repository';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_MYSQL] = 'MySQL DB';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_PGSQL] = 'PgSQL DB';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_CVS] = 'CVS Repository';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_SVN] = 'SVN Repository';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_DNS] = 'Domain Name';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_MAIL] = 'Mail Domain';
+$TYPES_STRINGS[Vhffs::Constants::TYPE_ML] = 'Mailing List';
+
 sub hash_mxdomain
 {
 	my $domain = shift;
@@ -372,12 +386,16 @@
 
 
 
-sub status_string_from_status_id
-{
+sub status_string_from_status_id($) {
     my $status = shift;
-    return gettext($STATUS_STRINGS[$status]);
+    return gettext($STATUS_STRINGS[$status] or 'Unknown');
 }
 
+sub type_string_from_type_id($) {
+    my $type = shift;
+    return gettext($TYPES_STRINGS[$type] or 'Unknown');
+}
+
 sub mail_template
 {
 	my( $user , $keys , $template , $file , $content , $line , $key , $vhffs );

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Cvs.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Cvs.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Cvs.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -59,30 +59,32 @@
 }
 
 
-sub getall_cvs
+sub search
 {
-        my $main = shift;
-        my $name = shift;
+    my ($main, $name) = @_;
+    my $sql;
+    my @params;
+    my $cvs = [];
+    
+    if( defined $name ) {
+        $sql = 'SELECT c.cvsroot, g.groupname, c.object_id AS oid, o.state FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id INNER JOIN vhffs_groups g ON g.gid = c.owner_gid WHERE cvsroot LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT c.cvsroot, g.groupname, c.object_id AS oid, o.state FROM vhffs_cvs c INNER JOIN vhffs_object o ON o.object_id = c.object_id INNER JOIN vhffs_groups g ON g.gid = c.owner_gid';
+    }
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
 
-        my $query;
-
-    if( defined $name )
-        {
-                $query = "SELECT c.cvsroot, c.owner_gid, o.state  FROM vhffs_cvs c, vhffs_object o WHERE o.object_id=c.object_id AND c.cvsroot LIKE '".$name."'";
-        }
-        else
-        {
-                $query = "SELECT c.cvsroot, c.owner_gid, o.state  FROM vhffs_cvs c, vhffs_object o WHERE o.object_id=c.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
-
-        return undef if ( $request->execute() <= 0);
-
-        return( $request->fetchall_hashref('cvsroot') );
+    return undef unless($sth->execute(@params));
+    
+    while(my $c = $sth->fetchrow_hashref('NAME_lc')) {
+        $c->{state} = Vhffs::Functions::status_string_from_status_id($c->{state});
+        push(@$cvs, $c);
+    }
+    return $cvs;
 }
 
 
-
 sub create_cvs
 {
 	my( $main, $cvsroot, $description, $user, $group ) = @_;

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/DNS.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/DNS.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/DNS.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -60,26 +60,30 @@
 
 
 
-sub getall_domains
+sub search
 {
-        my $main = shift;
-        my $name = shift;
+    my ($main, $name) = @_;
+    my $sql;
+    my $dns = [];
+    my @params;
 
-        my $query;
+    if( defined $name ) {
+        $sql = 'SELECT ns.domain, ns.object_id AS oid, g.groupname, o.state FROM vhffs_dns ns INNER JOIN vhffs_object o ON o.object_id = ns.object_id INNER JOIN vhffs_groups g ON g.gid = ns.owner_gid WHERE ns.domain LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT ns.domain, ns.object_id AS oid, g.groupname, o.state FROM vhffs_dns ns INNER JOIN vhffs_object o ON o.object_id = ns.object_id INNER JOIN vhffs_groups g ON g.gid = ns.owner_gid';
+    }
 
-    if( defined $name )
-        {
-                $query = "SELECT ns.domain, ns.object_id, ns.owner_gid, o.state  FROM vhffs_dns ns, vhffs_object o WHERE o.object_id=ns.object_id AND ns.domain LIKE '".$name."'";
-        }
-        else
-        {
-                $query = "SELECT ns.domain, ns.object_id, ns.owner_gid, o.state  FROM vhffs_dns ns, vhffs_object o WHERE o.object_id=ns.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare( $sql ) or return undef;
 
-        return undef if ( $request->execute() <= 0);
+    return undef unless($sth->execute(@params));
 
-        return( $request->fetchall_hashref('domain') );
+    while(my $d = $sth->fetchrow_hashref('NAME_lc')) {
+        $d->{state} = Vhffs::Functions::status_string_from_status_id($d->{state});
+        push(@$dns, $d);
+    }
+    return $dns;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Group.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Group.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Group.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -57,26 +57,30 @@
 	return( $request->fetchall_hashref('username') );
 }
 
-sub getall_groups
+sub search
 {
-    my $main = shift;
-	my $name = shift;
+    my ($main, $name) = @_;
+    my $sql;
+    my @params;
+    my $groups = [];
 
-    my $query;
-
-	if( defined $name )
-	{
-		$query =  "SELECT g.groupname, g.object_id, g.quota, g.quota_used, o.state FROM vhffs_groups g, vhffs_object o WHERE g.object_id=o.object_id AND g.groupname LIKE '%".$name."%'";
+	if( defined $name ) {
+		$sql =  'SELECT g.groupname, g.object_id AS OID, o.state, u.username FROM vhffs_groups g INNER JOIN vhffs_object o ON g.object_id = o.object_id INNER JOIN vhffs_users u ON u.uid = g.owner_uid WHERE g.groupname LIKE ?';
+        push(@params, '%'.$name.'%');
+	} else {
+		$sql =  'SELECT g.groupname, g.object_id AS OID, o.state, u.username FROM vhffs_groups g INNER JOIN vhffs_object o ON g.object_id = o.object_id INNER JOIN vhffs_users u ON u.uid = g.owner_uid WHERE g.groupname NOT IN ( SELECT username FROM vhffs_users )';
 	}
-	else
-	{
-		$query =  "SELECT g.groupname, g.object_id, g.quota, g.quota_used, o.state FROM vhffs_groups g, vhffs_object o WHERE g.object_id=o.object_id AND g.groupname NOT IN ( SELECT username FROM vhffs_users )";
-	}
-    my $request = $main->{'db'}->prepare( $query );
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare( $sql ) or return undef;
 
-    return undef if ( $request->execute <= 0 );
-    return( $request->fetchall_hashref('groupname') );
+    return undef unless ( $sth->execute(@params) );
 
+    while(my $g = $sth->fetchrow_hashref('NAME_lc')) {
+        $g->{state} = Vhffs::Functions::status_string_from_status_id($g->{state});
+        push(@$groups, $g);
+    }
+
+    return $groups;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mail.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mail.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mail.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,26 +45,30 @@
 use Vhffs::Panel::Main;
 use Vhffs::Services::Mail;
 
-sub getall_mails
-{
-    my $main = shift;
-    my $name = shift;
+sub search {
+    my ($main, $name) = @_;
+    my $sql;
+    my @params;
+    my $mails = [];
 
-    my $query;
+    if( defined $name ) {
+        $sql = 'SELECT m.domain, m.object_id AS oid, o.state, g.groupname FROM vhffs_mxdomain m INNER JOIN vhffs_object o ON o.object_id = m.object_id INNER JOIN vhffs_groups g ON g.gid = m.owner_gid WHERE m.domain LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT m.domain, m.object_id AS oid, o.state, g.groupname FROM vhffs_mxdomain m INNER JOIN vhffs_object o ON o.object_id = m.object_id INNER JOIN vhffs_groups g ON g.gid = m.owner_gid';
+    }
 
-    if( defined $name )
-    {
-        $query = "SELECT m.domain, m.object_id, o.state, m.owner_gid  FROM vhffs_mxdomain m, vhffs_object o WHERE o.object_id=m.object_id AND m.domain LIKE '%".$name."%'";
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
+
+    return undef unless($sth->execute(@params));
+
+    while(my $m = $sth->fetchrow_hashref('NAME_lc')) {
+        $m->{state} = Vhffs::Functions::status_string_from_status_id($m->{state});
+        push(@$mails, $m);
     }
-    else
-    {
-        $query = "SELECT m.domain, m.object_id, o.state , m.owner_gid  FROM vhffs_mxdomain m, vhffs_object o WHERE o.object_id=m.object_id";
-    }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
 
-        return undef if ( $request->execute() <= 0);
-
-        return( $request->fetchall_hashref('domain') );
+    return $mails
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mailinglist.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mailinglist.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mailinglist.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -58,7 +58,34 @@
     return( $request->fetchall_hashref('ml_id') );
 }
 
+sub search
+{
+    my ($main, $name) = @_;
+    my $sql;
+    my @params;
+    my $mls = [];
 
+    if( defined $name ) {
+        $sql = 'SELECT l.local_part, l.domain, g.groupname, l.object_id AS oid, o.state FROM vhffs_ml l INNER JOIN vhffs_object o ON o.object_id = l.object_id INNER JOIN vhffs_groups g ON g.gid = l.owner_gid WHERE l.local_part LIKE ? OR l.domain LIKE ?';
+        push(@params, '%'.$name.'%');
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT l.local_part, l.domain, g.groupname, l.object_id AS oid, o.state FROM vhffs_ml l INNER JOIN vhffs_object o ON o.object_id = l.object_id INNER JOIN vhffs_groups g ON g.gid = l.owner_gid';
+    }
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
+
+    return undef unless($sth->execute(@params));
+
+    while(my $m = $sth->fetchrow_hashref('NAME_lc')) {
+        $m->{state} = Vhffs::Functions::status_string_from_status_id($m->{state});
+        push(@$mls, $m);
+    }
+    return $mls;
+}
+
+
+
 sub getall_list_per_group
 {
     my $group  = shift;

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Main.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Main.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Main.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -244,7 +244,7 @@
 	{
 		my $template = new HTML::Template( filename => $templatedir."/main/login_failed.tmpl" );
 		$template->param( TEXT_LOGINFAILED => $bad_news);
-		$template->param( TEXT_LOGIN => gettext("Login") );
+		$template->param( TEXT_LOGIN => gettext("Go to Login") );
 		$template->param( THEME => get_theme( $vhffs ) );
 		print CGI->header( -type=>"text/html", -charset=>"utf-8" ), $template->output;
 		return 0;

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mysql.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mysql.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Mysql.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -57,26 +57,33 @@
 }
 
 
-sub getall_mysql
+sub search
 {
-    my $main = shift; 
-    my $name = shift;
+    my ($main, $name) = @_; 
     
-        my $query;
+    my $sql;
+    my @params;
+    my $mys = [];
 
-    if( defined $name )
-        {
-                $query = "SELECT m.dbname, m.dbuser, m.object_id, m.owner_gid, o.state  FROM vhffs_mysql m, vhffs_object o WHERE o.object_id=m.object_id AND ( ( m.dbname LIKE '".$name."' ) OR ( m.dbuser LIKE '".$name."' ) )";
-        }
-        else
-        {
-                $query = "SELECT m.dbname, m.dbuser, m.object_id, m.owner_gid, o.state  FROM vhffs_mysql m, vhffs_object o WHERE o.object_id=m.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
-        
-        return undef if ( $request->execute() <= 0);
-        
-        return( $request->fetchall_hashref('dbname') );
+    if( defined $name ) {
+        $sql = 'SELECT m.dbname, m.object_id AS oid, g.groupname, o.state FROM vhffs_mysql m INNER JOIN vhffs_object o ON o.object_id = m.object_id INNER JOIN vhffs_groups g ON g.gid = m.owner_gid WHERE m.dbname LIKE ? OR m.dbuser LIKE ?';
+        push(@params, '%'.$name.'%');
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT m.dbname, m.object_id AS oid, g.groupname, o.state FROM vhffs_mysql m INNER JOIN vhffs_object o ON o.object_id = m.object_id INNER JOIN vhffs_groups g ON g.gid = m.owner_gid';
+    }
+
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare( $sql) or return undef;
+
+    return undef unless($sth->execute(@params));
+
+    while(my $m = $sth->fetchrow_hashref('NAME_lc')) {
+        $m->{state} = Vhffs::Functions::status_string_from_status_id($m->{state});
+        push(@$mys, $m);
+    }
+
+    return $mys;
 }
 
 

Added: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Object.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Object.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Object.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -0,0 +1,77 @@
+#!/usr/bin/perl
+# Copyright (c) vhffs project and its contributors
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#   notice, this list of conditions and the following disclaimer.
+#2. Redistributions in binary form must reproduce the above copyright
+#   notice, this list of conditions and the following disclaimer in
+#   the documentation and/or other materials provided with the
+#   distribution.
+#3. Neither the name of vhffs nor the names of its contributors
+#   may be used to endorse or promote products derived from this
+#   software without specific prior written permission.
+#
+#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+#FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+#COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+#INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+#BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+#LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+#CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+
+
+package Vhffs::Panel::Object;
+
+use DBI;
+use POSIX qw(locale_h);
+use HTML::Template;
+use locale;
+use Locale::gettext;
+use CGI;
+use CGI::Session;
+use strict;
+use Vhffs::User;
+use Vhffs::Main;
+use Vhffs::Acl;
+use Vhffs::Services::Cvs;
+use Vhffs::Panel::Main;
+use Vhffs::Constants;
+
+sub search
+{
+    my ($main, $name) = @_;
+    my $sql;
+    my @params;
+    my $objs = [];
+
+    if( defined $name ) {
+        $sql = 'SELECT o.object_id AS oid, u.username, o.type, o.state FROM vhffs_object o INNER JOIN vhffs_users u ON o.owner_uid = u.uid WHERE ( o.description LIKE ? ) OR ( o.object_id LIKE ? ) OR ( o.owner_uid LIKE ? ) OR ( state LIKE ? ) OR ( u.username LIKE ? ) OR ( o.type LIKE ?) ORDER BY o.object_id';
+        my $p = '%'.$name.'%';
+        push(@params, $p, $p, $p, $p, $p, $p);
+    } else {
+        $sql = 'SELECT o.object_id AS oid, u.username, o.type, o.state FROM vhffs_object o INNER JOIN vhffs_users u ON o.owner_uid = u.uid ORDER BY o.object_id';
+    }
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
+
+    return undef unless($sth->execute(@params));
+
+    while(my $o = $sth->fetchrow_hashref('NAME_lc')) {
+        $o->{state} = Vhffs::Functions::status_string_from_status_id($o->{state});
+        $o->{type} = Vhffs::Functions::type_string_from_type_id($o->{type});
+        push(@$objs, $o);
+    }
+    return $objs;
+}
+
+1;

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Pgsql.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Pgsql.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Pgsql.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -47,26 +47,30 @@
 use Vhffs::Services::Postgres;
 
 
-sub getall_pgsql
-{
-        my $main = shift;
-        my $name = shift;
+sub search {
+        my ($main, $name) = @_;
 
-        my $query;
+        my $sql;
+        my @params;
+        my $pgs = [];
 
-    if( defined $name )
-        {
-                $query = "SELECT p.dbname, p.dbuser, p.object_id, p.owner_gid, o.state  FROM vhffs_pgsql p, vhffs_object o WHERE o.object_id=p.object_id AND ( ( p.dbname LIKE '".$name."' ) OR ( p.dbuser LIKE '".$name."' ) )";
-        }
-        else
-        {
-                $query = "SELECT p.dbname, p.dbuser, p.object_id, p.owner_gid, o.state  FROM vhffs_pgsql p, vhffs_object o WHERE o.object_id=p.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
+    if( defined $name ) {
+        $sql = 'SELECT p.dbname, p.object_id AS oid, g.groupname, o.state  FROM vhffs_pgsql p INNER JOIN vhffs_object o ON o.object_id = p.object_id INNER JOIN vhffs_groups g ON g.gid = p.owner_gid WHERE p.dbname LIKE ? OR p.dbuser LIKE ?';
+        push(@params, '%'.$name.'%', '%'.$name.'%');
+    } else {
+        $sql = 'SELECT p.dbname, p.object_id AS oid, g.groupname, o.state  FROM vhffs_pgsql p INNER JOIN vhffs_object o ON o.object_id = p.object_id INNER JOIN vhffs_groups g ON g.gid = p.owner_gid';
+    }
 
-        return undef if ( $request->execute() <= 0);
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
 
-        return( $request->fetchall_hashref('dbname') );
+    return undef unless( $sth->execute(@params) );
+
+    while(my $p = $sth->fetchrow_hashref('NAME_lc')) {
+        $p->{state} = Vhffs::Functions::status_string_from_status_id($p->{state});
+        push(@$pgs, $p);
+    }
+    return $pgs;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Repository.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Repository.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Repository.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -59,26 +59,31 @@
 }
 
 
-sub getall_repository
-{
-        my $main = shift;
-        my $name = shift;
+sub search {
+    my ($main, $name) = @_;
 
-        my $query;
+    my $sql;
+    my @params;
+    my $reps = [];
 
-	if( defined $name )
-        {
-                $query = "SELECT r.name, r.owner_gid, o.state  FROM vhffs_repository r, vhffs_object o WHERE o.object_id=r.object_id AND r.name LIKE '".$name."'";
-        }
-        else
-        {
-                $query = "SELECT r.name, r.owner_gid, o.state  FROM vhffs_repository r, vhffs_object o WHERE o.object_id=r.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
+	if( defined $name ) {
+        $sql = 'SELECT r.name, g.groupname, o.state, r.object_id AS oid FROM vhffs_repository r INNER JOIN vhffs_object o ON o.object_id=r.object_id INNER JOIN vhffs_groups g ON g.gid = r.owner_gid WHERE r.name LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+         $sql = 'SELECT r.name, g.groupname, o.state, r.object_id AS oid FROM vhffs_repository r INNER JOIN vhffs_object o ON o.object_id=r.object_id INNER JOIN vhffs_groups g ON g.gid = r.owner_gid';
+    }
+    
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
 
-        return undef if ( $request->execute() <= 0);
+    return undef unless($sth->execute(@params));
 
-        return( $request->fetchall_hashref('name') );
+    while(my $r = $sth->fetchrow_hashref('NAME_lc')) {
+        $r->{state} = Vhffs::Functions::status_string_from_status_id($r->{state});
+        push(@$reps, $r);
+    }
+
+    return $reps;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Svn.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Svn.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Svn.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -80,26 +80,31 @@
 
 
 
-sub getall_svn
-{
-    my $main = shift;
-    my $name = shift;
+sub search {
+    my ($main, $name) = @_;
 
-    my $query;
+    my $sql;
+    my @params;
+    my $svns = [];
 
-    if( defined $name )
-        {
-                $query = "SELECT s.reponame, s.owner_gid, o.state  FROM vhffs_svn s, vhffs_object o WHERE o.object_id=s.object_id AND s.reponame LIKE '%".$name."%'";
-        }
-        else
-        {
-                $query = "SELECT s.reponame, s.owner_gid, o.state  FROM vhffs_svn s, vhffs_object o WHERE o.object_id=s.object_id";
-        }
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
+    if( defined $name ) {
+        $sql = 'SELECT s.reponame AS svnroot, g.groupname, o.state, s.object_id AS oid  FROM vhffs_svn s INNER JOIN vhffs_object o ON o.object_id=s.object_id INNER JOIN vhffs_groups g ON g.gid = s.owner_gid WHERE s.reponame LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT s.reponame AS svnroot, g.groupname, o.state, s.object_id AS oid  FROM vhffs_svn s INNER JOIN vhffs_object o ON o.object_id=s.object_id INNER JOIN vhffs_groups g ON g.gid = s.owner_gid';
+    }
 
-        return undef if ( $request->execute() <= 0);
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
 
-        return( $request->fetchall_hashref('reponame') );
+    return undef unless($sth->execute(@params));
+
+    while(my $s = $sth->fetchrow_hashref('NAME_lc')) {
+        $s->{state} = Vhffs::Functions::status_string_from_status_id($s->{state});
+        push(@$svns, $s);
+    }
+
+    return $svns;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/User.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/User.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/User.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -63,28 +63,30 @@
 
 }
 
-sub getall_users
-{
-	my $main = shift;
-	my $name = shift;
+sub search {
+	my ($main, $name) = @_;
 
-	my $query;
+	my $sql;
+    my @params;
+    my $users = [];
 
-    if( ! defined $name )
-	{
-		$query = 'SELECT u.username, u.firstname, u.lastname , o.object_id FROM vhffs_users u, vhffs_object o WHERE o.object_id=u.object_id';
+    if( defined $name ) {
+		$sql = 'SELECT u.username, u.firstname, u.lastname , o.object_id AS oid, o.state FROM vhffs_users u INNER JOIN vhffs_object o ON o.object_id = u.object_id WHERE u.username LIKE ? OR u.firstname LIKE ? OR u.lastname LIKE ?';
+        my $p = '%'.$name.'%';
+        push(@params, $p, $p, $p);
+	} else {
+        $sql = 'SELECT u.username, u.firstname, u.lastname , o.object_id AS oid, o.state FROM vhffs_users u INNER JOIN vhffs_object o ON o.object_id = u.object_id';
 	}
-	else
-	{
-		$query = "SELECT u.username, u.firstname, u.lastname , o.object_id FROM vhffs_users u, vhffs_object o WHERE o.object_id=u.object_id AND ( ( u.username LIKE '%".$name."%' ) OR (u.firstname LIKE '%".$name."%' ) OR (u.lastname LIKE '%".$name."%') )";
-	}
 
-	
-    my $request = $main->{'db'}->prepare( $query );
+	my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql);
+    return undef unless($sth->execute(@params));
 
-    return undef if ( $request->execute <= 0 );
-    return( $request->fetchall_hashref('username') );
-
+    while(my $u = $sth->fetchrow_hashref('NAME_lc')) {
+        $u->{state} = Vhffs::Functions::status_string_from_status_id($u->{state});
+        push(@$users, $u);
+    }
+    return $users;
 }
 
 sub set_lang

Modified: branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Web.pm
===================================================================
--- branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Web.pm	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-api/src/Vhffs/Panel/Web.pm	2007-02-22 09:49:40 UTC (rev 492)
@@ -74,26 +74,31 @@
 }
 
 
-sub getall_webs
-{
-	my $main = shift;
-	my $name = shift;
+sub search {
+    my ($main, $name) = @_;
 
-	my $query;
+    my $sql;
+    my @params;
+    my $webs = [];
 
-	if( defined $name )
-	{
-		$query = "SELECT w.servername, w.object_id, o.state  FROM vhffs_httpd w, vhffs_object o WHERE o.object_id=w.object_id AND w.servername LIKE '".$name."'";
-	}
-	else
-	{
-		$query = "SELECT w.servername, w.object_id, o.state  FROM vhffs_httpd w, vhffs_object o WHERE o.object_id=w.object_id";
-	}
-        my $request = $main->{'db'}->prepare( $query ) or return -1;
+    if( defined $name ) {
+        $sql = 'SELECT w.servername, w.object_id AS oid, o.state, g.groupname  FROM vhffs_httpd w INNER JOIN vhffs_object o ON o.object_id = w.object_id INNER JOIN vhffs_groups g ON g.gid = w.owner_gid WHERE w.servername LIKE ?';
+        push(@params, '%'.$name.'%');
+    } else {
+        $sql = 'SELECT w.servername, w.object_id AS oid, o.state, g.groupname  FROM vhffs_httpd w INNER JOIN vhffs_object o ON o.object_id = w.object_id INNER JOIN vhffs_groups g ON g.gid = w.owner_gid';
+    }
 
-        return undef if ( $request->execute() <= 0);
+    my $dbh = $main->get_db_object();
+    my $sth = $dbh->prepare($sql) or return undef;
 
-        return( $request->fetchall_hashref('servername') );
+    return undef unless($sth->execute(@params));
+
+    while(my $w = $sth->fetchrow_hashref('NAME_lc')) {
+        $w->{state} = Vhffs::Functions::status_string_from_status_id($w->{state});
+        push(@$webs, $w);
+    }
+
+    return $webs;
 }
 
 

Modified: branches/vhffs_4.1/vhffs-panel/admin/cvs/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/cvs/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/cvs/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,8 +45,10 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
+use Vhffs::Panel::Cvs;
 use Vhffs::Stats;
 use Vhffs::Constants;
+
 my $panel = new Vhffs::Panel::Main();
 if(!$panel)  {
         exit 0;
@@ -88,44 +90,20 @@
     $template->param( TEXT_TITLE2 => gettext('Group') );
     $template->param( TEXT_TITLE3 => gettext('State') );
 
-	use Vhffs::Services::Cvs;
-
-	my $cvs = Vhffs::Services::Cvs::getall( $vhffs , undef , $name , undef );
-	my $c;
-	my $output = "";
-
-	if( defined $cvs )
-	{
-        my $cvses;
-        my $cvshash;
-        my $send;
-        my $subtemplate;
-
-        if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/cvs/part.tmpl" );
-            $send = gettext("Modify this CVS repository");
-        }  else  {
-            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/cvs/part-modo.tmpl" );
-            $send = gettext("Show this CVS repository");
-        }
+	my $cvs = Vhffs::Panel::Cvs::search( $vhffs, $name );
+    my $subtemplate;
+    if( $user->is_admin == 1 )  {
+        $subtemplate = new HTML::Template( filename => "$templatesdir/admin/cvs/part.tmpl", global_vars => 1);
+        $subtemplate->param( SEND => gettext("Modify this CVS repository") );
+    }  else  {
+        # die_on_bad_param => 0 is required since the values provided by Vhffs::Panel::Cvs::search
+        # contains fields that are not used in moderator's template.
+        $subtemplate = new HTML::Template( filename => "$templatesdir/admin/cvs/part-modo.tmpl", global_vars => 1);
+        $subtemplate->param( SEND => gettext("Show this CVS repository") );
+    }
                                                         
-		foreach $c ( @{$cvs} )
-		{
-            $cvshash = {
-                CVSROOT => $c->get_cvsroot(),
-                GROUP => $c->get_group->get_groupname(),
-                OID => $c->get_oid(),
-                STATE => gettext( Vhffs::Functions::status_string_from_status_id( $c->get_status ) ),
-                SEND => $send
-            };
-
-            push(@$cvses, $cvshash);
-		}
-        $subtemplate->param(CVSES => $cvses);
-		$template->param( LIST => $subtemplate->output );
-	}
-	
-
+    $subtemplate->param(CVSES => $cvs);
+	$template->param( LIST => $subtemplate->output );
 }
 
 display Vhffs::Panel::Main($panel, $template->output);

Modified: branches/vhffs_4.1/vhffs-panel/admin/dns/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/dns/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/dns/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -90,36 +90,19 @@
 
 	use Vhffs::Panel::Web;
 
-	my $domains = Vhffs::Panel::DNS::getall_domains( $vhffs , $name );
+	my $domains = Vhffs::Panel::DNS::search( $vhffs , $name );
 
 	if( defined $domains )
 	{
         my $subtemplate;
-        my $send;
-        my $dnses;
-        my $dnshash;
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/dns/part.tmpl" );
-            $send = gettext("Modify this domain");
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/dns/part.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Modify this domain') );
         }  else  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/dns/part-modo.tmpl" );
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/dns/part-modo.tmpl", die_on_bad_params => 0 )
         }
-                                                                 
-		foreach( sort ( keys %{$domains} ) )
-		{
-            $dnshash = {
-                DOMAIN => $domains->{$_}{'domain'},
-                GROUP => Vhffs::Group::get_name_by_gid( $vhffs , $domains->{$_}{'owner_gid'} ),
-                STATE => Vhffs::Functions::status_string_from_status_id($domains->{$_}{state})
-            };
-			if( $user->is_admin == 1 )  {
-                $dnshash->{OID} = $domains->{$_}{'object_id'};
-                $dnshash->{SEND} = $send;
-			}
-
-            push(@$dnses, $dnshash);
-		}
-        $subtemplate->param(DNSES => $dnses);
+        
+        $subtemplate->param(DNSES => $domains);
 		$template->param( LIST => $subtemplate->output );
 	}
 

Modified: branches/vhffs_4.1/vhffs-panel/admin/group/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/group/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/group/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,6 +45,7 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
+use Vhffs::Panel::Group;
 use Vhffs::Stats;
 use Vhffs::Constants;
 my $panel = new Vhffs::Panel::Main();
@@ -90,35 +91,21 @@
     $template->param( TEXT_TITLE3 => gettext('State') );
             
 
-	use Vhffs::Panel::Group;
 
-	my $groups = Vhffs::Group::getall( $vhffs , undef , $name );
-	my $group;
+	my $groups = Vhffs::Panel::Group::search( $vhffs, $name );
 	if( defined $groups )
 	{
         my $subtemplate;
-        my $tmplgroups;
-        my $send;
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/group/part.tmpl" );
-            $send = gettext("Modify this group");
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/group/part.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Modify this group'));
         }  else  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/group/part-modo.tmpl" );
-            $send = gettext("Show this group");
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/group/part-modo.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Show this group'));
         }
                                                                 
 
-		foreach $group ( @{$groups} )
-		{
-            
-			push(@$tmplgroups, {
-                GROUPNAME => $group->get_groupname,
-                USERNAME => $group->get_owner_username,
-                STATE => Vhffs::Functions::status_string_from_status_id( $group->get_status ),
-                SEND => $send
-            });
-		}
-        $subtemplate->param( GROUPS => $tmplgroups );
+        $subtemplate->param( GROUPS => $groups );
 		$template->param( LIST => $subtemplate->output );
 	}
 }

Modified: branches/vhffs_4.1/vhffs-panel/admin/mail/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/mail/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/mail/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -90,7 +90,7 @@
 
     use Vhffs::Panel::Mail;
 
-    my $mails = Vhffs::Panel::Mail::getall_mails( $vhffs , $name );
+    my $mails = Vhffs::Panel::Mail::search( $vhffs , $name );
 
     if( defined $mails )
     {
@@ -99,26 +99,14 @@
         my $mailhash;
         my $send;
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/mail/part.tmpl" );
-            $send = gettext("Modify this mail domain");
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/mail/part.tmpl", global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Modify this mail domain') );
         }  else  {
-            $subtemplate = new HTML::Template( filename => $templatedir."/admin/mail/part-modo.tmpl" );
-            $send = gettext("Show this mail domain");
+            $subtemplate = new HTML::Template( filename => $templatedir."/admin/mail/part-modo.tmpl", global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Show this mail domain'));
         }
 
-    	foreach( sort ( keys %{$mails} ) )
-    	{
-            $mailhash = {
-                DOMAIN => $mails->{$_}{domain},
-                GROUP => Vhffs::Group::get_name_by_gid($vhffs, $mails->{$_}{owner_uid}),
-                OID => $mails->{$_}{object_id},
-                STATE => Vhffs::Functions::status_string_from_status_id($mails->{$_}{state}),
-                SEND => $send
-            };
-
-            push(@$tmplmails, $mailhash);
-    	}
-        $subtemplate->param( MAILS => $tmplmails );
+        $subtemplate->param( MAILS => $mails );
 	    $template->param( LIST => $subtemplate->output );
     }
     

Modified: branches/vhffs_4.1/vhffs-panel/admin/mailing/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/mailing/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/mailing/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -44,9 +44,7 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
-use Vhffs::Services::Mailing;
-use Vhffs::Stats;
-use Vhffs::Constants;
+use Vhffs::Panel::Mailinglist;
 
 my $panel = new Vhffs::Panel::Main();
 if(!$panel)  {
@@ -90,33 +88,18 @@
     $template->param( TEXT_TITLE3 => gettext('State') );
 
 
-    my $lists = Vhffs::Services::Mailing::getall( $vhffs , undef , $name );
+    my $lists = Vhffs::Panel::Mailinglist::search( $vhffs, $name );
 
     if( defined $lists )
     {
-        my $subtemplate = new HTML::Template( filename => $templatedir."/admin/mailing/part.tmpl" );
-        my $send;
+        my $subtemplate = new HTML::Template( filename => $templatedir."/admin/mailing/part.tmpl", global_vars => 1 );
         if( $user->is_admin == 1 )  {
-            $send = gettext("Modify this list");
+            $subtemplate->param( SEND => gettext('Modify this list') );
         }  else  {
-            $send = gettext("Show this list");
+            $subtemplate->param( SEND => gettext('Show this list') );
         }
 
-        my $tmpllists;
-                                                                                            
-    	foreach( @{$lists} )
-	    {
-            push(@$tmpllists, {
-                DOMAIN => $_->get_domain,
-                LPART => $_->get_localpart,
-                GROUP => Vhffs::Group::get_name_by_gid( $vhffs , $_->get_ownergid ),
-                OID => $_->get_oid,
-                STATE => Vhffs::Functions::status_string_from_status_id( $_->get_status ),
-                SEND => $send
-            });
-	    
-	     }
-         $subtemplate->param( LISTS => $tmpllists );
+         $subtemplate->param( LISTS => $lists );
          $template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/mysql/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/mysql/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/mysql/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,6 +45,7 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
+use Vhffs::Panel::Mysql;
 use Vhffs::Stats;
 use Vhffs::Constants;
 my $panel = new Vhffs::Panel::Main();
@@ -88,35 +89,21 @@
     $template->param( TEXT_TITLE2 => gettext('Group') );
     $template->param( TEXT_TITLE3 => gettext('State') );
 
-	use Vhffs::Panel::Web;
+	my $dbs = Vhffs::Panel::Mysql::search( $vhffs , $name );
 
-	my $dbs = Vhffs::Panel::Mysql::getall_mysql( $vhffs , $name );
-
 	if( defined $dbs )
 	{
-        my $tmpldbs;
         my $subtemplate;
-        my $send;
 
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/mysql/part.tmpl' );
-            $send = gettext('Modify this MySQL area');
+            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/mysql/part.tmpl', global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Modify this MySQL area'));
         } else {
-            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/mysql/part-modo.tmpl' );
-            $send = gettext('Show this MySQL area');
+            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/mysql/part-modo.tmpl', global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Show this MySQL area'));
         }
 
-		foreach( sort ( keys %{$dbs} ) )
-		{
-            push(@$tmpldbs, {
-               DBNAME => $dbs->{$_}{'dbname'},
-               GROUP => Vhffs::Group::get_name_by_gid( $vhffs , $dbs->{$_}{'owner_gid'} ),
-               OID => $dbs->{$_}{'object_id'},
-               SEND => $send,
-               STATE => gettext(Vhffs::Functions::status_string_from_status_id($dbs->{$_}->{state}))
-            });
-		}
-        $subtemplate->param(DBS => $tmpldbs);
+        $subtemplate->param(DBS => $dbs);
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/object/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/object/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/object/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,6 +45,7 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
+use Vhffs::Panel::Object;
 use Vhffs::Stats;
 use Vhffs::Constants;
 my $panel = new Vhffs::Panel::Main();
@@ -88,26 +89,13 @@
     $template->param( TEXT_TITLE3 => gettext('State') );
     $template->param( TEXT_TITLE4 => gettext('History') );
 
-	use Vhffs::Object;
+	my $objs = Vhffs::Panel::Object::search( $vhffs , $name );
 
-	my $objs = Vhffs::Object::getall( $vhffs , $name );
-
 	if( defined $objs ) {
-        my $subtemplate = new HTML::Template( filename => "$templatesdir/admin/object/part.tmpl" );
-        my $tmplobjects;
-        my $send = gettext('Edit this object');
-        my $history = gettext('History');
-		foreach(@$objs)
-		{
-			push(@$tmplobjects, {
-                USER => Vhffs::User::get_name_by_uid( $vhffs , $_->{owner_uid} ),
-                HISTORY => gettext('History'),
-                OID => $_->{object_id},
-                STATE => Vhffs::Functions::status_string_from_status_id($_->{state}),
-                SEND => $send
-            });
-		}
-        $subtemplate->param(OBJECTS => $tmplobjects);
+        my $subtemplate = new HTML::Template( filename => "$templatesdir/admin/object/part.tmpl", global_vars => 1 );
+        $subtemplate->param( SEND => gettext('Edit this object'));
+        $subtemplate->param( HISTORY => gettext('History'));
+		$subtemplate->param(OBJECTS => $objs);
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/pgsql/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/pgsql/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/pgsql/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -89,34 +89,22 @@
     $template->param( TEXT_TITLE3 => gettext('State') );
 
 
-	use Vhffs::Panel::Web;
+	my $dbs = Vhffs::Panel::Pgsql::search( $vhffs , $name );
 
-	my $dbs = Vhffs::Panel::Pgsql::getall_pgsql( $vhffs , $name );
-
 	if( defined $dbs )
 	{
         my $subtemplate;
         my $send;
         my $tmpldbs;
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/pgsql/part.tmpl' );
-            $send = gettext("Modify this PostgreSQL database");
+            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/pgsql/part.tmpl', global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Modify this PostgreSQL database'));
         }  else  {
-            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/pgsql/part-modo.tmpl' );
-            $send = gettext("Show this PostgreSQL database");
+            $subtemplate = new HTML::Template( filename => $templatedir.'/admin/pgsql/part-modo.tmpl', global_vars => 1 );
+            $subtemplate->param(SEND => gettext("Show this PostgreSQL database"));
         }
 
-		foreach( sort ( keys %{$dbs} ) )
-		{
-            push(@$tmpldbs, {
-                DBNAME => $dbs->{$_}{'dbname'},
-                GROUP => Vhffs::Group::get_name_by_gid( $vhffs , $dbs->{$_}{'owner_gid'} ),
-                OID => $dbs->{$_}{'object_id'},
-                STATE => gettext( Vhffs::Functions::status_string_from_status_id( $dbs->{$_}{'state'} ) ),
-                SEND => $send
-            });
-		}
-        $subtemplate->param( DBS => $tmpldbs );
+        $subtemplate->param( DBS => $dbs );
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/repository/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/repository/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/repository/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -45,6 +45,7 @@
 use Vhffs::Main;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
+use Vhffs::Panel::Repository;
 use Vhffs::Stats;
 use Vhffs::Constants;
 my $panel = new Vhffs::Panel::Main();
@@ -88,36 +89,22 @@
     $template->param( TEXT_TITLE2 => gettext('Group') );
     $template->param( TEXT_TITLE3 => gettext('State') );
 
-	use Vhffs::Services::Repository;
+	my $repos = Vhffs::Panel::Repository::search( $vhffs, $name );
 
-	my $repos = Vhffs::Services::Repository::getall( $vhffs , undef , $name , undef );
-	my $repo;
-	my $output = "";
-
 	if( defined $repos )
 	{
         my $subtemplate;
         my $send;
         my $tmplrepos;
         if( $user->is_admin == 1 )  {
-            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/repository/part.tmpl" );
-            $send = gettext('Modify this Download repository');
+            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/repository/part.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Modify this Download repository'));
         }  else  {
-            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/repository/part-modo.tmpl" );
-            $send = gettext('Show this Download repository');
+            $subtemplate = new HTML::Template( filename => "$templatesdir/admin/repository/part-modo.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Show this Download repository'));
         }
                                                                 
-		foreach $repo ( @{$repos} )
-		{
-            push( @$tmplrepos, {
-                NAME => $repo->get_name,
-                GROUP => $repo->get_group->get_groupname,
-                OID => $repo->get_oid,
-                STATE => gettext( Vhffs::Functions::status_string_from_status_id( $repo->get_status ) ),
-                SEND => $send
-            });
-		}
-        $subtemplate->param( REPOSITORIES => $tmplrepos );
+        $subtemplate->param( REPOSITORIES => $repos );
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/svn/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/svn/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/svn/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -30,23 +30,14 @@
 # POSSIBILITY OF SUCH DAMAGE.
 
 
-use POSIX qw(locale_h);
+use strict;
 use HTML::Template;
-use locale;
 use Locale::gettext;
-use CGI;
-use CGI::Session;
-use strict;
 
-
 use lib "/usr/share/vhffs/api/";
-use Vhffs::User;
-use Vhffs::Group;
-use Vhffs::Main;
 use Vhffs::Panel::Main;
-use Vhffs::Panel::Menu;
-use Vhffs::Stats;
-use Vhffs::Constants;
+use Vhffs::Panel::Svn;
+
 my $panel = new Vhffs::Panel::Main();
 if(!$panel)  {
         exit 0;
@@ -82,38 +73,22 @@
 		$template->param( TITLE => gettext("All Subversion repositories lists") );
 	}
 
-	use Vhffs::Services::Svn;
-	my $repos = Vhffs::Services::Svn::getall( $vhffs , undef , $name );
-	my $svn;
+    $template->param(TEXT_TITLE1 => gettext('SVN root'));
+    $template->param(TEXT_TITLE2 => gettext('Group'));
+    $template->param(TEXT_TITLE3 => gettext('State'));
 
+	my $repos = Vhffs::Panel::Svn::search( $vhffs, $name );
+
 	if( defined $repos )
 	{
 		my $subtemplate;
-        my $send;
-        my $tmplsvn;
 		if( $user->is_admin == 1 )  {
-			$subtemplate = new HTML::Template( filename => "$templatesdir/admin/svn/part.tmpl" );
-            $send =  gettext('Modify this Subversion repository');
+			$subtemplate = new HTML::Template( filename => "$templatesdir/admin/svn/part.tmpl", global_vars => 1 );
+            $subtemplate->param(SEND => gettext('Modify this Subversion repository'));
 		}  else  {
-			$subtemplate = new HTML::Template( filename => "$templatesdir/admin/svn/part-modo.tmpl" );
+			$subtemplate = new HTML::Template( filename => "$templatesdir/admin/svn/part-modo.tmpl",  global_vars => 1, die_on_bad_params => 0);
 		}
-        foreach $svn ( @{$repos} )
-		{
-            my $svnhash = {
-                SVNROOT => $svn->get_reponame,
-                GROUP => $svn->get_group->get_groupname,
-                OID => $svn->get_oid,
-                STATE => Vhffs::Functions::status_string_from_status_id( $svn->get_status )
-            };
-
-			if( $user->is_admin == 1 )  {
-                $svnhash->{CGIGROUP} = $svn->get_group->get_groupname;
-                $svnhash->{SEND} = $send;
-			}
-
-            push( @$tmplsvn, $svnhash );
-		}
-        $subtemplate->param( SVNREPOS => $tmplsvn);
+        $subtemplate->param( SVNREPOS => $repos);
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/user/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/user/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/user/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -30,23 +30,15 @@
 # POSSIBILITY OF SUCH DAMAGE.
 
 
-use POSIX qw(locale_h);
+use strict;
 use HTML::Template;
-use locale;
 use Locale::gettext;
-use CGI;
-use CGI::Session;
-use strict;
 
 use lib "/usr/share/vhffs/api/";
-use Vhffs::User;
-use Vhffs::Group;
-use Vhffs::Main;
-use Vhffs::Functions;
 use Vhffs::Panel::Main;
 use Vhffs::Panel::Menu;
-use Vhffs::Stats;
-use Vhffs::Constants;
+use Vhffs::Panel::User;
+
 my $panel = new Vhffs::Panel::Main();
 if(!$panel)  {
         exit 0;
@@ -88,39 +80,21 @@
     $template->param( TEXT_TITLE2 => gettext('Real Name') );
     $template->param( TEXT_TITLE3 => gettext('State') );
 
-
-	use Vhffs::Panel::User;
-
-#	my $users = Vhffs::Panel::User::getall_users( $vhffs , $name );
-	my $users = Vhffs::User::getall( $vhffs , undef , $name );
-	my $u;
-
-	if( defined $users )
+	my $users = Vhffs::Panel::User::search( $vhffs, $name );
+	
+    if( defined $users )
 	{
 		my $subtemplate;
-        my $tmplusers;
-        my $send;
 
 		if( $user->is_admin == 1 )  {
-			$subtemplate = new HTML::Template( filename => $templatedir.'/admin/user/part.tmpl' );
-            $send = gettext('Modify this user');
+			$subtemplate = new HTML::Template( filename => $templatedir.'/admin/user/part.tmpl', global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Modify this user') );
 		}  else  {
-			$subtemplate = new HTML::Template( filename => $templatedir.'/admin/user/part-modo.tmpl' );
-            $send = gettext('Show this user');
+			$subtemplate = new HTML::Template( filename => $templatedir.'/admin/user/part-modo.tmpl', global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Show this user'));
 		}
 
-		foreach $u ( @{$users} ) 
-		{
-            push (@$tmplusers, {
-                NAME => $u->get_username,
-                FIRSTNAME => $u->get_firstname,
-                LASTNAME => $u->get_lastname,
-                STATE => gettext( Vhffs::Functions::status_string_from_status_id( $u->get_status ) ),
-                SEND => $send
-            });
-
-		}
-        $subtemplate->param( USERS => $tmplusers );
+        $subtemplate->param( USERS => $users );
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/admin/web/list.pl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/admin/web/list.pl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/admin/web/list.pl	2007-02-22 09:49:40 UTC (rev 492)
@@ -30,23 +30,14 @@
 # POSSIBILITY OF SUCH DAMAGE.
 
 
-use POSIX qw(locale_h);
-use HTML::Template;
-use locale;
-use Locale::gettext;
-use CGI;
-use CGI::Session;
 use strict;
+use Locale::gettext;
 
 
 use lib "/usr/share/vhffs/api/";
-use Vhffs::User;
-use Vhffs::Group;
-use Vhffs::Main;
 use Vhffs::Panel::Main;
-use Vhffs::Panel::Menu;
-use Vhffs::Stats;
-use Vhffs::Constants;
+use Vhffs::Panel::Web;
+
 my $panel = new Vhffs::Panel::Main();
 if(!$panel)  {
         exit 0;
@@ -89,35 +80,21 @@
     $template->param( TEXT_TITLE3 => gettext('State') );
 
 
-	use Vhffs::Panel::Web;
-	use Vhffs::Services::Httpd;
-	my $webs = Vhffs::Services::Httpd::getall( $vhffs , undef , $name );
+	my $webs = Vhffs::Panel::Web::search( $vhffs, $name );
 	my $web;
 	if( defined $webs )
 	{
 		my $subtemplate;
-        my $send;
-        my $tmplwebs;
 
     	if( $user->is_admin == 1 )  {
-			$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part.tmpl" );
-            $send = gettext('Change this Website');
+			$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part.tmpl", global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Change this Website') );
 		}  else   {
-			$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part-modo.tmpl" );
-            $send = gettext('Show this Website');
+			$subtemplate = new HTML::Template( filename => $templatedir."/admin/web/part-modo.tmpl", global_vars => 1 );
+            $subtemplate->param( SEND => gettext('Show this Website'));
 		}
 
-	    foreach $web ( @{$webs} ) {
-            push( @$tmplwebs, {
-                SERVERNAME => $web->get_servername,
-                GROUP => $web->get_group->get_groupname,
-                OID => $web->get_oid,
-                STATE => Vhffs::Functions::status_string_from_status_id( $web->get_status ),
-                SEND => $send
-            });
-			
-		}
-        $subtemplate->param( WEBS => $tmplwebs );
+        $subtemplate->param( WEBS => $webs );
 		$template->param( LIST => $subtemplate->output );
 	}
 	

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="CVSROOT">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/cvs/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="CVSROOT">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DOMAIN">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/dns/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DOMAIN">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DOMAIN">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/mail/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DOMAIN">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/mailing/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/mailing/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/mailing/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -1,10 +1,10 @@
-<TMPL_LOOP VAR="LISTS">
+<TMPL_LOOP NAME="LISTS">
 <tr>
 	<td>
-		<TMPL_VAR NAME="LPART">@<TMPL_VAR NAME="DOMAIN">
+		<TMPL_VAR NAME="LOCAL_PART">@<TMPL_VAR NAME="DOMAIN">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DBNAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/mysql/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DBNAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/object/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/object/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/object/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -1,10 +1,10 @@
 <TMPL_LOOP NAME="OBJECTS">
 <tr>
 	<td>
-		<TMPL_VAR NAME="OID">
+		<TMPL_VAR NAME="OID"> (<TMPL_VAR NAME="TYPE">)
 	</td>
 	<td>
-		<TMPL_VAR NAME="USER"> 
+		<TMPL_VAR NAME="USERNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DBNAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/pgsql/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="DBNAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="NAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/repository/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="NAME">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="SVNROOT">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/svn/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<TMPL_VAR NAME="SVNROOT">
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 
@@ -13,7 +13,7 @@
 		<form method="post" action="../../svn/prefs.pl">
 			<input type="hidden" id="OID" name="OID" value="<TMPL_VAR NAME="OID">" />
 			<input type="hidden" id="name" name="name" value="<TMPL_VAR NAME="SVNROOT">" />
-			<input type="hidden" id="cgigroup" name="cgigroup" value="<TMPL_VAR NAME="CGIGROUP">" />
+			<input type="hidden" id="cgigroup" name="cgigroup" value="<TMPL_VAR NAME="GROUPNAME">" />
 			<input type="submit" value="<TMPL_VAR NAME="SEND">" />
 		</form>
 	</td>

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/user/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/user/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/user/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -1,7 +1,7 @@
 <TMPL_LOOP NAME="USERS">
 <tr>
 	<td>
-	<TMPL_VAR NAME="NAME">
+	<TMPL_VAR NAME="USERNAME">
 	</td>
 	<td>
 	<TMPL_VAR NAME="FIRSTNAME"> 
@@ -14,7 +14,7 @@
 	</td>
 	<td>
 		<form method="post" action="show.pl">
-			<input type="hidden" name="NAME" value="<TMPL_VAR NAME="NAME">" />
+			<input type="hidden" name="NAME" value="<TMPL_VAR NAME="USERNAME">" />
 			<input type="hidden" name="OID" value="<TMPL_VAR NAME="OID">" />
 			<input type="submit" value="<TMPL_VAR NAME="SEND">" />
 		</form>

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/user/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/user/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/user/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -1,7 +1,7 @@
 <TMPL_LOOP NAME="USERS">
 <tr>
 	<td>
-	<TMPL_VAR NAME="NAME">
+	<TMPL_VAR NAME="USERNAME">
 	</td>
 	<td>
 	<TMPL_VAR NAME="FIRSTNAME"> <TMPL_VAR NAME="LASTNAME">
@@ -11,7 +11,7 @@
 	</td>
 	<td>
 		<form method="post" action="edit.pl">
-			<input type="hidden" name="NAME" value="<TMPL_VAR NAME="NAME">" />
+			<input type="hidden" name="NAME" value="<TMPL_VAR NAME="USERNAME">" />
 			<input type="hidden" name="OID" value="<TMPL_VAR NAME="OID">" />
 			<input type="submit" value="<TMPL_VAR NAME="SEND">" />
 		</form>

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/web/part-modo.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/web/part-modo.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/web/part-modo.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<a href="http://<TMPL_VAR NAME="SERVERNAME">"><TMPL_VAR NAME="SERVERNAME"></a>
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 

Modified: branches/vhffs_4.1/vhffs-panel/templates/admin/web/part.tmpl
===================================================================
--- branches/vhffs_4.1/vhffs-panel/templates/admin/web/part.tmpl	2007-02-22 07:47:02 UTC (rev 491)
+++ branches/vhffs_4.1/vhffs-panel/templates/admin/web/part.tmpl	2007-02-22 09:49:40 UTC (rev 492)
@@ -4,7 +4,7 @@
 		<a href="http://<TMPL_VAR NAME="SERVERNAME">"><TMPL_VAR NAME="SERVERNAME"></a>
 	</td>
 	<td>
-		<TMPL_VAR NAME="GROUP"> 
+		<TMPL_VAR NAME="GROUPNAME"> 
 	</td>
 	<td>
 		<TMPL_VAR NAME="STATE"> 


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/