Add enclosures support, see example in DemoBridge.

This commit is contained in:
Teromene 2016-01-19 12:34:38 +00:00
parent e7595391cd
commit 4deefdfd7d
3 changed files with 29 additions and 5 deletions

View file

@ -53,6 +53,16 @@ class DemoBridge extends BridgeAbstract{
public function collectData(array $param){
$item = new \Item();
$item->name = "TestElement";
$item->title = "Test";
$item->content = "Awesome content !";
$item->id = "Lalala";
$item->uri = "http://test.test/test";
$item->enclosures[] = "http://www.ardmediathek.de/ard/servlet/image/00/32/68/18/38/1135274624/16x9/960";
$this->items[] = $item;
}
public function getName() {
@ -68,6 +78,6 @@ class DemoBridge extends BridgeAbstract{
}
public function getCacheDuration(){
return 3600; // 1 hour
return 00; // 1 hour
}
}

View file

@ -36,6 +36,15 @@ class AtomFormat extends FormatAbstract{
// We prevent content from closing the CDATA too early.
$entryContent = is_null($data->content) ? '' : '<![CDATA[' . $this->sanitizeHtml(str_replace(']]>','',$data->content)) . ']]>';
// We generate a list of the enclosure links
$entryEnclosure = "";
foreach($data->enclosures as $enclosure) {
$entryEnclosures .= "<link rel=\"enclosure\" href=\"".$enclosure."\"></link>";
}
$entries .= <<<EOD
<entry>
@ -48,6 +57,7 @@ class AtomFormat extends FormatAbstract{
<id>{$entryUri}</id>
<updated>{$entryTimestamp}</updated>
<content type="html">{$entryContent}</content>
{$entryEnclosures}
</entry>
EOD;

View file

@ -2,15 +2,19 @@
interface ItemInterface{}
/**
* Object to store datas collect informations
* FIXME : not sur this logic is the good, I think recast all is necessary
*/
* Object to store datas collect informations
* FIXME : not sur this logic is the good, I think recast all is necessary
*/
class Item implements ItemInterface{
// FIXME : use the arrayInterface instead
public $enclosures = array();
public function __set($name, $value){
$this->$name = $value;
}
public function __get($name){
return isset($this->$name) ? $this->$name : null;
return (isset($this->$name) ? $this->$name : null);
}
}