- Developper API  2.0.5
developerApi_2.0.5/Media.php
Go to the documentation of this file.
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 ?>