Scalr\Model\Entity\Farm::cloneFarm PHP Méthode

cloneFarm() public méthode

Creates clone for the farm TODO: refactor farms cloning
public cloneFarm ( string $name, User $user ) : Farm
$name string The name of a new Farm
$user Scalr\Model\Entity\Account\User The User that initiates cloning
Résultat Farm Returns clone
    public function cloneFarm($name, User $user)
    {
        $farm = clone $this;
        $farm->changedById = $user->id;
        $farm->name = $name;
        $farm->save();
        $variables = new Scalr_Scripting_GlobalVariables($farm->accountId, $farm->envId, ScopeInterface::SCOPE_FARM);
        $variables->setValues($variables->getValues(0, $this->id), 0, $farm->id);
        $dbFarm = DBFarm::LoadByID($this->id);
        $dbFarmClone = DBFarm::LoadByID($farm->id);
        $dbFarm->cloneFarmRoles($dbFarmClone);
        $ft = new FarmTeam();
        $this->db()->Execute("\n            INSERT INTO {$ft->table()} ({$ft->columnFarmId}, {$ft->columnTeamId} )\n            SELECT ?, {$ft->columnTeamId}\n            FROM {$ft->table()}\n            WHERE {$ft->columnFarmId} = ?\n        ", [$farm->id, $this->id]);
        return $farm;
    }