diff --git a/bridges/ModelKarteiBridge.php b/bridges/ModelKarteiBridge.php
new file mode 100644
index 00000000..9bd63345
--- /dev/null
+++ b/bridges/ModelKarteiBridge.php
@@ -0,0 +1,104 @@
+ array(
+ 'name' => 'Model ID',
+ 'exampleValue' => '123456'
+ )
+ ));
+
+ const LIMIT_ITEMS = 10;
+
+ private $feedName = '';
+
+
+ public function collectData() {
+ $model_id = preg_replace('/[^0-9]/', '', $this->getInput('model_id'));
+ if (empty($model_id))
+ returnServerError('Invalid model ID');
+
+ $html = getSimpleHTMLDOM(self::URI . 'sedcards/model/' . $model_id . '/')
+ or returnServerError('Model not found');
+
+ $objTitle = $html->find('.sTitle', 0);
+ if ($objTitle)
+ $this->feedName = $objTitle->plaintext;
+
+ $itemlist = $html->find('#photoList .photoPreview');
+ if (!$itemlist)
+ returnServerError('No gallery');
+
+ foreach($itemlist as $idx => $element) {
+ if ($idx >= self::LIMIT_ITEMS)
+ break;
+
+ $item = array();
+
+ $title = $element->title;
+ $date = $element->{'data-date'};
+ $author = $this->feedName;
+ $text = '';
+
+ $objImage = $element->find('a.photoLink img', 0);
+ $objLink = $element->find('a.photoLink', 0);
+
+ if ($objLink) {
+ $page = getSimpleHTMLDOMCached($objLink->href);
+
+ if (empty($title)) {
+ $objTitle = $page->find('.p-title', 0);
+ if ($objTitle)
+ $title = $objTitle->plaintext;
+ }
+ if (empty($date)) {
+ $objDate = $page->find('.cameraDetails .date', 0);
+ if ($objDate)
+ $date = strtotime($objDate->parent()->plaintext);
+ }
+ if (empty($author)) {
+ $objAuthor = $page->find('.p-publisher a', 0);
+ if ($objAuthor)
+ $author = $objAuthor->plaintext;
+ }
+
+ $objFullImage = $page->find('img#gofullscreen', 0);
+ if ($objFullImage)
+ $objImage = $objFullImage;
+
+ $objText = $page->find('.p-desc', 0);
+ if ($objText)
+ $text = $objText->plaintext;
+ }
+
+ $item['title'] = $title;
+ $item['timestamp'] = $date;
+ $item['author'] = $author;
+
+ if ($objImage)
+ $item['content'] = '';
+ if ($objLink) {
+ $item['uri'] = $objLink->href;
+ if (!empty($item['content']))
+ $item['content'] = '' . $item['content'] . '';
+ } else {
+ $item['uri'] = 'urn:sha1:' . hash('sha1', $item['content']);
+ }
+ if (!empty($text))
+ $item['content'] = '
' . $text . '
' . $item['content']; + + $this->items[] = $item; + } + } + + + public function getName(){ + if(!empty($this->feedName)) { + return $this->feedName . ' - ' . self::NAME; + } + return parent::getName(); + } +}