public static function getBestImage() { session_start(); // starting the session session_write_close(); // close the session file and release the lock $result = ['error' => ['msg' => 'Something is wrong']]; if (!empty($_GET['service']) && !empty($_GET['id'])) { $cache = new Cache(); $result = $cache->get($_GET); if (!$result) { $class = 'getBest' . $_GET['service']; $result = self::$class($_GET); $cache->set($_GET, $result); } } echo json_encode($result); wp_die(); }
function ajaxGetImage() { $serviceClass = 'Alpipego\\AdaptiveImages\\Services\\' . ucfirst($_GET['image']['service']); $service = new $serviceClass($_GET['image']['id']); $cache = new Cache(); $request = ['id' => $_GET['image']['id'], 'service' => $_GET['image']['service'], 'width' => 'admin']; $result = $cache->get($_GET); if (!$result) { try { $result = $service->getImageDetails(); $result['image'] = $service->getSize('small'); $cache->set($_GET, $result); } catch (\Exception $e) { $msg = $e->getMessage(); if (empty($msg)) { $msg = 'Some undefined error occurred'; } $result = ['error' => ['msg' => $msg]]; } } echo json_encode($result); wp_die(); }