drupal/modules/cvs.module

62 lines
2.3 KiB
Plaintext

<?php
// $Id$
function cvs_perm() {
return array("access cvs messages");
}
function cvs_link($type) {
if ($type == "page" && user_access("access cvs messages")) {
$links[] = "<a href=\"module.php?mod=cvs\">" . t("cvs messages") . "</a>";
}
return $links ? $links : array();
}
function cvs_cron() {
if (time() - variable_get("cvs_cron_last", 0) > variable_get("cvs_cron_time", time())) {
variable_set("cvs_cron_last", time());
$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_options() {
$period = array(43200 => format_interval(43200), 86400 => format_interval(86400), 172800 => format_interval(172800), 259200 => format_interval(259200), 604800 => format_interval(604800), 1209600 => format_interval(1209600));
$output .= form_textfield("Digest recepients", "cvs_mail", variable_get("cvs_mail", "root@localhost"), 55, 128, "The e-mail address to mail the CVS log messages to. Multiple recipients can be specified by putting a comma between each address.");
$output .= form_select("Digest interval", "cvs_cron_time" , variable_get("cvs_cron_time", 86400), $period, "The time interval at which batched CVS digests are dispatched. Requires crontab.");
return $output;
}
function cvs_page() {
global $theme;
if (user_access("access cvs messages")) {
$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". nl2br(htmlentities($cvs->message)) ."<hr />";
}
$theme->header();
$theme->box("CVS commit messages", "<div style=\"font-family: monospace;\">$output</div>");
$theme->footer();
}
else {
$theme->header();
$theme->box(t("Access denied"), message_access());
$theme->footer();
}
}
?>