turanct avatar turanct committed 578237d

Add vetpot cache clear option via GET parameter

Comments (0)

Files changed (2)

 
 			// Fix empty json object
 			$json = new stdClass();
+			$json->time = 0;
 			$json->links = array();
 		}
 		elseif ($json->time < time()-3600) {
 			// Get vetpot data
-			$links = (array) $vetpot->all()->since($json->time)->get();
+			$links = (array) $vetpot->all()->since(((int) $json->time + 60))->get();
 		}
 		else {
 			// Set cache to json
 
 		// Prepare object
 		$this->cache = new stdClass();
-		$this->cache->time = time();
-		$this->cache->links = array_merge($json->links, $links);
+
+		// Got results
+		if (!empty($links)) {
+			// Set cache time to time of last element
+			$this->cache->time = strtotime(end($links)->time);
+
+			// Merge links with already cached links
+			$this->cache->links = array_merge($json->links, $links);
+		}
+		// No results
+		else {
+			// Use old cache
+			$this->cache = $json;
+		}
 
 		// Write to file
 		@file_put_contents($this->file, json_encode($this->cache));
 // Get VetpotToons instance
 $vetpot = new VetpotCache();
 
+// Clear cache
+if (isset($_GET['clear'])) {
+	$vetpot->clear();
+}
+
 // Channel selected?
 if ($channel !== false && $channel != 'all') {
 	$vetpot->channel('#'.$channel);
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.