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

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

www: update current version to 1.9.2

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