Changeset 381

Show
Ignore:
Timestamp:
06/21/09 12:12:44 (11 years ago)
Author:
kovell
Message:

kill class can constructs all involved pilot/ship/etc objects
kill_detail reduced load using new kill method.
display fixes.

Location:
dev
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • dev/common/includes/class.kill.php

    r376 r381  
    3737                $this->destroyeditems_ = array(); 
    3838                $this->droppeditems_ = array(); 
     39                $this->fullinvolved_ = false; 
    3940        } 
    4041 
     
    479480 
    480481                        // involved 
    481                         $sql = "select ind_plt_id, ind_crp_id, ind_all_id, ind_sec_status, 
    482                 ind_shp_id, ind_wep_id, ind_dmgdone 
    483                 from kb3_inv_detail 
    484                 where ind_kll_id = ".$this->getID()." 
    485                 order by ind_order"; 
    486  
    487                         $qry->execute($sql) or die($qry->getErrorMsg()); 
    488                         while ($row = $qry->getRow()) 
    489                         { 
    490                                 $involved = new InvolvedParty($row['ind_plt_id'], 
    491                                         $row['ind_crp_id'], 
    492                                         $row['ind_all_id'], 
    493                                         $row['ind_sec_status'], 
    494                                         new Ship($row['ind_shp_id']), 
    495                                         new Item($row['ind_wep_id'])); 
    496                                 $involved->dmgdone_ = $row['ind_dmgdone']; 
    497                                 array_push($this->involvedparties_, $involved); 
     482                        if($this->fullinvolved_) 
     483                        { 
     484                                $sql = "select ind_plt_id, ind_crp_id, ind_all_id, ind_sec_status, 
     485                                        ind_shp_id, ind_wep_id, typeName, ind_dmgdone, 
     486                                        shp_id, shp_name, shp_externalid, shp_class, scl_class, 
     487                                        plt_name, plt_externalid, crp_name, all_name 
     488                                        from kb3_inv_detail 
     489                                        join kb3_pilots on ind_plt_id = plt_id 
     490                                        join kb3_corps on ind_crp_id = crp_id 
     491                                        join kb3_alliances on ind_all_id = all_id 
     492                                        join kb3_ships on ind_shp_id = shp_id 
     493                                        join kb3_ship_classes on shp_class = scl_id 
     494                                        join kb3_invtypes on ind_wep_id = typeID 
     495                                        where ind_kll_id = ".$this->getID()." 
     496                                        order by ind_order"; 
     497 
     498                                $qry->execute($sql) or die($qry->getErrorMsg()); 
     499                                while ($row = $qry->getRow()) 
     500                                { 
     501                                        $pilot = new Pilot($row['ind_plt_id']); 
     502                                        $pilot->externalid_ = $row['plt_externalid']; 
     503                                        $pilot->name_ = $row['plt_name']; 
     504                                        $pilot->corp_ = $row['ind_crp_id']; 
     505 
     506                                        $corp = new Corporation($row['ind_crp_id']); 
     507                                        $corp->name_ = $row['crp_name']; 
     508                                        $corp->alliance_ = $row['ind_all_id']; 
     509 
     510                                        $alliance = new Alliance($row['ind_all_id']); 
     511                                        $alliance->name_ = $row['all_name']; 
     512 
     513                                        $ship = new Ship($row['shp_id']); 
     514                                        $ship->externalid_ = $row['shp_externalid']; 
     515                                        $ship->shipname_ = $row['shp_name']; 
     516 
     517                                        $ship->shipclass_ = new ShipClass($row['shp_class']); 
     518                                        $ship->shipclass_->name_ = $row['scl_class']; 
     519                                         
     520                                        $weapon = new Item($row['ind_wep_id']); 
     521                                        $weapon->row_['typeName'] = $row['typeName']; 
     522                                        $weapon->row_['typeID'] = $row['ind_wep_id']; 
     523                                        $weapon->row_['itm_externalid'] = $row['ind_wep_id']; 
     524                                         
     525                                        $involved = new DetailedInv($pilot, 
     526                                                $row['ind_sec_status'], 
     527                                                $corp, 
     528                                                $alliance, 
     529                                                $ship, 
     530                                                $weapon); 
     531                                        $involved->dmgdone_ = $row['ind_dmgdone']; 
     532                                        array_push($this->involvedparties_, $involved); 
     533                                } 
     534                        } 
     535                        else 
     536                        { 
     537                                $sql = "select ind_plt_id, ind_crp_id, ind_all_id, ind_sec_status, 
     538                                        ind_shp_id, ind_wep_id, ind_dmgdone 
     539                                        from kb3_inv_detail 
     540                                        where ind_kll_id = ".$this->getID()." 
     541                                        order by ind_order"; 
     542 
     543                                $qry->execute($sql) or die($qry->getErrorMsg()); 
     544                                while ($row = $qry->getRow()) 
     545                                { 
     546                                        $involved = new InvolvedParty($row['ind_plt_id'], 
     547                                                $row['ind_crp_id'], 
     548                                                $row['ind_all_id'], 
     549                                                $row['ind_sec_status'], 
     550                                                new Ship($row['ind_shp_id']), 
     551                                                new Item($row['ind_wep_id'])); 
     552                                        $involved->dmgdone_ = $row['ind_dmgdone']; 
     553                                        array_push($this->involvedparties_, $involved); 
     554                                } 
    498555                        } 
    499556                        $destroyedlist = new ItemList(null, true); 
     
    571628                if(isset($this->involvedcount_)) return $this->involvedcount_; 
    572629                $qry = new DBQuery(); 
    573                 $qry->execute("select count(ind_kll_id) inv from kb3_inv_detail where ind_kll_id = ". $this->id_); 
     630                $qry->execute("select max(ind_order)+1 inv from kb3_inv_detail where ind_kll_id = ". $this->id_); 
    574631                $result = $qry->getRow(); 
    575632                $this->involvedcount_ = $result['inv']; 
     
    583640        } 
    584641 
     642        function setDetailedInvolved() 
     643        { 
     644                $this->fullinvolved_ = true; 
     645        } 
    585646        function exists() 
    586647        { 
     
    827888                { 
    828889                        $value += $itd->getValue() * $itd->getQuantity(); 
     890                } 
     891                if(config::get('kd_droptototal')) 
     892                { 
     893                        foreach($this->droppeditems_ as $itd) 
     894                        { 
     895                                $value += $itd->getValue() * $itd->getQuantity(); 
     896                        } 
    829897                } 
    830898                $value += $this->getVictimShip()->getPrice(); 
     
    12681336        } 
    12691337} 
     1338 
     1339class DetailedInv extends InvolvedParty 
     1340{ 
     1341        function DetailedInv($pilot, $secstatus, $corp, $alliance, $ship, $weapon) 
     1342        { 
     1343                $this->pilot_ = $pilot; 
     1344                $this->secstatus_ = $secstatus; 
     1345                $this->corp_ = $corp; 
     1346                $this->alliance_ = $alliance; 
     1347                $this->ship_ = $ship; 
     1348                $this->weapon_ = $weapon; 
     1349        } 
     1350 
     1351        function getPilot() 
     1352        { 
     1353                return $this->pilot_; 
     1354        } 
     1355 
     1356        function getPilotID() 
     1357        { 
     1358                return $this->pilot_->getID(); 
     1359        } 
     1360 
     1361        function getCorp() 
     1362        { 
     1363                return $this->corp_; 
     1364        } 
     1365 
     1366        function getCorpID() 
     1367        { 
     1368                return $this->corp_->getID(); 
     1369        } 
     1370 
     1371        function getAlliance() 
     1372        { 
     1373                return $this->alliance_; 
     1374        } 
     1375 
     1376        function getAllianceID() 
     1377        { 
     1378                return $this->alliance_->getID(); 
     1379        } 
     1380 
     1381} 
    12701382?> 
  • dev/common/kill_detail.php

    r376 r381  
    7878} 
    7979 
    80 if($kll_id) $kill = new Kill($kll_id); 
     80if($kll_id) 
     81{ 
     82        $kill = new Kill($kll_id); 
     83        $kill->setDetailedInvolved(); 
     84} 
    8185else 
    8286{ 
    8387        $kill = new Kill($kll_external_id, true); 
     88        $kill->setDetailedInvolved(); 
    8489        $kll_id = $kill->getID(); 
    8590} 
     
    109114foreach ($kill->involvedparties_ as $inv) 
    110115{ 
    111     $pilot = new Pilot($inv->getPilotID()); 
    112     $corp = new Corporation($inv->getCorpID()); 
    113     $alliance = new Alliance($inv->getAllianceID()); 
     116    $pilot = $inv->getPilot(); 
     117    $corp = $inv->getCorp(); 
     118    $alliance = $inv->getAlliance(); 
    114119    $ship = $inv->getShip(); 
    115120    $weapon = $inv->getWeapon(); 
     
    220225    { 
    221226        $item = $destroyed->getItem(); 
    222         $i_qty = $destroyed->getQuantity(); 
     227                $i_qty = $destroyed->getQuantity(); 
    223228        if (config::get('item_values')) 
    224229        { 
     
    228233        } 
    229234        $i_name = $item->getName(); 
    230         $i_location = $destroyed->getLocationID(); 
    231         $i_id = $item->getID(); 
    232         $i_usedgroup = $item->get_used_launcher_group(); 
    233         $dest_array[$i_location][] = array('Icon' => $item->getIcon(32), 'Name' => $i_name, 'Quantity' => $i_qty, 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $i_id,'slotID' => $i_location, 'groupID' => $item->get_group_id()); 
     235                $i_location = $destroyed->getLocationID(); 
     236                $i_id = $item->getID(); 
     237                $i_usedgroup = $item->get_used_launcher_group(); 
     238                $dest_array[$i_location][] = array('Icon' => $item->getIcon(32), 'Name' => $i_name, 'Quantity' => $i_qty, 'Value' => $formatted, 'single_unit' => $value, 'itemID' => $i_id,'slotID' => $i_location, 'groupID' => $item->get_group_id()); 
    234239            if(config::get('fp_show')) 
    235240            { // BEGIN ADDING DESTROYED ITEMS TO FITTING LAYOUT          
    236                 if(($i_location != 4) && ($i_location != 5) && ($i_location != 6)) // NOT IN CARGO, DRONE BAY OR RIG SLOT 
    237                 { 
    238                         if(($i_usedgroup != 0)) // AMMO 
    239                         { 
    240                                 if ($i_location == 1) 
    241                                 { 
    242                                         $i_ammo=$item->get_ammo_size($i_name); // GET SIZE IF IN HI SLOT 
    243  
     241                        if(($i_location != 4) && ($i_location != 5) && ($i_location != 6)) // NOT IN CARGO, DRONE BAY OR RIG SLOT 
     242                        { 
     243                                if(($i_usedgroup != 0)) // AMMO 
     244                                { 
     245                                        if ($i_location == 1) 
     246                                        { 
     247                                                $i_ammo=$item->get_ammo_size($i_name); // GET SIZE IF IN HI SLOT 
     248 
     249                                        } 
     250                                        else 
     251                                        { 
     252                                                $i_ammo = 0; // NULL FOR OTHER SLOTS 
     253                                        } 
     254                                        $ammo_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(24), 'itemID' => $i_id, 'usedgroupID' => $i_usedgroup, 'size' => $i_ammo); 
    244255                                } 
    245                                 else 
    246                                 { 
    247                                         $i_ammo = 0; // NULL FOR OTHER SLOTS 
     256                                else // MODULES 
     257                                { 
     258                                        for ($count = 0; $count < $i_qty; $count++) 
     259                                        { 
     260                                                if ($i_location == 1) 
     261                                                { 
     262                                                        $i_charge=$item->get_used_charge_size(); // GET TURRET SIZE 
     263                                                } 
     264                                                else 
     265                                                { 
     266                                                        $i_charge = 0; // NULL FOR OTHER MODULES 
     267                                                } 
     268                                                $fitting_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(48), 'itemID' => $i_id, 'groupID' => $item->get_group_id(), 'chargeSize' => $i_charge); 
     269                                        } 
    248270                                } 
    249                                 $ammo_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(24), 'itemID' => $i_id, 'usedgroupID' => $i_usedgroup, 'size' => $i_ammo); 
    250                         }  
    251                         else // MODULES 
     271                        } 
     272                        else if(($destroyed->getLocationID() == 5)) // RIG SLOT 
    252273                        { 
    253274                                for ($count = 0; $count < $i_qty; $count++) 
    254275                                { 
    255                                         if ($i_location == 1) 
    256                                         { 
    257                                                 $i_charge=$item->get_used_charge_size(); // GET TURRET SIZE 
    258                                         } 
    259                                         else 
    260                                         { 
    261                                                 $i_charge = 0; // NULL FOR OTHER MODULES 
    262                                         } 
    263                                         $fitting_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(48), 'itemID' => $i_id, 'groupID' => $item->get_group_id(), 'chargeSize' => $i_charge); 
     276                                        $fitting_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(32), 'itemID' => $i_id); 
    264277                                } 
    265278                        } 
    266                 }  
    267                 else if(($destroyed->getLocationID() == 5)) // RIG SLOT 
    268                 { 
    269                         for ($count = 0; $count < $i_qty; $count++) 
    270                         { 
    271                                 $fitting_array[$i_location][]=array('Name'=>$i_name, 'Icon' => $item->getIcon(32), 'itemID' => $i_id); 
    272                         } 
    273                 } 
    274279            } // END ADDING DESTROYED ITEMS TO FITTING LAYOUT 
    275280    } 
  • dev/mods/apoc_fitting/kill_detail.php

    r376 r381  
    7878} 
    7979 
    80 if($kll_id) $kill = new Kill($kll_id); 
     80if($kll_id) 
     81{ 
     82        $kill = new Kill($kll_id); 
     83        $kill->setDetailedInvolved(); 
     84} 
    8185else 
    8286{ 
    8387        $kill = new Kill($kll_external_id, true); 
     88        $kill->setDetailedInvolved(); 
    8489        $kll_id = $kill->getID(); 
    8590} 
     
    97102$qry=new DBQuery(); 
    98103 
    99 //echo ALLIANCE_ID; 
    100  
    101104if (ALLIANCE_ID <> '0') 
    102105    { 
     
    107110    $smarty->assign('HomeName', $row['all_name']); 
    108111 
     112/* 
    109113    $qry->execute("SELECT `kb3_corps`.`crp_name` FROM kb3_corps WHERE (kb3_corps.crp_all_id=" . ALLIANCE_ID . ")") 
    110114        or die($qry->getErrorMsg()); 
    111115 
    112 /* 
    113116    $rosso=0x70; 
    114117    $verde=0; 
     
    155158 
    156159foreach ($kill->involvedparties_ as $inv) 
    157     { 
    158     $pilot                     =new Pilot($inv->getPilotID()); 
    159     $corp                      =new Corporation($inv->getCorpID()); 
    160     $alliance                  =new Alliance($inv->getAllianceID()); 
     160{ 
     161    $pilot                     =$inv->getPilot(); 
     162    $corp                      =$inv->getCorp(); 
     163    $alliance                  =$inv->getAlliance(); 
    161164    $ship                      =$inv->getShip(); 
    162165    $weapon                    =$inv->getWeapon(); 
     
    201204    else 
    202205        $involved[$i]['weaponName']="Unknown"; 
    203          
     206 
    204207    // Sapyx 16/09/2008 -- from Rostik idea 
    205208    // Update by Rostik 19/08/2008 - Add Alliance logo 
     
    408411        $i_location =$destroyed->getLocationID(); 
    409412        $i_id       =$item->getID(); 
    410         $i_usedgroup=$item->get_used_launcher_group($i_name); 
     413        $i_usedgroup=$item->get_used_launcher_group(); 
    411414 
    412415        $dest_array[$i_location][]=array 
     
    455458                    if ($i_location == 1) 
    456459                        { 
    457                         $i_charge=$item->get_used_charge_size($i_name); 
     460                        $i_charge=$item->get_used_charge_size(); 
    458461                        } 
    459462                    else 
     
    467470                        'Icon'       => $item->getIcon(32), 
    468471                        'itemID'     => $i_id, 
    469                         'groupID'    => $item->get_group_id($i_name), 
     472                        'groupID'    => $item->get_group_id(), 
    470473                        'chargeSize' => $i_charge 
    471474                        ); 
     
    508511        $i_location =$dropped->getLocationID(); 
    509512        $i_id       =$item->getID(); 
    510         $i_usedgroup=$item->get_used_launcher_group($i_name); 
     513        $i_usedgroup=$item->get_used_launcher_group(); 
    511514 
    512515        $drop_array[$i_location][]=array 
     
    555558                    if ($i_location == 1) 
    556559                        { 
    557                         $i_charge=$item->get_used_charge_size($i_name); 
     560                        $i_charge=$item->get_used_charge_size(); 
    558561                        } 
    559562                    else 
     
    567570                        'Icon'       => $item->getIcon(32), 
    568571                        'itemID'     => $i_id, 
    569                         'groupID'    => $item->get_group_id($i_name), 
     572                        'groupID'    => $item->get_group_id(), 
    570573                        'chargeSize' => $i_charge 
    571574                        ); 
  • dev/mods/apoc_fitting/kill_detail.tpl

    r370 r381  
    105105                        <tr class={cycle name=ccl}> 
    106106                            {if $i.AlliName eq $HomeName} 
    107                                 <td class=kb-table-cell style="padding-top: 1px; padding-bottom: 1px;"><a href="{$i.AllyURL}">{$i.AlliName}</a></td> 
     107                                <td class=kb-table-cell style="padding-top: 1px; padding-bottom: 1px;"><a href="{$i.AlliURL}">{$i.AlliName}</a></td> 
    108108                            {else} 
    109109                                <td class=kb-table-cell style="padding-top: 1px; padding-bottom: 1px;"><a href="{$i.AlliURL}">{$i.AlliName}</a></td>