summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2001-04-19 18:59:10 +0000
committerDries Buytaert <dries@buytaert.net>2001-04-19 18:59:10 +0000
commit11666090206b84e97b0cd822ca1053aa9d7f53b3 (patch)
tree62f21e7b31c593280dd5fdeeda1dc8d04eba2978
parentd001c73302e6ca023946632c62e8b8940cfb9a21 (diff)
downloadbrdo-11666090206b84e97b0cd822ca1053aa9d7f53b3.tar.gz
brdo-11666090206b84e97b0cd822ca1053aa9d7f53b3.tar.bz2
- Addition: added new "cvs.module" to display and mail drupal's
CVS log messages. Our additional Perl script that hooks into the CVS repository is also provided in ./scripts. Requires a SQL update, see 2.00-to-x.xx.sql.
-rw-r--r--modules/cvs.module43
-rw-r--r--scripts/cvs-to-sql.pl17
-rw-r--r--updates/2.00-to-x.xx.sql13
3 files changed, 68 insertions, 5 deletions
diff --git a/modules/cvs.module b/modules/cvs.module
new file mode 100644
index 000000000..5deee6d53
--- /dev/null
+++ b/modules/cvs.module
@@ -0,0 +1,43 @@
+<?php
+
+$module = array("cron" => "cvs_cron",
+ "conf" => "cvs_conf",
+ "page" => "cvs_page");
+
+function cvs_cron() {
+ $result = db_query("SELECT * FROM cvs WHERE status = '0' ORDER BY timestamp DESC LIMIT 50");
+
+ while ($cvs = db_fetch_object($result)) {
+ $body .= "File: $cvs->files\nDate: ". format_date($cvs->timestamp) ."\nUser: $cvs->user\n\n$cvs->message\n----------------------------------------------------------------------\n";
+ }
+
+ $result = db_query("UPDATE cvs SET status = '1'");
+
+ if ($body) mail(variable_get(cvs_mail, "root@localhost"), "CVS log messages", $body, "From: no-reply");
+}
+
+function cvs_conf() {
+ $output .= "<B>Recepient for log messages:</B><BR>\n";
+ $output .= "<INPUT NAME=\"edit[cvs_mail]\" MAXLENGTH=\"55\" SIZE=\"30\" VALUE=\"". variable_get(cvs_mail, "root@localhost") ."\"><BR>\n";
+ $output .= "<I><SMALL>The e-mail address to mail the CVS log messages to. Multiple recipients can be specified by putting a comma between each address.</SMALL></I><P>\n";
+ return $output;
+}
+
+function cvs_page() {
+ global $theme;
+
+ $result = db_query("SELECT * FROM cvs ORDER BY timestamp DESC LIMIT 50");
+
+ while ($cvs = db_fetch_object($result)) {
+ $output .= "<b>File:</b> $cvs->files<br />";
+ $output .= "<b>Date:</b> ". format_date($cvs->timestamp) ."<br />";
+ $output .= "<b>User:</b> $cvs->user<br />";
+ $output .= "\n". htmlentities($cvs->message) ."<hr />";
+ }
+
+ $theme->header();
+ $theme->box("CVS commit messages", "<pre>$output</pre>");
+ $theme->footer();
+}
+
+?> \ No newline at end of file
diff --git a/scripts/cvs-to-sql.pl b/scripts/cvs-to-sql.pl
new file mode 100644
index 000000000..355d22739
--- /dev/null
+++ b/scripts/cvs-to-sql.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w
+
+use DBI;
+
+my $db_name = 'drupal';
+my $db_user = 'drupal';
+my $db_pass = 'drupal';
+
+my $files = $ARGV[0];
+my @message = <STDIN>;
+my $message = join '' , @message;
+my $user = $ENV{USER};
+my $timestamp = time();
+
+my $db = DBI->connect("DBI:mysql:$db_name", "$db_user", "$db_pass") or die "Couldn't connect to database: " . DBI->errstr;
+$db->do("INSERT INTO cvs (user, files, message, timestamp) VALUES (". $db->quote($user) .", ". $db->quote($files) .", ". $db->quote($message) .", ". $db->quote($timestamp) .")") or die "Couldn't execute query: " . $db->errstr;
+$db->disconnect();
diff --git a/updates/2.00-to-x.xx.sql b/updates/2.00-to-x.xx.sql
index 5688d6f5b..71e697b7a 100644
--- a/updates/2.00-to-x.xx.sql
+++ b/updates/2.00-to-x.xx.sql
@@ -1,8 +1,5 @@
-# 14/04/2001:
-ALTER TABLE node ADD cid int(10) unsigned DEFAULT '0' NOT NULL;
-ALTER TABLE node ADD tid int(10) unsigned DEFAULT '0' NOT NULL;
-ALTER TABLE story DROP section;
-ALTER TABLE comments ADD KEY(lid);
+# 19/04/2001:
+ALTER TABLE node ADD comment int(2) DEFAULT '1' NOT NULL;
CREATE TABLE cvs (
user varchar(32) DEFAULT '' NOT NULL,
@@ -12,6 +9,12 @@ CREATE TABLE cvs (
timestamp int(11) DEFAULT '0' NOT NULL
);
+# 14/04/2001:
+ALTER TABLE node ADD cid int(10) unsigned DEFAULT '0' NOT NULL;
+ALTER TABLE node ADD tid int(10) unsigned DEFAULT '0' NOT NULL;
+ALTER TABLE story DROP section;
+ALTER TABLE comments ADD KEY(lid);
+
CREATE TABLE category (
cid int(10) unsigned DEFAULT '0' NOT NULL auto_increment,
name varchar(32) DEFAULT '' NOT NULL,