com web/doc: Don't Repeat Yourself: include/lib_revcheck.in c.php
[email protected] Tue, 24 Jun 2014 10:38:27 +0000
| Newsgroups | php.doc.web |
|---|---|
| Message-ID | <[email protected]> |
Commit: 8ccfbc3eb4a83df9dfd8e036ff0ec520d6c90134 Author: Sobak <[email protected]> Tue, 24 Jun 2014 12:38:27 +0200 Parents: 67c7ede0bbea6f2b005edc828b1267a47687d153 Branches: master Link: http://git.php.net/?p=web/doc.git;a=commitdiff;h=8ccfbc3eb4a83df9dfd8e036ff0ec520d6c90134 Log: Don't Repeat Yourself Changed paths: M include/lib_revcheck.inc.php Diff: diff --git a/include/lib_revcheck.inc.php b/include/lib_revcheck.inc.php index 3dd1be4..2beafd4 100644 --- a/include/lib_revcheck.inc.php +++ b/include/lib_revcheck.inc.php @@ -58,81 +58,23 @@ function get_dirs($idx, $lang) { return $tmp; } -// return an array with the outdated files in $dir -function get_outdated_files($idx, $lang, $dir) +// return an array with the outdated files; can be optionally filtered by user or dir +function get_outdated_files($idx, $lang, $filter = null, $value = null) { - $sql = 'SELECT - a.status as status, - a.name as file, - a.maintainer as maintainer, - c.revision as en_rev, - a.revision as trans_rev, - b.name AS name, - a.dir as dir - FROM - files a, - dirs b - LEFT JOIN - files c - ON - c.name = a.name - AND - c.dir = a.dir - WHERE - b.id = a.dir - AND - a.lang="' . $lang . '" - AND - c.lang="en" - AND - a.dir = "' . (int)$dir . '" - AND - a.revision != c.revision ORDER BY b.name'; - $result = $idx->query($sql); - $tmp = array(); - while ($r = $result->fetchArray()) { - $tmp[] = array( - 'name' => $r['name'], - 'en_rev' => $r['en_rev'], - 'trans_rev' => $r['trans_rev'], - 'status' => $r['status'], - 'maintainer' => $r['maintainer'], - 'file' => $r['file']); + $sql = 'SELECT a.status, a.name AS file, a.maintainer, c.revision AS en_rev, a.revision AS trans_rev, b.name AS name, a.dir AS dir + FROM files a, dirs b + LEFT JOIN files c ON c.name = a.name AND c.dir = a.dir + WHERE b.id = a.dir AND a.lang="' . $lang . '" AND a.revision != c.revision AND c.lang="en" '; + + if ($filter == 'dir') { + $sql .= 'AND a.dir = '.(int)$value; + } + elseif ($filter == 'translator') { + $sql .= 'AND a.maintainer = "'.SQLite3::escapeString($value).'"'; } - return $tmp; -} + $sql .= ' ORDER BY b.name'; -// return an array with the outdated files maintained by $user -function get_outdated_translator_files($idx, $lang, $user) -{ - $sql = 'SELECT - a.status as status, - a.name as file, - a.maintainer as maintainer, - c.revision as en_rev, - a.revision as trans_rev, - b.name AS name, - a.dir as dir - FROM - files a, - dirs b - LEFT JOIN - files c - ON - c.name = a.name - AND - c.dir = a.dir - WHERE - b.id = a.dir - AND - a.lang="' . $lang . '" - AND - c.lang="en" - AND - a.maintainer = \'' . SQLite3::escapeString($user) . '\' - AND - a.revision != c.revision ORDER BY b.name'; $result = $idx->query($sql); $tmp = array(); while ($r = $result->fetchArray()) {