diff options
Diffstat (limited to 'web/lib')
-rw-r--r-- | web/lib/aur.inc | 199 | ||||
-rw-r--r-- | web/lib/config.inc.proto | 41 | ||||
-rw-r--r-- | web/lib/pkgfuncs.inc | 412 | ||||
-rw-r--r-- | web/lib/version.inc | 3 |
4 files changed, 315 insertions, 340 deletions
diff --git a/web/lib/aur.inc b/web/lib/aur.inc index cce53848..d7ffbb89 100644 --- a/web/lib/aur.inc +++ b/web/lib/aur.inc @@ -3,6 +3,7 @@ header('Content-Type: text/html; charset=utf-8'); header('Cache-Control: no-cache, must-revalidate'); header('Expires: Tue, 11 Oct 1988 22:00:00 GMT'); // quite a special day header('Pragma: no-cache'); +include_once("version.inc"); include_once("config.inc"); include_once("aur_po.inc"); @@ -12,26 +13,6 @@ include_once("aur_po.inc"); # is using... # -# Define global variables -# -$LOGIN_TIMEOUT = 7200; # number of idle seconds before timeout -$SUPPORTED_LANGS = array( # what languages we have translations for - "en" => "English", - "pl" => "Polski", - "it" => "Italiano", - "ca" => "Català", - "pt" => "Português", - # Eventually we will comment these in, when they are ready - PJM - 4/2005 - "es" => "Español", - "de" => "Deutsch", - "ru" => "Русский", - "fr" => "Français", -); - -# debugging variables -# -$QBUG = 1; # toggle query logging to /var/tmp/aurq.log -$DBUG = 1; # use dbug($msg) to log to /var/tmp/aurd.log # return an array of info for each Trusted user @@ -268,17 +249,13 @@ function uid_from_sid($sid="") { # connect to the database # function db_connect() { - global $AUR_db_host; - global $AUR_db_name; - global $AUR_db_user; - global $AUR_db_pass; - $handle = mysql_pconnect($AUR_db_host, $AUR_db_user, $AUR_db_pass); + $handle = mysql_pconnect(AUR_db_host, AUR_db_user, AUR_db_pass); if (!$handle) { die("Error connecting to AUR database: " . mysql_error()); } - mysql_select_db($AUR_db_name, $handle) or + mysql_select_db(AUR_db_name, $handle) or die("Error selecting AUR database: " . mysql_error()); return $handle; @@ -296,7 +273,7 @@ function db_query($query="", $db_handle="") { $db_handle = db_connect(); } if ($QBUG) { - $fp = fopen("/var/tmp/aurq.log", "a"); + $fp = fopen(AURQ_LOG, "a"); fwrite($fp, $query . "\n"); fclose($fp); } @@ -359,100 +336,77 @@ function html_header() { global $_SERVER; global $_COOKIE; global $LANG; - print "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; - print "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""; - print " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"; - print "<html xmlns=\"http://www.w3.org/1999/xhtml\""; - print " xml:lang=\"".$LANG."\" lang=\"".$LANG."\">\n"; - print "<head>\n"; - print "<title>AUR (".$LANG.")</title>\n"; - print "<link rel='stylesheet' type='text/css' href='/css/fonts.css'/>\n"; - print "<link rel='stylesheet' type='text/css' href='/css/containers.css'/>\n"; - print "<link rel='shortcut icon' href='/images/favicon.ico'/>\n"; - print "<link rel='alternate' type='application/rss+xml' title='Newest Packages RSS' href='/rss2.php' />\n"; - print "<meta http-equiv=\"Content-Type\""; - print " content=\"text/html; charset=UTF-8\" />\n"; - print "</head>\n"; - print "<body bgcolor='white'>\n"; - print "<table cellspacing='0' "; - print "style='background-color: #000; width: 100%;'>\n"; - print " <tr>\n"; - print " <td class='preHeader'><span class='preHeader'>"; - print __("%s: %sAn ArchLinux project%s", array("AUR", "<a href=\"http://www.archlinux.org\">", "</a>")); - print "</span></td>\n"; - print " </tr>\n"; - print " <tr>\n"; - print " <td class='headerFill'>\n"; - print " <table width='100%'>\n"; - print " <tr>\n"; - print " <td class='headerDisplay'><a href='/index.php'>"; - - # XXX Can I scale a PNG like this? - # - print "<img src='/images/AUR-logo-80.png' width='85' height='45' "; - print "alt='AUR' border='0' /></a></td>\n"; - print " <td class='headerDisplay' valign='top' align='right'>"; - print "<span class='preHeader'>ArchLinux User-community Repository</span><br />"; - - # XXX CSS help - a:link, a:visited, etc are defined, but I don't want to - # use the defaults. Is this the way to override them? - # - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=en'><span class='sideBarSmallHeader'>English</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=pl'><span class='sideBarSmallHeader'>Polski</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=it'><span class='sideBarSmallHeader'>Italiano</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=ca'><span class='sideBarSmallHeader'>Català</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=pt'><span class='sideBarSmallHeader'>Português</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=es'><span class='sideBarSmallHeader'>Español</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=de'><span class='sideBarSmallHeader'>Deutsch</span></a> "; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=fr'><span class='sideBarSmallHeader'>Français</span></a>"; - print "<a href='".$_SERVER["PHP_SELF"]."?setlang=ru'><span class='sideBarSmallHeader'>Русский</span></a>"; - print " </td>\n"; - print " </tr>\n"; - print " </table>\n"; - print " </td>\n"; - print " </tr>\n"; - - # Menu items - # - print " <tr>\n"; - print " <td class='mainLinks' align='center'>"; - print " <span class='f2'><span class='black'>.:</span>"; - print " <a href='/index.php'>".__("Home")."</a> "; - print " <span class='black'> - </span> "; - print " <a href='/account.php'>".__("Accounts")."</a> "; - print " <span class='black'> - </span> "; - print " <a href='/packages.php'>".__("Packages")."</a> "; + echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; + echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\""; + echo " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"; + echo "<html xmlns=\"http://www.w3.org/1999/xhtml\""; + echo " xml:lang=\"".$LANG."\" lang=\"".$LANG."\">\n"; + echo "<head>\n"; + echo "<title>AUR (".$LANG.")</title>\n"; + echo "<link rel='stylesheet' type='text/css' href='/css/fonts.css'/>\n"; + echo "<link rel='stylesheet' type='text/css' href='/css/containers.css'/>\n"; + echo "<link rel='stylesheet' type='text/css' href='/css/arch.css'/>\n"; + echo "<link rel='shortcut icon' href='/images/favicon.ico'/>\n"; + echo "<link rel='alternate' type='application/rss+xml' title='Newest Packages RSS' href='/rss2.php' />\n"; + echo "<meta http-equiv=\"Content-Type\""; + echo " content=\"text/html; charset=UTF-8\" />\n"; + echo "</head>\n"; + echo "<body bgcolor='white'>\n"; + echo <<<END1 +<div id="head_container"> + <div id="title"> + <div id="logo"><a href="/"><img src="/images/logo.png" alt="Arch Logo" /></a></div> + <div id="titleimg"><a href="/"><img src="/images/title.png" alt="Arch Linux" /></a></div> + </div> + <div style="float: right; color: #eeeeee; font-size: small"> + </div> + <div id="main_nav"> + <ul> + <li><a href="http://www.archlinux.org/download/">Get Arch</a></li> + <li class="selected"><a href="http://aur.archlinux.org">AUR</a></li> + <li><a href="http://bugs.archlinux.org">Bugs</a></li> + <li><a href="http://wiki.archlinux.org">Wiki</a></li> + <li><a href="http://bbs.archlinux.org">Forums</a></li> + <li><a href="http://www.archlinux.org">Home</a></li> + </ul> + </div> + <div id="sub_nav"> + <ul> + +END1; if ($_COOKIE["AURSID"]) { - # Only display these items if the visitor is logged in. This should - # be a safe check because check_sid() has been called prior to - # html_header(). - # - print " <span class='black'> - </span> "; - print " <a href='/pkgsubmit.php'>".__("Submit")."</a> "; - } - print " <span class='black'> - </span> "; - print " <a href='http://bugs.archlinux.org/index.php?tasks=all&project=2'>".__("Bugs")."</a> "; - print " <span class='black'> - </span> "; - print " <a href='http://www.archlinux.org/mailman/listinfo/tur-users'>".__("Discussion")."</a> "; - if ($_COOKIE["AURSID"]) { - # This is a usability change, so we can go to My Packages page - # with just one click - # Added by: dsa <dsandrade@gmail.com> - print " <span class='black'> - </span> "; - print " <a href='/packages.php?do_MyPackages=1'>".__("My Packages")."</a> "; - - print " <span class='black'> - </span> "; - print " <a href='/logout.php'>".__("Logout")."</a> "; + # This is a usability change, so we can go to My Packages page + # with just one click + # Added by: dsa <dsandrade@gmail.com> + echo ' <li><a href="/logout.php">'.__("Logout")."</a></li>\n"; + echo ' <li><a href="/pkgsubmit.php">'.__("Submit")."</a></li>\n"; + echo ' <li><a href="/packages.php?do_MyPackages=1">'.__("My Packages")."</a></li>\n"; } - print " <span class='black'>:.</span></span>"; - print " </td>"; - print " </tr>"; - print " <tr>\n"; - print " <td class='contentDisplay'>\n"; - print " <br />\n"; - print "<!-- Start of main content -->\n\n"; - - return; + echo ' <li><a href="http://www.archlinux.org/mailman/listinfo/tur-users/">'.__("Discussion")."</a></li>\n"; + echo ' <li><a href="http://bugs.archlinux.org/index.php?tasks=all&project=2">'.__("Bugs")."</a></li>\n"; + echo ' <li><a href="/packages.php">'.__("Packages")."</a></li>\n"; + echo ' <li><a href="/account.php">'.__("Accounts")."</a></li>\n"; + echo ' <li><a href="/index.php">AUR '.__("Home")."</a></li>\n"; + echo " </ul>\n"; + echo " </div>\n"; + echo ' <div id="lang_sub">'."\n"; + echo " <ul>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=ru' title='Русский'>RU</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=fr' title='Français'>FR</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=de' title='Deutsch'>DE</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=es' title='Español'>ES</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=pt' title='Português'>PT</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=ca' title='Català'>CA</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=it' title='Italiano'>IT</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=pl' title='Polski'>PL</a></li>\n"; + echo " <li><a href='".$_SERVER["PHP_SELF"]."?setlang=en' title='English'>EN</a></li>\n"; + echo " <li>Lang: </li>\n"; + echo " </ul>\n"; + echo " </div>\n"; + echo "</div>\n"; + echo "<div id=\"maincontent\">\n"; + echo "<!-- Start of main content -->\n\n"; + return; } @@ -461,9 +415,6 @@ function html_header() { function html_footer($ver="") { print "\n\n<!-- End of main content -->\n"; print " <br />\n"; - print " </td>\n"; - print " </tr>\n"; - print "</table>\n"; if ($ver) { print "<p>\n"; print "<table border='0' cellpadding='0' cellspacing='0' width='97%'>\n"; @@ -471,7 +422,7 @@ function html_footer($ver="") { print "</table>\n"; print "</p>\n"; } - print "<br />\n"; + print "</div>\n"; print "</body>\n</html>"; return; } @@ -479,7 +430,7 @@ function html_footer($ver="") { # debug logging # function dbug($msg) { - $fp = fopen("/var/tmp/aurd.log", "a"); + $fp = fopen(AURD_LOG, "a"); fwrite($fp, $msg . "\n"); fclose($fp); return; diff --git a/web/lib/config.inc.proto b/web/lib/config.inc.proto index fcb8b3a2..11c0cb41 100644 --- a/web/lib/config.inc.proto +++ b/web/lib/config.inc.proto @@ -1,15 +1,42 @@ <?php # NOTE: modify these variables if your MySQL setup is different # -$AUR_db_host = "localhost:/tmp/mysql.sock"; -$AUR_db_name = "aur"; -$AUR_db_user = "aur"; -$AUR_db_pass = "aur"; +define( "AUR_db_host", "localhost:/tmp/mysql.sock" ); +define( "AUR_db_name", "aur" ); +define( "AUR_db_user", "aur" ); +define( "AUR_db_pass", "aur" ); # Configuration of directories where things live -$UPLOAD_DIR = "/home/aur/unsupported-temp/"; -$INCOMING_DIR = "/home/aur/unsupported/"; -$URL_DIR = "/packages/"; +define( "UPLOAD_DIR", "/home/aur/unsupported-temp/" ); +define( "INCOMING_DIR", "/home/aur/unsupported/" ); +define( "URL_DIR", "/packages/" ); + +define( "AURQ_LOG", "/home/aur/aurq.log" ); +define( "AURD_LOG", "/home/aur/aurd.log" ); + +define( "USERNAME_MIN_LEN", 3 ); +define( "USERNAME_MAX_LEN", 16 ); +define( "PASSWD_MIN_LEN", 4 ); +define( "PASSWD_MAX_LEN", 128 ); + +$LOGIN_TIMEOUT = 7200; # number of idle seconds before timeout + +# debugging variables +# +$QBUG = 1; # toggle query logging to /var/tmp/aurq.log +$DBUG = 1; # use dbug($msg) to log to /var/tmp/aurd.log + +$SUPPORTED_LANGS = array( # what languages we have translations for + "en" => "English", + "pl" => "Polski", + "it" => "Italiano", + "ca" => "Català", + "pt" => "Português", + "es" => "Español", + "de" => "Deutsch", + "ru" => "Русский", + "fr" => "Français" +); # vim: ts=2 sw=2 noet ft=php ?> diff --git a/web/lib/pkgfuncs.inc b/web/lib/pkgfuncs.inc index b9ad0d4a..66fa9ec9 100644 --- a/web/lib/pkgfuncs.inc +++ b/web/lib/pkgfuncs.inc @@ -33,8 +33,10 @@ function pkgsearch_results_link() { } } $url_data .= "'>"; + print "<center>"; print __("Go back to %hsearch results%h.", array($url_data, "</a>")); + print "</center>"; print "\n<br />\n"; return; @@ -108,7 +110,7 @@ function pkgCategories() { function pkgLocations() { $locs = array(); $dbh = db_connect(); - $q = "SELECT * FROM PackageLocations WHERE ID != 1 "; + $q = "SELECT * FROM PackageLocations WHERE ID != 1 AND ID < 4 "; $q.= "ORDER BY Location ASC"; $result = db_query($q, $dbh); if ($result) { @@ -152,6 +154,25 @@ function package_dependencies($pkgid=0) { return $deps; } +# reverse deps by tardo +# +function package_required($pkgid=0) { + $deps = array(); + if ($pkgid) { + $dbh = db_connect(); + $q = "SELECT PackageID, Name, DummyPkg from PackageDepends, Packages "; + $q.= "WHERE PackageDepends.PackageID = Packages.ID "; + $q.= "AND PackageDepends.DepPkgID = "; + $q.= mysql_real_escape_string($pkgid); + $result = db_query($q, $dbh); + if (!$result) {return array();} + while ($row = mysql_fetch_row($result)) { + $deps[] = $row; + } + } + return $deps; +} + # create a dummy package and return it's Packages.ID if it already exists, # return the existing ID # @@ -268,36 +289,19 @@ function package_details($id=0, $SID="") { } else { # print out package details - # - print "<br />\n"; - print "<center>\n"; - print "<table cellspacing='3' class='boxSoft'>\n"; - print "<tr>\n"; - print " <td class='boxSoftTitle' align='right'>"; - print "<span class='f3'>".__("Package Details")."</span></td>\n"; - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft'>\n"; - print "<center>\n"; - print "<table>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f2'>"; - print $row["Name"] . " " . $row["Version"]."</span></td>\n"; - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>"; - print "<a href='".$row["URL"]."'>".$row["URL"]."</a></span></td>\n"; - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>".$row["Description"]; - print "</a></span></td>\n"; - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='30'></td>"; - print "</tr>\n"; - - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>"; + # + echo "<div class=\"pgbox\">\n"; + echo " <div class=\"pgboxtitle\"><span class=\"f3\">".__("Package Details")."</span></div>\n"; + echo " <div class=\"pgboxbody\">\n"; + echo " <table>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f2'>"; + echo $row["Name"] . " " . $row["Version"]."</span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>"; + echo "<a href='".$row["URL"]."'>".$row["URL"]."</a></span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>".$row["Description"]; + echo "</a></span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='30'></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>"; if ($row["Location"] == "unsupported" and ( uid_from_sid($SID) == $row["MaintainerUID"] or (account_from_sid($SID) == "Developer" or @@ -309,87 +313,68 @@ function package_details($id=0, $SID="") { } else { $edit_cat = $row["Category"]; } - print $row["Location"]." :: ".$edit_cat."</span></td>"; - - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>".__("Maintainer").": "; + echo $row["Location"]." :: ".$edit_cat."</span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>".__("Maintainer").": "; if ($row["MaintainerUID"]) { $maintainer = username_from_id($row["MaintainerUID"]); if ($SID) { - print "<a href='/account.php?Action=AccountInfo&ID="; - print $row["MaintainerUID"] . "'>"; - print $maintainer . "</a></span></td>"; + echo "<a href='/account.php?Action=AccountInfo&ID="; + echo $row["MaintainerUID"] . "'>"; + echo $maintainer . "</a></span></td>"; } else { - print $maintainer . "</span></td>"; + echo $maintainer . "</span></td>"; } } else { $maintainer = "None"; - print $maintainer . "</span></td>"; + echo $maintainer . "</span></td>"; } - print "</tr>\n"; - - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>".__("Votes").": "; - print $row["NumVotes"] . "</span></td>"; - print "</tr>\n"; + echo " </tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>".__("Votes").": "; + echo $row["NumVotes"] . "</span></td></tr>\n"; # In case of wanting to put a custom message $msg = __("unknown"); $license = $row["License"] == "" ? $msg : $row["License"]; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><br><span class='f3'>".__("License").": ".$license; - print "</a></span></td>\n"; - print "</tr>\n"; - - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='15'></td>"; - print "</tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><br><span class='f3'>".__("License").": ".$license; + echo "</a></span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='15'></td></tr>\n"; # Print the timestamps for last updates $updated_time = ($row["ModifiedTS"] == 0) ? "(unknown)" : gmdate("r", intval($row["ModifiedTS"])); $submitted_time = ($row["SubmittedTS"] == 0) ? "(unknown)" : gmdate("r", intval($row["SubmittedTS"])); - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'>"; - print "<span class='f3'>"; - print __("Last Updated").": ".$updated_time."<br>"; - print __("First Submitted").": ".$submitted_time; - print "</span>"; - print "</td>\n"; - print "</tr>\n"; - - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='15'></td>"; - print "</tr>\n"; - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><span class='f3'>"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>"; + echo __("Last Updated").": ".$updated_time."<br>"; + echo __("First Submitted").": ".$submitted_time."</span></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='15'></td></tr>\n"; + echo " <tr><td class='boxSoft' colspan='2'><span class='f3'>"; if ($row["LocationID"] == 2) { - global $URL_DIR; - $urlpath = $URL_DIR.$row["Name"]."/".$row["Name"]; + $urlpath = URL_DIR.$row["Name"]."/".$row["Name"]; print "<a href='$urlpath.tar.gz'>".__("Tarball")."</a> :: <a href='$urlpath'>".__("Files")."</a> :: <a href='$urlpath/PKGBUILD'>PKGBUILD</a></span></td>"; } elseif ($row["LocationID"] == 3) { - print "<a href='http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/" . $row["Category"] . "/" . $row["Name"] . "/?cvsroot=AUR&only_with_tag=CURRENT'>CVS</td>"; + echo "<a href='http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/" . $row["Category"] . "/" . $row["Name"] . "/?cvsroot=AUR&only_with_tag=CURRENT'>CVS</td>"; } - print "</tr>\n"; + echo "</tr>\n"; if ($row["LocationID"] == 2) { - print "<tr>\n"; - print " <td colspan='2'>"; + echo " <tr><td colspan='3'>"; if ($row["Safe"]) { - print "<span class='f7'>".__("The above files have been verified (by %s) and are safe to use.", array(username_from_id($row["VerifiedBy"])))."</span></td>"; + echo "<span class='f7'>".__("The above files have been verified (by %h%s%h) and are safe to use.", array("<a href='/account.php?Action=AccountInfo&ID=".$row["VerifiedBy"]."'>", username_from_id($row["VerifiedBy"]), "</a>"))."</span></td>"; } else { - print "<span class='f6'>".__("Be careful! The above files may contain malicious code that can damage your system.")."</span></td>"; - } + echo "<span class='f6'>".__("Be careful! The above files may contain malicious code that can damage your system.")."</span></td>"; + } + echo " </tr>\n"; } - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='30'></td>"; - print "</tr>\n"; - print "<tr>\n"; - print " <td valign='top' style='padding-right: 10'>"; - print "<table class='boxSoft' style='width: 200px'>"; - print "<tr><td class='boxSoftTitle'><span class='f3'>"; - print __("Dependencies")."</span></td></tr>\n"; - print "<tr><td class='boxSoft'>"; + if ($row["OutOfDate"] == 1) { + echo "\n<tr><td colspan='2'>"; + echo "<span class='f6'>".__("This package has been flagged out of date.")."</span></td></tr>"; + } + echo " <tr><td class='boxSoft' colspan='2'><img src='/images/pad.gif' height='30'></td></tr>\n"; + echo " <tr>\n"; + echo " <td valign='top' style='padding-right: 10'>\n"; + echo " <table class='boxSoft' style='width: 200px'>\n"; + echo " <tr><td class='boxSoftTitle'><span class='f3'>"; + echo __("Dependencies")."</span></td></tr>\n"; + echo " <tr><td class='boxSoft'>"; $deps = package_dependencies($row["ID"]); # $deps[0] = array('id','name', 'dummy'); while (list($k, $darr) = each($deps)) { $url = "<a href='/packages.php?do_Details=1&ID=".$darr[0]; @@ -404,196 +389,205 @@ function package_details($id=0, $SID="") { // $darr[3] is the DepCondition + if ($darr[2] == 0) echo $url."'>".$darr[1].$darr[3]."</a><br />\n"; + else echo "<a href='http://archlinux.org/packages/search/".$darr[1]."'>".$darr[1].$darr[3]."</a><br />\n"; + } + echo "</td></tr>\n"; + echo "</table></td>"; + + # reverse-deps by tardo - could use some beautification + echo " <td valign='top'>"; + echo "<table class='boxSoft' style='width: 200px'>"; + echo "<tr><td class='boxSoftTitle'><span class='f3'>"; + echo __("Required by")."</span></td></tr>\n"; + echo "<tr><td class='boxSoft'>"; + $deps = package_required($row["ID"]); + while (list($k, $darr) = each($deps)) { + $url = "<a href='/packages.php?do_Details=1&ID=".$darr[0]; + while(list($k, $var) = each($pkgsearch_vars)) { + if (($var == "do_MyPackages" || $var == "do_Orphans") && $_REQUEST[$var]) { + $url .= "&".$var."=1"; + } else { + $url .= "&".$var."=".rawurlencode(stripslashes($_REQUEST[$var])); + } + } + reset($pkgsearch_vars); + + // $darr[3] is the DepCondition + if ($darr[2] == 0) print $url."'>".$darr[1].$darr[3]."</a><br />\n"; - else print "<a href='#'>".$darr[1].$darr[3]."</a><br />\n"; + else print "<a href='http://archlinux.org/packages/search/".$darr[1]."'>".$darr[1].$darr[3]."</a><br />\n"; } - print "</td></tr>\n"; - print "</table></td>"; - - print " <td valign='top'>"; - print "<table class='boxSoft' style='width: 200px'>"; - print "<tr><td class='boxSoftTitle'><span class='f3'>"; - print __("Sources")."</span></td></tr>\n"; - print "<tr><td class='boxSoft'>"; + echo "</td></tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " <td valign='top'>\n"; + echo " <table class='boxSoft' style='width: 200px'>\n"; + echo " <tr><td class='boxSoftTitle'><span class='f3'>"; + echo __("Sources")."</span></td></tr>\n"; + echo " <tr><td class='boxSoft'>"; $sources = package_sources($row["ID"]); # $sources[0] = 'src'; while (list($k, $src) = each($sources)) { $parsed_url = parse_url($src); if ($parsed_url['scheme']) { //It is an external source - print "<a href='".$src."'>".$src."</a><br />\n"; + echo "<a href='".$src."'>".$src."</a><br />\n"; } else { //It is presumably an internal source if ($row["LocationID"] == 2) { - print "<a href='".dirname($row['URLPath'])."/".$row['Name']; - print "/".$src."'>".$src."</a><br />\n"; + echo "<a href='".dirname($row['URLPath'])."/".$row['Name']; + echo "/".$src."'>".$src."</a><br />\n"; } elseif ($row["LocationID"] == 3) { - print "<a href='http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/".$row["Category"]."/".$row["Name"]."/".$src."/?rev=HEAD&cvsroot=AUR&only_with_tag=CURRENT'>"; - print $src."</a><br />\n"; + echo "<a href='http://cvs.archlinux.org/cgi-bin/viewcvs.cgi/*checkout*/".$row["Category"]."/".$row["Name"]."/".$src."/?rev=HEAD&cvsroot=AUR&only_with_tag=CURRENT'>"; + echo $src."</a><br />\n"; } } } - print "</td></tr>\n"; - print "</table></td>"; - print "</tr>\n"; - print "<tr>\n"; - print " <td colspan='2'><img src='/images/pad.gif' height='2'>"; - print "</td></tr>\n"; - print "</table>\n"; - print "</center>\n"; - print " </td>\n"; - print "</tr>\n"; + echo "</td></tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </div>\n"; + echo "</div>\n\n"; + echo "<br />\n\n"; - print "</table><br />\n"; # Actions Bar # if ($SID) { - print "<table cellspacing='3' class='boxSoft'>\n"; - print "<tr><td class='boxSoftTitle' align='right'><span class='f3'>".__("Actions")."</span></td></tr>\n"; - print "<tr>\n"; - print "<td class='boxSoft'><form action='/packages.php' method='post'>\n"; - print "<input type='hidden' name='IDs[".$row["ID"]."]' value='1'>\n"; - print "<input type='hidden' name='ID' value='".$row["ID"]."'>\n"; + echo "<div class=\"pgbox\">\n"; + echo " <div class=\"pgboxtitle\"><span class=\"f3\">".__("Actions")."</span></div>\n"; + echo " <div class=\"pgboxbody\">\n"; + echo " <form action='/packages.php' method='post'>\n"; + echo " <input type='hidden' name='IDs[".$row["ID"]."]' value='1'>\n"; + echo " <input type='hidden' name='ID' value='".$row["ID"]."'>\n"; # Voting Button # $q = "SELECT * FROM PackageVotes WHERE UsersID = ".uid_from_sid($SID); $q.= " AND PackageID = ".$row["ID"]; if (!mysql_num_rows(db_query($q, $dbh))) { - print "<input type='submit' class='button' name='do_Vote'"; - print " value='".__("Vote")."'>"; + echo " <input type='submit' class='button' name='do_Vote'"; + echo " value='".__("Vote")."'>"; } else { - print "<input type='submit' class='button' name='do_UnVote'"; - print " value='".__("Un-Vote")."'>"; + echo "<input type='submit' class='button' name='do_UnVote'"; + echo " value='".__("Un-Vote")."'>"; } # Comment Nofify Button # $q = "SELECT * FROM CommentNotify WHERE UserID = ".uid_from_sid($SID); $q.= " AND PkgID = ".$row["ID"]; if (!mysql_num_rows(db_query($q, $dbh))) { - print "<input type='submit' class='button' name='do_Notify'"; - print " value='".__("Notify")."' title='".__("New Comment Notification")."'>"; + echo "<input type='submit' class='button' name='do_Notify'"; + echo " value='".__("Notify")."' title='".__("New Comment Notification")."'>"; } else { - print "<input type='submit' class='button' name='do_UnNotify'"; - print " value='".__("UnNotify")."' title='".__("No New Comment Notification")."'>"; + echo "<input type='submit' class='button' name='do_UnNotify'"; + echo " value='".__("UnNotify")."' title='".__("No New Comment Notification")."'>"; } # Flag Safe Button # - if ($row["LocationID"] == 2 && (account_from_sid($SID) == "Trusted User" || account_from_sid($SID) == "Developer")) - { - if ($row["Safe"] == 0) - { - print "<input type='submit' class='button' name='do_FlagSafe'"; - print " value='".__("Flag Safe")."' title='".__("Flag Package Safe To Use")."'>"; - } - else - { - print "<input type='submit' class='button' name='do_UnFlagSafe'"; - print " value='".__("Unflag Safe")."' title='".__("Unflag Package Safe To Use")."'>"; + if ($row["LocationID"] == 2 && (account_from_sid($SID) == "Trusted User" || account_from_sid($SID) == "Developer")) { + if ($row["Safe"] == 0) { + echo "<input type='submit' class='button' name='do_FlagSafe'"; + echo " value='".__("Flag Safe")."' title='".__("Flag Package Safe To Use")."'>"; + } else { + echo "<input type='submit' class='button' name='do_UnFlagSafe'"; + echo " value='".__("Unflag Safe")."' title='".__("Unflag Package Safe To Use")."'>"; } + } + + if ($row["OutOfDate"] == 0) { + echo "<input type='submit' class='button' name='do_Flag'"; + echo " value='".__("Flag Out-of-date")."'>\n"; + } else { + echo "<input type='submit' class='button' name='do_UnFlag'"; + echo " value='".__("Unflag Out-of-date")."'>\n"; } - if ($row["OutOfDate"] == 0) - { - print "<input type='submit' class='button' name='do_Flag'"; - print " value='".__("Flag Out-of-date")."'>\n"; - } - else - { - print "<input type='submit' class='button' name='do_UnFlag'"; - print " value='".__("Unflag Out-of-date")."'>\n"; - } - if ($row["AURMaintainerUID"] == 0 && $row["MaintainerUID"] == 0) - { - print "<input type='submit' class='button' name='do_Adopt'"; - print " value='".__("Adopt Packages")."'>\n"; - } + if ($row["AURMaintainerUID"] == 0 && $row["MaintainerUID"] == 0) { + echo "<input type='submit' class='button' name='do_Adopt'"; + echo " value='".__("Adopt Packages")."'>\n"; + } - if ($row["MaintainerUID"] == uid_from_sid($SID)) - { - print "<input type='submit' class='button' name='do_Disown'"; - print " value='".__("Disown Packages")."'>\n"; - } + if ($row["MaintainerUID"] == uid_from_sid($SID)) { + echo "<input type='submit' class='button' name='do_Disown'"; + echo " value='".__("Disown Packages")."'>\n"; + } - if ($row["MaintainerUID"] == uid_from_sid($SID) || - account_from_sid($SID) == "Trusted User" || - account_from_sid($SID) == "Developer") - { - print "<input type='submit' class='button' name='do_Delete'"; - print " value='".__("Delete Packages")."'>\n"; - } + if ($row["MaintainerUID"] == uid_from_sid($SID) || + account_from_sid($SID) == "Trusted User" || + account_from_sid($SID) == "Developer") { + echo "<input type='submit' class='button' name='do_Delete'"; + echo " value='".__("Delete Packages")."'>\n"; + } - print "</form></td></tr>\n"; - print "</table><br />\n"; + echo " </form>\n"; + echo " </div>\n"; + echo "</div>\n"; + echo "\n<br />\n\n"; } # Comments # - print "<table cellspacing='3' class='boxSoft'>\n"; - print "<tr><td class='boxSoftTitle' align='right'><span class='f3'>".__("Comments")."</span></td></tr>\n"; - print "<tr>\n"; - print "<td class='boxSoft'>"; - - print "<table width='100%'>\n"; + echo "<div class=\"pgbox\">\n"; + echo " <div class=\"pgboxtitle\"><span class=\"f3\">".__("Comments")."</span></div>\n"; + echo " <div class=\"pgboxbody-comment\">\n"; + echo " <table width='100%'>\n"; + echo " <tr>\n"; + echo " <td colspan='2'>\n"; + echo " <form action='/pkgedit.php' method='post'>\n"; + echo " <input type='hidden' name='ID' value='".$row["ID"]."'>\n"; + echo " <input type='submit' class='button' name='add_Comment' value=\""; + echo __("Add Comment")."\">\n"; + echo " </form>\n"; + echo " </td>\n"; + echo " </tr>\n"; $comments = package_comments($row["ID"]); if (!empty($comments)) { while (list($indx, $carr) = each($comments)) { - print "<tr>\n"; - print " <td class='boxSoft' colspan='2'>"; - print "<img src='/images/pad.gif' height='2'></td></tr>\n"; - - print "<tr>\n"; - print " <td valign='top' style='padding-right: 10' colspan='2'>"; - print "<table class='boxSoft' width='100%'>"; - print "<tr><td class='boxSoftTitle'><span class='f3'>"; + + echo " <tr>\n"; + echo " <td valign='top' style='padding-right: 10' colspan='2'>\n"; + echo " <table class='boxSoft' width='100%'>\n"; + echo " <tr>\n"; + echo " <td class='boxSoftTitle'><span class='f3'>"; if (canDeleteComment($carr["ID"], account_from_sid($SID), $SID)) { $durl = "<a href='/pkgedit.php?del_Comment=1"; $durl.= "&comment_id=".$carr["ID"]."&ID=".$row["ID"]; $durl.= "'><img src='/images/x.png' border='0'"; $durl.= " alt=\"".__("Delete comment")."\"></a>"; - print $durl . " "; + echo $durl . " "; } if ($SID) { - print __("Comment by: %h%s%h on %h%s%h", + echo __("Comment by: %h%s%h on %h%s%h", array("<a href='/account.php?Action=AccountInfo&ID=".$carr["UsersID"]."'><b>",$carr["UserName"],"</b></a>", "<i>",gmdate("Ymd [H:i:s]",$carr["CommentTS"]),"</i>")); } else { - print __("Comment by: %h%s%h on %h%s%h", + echo __("Comment by: %h%s%h on %h%s%h", array("<b>",$carr["UserName"],"</b>", "<i>",gmdate("Ymd [H:i:s]",$carr["CommentTS"]),"</i>")); } - print "</span>"; - print "<tr><td class='boxSoft'>"; - print "<code>\n"; - print str_replace("\n", "<br>", str_replace('"',""", htmlspecialchars(strip_tags(stripslashes($carr["Comments"]))))); - print "</code>\n"; - print "</td></tr>\n"; - print "</table>\n"; - print " </td>\n"; - print "</tr>\n"; + echo "</span></td>\n"; + echo " </tr>\n"; + echo " <tr>\n"; + echo " <td class='boxSoft'>"; + echo "<code>\n"; + echo nl2br(htmlspecialchars($carr["Comments"])); + echo "</code></td>\n"; + echo " </tr>\n"; + echo " </table>\n"; + echo " </td>\n"; + echo " </tr>\n"; } } - print "<tr>\n"; - print " <td colspan='2'><img src='/images/pad.gif' height='2'>"; - print "</td></tr>\n"; - print "<tr>\n"; - print " <td colspan='2'>"; - print "<form action='/pkgedit.php' method='post'>\n"; - print "<input type='hidden' name='ID' value='".$row["ID"]."'>\n"; - print "<input type='submit' class='button' name='add_Comment' value=\""; - print __("Add Comment")."\">"; - print "</form>\n"; - print " </td>"; - print "</tr>\n"; - - print "</table>\n"; - - - print "</td></tr></table>\n"; + echo " </table>\n"; + echo " </div>\n"; + echo "</div>\n"; } } diff --git a/web/lib/version.inc b/web/lib/version.inc new file mode 100644 index 00000000..af9cc447 --- /dev/null +++ b/web/lib/version.inc @@ -0,0 +1,3 @@ +<?php +define( "AUR_VERSION", "<b>Version 1.4.0</b>" ); +?> |