![]() |
- Developper API
2.0.5
|
00001 <?php 00011 require_once("DataStructure.php"); 00012 00013 class Media extends DataStructure 00014 { 00015 00016 private static $xmlNodesName = array( 00017 "name", 00018 "url", 00019 "type", 00020 "zone", 00021 "preview" 00022 ); 00023 00033 public function __construct($name,$type,$url,$zone,$preview) 00034 { 00035 parent::__construct($name,$type,$url,$zone,$preview); 00036 } 00037 00043 public final static function getMediaFromSXMLElement($node) 00044 { 00045 if(!Media::isSXMLNodeProperty($node)) 00046 { 00047 error("Media creation failed for element: ".$node->getName()); 00048 return false; 00049 } 00050 00051 $name = $node->xpath("name"); 00052 if(count($name) > 0) 00053 $name = (string) $name[0]; 00054 else 00055 $name = ""; 00056 00057 $url = $node->xpath("url"); 00058 if(count($url) > 0) 00059 $url = (string) $url[0]; 00060 else 00061 $url = ""; 00062 00063 $type = $node->xpath("type"); 00064 if(count($type) > 0) 00065 $type = (string) $type[0]; 00066 else 00067 $type = ""; 00068 00069 $zone = $node->xpath("zone"); 00070 if(count($zone) > 0) 00071 $zone = (string) $zone[0]; 00072 else 00073 $zone = ""; 00074 00075 $preview = $node->xpath("preview"); 00076 if(count($preview) > 0) 00077 $preview = (string) $preview[0]; 00078 else 00079 $preview = ""; 00080 00081 $media = new Media($name, $type, $url, $zone, $preview); 00082 return $media; 00083 } 00084 00090 public final static function isSXMLNodeProperty($node) 00091 { 00092 if(!hasChildren($node)) 00093 return false; 00094 else 00095 { 00096 foreach($node->children() as $child) 00097 { 00098 $name = $child->getName(); 00099 00100 if( ! in_array($name,Media::$xmlNodesName) ) 00101 return false; 00102 } 00103 00104 return true; 00105 } 00106 } 00107 } 00108 ?>