Discussion:
svn: /pear/pearweb/trunk/ include/pear-database-channel.php sql/channels.sql
Daniel O'Connor
2011-04-09 13:35:17 UTC
Permalink
clockwerx Sat, 09 Apr 2011 13:35:17 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=310086

Log:
Altered channel table, channel API

Changed paths:
U pear/pearweb/trunk/include/pear-database-channel.php
U pear/pearweb/trunk/sql/channels.sql

Modified: pear/pearweb/trunk/include/pear-database-channel.php
===================================================================
--- pear/pearweb/trunk/include/pear-database-channel.php 2011-04-09 13:10:25 UTC (rev 310085)
+++ pear/pearweb/trunk/include/pear-database-channel.php 2011-04-09 13:35:17 UTC (rev 310086)
@@ -27,16 +27,46 @@
* - connect and retrieve the channel.xml
* to verify that this is possible
*/
- static function add($name, $server)
+ static function add($name)
{
global $dbh;
- $query = 'INSERT INTO channels (name) VALUES (?)';
+ $query = 'INSERT INTO channels (name, is_active) VALUES (?, 0)';
$err = $dbh->query($query, array($name));
if (DB::isError($err)) {
return $err;
}
}

+ static function edit($name, $project_label, $project_link, $contact_name, $contact_email)
+ {
+ global $dbh;
+ $query = 'UPDATE channels SET project_label = ?, project_link = ?, contact_name = ?, contact_email = ? WHERE name = ?';
+ $err = $dbh->query($query, array($project_label, $project_link, $contact_name, $contact_email, $name));
+ if (DB::isError($err)) {
+ return $err;
+ }
+ }
+
+ static function activate($name)
+ {
+ global $dbh;
+ $query = "UPDATE channels SET is_active = 1 WHERE name = ?";
+ $err = $dbh->query($query, array($name));
+ if (DB::isError($err)) {
+ return $err;
+ }
+ }
+
+ static function remove($name)
+ {
+ global $dbh;
+ $query = "DELETE FROM channels WHERE name = ?";
+ $err = $dbh->query($query, array($name));
+ if (DB::isError($err)) {
+ return $err;
+ }
+ }
+
/**
* List all registered channels
* @return array Format: array(array(channel server), array(channel server),... )
@@ -44,7 +74,30 @@
static function listAll()
{
global $dbh;
- $query = 'SELECT * FROM channels';
+ $query = 'SELECT name FROM channels';
return $dbh->getAll($query, null, DB_FETCHMODE_ORDERED);
}
-}
\ No newline at end of file
+
+ /**
+ * List all registered channels that are approved
+ * @return array Format: array(array(channel server), array(channel server),... )
+ */
+ static function listActive()
+ {
+ global $dbh;
+ $query = 'SELECT name FROM channels WHERE is_active = 1';
+ return $dbh->getAll($query, null, DB_FETCHMODE_ORDERED);
+ }
+
+
+ /**
+ * List all registered channels pending approval
+ * @return array Format: array(array(channel server), array(channel server),... )
+ */
+ static function listInactive()
+ {
+ global $dbh;
+ $query = 'SELECT name FROM channels WHERE is_active = 0';
+ return $dbh->getAll($query, null, DB_FETCHMODE_ORDERED);
+ }
+}

Modified: pear/pearweb/trunk/sql/channels.sql
===================================================================
--- pear/pearweb/trunk/sql/channels.sql 2011-04-09 13:10:25 UTC (rev 310085)
+++ pear/pearweb/trunk/sql/channels.sql 2011-04-09 13:35:17 UTC (rev 310086)
@@ -1,6 +1,12 @@
CREATE TABLE channels (
- name varchar(255) NOT NULL default '',
+ name varchar(255) NOT NULL default '',
+ is_active tinyint(1),
+ project_label varchar(255) NOT NULL default '',
+ project_link varchar(255) NOT NULL default '',
+ contact_name varchar(255) NOT NULL default '',
+ contact_email varchar(255) NOT NULL default '',
PRIMARY KEY (name),
);

-INSERT INTO channels VALUES ('pear.php.net');
+INSERT INTO channels VALUES ('pear.php.net', 1, 'PEAR', 'http://pear.php.net/', 'PEAR Webmaster', 'pear-***@lists.php.net');
+

Loading...