/**
  * 
  * @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;
 }
示例#3
0
 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);
     }
 }