Esempio n. 1
0
function insertEdit($id, $isVand, $isActive, $reviewers, $reviewers_agreeing, $source, $data = null)
{
    $mysql = getMasterMySQL();
    if ($data === null) {
        $data = oldData($id);
    }
    if ($data === false) {
        echo 'Bad revid.  Not inserted.';
        return false;
    }
    $query = 'REPLACE INTO `editset` (
				`edittype`,
				`editid`,
				`comment`,
				`user`,
				`user_edit_count`,
				`user_distinct_pages`,
				`user_warns`,
				`prev_user`,
				`user_reg_time`,
				`common_page_made_time`,
				`common_title`,
				`common_namespace`,
				`common_creator`,
				`common_num_recent_edits`,
				`common_num_recent_reversions`,
				`current_minor`,
				`current_timestamp`,
				`current_text`,
				`previous_timestamp`,
				`previous_text`,
				`isvandalism`,
				`isactive`,
				`source`,
				`reviewers`,
				`reviewers_agreeing`
			) VALUES (';
    $escaped = array($data['EditType'], $data['EditID'], $data['comment'], $data['user'], $data['user_edit_count'], $data['user_distinct_pages'], $data['user_warns'], $data['prev_user'], $data['user_reg_time'], $data['common']['page_made_time'], $data['common']['title'], $data['common']['namespace'], $data['common']['creator'], $data['common']['num_recent_edits'], $data['common']['num_recent_reversions'], $data['current']['minor'] == 'true' ? 1 : 0, $data['current']['timestamp'], $data['current']['text'], $data['previous']['timestamp'], $data['previous']['text'], $isVand ? 1 : 0, $isActive ? 1 : 0, $source, $reviewers, $reviewers_agreeing);
    foreach ($escaped as $key => &$value) {
        if ($key == 8 or $key == 9 or $key == 16 or $key == 18) {
            $value = 'FROM_UNIXTIME( \'' . mysql_real_escape_string($value) . '\' )';
        } else {
            $value = '\'' . mysql_real_escape_string($value) . '\'';
        }
    }
    $query .= implode(',', $escaped);
    $query .= ' )';
    $ret = mysql_query($query);
    if (!$ret) {
        echo 'Error inserting ' . $id . ': ' . mysql_error();
        return false;
    }
    return true;
}
Esempio n. 2
0
function processRow($id, $isVand, $isActive, $reviewers, $reviewers_agreeing, $source)
{
    echo "Getting master data ... ";
    $dbData = getMasterData($id);
    echo "Getting Wikipedia data ... ";
    $apiData = oldData($id);
    if (!compareArray($dbData, $apiData)) {
        echo "Inserting ... ";
        insertEdit($id, $isVand, $isActive, $reviewers, $reviewers_agreeing, $source, $apiData);
    } else {
        echo "Nothing to do ... ";
    }
}
Esempio n. 3
0
function oldXML($ids)
{
    if (!is_array($ids)) {
        $ids = array($ids);
    }
    $feedData = array();
    foreach ($ids as $id) {
        $feedData[] = oldData($id);
    }
    return toXML($feedData);
}
$xml->startDocument('1.0', 'UTF-8');
$xml->startElement('WPEditSet');
$in = fopen('php://stdin', 'r');
while (!feof($in)) {
    $line = trim(fgets($in, 512));
    if (!$line) {
        continue;
    }
    list($id, $type) = explode(' ', $line, 2);
    switch ($type[0]) {
        case 'V':
            list($isVand, $isActive) = array(1, 1);
            break;
        case 'S':
        case 'U':
            list($isVand, $isActive) = array(0, 0);
            break;
        case 'C':
            list($isVand, $isActive) = array(0, 1);
            break;
    }
    if (!$isActive) {
        continue;
    }
    $data = oldData($id);
    xmlPart($xml, 'WPEdit', $data);
}
fclose($in);
$xml->endElement();
$xml->endDocument();
$xml->flush();