Esempio n. 1
0
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);
}