/**
  * @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);
 }
Пример #3
0
$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);
 }
Пример #5
0
 /**
  * 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);
 }
Пример #6
0
<?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());
}