Using $_SESSION for storing and retrieving Flickr URLs
Significantly decreases API calls
This commit is contained in:
+10
-5
@@ -1,4 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
ini_set('session.gc_maxlifetime', 7200);
|
||||||
|
session_set_cookie_params(7200);
|
||||||
|
session_start();
|
||||||
$myDate = date('Y-m-d');
|
$myDate = date('Y-m-d');
|
||||||
$chart = "Combo-$myDate.png";
|
$chart = "Combo-$myDate.png";
|
||||||
|
|
||||||
@@ -22,7 +25,9 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse
|
|||||||
header("refresh: 0;");
|
header("refresh: 0;");
|
||||||
}
|
}
|
||||||
$result4 = $statement4->execute();
|
$result4 = $statement4->execute();
|
||||||
$images = [];
|
if(!isset($_SESSION['images'])) {
|
||||||
|
$_SESSION['images'] = [];
|
||||||
|
}
|
||||||
$iterations = 0;
|
$iterations = 0;
|
||||||
// hopefully one of the 5 most recent detections has an image that is valid, we'll use that one as the most recent detection until the newer ones get their images created
|
// hopefully one of the 5 most recent detections has an image that is valid, we'll use that one as the most recent detection until the newer ones get their images created
|
||||||
while($mostrecent = $result4->fetchArray(SQLITE3_ASSOC)) {
|
while($mostrecent = $result4->fetchArray(SQLITE3_ASSOC)) {
|
||||||
@@ -49,16 +54,16 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse
|
|||||||
|
|
||||||
if (!empty($config["FLICKR_API_KEY"])) {
|
if (!empty($config["FLICKR_API_KEY"])) {
|
||||||
// if we already searched flickr for this species before, use the previous image rather than doing an unneccesary api call
|
// if we already searched flickr for this species before, use the previous image rather than doing an unneccesary api call
|
||||||
$key = array_search($comname, array_column($images, 0));
|
$key = array_search($comname, array_column($_SESSION['images'], 0));
|
||||||
if($key !== false) {
|
if($key !== false) {
|
||||||
$image = $images[$key];
|
$image = $_SESSION['images'][$key];
|
||||||
} else {
|
} else {
|
||||||
$flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=".$config["FLICKR_API_KEY"]."&text=".str_replace("_", "%20", $comname)."&license=2%2C3%2C4%2C5%2C6%2C9&sort=relevance&per_page=5&orientation=square,portrait&format=json&media=photos&nojsoncallback=1"), true)["photos"]["photo"][0];
|
$flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=".$config["FLICKR_API_KEY"]."&text=".str_replace("_", "%20", $comname)."&license=2%2C3%2C4%2C5%2C6%2C9&sort=relevance&per_page=5&orientation=square,portrait&format=json&media=photos&nojsoncallback=1"), true)["photos"]["photo"][0];
|
||||||
$modaltext = "https://flickr.com/photos/".$flickrjson["owner"]."/".$flickrjson["id"];
|
$modaltext = "https://flickr.com/photos/".$flickrjson["owner"]."/".$flickrjson["id"];
|
||||||
$authorlink = "https://flickr.com/people/".$flickrjson["owner"];
|
$authorlink = "https://flickr.com/people/".$flickrjson["owner"];
|
||||||
$imageurl = 'https://farm' .$flickrjson["farm"]. '.static.flickr.com/' .$flickrjson["server"]. '/' .$flickrjson["id"]. '_' .$flickrjson["secret"]. '.jpg';
|
$imageurl = 'https://farm' .$flickrjson["farm"]. '.static.flickr.com/' .$flickrjson["server"]. '/' .$flickrjson["id"]. '_' .$flickrjson["secret"]. '.jpg';
|
||||||
array_push($images, array($comname,$imageurl,$flickrjson["title"], $modaltext, $authorlink));
|
array_push($_SESSION['images'], array($comname,$imageurl,$flickrjson["title"], $modaltext, $authorlink));
|
||||||
$image = $images[count($images)-1];
|
$image = $_SESSION['images'][count($_SESSION['images'])-1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
ini_set('session.gc_maxlifetime', 7200);
|
||||||
|
session_set_cookie_params(7200);
|
||||||
|
session_start();
|
||||||
ini_set('display_errors', 1);
|
ini_set('display_errors', 1);
|
||||||
ini_set('display_startup_errors', 1);
|
ini_set('display_startup_errors', 1);
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
@@ -77,7 +80,10 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" ) {
|
|||||||
|
|
||||||
?> <table>
|
?> <table>
|
||||||
<?php
|
<?php
|
||||||
$images = [];
|
|
||||||
|
if(!isset($_SESSION['images'])) {
|
||||||
|
$_SESSION['images'] = [];
|
||||||
|
}
|
||||||
$iterations = 0;
|
$iterations = 0;
|
||||||
|
|
||||||
if (file_exists('./scripts/thisrun.txt')) {
|
if (file_exists('./scripts/thisrun.txt')) {
|
||||||
@@ -97,16 +103,16 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" ) {
|
|||||||
|
|
||||||
if (!empty($config["FLICKR_API_KEY"])) {
|
if (!empty($config["FLICKR_API_KEY"])) {
|
||||||
// if we already searched flickr for this species before, use the previous image rather than doing an unneccesary api call
|
// if we already searched flickr for this species before, use the previous image rather than doing an unneccesary api call
|
||||||
$key = array_search($comname, array_column($images, 0));
|
$key = array_search($comname, array_column($_SESSION['images'], 0));
|
||||||
if($key !== false) {
|
if($key !== false) {
|
||||||
$image = $images[$key];
|
$image = $_SESSION['images'][$key];
|
||||||
} else {
|
} else {
|
||||||
$flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=".$config["FLICKR_API_KEY"]."&text=".str_replace("_", "%20", $comname)."&license=2%2C3%2C4%2C5%2C6%2C9&sort=relevance&per_page=5&orientation=square,portrait&media=photos&format=json&nojsoncallback=1"), true)["photos"]["photo"][0];
|
$flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=".$config["FLICKR_API_KEY"]."&text=".str_replace("_", "%20", $comname)."&license=2%2C3%2C4%2C5%2C6%2C9&sort=relevance&per_page=5&orientation=square,portrait&media=photos&format=json&nojsoncallback=1"), true)["photos"]["photo"][0];
|
||||||
$modaltext = "https://flickr.com/photos/".$flickrjson["owner"]."/".$flickrjson["id"];
|
$modaltext = "https://flickr.com/photos/".$flickrjson["owner"]."/".$flickrjson["id"];
|
||||||
$authorlink = "https://flickr.com/people/".$flickrjson["owner"];
|
$authorlink = "https://flickr.com/people/".$flickrjson["owner"];
|
||||||
$imageurl = 'http://farm' .$flickrjson["farm"]. '.static.flickr.com/' .$flickrjson["server"]. '/' .$flickrjson["id"]. '_' .$flickrjson["secret"]. '.jpg';
|
$imageurl = 'http://farm' .$flickrjson["farm"]. '.static.flickr.com/' .$flickrjson["server"]. '/' .$flickrjson["id"]. '_' .$flickrjson["secret"]. '.jpg';
|
||||||
array_push($images, array($comname,$imageurl,$flickrjson["title"], $modaltext, $authorlink));
|
array_push($_SESSION['images'], array($comname,$imageurl,$flickrjson["title"], $modaltext, $authorlink));
|
||||||
$image = $images[count($images)-1];
|
$image = $_SESSION['images'][count($_SESSION['images'])-1];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user