Update of /cvsroot/fink/scripts/buildfink/fdb
In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv21412/fdb

Added Files:
        FDBWebsite.pm htaccess.example 
Removed Files:
        fdb.pl 
Log Message:
Start moving web interface to new framework

--- NEW FILE: htaccess.example ---
<Perl>
        %FDBWebsite::FDBParams = (
                store => "DBI",
                dbtype => "sqlite",
                db => "fdb.sqlite",
        );
</Perl>
PerlSwitches -I.
PerlModule FDBWebsite
SetHandler modperl
PerlResponseHandler FDBWebsite

--- NEW FILE: FDBWebsite.pm ---
package FDBWebsite;

use strict;
use warnings;
use FindBin qw($Bin);
use lib "$Bin/../lib";
use FinkFDB;
use Apache2::RequestRec ();
use CGI qw(:standard param);
use JSON;
our %FDBParams;

sub handler {
  my($r) = @_;

  die "Please configure \%FDBWebsite::FDBParams in the Apache configuration!\n" 
unless %FDBParams;
  my $FDB = FinkFDB->new(%FDBParams);

  my($op, $param) = split(m!/!, $r->path_info());
  if ($op) {
    $r->content_type('text/plain');
    if ($op eq "package") {
      $r->print(objToJson($FDB->getPackageFiles($param)));
    } elsif ($op eq "ls") {
      $r->print(objToJson(map {
        $_->{file_name} .= "/" if $_->{is_directory};
        $_;
      } $FDB->getDirectoryFiles($param)));
    }
  } else {
    $r->content_type('text/html');
    my $packages = $FDB->getPackages();

    $r->print(<<EOF);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"DTD/xhtml1-strict.dtd">
<html>
<head>
    <title>Fink File Database</title>
    <link rel="stylesheet" type="text/css" href="pkgdb.css" />
    <script type="text/javascript" src="jquery-latest.pack.js" />
    <script type="text/javascript" src="pkgdb.js" />
</head>
<body>
<h1>Fink File Database</h1>
<h2>Filesystem</h2>
<ul id="filesystem"><li class="directory"><a href="#" 
file_id="0">/sw</a></li></ul>
<h2>Packages</h2>
<ul id="packages">
@{[join("\n", map { sprintf(
   '<li class="package"><a href="#" package_id="%s">%s</a></li>',
   $_->{package_id},
   $_->{package_name})
} @packages)]}
  </ul>
  </body>
  </html>
EOF
  }
}

1;

--- fdb.pl DELETED ---


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-commits

Reply via email to