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

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

www: bump current version to 1.9.1

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