@@ -12,8 +12,7 @@ |
||
| 12 | 12 | |
| 13 | 13 | $database = gGetDb(); |
| 14 | 14 | |
| 15 | -$database->transactionally(function() use ($database) |
|
| 16 | -{ |
|
| 15 | +$database->transactionally(function() use ($database) { |
|
| 17 | 16 | $database->exec(<<<SQL |
| 18 | 17 | UPDATE user |
| 19 | 18 | SET |
@@ -87,8 +87,7 @@ |
||
| 87 | 87 | $database = gGetDb(); |
| 88 | 88 | |
| 89 | 89 | echo "Executing transaction...\n"; |
| 90 | -$database->transactionally(function() use ($ip, $database) |
|
| 91 | -{ |
|
| 90 | +$database->transactionally(function() use ($ip, $database) { |
|
| 92 | 91 | $database->exec("DELETE FROM xfftrustcache;"); |
| 93 | 92 | |
| 94 | 93 | $insert = $database->prepare("INSERT INTO xfftrustcache (ip) VALUES (:ip);"); |
@@ -71,8 +71,7 @@ discard block |
||
| 71 | 71 | return; |
| 72 | 72 | } |
| 73 | 73 | |
| 74 | - $database->transactionally(function() use($database, $request, $smarty) |
|
| 75 | - { |
|
| 74 | + $database->transactionally(function() use($database, $request, $smarty) { |
|
| 76 | 75 | if ($request === false) { |
| 77 | 76 | throw new TransactionException($smarty->fetch('request/request-not-found.tpl'), "Ooops!"); |
| 78 | 77 | } |
@@ -136,8 +135,7 @@ discard block |
||
| 136 | 135 | else if ($enableEmailConfirm == 1) { |
| 137 | 136 | $request->generateEmailConfirmationHash(); |
| 138 | 137 | |
| 139 | - $database->transactionally(function() use($request) |
|
| 140 | - { |
|
| 138 | + $database->transactionally(function() use($request) { |
|
| 141 | 139 | $request->save(); |
| 142 | 140 | |
| 143 | 141 | // checksum depends on the ID, so we have to save again! |
@@ -151,8 +149,7 @@ discard block |
||
| 151 | 149 | } |
| 152 | 150 | else { |
| 153 | 151 | $request->setEmailConfirm(0); // Since it can't be null |
| 154 | - $database->transactionally(function() use($request) |
|
| 155 | - { |
|
| 152 | + $database->transactionally(function() use($request) { |
|
| 156 | 153 | $request->save(); |
| 157 | 154 | $request->updateChecksum(); |
| 158 | 155 | $request->save(); |
@@ -593,8 +593,7 @@ discard block |
||
| 593 | 593 | |
| 594 | 594 | public function approve() |
| 595 | 595 | { |
| 596 | - $this->dbObject->transactionally(function() |
|
| 597 | - { |
|
| 596 | + $this->dbObject->transactionally(function() { |
|
| 598 | 597 | $this->status = "User"; |
| 599 | 598 | $this->save(); |
| 600 | 599 | Logger::approvedUser($this->dbObject, $this); |
@@ -603,8 +602,7 @@ discard block |
||
| 603 | 602 | |
| 604 | 603 | public function suspend($comment) |
| 605 | 604 | { |
| 606 | - $this->dbObject->transactionally(function() use ($comment) |
|
| 607 | - { |
|
| 605 | + $this->dbObject->transactionally(function() use ($comment) { |
|
| 608 | 606 | $this->status = "Suspended"; |
| 609 | 607 | $this->save(); |
| 610 | 608 | Logger::suspendedUser($this->dbObject, $this, $comment); |
@@ -613,8 +611,7 @@ discard block |
||
| 613 | 611 | |
| 614 | 612 | public function decline($comment) |
| 615 | 613 | { |
| 616 | - $this->dbObject->transactionally(function() use ($comment) |
|
| 617 | - { |
|
| 614 | + $this->dbObject->transactionally(function() use ($comment) { |
|
| 618 | 615 | $this->status = "Declined"; |
| 619 | 616 | $this->save(); |
| 620 | 617 | Logger::declinedUser($this->dbObject, $this, $comment); |
@@ -623,8 +620,7 @@ discard block |
||
| 623 | 620 | |
| 624 | 621 | public function promote() |
| 625 | 622 | { |
| 626 | - $this->dbObject->transactionally(function() |
|
| 627 | - { |
|
| 623 | + $this->dbObject->transactionally(function() { |
|
| 628 | 624 | $this->status = "Admin"; |
| 629 | 625 | $this->save(); |
| 630 | 626 | Logger::promotedUser($this->dbObject, $this); |
@@ -633,8 +629,7 @@ discard block |
||
| 633 | 629 | |
| 634 | 630 | public function demote($comment) |
| 635 | 631 | { |
| 636 | - $this->dbObject->transactionally(function() use ($comment) |
|
| 637 | - { |
|
| 632 | + $this->dbObject->transactionally(function() use ($comment) { |
|
| 638 | 633 | $this->status = "User"; |
| 639 | 634 | $this->save(); |
| 640 | 635 | Logger::demotedUser($this->dbObject, $this, $comment); |
@@ -654,9 +654,9 @@ |
||
| 654 | 654 | |
| 655 | 655 | public function isCheckuser() |
| 656 | 656 | { |
| 657 | - if($this->isCheckuserCache === null) { |
|
| 658 | - $this->isCheckuserCache = $this->checkuser == 1 || $this->oauthCanCheckUser(); |
|
| 659 | - } |
|
| 657 | + if($this->isCheckuserCache === null) { |
|
| 658 | + $this->isCheckuserCache = $this->checkuser == 1 || $this->oauthCanCheckUser(); |
|
| 659 | + } |
|
| 660 | 660 | |
| 661 | 661 | return $this->isCheckuserCache; |
| 662 | 662 | } |
@@ -217,8 +217,7 @@ |
||
| 217 | 217 | |
| 218 | 218 | $items = array_merge($logs, $comments); |
| 219 | 219 | |
| 220 | - $sortKey = function(DataObject $item) |
|
| 221 | - { |
|
| 220 | + $sortKey = function(DataObject $item) { |
|
| 222 | 221 | if ($item instanceof Log) { |
| 223 | 222 | return $item->getTimestamp(); |
| 224 | 223 | } |
@@ -12,8 +12,7 @@ |
||
| 12 | 12 | if(!isset($_GET['tool']) |
| 13 | 13 | || !isset($toolList[$_GET['tool']]) |
| 14 | 14 | || !isset($_GET['data']) |
| 15 | -) |
|
| 16 | -{ |
|
| 15 | +) { |
|
| 17 | 16 | header("HTTP/1.1 403 Forbidden"); |
| 18 | 17 | return; |
| 19 | 18 | } |
@@ -8,8 +8,8 @@ |
||
| 8 | 8 | 'honeypot' => 'https://www.projecthoneypot.org/ip_%DATA%', |
| 9 | 9 | 'stopforumspam' => 'https://www.stopforumspam.com/ipcheck/%DATA%', |
| 10 | 10 | 'google' => 'https://www.google.com/search?q=%DATA%', |
| 11 | - 'rangefinder' => 'https://tools.wmflabs.org/rangeblockfinder/?ip=%DATA%', |
|
| 12 | - 'ipcheck' => 'https://tools.wmflabs.org/ipcheck/index.php?ip=%DATA%' |
|
| 11 | + 'rangefinder' => 'https://tools.wmflabs.org/rangeblockfinder/?ip=%DATA%', |
|
| 12 | + 'ipcheck' => 'https://tools.wmflabs.org/ipcheck/index.php?ip=%DATA%' |
|
| 13 | 13 | ); |
| 14 | 14 | |
| 15 | 15 | if(!isset($_GET['tool']) |
@@ -2036,41 +2036,41 @@ |
||
| 2036 | 2036 | }); |
| 2037 | 2037 | } |
| 2038 | 2038 | elseif ($action == "listall") { |
| 2039 | - global $availableRequestStates, $enableEmailConfirm; |
|
| 2039 | + global $availableRequestStates, $enableEmailConfirm; |
|
| 2040 | 2040 | |
| 2041 | 2041 | if (isset($_GET['status']) && isset($availableRequestStates[$_GET['status']])) { |
| 2042 | 2042 | $type = $_GET['status']; // safe, we've verified it's sane in the above if statement. |
| 2043 | 2043 | |
| 2044 | - $database = gGetDb(); |
|
| 2044 | + $database = gGetDb(); |
|
| 2045 | 2045 | |
| 2046 | - if ($enableEmailConfirm == 1) { |
|
| 2047 | - $query = "SELECT * FROM request WHERE status = :type AND emailconfirm = 'Confirmed';"; |
|
| 2048 | - } else { |
|
| 2049 | - $query = "SELECT * FROM request WHERE status = :type;"; |
|
| 2050 | - } |
|
| 2046 | + if ($enableEmailConfirm == 1) { |
|
| 2047 | + $query = "SELECT * FROM request WHERE status = :type AND emailconfirm = 'Confirmed';"; |
|
| 2048 | + } else { |
|
| 2049 | + $query = "SELECT * FROM request WHERE status = :type;"; |
|
| 2050 | + } |
|
| 2051 | 2051 | |
| 2052 | - $statement = $database->prepare($query); |
|
| 2052 | + $statement = $database->prepare($query); |
|
| 2053 | 2053 | |
| 2054 | - $statement->bindValue(":type", $type); |
|
| 2055 | - $statement->execute(); |
|
| 2054 | + $statement->bindValue(":type", $type); |
|
| 2055 | + $statement->execute(); |
|
| 2056 | 2056 | |
| 2057 | - $requests = $statement->fetchAll(PDO::FETCH_CLASS, "Request"); |
|
| 2058 | - foreach ($requests as $req) { |
|
| 2059 | - /** @var Request $req */ |
|
| 2060 | - $req->setDatabase($database); |
|
| 2061 | - } |
|
| 2057 | + $requests = $statement->fetchAll(PDO::FETCH_CLASS, "Request"); |
|
| 2058 | + foreach ($requests as $req) { |
|
| 2059 | + /** @var Request $req */ |
|
| 2060 | + $req->setDatabase($database); |
|
| 2061 | + } |
|
| 2062 | 2062 | |
| 2063 | - global $smarty; |
|
| 2064 | - $smarty->assign("requests", $requests); |
|
| 2065 | - $smarty->assign("showStatus", false); |
|
| 2066 | - $html = $smarty->fetch("mainpage/requesttable.tpl"); |
|
| 2067 | - echo $html; |
|
| 2068 | - } else { |
|
| 2069 | - echo defaultpage(); |
|
| 2070 | - } |
|
| 2063 | + global $smarty; |
|
| 2064 | + $smarty->assign("requests", $requests); |
|
| 2065 | + $smarty->assign("showStatus", false); |
|
| 2066 | + $html = $smarty->fetch("mainpage/requesttable.tpl"); |
|
| 2067 | + echo $html; |
|
| 2068 | + } else { |
|
| 2069 | + echo defaultpage(); |
|
| 2070 | + } |
|
| 2071 | 2071 | |
| 2072 | - BootstrapSkin::displayInternalFooter(); |
|
| 2073 | - die(); |
|
| 2072 | + BootstrapSkin::displayInternalFooter(); |
|
| 2073 | + die(); |
|
| 2074 | 2074 | } |
| 2075 | 2075 | # If the action specified does not exist, goto the default page. |
| 2076 | 2076 | else { |
@@ -152,8 +152,7 @@ discard block |
||
| 152 | 152 | |
| 153 | 153 | $database = gGetDb(); |
| 154 | 154 | |
| 155 | - $database->transactionally(function() use ($database, $useOauthSignup) |
|
| 156 | - { |
|
| 155 | + $database->transactionally(function() use ($database, $useOauthSignup) { |
|
| 157 | 156 | |
| 158 | 157 | $newUser = new User(); |
| 159 | 158 | $newUser->setDatabase($database); |
@@ -481,8 +480,7 @@ discard block |
||
| 481 | 480 | |
| 482 | 481 | $database = gGetDb(); |
| 483 | 482 | |
| 484 | - $database->transactionally(function() use ($database) |
|
| 485 | - { |
|
| 483 | + $database->transactionally(function() use ($database) { |
|
| 486 | 484 | global $smarty; |
| 487 | 485 | |
| 488 | 486 | $message = InterfaceMessage::getById($_GET['edit'], $database); |
@@ -570,8 +568,7 @@ discard block |
||
| 570 | 568 | |
| 571 | 569 | $database = gGetDb(); |
| 572 | 570 | |
| 573 | - $database->transactionally(function() use ($database, $baseurl) |
|
| 574 | - { |
|
| 571 | + $database->transactionally(function() use ($database, $baseurl) { |
|
| 575 | 572 | $template = new WelcomeTemplate(); |
| 576 | 573 | $template->setDatabase($database); |
| 577 | 574 | $template->setUserCode($_POST['usercode']); |
@@ -656,8 +653,7 @@ discard block |
||
| 656 | 653 | die(); |
| 657 | 654 | } |
| 658 | 655 | |
| 659 | - $database->transactionally(function() use($database, $template) |
|
| 660 | - { |
|
| 656 | + $database->transactionally(function() use($database, $template) { |
|
| 661 | 657 | $tid = $template->getId(); |
| 662 | 658 | |
| 663 | 659 | $database |
@@ -693,8 +689,7 @@ discard block |
||
| 693 | 689 | } |
| 694 | 690 | |
| 695 | 691 | if (isset($_POST['submit'])) { |
| 696 | - $database->transactionally(function() use($database, $template) |
|
| 697 | - { |
|
| 692 | + $database->transactionally(function() use($database, $template) { |
|
| 698 | 693 | $template->setUserCode($_POST['usercode']); |
| 699 | 694 | $template->setBotCode($_POST['botcode']); |
| 700 | 695 | $template->save(); |
@@ -825,8 +820,7 @@ discard block |
||
| 825 | 820 | |
| 826 | 821 | $currentUsername = User::getCurrent()->getUsername(); |
| 827 | 822 | |
| 828 | - $database->transactionally(function() use ($database, $ban, $duration, $currentUsername) |
|
| 829 | - { |
|
| 823 | + $database->transactionally(function() use ($database, $ban, $duration, $currentUsername) { |
|
| 830 | 824 | $ban->setDatabase($database); |
| 831 | 825 | $ban->setActive(1); |
| 832 | 826 | $ban->setType($_POST['type']); |
@@ -891,8 +885,7 @@ discard block |
||
| 891 | 885 | else { |
| 892 | 886 | $database = gGetDb(); |
| 893 | 887 | |
| 894 | - $database->transactionally(function() use ($database, $ban) |
|
| 895 | - { |
|
| 888 | + $database->transactionally(function() use ($database, $ban) { |
|
| 896 | 889 | $ban->setActive(0); |
| 897 | 890 | $ban->save(); |
| 898 | 891 | |
@@ -1041,8 +1034,7 @@ discard block |
||
| 1041 | 1034 | } |
| 1042 | 1035 | |
| 1043 | 1036 | $database = gGetDb(); |
| 1044 | - $database->transactionally(function() use ($database, $request) |
|
| 1045 | - { |
|
| 1037 | + $database->transactionally(function() use ($database, $request) { |
|
| 1046 | 1038 | global $availableRequestStates; |
| 1047 | 1039 | |
| 1048 | 1040 | $request->setReserved(0); |
@@ -1192,7 +1184,8 @@ discard block |
||
| 1192 | 1184 | $emailTemplate = EmailTemplate::getById($gem, gGetDb()); |
| 1193 | 1185 | if ($emailTemplate instanceof EmailTemplate) { |
| 1194 | 1186 | $isForCreated = $emailTemplate->getDefaultAction() === EmailTemplate::CREATED; |
| 1195 | - } else { |
|
| 1187 | + } |
|
| 1188 | + else { |
|
| 1196 | 1189 | $isForCreated = false; |
| 1197 | 1190 | } |
| 1198 | 1191 | |
@@ -1253,7 +1246,8 @@ discard block |
||
| 1253 | 1246 | if (isset($_POST['ccmailist']) && $_POST['ccmailist'] == "on") { |
| 1254 | 1247 | $headers .= 'Cc: [email protected]' . "\r\n"; |
| 1255 | 1248 | } |
| 1256 | - } else { |
|
| 1249 | + } |
|
| 1250 | + else { |
|
| 1257 | 1251 | // these people do not. |
| 1258 | 1252 | $headers .= 'Cc: [email protected]' . "\r\n"; |
| 1259 | 1253 | } |
@@ -1469,8 +1463,7 @@ discard block |
||
| 1469 | 1463 | elseif ($action == "reserve") { |
| 1470 | 1464 | $database = gGetDb(); |
| 1471 | 1465 | |
| 1472 | - $database->transactionally(function() use ($database) |
|
| 1473 | - { |
|
| 1466 | + $database->transactionally(function() use ($database) { |
|
| 1474 | 1467 | $request = Request::getById($_GET['resid'], $database); |
| 1475 | 1468 | |
| 1476 | 1469 | if ($request == false) { |
@@ -1573,8 +1566,7 @@ discard block |
||
| 1573 | 1566 | if ($reservedUser->getId() != User::getCurrent()->getId()) { |
| 1574 | 1567 | if (User::getCurrent()->isAdmin()) { |
| 1575 | 1568 | if (isset($_GET['confirm']) && $_GET['confirm'] == 1) { |
| 1576 | - $database->transactionally(function() use($database, $request) |
|
| 1577 | - { |
|
| 1569 | + $database->transactionally(function() use($database, $request) { |
|
| 1578 | 1570 | $request->setReserved(0); |
| 1579 | 1571 | $request->save(); |
| 1580 | 1572 | |
@@ -1599,8 +1591,7 @@ discard block |
||
| 1599 | 1591 | } |
| 1600 | 1592 | } |
| 1601 | 1593 | else { |
| 1602 | - $database->transactionally(function() use ($database, $request) |
|
| 1603 | - { |
|
| 1594 | + $database->transactionally(function() use ($database, $request) { |
|
| 1604 | 1595 | $request->setReserved(0); |
| 1605 | 1596 | $request->save(); |
| 1606 | 1597 | |
@@ -1793,8 +1784,7 @@ discard block |
||
| 1793 | 1784 | |
| 1794 | 1785 | if ($_SERVER['REQUEST_METHOD'] == 'POST') { |
| 1795 | 1786 | $database = gGetDb(); |
| 1796 | - $database->transactionally(function() use ($database, $comment, $baseurl) |
|
| 1797 | - { |
|
| 1787 | + $database->transactionally(function() use ($database, $comment, $baseurl) { |
|
| 1798 | 1788 | |
| 1799 | 1789 | $comment->setComment($_POST['newcomment']); |
| 1800 | 1790 | $comment->setVisibility($_POST['visibility']); |
@@ -1842,8 +1832,7 @@ discard block |
||
| 1842 | 1832 | die(); |
| 1843 | 1833 | } |
| 1844 | 1834 | |
| 1845 | - $database->transactionally(function() use ($database, $user, $requestObject, $curuser) |
|
| 1846 | - { |
|
| 1835 | + $database->transactionally(function() use ($database, $user, $requestObject, $curuser) { |
|
| 1847 | 1836 | $updateStatement = $database->prepare("UPDATE request SET reserved = :userid WHERE id = :request LIMIT 1;"); |
| 1848 | 1837 | $updateStatement->bindValue(":userid", $user->getId()); |
| 1849 | 1838 | $updateStatement->bindValue(":request", $requestObject->getId()); |
@@ -1871,8 +1860,7 @@ discard block |
||
| 1871 | 1860 | } |
| 1872 | 1861 | if (isset($_POST['submit'])) { |
| 1873 | 1862 | $database = gGetDb(); |
| 1874 | - $database->transactionally(function() use ($database) |
|
| 1875 | - { |
|
| 1863 | + $database->transactionally(function() use ($database) { |
|
| 1876 | 1864 | global $baseurl; |
| 1877 | 1865 | |
| 1878 | 1866 | $emailTemplate = new EmailTemplate(); |
@@ -1950,8 +1938,7 @@ discard block |
||
| 1950 | 1938 | die(); |
| 1951 | 1939 | } |
| 1952 | 1940 | |
| 1953 | - $database->transactionally(function() use ($database, $emailTemplate) |
|
| 1954 | - { |
|
| 1941 | + $database->transactionally(function() use ($database, $emailTemplate) { |
|
| 1955 | 1942 | $emailTemplate->save(); |
| 1956 | 1943 | |
| 1957 | 1944 | Logger::editedEmail($database, $emailTemplate); |
@@ -2016,8 +2003,7 @@ discard block |
||
| 2016 | 2003 | } |
| 2017 | 2004 | elseif ($action == "oauthattach") { |
| 2018 | 2005 | $database = gGetDb(); |
| 2019 | - $database->transactionally(function() use ($database) |
|
| 2020 | - { |
|
| 2006 | + $database->transactionally(function() use ($database) { |
|
| 2021 | 2007 | try { |
| 2022 | 2008 | global $oauthConsumerToken, $oauthSecretToken, $oauthBaseUrl, $oauthBaseUrlInternal; |
| 2023 | 2009 | |
@@ -2052,7 +2038,8 @@ discard block |
||
| 2052 | 2038 | |
| 2053 | 2039 | if ($enableEmailConfirm == 1) { |
| 2054 | 2040 | $query = "SELECT * FROM request WHERE status = :type AND emailconfirm = 'Confirmed';"; |
| 2055 | - } else { |
|
| 2041 | + } |
|
| 2042 | + else { |
|
| 2056 | 2043 | $query = "SELECT * FROM request WHERE status = :type;"; |
| 2057 | 2044 | } |
| 2058 | 2045 | |
@@ -2072,7 +2059,8 @@ discard block |
||
| 2072 | 2059 | $smarty->assign("showStatus", false); |
| 2073 | 2060 | $html = $smarty->fetch("mainpage/requesttable.tpl"); |
| 2074 | 2061 | echo $html; |
| 2075 | - } else { |
|
| 2062 | + } |
|
| 2063 | + else { |
|
| 2076 | 2064 | echo defaultpage(); |
| 2077 | 2065 | } |
| 2078 | 2066 | |
@@ -102,8 +102,7 @@ |
||
| 102 | 102 | $creators = implode( |
| 103 | 103 | ", ", |
| 104 | 104 | array_map( |
| 105 | - function($arg) |
|
| 106 | - { |
|
| 105 | + function($arg) { |
|
| 107 | 106 | /** @var User $arg */ |
| 108 | 107 | return |
| 109 | 108 | "<a href=\"statistics.php?page=Users&user=" |
@@ -62,13 +62,15 @@ |
||
| 62 | 62 | echo ". IP location fetch complete.\n"; |
| 63 | 63 | $database->commit(); |
| 64 | 64 | echo ". Committed txn.\n"; |
| 65 | - } catch (Exception $ex) { |
|
| 65 | + } |
|
| 66 | + catch (Exception $ex) { |
|
| 66 | 67 | echo ". Encountered exception: " . $ex->getMessage(). "\n"; |
| 67 | 68 | $database->rollBack(); |
| 68 | 69 | echo ". Rolled back txn\n"; |
| 69 | 70 | throw $ex; |
| 70 | - } finally { |
|
| 71 | - if($database->hasActiveTransaction()){ |
|
| 71 | + } |
|
| 72 | + finally { |
|
| 73 | + if($database->hasActiveTransaction()) { |
|
| 72 | 74 | $database->rollBack(); |
| 73 | 75 | echo ". Rolled back txn\n"; |
| 74 | 76 | } |
@@ -1,7 +1,7 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | if (isset($_SERVER['REQUEST_METHOD'])) { |
| 4 | - die(); |
|
| 4 | + die(); |
|
| 5 | 5 | } // Web clients die. |
| 6 | 6 | |
| 7 | 7 | ini_set('display_errors', 1); |
@@ -17,21 +17,21 @@ discard block |
||
| 17 | 17 | $locationProvider = new IpLocationProvider($database, $locationProviderApiKey); |
| 18 | 18 | |
| 19 | 19 | while (true) { |
| 20 | - echo "Beginning txn\n"; |
|
| 21 | - $database->beginTransaction(); |
|
| 20 | + echo "Beginning txn\n"; |
|
| 21 | + $database->beginTransaction(); |
|
| 22 | 22 | |
| 23 | - try { |
|
| 24 | - echo ". Fetching data...\n"; |
|
| 23 | + try { |
|
| 24 | + echo ". Fetching data...\n"; |
|
| 25 | 25 | |
| 26 | - // fetch a bunch of un-geolocated IPs from the database. |
|
| 27 | - // note we have to parse the forwardedip field in the database so we can test against the geolocation table. |
|
| 28 | - // This guarantees we get ten unlocated IPs back, unless there actually aren't 10 available. |
|
| 29 | - // Alternatives include downloading a small set of forwarded IPs, splitting it in PHP, constructing an IN() |
|
| 30 | - // clause dynamically, sending that back to the database to check if there are geolocation entries, then repeating |
|
| 31 | - // until we have 10 to process - and the fact that we'd have to potentially retrieve all IPs from the database |
|
| 32 | - // before we find any at all. This way keeps all of that legwork in the database, at the cost of a more complex |
|
| 33 | - // query. |
|
| 34 | - $statement = $database->query(<<<SQL |
|
| 26 | + // fetch a bunch of un-geolocated IPs from the database. |
|
| 27 | + // note we have to parse the forwardedip field in the database so we can test against the geolocation table. |
|
| 28 | + // This guarantees we get ten unlocated IPs back, unless there actually aren't 10 available. |
|
| 29 | + // Alternatives include downloading a small set of forwarded IPs, splitting it in PHP, constructing an IN() |
|
| 30 | + // clause dynamically, sending that back to the database to check if there are geolocation entries, then repeating |
|
| 31 | + // until we have 10 to process - and the fact that we'd have to potentially retrieve all IPs from the database |
|
| 32 | + // before we find any at all. This way keeps all of that legwork in the database, at the cost of a more complex |
|
| 33 | + // query. |
|
| 34 | + $statement = $database->query(<<<SQL |
|
| 35 | 35 | SELECT p.prox |
| 36 | 36 | FROM ( |
| 37 | 37 | SELECT trim(substring_index(substring_index(r.forwardedip, ',', n.n), ',', -1)) prox |
@@ -48,38 +48,38 @@ discard block |
||
| 48 | 48 | WHERE NOT EXISTS (SELECT 1 FROM geolocation g WHERE g.address = p.prox FOR UPDATE) |
| 49 | 49 | LIMIT 10; |
| 50 | 50 | SQL |
| 51 | - ); |
|
| 51 | + ); |
|
| 52 | 52 | |
| 53 | - $missingIps = $statement->fetchAll(PDO::FETCH_COLUMN); |
|
| 53 | + $missingIps = $statement->fetchAll(PDO::FETCH_COLUMN); |
|
| 54 | 54 | |
| 55 | - $count = count($missingIps); |
|
| 56 | - if ($count === 0) { |
|
| 57 | - echo ". Found nothing to do.\n"; |
|
| 58 | - break; |
|
| 59 | - } |
|
| 55 | + $count = count($missingIps); |
|
| 56 | + if ($count === 0) { |
|
| 57 | + echo ". Found nothing to do.\n"; |
|
| 58 | + break; |
|
| 59 | + } |
|
| 60 | 60 | |
| 61 | - echo ". Picked {$count} IP addresses\n"; |
|
| 61 | + echo ". Picked {$count} IP addresses\n"; |
|
| 62 | 62 | |
| 63 | - foreach ($missingIps as $ip) { |
|
| 64 | - echo ". . Getting location for {$ip}...\n"; |
|
| 65 | - $data = json_encode($locationProvider->getIpLocation($ip)); |
|
| 66 | - echo ". . . {$data}\n"; |
|
| 67 | - } |
|
| 63 | + foreach ($missingIps as $ip) { |
|
| 64 | + echo ". . Getting location for {$ip}...\n"; |
|
| 65 | + $data = json_encode($locationProvider->getIpLocation($ip)); |
|
| 66 | + echo ". . . {$data}\n"; |
|
| 67 | + } |
|
| 68 | 68 | |
| 69 | - echo ". IP location fetch complete.\n"; |
|
| 70 | - $database->commit(); |
|
| 71 | - echo ". Committed txn.\n"; |
|
| 72 | - } catch (Exception $ex) { |
|
| 73 | - echo ". Encountered exception: " . $ex->getMessage(). "\n"; |
|
| 74 | - $database->rollBack(); |
|
| 75 | - echo ". Rolled back txn\n"; |
|
| 76 | - throw $ex; |
|
| 77 | - } finally { |
|
| 78 | - if($database->hasActiveTransaction()){ |
|
| 79 | - $database->rollBack(); |
|
| 80 | - echo ". Rolled back txn\n"; |
|
| 81 | - } |
|
| 82 | - } |
|
| 69 | + echo ". IP location fetch complete.\n"; |
|
| 70 | + $database->commit(); |
|
| 71 | + echo ". Committed txn.\n"; |
|
| 72 | + } catch (Exception $ex) { |
|
| 73 | + echo ". Encountered exception: " . $ex->getMessage(). "\n"; |
|
| 74 | + $database->rollBack(); |
|
| 75 | + echo ". Rolled back txn\n"; |
|
| 76 | + throw $ex; |
|
| 77 | + } finally { |
|
| 78 | + if($database->hasActiveTransaction()){ |
|
| 79 | + $database->rollBack(); |
|
| 80 | + echo ". Rolled back txn\n"; |
|
| 81 | + } |
|
| 82 | + } |
|
| 83 | 83 | } |
| 84 | 84 | |
| 85 | 85 | echo "Done.\n"; |