blob: 0b37aa1c411eb64f9a6951e04c4f70528f97795f [file] [log] [blame]
<?php
die('already run. for posterity\'s sake only.');
if(($_SERVER['REMOTE_ADDR'] != '127.0.0.1') && ($_SERVER['REMOTE_ADDR'] != '63.227.217.22')) {
die("No way.");
}
require_once('fragments/parse-projects-file.php');
require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");
$App = new App();
$all = new AllInfo();
$all->load();
/*
* CREATE TABLE `ProjectReviews` (
`ID` int(11) NOT NULL auto_increment,
`ProjectID` varchar(128) default NULL,
`BugNumber` int(11) default NULL,
`ProjectTopLevel` varchar(128) default NULL,
`ProjectURL` varchar(256) default NULL,
`ProposalName` varchar(256) default NULL,
`ProposalURL` varchar(256) default NULL,
`ReviewAttendees` varchar(256) default NULL,
`ReviewDate` datetime default NULL,
`SlidesURL` varchar(256) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
*
* CREATE TABLE `ProjectReviewStatus` (
`ID` int(11) default NULL,
`Status` varchar(128) default NULL,
`Value` varchar(128) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
*/
function do_one_entry($obj) {
global $App;
//echo "<pre>"; print_r($obj); echo "</pre>"; return;
foreach($obj as $key => $value) {
// We want the content of attributes, not it itself
if($key == '_attributes') {
echo "<b>" . $value['Proposal Name'] . "</b><hr/>";
$keys = array();
$values = array();
$time = '';
$date = '';
$status = array();
foreach($value as $key2 => $value2) {
if(preg_match('/^Status; /', $key2)) {
$key2 = str_replace("Status; ", '', $key2);
$timestamp = strtotime($value2);
if(($timestamp != 0) && ($timestamp < (time() - 60))) {
// it's a date!
$value2 = date('Y-m-d h:i:s', $timestamp);
}
if(strlen($value2) > 1) {
$status[$key2] = $value2;
}
} elseif($key2 == 'Review Time') {
// Fix the time formats
$time = preg_replace('/([310][05][ ]*$)/', ':\1' , $value2);
if($date != '') {
$keys[] = 'ReviewDate';
$values[] = trim("$date $time") . ":00";
}
} elseif($key2 == 'Review Date') {
$date = date('Y-m-d', strtotime($value2));
if($time != '') {
$keys[] = 'ReviewDate';
$values[] = trim("$date $time") . ":00";
}
} else {
$key2 = str_replace(array(' ', '-'), array('', ''), $key2);
echo "$key2 => $value2<br/>";
$keys[] = $key2;
$values[] = trim($value2);
}
}
$App->foundation_sql("INSERT INTO ProjectReviews (" . join(", ", $keys) . ") VALUES ('" . join("', '", $values) . "');");
$App->foundation_sql("SET @last_id = last_insert_id();");
foreach($status as $status => $value) {
$App->foundation_sql("INSERT INTO ProjectReviewStatus (ID, Status, Value) VALUES (@last_id, '$status', '$value')");
}
}
}
}
$App->foundation_sql("SET FOREIGN_KEY_CHECKS = 0;");
foreach( $all->_reviews as $proposal) {
do_one_entry($proposal);
echo "<br/>";
}
foreach( $all->_proposals as $proposal) {
do_one_entry($proposal);
echo "<br/>";
}
$App->foundation_sql("UPDATE ProjectReviews SET ReviewDate = NULL WHERE ReviewDate = '1969-12-31 00:00:00'");
$App->foundation_sql("UPDATE ProjectReviews SET ProjectID = NULL WHERE ProjectID = ''");
$App->foundation_sql("SET FOREIGN_KEY_CHECKS = 1;");
//$App->SqlBackTrace();
?>