diff --git a/bridges/LegifranceJOBridge.php b/bridges/LegifranceJOBridge.php new file mode 100644 index 0000000..b35c7e6 --- /dev/null +++ b/bridges/LegifranceJOBridge.php @@ -0,0 +1,70 @@ +author; + $item['timestamp']=$this->timestamp; + $item['uri']=$this->uri.'#'.count($this->items); + $item['title']=$section->plaintext; + + if(!is_null($origin)){ + $item['title']='[ '.$item['title'].' / '.$subsection->plaintext.' ] '.$origin->plaintext; + $data=$origin; + }elseif(!is_null($subsection)){ + $item['title']='[ '.$item['title'].' ] '.$subsection->plaintext; + $data=$subsection; + }else{ + $data=$section; + } + + $item['content']=''; + foreach($data->nextSibling()->find('a') as $content){ + $text=$content->plaintext; + $href=$content->nextSibling()->getAttribute('resource'); + $item['content'].='

'.$text.'

'; + } + return $item; + } + + public function collectData(){ + $html=$this->getSimpleHTMLDOM(self::URI) + or $this->returnServer('Unable to download '.self::URI); + + $this->author=trim($html->find('h2.title',0)->plaintext); + $uri=$html->find('h2.titleELI',0)->plaintext; + $this->uri=trim(substr($uri,strpos($uri,'https'))); + $this->timestamp=strtotime(substr($this->uri,strpos($this->uri,'eli/jo/')+strlen('eli/jo/'))); + + foreach($html->find('h3') as $section){ + $subsections=$section->nextSibling()->find('h4'); + foreach($subsections as $subsection){ + $origins=$subsection->nextSibling()->find('h5'); + foreach($origins as $origin){ + $this->items[]=$this->extractItem($section,$subsection,$origin); + } + if(!empty($origins)){ + continue; + } + $this->items[]=$this->extractItem($section,$subsection); + } + if(!empty($subsections)){ + continue; + } + $this->items[]=$this->extractItem($section); + } + } +} + +