<?php

$msg = "";
$allSectors = $staticData->getSectors();
$startSectorString = $startSectorName . "(" . $startSectorX . "," . $startSectorY . ")";
$endSectorString = $endSectorName . "(" . $endSectorX . "," . $endSectorY . ")";
$divisionMovement = new DivisionMovement($startedDivisionMovement[0], $startedDivisionMovement[3], $startSectorId, $endSectorId, $startedDivisionMovement[6], $startedDivisionMovement[7]);
$unitList = explode(",", $startedDivisionMovement[1]);
$quantityList = explode(",", $startedDivisionMovement[2]);
$timeLeft = $divisionMovement->getTime() - ($_SERVER['REQUEST_TIME'] - $divisionMovement->getStartDateTime());
$isAttack = $divisionMovement->getOwnerId() != $endSectorOwnerId;
foreach ($unitList as $i => $unitId) {
    if ($quantityList[$i] > 0) {
        if ($timeLeft <= 0) {
            $sectorArr = $sectorConn->getSectorByCoordinates($endSectorX, $endSectorY);
            $endSector = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]);
            $sectorArr = $sectorConn->getSectorByCoordinates($startSectorX, $startSectorY);
            $startSector = new Sector($sectorArr[0], $sectorArr[1], $sectorArr[2], $sectorArr[3], $sectorArr[4], $sectorArr[5], $sectorArr[6], $sectorArr[7], explode(",", $sectorArr[8]), explode(",", $sectorArr[9]), $sectorArr[10]);
            if (!isset($allUnits)) {
                $allUnitsArr = $unitConn->getAllUnits();
                $allUnits = array();
                $trainingTimes = array();
                foreach ($allUnitsArr as $unitArr) {
                    $unit = new Unit($unitArr[0], $unitArr[1], $unitArr[2], $unitArr[3], $unitArr[4], $unitArr[5], $unitArr[6], $unitArr[7], $unitArr[8], explode(",", $unitArr[9]), explode(",", $unitArr[10]), explode(",", $unitArr[11]), $unitArr[12], $unitArr[13], $unitArr[14], $unitArr[15]);
                    $allUnits[$unit->getId()] = $unit;
                }
            }
            $unit = $allUnits[$unitId];
            $capitolSectorArr = $sectorConn->getCapitolSector($playerId);
            if ($capitolSectorArr) {
                $capitolSector = new Sector($capitolSectorArr[0], $capitolSectorArr[1], $capitolSectorArr[2], $capitolSectorArr[3], $capitolSectorArr[4], $capitolSectorArr[5], $capitolSectorArr[6], $capitolSectorArr[7], explode(",", $capitolSectorArr[8]), explode(",", $capitolSectorArr[9]), $capitolSectorArr[10]);
    unset($startSector);
    unset($endSector);
    //Get origin and destiny sectors of current DivisionMovement
    foreach ($allSectors as $targetSector) {
        if (!(isset($startSector) && isset($endSector))) {
            if ($divisionMovementArr[4] == $targetSector->getId()) {
                $startSector = $targetSector;
            } elseif ($divisionMovementArr[5] == $targetSector->getId()) {
                $endSector = $targetSector;
            }
        } else {
            break;
        }
    }
    if ($startSector->getOccupant() == $player->getId() || $endSector->getOccupant() == $player->getId()) {
        $divisionMovement = new DivisionMovement($divisionMovementArr[0], $divisionMovementArr[3], $startSector, $endSector, $divisionMovementArr[6], $divisionMovementArr[7]);
        $unitList = explode(",", $divisionMovementArr[1]);
        $quantityList = explode(",", $divisionMovementArr[2]);
        $timeLeft = $divisionMovement->getTime() - ($_SERVER['REQUEST_TIME'] - $divisionMovement->getStartDateTime());
        //Create divisions and assign them to current DivisionMovement
        foreach ($unitList as $i => $unitId) {
            if ($quantityList[$i] > 0) {
                $division = new Division($divisionMovementArr[0], $divisionMovementArr[3], $unitId, $quantityList[$i], 1);
                $divisions = $divisionMovement->getDivisions();
                $divisions[] = $division;
                $divisionMovement->setDivisions($divisions);
            }
        }
        $divisionMovements[] = $divisionMovement;
    }
}