function processEdit(&$stack, &$frame)
{
    $id = $frame['ID'];
    $isVand = $frame['RealClassification'] == 'V' ? 1 : 0;
    if ($isVand or $frame['RealClassification'] == 'C') {
        $isActive = 1;
    } else {
        $isActive = 0;
    }
    $reviewers = $frame['Vandalism'] + $frame['Constructive'] + $frame['Skipped'];
    $reviewers_agreeing = max($frame['Vandalism'], $frame['Constructive'], $frame['Skipped']);
    $source = 'Review Interface';
    foreach ($stack as &$stackFrame) {
        if (isset($stackFrame['Name'])) {
            $source = $stackFrame['Name'];
        }
    }
    $mysql = getMasterMySQL();
    $row = mysql_fetch_assoc(mysql_query('SELECT `isvandalism`, `isactive`, `reviewers`, `reviewers_agreeing` FROM `editset` WHERE `editid` = \'' . mysql_real_escape_string($id) . '\''));
    if (!$row) {
        echo 'Inserting ' . $id . ' ...';
        $ret = insertEdit($id, $isVand, $isActive, $reviewers, $reviewers_agreeing, $source);
        if ($ret) {
            echo ' Done.' . "\n";
        } else {
            echo ' Failed.' . "\n";
        }
    } else {
        $updates = array();
        if ($row['isvandalism'] != $isVand) {
            $updates[] = '`isvandalism` = \'' . mysql_real_escape_string($isVand) . '\'';
        }
        if ($row['isactive'] != $isActive) {
            $updates[] = '`isactive` = \'' . mysql_real_escape_string($isActive) . '\'';
        }
        if ($row['reviewers'] != $reviewers) {
            $updates[] = '`reviewers` = \'' . mysql_real_escape_string($reviewers) . '\'';
        }
        if ($row['reviewers_agreeing'] != $reviewers_agreeing) {
            $updates[] = '`reviewers_agreeing` = \'' . mysql_real_escape_string($reviewers_agreeing) . '\'';
        }
        if (count($updates) > 0) {
            echo 'Updating ' . $id . ' ...';
            $ret = mysql_query('UPDATE `editset` SET ' . implode(', ', $updates) . ' WHERE `editid` = \'' . mysql_real_escape_string($id) . '\'');
            if ($ret) {
                echo ' Done.' . "\n";
            } else {
                echo ' Failed.' . "\n";
            }
        }
    }
}
Exemple #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 ... ";
    }
}
$source = $argv[1];
$in = fopen('php://stdin', 'r');
while (!feof($in)) {
    $line = trim(fgets($in, 512));
    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;
    }
    $mysql = getMasterMySQL();
    $row = mysql_fetch_assoc(mysql_query('SELECT `editid` FROM `editset` WHERE `editid` = \'' . mysql_real_escape_string($id) . '\''));
    if ($row) {
        continue;
    }
    echo 'Inserting ' . $id . ' ...';
    $ret = insertEdit($id, $isVand, $isActive, 0, 0, $source);
    if ($ret) {
        echo ' Done.' . "\n";
    } else {
        echo ' Failed.' . "\n";
    }
}
fclose($in);