cvs: pearweb /include pear-auth.php pear-database.php pear-format-html.php /sql data.sql releases.sql
| From: | Stig Bakken | Date: | Thu, 19 Apr 2001 00:59:05 +0000 |
| Subject: | cvs: pearweb /include pear-auth.php pear-database.php pear-format-html.php /sql data.sql releases.sql | ||
| Groups: | php.pear.cvs | ||
| Request: | Send a blank email to pear-cvs+get-42@lists.php.net to get a copy of this message | ||
ssb Wed Apr 18 17:59:05 2001 EDT
Modified files:
/pearweb/include pear-auth.php pear-database.php
pear-format-html.php
/pearweb/sql data.sql releases.sql
Log:
* renamed releases.release to releases.version
* added releases.doneby
* some auth fixes
Index: pearweb/include/pear-auth.php
diff -u pearweb/include/pear-auth.php:1.1 pearweb/include/pear-auth.php:1.2
--- pearweb/include/pear-auth.php:1.1 Fri Apr 13 19:24:38 2001
+++ pearweb/include/pear-auth.php Wed Apr 18 17:59:05 2001
@@ -1,27 +1,23 @@
<?php
-function auth_reject($realm)
+function auth_reject($realm, $message = "Login Failed!")
{
Header("HTTP/1.0 401 Unauthorized");
Header("WWW-authenticate: basic realm=\"$realm\"");
- response_header("access denied");
- report_error("access denied");
+ response_header($message);
+ report_error($message);
response_footer();
exit;
}
function auth_require($level = 0)
{
- global $PHP_AUTH_USER, $PHP_AUTH_PW, $dbh;
+ global $PHP_AUTH_USER, $PHP_AUTH_PW, $dbh, $auth_user;
- if ($level > 0) {
- $realm = "PEAR administrator";
- } else {
- $realm = "PEAR maintainer";
- }
- $user = new PEAR_User(&$dbh, strtoupper($PHP_AUTH_USER));
- if (DB::isError($user) || md5($PHP_AUTH_PW) != $user->password) {
- auth_reject($domain);
+ $realm = "PEAR user";
+ $auth_user =& new PEAR_User(&$dbh, strtolower($PHP_AUTH_USER));
+ if (DB::isError($auth_user) || md5($PHP_AUTH_PW) != $auth_user->password) {
+ auth_reject($realm);
}
}
Index: pearweb/include/pear-database.php
diff -u pearweb/include/pear-database.php:1.2 pearweb/include/pear-database.php:1.3
--- pearweb/include/pear-database.php:1.2 Sun Apr 15 01:56:27 2001
+++ pearweb/include/pear-database.php Wed Apr 18 17:59:05 2001
@@ -39,6 +39,9 @@
{
global $dbh;
$sth = $dbh->query("SELECT * FROM packages ORDER BY name");
+ if (DB::isError($sth)) {
+ return $sth;
+ }
$tree = array('' => array("children" => array()));
$oldleft = array();
$oldright = array();
@@ -72,11 +75,23 @@
"WHERE name = '$node'";
$dbh->query($query);
}
+ return true;
+}
- $from = $tree['Science_Chemistry']['leftvisit'];
- $to = $tree['Science_Chemistry']['rightvisit'];
- $test = $dbh->getAll("SELECT name FROM packages WHERE leftvisit <= $from ".
- "AND rightvisit >= $to");
+function &get_recent_releases($n = 5) {
+ global $dbh;
+ $sth = $dbh->query("SELECT packages.name, packages.summary, ".
+ "releases.version, releases.releasedate, ".
+ "releases.releasenotes, releases.doneby ".
+ "FROM packages, releases ".
+ "WHERE packages.name = releases.package ".
+ "ORDER BY releases.releasedate DESC");
+ $recent = array();
+ // XXX FIXME when DB gets rowlimit support
+ while ($n-- > 0 && ($err = $sth->fetchInto($row, DB_FETCHMODE_ASSOC)) === DB_OK)
{
+ $recent[] = $row;
+ }
+ return $recent;
}
function invalidHandle($handle) {
@@ -107,6 +122,8 @@
return 'invalid URL';
}
+
+
class PEAR_User extends DB_storage
{
function PEAR_User(&$dbh, $user)
@@ -133,6 +150,5 @@
$this->setup(array($package, $release));
}
}
-
?>
Index: pearweb/include/pear-format-html.php
diff -u pearweb/include/pear-format-html.php:1.2 pearweb/include/pear-format-html.php:1.3
--- pearweb/include/pear-format-html.php:1.2 Sun Apr 15 01:56:27 2001
+++ pearweb/include/pear-format-html.php Wed Apr 18 17:59:05 2001
@@ -5,7 +5,7 @@
function response_header($title = "PEAR: the PHP Extension and Application Repository",
$style = false)
{
- global $_style, $pear_green, $PHP_AUTH_NAME, $PHP_AUTH_PW;
+ global $_style, $pear_green, $PHP_AUTH_USER, $PHP_AUTH_PW;
global $_header_done;
if ($_header_done) {
return;
@@ -22,8 +22,9 @@
print "<IMG SRC=\"/gifs/pearsmall.gif\" WIDTH=96 HEIGHT=48
ALT=\"\">";
print "</TD><TD ALIGN=\"left\" VALIGN=\"top\">";
print "<FONT SIZE=\"-1\">";
- if ($PHP_AUTH_NAME) {
- print ' <A HREF="logout.php"><FONT
COLOR="#ffffff">';
+ if ($PHP_AUTH_USER) {
+ print " <FONT
COLOR=\"#ffffff\">user: <B>$PHP_AUTH_USER</B></FONT>".
+ '<BR> <A HREF="logout.php"><FONT
COLOR="#ffffff">';
print "logout</FONT></A><BR>\n";
} else {
print ' <A HREF="login.php"><FONT
COLOR="#ffffff">';
Index: pearweb/sql/data.sql
diff -u pearweb/sql/data.sql:1.7 pearweb/sql/data.sql:1.8
--- pearweb/sql/data.sql:1.7 Sun Apr 15 01:56:31 2001
+++ pearweb/sql/data.sql Wed Apr 18 17:59:05 2001
@@ -1,5 +1,5 @@
-INSERT INTO users VALUES('SSB', '8c38dfa80e2bf8b2076a30848f111300', 'Stig
Bakken', 'ssb@fast.no', 'http://www.pvv.org/~ssb/', 944079834, 944079834,
'SSB', 1, 1, 1, NULL);
-INSERT INTO maintains VALUES('SSB','DB','lead');
+INSERT INTO users VALUES('ssb', '738aa8d3bc02eb8712acd0eb2cf6dfd5', 'Stig
S. Bakken', 'stig@php.net', 'http://www.pvv.org/~ssb/', '2001-04-18',
'ssb', NULL, 1, 1, 1, NULL);
+INSERT INTO maintains VALUES('ssb','HTTP','lead');
-- INSERT INTO packages (name,placeholder) VALUES('',1);
INSERT INTO packages (name,summary,copyright) VALUES('DB','PEAR database abstraction
layer','PHP License');
@@ -19,7 +19,7 @@
INSERT INTO packages (name,parent) VALUES('HTML_Form','HTML');
INSERT INTO packages (name,parent) VALUES('HTML_Menu','HTML');
INSERT INTO packages (name,parent) VALUES('HTML_Processor','HTML');
-INSERT INTO packages (name,parent) VALUES('HTTP',NULL);
+INSERT INTO packages (name,parent,summary) VALUES('HTTP',NULL,'Some HTTP-related
functions');
INSERT INTO packages (name,parent) VALUES('HTTP_Compress','HTTP');
INSERT INTO packages (name,parent,placeholder) VALUES('Image',NULL,1);
INSERT INTO packages (name,parent) VALUES('Image_Remote','Image');
@@ -41,3 +41,5 @@
INSERT INTO packages (name,parent) VALUES('XML_RPC','XML');
INSERT INTO packages (name,parent) VALUES('XML_Parser','XML');
INSERT INTO packages (name,parent) VALUES('XML_Render','XML');
+
+-- INSERT INTO releases VALUES(NULL, 'HTTP', '1.0', 'ssb',
'2001-04-18', 'Initial release');
Index: pearweb/sql/releases.sql
diff -u pearweb/sql/releases.sql:1.1 pearweb/sql/releases.sql:1.2
--- pearweb/sql/releases.sql:1.1 Fri Apr 13 17:41:55 2001
+++ pearweb/sql/releases.sql Wed Apr 18 17:59:05 2001
@@ -1,10 +1,11 @@
CREATE TABLE releases (
id INTEGER NOT NULL AUTO_INCREMENT,
package VARCHAR(80) NOT NULL REFERENCES packages(name),
- release VARCHAR(20) NOT NULL,
- releasedate DATETIME,
- releasenotes TEXT,
+ version VARCHAR(20) NOT NULL,
+ doneby VARCHAR(20) NOT NULL REFERENCES users(handle),
+ releasedate DATETIME NOT NULL,
+ releasenotes TEXT DEFAULT '',
PRIMARY KEY(id),
- UNIQUE(package, release)
+ UNIQUE INDEX(package, version)
);