<?
                if(!isset($PHP_AUTH_USER) || !isset($PHP_AUTH_PW) ||  $PHP_AUTH_USER !=
"admin" || $PHP_AUTH_PW != "PaSSWoRd") {
                    header("WWW-Authenticate: Basic realm=\"CVS admin\"");
                    header("HTTP/1.0 401 Unauthorized");
                    echo "Not authorized";
                    exit;
                }
?>
<html><body>
<?
        function error($s) { ?>
<h1><font color=red>Error</font></h1><? echo $s; ?>
<p><hr size=1 noshade color=black width=100%>
<a href="index.php">Back</a>
        <? exit; }
        // Message
        function msg($s) {
                echo $s;
        }

        if($action=="update") {
                // Update translation and templates. At the end write update time into file README
                echo "<pre>\n";
                $dep = ":pserver:cas:${dep}@cvs.kde.org:/home/kde";
                putenv("CVS_PASSFILE=.cvspass");
                putenv("CVSROOT=$dep");
                echo `cvs -f login 2> .temp`;
                echo `cvs -f co kde-i18n/ru/messages 2>> .temp`;
                echo `cvs -f co kde-i18n/templates 2>> .temp`;
                echo "</pre>\n";
                echo "<h1>Error log:</h1><pre>";
                readfile(".temp");
                echo "</pre>";
                unlink(".temp");
                $f = fopen("kde-i18n/README","w");
                fwrite($f, strftime("\nПоследнее обновление: %d %b %Y, %T\n"));
                fwrite($f, "\nДля размещения Ваших переводов пошлите их по электронной почте\n");
                fwrite($f, "для проверки Андрею Черепанову по адресу: sibskull@mail.ru\n");
                fclose($f);
        } elseif($action=="put") {
                // Put single file in repository. If it exist - update, otherwise - add into repository
                $file = ereg_replace('(^/|\.\./|\;)','',$file);
                echo "<pre>\n";
                $dep = ":pserver:cas:${passwd}@cvs.kde.org:/home/kde";
                putenv("CVS_PASSFILE=.cvspass");
                putenv("CVSROOT=$dep");

                // Define command
                $realfile = "kde-i18n/ru/messages/$name";
                if(is_file($realfile)) {
                        $cmd = "cvs -f update $realfile 2>> .temp";
                } else {
                        $a = split("/", $realfile);
                        $c = count($a);
                        $path = "";
                        for($i=0;$i<$c-1;$i++) {
                                $path .= $a[$i]."/";
                        }
                        $file = $a[$c-1];

                        $cmd = "cd $path; cvs -f add $file 2>> .temp";
                        $realfile = $file;
                }
                $cmd2 = "cvs -f commit -m \"$comment\" $realfile 2>> .temp";

                if(is_uploaded_file($ufile)) {
                        if(!move_uploaded_file($ufile, $realfile)) error("Cannot move file in $p");
                } else {
                        error("Cannot upload file $p");
                }

                echo `cvs -f login 2> .temp`;
                echo `$cmd`;
                echo `$cmd2`;
                echo "</pre>\n";
                echo "<h1>Error log:</h1><pre>";
                readfile(".temp");
                echo "</pre>";
                unlink(".temp");
        } else {

?>                <h1>KDE CVS command center</h1>
                <table border=0 width=100%><tr><td bgcolor=#c0c0c0><b>Update CVS mirror</b></td></tr></table>
                <form action="index.php" method="POST">
                <input type="hidden" name="action" value="update">
                Password for update: <input type="password" name="dep" size=20>
                <input type="submit" value="Update">
                </form>
                <table border=0 width=100%><tr><td bgcolor=#c0c0c0><b>Put file</b></td></tr></table>
                <form action="index.php" method="POST" enctype="multipart/form-data">
                <input type="hidden" name="action" value="put"><pre>
Password:   <input type="password" name="passwd" size=20>
Local file: <input type="file" name="ufile">
<small>              <font color=red>Without kde-i18n/ru/messages/ prefix!</font></small>
As file:    <input type="text" name="name" size=50>
Comment:    <input type="text" name="comment" size=60 value="Update translation"></pre><br>
                <input type="submit" value="Upload">
                </form>

<?        } ?>
</body></html>