diff --git a/scripts/common.php b/scripts/common.php index 5798442..2e654c9 100644 --- a/scripts/common.php +++ b/scripts/common.php @@ -89,6 +89,20 @@ function debug_log($message) { error_log($message . "\n", 3, $_SERVER['DOCUMENT_ROOT'] . "/debug_log.log"); } +function get_com_en_name($sci_name) { + if (!isset($_labels_flickr)) { + $_labels_flickr = file(get_home() . "/BirdNET-Pi/model/labels_flickr.txt"); + } + $engname = null; + foreach ($_labels_flickr as $label) { + if (strpos($label, $sci_name) !== false) { + $engname = trim(explode("_", $label)[1]); + break; + } + } + return $engname; +} + define('DB', './scripts/flickr.db'); class Flickr { @@ -186,7 +200,7 @@ class Flickr { } private function get_from_flickr($sci_name) { - $engname = $this->get_com_en_name($sci_name); + $engname = get_com_en_name($sci_name); $flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=" . $this->flickr_api_key . "&text=" . str_replace(" ", "%20", $engname) . $this->comnameprefix . "&sort=relevance" . $this->args . "&per_page=5&media=photos&format=json&nojsoncallback=1"), true)["photos"]["photo"]; // could be null!! @@ -245,18 +259,26 @@ class Flickr { $this->set_uid_in_db($uid); } - private function get_com_en_name($sci_name) { - if ($this->labels_flickr === null) { - $this->labels_flickr = file(get_home() . "/BirdNET-Pi/model/labels_flickr.txt"); - } - $engname = null; - foreach ($this->labels_flickr as $label) { - if (strpos($label, $sci_name) !== false) { - $engname = trim(explode("_", $label)[1]); - break; - } - } - return $engname; - } - +} + +function get_info_url($sciname){ + $engname = get_com_en_name($sciname); + $config = get_config(); + if ($config['INFO_SITE'] === 'EBIRD'){ + require 'scripts/ebird.php'; + $ebird = $ebirds[$sciname]; + debug_log($ebird); + $language = $config['DATABASE_LANG']; + $url = "https://ebird.org/species/$ebird?siteLanguage=$language"; + $url_title = "eBirds"; + } else { + $engname_url = str_replace("'", '', str_replace(' ', '_', $engname)); + $url = "https://allaboutbirds.org/guide/$engname_url"; + $url_title = "All About Birds"; + } + $ret = array( + 'URL' => $url, + 'TITLE' => $url_title + ); + return $ret; } diff --git a/scripts/config.php b/scripts/config.php index 2c6490e..6425d52 100644 --- a/scripts/config.php +++ b/scripts/config.php @@ -62,6 +62,7 @@ if(isset($_GET["latitude"])){ $flickr_api_key = $_GET['flickr_api_key']; $flickr_filter_email = $_GET["flickr_filter_email"]; $language = $_GET["language"]; + $info_site = $_GET["info_site"]; $timezone = $_GET["timezone"]; $model = $_GET["model"]; $sf_thresh = $_GET["sf_thresh"]; @@ -154,6 +155,7 @@ if(isset($_GET["latitude"])){ $contents = preg_replace("/APPRISE_WEEKLY_REPORT=.*/", "APPRISE_WEEKLY_REPORT=$apprise_weekly_report", $contents); $contents = preg_replace("/FLICKR_API_KEY=.*/", "FLICKR_API_KEY=$flickr_api_key", $contents); $contents = preg_replace("/DATABASE_LANG=.*/", "DATABASE_LANG=$language", $contents); + $contents = preg_replace("/INFO_SITE=.*/", "INFO_SITE=$info_site", $contents); $contents = preg_replace("/FLICKR_FILTER_EMAIL=.*/", "FLICKR_FILTER_EMAIL=$flickr_filter_email", $contents); $contents = preg_replace("/APPRISE_MINIMUM_SECONDS_BETWEEN_NOTIFICATIONS_PER_SPECIES=.*/", "APPRISE_MINIMUM_SECONDS_BETWEEN_NOTIFICATIONS_PER_SPECIES=$minimum_time_limit", $contents); $contents = preg_replace("/MODEL=.*/", "MODEL=$model", $contents); @@ -604,6 +606,33 @@ https://discordapp.com/api/webhooks/{WebhookID}/{WebhookToken}
! Only modify this at initial setup !
+ Additional Info+ + +allaboutbirds.org default
+ |