function set_device($user_agent) { global $request_settings; $key = 'di_' . $user_agent; $cache_result = get_cache($key); if ($cache_result) { if (isset($cache_result['device_os'])) { $request_settings['device_os'] = $cache_result['device_os']; } $request_settings['main_device'] = $cache_result['main_device']; return true; } error_reporting(0); require_once 'modules/devicedetection/Mobile_Detect.php'; $detect = new Mobile_Detect($user_agent); if ($detect->isIphone()) { $temp['device_os'] = get_device_osversion(1, $user_agent); $temp['main_device'] = 'IPHONE'; } else { if ($detect->isIpad()) { $temp['device_os'] = get_device_osversion(1, $user_agent); $temp['main_device'] = 'IPAD'; } else { if ($detect->isIpod()) { $temp['device_os'] = get_device_osversion(1, $user_agent); $temp['main_device'] = 'IPOD'; } else { if ($detect->isAndroidOS()) { $temp['device_os'] = get_device_osversion(2, $user_agent); $temp['main_device'] = 'ANDROID'; } else { if ($detect->ismobile()) { $temp['main_device'] = 'OTHER'; } else { $temp['main_device'] = 'NOMOBILE'; if (!MAD_SERVE_NOMOBILE) { print_error(1, 'This ad-server does not serve ads to non-mobile devices.', $request_settings['sdk'], 1); return false; } } } } } } if (isset($temp['device_os']) && !empty($temp['device_os'])) { $request_settings['device_os'] = $temp['device_os']; } $request_settings['main_device'] = $temp['main_device']; set_cache($key, $temp, 1500); }