/** * @see AbstractStatGenerator::generateEntries() */ protected function generateEntries() { $this->generateDummies(); // user subselect $specs = Spec::getByFlag(0x2, true); $generated = ""; foreach ($specs as $specID => $specObj) { // planet if (!empty($generated)) { $generated .= " + "; } $generated .= "`" . $specObj->colName . "`"; } $user = "******" . $generated . "\n\t\t\t\tFROM ugml_users\n\t\t\t\tWHERE ugml_users.id = ugml_stat_entry.relationalID"; $sql = "UPDATE ugml_stat_entry,\n\t\t\t\t\tugml_users\n\t\t\t\t\t\tAS checkUser\n\t\t\t\tSET points = (" . $user . ")\n\t\t\t\tWHERE ugml_stat_entry.relationalID = checkUser.id\n\t\t\t\t\tAND ugml_stat_entry.statTypeID = " . $this->statTypeID . "\n\t\t\t\t\tAND checkUser.banned = 0\n\t\t\t\t\tAND checkUser.authlevel = 0"; // lets go! WCF::getDB()->sendQuery($sql); }
/** * @see AbstractStatGenerator::generateEntries() */ protected function generateEntries() { $this->generateDummies(); // planet subselect $specs = Spec::getByFlag(0x8, true); $generated = ""; foreach ($specs as $specID => $specObj) { // planet if (!empty($generated)) { $generated .= " + "; } $generated .= "`" . $specObj->colName . "`"; } $planet = "SELECT SUM(" . $generated . ")\r\n\t\t\t\tFROM ugml_planets\r\n\t\t\t\tWHERE ugml_planets.id_owner = ugml_stat_entry.relationalID"; // fleet subselect $fleet = "SELECT COALESCE(SUM(shipCount), 0)\r\n\t\t\t\tFROM ugml_fleet\r\n\t\t\t\tLEFT JOIN ugml_fleet_spec\r\n\t\t\t\t\tON ugml_fleet.fleetID = ugml_fleet_spec.fleetID\r\n\t\t\t\tWHERE ugml_fleet.ownerID = ugml_stat_entry.relationalID"; $sql = "UPDATE ugml_stat_entry,\r\n\t\t\t\t\tugml_users\r\n\t\t\t\t\t\tAS checkUser\r\n\t\t\t\tSET points = (" . $planet . ") + (" . $fleet . ")\r\n\t\t\t\tWHERE ugml_stat_entry.relationalID = checkUser.id\r\n\t\t\t\t\tAND ugml_stat_entry.statTypeID = " . $this->statTypeID . "\r\n\t\t\t\t\tAND checkUser.banned = 0\r\n\t\t\t\t\tAND checkUser.authlevel = 0"; // lets go! WCF::getDB()->sendQuery($sql); }
$specs = Spec::getByFlag(0x2, true); $generated = ""; foreach ($specs as $specID => $specObj) { if (!empty($generated)) { $generated .= " + "; } $costs = $specObj->costsMetal + $specObj->costsCrystal + $specObj->costsDeuterium; if ($specObj->costsFactor != 1) { $generated .= "(" . $costs . " * (1 - POW(" . $specObj->costsFactor . ", `" . $specObj->colName . "`)) / -(" . $specObj->costsFactor . " - 1))"; } else { $generated .= "(" . $costs . " * `" . $specObj->colName . "`)"; } } $sub2 = "SELECT " . $generated . "\r\n\t\tFROM ugml_users\r\n\t\tWHERE ugml_users.id = ugml_stat_entry.relationalID"; // sub3 $specs = Spec::getByFlag(0x8, true); $generated = ""; foreach ($specs as $specID => $specObj) { /*if(!empty($generated)) { $generated .= " + "; }*/ $costs = $specObj->costsMetal + $specObj->costsCrystal + $specObj->costsDeuterium; $generated .= " WHEN " . $specID . " THEN " . $costs; /*if($specObj->costsFactor != 1) { $generated .= "(".$costs." * (1 - POW(".$specObj->costsFactor.", `".$specObj->colName."`)) / -(".$specObj->costsFactor." - 1))"; } else { $generated .= "(".$costs." * `".$specObj->colName."`)"; }*/ } $sub3 = "SELECT COALESCE(SUM(CASE specID" . $generated . " ELSE 0 END * shipCount), 0)\r\n\t\tFROM ugml_fleet\r\n\t\tLEFT JOIN ugml_fleet_spec\r\n\t\t\tON ugml_fleet.fleetID = ugml_fleet_spec.fleetID\r\n\t\tWHERE ugml_fleet.ownerID = ugml_stat_entry.relationalID";
/** * @see AbstractStatGenerator::generateEntries() */ protected function generateEntries() { $this->generateDummies(); // planet subselect $specs = Spec::getByFlag(0x39, true); $generated = ""; foreach ($specs as $specID => $specObj) { if (!empty($generated)) { $generated .= " + "; } $costs = $specObj->costsMetal + $specObj->costsCrystal + $specObj->costsDeuterium; if ($specObj->costsFactor != 1) { $generated .= "(" . $costs . " * (1 - POW(" . $specObj->costsFactor . ", `" . $specObj->colName . "`)) / -(" . $specObj->costsFactor . " - 1))"; } else { $generated .= "(" . $costs . " * `" . $specObj->colName . "`)"; } } $planet = "SELECT SUM(" . $generated . ")\r\n\t\t\t\tFROM ugml_planets\r\n\t\t\t\tWHERE ugml_planets.id_owner = ugml_stat_entry.relationalID"; // user subselect $specs = Spec::getByFlag(0x2, true); //var_dump($specs); $generated = ""; foreach ($specs as $specID => $specObj) { if (!empty($generated)) { $generated .= " + "; } $costs = $specObj->costsMetal + $specObj->costsCrystal + $specObj->costsDeuterium; if ($specObj->costsFactor != 1) { $generated .= "(" . $costs . " * (1 - POW(" . $specObj->costsFactor . ", `" . $specObj->colName . "`)) / -(" . $specObj->costsFactor . " - 1))"; } else { $generated .= "(" . $costs . " * `" . $specObj->colName . "`)"; } } $user = "******" . $generated . "\r\n\t\t\t\tFROM ugml_users\r\n\t\t\t\tWHERE ugml_users.id = ugml_stat_entry.relationalID"; // fleet subselect $specs = Spec::getByFlag(0x48, true); $generated = ""; foreach ($specs as $specID => $specObj) { $costs = $specObj->costsMetal + $specObj->costsCrystal + $specObj->costsDeuterium; $generated .= " WHEN " . $specID . " THEN " . $costs; } $fleet = "SELECT COALESCE(SUM(CASE ugml_fleet_spec.specID" . $generated . " ELSE 0 END * shipCount), 0)\r\n\t\t\t\tFROM ugml_fleet\r\n\t\t\t\tLEFT JOIN ugml_fleet_spec\r\n\t\t\t\t\tON ugml_fleet.fleetID = ugml_fleet_spec.fleetID\r\n\t\t\t\tWHERE ugml_fleet.ownerID = ugml_stat_entry.relationalID"; $sql = "UPDATE ugml_stat_entry,\r\n\t\t\t\t\tugml_users\r\n\t\t\t\t\t\tAS checkUser\r\n\t\t\t\tSET points = ((" . $planet . ") + (" . $user . ") + (" . $fleet . ")) / 1000\r\n\t\t\t\tWHERE ugml_stat_entry.relationalID = checkUser.id\r\n\t\t\t\t\tAND ugml_stat_entry.statTypeID = 1\r\n\t\t\t\t\tAND checkUser.banned != 1\r\n\t\t\t\t\tAND checkUser.authlevel = 0"; //echo $sql; // lets go! WCF::getDB()->sendQuery($sql); }
/** * Searches the specs that produce resources and sorts the list. * The result will be saved to $producingSpecs. */ protected function searchProducingSpecs() { $flag = ProductionSpec::SPEC_FLAG; $this->producingSpecs = Spec::getByFlag($flag); }
<?php /* This file is part of WOT Game. WOT Game is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. WOT Game is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with WOT Game. If not, see <http://www.gnu.org/licenses/>. */ define('INSIDE', true); $ugamela_root_path = '../'; include $ugamela_root_path . 'extension.inc'; include $ugamela_root_path . 'common.' . $phpEx; if (!check_user()) { header("Location: login.php"); die; } $cache = WCF::getCache()->get('spec-' . PACKAGE_ID); var_dump($cache['bySpecID']); foreach (Spec::getByFlag(010) as $specID => $specObj) { var_dump($specObj->getDrive()); }