Example #1
0
function db_get_unreviewed($language, $category, $fast = 99, $namespace = 0)
{
    //global $mysql_con;
    if (!isset($mysql_con)) {
        $mysql_con = set_up_db($language);
    }
    make_db_safe($category);
    $sql = "SELECT page_id,page_title,page_latest,fp_stable, rev_len\n    FROM page,categorylinks,flaggedpages, revision\n    WHERE cl_to=\"{$category}\" AND cl_from=page_id AND fp_page_id=page_id \n    AND page_latest<>fp_stable AND page_namespace={$namespace}\n    AND rev_id=page_latest";
    $db = $language . 'wiki_p';
    $res = mysql_db_query($db, $sql, $mysql_con);
    $reviewed_pages = array();
    while ($o = mysql_fetch_object($res)) {
        $latest_size = $o->rev_len;
        $current_rev = $o->page_latest;
        $stable_rev = $o->fp_stable;
        if ($stable_rev >= $current_rev) {
            // something is wrong here, lets leave
            print "<br/>Something is wrong here with ";
            print $o->page_title;
            print " <br/>";
            continue;
        }
        if ($fast == 1) {
            $reviewed_pages[$o->page_id] = array('title' => $o->page_title, 'stable_id' => $stable_rev);
            continue;
        }
        //now get the len of the last stable
        $sql = "SELECT rev_len FROM revision WHERE rev_id={$stable_rev}";
        $res_inner = mysql_db_query($db, $sql, $mysql_con);
        $o3 = mysql_fetch_object($res_inner);
        $size_diff = $latest_size - $o3->rev_len;
        if ($fast == 2) {
            $reviewed_pages[$o->page_id] = array('title' => $o->page_title, 'diff' => $size_diff, 'stable_id' => $stable_rev);
            continue;
        }
        //now get the first unflagged revision
        while ($current_rev != $stable_rev) {
            //$before_current_rev = $current_rev;
            $sql = "SELECT rev_parent_id, rev_timestamp FROM revision \n                    WHERE rev_id={$current_rev}";
            $res_inner = mysql_db_query($db, $sql, $mysql_con);
            $o2 = mysql_fetch_object($res_inner);
            $current_rev = $o2->rev_parent_id;
            if ($current_rev == 0) {
                break;
            }
            if (!$o2) {
                break;
            }
        }
        $first_unflagged_timestamp = $o2->rev_timestamp;
        $reviewed_pages[$o->page_id] = array('title' => $o->page_title, 'timestamp' => $first_unflagged_timestamp, 'diff' => $size_diff, 'stable_id' => $stable_rev);
    }
    return $reviewed_pages;
}
function db_get_in_sight($language, $category)
{
    global $last_revs, $last_ts, $page_len, $only_redirects, $page_is_redirect;
    $mysql_con = set_up_db($language);
    $db = $language . 'wiki_p';
    make_db_safe($category);
    // Pages with sighted versions
    if ($only_redirects) {
        $sql = "SELECT " . get_tool_name() . " pr.page_id AS page_id, pr.page_title AS page_title FROM page pa,page pr,pagelinks,categorylinks,flaggedrevs WHERE cl_to=\"{$category}\" AND cl_from=pa.page_id AND pr.page_id=fr_page_id AND pa.page_namespace=0 ";
        $sql .= "AND pr.page_is_redirect=1 AND pl_from=pr.page_id AND pl_namespace=0 AND pl_title=pa.page_title";
    } else {
        $sql = "SELECT " . get_tool_name() . " page_id,page_title FROM page,categorylinks,flaggedrevs WHERE cl_to=\"{$category}\" AND cl_from=page_id AND page_id=fr_page_id AND page_namespace=14";
    }
    $res = mysql_db_query($db, $sql, $mysql_con);
    $reviewed_pages = array();
    while ($o = mysql_fetch_object($res)) {
        $reviewed_pages[$o->page_id] = $o->page_title;
    }
    if ($only_redirects) {
        $sql = "SELECT " . get_tool_name() . " pr.page_id AS page_id, pr.page_title AS page_title, pr.page_len AS page_len, pr.page_is_redirect AS page_is_redirect ";
        $sql .= "FROM page pa,page pr,pagelinks,categorylinks WHERE cl_to=\"{$category}\" AND cl_from=pa.page_id AND pa.page_namespace=0 ";
        $sql .= "AND pr.page_is_redirect=1 AND pl_from=pr.page_id AND pl_namespace=0 AND pl_title=pa.page_title";
    } else {
        $sql = "SELECT " . get_tool_name() . " page_id,page_title,page_len,page_is_redirect FROM page,categorylinks WHERE cl_to=\"{$category}\" AND cl_from=page_id AND page_namespace=14";
    }
    $res = mysql_db_query($db, $sql, $mysql_con);
    $unreviewed_pages = array();
    while ($o = mysql_fetch_object($res)) {
        if (isset($reviewed_pages[$o->page_id])) {
            continue;
        }
        // Already reviewed
        $unreviewed_pages[$o->page_id] = $o->page_title;
        $page_len[$o->page_id] = $o->page_len;
        $page_is_redirect[$o->page_id] = $o->page_is_redirect;
    }
    return $unreviewed_pages;
}
function db_get_con_new($language, $project)
{
    return set_up_db($language);
}