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

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

update www for 2.2.0 release

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