From c309f41d2dc49535b34766107c2d31a128912cf2 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Fri, 2 Aug 2013 10:49:00 +0400 Subject: [PATCH] add af plugins for nagional geographic and sciam --- plugins/af_natgeo/init.php | 49 ++++++++++++++++++++++++++++++++++++++ plugins/af_sciam/init.php | 49 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 plugins/af_natgeo/init.php create mode 100644 plugins/af_sciam/init.php diff --git a/plugins/af_natgeo/init.php b/plugins/af_natgeo/init.php new file mode 100644 index 00000000..7dc7116d --- /dev/null +++ b/plugins/af_natgeo/init.php @@ -0,0 +1,49 @@ +host = $host; + + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + } + + function hook_article_filter($article) { + $owner_uid = $article["owner_uid"]; + + if (strpos($article["link"], "nationalgeographic.com") !== FALSE) { + if (strpos($article["plugin_data"], "natgeo,$owner_uid:") === FALSE) { + + $doc = new DOMDocument(); + @$doc->loadHTML(fetch_file_contents($article["link"])); + + $basenode = false; + + if ($doc) { + $basenode = $doc->getElementById("content_mainA"); + + if ($basenode) { + $article["content"] = $doc->saveXML($basenode); + $article["plugin_data"] = "natgeo,$owner_uid:" . $article["plugin_data"]; + } + } + } else if (isset($article["stored"]["content"])) { + $article["content"] = $article["stored"]["content"]; + } + } + + return $article; + } + + function api_version() { + return 2; + } +} +?> diff --git a/plugins/af_sciam/init.php b/plugins/af_sciam/init.php new file mode 100644 index 00000000..cb555943 --- /dev/null +++ b/plugins/af_sciam/init.php @@ -0,0 +1,49 @@ +host = $host; + + $host->add_hook($host::HOOK_ARTICLE_FILTER, $this); + } + + function hook_article_filter($article) { + $owner_uid = $article["owner_uid"]; + + if (strpos($article["link"], "scientificamerican.com") !== FALSE) { + if (strpos($article["plugin_data"], "sciam,$owner_uid:") === FALSE) { + + $doc = new DOMDocument(); + @$doc->loadHTML(fetch_file_contents($article["link"])); + + $basenode = false; + + if ($doc) { + $basenode = $doc->getElementById("article_content"); + + if ($basenode) { + $article["content"] = $doc->saveXML($basenode); + $article["plugin_data"] = "sciam,$owner_uid:" . $article["plugin_data"]; + } + } + } else if (isset($article["stored"]["content"])) { + $article["content"] = $article["stored"]["content"]; + } + } + + return $article; + } + + function api_version() { + return 2; + } +} +?> -- 2.39.5