| <?php |
| /******************************************************************************* |
| * Copyright (c) 2013-5 Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Christopher Guindon (Eclipse Foundation)- initial API and implementation |
| *******************************************************************************/ |
| |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); |
| $App = new App(); |
| $Nav = new Nav(); |
| $Menu = new Menu(); |
| include("_projectCommon.php"); |
| |
| # |
| # Begin: page-specific settings. Change these. |
| $pageTitle = "Eclipse mirror sites"; |
| $pageKeywords = "eclipse,download,mirror"; |
| $pageAuthor = "Eclipse Foundation, Inc."; |
| # End: page-specific settings |
| # |
| |
| require_once "/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php"; |
| require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/mirrors/mirror.class.php"); |
| |
| $_status = $App->getHTTPParameter('status'); |
| |
| $error = 0; |
| |
| if($_status == "") { |
| $_status = "new"; |
| } |
| |
| $dbc = new DBConnectionRW(); |
| $dbh = $dbc->connect(); |
| |
| $App = new App(); |
| $Mirror = new Mirror(); |
| |
| if($_status == "save") { |
| |
| $MIR_REQ = $_COOKIE['MIR_REQ']; |
| if($MIR_REQ == "") { |
| |
| $valid = true; |
| $errorfield = ""; |
| $alnumspace = "^[][a-zA-Z0-9 .'&,_-]+$"; |
| |
| # validate incoming |
| if (!eregi($alnumspace, $_POST['organization'])) { |
| $errorfield .= " Organization"; |
| $valid = false; |
| } |
| if (!eregi('^[a-zA-Z]{2}$', $_POST['ccode'])) { |
| $errorfield .= " Country"; |
| $valid = false; |
| } |
| if (!eregi($alnumspace, $_POST['contact'])) { |
| $errorfield .= " Contact"; |
| $valid = false; |
| } |
| |
| if (!eregi("^(http|https):\/\/", $_POST['http_browserlink']) && $_POST['http_browserlink'] != "") { |
| $errorfield .= " HTTP URL"; |
| $valid = false; |
| } |
| if (!eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z.]{2,5}$', $_POST['email'])) { |
| $errorfield .= " E-mail address"; |
| $valid = false; |
| } |
| |
| if(!$Mirror->isValidPublicIP($_POST['update_ip_allow'])) { |
| $errorfield .= " IP Address"; |
| $valid = false; |
| } |
| |
| if($valid) { |
| $sql = " |
| INSERT INTO mirrors ( |
| organization, |
| ccode, |
| update_ip_allow, |
| email, |
| date_enabled, |
| create_status, |
| contact) |
| VALUES ( |
| " . $App->returnQuotedString($_POST['organization']) . ", |
| " . $App->returnQuotedString($_POST['ccode']) . ", |
| " . $App->returnQuotedString($_POST['update_ip_allow']) . ", |
| " . $App->returnQuotedString($_POST['email']) . ", |
| NOW(), |
| " . $App->returnQuotedString("approve") . ", |
| " . $App->returnQuotedString($_POST['contact']) . ") |
| "; |
| mysql_query($sql, $dbh); |
| $mirror_id = mysql_insert_id(); |
| |
| # add protocols. |
| if($_POST["http_browserlink"] != "") { |
| $sql = " |
| INSERT INTO mirror_protocols ( |
| mirror_id, |
| protocol, |
| base_path) |
| VALUES ( |
| " . $mirror_id . ", |
| " . $App->returnQuotedString("http") . ", |
| " . $App->returnQuotedString($_POST['http_browserlink']) . ") |
| "; |
| mysql_query($sql, $dbh); |
| |
| $drop_list = $_POST["drop_id"]; |
| foreach (split(",", $drop_list) as $drop) { |
| $sql = " |
| INSERT INTO mirror_drops ( |
| mirror_id, |
| drop_id, |
| protocol) |
| VALUES ( |
| " . $mirror_id . ", |
| " . $App->returnQuotedString("EclipseFull") . ", |
| " . $App->returnQuotedString("http") . ")"; |
| mysql_query($sql,$dbh); |
| } |
| } |
| # Place cookie on browser to avoid having multiple submissions |
| setcookie("MIR_REQ", "1"); |
| } |
| else { |
| $error = 2; |
| } |
| } |
| else { |
| $error = 1; |
| } |
| } |
| else { |
| $sql = "SELECT |
| DRP.drop_id, |
| DRP.project_id, |
| DRP.description, |
| IFNULL(( |
| SELECT |
| disk_space |
| FROM project_disk_space_usage AS DSK |
| WHERE DSK.project_id = DRP.project_id AND DSK.is_quota=1 |
| ) |
| ,DRP.size) AS size, |
| DRP.size_unit, |
| DRP.is_default_selection, |
| PRJ.level, |
| PRJ.sort_order |
| FROM drops AS DRP |
| LEFT JOIN projects as PRJ ON PRJ.project_id = DRP.project_ID |
| ORDER BY DRP.sort_order |
| "; |
| |
| $rs = mysql_query($sql, $dbh); |
| |
| $sql = "SELECT |
| ccode, |
| en_description |
| FROM SYS_countries |
| ORDER BY en_description |
| "; |
| |
| $rs_country = mysql_query($sql, $dbh); |
| } |
| |
| |
| # Place your html content in a file called content/en_pagename.php |
| include("content/en_" . $App->getScriptName()); |
| |
| $dbc->disconnect(); |
| $dbc = null; |
| |
| # Generate the web page |
| $App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); |
| ?> |