/** * * @param SimpleXMLElement $elt * @return FzUserGroup */ public static function fromXml(SimpleXMLElement $elt) { $group = new FzUserGroup(); $group->name = (string) $elt['Name']; //fetch group's options $group->options = self::parseOptions($elt); //fetch parmissions $group->permissions = self::parsePermissions($elt); $group->speedLimits = FzSpeedLimits::fromXml($elt->SpeedLimits); return $group; }
/** * * @param SimpleXMLElement $elt * * @return FzSpeedLimits */ public static function fromXml(SimpleXMLElement $elt) { $fzSpeedLimit = new FzSpeedLimits(); $attributes['DlType'] = (string) $elt['DlType']; $attributes['DlLimit'] = (string) $elt['DlLimit']; $attributes['ServerDlLimitBypass'] = (string) $elt['ServerDlLimitBypass']; $attributes['UlType'] = (string) $elt['UlType']; $attributes['UlLimit'] = (string) $elt['UlLimit']; $attributes['ServerUlLimitBypass'] = (string) $elt['ServerUlLimitBypass']; $fzSpeedLimit->setAttributes($attributes); $download = array(); foreach ($elt->Download->Rule as $ruleElt) { $download[] = FzRule::fromXml($ruleElt); } $fzSpeedLimit->setDownload($download); $upload = array(); foreach ($elt->Upload->Rule as $ruleElt) { $upload[] = FzRule::fromXml($ruleElt); } $fzSpeedLimit->setUpload($upload); return $fzSpeedLimit; }
public function writeSpeedLimits(SimpleXMLElement $g, FzSpeedLimits $speedLimits) { $slAttr = $speedLimits->getAttributes(); $sl = $g->addChild('SpeedLimits'); $sl->addAttribute('DlType', $slAttr['DlType']); $sl->addAttribute('DlLimit', $slAttr['DlLimit']); $sl->addAttribute('ServerDlLimitBypass', $slAttr['ServerDlLimitBypass']); $sl->addAttribute('UlType', $slAttr['UlType']); $sl->addAttribute('UlLimit', $slAttr['UlLimit']); $sl->addAttribute('ServerUlLimitBypass', $slAttr['ServerUlLimitBypass']); $dl = $sl->addChild('Download'); foreach ($speedLimits->getDownload() as $rule) { $this->writeRule($dl, $rule); } $dl = $sl->addChild('Upload'); foreach ($speedLimits->getUpload() as $rule) { $this->writeRule($dl, $rule); } }