Beispiel #1
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return void
  * @throws \LogicException
  */
 protected function preserveToMailMessages(EveApiReadWriteInterface $data)
 {
     $tableName = 'charMailMessages';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['messageID' => null, 'ownerID' => $ownerID, 'senderID' => null, 'senderName' => null, 'senderTypeID' => null, 'sentDate' => null, 'title' => null, 'toCharacterIDs' => null, 'toCorpOrAllianceID' => '0', 'toListID' => null];
     $xPath = '//messages/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
 }
Beispiel #2
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToSkillInTraining(EveApiReadWriteInterface $data)
 {
     $tableName = 'charSkillInTraining';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['currentTQTime' => '1970-01-01 00:00:01', 'offset' => '0', 'ownerID' => $ownerID, 'skillInTraining' => null, 'trainingDestinationSP' => null, 'trainingEndTime' => '1970-01-01 00:00:01', 'trainingStartSP' => null, 'trainingStartTime' => '1970-01-01 00:00:01', 'trainingToLevel' => null, 'trainingTypeID' => null];
     $xPath = '//result/child::*[not(*|@*|self::dataTime)]';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->valuesPreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #3
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToStarbaseList(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpStarbaseList';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['itemID' => null, 'locationID' => null, 'moonID' => null, 'onlineTimestamp' => '1970-01-01 00:00:01', 'ownerID' => $ownerID, 'standingOwnerID' => null, 'state' => null, 'stateTimestamp' => '1970-01-01 00:00:01', 'typeID' => null];
     $xPath = '//starbases/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #4
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToMemberSecurityLog(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpMemberSecurityLog';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['changeTime' => '1970-01-01 00:00:01', 'characterID' => null, 'issuerID' => null, 'ownerID' => $ownerID, 'roleLocationType' => null];
     $xPath = '//roleHistory/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #5
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToShareholders(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpShareholders';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['ownerID' => $ownerID, 'shareholderCorporationID' => null, 'shareholderCorporationName' => '', 'shareholderID' => null, 'shareholderName' => '', 'shares' => null];
     $xPath = '//characters/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #6
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToOutpostList(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpOutpostList';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['dockingCostPerShipVolume' => null, 'officeRentalCost' => null, 'ownerID' => $ownerID, 'reprocessingEfficiency' => null, 'reprocessingStationTake' => null, 'solarSystemID' => null, 'standingOwnerID' => null, 'stationID' => null, 'stationName' => '', 'stationTypeID' => null, 'x' => null, 'y' => null, 'z' => null];
     $xPath = '//corporationStarbases/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #7
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToCustomsOffices(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpCustomsOffices';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['allowAlliance' => null, 'allowStandings' => null, 'itemID' => null, 'ownerID' => $ownerID, 'reinforceHour' => null, 'solarSystemID' => null, 'solarSystemName' => '', 'standingLevel' => null, 'taxRateAlliance' => '0.0', 'taxRateCorp' => '0.0', 'taxRateStandingBad' => '0.0', 'taxRateStandingGood' => '0.0', 'taxRateStandingHigh' => '0.0', 'taxRateStandingHorrible' => '0.0', 'taxRateStandingNeutral' => '0.0'];
     $xPath = '//pocos/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #8
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToBlueprints(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpBlueprints';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['flagID' => null, 'itemID' => null, 'locationID' => null, 'materialEfficiency' => null, 'ownerID' => $ownerID, 'quantity' => null, 'runs' => null, 'timeEfficiency' => null, 'typeID' => null, 'typeName' => ''];
     $xPath = '//blueprints/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToOutpostServiceDetail(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpOutpostServiceDetail';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['discountPerGoodStanding' => null, 'minStanding' => null, 'ownerID' => $ownerID, 'serviceName' => '', 'stationID' => null, 'surchargePerBadStanding' => null];
     $xPath = '//outpostServiceDetails/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToUpcomingCalendarEvents(EveApiReadWriteInterface $data)
 {
     $tableName = 'charUpcomingCalendarEvents';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['duration' => null, 'eventDate' => '1970-01-01 00:00:01', 'eventID' => null, 'eventText' => null, 'eventTitle' => null, 'importance' => null, 'ownerID' => $ownerID, 'ownerName' => '', 'ownerTypeID' => null, 'response' => null];
     $xPath = '//upcomingEvents/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #11
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToFacilities(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpFacilities';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['facilityID' => null, 'ownerID' => $ownerID, 'regionID' => null, 'regionName' => '', 'solarSystemID' => null, 'solarSystemName' => '', 'starbaseModifier' => null, 'tax' => '0.0', 'typeID' => null, 'typeName' => ''];
     $xPath = '//facilities/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #12
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToResearch(EveApiReadWriteInterface $data)
 {
     $tableName = 'charResearch';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['agentID' => null, 'ownerID' => $ownerID, 'pointsPerDay' => null, 'remainderPoints' => null, 'researchStartDate' => '1970-01-01 00:00:01', 'skillTypeID' => null];
     $xPath = '//research/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #13
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToContainerLog(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpContainerLog';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['action' => null, 'actorID' => null, 'actorName' => '', 'flag' => null, 'itemID' => null, 'itemTypeID' => null, 'locationID' => null, 'logTime' => '1970-01-01 00:00:01', 'newConfiguration' => null, 'oldConfiguration' => null, 'ownerID' => $ownerID, 'passwordType' => null, 'quantity' => null, 'typeID' => null];
     $xPath = '//containerLog/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #14
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToMedals(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpMedals';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['created' => null, 'creatorID' => null, 'description' => '', 'medalID' => null, 'ownerID' => $ownerID, 'title' => null];
     $xPath = '//medals/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #15
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToContracts(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpContracts';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['acceptorID' => null, 'assigneeID' => null, 'availability' => null, 'buyout' => null, 'collateral' => null, 'contractID' => null, 'dateAccepted' => '1970-01-01 00:00:01', 'dateCompleted' => '1970-01-01 00:00:01', 'dateExpired' => '1970-01-01 00:00:01', 'dateIssued' => '1970-01-01 00:00:01', 'endStationID' => null, 'forCorp' => null, 'issuerCorpID' => null, 'issuerID' => null, 'numDays' => null, 'ownerID' => $ownerID, 'price' => null, 'reward' => null, 'startStationID' => null, 'status' => null, 'title' => null, 'type' => null, 'volume' => null];
     $xPath = '//contractList/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #16
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToMarketOrders(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpMarketOrders';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['accountKey' => null, 'bid' => null, 'charID' => null, 'duration' => null, 'escrow' => null, 'issued' => null, 'minVolume' => null, 'orderID' => null, 'orderState' => null, 'ownerID' => $ownerID, 'price' => null, 'range' => null, 'stationID' => null, 'typeID' => null, 'volEntered' => null, 'volRemaining' => null];
     $xPath = '//orders/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #17
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToWalletTransactions(EveApiReadWriteInterface $data)
 {
     $tableName = 'charWalletTransactions';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['clientID' => null, 'clientName' => '', 'clientTypeID' => null, 'journalTransactionID' => null, 'ownerID' => $ownerID, 'price' => null, 'quantity' => null, 'stationID' => null, 'stationName' => '', 'transactionDateTime' => '1970-01-01 00:00:01', 'transactionFor' => null, 'transactionID' => null, 'transactionType' => null, 'typeID' => null, 'typeName' => ''];
     $xPath = '//transactions/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #18
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToWalletJournal(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpWalletJournal';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['amount' => null, 'argID1' => null, 'argName1' => '', 'balance' => '0.0', 'date' => '1970-01-01 00:00:01', 'owner1TypeID' => null, 'owner2TypeID' => null, 'ownerID' => $ownerID, 'ownerID1' => null, 'ownerID2' => null, 'ownerName1' => '', 'ownerName2' => '', 'reason' => null, 'refID' => null, 'refTypeID' => null];
     $xPath = '//entries/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #19
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToSkillQueue(EveApiReadWriteInterface $data)
 {
     $tableName = 'charSkillQueue';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['endSP' => null, 'endTime' => '1970-01-01 00:00:01', 'level' => null, 'ownerID' => $ownerID, 'queuePosition' => null, 'startSP' => null, 'startTime' => '1970-01-01 00:00:01', 'typeID' => null];
     $xPath = '//skillqueue/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #20
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToNotifications(EveApiReadWriteInterface $data)
 {
     $tableName = 'charNotifications';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['notificationID' => null, 'ownerID' => $ownerID, 'read' => null, 'senderID' => null, 'senderName' => '', 'sentDate' => '1970-01-01 00:00:01', 'typeID' => null];
     $xPath = '//notifications/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #21
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToAccountBalance(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpAccountBalance';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['accountID' => null, 'accountKey' => null, 'balance' => '0.0', 'ownerID' => $ownerID];
     $xPath = '//accounts/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToIndustryJobsHistory(EveApiReadWriteInterface $data)
 {
     // Shared table.
     $tableName = 'corpIndustryJobs';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['activityID' => null, 'blueprintID' => null, 'blueprintLocationID' => null, 'blueprintTypeID' => null, 'blueprintTypeName' => '', 'completedCharacterID' => null, 'completedDate' => null, 'cost' => null, 'endDate' => null, 'facilityID' => null, 'installerID' => null, 'installerName' => '', 'jobID' => null, 'licensedRuns' => null, 'outputLocationID' => null, 'ownerID' => $ownerID, 'pauseDate' => null, 'probability' => null, 'productTypeID' => null, 'productTypeName' => '', 'runs' => null, 'solarSystemID' => null, 'solarSystemName' => '', 'startDate' => null, 'stationID' => null, 'status' => null, 'successfulRuns' => null, 'teamID' => null, 'timeInSeconds' => null];
     $xPath = '//jobs/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #23
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToAssetList(EveApiReadWriteInterface $data)
 {
     $tableName = 'charAssetList';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['flag' => '0', 'itemID' => null, 'lft' => null, 'lvl' => null, 'locationID' => null, 'ownerID' => $ownerID, 'quantity' => '1', 'rawQuantity' => '0', 'rgt' => null, 'singleton' => '0', 'typeID' => null];
     $xPath = '//row';
     $simple = new \SimpleXMLElement($data->getEveApiXml());
     /** @noinspection PhpUndefinedFieldInspection */
     if (0 !== $simple->result[0]->count()) {
         /** @noinspection PhpUndefinedFieldInspection */
         $simple->result[0]->row[0]['itemID'] = $ownerID;
         /** @noinspection PhpUndefinedFieldInspection */
         $this->addNesting($simple->result[0]->row[0]);
     }
     $data->setEveApiXml($simple->asXML());
     $this->attributePreserveData($simple->xpath($xPath), $columnDefaults, $tableName);
     return $this;
 }
Beispiel #24
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return void
  * @throws \LogicException
  */
 protected function preserveToStarbaseDetail(EveApiReadWriteInterface $data)
 {
     $tableName = 'corpStarbaseDetail';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $starbaseID = $data->getEveApiArgument('itemID');
     $sql = $this->getCsq()->getDeleteFromStarbaseDetailTables($tableName, $ownerID, $starbaseID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['ownerID' => $ownerID, 'itemID' => $starbaseID, 'onlineTimestamp' => '1970-01-01 00:00:01', 'state' => '0', 'stateTimestamp' => '1970-01-01 00:00:01'];
     $xPath = '//result/child::*[not(*|@*|self::dataTime)]';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->valuesPreserveData($elements, $columnDefaults, $tableName);
 }
Beispiel #25
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToSkills(EveApiReadWriteInterface $data)
 {
     $tableName = 'charSkills';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['level' => null, 'ownerID' => $ownerID, 'published' => null, 'skillpoints' => null, 'typeID' => null];
     $xPath = '//skills/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #26
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \DomainException
  * @throws \InvalidArgumentException
  * @throws \LogicException
  */
 protected function preserveToKeyBridge(EveApiReadWriteInterface $data)
 {
     $tableName = 'accountKeyBridge';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $columnDefaults = ['keyID' => $ownerID, 'characterID' => null];
     $xPath = '//characters/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #27
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToOffers(EveApiReadWriteInterface $data)
 {
     $tableName = 'accountOffers';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['keyID' => $ownerID, 'offerID' => null, 'offeredDate' => null, 'from' => null, 'to' => null, 'ISK' => null];
     $xPath = '//Offers/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }
Beispiel #28
0
 /**
  * Adds Processing Instruction to XML containing json encoding of any post used during retrieve.
  *
  * NOTE: This use to be done directly in the network retriever but felt modifying the XML like that belonged in
  * transform instead.
  *
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \DomainException
  * @throws \InvalidArgumentException
  * @throws \LogicException
  * @throws \UnexpectedValueException
  */
 private function addYapealProcessingInstructionToXml(EveApiReadWriteInterface $data) : self
 {
     $xml = $data->getEveApiXml();
     if ('' === $xml) {
         return $this;
     }
     $arguments = $data->getEveApiArguments();
     // Include only partial vCode for security.
     if (!empty($arguments['vCode'])) {
         $arguments['vCode'] = substr($arguments['vCode'], 0, min(8, strlen($arguments['vCode']) - 1)) . '...';
     }
     // Remove arguments that never need to be included.
     unset($arguments['mask'], $arguments['rowCount']);
     ksort($arguments);
     $json = json_encode($arguments);
     if (false === $json) {
         $mess = sprintf('JSON encoding of parameters failed with %s during', json_last_error_msg());
         $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::WARNING, $this->createEveApiMessage($mess, $data));
         return $this;
     }
     $xml = str_replace("='UTF-8'?>\n", "='UTF-8'?>\n<?yapeal.parameters.json " . $json . "?>\n", $xml);
     $data->setEveApiXml($xml);
     return $this;
 }
Beispiel #29
0
 /**
  * Special override to work around bug in Eve API server when including both KeyID and corporationID.
  *
  * @param EveApiReadWriteInterface $data
  *
  * @return bool
  * @throws \DomainException
  * @throws \InvalidArgumentException
  * @throws \LogicException
  */
 protected function processEvents(EveApiReadWriteInterface $data) : bool
 {
     $corpID = 0;
     $eventSuffixes = ['retrieve', 'transform', 'validate', 'preserve'];
     foreach ($eventSuffixes as $eventSuffix) {
         if ('retrieve' === $eventSuffix) {
             $corp = $data->getEveApiArguments();
             $corpID = $corp['corporationID'];
             // Can NOT include corporationID or will only get public info.
             if (array_key_exists('keyID', $corp)) {
                 unset($corp['corporationID']);
                 $data->setEveApiArguments($corp);
             }
         }
         if (false === $this->emitEvents($data, $eventSuffix)) {
             return false;
         }
         if ('retrieve' === $eventSuffix) {
             $data->addEveApiArgument('corporationID', $corpID);
         }
         if (false === $data->getEveApiXml()) {
             if ($data->hasEveApiArgument('accountKey') && '10000' === $data->getEveApiArgument('accountKey') && 'corp' === strtolower($data->getEveApiSectionName())) {
                 $mess = 'No faction warfare account data in';
                 $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::INFO, $this->createEveApiMessage($mess, $data));
                 return false;
             }
             $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::INFO, $this->getEmptyXmlDataMessage($data, $eventSuffix));
             return false;
         }
     }
     return true;
 }
Beispiel #30
0
 /**
  * @param EveApiReadWriteInterface $data
  *
  * @return self Fluent interface.
  * @throws \LogicException
  */
 protected function preserveToCorporateContactList(EveApiReadWriteInterface $data)
 {
     $tableName = 'charCorporateContactList';
     $ownerID = $this->extractOwnerID($data->getEveApiArguments());
     $sql = $this->getCsq()->getDeleteFromTableWithOwnerID($tableName, $ownerID);
     $this->getYem()->triggerLogEvent('Yapeal.Log.log', Logger::DEBUG, $sql);
     $this->getPdo()->exec($sql);
     $columnDefaults = ['contactID' => null, 'contactName' => '', 'contactTypeID' => null, 'labelMask' => null, 'ownerID' => $ownerID, 'standing' => null];
     $xPath = '//corporateContactList/row';
     $elements = (new \SimpleXMLElement($data->getEveApiXml()))->xpath($xPath);
     $this->attributePreserveData($elements, $columnDefaults, $tableName);
     return $this;
 }