<?php
/* Extract the arguments from HTTP GET request */
$flickr_query = $_GET["flickr_query"];
$flickr_method = $_GET["flickr_method"];
$flickr_key = $_GET["flickr_key"];
$taken_start_year= $_GET["taken_start_year"];
$taken_start_month= $_GET["taken_start_month"];
$taken_start_day= $_GET["taken_start_day"];
$taken_end_year= $_GET["taken_end_year"];
$taken_end_month= $_GET["taken_end_month"];
$taken_end_day= $_GET["taken_end_day"];
$uploaded_start_year= $_GET["uploaded_start_year"];
$uploaded_start_month= $_GET["uploaded_start_month"];
$uploaded_start_day= $_GET["uploaded_start_day"];
$uploaded_end_year= $_GET["uploaded_end_year"];
$uploaded_end_month= $_GET["uploaded_end_month"];
$uploaded_end_day= $_GET["uploaded_end_day"];
$page = $_GET["page"];
$options = array();
/* Set the page to return */
if(isset($page)) {
$options["page"] = $page;
}
/* If uploaded start year is set the options will be
included to control the inputs */
if(isset($uploaded_start_year)) {
$taken_start = mktime(0, 0, 0, $taken_start_month, $taken_start_day, $taken_start_year);
$taken_end = mktime(23, 59, 59, $taken_end_month, $taken_end_day, $taken_end_year);
$uploaded_start = mktime(0, 0, 0, $uploaded_start_month, $uploaded_start_day, $uploaded_start_year);
$uploaded_end = mktime(23, 59, 59, $uploaded_end_month, $uploaded_end_day, $uploaded_end_year);
$options["min_taken_date"] = $taken_start;
$options["max_taken_date"] = $taken_end;
$options["min_upload_date"] = $uploaded_start;
$options["max_upload_date"] = $uploaded_end;
}
/* Set the default search to tag search */
if(!isset($flickr_method) || empty($flickr_method)) {
$flickr_method = "tags";
}
/* Call service only if the query is set, ignore otherwise */
if(isset($flickr_query) && !empty($flickr_query) && isset($flickr_key)) {
/* Include the required class */
require_once("wso2/flickr/FlickrClient.php");
$flickr_client = new FlickrClient($flickr_key);
if($flickr_method === "text") {
$res = $flickr_client->photosTextSearch($flickr_query, $options);
}
else {
$res = $flickr_client->photosTagSearch($flickr_query, $options);
}
/* Check for the soap - fault */
if($res["soap-fault"]) {
$soap_reason = $res["soap-fault-reason"];
printf("SOAP fault : ${soap_reason}\n");
}
/* Check for the error */
elseif($res["error"]) {
$error_message = $res["error-msg"];
printf("Error Message: ${error_message}\n");
}
/* Render the response if no errors occured */
elseif ($res["photos"] != NULL) {
/* Calculating and Rendering the Number bar to access page by
number */
$page = $res["page"];
$total = $res["total"];
$pages = $res["pages"];
$next_exist = true;
$prev_exist = true;
$end_list = 10;
if (($pages - $page) <= $end_list) {
$end_list = $pages - $page;
$next_exist = false;
}
if ($page == 1) {
$prev_exist = false;
}
$number_bar = "";
$number_bar .= "<div style='padding:20px'>";
if ($prev_exist) {
$prev_page = $page -1;
$number_bar .= "<a href='javascript:flickrRequest(${prev_page})'><<</a> ";
}
for ($i = 0; $i < $end_list; $i ++) {
$page_no = $page + $i;
$number_bar .= "<a href='javascript:flickrRequest(${page_no})'>${page_no}</a> ";
}
if ($next_exist) {
$next_page = $page +11;
$number_bar .= "<a href='javascript:flickrRequest(${next_page})'>>></a> ";
}
$number_bar .= "</div>";
echo $number_bar;
/* Extract information of each photos */
foreach($res["photos"] as $photo) {
$title = $photo["title"];
$thumbnail_url = $photo["thumbnail_size_url"];
$original_url = $photo["original_size_jpg"];
$big_url = $photo["big_size_url"];
echo "<div>";
echo "<a href='${big_url}'><img style=\"cursor:pointer\"".
"src='${thumbnail_url}'></img></a><br/>";
echo "</div>";
echo "<div style='padding-bottom:20px'>";
echo "${title} ";
echo "<a href='${thumbnail_url}'>Thumbnail</a> ";
echo "<a href='${original_url}'>Original</a>";
echo "</div>";
}
echo $number_bar;
}
else {
echo "Empty <br/>";
}
}
?>