source: trunk/www/includes/common.inc @ 112554

Last change on this file since 112554 was 112554, checked in by jmr@…, 7 years ago

www: update for 2.2.1 release and Mavericks

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/x-php
File size: 5.3 KB
Line 
1<?php
2
3# -*- coding: utf-8; mode: php; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=php:et:sw=4:ts=4:sts=4
4# $Id: common.inc 112554 2013-10-26 00:19:16Z jmr@macports.org $
5# Copyright (c) 2004, OpenDarwin.
6# Copyright (c) 2004-2007, The MacPorts Project.
7
8
9######################################################################
10
11# MacPorts version variables:
12$macports_version_latest = '2.2.1';
13
14
15######################################################################
16
17# Some useful URL abstractions:
18$trac_url = 'https://trac.macports.org/';
19$svn_url = 'http://svn.macports.org/repository/macports/';
20$downloads = 'https://distfiles.macports.org/MacPorts/';
21$mavericks_pkg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.9-Mavericks.pkg';
22#$mountainlion_pkg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.8-MountainLion.pkg';
23$mountainlion_pkg = $downloads . 'MacPorts-' . '2.2.0' . '-10.8-MountainLion.pkg';
24$lion_pkg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.7-Lion.pkg';
25$snowleopard_pkg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.6-SnowLeopard.pkg';
26$leopard_dmg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.5-Leopard.dmg';
27$tiger_dmg = $downloads . 'MacPorts-' . $macports_version_latest . '-10.4-Tiger.dmg';
28#$tiger_dmg = $downloads . 'MacPorts-' . '2.2.1' . '-10.4-Tiger.dmg';
29$bz2_tarball = $downloads . 'MacPorts-' . $macports_version_latest . '.tar.bz2';
30$gz_tarball = $downloads . 'MacPorts-' . $macports_version_latest . '.tar.gz';
31$checksums = $downloads .  'MacPorts-' . $macports_version_latest . '.chk.txt';
32$guide_url = 'http://guide.macports.org/';
33
34
35#####################################################################
36
37# Ports database connection parameters:
38$portsdb_host = 'localhost';
39$portsdb_name = 'macports';
40$portsdb_user = 'macports';
41$portsdb_passwd = trim(file_get_contents('/opt/local/share/macports/resources/portmgr/script_data'));
42
43
44######################################################################
45
46# Page header:
47function print_header($title, $encoding) {
48    global $trac_url, $svn_url, $downloads, $guide_url;
49
50    require_once 'AcceptMime.class.php';
51    $accept_mime = new AcceptMime();
52    $mime_type = "text/html";
53    if ($accept_mime->acceptable("application/xhtml+xml")) {
54        $mime_type = "application/xhtml+xml";
55    }
56    header("Content-Type: $mime_type; charset=$encoding");
57
58    include("header.inc");
59    print_warnings();
60}
61
62
63######################################################################
64
65# Print some useful warnings:
66function print_warnings() {
67    include("warnings.inc");
68
69}
70
71
72######################################################################
73
74# Connect to the portsdb and gather miscellaneous information:
75function portsdb_connect($portsdb_host, $portsdb_user, $portsdb_passwd) {
76
77    $script = basename($_SERVER['PHP_SELF']);
78   
79    $portsdb_connection = FALSE;
80    if (function_exists('mysql_connect')) {
81        $portsdb_connection = mysql_connect($portsdb_host, $portsdb_user, $portsdb_passwd);
82    }
83    if ($portsdb_connection === FALSE) {
84        switch ($script) {
85            case "index.php":
86                $portsdb_info = array(
87                    'connection_handler' => FALSE,
88                    'num_ports' => 'a lot of',
89                    'num_categories' => 'many'
90                );
91                break;
92            case "ports.php":
93                print_header("The MacPorts Project", "utf-8");
94                print '
95                    <div id="content">
96                        <h2 class="hdr">MacPorts Portfiles</h2>
97                        <p>Our database is currently unavailable. We hope to have it back soon!</p>
98                    </div>
99                ';
100                print_footer();
101                die();
102                break;
103            default:
104                print_footer();
105                die();
106                break;
107        }
108    } else {
109        $portsdb_info = array(
110            'connection_handler' => $portsdb_connection,
111            'num_ports' => ports_count(),
112            'num_categories' => categories_count()
113        );
114    }
115   
116    return $portsdb_info;
117   
118}
119
120
121######################################################################
122
123# Total count of currently available ports:
124function ports_count() {
125    global $portsdb_name;
126
127    $result = mysql_query("SELECT COUNT(DISTINCT name) FROM $portsdb_name.portfiles");
128    if ($result) {
129        $row = mysql_fetch_array($result);
130        $count = $row[0];
131    } else {
132        $count = 0;
133    }
134    return $count;
135}
136
137
138######################################################################
139
140# Total count of port categories:
141function categories_count() {
142    global $portsdb_name;
143
144    $result = mysql_query("SELECT COUNT(DISTINCT category) FROM $portsdb_name.categories");
145    if ($result) {
146        $row = mysql_fetch_array($result);
147        $count = $row[0];
148    } else {
149        $count = 0;
150    }
151    return $count;
152}
153
154
155######################################################################
156
157# Obfuscate e-mail addresses:
158# Input: e-mail address in plain text
159# Output: obfuscated e-mail address in HTML
160function obfuscate_email($email) {
161    $IMGDIR = '/img';
162    return '<span class="email">' . str_replace('@', "<img src=\"$IMGDIR/at.gif\" alt=\"at\" />", htmlspecialchars($email)) . '</span>';
163}
164
165
166######################################################################
167
168# Page footer:
169function print_footer() {
170    include("footer.inc");
171}
Note: See TracBrowser for help on using the repository browser.