cvs: php-master-web /manage mirrors.php

From: Date: Sat, 11 Jan 2003 16:31:19 +0000
Subject: cvs: php-master-web /manage mirrors.php
Groups: php.mirrors 
Request: Send a blank email to php-mirrors+get-14948@lists.php.net to get a copy of this message
derick Sat Jan 11 11:31:19 2003 EDT Modified files: /php-master-web/manage mirrors.php Log: - Implement ACLs and restrict access to: "jimw","rasmus","andrei","zeev","andi","sas","thies","rubys","ssb", "imajes","goba","derick" Index: php-master-web/manage/mirrors.php diff -u php-master-web/manage/mirrors.php:1.34 php-master-web/manage/mirrors.php:1.35 --- php-master-web/manage/mirrors.php:1.34 Wed Jan 8 13:48:56 2003 +++ php-master-web/manage/mirrors.php Sat Jan 11 11:31:18 2003 @@ -22,65 +22,69 @@ // We have something to update in the database if (isset($id) && isset($hostname)) { - // No query need to be made - $query = FALSE; - - // What to update? - switch($mode) { - - // Perform a full data update on a mirror - case "update": - $query = "UPDATE mirrors SET hostname='$hostname', active=$active, " . - "mirrortype=$mirrortype, cname='$cname', maintainer='$maintainer', " . - "providername='$providername', providerurl='$providerurl', " . - "cc='$cc', lang='$lang', has_stats=$has_stats, " . - "lastedited=NOW() WHERE id = $id"; - $msg = "$hostname updated"; - break; - - // Delete a mirror site (specified by the ID) - case "delete": - $query = "DELETE FROM mirrors WHERE id = $id"; - $msg = "$hostname deleted"; - break; - - // Insert a new mirror site into the database - case "insert": - $query = "INSERT INTO mirrors (hostname, active, mirrortype, " . - "cname, maintainer, providername, providerurl, cc, " . - "lang, has_stats, created, lastedited) " . - "VALUES ('$hostname', $active, $mirrortype, '$cname', " . - "'$maintainer', '$providername', '$providerurl', '$cc', " . - "'$lang', $has_stats, NOW(), NOW())"; - $msg = "$hostname added"; - break; - } - - // If there is any query to execute - if ($query) { - - // Try to execute query, and provide failure information if unable to - if (!mysql_query($query)) { - echo "<h2 class=\"error\">Query failed: ", mysql_error(), "</h2>"; - } - - // Else provide update message - else { - echo "<h2>$msg</h2>"; - } - - // In case a of a mirror is deleted, mail a notice to the - // php-mirrors list, so any malicios deletions can be tracked - if ($mode == "delete" || $mode == "insert") { - $body = "The mirrors list was updated, and $hostname was " . ($mode == "delete" ? "deleted." : "added."); - @mail( - "php-mirrors@lists.php.net", - "PHP Mirrors Updated by $user.", - $body, - "From: php-mirrors@lists.php.net" - ); - } - } + if (is_admin($user)) { + // No query need to be made + $query = FALSE; + + // What to update? + switch($mode) { + + // Perform a full data update on a mirror + case "update": + $query = "UPDATE mirrors SET hostname='$hostname', active=$active, " . + "mirrortype=$mirrortype, cname='$cname', maintainer='$maintainer', " . + "providername='$providername', providerurl='$providerurl', " . + "cc='$cc', lang='$lang', has_stats=$has_stats, " . + "lastedited=NOW() WHERE id = $id"; + $msg = "$hostname updated"; + break; + + // Delete a mirror site (specified by the ID) + case "delete": + $query = "DELETE FROM mirrors WHERE id = $id"; + $msg = "$hostname deleted"; + break; + + // Insert a new mirror site into the database + case "insert": + $query = "INSERT INTO mirrors (hostname, active, mirrortype, " . + "cname, maintainer, providername, providerurl, cc, " . + "lang, has_stats, created, lastedited) " . + "VALUES ('$hostname', $active, $mirrortype, '$cname', " . + "'$maintainer', '$providername', '$providerurl', '$cc', " . + "'$lang', $has_stats, NOW(), NOW())"; + $msg = "$hostname added"; + break; + } + + // If there is any query to execute + if ($query) { + + // Try to execute query, and provide failure information if unable to + if (!mysql_query($query)) { + echo "<h2 class=\"error\">Query failed: ", mysql_error(), "</h2>"; + } + + // Else provide update message + else { + echo "<h2>$msg</h2>"; + } + + // In case a of a mirror is deleted, mail a notice to the + // php-mirrors list, so any malicios deletions can be tracked + if ($mode == "delete" || $mode == "insert") { + $body = "The mirrors list was updated, and $hostname was " . ($mode == "delete" ? "deleted." : "added."); + @mail( + "php-mirrors@lists.php.net", + "PHP Mirrors Updated by $user.", + $body, + "From: php-mirrors@lists.php.net" + ); + } + } + } else { + warn("you're not allowed to take actions on mirrors."); + } } // An $id is specified, but no $hostname, show editform @@ -359,4 +363,16 @@ else { echo $version; } } -?> \ No newline at end of file +function is_admin($user) { + #TODO: use acls, once implemented. + if (in_array($user, + array( + "jimw","rasmus","andrei","zeev","andi","sas","thies","rubys", + "ssb","imajes","goba","derick") + ) + ) { + return true; + } +} + +?>

« previous php.mirrors (#14948) next »