You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					83 lines
				
				2.0 KiB
			
		
		
			
		
	
	
					83 lines
				
				2.0 KiB
			|   
											7 months ago
										 | <?php | ||
|  | 
 | ||
|  | /** | ||
|  |  * Class LoggingConfig | ||
|  |  * @package OSS\Model | ||
|  |  * @link http://help.aliyun.com/document_detail/oss/api-reference/bucket/PutBucketLogging.html | ||
|  |  */ | ||
|  | class LoggingConfig implements XmlConfig | ||
|  | { | ||
|  |     /** | ||
|  |      * LoggingConfig constructor. | ||
|  |      * @param null $targetBucket | ||
|  |      * @param null $targetPrefix | ||
|  |      */ | ||
|  |     public function __construct($targetBucket = null, $targetPrefix = null) | ||
|  |     { | ||
|  |         $this->targetBucket = $targetBucket; | ||
|  |         $this->targetPrefix = $targetPrefix; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @param $strXml | ||
|  |      * @return null | ||
|  |      */ | ||
|  |     public function parseFromXml($strXml) | ||
|  |     { | ||
|  |         $xml = simplexml_load_string($strXml); | ||
|  |         if (!isset($xml->LoggingEnabled)) return; | ||
|  |         foreach ($xml->LoggingEnabled as $status) { | ||
|  |             foreach ($status as $key => $value) { | ||
|  |                 if ($key === 'TargetBucket') { | ||
|  |                     $this->targetBucket = strval($value); | ||
|  |                 } elseif ($key === 'TargetPrefix') { | ||
|  |                     $this->targetPrefix = strval($value); | ||
|  |                 } | ||
|  |             } | ||
|  |             break; | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      *  Serialize to xml string | ||
|  |      * | ||
|  |      */ | ||
|  |     public function serializeToXml() | ||
|  |     { | ||
|  |         $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><BucketLoggingStatus></BucketLoggingStatus>'); | ||
|  |         if (isset($this->targetBucket) && isset($this->targetPrefix)) { | ||
|  |             $loggingEnabled = $xml->addChild('LoggingEnabled'); | ||
|  |             $loggingEnabled->addChild('TargetBucket', $this->targetBucket); | ||
|  |             $loggingEnabled->addChild('TargetPrefix', $this->targetPrefix); | ||
|  |         } | ||
|  |         return $xml->asXML(); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @return string | ||
|  |      */ | ||
|  |     public function __toString() | ||
|  |     { | ||
|  |         return $this->serializeToXml(); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @return string | ||
|  |      */ | ||
|  |     public function getTargetBucket() | ||
|  |     { | ||
|  |         return $this->targetBucket; | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @return string | ||
|  |      */ | ||
|  |     public function getTargetPrefix() | ||
|  |     { | ||
|  |         return $this->targetPrefix; | ||
|  |     } | ||
|  | 
 | ||
|  |     private $targetBucket = ""; | ||
|  |     private $targetPrefix = ""; | ||
|  | 
 | ||
|  | } |