/** * Mobile Detect Library * Motto: "Every business should have a mobile detection script to detect mobile readers" * * Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). * It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment. * * Homepage: http://mobiledetect.net * GitHub: https://github.com/serbanghita/Mobile-Detect * README: https://github.com/serbanghita/Mobile-Detect/blob/master/README.md * CONTRIBUTING: https://github.com/serbanghita/Mobile-Detect/blob/master/docs/CONTRIBUTING.md * KNOWN LIMITATIONS: https://github.com/serbanghita/Mobile-Detect/blob/master/docs/KNOWN_LIMITATIONS.md * EXAMPLES: https://github.com/serbanghita/Mobile-Detect/wiki/Code-examples * * @license https://github.com/serbanghita/Mobile-Detect/blob/master/LICENSE.txt MIT License * @author Serban Ghita * @author Nick Ilyin * Original author: Victor Stanciu * * @version 2.8.33 */ if ( ! class_exists( 'Mobile_Detect' ) ) { class Mobile_Detect { /** * Mobile detection type. * * @deprecated since version 2.6.9 */ const DETECTION_TYPE_MOBILE = 'mobile'; /** * Extended detection type. * * @deprecated since version 2.6.9 */ const DETECTION_TYPE_EXTENDED = 'extended'; /** * A frequently used regular expression to extract version #s. * * @deprecated since version 2.6.9 */ const VER = '([\w._\+]+)'; /** * Top-level device. */ const MOBILE_GRADE_A = 'A'; /** * Mid-level device. */ const MOBILE_GRADE_B = 'B'; /** * Low-level device. */ const MOBILE_GRADE_C = 'C'; /** * Stores the version number of the current release. */ const VERSION = '2.8.33'; /** * A type for the version() method indicating a string return value. */ const VERSION_TYPE_STRING = 'text'; /** * A type for the version() method indicating a float return value. */ const VERSION_TYPE_FLOAT = 'float'; /** * A cache for resolved matches * @var array */ protected $cache = array(); /** * The User-Agent HTTP header is stored in here. * @var string */ protected $userAgent = null; /** * HTTP headers in the PHP-flavor. So HTTP_USER_AGENT and SERVER_SOFTWARE. * @var array */ protected $httpHeaders = array(); /** * CloudFront headers. E.g. CloudFront-Is-Desktop-Viewer, CloudFront-Is-Mobile-Viewer & CloudFront-Is-Tablet-Viewer. * @var array */ protected $cloudfrontHeaders = array(); /** * The matching Regex. * This is good for debug. * @var string */ protected $matchingRegex = null; /** * The matches extracted from the regex expression. * This is good for debug. * * @var string */ protected $matchesArray = null; /** * The detection type, using self::DETECTION_TYPE_MOBILE or self::DETECTION_TYPE_EXTENDED. * * @deprecated since version 2.6.9 * * @var string */ protected $detectionType = self::DETECTION_TYPE_MOBILE; /** * HTTP headers that trigger the 'isMobile' detection * to be true. * * @var array */ protected static $mobileHeaders = array( 'HTTP_ACCEPT' => array( 'matches' => array( // Opera Mini; @reference: http://dev.opera.com/articles/view/opera-binary-markup-language/ 'application/x-obml2d', // BlackBerry devices. 'application/vnd.rim.html', 'text/vnd.wap.wml', 'application/vnd.wap.xhtml+xml' ) ), 'HTTP_X_WAP_PROFILE' => null, 'HTTP_X_WAP_CLIENTID' => null, 'HTTP_WAP_CONNECTION' => null, 'HTTP_PROFILE' => null, // Reported by Opera on Nokia devices (eg. C3). 'HTTP_X_OPERAMINI_PHONE_UA' => null, 'HTTP_X_NOKIA_GATEWAY_ID' => null, 'HTTP_X_ORANGE_ID' => null, 'HTTP_X_VODAFONE_3GPDPCONTEXT' => null, 'HTTP_X_HUAWEI_USERID' => null, // Reported by Windows Smartphones. 'HTTP_UA_OS' => null, // Reported by Verizon, Vodafone proxy system. 'HTTP_X_MOBILE_GATEWAY' => null, // Seen this on HTC Sensation. SensationXE_Beats_Z715e. 'HTTP_X_ATT_DEVICEID' => null, // Seen this on a HTC. 'HTTP_UA_CPU' => array( 'matches' => array( 'ARM' ) ), ); /** * List of mobile devices (phones). * * @var array */ protected static $phoneDevices = array( 'iPhone' => '\biPhone\b|\biPod\b', // |\biTunes 'BlackBerry' => 'BlackBerry|\bBB10\b|rim[0-9]+', 'HTC' => 'HTC|HTC.*(Sensation|Evo|Vision|Explorer|6800|8100|8900|A7272|S510e|C110e|Legend|Desire|T8282)|APX515CKT|Qtek9090|APA9292KT|HD_mini|Sensation.*Z710e|PG86100|Z715e|Desire.*(A8181|HD)|ADR6200|ADR6400L|ADR6425|001HT|Inspire 4G|Android.*\bEVO\b|T-Mobile G1|Z520m|Android [0-9.]+; Pixel', 'Nexus' => 'Nexus One|Nexus S|Galaxy.*Nexus|Android.*Nexus.*Mobile|Nexus 4|Nexus 5|Nexus 6', // @todo: Is 'Dell Streak' a tablet or a phone? ;) 'Dell' => 'Dell[;]? (Streak|Aero|Venue|Venue Pro|Flash|Smoke|Mini 3iX)|XCD28|XCD35|\b001DL\b|\b101DL\b|\bGS01\b', 'Motorola' => 'Motorola|DROIDX|DROID BIONIC|\bDroid\b.*Build|Android.*Xoom|HRI39|MOT-|A1260|A1680|A555|A853|A855|A953|A955|A956|Motorola.*ELECTRIFY|Motorola.*i1|i867|i940|MB200|MB300|MB501|MB502|MB508|MB511|MB520|MB525|MB526|MB611|MB612|MB632|MB810|MB855|MB860|MB861|MB865|MB870|ME501|ME502|ME511|ME525|ME600|ME632|ME722|ME811|ME860|ME863|ME865|MT620|MT710|MT716|MT720|MT810|MT870|MT917|Motorola.*TITANIUM|WX435|WX445|XT300|XT301|XT311|XT316|XT317|XT319|XT320|XT390|XT502|XT530|XT531|XT532|XT535|XT603|XT610|XT611|XT615|XT681|XT701|XT702|XT711|XT720|XT800|XT806|XT860|XT862|XT875|XT882|XT883|XT894|XT901|XT907|XT909|XT910|XT912|XT928|XT926|XT915|XT919|XT925|XT1021|\bMoto E\b|XT1068|XT1092|XT1052', 'Samsung' => '\bSamsung\b|SM-G950F|SM-G955F|SM-G9250|GT-19300|SGH-I337|BGT-S5230|GT-B2100|GT-B2700|GT-B2710|GT-B3210|GT-B3310|GT-B3410|GT-B3730|GT-B3740|GT-B5510|GT-B5512|GT-B5722|GT-B6520|GT-B7300|GT-B7320|GT-B7330|GT-B7350|GT-B7510|GT-B7722|GT-B7800|GT-C3010|GT-C3011|GT-C3060|GT-C3200|GT-C3212|GT-C3212I|GT-C3262|GT-C3222|GT-C3300|GT-C3300K|GT-C3303|GT-C3303K|GT-C3310|GT-C3322|GT-C3330|GT-C3350|GT-C3500|GT-C3510|GT-C3530|GT-C3630|GT-C3780|GT-C5010|GT-C5212|GT-C6620|GT-C6625|GT-C6712|GT-E1050|GT-E1070|GT-E1075|GT-E1080|GT-E1081|GT-E1085|GT-E1087|GT-E1100|GT-E1107|GT-E1110|GT-E1120|GT-E1125|GT-E1130|GT-E1160|GT-E1170|GT-E1175|GT-E1180|GT-E1182|GT-E1200|GT-E1210|GT-E1225|GT-E1230|GT-E1390|GT-E2100|GT-E2120|GT-E2121|GT-E2152|GT-E2220|GT-E2222|GT-E2230|GT-E2232|GT-E2250|GT-E2370|GT-E2550|GT-E2652|GT-E3210|GT-E3213|GT-I5500|GT-I5503|GT-I5700|GT-I5800|GT-I5801|GT-I6410|GT-I6420|GT-I7110|GT-I7410|GT-I7500|GT-I8000|GT-I8150|GT-I8160|GT-I8190|GT-I8320|GT-I8330|GT-I8350|GT-I8530|GT-I8700|GT-I8703|GT-I8910|GT-I9000|GT-I9001|GT-I9003|GT-I9010|GT-I9020|GT-I9023|GT-I9070|GT-I9082|GT-I9100|GT-I9103|GT-I9220|GT-I9250|GT-I9300|GT-I9305|GT-I9500|GT-I9505|GT-M3510|GT-M5650|GT-M7500|GT-M7600|GT-M7603|GT-M8800|GT-M8910|GT-N7000|GT-S3110|GT-S3310|GT-S3350|GT-S3353|GT-S3370|GT-S3650|GT-S3653|GT-S3770|GT-S3850|GT-S5210|GT-S5220|GT-S5229|GT-S5230|GT-S5233|GT-S5250|GT-S5253|GT-S5260|GT-S5263|GT-S5270|GT-S5300|GT-S5330|GT-S5350|GT-S5360|GT-S5363|GT-S5369|GT-S5380|GT-S5380D|GT-S5560|GT-S5570|GT-S5600|GT-S5603|GT-S5610|GT-S5620|GT-S5660|GT-S5670|GT-S5690|GT-S5750|GT-S5780|GT-S5830|GT-S5839|GT-S6102|GT-S6500|GT-S7070|GT-S7200|GT-S7220|GT-S7230|GT-S7233|GT-S7250|GT-S7500|GT-S7530|GT-S7550|GT-S7562|GT-S7710|GT-S8000|GT-S8003|GT-S8500|GT-S8530|GT-S8600|SCH-A310|SCH-A530|SCH-A570|SCH-A610|SCH-A630|SCH-A650|SCH-A790|SCH-A795|SCH-A850|SCH-A870|SCH-A890|SCH-A930|SCH-A950|SCH-A970|SCH-A990|SCH-I100|SCH-I110|SCH-I400|SCH-I405|SCH-I500|SCH-I510|SCH-I515|SCH-I600|SCH-I730|SCH-I760|SCH-I770|SCH-I830|SCH-I910|SCH-I920|SCH-I959|SCH-LC11|SCH-N150|SCH-N300|SCH-R100|SCH-R300|SCH-R351|SCH-R400|SCH-R410|SCH-T300|SCH-U310|SCH-U320|SCH-U350|SCH-U360|SCH-U365|SCH-U370|SCH-U380|SCH-U410|SCH-U430|SCH-U450|SCH-U460|SCH-U470|SCH-U490|SCH-U540|SCH-U550|SCH-U620|SCH-U640|SCH-U650|SCH-U660|SCH-U700|SCH-U740|SCH-U750|SCH-U810|SCH-U820|SCH-U900|SCH-U940|SCH-U960|SCS-26UC|SGH-A107|SGH-A117|SGH-A127|SGH-A137|SGH-A157|SGH-A167|SGH-A177|SGH-A187|SGH-A197|SGH-A227|SGH-A237|SGH-A257|SGH-A437|SGH-A517|SGH-A597|SGH-A637|SGH-A657|SGH-A667|SGH-A687|SGH-A697|SGH-A707|SGH-A717|SGH-A727|SGH-A737|SGH-A747|SGH-A767|SGH-A777|SGH-A797|SGH-A817|SGH-A827|SGH-A837|SGH-A847|SGH-A867|SGH-A877|SGH-A887|SGH-A897|SGH-A927|SGH-B100|SGH-B130|SGH-B200|SGH-B220|SGH-C100|SGH-C110|SGH-C120|SGH-C130|SGH-C140|SGH-C160|SGH-C170|SGH-C180|SGH-C200|SGH-C207|SGH-C210|SGH-C225|SGH-C230|SGH-C417|SGH-C450|SGH-D307|SGH-D347|SGH-D357|SGH-D407|SGH-D415|SGH-D780|SGH-D807|SGH-D980|SGH-E105|SGH-E200|SGH-E315|SGH-E316|SGH-E317|SGH-E335|SGH-E590|SGH-E635|SGH-E715|SGH-E890|SGH-F300|SGH-F480|SGH-I200|SGH-I300|SGH-I320|SGH-I550|SGH-I577|SGH-I600|SGH-I607|SGH-I617|SGH-I627|SGH-I637|SGH-I677|SGH-I700|SGH-I717|SGH-I727|SGH-i747M|SGH-I777|SGH-I780|SGH-I827|SGH-I847|SGH-I857|SGH-I896|SGH-I897|SGH-I900|SGH-I907|SGH-I917|SGH-I927|SGH-I937|SGH-I997|SGH-J150|SGH-J200|SGH-L170|SGH-L700|SGH-M110|SGH-M150|SGH-M200|SGH-N105|SGH-N500|SGH-N600|SGH-N620|SGH-N625|SGH-N700|SGH-N710|SGH-P107|SGH-P207|SGH-P300|SGH-P310|SGH-P520|SGH-P735|SGH-P777|SGH-Q105|SGH-R210|SGH-R220|SGH-R225|SGH-S105|SGH-S307|SGH-T109|SGH-T119|SGH-T139|SGH-T209|SGH-T219|SGH-T229|SGH-T239|SGH-T249|SGH-T259|SGH-T309|SGH-T319|SGH-T329|SGH-T339|SGH-T349|SGH-T359|SGH-T369|SGH-T379|SGH-T409|SGH-T429|SGH-T439|SGH-T459|SGH-T469|SGH-T479|SGH-T499|SGH-T509|SGH-T519|SGH-T539|SGH-T559|SGH-T589|SGH-T609|SGH-T619|SGH-T629|SGH-T639|SGH-T659|SGH-T669|SGH-T679|SGH-T709|SGH-T719|SGH-T729|SGH-T739|SGH-T746|SGH-T749|SGH-T759|SGH-T769|SGH-T809|SGH-T819|SGH-T839|SGH-T919|SGH-T929|SGH-T939|SGH-T959|SGH-T989|SGH-U100|SGH-U200|SGH-U800|SGH-V205|SGH-V206|SGH-X100|SGH-X105|SGH-X120|SGH-X140|SGH-X426|SGH-X427|SGH-X475|SGH-X495|SGH-X497|SGH-X507|SGH-X600|SGH-X610|SGH-X620|SGH-X630|SGH-X700|SGH-X820|SGH-X890|SGH-Z130|SGH-Z150|SGH-Z170|SGH-ZX10|SGH-ZX20|SHW-M110|SPH-A120|SPH-A400|SPH-A420|SPH-A460|SPH-A500|SPH-A560|SPH-A600|SPH-A620|SPH-A660|SPH-A700|SPH-A740|SPH-A760|SPH-A790|SPH-A800|SPH-A820|SPH-A840|SPH-A880|SPH-A900|SPH-A940|SPH-A960|SPH-D600|SPH-D700|SPH-D710|SPH-D720|SPH-I300|SPH-I325|SPH-I330|SPH-I350|SPH-I500|SPH-I600|SPH-I700|SPH-L700|SPH-M100|SPH-M220|SPH-M240|SPH-M300|SPH-M305|SPH-M320|SPH-M330|SPH-M350|SPH-M360|SPH-M370|SPH-M380|SPH-M510|SPH-M540|SPH-M550|SPH-M560|SPH-M570|SPH-M580|SPH-M610|SPH-M620|SPH-M630|SPH-M800|SPH-M810|SPH-M850|SPH-M900|SPH-M910|SPH-M920|SPH-M930|SPH-N100|SPH-N200|SPH-N240|SPH-N300|SPH-N400|SPH-Z400|SWC-E100|SCH-i909|GT-N7100|GT-N7105|SCH-I535|SM-N900A|SGH-I317|SGH-T999L|GT-S5360B|GT-I8262|GT-S6802|GT-S6312|GT-S6310|GT-S5312|GT-S5310|GT-I9105|GT-I8510|GT-S6790N|SM-G7105|SM-N9005|GT-S5301|GT-I9295|GT-I9195|SM-C101|GT-S7392|GT-S7560|GT-B7610|GT-I5510|GT-S7582|GT-S7530E|GT-I8750|SM-G9006V|SM-G9008V|SM-G9009D|SM-G900A|SM-G900D|SM-G900F|SM-G900H|SM-G900I|SM-G900J|SM-G900K|SM-G900L|SM-G900M|SM-G900P|SM-G900R4|SM-G900S|SM-G900T|SM-G900V|SM-G900W8|SHV-E160K|SCH-P709|SCH-P729|SM-T2558|GT-I9205|SM-G9350|SM-J120F|SM-G920F|SM-G920V|SM-G930F|SM-N910C|SM-A310F|GT-I9190|SM-J500FN|SM-G903F|SM-J330F', 'LG' => '\bLG\b;|LG[- ]?(C800|C900|E400|E610|E900|E-900|F160|F180K|F180L|F180S|730|855|L160|LS740|LS840|LS970|LU6200|MS690|MS695|MS770|MS840|MS870|MS910|P500|P700|P705|VM696|AS680|AS695|AX840|C729|E970|GS505|272|C395|E739BK|E960|L55C|L75C|LS696|LS860|P769BK|P350|P500|P509|P870|UN272|US730|VS840|VS950|LN272|LN510|LS670|LS855|LW690|MN270|MN510|P509|P769|P930|UN200|UN270|UN510|UN610|US670|US740|US760|UX265|UX840|VN271|VN530|VS660|VS700|VS740|VS750|VS910|VS920|VS930|VX9200|VX11000|AX840A|LW770|P506|P925|P999|E612|D955|D802|MS323|M257)', 'Sony' => 'SonyST|SonyLT|SonyEricsson|SonyEricssonLT15iv|LT18i|E10i|LT28h|LT26w|SonyEricssonMT27i|C5303|C6902|C6903|C6906|C6943|D2533', 'Asus' => 'Asus.*Galaxy|PadFone.*Mobile', 'NokiaLumia' => 'Lumia [0-9]{3,4}', // http://www.micromaxinfo.com/mobiles/smartphones // Added because the codes might conflict with Acer Tablets. 'Micromax' => 'Micromax.*\b(A210|A92|A88|A72|A111|A110Q|A115|A116|A110|A90S|A26|A51|A35|A54|A25|A27|A89|A68|A65|A57|A90)\b', // @todo Complete the regex. 'Palm' => 'PalmSource|Palm', // avantgo|blazer|elaine|hiptop|plucker|xiino ; 'Vertu' => 'Vertu|Vertu.*Ltd|Vertu.*Ascent|Vertu.*Ayxta|Vertu.*Constellation(F|Quest)?|Vertu.*Monika|Vertu.*Signature', // Just for fun ;) // http://www.pantech.co.kr/en/prod/prodList.do?gbrand=VEGA (PANTECH) // Most of the VEGA devices are legacy. PANTECH seem to be newer devices based on Android. 'Pantech' => 'PANTECH|IM-A850S|IM-A840S|IM-A830L|IM-A830K|IM-A830S|IM-A820L|IM-A810K|IM-A810S|IM-A800S|IM-T100K|IM-A725L|IM-A780L|IM-A775C|IM-A770K|IM-A760S|IM-A750K|IM-A740S|IM-A730S|IM-A720L|IM-A710K|IM-A690L|IM-A690S|IM-A650S|IM-A630K|IM-A600S|VEGA PTL21|PT003|P8010|ADR910L|P6030|P6020|P9070|P4100|P9060|P5000|CDM8992|TXT8045|ADR8995|IS11PT|P2030|P6010|P8000|PT002|IS06|CDM8999|P9050|PT001|TXT8040|P2020|P9020|P2000|P7040|P7000|C790', // http://www.fly-phone.com/devices/smartphones/ ; Included only smartphones. 'Fly' => 'IQ230|IQ444|IQ450|IQ440|IQ442|IQ441|IQ245|IQ256|IQ236|IQ255|IQ235|IQ245|IQ275|IQ240|IQ285|IQ280|IQ270|IQ260|IQ250', // http://fr.wikomobile.com 'Wiko' => 'KITE 4G|HIGHWAY|GETAWAY|STAIRWAY|DARKSIDE|DARKFULL|DARKNIGHT|DARKMOON|SLIDE|WAX 4G|RAINBOW|BLOOM|SUNSET|GOA(?!nna)|LENNY|BARRY|IGGY|OZZY|CINK FIVE|CINK PEAX|CINK PEAX 2|CINK SLIM|CINK SLIM 2|CINK +|CINK KING|CINK PEAX|CINK SLIM|SUBLIM', 'iMobile' => 'i-mobile (IQ|i-STYLE|idea|ZAA|Hitz)', // Added simvalley mobile just for fun. They have some interesting devices. // http://www.simvalley.fr/telephonie---gps-_22_telephonie-mobile_telephones_.html 'SimValley' => '\b(SP-80|XT-930|SX-340|XT-930|SX-310|SP-360|SP60|SPT-800|SP-120|SPT-800|SP-140|SPX-5|SPX-8|SP-100|SPX-8|SPX-12)\b', // Wolfgang - a brand that is sold by Aldi supermarkets. // http://www.wolfgangmobile.com/ 'Wolfgang' => 'AT-B24D|AT-AS50HD|AT-AS40W|AT-AS55HD|AT-AS45q2|AT-B26D|AT-AS50Q', 'Alcatel' => 'Alcatel', 'Nintendo' => 'Nintendo (3DS|Switch)', // http://en.wikipedia.org/wiki/Amoi 'Amoi' => 'Amoi', // http://en.wikipedia.org/wiki/INQ 'INQ' => 'INQ', // @Tapatalk is a mobile app; http://support.tapatalk.com/threads/smf-2-0-2-os-and-browser-detection-plugin-and-tapatalk.15565/#post-79039 'GenericPhone' => 'Tapatalk|PDA;|SAGEM|\bmmp\b|pocket|\bpsp\b|symbian|Smartphone|smartfon|treo|up.browser|up.link|vodafone|\bwap\b|nokia|Series40|Series60|S60|SonyEricsson|N900|MAUI.*WAP.*Browser', ); /** * List of tablet devices. * * @var array */ protected static $tabletDevices = array( // @todo: check for mobile friendly emails topic. 'iPad' => 'iPad|iPad.*Mobile', // Removed |^.*Android.*Nexus(?!(?:Mobile).)*$ // @see #442 // @todo Merge NexusTablet into GoogleTablet. 'NexusTablet' => 'Android.*Nexus[\s]+(7|9|10)', // https://en.wikipedia.org/wiki/Pixel_C 'GoogleTablet' => 'Android.*Pixel C', 'SamsungTablet' => 'SAMSUNG.*Tablet|Galaxy.*Tab|SC-01C|GT-P1000|GT-P1003|GT-P1010|GT-P3105|GT-P6210|GT-P6800|GT-P6810|GT-P7100|GT-P7300|GT-P7310|GT-P7500|GT-P7510|SCH-I800|SCH-I815|SCH-I905|SGH-I957|SGH-I987|SGH-T849|SGH-T859|SGH-T869|SPH-P100|GT-P3100|GT-P3108|GT-P3110|GT-P5100|GT-P5110|GT-P6200|GT-P7320|GT-P7511|GT-N8000|GT-P8510|SGH-I497|SPH-P500|SGH-T779|SCH-I705|SCH-I915|GT-N8013|GT-P3113|GT-P5113|GT-P8110|GT-N8010|GT-N8005|GT-N8020|GT-P1013|GT-P6201|GT-P7501|GT-N5100|GT-N5105|GT-N5110|SHV-E140K|SHV-E140L|SHV-E140S|SHV-E150S|SHV-E230K|SHV-E230L|SHV-E230S|SHW-M180K|SHW-M180L|SHW-M180S|SHW-M180W|SHW-M300W|SHW-M305W|SHW-M380K|SHW-M380S|SHW-M380W|SHW-M430W|SHW-M480K|SHW-M480S|SHW-M480W|SHW-M485W|SHW-M486W|SHW-M500W|GT-I9228|SCH-P739|SCH-I925|GT-I9200|GT-P5200|GT-P5210|GT-P5210X|SM-T311|SM-T310|SM-T310X|SM-T210|SM-T210R|SM-T211|SM-P600|SM-P601|SM-P605|SM-P900|SM-P901|SM-T217|SM-T217A|SM-T217S|SM-P6000|SM-T3100|SGH-I467|XE500|SM-T110|GT-P5220|GT-I9200X|GT-N5110X|GT-N5120|SM-P905|SM-T111|SM-T2105|SM-T315|SM-T320|SM-T320X|SM-T321|SM-T520|SM-T525|SM-T530NU|SM-T230NU|SM-T330NU|SM-T900|XE500T1C|SM-P605V|SM-P905V|SM-T337V|SM-T537V|SM-T707V|SM-T807V|SM-P600X|SM-P900X|SM-T210X|SM-T230|SM-T230X|SM-T325|GT-P7503|SM-T531|SM-T330|SM-T530|SM-T705|SM-T705C|SM-T535|SM-T331|SM-T800|SM-T700|SM-T537|SM-T807|SM-P907A|SM-T337A|SM-T537A|SM-T707A|SM-T807A|SM-T237|SM-T807P|SM-P607T|SM-T217T|SM-T337T|SM-T807T|SM-T116NQ|SM-T116BU|SM-P550|SM-T350|SM-T550|SM-T9000|SM-P9000|SM-T705Y|SM-T805|GT-P3113|SM-T710|SM-T810|SM-T815|SM-T360|SM-T533|SM-T113|SM-T335|SM-T715|SM-T560|SM-T670|SM-T677|SM-T377|SM-T567|SM-T357T|SM-T555|SM-T561|SM-T713|SM-T719|SM-T813|SM-T819|SM-T580|SM-T355Y?|SM-T280|SM-T817A|SM-T820|SM-W700|SM-P580|SM-T587|SM-P350|SM-P555M|SM-P355M|SM-T113NU|SM-T815Y|SM-T585|SM-T285|SM-T825|SM-W708|SM-T835', // SCH-P709|SCH-P729|SM-T2558|GT-I9205 - Samsung Mega - treat them like a regular phone. // http://docs.aws.amazon.com/silk/latest/developerguide/user-agent.html 'Kindle' => 'Kindle|Silk.*Accelerated|Android.*\b(KFOT|KFTT|KFJWI|KFJWA|KFOTE|KFSOWI|KFTHWI|KFTHWA|KFAPWI|KFAPWA|WFJWAE|KFSAWA|KFSAWI|KFASWI|KFARWI|KFFOWI|KFGIWI|KFMEWI)\b|Android.*Silk/[0-9.]+ like Chrome/[0-9.]+ (?!Mobile)', // Only the Surface tablets with Windows RT are considered mobile. // http://msdn.microsoft.com/en-us/library/ie/hh920767(v=vs.85).aspx 'SurfaceTablet' => 'Windows NT [0-9.]+; ARM;.*(Tablet|ARMBJS)', // http://shopping1.hp.com/is-bin/INTERSHOP.enfinity/WFS/WW-USSMBPublicStore-Site/en_US/-/USD/ViewStandardCatalog-Browse?CatalogCategoryID=JfIQ7EN5lqMAAAEyDcJUDwMT 'HPTablet' => 'HP Slate (7|8|10)|HP ElitePad 900|hp-tablet|EliteBook.*Touch|HP 8|Slate 21|HP SlateBook 10', // Watch out for PadFone, see #132. // http://www.asus.com/de/Tablets_Mobile/Memo_Pad_Products/ 'AsusTablet' => '^.*PadFone((?!Mobile).)*$|Transformer|TF101|TF101G|TF300T|TF300TG|TF300TL|TF700T|TF700KL|TF701T|TF810C|ME171|ME301T|ME302C|ME371MG|ME370T|ME372MG|ME172V|ME173X|ME400C|Slider SL101|\bK00F\b|\bK00C\b|\bK00E\b|\bK00L\b|TX201LA|ME176C|ME102A|\bM80TA\b|ME372CL|ME560CG|ME372CG|ME302KL| K010 | K011 | K017 | K01E |ME572C|ME103K|ME170C|ME171C|\bME70C\b|ME581C|ME581CL|ME8510C|ME181C|P01Y|PO1MA|P01Z|\bP027\b|\bP024\b|\bP00C\b', 'BlackBerryTablet' => 'PlayBook|RIM Tablet', 'HTCtablet' => 'HTC_Flyer_P512|HTC Flyer|HTC Jetstream|HTC-P715a|HTC EVO View 4G|PG41200|PG09410', 'MotorolaTablet' => 'xoom|sholest|MZ615|MZ605|MZ505|MZ601|MZ602|MZ603|MZ604|MZ606|MZ607|MZ608|MZ609|MZ615|MZ616|MZ617', 'NookTablet' => 'Android.*Nook|NookColor|nook browser|BNRV200|BNRV200A|BNTV250|BNTV250A|BNTV400|BNTV600|LogicPD Zoom2', // http://www.acer.ro/ac/ro/RO/content/drivers // http://www.packardbell.co.uk/pb/en/GB/content/download (Packard Bell is part of Acer) // http://us.acer.com/ac/en/US/content/group/tablets // http://www.acer.de/ac/de/DE/content/models/tablets/ // Can conflict with Micromax and Motorola phones codes. 'AcerTablet' => 'Android.*; \b(A100|A101|A110|A200|A210|A211|A500|A501|A510|A511|A700|A701|W500|W500P|W501|W501P|W510|W511|W700|G100|G100W|B1-A71|B1-710|B1-711|A1-810|A1-811|A1-830)\b|W3-810|\bA3-A10\b|\bA3-A11\b|\bA3-A20\b|\bA3-A30', // http://eu.computers.toshiba-europe.com/innovation/family/Tablets/1098744/banner_id/tablet_footerlink/ // http://us.toshiba.com/tablets/tablet-finder // http://www.toshiba.co.jp/regza/tablet/ 'ToshibaTablet' => 'Android.*(AT100|AT105|AT200|AT205|AT270|AT275|AT300|AT305|AT1S5|AT500|AT570|AT700|AT830)|TOSHIBA.*FOLIO', // http://www.nttdocomo.co.jp/english/service/developer/smart_phone/technical_info/spec/index.html // http://www.lg.com/us/tablets 'LGTablet' => '\bL-06C|LG-V909|LG-V900|LG-V700|LG-V510|LG-V500|LG-V410|LG-V400|LG-VK810\b', 'FujitsuTablet' => 'Android.*\b(F-01D|F-02F|F-05E|F-10D|M532|Q572)\b', // Prestigio Tablets http://www.prestigio.com/support 'PrestigioTablet' => 'PMP3170B|PMP3270B|PMP3470B|PMP7170B|PMP3370B|PMP3570C|PMP5870C|PMP3670B|PMP5570C|PMP5770D|PMP3970B|PMP3870C|PMP5580C|PMP5880D|PMP5780D|PMP5588C|PMP7280C|PMP7280C3G|PMP7280|PMP7880D|PMP5597D|PMP5597|PMP7100D|PER3464|PER3274|PER3574|PER3884|PER5274|PER5474|PMP5097CPRO|PMP5097|PMP7380D|PMP5297C|PMP5297C_QUAD|PMP812E|PMP812E3G|PMP812F|PMP810E|PMP880TD|PMT3017|PMT3037|PMT3047|PMT3057|PMT7008|PMT5887|PMT5001|PMT5002', // http://support.lenovo.com/en_GB/downloads/default.page?# 'LenovoTablet' => 'Lenovo TAB|Idea(Tab|Pad)( A1|A10| K1|)|ThinkPad([ ]+)?Tablet|YT3-850M|YT3-X90L|YT3-X90F|YT3-X90X|Lenovo.*(S2109|S2110|S5000|S6000|K3011|A3000|A3500|A1000|A2107|A2109|A1107|A5500|A7600|B6000|B8000|B8080)(-|)(FL|F|HV|H|)|TB-X103F|TB-X304F|TB-X304L|TB-8703F|Tab2A7-10F|TB2-X30L', // http://www.dell.com/support/home/us/en/04/Products/tab_mob/tablets 'DellTablet' => 'Venue 11|Venue 8|Venue 7|Dell Streak 10|Dell Streak 7', // http://www.yarvik.com/en/matrix/tablets/ 'YarvikTablet' => 'Android.*\b(TAB210|TAB211|TAB224|TAB250|TAB260|TAB264|TAB310|TAB360|TAB364|TAB410|TAB411|TAB420|TAB424|TAB450|TAB460|TAB461|TAB464|TAB465|TAB467|TAB468|TAB07-100|TAB07-101|TAB07-150|TAB07-151|TAB07-152|TAB07-200|TAB07-201-3G|TAB07-210|TAB07-211|TAB07-212|TAB07-214|TAB07-220|TAB07-400|TAB07-485|TAB08-150|TAB08-200|TAB08-201-3G|TAB08-201-30|TAB09-100|TAB09-211|TAB09-410|TAB10-150|TAB10-201|TAB10-211|TAB10-400|TAB10-410|TAB13-201|TAB274EUK|TAB275EUK|TAB374EUK|TAB462EUK|TAB474EUK|TAB9-200)\b', 'MedionTablet' => 'Android.*\bOYO\b|LIFE.*(P9212|P9514|P9516|S9512)|LIFETAB', 'ArnovaTablet' => '97G4|AN10G2|AN7bG3|AN7fG3|AN8G3|AN8cG3|AN7G3|AN9G3|AN7dG3|AN7dG3ST|AN7dG3ChildPad|AN10bG3|AN10bG3DT|AN9G2', // http://www.intenso.de/kategorie_en.php?kategorie=33 // @todo: http://www.nbhkdz.com/read/b8e64202f92a2df129126bff.html - investigate 'IntensoTablet' => 'INM8002KP|INM1010FP|INM805ND|Intenso Tab|TAB1004', // IRU.ru Tablets http://www.iru.ru/catalog/soho/planetable/ 'IRUTablet' => 'M702pro', 'MegafonTablet' => 'MegaFon V9|\bZTE V9\b|Android.*\bMT7A\b', // http://www.e-boda.ro/tablete-pc.html 'EbodaTablet' => 'E-Boda (Supreme|Impresspeed|Izzycomm|Essential)', // http://www.allview.ro/produse/droseries/lista-tablete-pc/ 'AllViewTablet' => 'Allview.*(Viva|Alldro|City|Speed|All TV|Frenzy|Quasar|Shine|TX1|AX1|AX2)', // http://wiki.archosfans.com/index.php?title=Main_Page // @note Rewrite the regex format after we add more UAs. 'ArchosTablet' => '\b(101G9|80G9|A101IT)\b|Qilive 97R|Archos5|\bARCHOS (70|79|80|90|97|101|FAMILYPAD|)(b|c|)(G10| Cobalt| TITANIUM(HD|)| Xenon| Neon|XSK| 2| XS 2| PLATINUM| CARBON|GAMEPAD)\b', // http://www.ainol.com/plugin.php?identifier=ainol&module=product 'AinolTablet' => 'NOVO7|NOVO8|NOVO10|Novo7Aurora|Novo7Basic|NOVO7PALADIN|novo9-Spark', 'NokiaLumiaTablet' => 'Lumia 2520', // @todo: inspect http://esupport.sony.com/US/p/select-system.pl?DIRECTOR=DRIVER // Readers http://www.atsuhiro-me.net/ebook/sony-reader/sony-reader-web-browser // http://www.sony.jp/support/tablet/ 'SonyTablet' => 'Sony.*Tablet|Xperia Tablet|Sony Tablet S|SO-03E|SGPT12|SGPT13|SGPT114|SGPT121|SGPT122|SGPT123|SGPT111|SGPT112|SGPT113|SGPT131|SGPT132|SGPT133|SGPT211|SGPT212|SGPT213|SGP311|SGP312|SGP321|EBRD1101|EBRD1102|EBRD1201|SGP351|SGP341|SGP511|SGP512|SGP521|SGP541|SGP551|SGP621|SGP641|SGP612|SOT31|SGP771|SGP611|SGP612|SGP712', // http://www.support.philips.com/support/catalog/worldproducts.jsp?userLanguage=en&userCountry=cn&categoryid=3G_LTE_TABLET_SU_CN_CARE&title=3G%20tablets%20/%20LTE%20range&_dyncharset=UTF-8 'PhilipsTablet' => '\b(PI2010|PI3000|PI3100|PI3105|PI3110|PI3205|PI3210|PI3900|PI4010|PI7000|PI7100)\b', // db + http://www.cube-tablet.com/buy-products.html 'CubeTablet' => 'Android.*(K8GT|U9GT|U10GT|U16GT|U17GT|U18GT|U19GT|U20GT|U23GT|U30GT)|CUBE U8GT', // http://www.cobyusa.com/?p=pcat&pcat_id=3001 'CobyTablet' => 'MID1042|MID1045|MID1125|MID1126|MID7012|MID7014|MID7015|MID7034|MID7035|MID7036|MID7042|MID7048|MID7127|MID8042|MID8048|MID8127|MID9042|MID9740|MID9742|MID7022|MID7010', // http://www.match.net.cn/products.asp 'MIDTablet' => 'M9701|M9000|M9100|M806|M1052|M806|T703|MID701|MID713|MID710|MID727|MID760|MID830|MID728|MID933|MID125|MID810|MID732|MID120|MID930|MID800|MID731|MID900|MID100|MID820|MID735|MID980|MID130|MID833|MID737|MID960|MID135|MID860|MID736|MID140|MID930|MID835|MID733|MID4X10', // http://www.msi.com/support // @todo Research the Windows Tablets. 'MSITablet' => 'MSI \b(Primo 73K|Primo 73L|Primo 81L|Primo 77|Primo 93|Primo 75|Primo 76|Primo 73|Primo 81|Primo 91|Primo 90|Enjoy 71|Enjoy 7|Enjoy 10)\b', // @todo http://www.kyoceramobile.com/support/drivers/ // 'KyoceraTablet' => null, // @todo http://intexuae.com/index.php/category/mobile-devices/tablets-products/ // 'IntextTablet' => null, // http://pdadb.net/index.php?m=pdalist&list=SMiT (NoName Chinese Tablets) // http://www.imp3.net/14/show.php?itemid=20454 'SMiTTablet' => 'Android.*(\bMID\b|MID-560|MTV-T1200|MTV-PND531|MTV-P1101|MTV-PND530)', // http://www.rock-chips.com/index.php?do=prod&pid=2 'RockChipTablet' => 'Android.*(RK2818|RK2808A|RK2918|RK3066)|RK2738|RK2808A', // http://www.fly-phone.com/devices/tablets/ ; http://www.fly-phone.com/service/ 'FlyTablet' => 'IQ310|Fly Vision', // http://www.bqreaders.com/gb/tablets-prices-sale.html 'bqTablet' => 'Android.*(bq)?.*(Elcano|Curie|Edison|Maxwell|Kepler|Pascal|Tesla|Hypatia|Platon|Newton|Livingstone|Cervantes|Avant|Aquaris ([E|M]10|M8))|Maxwell.*Lite|Maxwell.*Plus', // http://www.huaweidevice.com/worldwide/productFamily.do?method=index&directoryId=5011&treeId=3290 // http://www.huaweidevice.com/worldwide/downloadCenter.do?method=index&directoryId=3372&treeId=0&tb=1&type=software (including legacy tablets) 'HuaweiTablet' => 'MediaPad|MediaPad 7 Youth|IDEOS S7|S7-201c|S7-202u|S7-101|S7-103|S7-104|S7-105|S7-106|S7-201|S7-Slim|M2-A01L|BAH-L09|BAH-W09', // Nec or Medias Tab 'NecTablet' => '\bN-06D|\bN-08D', // Pantech Tablets: http://www.pantechusa.com/phones/ 'PantechTablet' => 'Pantech.*P4100', // Broncho Tablets: http://www.broncho.cn/ (hard to find) 'BronchoTablet' => 'Broncho.*(N701|N708|N802|a710)', // http://versusuk.com/support.html 'VersusTablet' => 'TOUCHPAD.*[78910]|\bTOUCHTAB\b', // http://www.zync.in/index.php/our-products/tablet-phablets 'ZyncTablet' => 'z1000|Z99 2G|z99|z930|z999|z990|z909|Z919|z900', // http://www.positivoinformatica.com.br/www/pessoal/tablet-ypy/ 'PositivoTablet' => 'TB07STA|TB10STA|TB07FTA|TB10FTA', // https://www.nabitablet.com/ 'NabiTablet' => 'Android.*\bNabi', 'KoboTablet' => 'Kobo Touch|\bK080\b|\bVox\b Build|\bArc\b Build', // French Danew Tablets http://www.danew.com/produits-tablette.php 'DanewTablet' => 'DSlide.*\b(700|701R|702|703R|704|802|970|971|972|973|974|1010|1012)\b', // Texet Tablets and Readers http://www.texet.ru/tablet/ 'TexetTablet' => 'NaviPad|TB-772A|TM-7045|TM-7055|TM-9750|TM-7016|TM-7024|TM-7026|TM-7041|TM-7043|TM-7047|TM-8041|TM-9741|TM-9747|TM-9748|TM-9751|TM-7022|TM-7021|TM-7020|TM-7011|TM-7010|TM-7023|TM-7025|TM-7037W|TM-7038W|TM-7027W|TM-9720|TM-9725|TM-9737W|TM-1020|TM-9738W|TM-9740|TM-9743W|TB-807A|TB-771A|TB-727A|TB-725A|TB-719A|TB-823A|TB-805A|TB-723A|TB-715A|TB-707A|TB-705A|TB-709A|TB-711A|TB-890HD|TB-880HD|TB-790HD|TB-780HD|TB-770HD|TB-721HD|TB-710HD|TB-434HD|TB-860HD|TB-840HD|TB-760HD|TB-750HD|TB-740HD|TB-730HD|TB-722HD|TB-720HD|TB-700HD|TB-500HD|TB-470HD|TB-431HD|TB-430HD|TB-506|TB-504|TB-446|TB-436|TB-416|TB-146SE|TB-126SE', // Avoid detecting 'PLAYSTATION 3' as mobile. 'PlaystationTablet' => 'Playstation.*(Portable|Vita)', // http://www.trekstor.de/surftabs.html 'TrekstorTablet' => 'ST10416-1|VT10416-1|ST70408-1|ST702xx-1|ST702xx-2|ST80208|ST97216|ST70104-2|VT10416-2|ST10216-2A|SurfTab', // http://www.pyleaudio.com/Products.aspx?%2fproducts%2fPersonal-Electronics%2fTablets 'PyleAudioTablet' => '\b(PTBL10CEU|PTBL10C|PTBL72BC|PTBL72BCEU|PTBL7CEU|PTBL7C|PTBL92BC|PTBL92BCEU|PTBL9CEU|PTBL9CUK|PTBL9C)\b', // http://www.advandigital.com/index.php?link=content-product&jns=JP001 // because of the short codenames we have to include whitespaces to reduce the possible conflicts. 'AdvanTablet' => 'Android.* \b(E3A|T3X|T5C|T5B|T3E|T3C|T3B|T1J|T1F|T2A|T1H|T1i|E1C|T1-E|T5-A|T4|E1-B|T2Ci|T1-B|T1-D|O1-A|E1-A|T1-A|T3A|T4i)\b ', // http://www.danytech.com/category/tablet-pc 'DanyTechTablet' => 'Genius Tab G3|Genius Tab S2|Genius Tab Q3|Genius Tab G4|Genius Tab Q4|Genius Tab G-II|Genius TAB GII|Genius TAB GIII|Genius Tab S1', // http://www.galapad.net/product.html 'GalapadTablet' => 'Android.*\bG1\b(?!\))', // http://www.micromaxinfo.com/tablet/funbook 'MicromaxTablet' => 'Funbook|Micromax.*\b(P250|P560|P360|P362|P600|P300|P350|P500|P275)\b', // http://www.karbonnmobiles.com/products_tablet.php 'KarbonnTablet' => 'Android.*\b(A39|A37|A34|ST8|ST10|ST7|Smart Tab3|Smart Tab2)\b', // http://www.myallfine.com/Products.asp 'AllFineTablet' => 'Fine7 Genius|Fine7 Shine|Fine7 Air|Fine8 Style|Fine9 More|Fine10 Joy|Fine11 Wide', // http://www.proscanvideo.com/products-search.asp?itemClass=TABLET&itemnmbr= 'PROSCANTablet' => '\b(PEM63|PLT1023G|PLT1041|PLT1044|PLT1044G|PLT1091|PLT4311|PLT4311PL|PLT4315|PLT7030|PLT7033|PLT7033D|PLT7035|PLT7035D|PLT7044K|PLT7045K|PLT7045KB|PLT7071KG|PLT7072|PLT7223G|PLT7225G|PLT7777G|PLT7810K|PLT7849G|PLT7851G|PLT7852G|PLT8015|PLT8031|PLT8034|PLT8036|PLT8080K|PLT8082|PLT8088|PLT8223G|PLT8234G|PLT8235G|PLT8816K|PLT9011|PLT9045K|PLT9233G|PLT9735|PLT9760G|PLT9770G)\b', // http://www.yonesnav.com/products/products.php 'YONESTablet' => 'BQ1078|BC1003|BC1077|RK9702|BC9730|BC9001|IT9001|BC7008|BC7010|BC708|BC728|BC7012|BC7030|BC7027|BC7026', // http://www.cjshowroom.com/eproducts.aspx?classcode=004001001 // China manufacturer makes tablets for different small brands (eg. http://www.zeepad.net/index.html) 'ChangJiaTablet' => 'TPC7102|TPC7103|TPC7105|TPC7106|TPC7107|TPC7201|TPC7203|TPC7205|TPC7210|TPC7708|TPC7709|TPC7712|TPC7110|TPC8101|TPC8103|TPC8105|TPC8106|TPC8203|TPC8205|TPC8503|TPC9106|TPC9701|TPC97101|TPC97103|TPC97105|TPC97106|TPC97111|TPC97113|TPC97203|TPC97603|TPC97809|TPC97205|TPC10101|TPC10103|TPC10106|TPC10111|TPC10203|TPC10205|TPC10503', // http://www.gloryunion.cn/products.asp // http://www.allwinnertech.com/en/apply/mobile.html // http://www.ptcl.com.pk/pd_content.php?pd_id=284 (EVOTAB) // @todo: Softwiner tablets? // aka. Cute or Cool tablets. Not sure yet, must research to avoid collisions. 'GUTablet' => 'TX-A1301|TX-M9002|Q702|kf026', // A12R|D75A|D77|D79|R83|A95|A106C|R15|A75|A76|D71|D72|R71|R73|R77|D82|R85|D92|A97|D92|R91|A10F|A77F|W71F|A78F|W78F|W81F|A97F|W91F|W97F|R16G|C72|C73E|K72|K73|R96G // http://www.pointofview-online.com/showroom.php?shop_mode=product_listing&category_id=118 'PointOfViewTablet' => 'TAB-P506|TAB-navi-7-3G-M|TAB-P517|TAB-P-527|TAB-P701|TAB-P703|TAB-P721|TAB-P731N|TAB-P741|TAB-P825|TAB-P905|TAB-P925|TAB-PR945|TAB-PL1015|TAB-P1025|TAB-PI1045|TAB-P1325|TAB-PROTAB[0-9]+|TAB-PROTAB25|TAB-PROTAB26|TAB-PROTAB27|TAB-PROTAB26XL|TAB-PROTAB2-IPS9|TAB-PROTAB30-IPS9|TAB-PROTAB25XXL|TAB-PROTAB26-IPS10|TAB-PROTAB30-IPS10', // http://www.overmax.pl/pl/katalog-produktow,p8/tablety,c14/ // @todo: add more tests. 'OvermaxTablet' => 'OV-(SteelCore|NewBase|Basecore|Baseone|Exellen|Quattor|EduTab|Solution|ACTION|BasicTab|TeddyTab|MagicTab|Stream|TB-08|TB-09)|Qualcore 1027', // http://hclmetablet.com/India/index.php 'HCLTablet' => 'HCL.*Tablet|Connect-3G-2.0|Connect-2G-2.0|ME Tablet U1|ME Tablet U2|ME Tablet G1|ME Tablet X1|ME Tablet Y2|ME Tablet Sync', // http://www.edigital.hu/Tablet_es_e-book_olvaso/Tablet-c18385.html 'DPSTablet' => 'DPS Dream 9|DPS Dual 7', // http://www.visture.com/index.asp 'VistureTablet' => 'V97 HD|i75 3G|Visture V4( HD)?|Visture V5( HD)?|Visture V10', // http://www.mijncresta.nl/tablet 'CrestaTablet' => 'CTP(-)?810|CTP(-)?818|CTP(-)?828|CTP(-)?838|CTP(-)?888|CTP(-)?978|CTP(-)?980|CTP(-)?987|CTP(-)?988|CTP(-)?989', // MediaTek - http://www.mediatek.com/_en/01_products/02_proSys.php?cata_sn=1&cata1_sn=1&cata2_sn=309 'MediatekTablet' => '\bMT8125|MT8389|MT8135|MT8377\b', // Concorde tab 'ConcordeTablet' => 'Concorde([ ]+)?Tab|ConCorde ReadMan', // GoClever Tablets - http://www.goclever.com/uk/products,c1/tablet,c5/ 'GoCleverTablet' => 'GOCLEVER TAB|A7GOCLEVER|M1042|M7841|M742|R1042BK|R1041|TAB A975|TAB A7842|TAB A741|TAB A741L|TAB M723G|TAB M721|TAB A1021|TAB I921|TAB R721|TAB I720|TAB T76|TAB R70|TAB R76.2|TAB R106|TAB R83.2|TAB M813G|TAB I721|GCTA722|TAB I70|TAB I71|TAB S73|TAB R73|TAB R74|TAB R93|TAB R75|TAB R76.1|TAB A73|TAB A93|TAB A93.2|TAB T72|TAB R83|TAB R974|TAB R973|TAB A101|TAB A103|TAB A104|TAB A104.2|R105BK|M713G|A972BK|TAB A971|TAB R974.2|TAB R104|TAB R83.3|TAB A1042', // Modecom Tablets - http://www.modecom.eu/tablets/portal/ 'ModecomTablet' => 'FreeTAB 9000|FreeTAB 7.4|FreeTAB 7004|FreeTAB 7800|FreeTAB 2096|FreeTAB 7.5|FreeTAB 1014|FreeTAB 1001 |FreeTAB 8001|FreeTAB 9706|FreeTAB 9702|FreeTAB 7003|FreeTAB 7002|FreeTAB 1002|FreeTAB 7801|FreeTAB 1331|FreeTAB 1004|FreeTAB 8002|FreeTAB 8014|FreeTAB 9704|FreeTAB 1003', // Vonino Tablets - http://www.vonino.eu/tablets 'VoninoTablet' => '\b(Argus[ _]?S|Diamond[ _]?79HD|Emerald[ _]?78E|Luna[ _]?70C|Onyx[ _]?S|Onyx[ _]?Z|Orin[ _]?HD|Orin[ _]?S|Otis[ _]?S|SpeedStar[ _]?S|Magnet[ _]?M9|Primus[ _]?94[ _]?3G|Primus[ _]?94HD|Primus[ _]?QS|Android.*\bQ8\b|Sirius[ _]?EVO[ _]?QS|Sirius[ _]?QS|Spirit[ _]?S)\b', // ECS Tablets - http://www.ecs.com.tw/ECSWebSite/Product/Product_Tablet_List.aspx?CategoryID=14&MenuID=107&childid=M_107&LanID=0 'ECSTablet' => 'V07OT2|TM105A|S10OT1|TR10CS1', // Storex Tablets - http://storex.fr/espace_client/support.html // @note: no need to add all the tablet codes since they are guided by the first regex. 'StorexTablet' => 'eZee[_\']?(Tab|Go)[0-9]+|TabLC7|Looney Tunes Tab', // Generic Vodafone tablets. 'VodafoneTablet' => 'SmartTab([ ]+)?[0-9]+|SmartTabII10|SmartTabII7|VF-1497', // French tablets - Essentiel B http://www.boulanger.fr/tablette_tactile_e-book/tablette_tactile_essentiel_b/cl_68908.htm?multiChoiceToDelete=brand&mc_brand=essentielb // Aka: http://www.essentielb.fr/ 'EssentielBTablet' => 'Smart[ \']?TAB[ ]+?[0-9]+|Family[ \']?TAB2', // Ross & Moor - http://ross-moor.ru/ 'RossMoorTablet' => 'RM-790|RM-997|RMD-878G|RMD-974R|RMT-705A|RMT-701|RME-601|RMT-501|RMT-711', // i-mobile http://product.i-mobilephone.com/Mobile_Device 'iMobileTablet' => 'i-mobile i-note', // http://www.tolino.de/de/vergleichen/ 'TolinoTablet' => 'tolino tab [0-9.]+|tolino shine', // AudioSonic - a Kmart brand // http://www.kmart.com.au/webapp/wcs/stores/servlet/Search?langId=-1&storeId=10701&catalogId=10001&categoryId=193001&pageSize=72¤tPage=1&searchCategory=193001%2b4294965664&sortBy=p_MaxPrice%7c1 'AudioSonicTablet' => '\bC-22Q|T7-QC|T-17B|T-17P\b', // AMPE Tablets - http://www.ampe.com.my/product-category/tablets/ // @todo: add them gradually to avoid conflicts. 'AMPETablet' => 'Android.* A78 ', // Skk Mobile - http://skkmobile.com.ph/product_tablets.php 'SkkTablet' => 'Android.* (SKYPAD|PHOENIX|CYCLOPS)', // Tecno Mobile (only tablet) - http://www.tecno-mobile.com/index.php/product?filterby=smart&list_order=all&page=1 'TecnoTablet' => 'TECNO P9|TECNO DP8D', // JXD (consoles & tablets) - http://jxd.hk/products.asp?selectclassid=009008&clsid=3 'JXDTablet' => 'Android.* \b(F3000|A3300|JXD5000|JXD3000|JXD2000|JXD300B|JXD300|S5800|S7800|S602b|S5110b|S7300|S5300|S602|S603|S5100|S5110|S601|S7100a|P3000F|P3000s|P101|P200s|P1000m|P200m|P9100|P1000s|S6600b|S908|P1000|P300|S18|S6600|S9100)\b', // i-Joy tablets - http://www.i-joy.es/en/cat/products/tablets/ 'iJoyTablet' => 'Tablet (Spirit 7|Essentia|Galatea|Fusion|Onix 7|Landa|Titan|Scooby|Deox|Stella|Themis|Argon|Unique 7|Sygnus|Hexen|Finity 7|Cream|Cream X2|Jade|Neon 7|Neron 7|Kandy|Scape|Saphyr 7|Rebel|Biox|Rebel|Rebel 8GB|Myst|Draco 7|Myst|Tab7-004|Myst|Tadeo Jones|Tablet Boing|Arrow|Draco Dual Cam|Aurix|Mint|Amity|Revolution|Finity 9|Neon 9|T9w|Amity 4GB Dual Cam|Stone 4GB|Stone 8GB|Andromeda|Silken|X2|Andromeda II|Halley|Flame|Saphyr 9,7|Touch 8|Planet|Triton|Unique 10|Hexen 10|Memphis 4GB|Memphis 8GB|Onix 10)', // http://www.intracon.eu/tablet 'FX2Tablet' => 'FX2 PAD7|FX2 PAD10', // http://www.xoro.de/produkte/ // @note: Might be the same brand with 'Simply tablets' 'XoroTablet' => 'KidsPAD 701|PAD[ ]?712|PAD[ ]?714|PAD[ ]?716|PAD[ ]?717|PAD[ ]?718|PAD[ ]?720|PAD[ ]?721|PAD[ ]?722|PAD[ ]?790|PAD[ ]?792|PAD[ ]?900|PAD[ ]?9715D|PAD[ ]?9716DR|PAD[ ]?9718DR|PAD[ ]?9719QR|PAD[ ]?9720QR|TelePAD1030|Telepad1032|TelePAD730|TelePAD731|TelePAD732|TelePAD735Q|TelePAD830|TelePAD9730|TelePAD795|MegaPAD 1331|MegaPAD 1851|MegaPAD 2151', // http://www1.viewsonic.com/products/computing/tablets/ 'ViewsonicTablet' => 'ViewPad 10pi|ViewPad 10e|ViewPad 10s|ViewPad E72|ViewPad7|ViewPad E100|ViewPad 7e|ViewSonic VB733|VB100a', // https://www.verizonwireless.com/tablets/verizon/ 'VerizonTablet' => 'QTAQZ3|QTAIR7|QTAQTZ3|QTASUN1|QTASUN2|QTAXIA1', // http://www.odys.de/web/internet-tablet_en.html 'OdysTablet' => 'LOOX|XENO10|ODYS[ -](Space|EVO|Xpress|NOON)|\bXELIO\b|Xelio10Pro|XELIO7PHONETAB|XELIO10EXTREME|XELIOPT2|NEO_QUAD10', // http://www.captiva-power.de/products.html#tablets-en 'CaptivaTablet' => 'CAPTIVA PAD', // IconBIT - http://www.iconbit.com/products/tablets/ 'IconbitTablet' => 'NetTAB|NT-3702|NT-3702S|NT-3702S|NT-3603P|NT-3603P|NT-0704S|NT-0704S|NT-3805C|NT-3805C|NT-0806C|NT-0806C|NT-0909T|NT-0909T|NT-0907S|NT-0907S|NT-0902S|NT-0902S', // http://www.teclast.com/topic.php?channelID=70&topicID=140&pid=63 'TeclastTablet' => 'T98 4G|\bP80\b|\bX90HD\b|X98 Air|X98 Air 3G|\bX89\b|P80 3G|\bX80h\b|P98 Air|\bX89HD\b|P98 3G|\bP90HD\b|P89 3G|X98 3G|\bP70h\b|P79HD 3G|G18d 3G|\bP79HD\b|\bP89s\b|\bA88\b|\bP10HD\b|\bP19HD\b|G18 3G|\bP78HD\b|\bA78\b|\bP75\b|G17s 3G|G17h 3G|\bP85t\b|\bP90\b|\bP11\b|\bP98t\b|\bP98HD\b|\bG18d\b|\bP85s\b|\bP11HD\b|\bP88s\b|\bA80HD\b|\bA80se\b|\bA10h\b|\bP89\b|\bP78s\b|\bG18\b|\bP85\b|\bA70h\b|\bA70\b|\bG17\b|\bP18\b|\bA80s\b|\bA11s\b|\bP88HD\b|\bA80h\b|\bP76s\b|\bP76h\b|\bP98\b|\bA10HD\b|\bP78\b|\bP88\b|\bA11\b|\bA10t\b|\bP76a\b|\bP76t\b|\bP76e\b|\bP85HD\b|\bP85a\b|\bP86\b|\bP75HD\b|\bP76v\b|\bA12\b|\bP75a\b|\bA15\b|\bP76Ti\b|\bP81HD\b|\bA10\b|\bT760VE\b|\bT720HD\b|\bP76\b|\bP73\b|\bP71\b|\bP72\b|\bT720SE\b|\bC520Ti\b|\bT760\b|\bT720VE\b|T720-3GE|T720-WiFi', // Onda - http://www.onda-tablet.com/buy-android-onda.html?dir=desc&limit=all&order=price 'OndaTablet' => '\b(V975i|Vi30|VX530|V701|Vi60|V701s|Vi50|V801s|V719|Vx610w|VX610W|V819i|Vi10|VX580W|Vi10|V711s|V813|V811|V820w|V820|Vi20|V711|VI30W|V712|V891w|V972|V819w|V820w|Vi60|V820w|V711|V813s|V801|V819|V975s|V801|V819|V819|V818|V811|V712|V975m|V101w|V961w|V812|V818|V971|V971s|V919|V989|V116w|V102w|V973|Vi40)\b[\s]+|V10 \b4G\b', 'JaytechTablet' => 'TPC-PA762', 'BlaupunktTablet' => 'Endeavour 800NG|Endeavour 1010', // http://www.digma.ru/support/download/ // @todo: Ebooks also (if requested) 'DigmaTablet' => '\b(iDx10|iDx9|iDx8|iDx7|iDxD7|iDxD8|iDsQ8|iDsQ7|iDsQ8|iDsD10|iDnD7|3TS804H|iDsQ11|iDj7|iDs10)\b', // http://www.evolioshop.com/ro/tablete-pc.html // http://www.evolio.ro/support/downloads_static.html?cat=2 // @todo: Research some more 'EvolioTablet' => 'ARIA_Mini_wifi|Aria[ _]Mini|Evolio X10|Evolio X7|Evolio X8|\bEvotab\b|\bNeura\b', // @todo http://www.lavamobiles.com/tablets-data-cards 'LavaTablet' => 'QPAD E704|\bIvoryS\b|E-TAB IVORY|\bE-TAB\b', // http://www.breezetablet.com/ 'AocTablet' => 'MW0811|MW0812|MW0922|MTK8382|MW1031|MW0831|MW0821|MW0931|MW0712', // http://www.mpmaneurope.com/en/products/internet-tablets-14/android-tablets-14/ 'MpmanTablet' => 'MP11 OCTA|MP10 OCTA|MPQC1114|MPQC1004|MPQC994|MPQC974|MPQC973|MPQC804|MPQC784|MPQC780|\bMPG7\b|MPDCG75|MPDCG71|MPDC1006|MP101DC|MPDC9000|MPDC905|MPDC706HD|MPDC706|MPDC705|MPDC110|MPDC100|MPDC99|MPDC97|MPDC88|MPDC8|MPDC77|MP709|MID701|MID711|MID170|MPDC703|MPQC1010', // https://www.celkonmobiles.com/?_a=categoryphones&sid=2 'CelkonTablet' => 'CT695|CT888|CT[\s]?910|CT7 Tab|CT9 Tab|CT3 Tab|CT2 Tab|CT1 Tab|C820|C720|\bCT-1\b', // http://www.wolderelectronics.com/productos/manuales-y-guias-rapidas/categoria-2-miTab 'WolderTablet' => 'miTab \b(DIAMOND|SPACE|BROOKLYN|NEO|FLY|MANHATTAN|FUNK|EVOLUTION|SKY|GOCAR|IRON|GENIUS|POP|MINT|EPSILON|BROADWAY|JUMP|HOP|LEGEND|NEW AGE|LINE|ADVANCE|FEEL|FOLLOW|LIKE|LINK|LIVE|THINK|FREEDOM|CHICAGO|CLEVELAND|BALTIMORE-GH|IOWA|BOSTON|SEATTLE|PHOENIX|DALLAS|IN 101|MasterChef)\b', 'MediacomTablet' => 'M-MPI10C3G|M-SP10EG|M-SP10EGP|M-SP10HXAH|M-SP7HXAH|M-SP10HXBH|M-SP8HXAH|M-SP8MXA', // http://www.mi.com/en 'MiTablet' => '\bMI PAD\b|\bHM NOTE 1W\b', // http://www.nbru.cn/index.html 'NibiruTablet' => 'Nibiru M1|Nibiru Jupiter One', // http://navroad.com/products/produkty/tablety/ // http://navroad.com/products/produkty/tablety/ 'NexoTablet' => 'NEXO NOVA|NEXO 10|NEXO AVIO|NEXO FREE|NEXO GO|NEXO EVO|NEXO 3G|NEXO SMART|NEXO KIDDO|NEXO MOBI', // http://leader-online.com/new_site/product-category/tablets/ // http://www.leader-online.net.au/List/Tablet 'LeaderTablet' => 'TBLT10Q|TBLT10I|TBL-10WDKB|TBL-10WDKBO2013|TBL-W230V2|TBL-W450|TBL-W500|SV572|TBLT7I|TBA-AC7-8G|TBLT79|TBL-8W16|TBL-10W32|TBL-10WKB|TBL-W100', // http://www.datawind.com/ubislate/ 'UbislateTablet' => 'UbiSlate[\s]?7C', // http://www.pocketbook-int.com/ru/support 'PocketBookTablet' => 'Pocketbook', // http://www.kocaso.com/product_tablet.html 'KocasoTablet' => '\b(TB-1207)\b', // http://global.hisense.com/product/asia/tablet/Sero7/201412/t20141215_91832.htm 'HisenseTablet' => '\b(F5281|E2371)\b', // http://www.tesco.com/direct/hudl/ 'Hudl' => 'Hudl HT7S3|Hudl 2', // http://www.telstra.com.au/home-phone/thub-2/ 'TelstraTablet' => 'T-Hub2', 'GenericTablet' => 'Android.*\b97D\b|Tablet(?!.*PC)|BNTV250A|MID-WCDMA|LogicPD Zoom2|\bA7EB\b|CatNova8|A1_07|CT704|CT1002|\bM721\b|rk30sdk|\bEVOTAB\b|M758A|ET904|ALUMIUM10|Smartfren Tab|Endeavour 1010|Tablet-PC-4|Tagi Tab|\bM6pro\b|CT1020W|arc 10HD|\bTP750\b|\bQTAQZ3\b|WVT101|TM1088|KT107' ); /** * List of mobile Operating Systems. * * @var array */ protected static $operatingSystems = array( 'AndroidOS' => 'Android', 'BlackBerryOS' => 'blackberry|\bBB10\b|rim tablet os', 'PalmOS' => 'PalmOS|avantgo|blazer|elaine|hiptop|palm|plucker|xiino', 'SymbianOS' => 'Symbian|SymbOS|Series60|Series40|SYB-[0-9]+|\bS60\b', // @reference: http://en.wikipedia.org/wiki/Windows_Mobile 'WindowsMobileOS' => 'Windows CE.*(PPC|Smartphone|Mobile|[0-9]{3}x[0-9]{3})|Window Mobile|Windows Phone [0-9.]+|WCE;', // @reference: http://en.wikipedia.org/wiki/Windows_Phone // http://wifeng.cn/?r=blog&a=view&id=106 // http://nicksnettravels.builttoroam.com/post/2011/01/10/Bogus-Windows-Phone-7-User-Agent-String.aspx // http://msdn.microsoft.com/library/ms537503.aspx // https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx 'WindowsPhoneOS' => 'Windows Phone 10.0|Windows Phone 8.1|Windows Phone 8.0|Windows Phone OS|XBLWP7|ZuneWP7|Windows NT 6.[23]; ARM;', 'iOS' => '\biPhone.*Mobile|\biPod|\biPad|AppleCoreMedia', // http://en.wikipedia.org/wiki/MeeGo // @todo: research MeeGo in UAs 'MeeGoOS' => 'MeeGo', // http://en.wikipedia.org/wiki/Maemo // @todo: research Maemo in UAs 'MaemoOS' => 'Maemo', 'JavaOS' => 'J2ME/|\bMIDP\b|\bCLDC\b', // '|Java/' produces bug #135 'webOS' => 'webOS|hpwOS', 'badaOS' => '\bBada\b', 'BREWOS' => 'BREW', ); /** * List of mobile User Agents. * * IMPORTANT: This is a list of only mobile browsers. * Mobile Detect 2.x supports only mobile browsers, * it was never designed to detect all browsers. * The change will come in 2017 in the 3.x release for PHP7. * * @var array */ protected static $browsers = array( //'Vivaldi' => 'Vivaldi', // @reference: https://developers.google.com/chrome/mobile/docs/user-agent 'Chrome' => '\bCrMo\b|CriOS|Android.*Chrome/[.0-9]* (Mobile)?', 'Dolfin' => '\bDolfin\b', 'Opera' => 'Opera.*Mini|Opera.*Mobi|Android.*Opera|Mobile.*OPR/[0-9.]+$|Coast/[0-9.]+', 'Skyfire' => 'Skyfire', 'Edge' => 'Mobile Safari/[.0-9]* Edge', 'IE' => 'IEMobile|MSIEMobile', // |Trident/[.0-9]+ 'Firefox' => 'fennec|firefox.*maemo|(Mobile|Tablet).*Firefox|Firefox.*Mobile|FxiOS', 'Bolt' => 'bolt', 'TeaShark' => 'teashark', 'Blazer' => 'Blazer', // @reference: http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html#//apple_ref/doc/uid/TP40006517-SW3 'Safari' => 'Version.*Mobile.*Safari|Safari.*Mobile|MobileSafari', // http://en.wikipedia.org/wiki/Midori_(web_browser) //'Midori' => 'midori', //'Tizen' => 'Tizen', 'WeChat' => '\bMicroMessenger\b', 'UCBrowser' => 'UC.*Browser|UCWEB', 'baiduboxapp' => 'baiduboxapp', 'baidubrowser' => 'baidubrowser', // https://github.com/serbanghita/Mobile-Detect/issues/7 'DiigoBrowser' => 'DiigoBrowser', // http://www.puffinbrowser.com/index.php 'Puffin' => 'Puffin', // http://mercury-browser.com/index.html 'Mercury' => '\bMercury\b', // http://en.wikipedia.org/wiki/Obigo_Browser 'ObigoBrowser' => 'Obigo', // http://en.wikipedia.org/wiki/NetFront 'NetFront' => 'NF-Browser', // @reference: http://en.wikipedia.org/wiki/Minimo // http://en.wikipedia.org/wiki/Vision_Mobile_Browser 'GenericBrowser' => 'NokiaBrowser|OviBrowser|OneBrowser|TwonkyBeamBrowser|SEMC.*Browser|FlyFlow|Minimo|NetFront|Novarra-Vision|MQQBrowser|MicroMessenger', // @reference: https://en.wikipedia.org/wiki/Pale_Moon_(web_browser) 'PaleMoon' => 'Android.*PaleMoon|Mobile.*PaleMoon', ); /** * Utilities. * * @var array */ protected static $utilities = array( // Experimental. When a mobile device wants to switch to 'Desktop Mode'. // http://scottcate.com/technology/windows-phone-8-ie10-desktop-or-mobile/ // https://github.com/serbanghita/Mobile-Detect/issues/57#issuecomment-15024011 // https://developers.facebook.com/docs/sharing/best-practices 'Bot' => 'Googlebot|facebookexternalhit|AdsBot-Google|Google Keyword Suggestion|Facebot|YandexBot|YandexMobileBot|bingbot|ia_archiver|AhrefsBot|Ezooms|GSLFbot|WBSearchBot|Twitterbot|TweetmemeBot|Twikle|PaperLiBot|Wotbox|UnwindFetchor|Exabot|MJ12bot|YandexImages|TurnitinBot|Pingdom', 'MobileBot' => 'Googlebot-Mobile|AdsBot-Google-Mobile|YahooSeeker/M1A1-R2D2', 'DesktopMode' => 'WPDesktop', 'TV' => 'SonyDTV|HbbTV', // experimental 'WebKit' => '(webkit)[ /]([\w.]+)', // @todo: Include JXD consoles. 'Console' => '\b(Nintendo|Nintendo WiiU|Nintendo 3DS|Nintendo Switch|PLAYSTATION|Xbox)\b', 'Watch' => 'SM-V700', ); /** * All possible HTTP headers that represent the * User-Agent string. * * @var array */ protected static $uaHttpHeaders = array( // The default User-Agent string. 'HTTP_USER_AGENT', // Header can occur on devices using Opera Mini. 'HTTP_X_OPERAMINI_PHONE_UA', // Vodafone specific header: http://www.seoprinciple.com/mobile-web-community-still-angry-at-vodafone/24/ 'HTTP_X_DEVICE_USER_AGENT', 'HTTP_X_ORIGINAL_USER_AGENT', 'HTTP_X_SKYFIRE_PHONE', 'HTTP_X_BOLT_PHONE_UA', 'HTTP_DEVICE_STOCK_UA', 'HTTP_X_UCBROWSER_DEVICE_UA' ); /** * The individual segments that could exist in a User-Agent string. VER refers to the regular * expression defined in the constant self::VER. * * @var array */ protected static $properties = array( // Build 'Mobile' => 'Mobile/[VER]', 'Build' => 'Build/[VER]', 'Version' => 'Version/[VER]', 'VendorID' => 'VendorID/[VER]', // Devices 'iPad' => 'iPad.*CPU[a-z ]+[VER]', 'iPhone' => 'iPhone.*CPU[a-z ]+[VER]', 'iPod' => 'iPod.*CPU[a-z ]+[VER]', //'BlackBerry' => array('BlackBerry[VER]', 'BlackBerry [VER];'), 'Kindle' => 'Kindle/[VER]', // Browser 'Chrome' => array( 'Chrome/[VER]', 'CriOS/[VER]', 'CrMo/[VER]' ), 'Coast' => array( 'Coast/[VER]' ), 'Dolfin' => 'Dolfin/[VER]', // @reference: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox 'Firefox' => array( 'Firefox/[VER]', 'FxiOS/[VER]' ), 'Fennec' => 'Fennec/[VER]', // http://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx // https://msdn.microsoft.com/en-us/library/ie/hh869301(v=vs.85).aspx 'Edge' => 'Edge/[VER]', 'IE' => array( 'IEMobile/[VER];', 'IEMobile [VER]', 'MSIE [VER];', 'Trident/[0-9.]+;.*rv:[VER]' ), // http://en.wikipedia.org/wiki/NetFront 'NetFront' => 'NetFront/[VER]', 'NokiaBrowser' => 'NokiaBrowser/[VER]', 'Opera' => array( ' OPR/[VER]', 'Opera Mini/[VER]', 'Version/[VER]' ), 'Opera Mini' => 'Opera Mini/[VER]', 'Opera Mobi' => 'Version/[VER]', 'UCBrowser' => array( 'UCWEB[VER]', 'UC.*Browser/[VER]' ), 'MQQBrowser' => 'MQQBrowser/[VER]', 'MicroMessenger' => 'MicroMessenger/[VER]', 'baiduboxapp' => 'baiduboxapp/[VER]', 'baidubrowser' => 'baidubrowser/[VER]', 'SamsungBrowser' => 'SamsungBrowser/[VER]', 'Iron' => 'Iron/[VER]', // @note: Safari 7534.48.3 is actually Version 5.1. // @note: On BlackBerry the Version is overwriten by the OS. 'Safari' => array( 'Version/[VER]', 'Safari/[VER]' ), 'Skyfire' => 'Skyfire/[VER]', 'Tizen' => 'Tizen/[VER]', 'Webkit' => 'webkit[ /][VER]', 'PaleMoon' => 'PaleMoon/[VER]', // Engine 'Gecko' => 'Gecko/[VER]', 'Trident' => 'Trident/[VER]', 'Presto' => 'Presto/[VER]', 'Goanna' => 'Goanna/[VER]', // OS 'iOS' => ' \bi?OS\b [VER][ ;]{1}', 'Android' => 'Android [VER]', 'BlackBerry' => array( 'BlackBerry[\w]+/[VER]', 'BlackBerry.*Version/[VER]', 'Version/[VER]' ), 'BREW' => 'BREW [VER]', 'Java' => 'Java/[VER]', // @reference: http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/08/29/introducing-the-ie9-on-windows-phone-mango-user-agent-string.aspx // @reference: http://en.wikipedia.org/wiki/Windows_NT#Releases 'Windows Phone OS' => array( 'Windows Phone OS [VER]', 'Windows Phone [VER]' ), 'Windows Phone' => 'Windows Phone [VER]', 'Windows CE' => 'Windows CE/[VER]', // http://social.msdn.microsoft.com/Forums/en-US/windowsdeveloperpreviewgeneral/thread/6be392da-4d2f-41b4-8354-8dcee20c85cd 'Windows NT' => 'Windows NT [VER]', 'Symbian' => array( 'SymbianOS/[VER]', 'Symbian/[VER]' ), 'webOS' => array( 'webOS/[VER]', 'hpwOS/[VER];' ), ); /** * Construct an instance of this class. * * @param array $headers Specify the headers as injection. Should be PHP _SERVER flavored. * If left empty, will use the global _SERVER['HTTP_*'] vars instead. * @param string $userAgent Inject the User-Agent header. If null, will use HTTP_USER_AGENT * from the $headers array instead. */ public function __construct( array $headers = null, $userAgent = null ) { $this->setHttpHeaders( $headers ); $this->setUserAgent( $userAgent ); } /** * Get the current script version. * This is useful for the demo.php file, * so people can check on what version they are testing * for mobile devices. * * @return string The version number in semantic version format. */ public static function getScriptVersion() { return self::VERSION; } /** * Set the HTTP Headers. Must be PHP-flavored. This method will reset existing headers. * * @param array $httpHeaders The headers to set. If null, then using PHP's _SERVER to extract * the headers. The default null is left for backwards compatibility. */ public function setHttpHeaders( $httpHeaders = null ) { // use global _SERVER if $httpHeaders aren't defined if ( ! is_array( $httpHeaders ) || ! count( $httpHeaders ) ) { $httpHeaders = $GLOBALS['_SERVER']; } // clear existing headers $this->httpHeaders = array(); // Only save HTTP headers. In PHP land, that means only _SERVER vars that // start with HTTP_. foreach ( $httpHeaders as $key => $value ) { if ( substr( $key, 0, 5 ) === 'HTTP_' ) { $this->httpHeaders[ $key ] = $value; } } // In case we're dealing with CloudFront, we need to know. $this->setCfHeaders( $httpHeaders ); } /** * Retrieves the HTTP headers. * * @return array */ public function getHttpHeaders() { return $this->httpHeaders; } /** * Retrieves a particular header. If it doesn't exist, no exception/error is caused. * Simply null is returned. * * @param string $header The name of the header to retrieve. Can be HTTP compliant such as * "User-Agent" or "X-Device-User-Agent" or can be php-esque with the * all-caps, HTTP_ prefixed, underscore seperated awesomeness. * * @return string|null The value of the header. */ public function getHttpHeader( $header ) { // are we using PHP-flavored headers? if ( strpos( $header, '_' ) === false ) { $header = str_replace( '-', '_', $header ); $header = strtoupper( $header ); } // test the alternate, too $altHeader = 'HTTP_' . $header; //Test both the regular and the HTTP_ prefix if ( isset( $this->httpHeaders[ $header ] ) ) { return $this->httpHeaders[ $header ]; } elseif ( isset( $this->httpHeaders[ $altHeader ] ) ) { return $this->httpHeaders[ $altHeader ]; } return null; } public function getMobileHeaders() { return self::$mobileHeaders; } /** * Get all possible HTTP headers that * can contain the User-Agent string. * * @return array List of HTTP headers. */ public function getUaHttpHeaders() { return self::$uaHttpHeaders; } /** * Set CloudFront headers * http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/header-caching.html#header-caching-web-device * * @param array $cfHeaders List of HTTP headers * * @return boolean If there were CloudFront headers to be set */ public function setCfHeaders( $cfHeaders = null ) { // use global _SERVER if $cfHeaders aren't defined if ( ! is_array( $cfHeaders ) || ! count( $cfHeaders ) ) { $cfHeaders = $GLOBALS['_SERVER']; } // clear existing headers $this->cloudfrontHeaders = array(); // Only save CLOUDFRONT headers. In PHP land, that means only _SERVER vars that // start with cloudfront-. $response = false; foreach ( $cfHeaders as $key => $value ) { if ( substr( strtolower( $key ), 0, 16 ) === 'http_cloudfront_' ) { $this->cloudfrontHeaders[ strtoupper( $key ) ] = $value; $response = true; } } return $response; } /** * Retrieves the cloudfront headers. * * @return array */ public function getCfHeaders() { return $this->cloudfrontHeaders; } /** * @param string $userAgent * * @return string */ private function prepareUserAgent( $userAgent ) { $userAgent = trim( $userAgent ); $userAgent = substr( $userAgent, 0, 500 ); return $userAgent; } /** * Set the User-Agent to be used. * * @param string $userAgent The user agent string to set. * * @return string|null */ public function setUserAgent( $userAgent = null ) { // Invalidate cache due to #375 $this->cache = array(); if ( false === empty( $userAgent ) ) { return $this->userAgent = $this->prepareUserAgent( $userAgent ); } else { $this->userAgent = null; foreach ( $this->getUaHttpHeaders() as $altHeader ) { if ( false === empty( $this->httpHeaders[ $altHeader ] ) ) { // @todo: should use getHttpHeader(), but it would be slow. (Serban) $this->userAgent .= $this->httpHeaders[ $altHeader ] . " "; } } if ( ! empty( $this->userAgent ) ) { return $this->userAgent = $this->prepareUserAgent( $this->userAgent ); } } if ( count( $this->getCfHeaders() ) > 0 ) { return $this->userAgent = 'Amazon CloudFront'; } return $this->userAgent = null; } /** * Retrieve the User-Agent. * * @return string|null The user agent if it's set. */ public function getUserAgent() { return $this->userAgent; } /** * Set the detection type. Must be one of self::DETECTION_TYPE_MOBILE or * self::DETECTION_TYPE_EXTENDED. Otherwise, nothing is set. * * @deprecated since version 2.6.9 * * @param string $type The type. Must be a self::DETECTION_TYPE_* constant. The default * parameter is null which will default to self::DETECTION_TYPE_MOBILE. */ public function setDetectionType( $type = null ) { if ( $type === null ) { $type = self::DETECTION_TYPE_MOBILE; } if ( $type !== self::DETECTION_TYPE_MOBILE && $type !== self::DETECTION_TYPE_EXTENDED ) { return; } $this->detectionType = $type; } public function getMatchingRegex() { return $this->matchingRegex; } public function getMatchesArray() { return $this->matchesArray; } /** * Retrieve the list of known phone devices. * * @return array List of phone devices. */ public static function getPhoneDevices() { return self::$phoneDevices; } /** * Retrieve the list of known tablet devices. * * @return array List of tablet devices. */ public static function getTabletDevices() { return self::$tabletDevices; } /** * Alias for getBrowsers() method. * * @return array List of user agents. */ public static function getUserAgents() { return self::getBrowsers(); } /** * Retrieve the list of known browsers. Specifically, the user agents. * * @return array List of browsers / user agents. */ public static function getBrowsers() { return self::$browsers; } /** * Retrieve the list of known utilities. * * @return array List of utilities. */ public static function getUtilities() { return self::$utilities; } /** * Method gets the mobile detection rules. This method is used for the magic methods $detect->is*(). * * @deprecated since version 2.6.9 * * @return array All the rules (but not extended). */ public static function getMobileDetectionRules() { static $rules; if ( ! $rules ) { $rules = array_merge( self::$phoneDevices, self::$tabletDevices, self::$operatingSystems, self::$browsers ); } return $rules; } /** * Method gets the mobile detection rules + utilities. * The reason this is separate is because utilities rules * don't necessary imply mobile. This method is used inside * the new $detect->is('stuff') method. * * @deprecated since version 2.6.9 * * @return array All the rules + extended. */ public function getMobileDetectionRulesExtended() { static $rules; if ( ! $rules ) { // Merge all rules together. $rules = array_merge( self::$phoneDevices, self::$tabletDevices, self::$operatingSystems, self::$browsers, self::$utilities ); } return $rules; } /** * Retrieve the current set of rules. * * @deprecated since version 2.6.9 * * @return array */ public function getRules() { if ( $this->detectionType == self::DETECTION_TYPE_EXTENDED ) { return self::getMobileDetectionRulesExtended(); } else { return self::getMobileDetectionRules(); } } /** * Retrieve the list of mobile operating systems. * * @return array The list of mobile operating systems. */ public static function getOperatingSystems() { return self::$operatingSystems; } /** * Check the HTTP headers for signs of mobile. * This is the fastest mobile check possible; it's used * inside isMobile() method. * * @return bool */ public function checkHttpHeadersForMobile() { foreach ( $this->getMobileHeaders() as $mobileHeader => $matchType ) { if ( isset( $this->httpHeaders[ $mobileHeader ] ) ) { if ( is_array( $matchType['matches'] ) ) { foreach ( $matchType['matches'] as $_match ) { if ( strpos( $this->httpHeaders[ $mobileHeader ], $_match ) !== false ) { return true; } } return false; } else { return true; } } } return false; } /** * Magic overloading method. * * @method boolean is[...]() * @param string $name * @param array $arguments * * @return mixed * @throws BadMethodCallException when the method doesn't exist and doesn't start with 'is' */ public function __call( $name, $arguments ) { // make sure the name starts with 'is', otherwise if ( substr( $name, 0, 2 ) !== 'is' ) { throw new BadMethodCallException( "No such method exists: $name" ); } $this->setDetectionType( self::DETECTION_TYPE_MOBILE ); $key = substr( $name, 2 ); return $this->matchUAAgainstKey( $key ); } /** * Find a detection rule that matches the current User-agent. * * @param null $userAgent deprecated * * @return boolean */ protected function matchDetectionRulesAgainstUA( $userAgent = null ) { // Begin general search. foreach ( $this->getRules() as $_regex ) { if ( empty( $_regex ) ) { continue; } if ( $this->match( $_regex, $userAgent ) ) { return true; } } return false; } /** * Search for a certain key in the rules array. * If the key is found then try to match the corresponding * regex against the User-Agent. * * @param string $key * * @return boolean */ protected function matchUAAgainstKey( $key ) { // Make the keys lowercase so we can match: isIphone(), isiPhone(), isiphone(), etc. $key = strtolower( $key ); if ( false === isset( $this->cache[ $key ] ) ) { // change the keys to lower case $_rules = array_change_key_case( $this->getRules() ); if ( false === empty( $_rules[ $key ] ) ) { $this->cache[ $key ] = $this->match( $_rules[ $key ] ); } if ( false === isset( $this->cache[ $key ] ) ) { $this->cache[ $key ] = false; } } return $this->cache[ $key ]; } /** * Check if the device is mobile. * Returns true if any type of mobile device detected, including special ones * * @param null $userAgent deprecated * @param null $httpHeaders deprecated * * @return bool */ public function isMobile( $userAgent = null, $httpHeaders = null ) { if ( $httpHeaders ) { $this->setHttpHeaders( $httpHeaders ); } if ( $userAgent ) { $this->setUserAgent( $userAgent ); } // Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront' if ( $this->getUserAgent() === 'Amazon CloudFront' ) { $cfHeaders = $this->getCfHeaders(); if ( array_key_exists( 'HTTP_CLOUDFRONT_IS_MOBILE_VIEWER', $cfHeaders ) && $cfHeaders['HTTP_CLOUDFRONT_IS_MOBILE_VIEWER'] === 'true' ) { return true; } } $this->setDetectionType( self::DETECTION_TYPE_MOBILE ); if ( $this->checkHttpHeadersForMobile() ) { return true; } else { return $this->matchDetectionRulesAgainstUA(); } } /** * Check if the device is a tablet. * Return true if any type of tablet device is detected. * * @param string $userAgent deprecated * @param array $httpHeaders deprecated * * @return bool */ public function isTablet( $userAgent = null, $httpHeaders = null ) { // Check specifically for cloudfront headers if the useragent === 'Amazon CloudFront' if ( $this->getUserAgent() === 'Amazon CloudFront' ) { $cfHeaders = $this->getCfHeaders(); if ( array_key_exists( 'HTTP_CLOUDFRONT_IS_TABLET_VIEWER', $cfHeaders ) && $cfHeaders['HTTP_CLOUDFRONT_IS_TABLET_VIEWER'] === 'true' ) { return true; } } $this->setDetectionType( self::DETECTION_TYPE_MOBILE ); foreach ( self::$tabletDevices as $_regex ) { if ( $this->match( $_regex, $userAgent ) ) { return true; } } return false; } /** * This method checks for a certain property in the * userAgent. * @todo: The httpHeaders part is not yet used. * * @param string $key * @param string $userAgent deprecated * @param string $httpHeaders deprecated * * @return bool|int|null */ public function is( $key, $userAgent = null, $httpHeaders = null ) { // Set the UA and HTTP headers only if needed (eg. batch mode). if ( $httpHeaders ) { $this->setHttpHeaders( $httpHeaders ); } if ( $userAgent ) { $this->setUserAgent( $userAgent ); } $this->setDetectionType( self::DETECTION_TYPE_EXTENDED ); return $this->matchUAAgainstKey( $key ); } /** * Some detection rules are relative (not standard), * because of the diversity of devices, vendors and * their conventions in representing the User-Agent or * the HTTP headers. * * This method will be used to check custom regexes against * the User-Agent string. * * @param $regex * @param string $userAgent * * @return bool * * @todo: search in the HTTP headers too. */ public function match( $regex, $userAgent = null ) { $match = (bool) preg_match( sprintf( '#%s#is', $regex ), ( false === empty( $userAgent ) ? $userAgent : $this->userAgent ), $matches ); // If positive match is found, store the results for debug. if ( $match ) { $this->matchingRegex = $regex; $this->matchesArray = $matches; } return $match; } /** * Get the properties array. * * @return array */ public static function getProperties() { return self::$properties; } /** * Prepare the version number. * * @todo Remove the error supression from str_replace() call. * * @param string $ver The string version, like "2.6.21.2152"; * * @return float */ public function prepareVersionNo( $ver ) { $ver = str_replace( array( '_', ' ', '/' ), '.', $ver ); $arrVer = explode( '.', $ver, 2 ); if ( isset( $arrVer[1] ) ) { $arrVer[1] = @str_replace( '.', '', $arrVer[1] ); // @todo: treat strings versions. } return (float) implode( '.', $arrVer ); } /** * Check the version of the given property in the User-Agent. * Will return a float number. (eg. 2_0 will return 2.0, 4.3.1 will return 4.31) * * @param string $propertyName The name of the property. See self::getProperties() array * keys for all possible properties. * @param string $type Either self::VERSION_TYPE_STRING to get a string value or * self::VERSION_TYPE_FLOAT indicating a float value. This parameter * is optional and defaults to self::VERSION_TYPE_STRING. Passing an * invalid parameter will default to the this type as well. * * @return string|float The version of the property we are trying to extract. */ public function version( $propertyName, $type = self::VERSION_TYPE_STRING ) { if ( empty( $propertyName ) ) { return false; } // set the $type to the default if we don't recognize the type if ( $type !== self::VERSION_TYPE_STRING && $type !== self::VERSION_TYPE_FLOAT ) { $type = self::VERSION_TYPE_STRING; } $properties = self::getProperties(); // Check if the property exists in the properties array. if ( true === isset( $properties[ $propertyName ] ) ) { // Prepare the pattern to be matched. // Make sure we always deal with an array (string is converted). $properties[ $propertyName ] = (array) $properties[ $propertyName ]; foreach ( $properties[ $propertyName ] as $propertyMatchString ) { $propertyPattern = str_replace( '[VER]', self::VER, $propertyMatchString ); // Identify and extract the version. preg_match( sprintf( '#%s#is', $propertyPattern ), $this->userAgent, $match ); if ( false === empty( $match[1] ) ) { $version = ( $type == self::VERSION_TYPE_FLOAT ? $this->prepareVersionNo( $match[1] ) : $match[1] ); return $version; } } } return false; } /** * Retrieve the mobile grading, using self::MOBILE_GRADE_* constants. * * @return string One of the self::MOBILE_GRADE_* constants. */ public function mobileGrade() { $isMobile = $this->isMobile(); if ( // Apple iOS 4-7.0 – Tested on the original iPad (4.3 / 5.0), iPad 2 (4.3 / 5.1 / 6.1), iPad 3 (5.1 / 6.0), iPad Mini (6.1), iPad Retina (7.0), iPhone 3GS (4.3), iPhone 4 (4.3 / 5.1), iPhone 4S (5.1 / 6.0), iPhone 5 (6.0), and iPhone 5S (7.0) $this->is( 'iOS' ) && $this->version( 'iPad', self::VERSION_TYPE_FLOAT ) >= 4.3 || $this->is( 'iOS' ) && $this->version( 'iPhone', self::VERSION_TYPE_FLOAT ) >= 4.3 || $this->is( 'iOS' ) && $this->version( 'iPod', self::VERSION_TYPE_FLOAT ) >= 4.3 || // Android 2.1-2.3 - Tested on the HTC Incredible (2.2), original Droid (2.2), HTC Aria (2.1), Google Nexus S (2.3). Functional on 1.5 & 1.6 but performance may be sluggish, tested on Google G1 (1.5) // Android 3.1 (Honeycomb) - Tested on the Samsung Galaxy Tab 10.1 and Motorola XOOM // Android 4.0 (ICS) - Tested on a Galaxy Nexus. Note: transition performance can be poor on upgraded devices // Android 4.1 (Jelly Bean) - Tested on a Galaxy Nexus and Galaxy 7 ( $this->version( 'Android', self::VERSION_TYPE_FLOAT ) > 2.1 && $this->is( 'Webkit' ) ) || // Windows Phone 7.5-8 - Tested on the HTC Surround (7.5), HTC Trophy (7.5), LG-E900 (7.5), Nokia 800 (7.8), HTC Mazaa (7.8), Nokia Lumia 520 (8), Nokia Lumia 920 (8), HTC 8x (8) $this->version( 'Windows Phone OS', self::VERSION_TYPE_FLOAT ) >= 7.5 || // Tested on the Torch 9800 (6) and Style 9670 (6), BlackBerry® Torch 9810 (7), BlackBerry Z10 (10) $this->is( 'BlackBerry' ) && $this->version( 'BlackBerry', self::VERSION_TYPE_FLOAT ) >= 6.0 || // Blackberry Playbook (1.0-2.0) - Tested on PlayBook $this->match( 'Playbook.*Tablet' ) || // Palm WebOS (1.4-3.0) - Tested on the Palm Pixi (1.4), Pre (1.4), Pre 2 (2.0), HP TouchPad (3.0) ( $this->version( 'webOS', self::VERSION_TYPE_FLOAT ) >= 1.4 && $this->match( 'Palm|Pre|Pixi' ) ) || // Palm WebOS 3.0 - Tested on HP TouchPad $this->match( 'hp.*TouchPad' ) || // Firefox Mobile 18 - Tested on Android 2.3 and 4.1 devices ( $this->is( 'Firefox' ) && $this->version( 'Firefox', self::VERSION_TYPE_FLOAT ) >= 18 ) || // Chrome for Android - Tested on Android 4.0, 4.1 device ( $this->is( 'Chrome' ) && $this->is( 'AndroidOS' ) && $this->version( 'Android', self::VERSION_TYPE_FLOAT ) >= 4.0 ) || // Skyfire 4.1 - Tested on Android 2.3 device ( $this->is( 'Skyfire' ) && $this->version( 'Skyfire', self::VERSION_TYPE_FLOAT ) >= 4.1 && $this->is( 'AndroidOS' ) && $this->version( 'Android', self::VERSION_TYPE_FLOAT ) >= 2.3 ) || // Opera Mobile 11.5-12: Tested on Android 2.3 ( $this->is( 'Opera' ) && $this->version( 'Opera Mobi', self::VERSION_TYPE_FLOAT ) >= 11.5 && $this->is( 'AndroidOS' ) ) || // Meego 1.2 - Tested on Nokia 950 and N9 $this->is( 'MeeGoOS' ) || // Tizen (pre-release) - Tested on early hardware $this->is( 'Tizen' ) || // Samsung Bada 2.0 - Tested on a Samsung Wave 3, Dolphin browser // @todo: more tests here! $this->is( 'Dolfin' ) && $this->version( 'Bada', self::VERSION_TYPE_FLOAT ) >= 2.0 || // UC Browser - Tested on Android 2.3 device ( ( $this->is( 'UC Browser' ) || $this->is( 'Dolfin' ) ) && $this->version( 'Android', self::VERSION_TYPE_FLOAT ) >= 2.3 ) || // Kindle 3 and Fire - Tested on the built-in WebKit browser for each ( $this->match( 'Kindle Fire' ) || $this->is( 'Kindle' ) && $this->version( 'Kindle', self::VERSION_TYPE_FLOAT ) >= 3.0 ) || // Nook Color 1.4.1 - Tested on original Nook Color, not Nook Tablet $this->is( 'AndroidOS' ) && $this->is( 'NookTablet' ) || // Chrome Desktop 16-24 - Tested on OS X 10.7 and Windows 7 $this->version( 'Chrome', self::VERSION_TYPE_FLOAT ) >= 16 && ! $isMobile || // Safari Desktop 5-6 - Tested on OS X 10.7 and Windows 7 $this->version( 'Safari', self::VERSION_TYPE_FLOAT ) >= 5.0 && ! $isMobile || // Firefox Desktop 10-18 - Tested on OS X 10.7 and Windows 7 $this->version( 'Firefox', self::VERSION_TYPE_FLOAT ) >= 10.0 && ! $isMobile || // Internet Explorer 7-9 - Tested on Windows XP, Vista and 7 $this->version( 'IE', self::VERSION_TYPE_FLOAT ) >= 7.0 && ! $isMobile || // Opera Desktop 10-12 - Tested on OS X 10.7 and Windows 7 $this->version( 'Opera', self::VERSION_TYPE_FLOAT ) >= 10 && ! $isMobile ) { return self::MOBILE_GRADE_A; } if ( $this->is( 'iOS' ) && $this->version( 'iPad', self::VERSION_TYPE_FLOAT ) < 4.3 || $this->is( 'iOS' ) && $this->version( 'iPhone', self::VERSION_TYPE_FLOAT ) < 4.3 || $this->is( 'iOS' ) && $this->version( 'iPod', self::VERSION_TYPE_FLOAT ) < 4.3 || // Blackberry 5.0: Tested on the Storm 2 9550, Bold 9770 $this->is( 'Blackberry' ) && $this->version( 'BlackBerry', self::VERSION_TYPE_FLOAT ) >= 5 && $this->version( 'BlackBerry', self::VERSION_TYPE_FLOAT ) < 6 || //Opera Mini (5.0-6.5) - Tested on iOS 3.2/4.3 and Android 2.3 ( $this->version( 'Opera Mini', self::VERSION_TYPE_FLOAT ) >= 5.0 && $this->version( 'Opera Mini', self::VERSION_TYPE_FLOAT ) <= 7.0 && ( $this->version( 'Android', self::VERSION_TYPE_FLOAT ) >= 2.3 || $this->is( 'iOS' ) ) ) || // Nokia Symbian^3 - Tested on Nokia N8 (Symbian^3), C7 (Symbian^3), also works on N97 (Symbian^1) $this->match( 'NokiaN8|NokiaC7|N97.*Series60|Symbian/3' ) || // @todo: report this (tested on Nokia N71) $this->version( 'Opera Mobi', self::VERSION_TYPE_FLOAT ) >= 11 && $this->is( 'SymbianOS' ) ) { return self::MOBILE_GRADE_B; } if ( // Blackberry 4.x - Tested on the Curve 8330 $this->version( 'BlackBerry', self::VERSION_TYPE_FLOAT ) <= 5.0 || // Windows Mobile - Tested on the HTC Leo (WinMo 5.2) $this->match( 'MSIEMobile|Windows CE.*Mobile' ) || $this->version( 'Windows Mobile', self::VERSION_TYPE_FLOAT ) <= 5.2 || // Tested on original iPhone (3.1), iPhone 3 (3.2) $this->is( 'iOS' ) && $this->version( 'iPad', self::VERSION_TYPE_FLOAT ) <= 3.2 || $this->is( 'iOS' ) && $this->version( 'iPhone', self::VERSION_TYPE_FLOAT ) <= 3.2 || $this->is( 'iOS' ) && $this->version( 'iPod', self::VERSION_TYPE_FLOAT ) <= 3.2 || // Internet Explorer 7 and older - Tested on Windows XP $this->version( 'IE', self::VERSION_TYPE_FLOAT ) <= 7.0 && ! $isMobile ) { return self::MOBILE_GRADE_C; } // All older smartphone platforms and featurephones - Any device that doesn't support media queries // will receive the basic, C grade experience. return self::MOBILE_GRADE_C; } } } catippy.com https://catippy.com Best Selling Products Store Wed, 29 Apr 2026 02:12:39 +0000 en-GB hourly 1 https://wordpress.org/?v=6.9.4 https://catippy.com/wp-content/uploads/2022/09/cropped-Catippy-1-1-1-32x32.png catippy.com https://catippy.com 32 32 Top 8 de Mejores Casinos Online de España 2024 https://catippy.com/top-8-de-mejores-casinos-online-de-espana-2024-3/ Wed, 29 Apr 2026 07:50:22 +0000 https://catippy.com/?p=54502

Content

Los métodos de pago aceptados incluyen el Bizum, tarjetas Visa y Mastercard, monederos Skrill y Neteller, transferencia bancaria, Paypal y Apple Pay. Algunos de los slots de Pragmatic Play con mayores pagos incluyen "Wolf Gold", "The Dog House" y "Great Rhino Megaways", conocidos por su alto RTP y emocionantes bonificaciones. Los casinos en línea en España son muy seguros, ya que deben seguir unas estrictas normas de funcionamiento definidas por la DGOJ. Ofrece pagos rápidos y seguros directamente desde tu iPhone, iPad o Mac.

Las ofertas también incluyen el Club VIP de 6 niveles, que ofrece pagos más rápidos y recompensas extra. A continuación, te lo enseñamos que juegos hay en los mejores casinos online españoles y nuestras recomendaciones en detalle. No forma parte de ningún operador de juegos de azar ni de cualquier otra institución.

Mejores casinos online en España

Puede que ostenten licencias internacionales como la de la Malta Gaming Authority, pero eso no quiere decir que sean legales en nuestro país. Así, puedes apostar en casinos online con dinero real con total seguridad. Identificar casinos online seguros es muy sencillo, aunque al principio puede parecer un tanto complejo. Todos los casinos cuentan con las licencias de la Dirección General de Ordenación del Juego (DGOJ), requisito indispensable para operar de manera legal en España.

  • Es importante asegurarte de que toda la información sea correcta para evitar problemas al retirar tus ganancias.
  • En nuestra experiencia, los mejores casinos con Skrill ofrecen retiros mucho más rápidos que el promedio.
  • Las licencias no solo velan por el cumplimiento de la ley, sino que también protegen a los jugadores, ofreciendo un testimonio de confianza y seguridad en el entorno del juego con dinero real.
  • Todos los juegos de casino tienen cierto margen de la casa, por lo que el casino parte siempre con ventaja.
  • Dependiendo de la ubicación del jugador estás varían por localidad y moneda, pero casi todas son internacionales, y hay opciones para todo tipo de usuarios.

Aunque no todos los operadores lo ofrecen, es un juego que está ganando terreno rápidamente por su simplicidad y potencial de grandes ganancias. Hay 16 opciones de pago, incluyendo favoritos como Visa, Mastercard, PayPal y opciones populares en España como PokerStars Recarga y Trustly. Algo que garantiza una experiencia de calidad con los juegos de casino que más dan dinero, como The Dog House, Fire Joker o Gate Of Olympus.

Juegos de casino en vivo con dinero real

El mercado de los casinos online con dinero real en España ha mostrado un casinos en linea con dinero real crecimiento sostenido en los últimos años. La migración al casino online dinero real ha ofrecido ventajas significativas respecto a sus contrapartes físicas, convirtiéndose rápidamente en la opción preferida para muchos jugadores. Los inicios de las tragamonedas físicas fueron un hito en el mundo del entretenimiento.

PlayUZU

Con crupieres reales y la posibilidad de interactuar con otros jugadores, los juegos en vivo como la ruleta y el blackjack proporcionan una experiencia inmersiva. Algunos incluyen jackpots progresivos, añadiendo un nivel extra de emoción. Estos juegos son muy populares por su simplicidad y la posibilidad de obtener premios instantáneos. El keno es similar a la lotería, donde los jugadores eligen números y esperan que sean seleccionados al azar. Las variantes más populares son Texas Hold’em y Omaha, y puedes encontrarlas en todas las plataformas de casino en línea. Algunos títulos destacados incluyen "Book of Dead", "Starburst" y "Gonzo’s Quest".

Las retiradas son seguras, pero los tiempos varían según el método elegido y el operador. Las promociones varían según el país y la regulación local. Es una de las modalidades más demandadas en los últimos años, aunque su disponibilidad depende del país y del operador. Hoy en día, la mayoría de jugadores apuesta desde el móvil.

Se expresa como un porcentaje y la cantidad depende de las tasas de pago de los juegos de casino. Y es que en los juegos de azar, la ventaja de la casa es la pérdida esperada de un jugador en relación con su apuesta. Por lo general, incluyen beneficios adicionales como un servicio de atención al cliente especial, tiempos de cobro más rápidos, bonos exclusivos y obsequios de dinero real. La mayoría de los casinos cuentan con programas de fidelidad que los jugadores disfrutan simplemente jugando en el sitio web para acumular puntos o niveles.

Juegos con dinero real más populares

Los casinos comprueban siempre la identidad de los jugadores, a más tardar cuando estos solicitan el primer retiro de efectivo, por lo que no podrás cobrar tu dinero si usas datos falsos o incorrectos. Nosotros evaluamos todos los casinos en detalle para poder recomendar aquellos que se comportan de forma justa y honesta con sus jugadores. Todos los casinos online parten con cierta ventaja matemática respecto a los jugadores. Como consideramos que es básico elegir un buen casino, hemos elaborado una lista con los mejores casinos online que esperamos que pueda serte útil. Hay muchos casinos de confianza que tratan correctamente a sus jugadores, pero también los hay que hacen todo lo posible por aprovecharse de ellos. Por eso hemos creado una clasificación de casinos personalizada para los jugadores de Kazajistán, que consiste en una evaluación de cada casino a nivel global y, a su vez, de determinados factores importantes para jugadores de Kazajistán.

]]>
Novos casinos legais online Portugal ranking dos melhores casinos online 850 https://catippy.com/novos-casinos-legais-online-portugal-ranking-dos-30/ Wed, 29 Apr 2026 04:59:24 +0000 https://catippy.com/?p=56653

Content

Em resumo, os novos casinos online legais em Portugal oferecem uma ampla variedade de opções para jogadores. Além disso, é importante verificar se o casino online oferece uma variedade de opções de jogos e se o software do casino online é de alta qualidade e fácil de usar. Oferece uma variedade de jogos, incluindo blackjack, roleta, poker e slots, bem como uma boa variedade de opções de pagamento e retirada de prémios.

ESC Online: Único Casino Online com Torneios Grátis

Todos eles oferecem experiências de jogo inovadoras e seguras, com variedade de jogos e políticas de recompensas generosas. O software é de alta qualidade e a segurança é garantida por uma licença emitida pela Comissão de Regulação do Jogo de Portugal. Isso pode incluir a verificação de se o casino online oferece um serviço de atendimento ao cliente 24/7, bem como se eles têm uma equipe de suporte técnico especializada. Outro fator importante a considerar é a variedade de opções de bônus e promoções oferecidas pelo casino online.

Melhores Casinos Online Legais

Em Abril de 2026, os 10 melhores casinos online legais no mercado português são a Lebull, Solverde, BacanaPlay, Bwin, VERSUSbet, Betano, Luckia, 888 Casino, ESC Online e Casino Portugal. Em resumo, os novos casinos online em Portugal oferecem uma variedade de opções para jogadores, desde jogos de azar www.criovida.pt e apostas esportivas até bônus de boas-vindas. O Casino 888 é um exemplo perfeito, oferecendo uma variedade de jogos de azar e apostas esportivas sem a necessidade de depósito inicial. O quinto lugar é ocupado pelo Casino Portugal, um casino online que oferece mais de 200 jogos, incluindo slots, jogos de mesa e jogos de azar.

Melhores Casinos Online Em Portugal Com Aplicação Móvel

  • Em primeiro lugar, apresentamos aquela que, para nós, é o melhor casino online legal em Portugal.
  • Se você está procurando por novos casinos online portugal sem depósito, é importante encontrar plataformas seguras e confiáveis.
  • Os melhores casinos online legais em Portugal são o Solverde, o 888Casino e o Nossa Aposta.
  • No entanto, é importante escolher um casino online que seja seguro, confiável e ofereça uma boa experiência de jogo.
  • É importante verificar se o casino online oferece opções de pagamento e retirada seguras e confiáveis, como cartões de crédito, transferências bancárias e serviços de pagamento online.

Se você está procurando por novos casinos online em Portugal sem depósito, você está no lugar certo. O Spin Casino é novos casinos legais online portugal outro exemplo de um casino online licenciado recentemente em Portugal. Com uma licença emitida pela Comissão de Regulação do Jogo (CRJ), o Novo Casino é um dos mais recentes e mais seguros casinos online em Portugal. Se você está procurando por novos casinos online em Portugal, é importante lembrar que a licença é fundamental para garantir a segurança e a transparência dos jogos.

Top 15 Melhores Casinos Online Legais em Portugal

Neste ranking, apresentamos os 5 melhores casinos online em Portugal, considerando fatores como segurança, variedade de jogos, bónus e suporte ao cliente. Em resumo, ao avaliar os casinos online, é fundamental considerar a segurança e a confidencialidade, a variedade de opções de jogo, a variedade de opções de bônus e promoções, bem como a variedade de opções de suporte ao jogador. O Casino Solverde é conhecido por sua ampla variedade de jogos, incluindo slots, blackjack, roulette e muito mais. O Casino Estoril é um dos mais antigos e respeitados casinos de Portugal, e agora oferece uma variedade de jogos online para os seus clientes. Casino Casino – Outro casino online popular em Portugal, conhecido por sua ampla variedade de jogos e sua política de bônus generosa. Casino Solverde – Outro casino online popular em Portugal, conhecido por sua ampla variedade de jogos e sua política de bônus generosa.

Como escolher os melhores casinos online em Portugal

Além disso, é importante verificar se o casino oferece uma variedade de opções de pagamento e retirada de prémios, bem como uma boa variedade de jogos. Além disso, é fundamental verificar se o casino online oferece uma variedade de opções de pagamento e saque, bem como se eles são fáceis de usar e eficazes. Além disso, é importante verificar se o casino online oferece uma variedade de opções de pagamento e saque, bem como se eles são confiáveis e seguros. Além disso, é importante verificar se o casino online oferece uma variedade de opções de pagamento e retirada, bem como se os jogos são testados e certificados por terceiros. Casino Sporting – Um dos mais antigos e respeitados casinos online em Portugal, o Casino Sporting oferece uma ampla variedade de jogos de azar, incluindo slots, ruleta, blackjack e poker. Casino Betclic – Um dos mais populares casinos online em Portugal, o Casino Betclic oferece uma ampla variedade de jogos de azar, incluindo slots, ruleta, blackjack e poker.

Um dos nossos principais recomendados é o Novo Casino Online Portugal, que oferece uma ampla variedade de jogos de cassino, incluindo slots, blackjack, roulette e muito mais. Além disso, é fundamental verificar se a plataforma oferece uma variedade de jogos, incluindo slots, ruleta, blackjack e outros jogos de azar. Com uma licença da CRJ, a plataforma oferece uma ampla variedade de jogos, incluindo slots, blackjack, roulette e muitos outros. Em resumo, quando você está procurando por novos casinos online em Portugal, é fundamental considerar a segurança, a confiabilidade, as opções de pagamento e saque, a variedade de jogos e o suporte ao cliente.

Pokerstars: Métodos de Pagamento Mais Diversificados

Quanto maior diversidade e variedade de jogos houver num casino online, mais escolha e diversão terão jogadores. Em termos da experiência de jogo, é igualmente relevante identificar os fornecedores de jogos de casino e a sua reputação no mercado de iGaming. O acesso a jogos de casino grátis é um dos privilégios a que tem direito ao escolher um dos casinos online legais em Portugal.

]]>
1xBet sebagai Platform Hiburan Digital: Inovasi, Variasi, dan Kemudahan Akses https://catippy.com/1xbet-sebagai-platform-hiburan-digital-inovasi/ Tue, 28 Apr 2026 19:11:37 +0000 https://catippy.com/?p=57842 Transformasi digital telah membuka banyak peluang baru dalam dunia hiburan online. Salah satu platform yang cukup menonjol dalam kategori ini adalah 1xBet, yang dikenal luas karena menghadirkan berbagai layanan taruhan dan permainan dalam satu sistem terpadu.

Evolusi Platform di Era Digital

Seiring meningkatnya penggunaan internet dan perangkat mobile, kebutuhan akan hiburan yang praktis dan fleksibel juga semakin tinggi. 1xBet hadir sebagai jawaban atas kebutuhan tersebut dengan menyediakan akses instan ke berbagai jenis permainan dan taruhan hanya dalam beberapa klik.

Platform ini terus melakukan pembaruan teknologi agar tetap relevan dan mampu bersaing di pasar global.

Pilihan Permainan yang Luas

Keunggulan utama 1xbet terletak pada keberagaman kontennya. Pengguna tidak hanya disuguhkan taruhan olahraga, tetapi juga berbagai kategori lain seperti:

  • Kasino online dengan berbagai jenis permainan klasik dan modern
  • Live casino dengan dealer sungguhan
  • Permainan slot dari berbagai provider
  • Taruhan e-sports yang semakin populer di kalangan generasi muda

Dengan banyaknya pilihan ini, pengguna dapat menyesuaikan pengalaman bermain sesuai preferensi masing-masing.

Teknologi dan Performa

Salah satu aspek penting dari sebuah platform digital adalah stabilitas dan kecepatan sistem. 1xBet dikenal memiliki performa yang cukup baik, dengan waktu loading cepat dan minim gangguan.

Selain itu, sistem live betting berjalan secara real-time, memungkinkan pengguna mengambil keputusan dengan cepat berdasarkan perkembangan pertandingan.

Akses Multi-Perangkat

Kemudahan akses menjadi nilai tambah lainnya. 1xBet dapat digunakan melalui:

  • Browser di komputer atau laptop
  • Aplikasi mobile untuk Android dan iOS

Hal ini memungkinkan pengguna tetap terhubung kapan saja tanpa batasan lokasi.

Sistem Bonus dan Penawaran Khusus

Untuk meningkatkan pengalaman pengguna, 1xBet menyediakan berbagai bonus dan promosi, seperti:

  • Bonus registrasi untuk pengguna baru
  • Promo musiman untuk event olahraga besar
  • Cashback dan reward loyalitas

Program ini memberikan kesempatan tambahan bagi pemain untuk memperluas pengalaman mereka di platform.

Keamanan dan Perlindungan Data

Dalam dunia online, keamanan merupakan faktor krusial. 1xBet menerapkan teknologi enkripsi untuk menjaga data pribadi dan transaksi pengguna. Meski demikian, pengguna tetap disarankan untuk menjaga keamanan akun mereka secara mandiri.

Pendekatan Bermain yang Sehat

Walaupun platform ini menawarkan berbagai bentuk hiburan, penting untuk tetap bermain secara bertanggung jawab. Mengatur waktu dan anggaran adalah langkah penting agar aktivitas tetap terkendali.

Penutup

1xBet menjadi salah satu contoh platform hiburan digital yang berhasil menggabungkan berbagai jenis layanan dalam satu tempat. Dengan inovasi yang terus berkembang dan akses yang mudah, platform ini mampu menarik perhatian pengguna dari berbagai kalangan.

Namun, kunci utama dalam menikmati layanan ini adalah penggunaan yang bijak dan tidak berlebihan.

]]>
1xBet: Platform Taruhan Online yang Menggabungkan Teknologi dan Hiburan Modern https://catippy.com/1xbet-platform-taruhan-online-yang-menggabungkan/ Tue, 28 Apr 2026 19:01:40 +0000 https://catippy.com/?p=57844 Perkembangan teknologi digital telah mengubah cara orang menikmati hiburan, termasuk dalam dunia taruhan online. Salah satu platform yang cukup dikenal di tingkat internasional adalah 1xBet, yang menawarkan pengalaman bermain yang cepat, fleksibel, dan penuh variasi.

Latar Belakang dan Perkembangan

Sejak kemunculannya, 1xBet terus memperluas layanan dan meningkatkan kualitas sistemnya. Platform ini tidak hanya berfokus pada taruhan olahraga konvensional, tetapi juga menghadirkan inovasi seperti permainan virtual dan live casino yang interaktif.

Pertumbuhan pengguna yang pesat menunjukkan bahwa 1xBet mampu beradaptasi dengan kebutuhan pasar global yang terus berubah.

Pilihan Taruhan yang Beragam

Salah satu kekuatan utama 1xbet terletak pada banyaknya pilihan taruhan yang tersedia. Pengguna dapat menemukan hampir semua jenis olahraga populer, seperti:

  • Sepak bola internasional dan lokal
  • Basket dan tenis
  • Balap, hoki, hingga e-sports

Selain itu, tersedia juga taruhan langsung (live betting) yang memungkinkan pemain memasang taruhan saat pertandingan berlangsung.

Fitur Unggulan yang Menarik

1xBet menghadirkan berbagai fitur modern yang meningkatkan kenyamanan pengguna, di antaranya:

1. Streaming Langsung

Beberapa pertandingan dapat ditonton secara langsung melalui platform, sehingga pemain bisa mengikuti jalannya pertandingan tanpa berpindah aplikasi.

2. Statistik Real-Time

Informasi pertandingan disajikan secara detail dan cepat, membantu pengguna dalam mengambil keputusan taruhan.

3. Mode Multi-Akun Mata Uang

Platform ini mendukung berbagai mata uang, termasuk cryptocurrency, yang memberikan fleksibilitas dalam transaksi.

Desain dan Aksesibilitas

Tampilan antarmuka 1xBet dirancang agar mudah dipahami oleh berbagai kalangan pengguna. Baik melalui desktop maupun aplikasi mobile, pengalaman yang diberikan tetap stabil dan responsif.

Aplikasi mobile khususnya menjadi solusi praktis bagi pengguna yang ingin bermain kapan saja tanpa batasan lokasi.

Bonus dan Program Loyalitas

Untuk menarik dan mempertahankan pengguna, 1xBet menawarkan berbagai program bonus seperti:

  • Bonus selamat datang bagi anggota baru
  • Free bet untuk event tertentu
  • Program VIP dengan keuntungan eksklusif

Penawaran ini memberikan nilai tambah bagi pemain yang aktif menggunakan platform.

Sistem Keamanan

Keamanan data pengguna menjadi prioritas dalam operasional 1xBet. Sistem enkripsi modern digunakan untuk melindungi informasi pribadi dan transaksi finansial. Hal ini penting untuk menjaga kepercayaan pengguna di tengah meningkatnya aktivitas digital.

Cara Bermain yang Bijak

Meskipun menawarkan hiburan yang menarik, penting untuk tetap mengontrol aktivitas bermain. Beberapa langkah yang bisa diterapkan:

  • Tetapkan batas anggaran sejak awal
  • Hindari keputusan impulsif
  • Gunakan fitur permainan sebagai hiburan, bukan kebutuhan

Kesimpulan

1xBet merupakan platform taruhan online yang menggabungkan teknologi modern dengan berbagai pilihan hiburan dalam satu sistem yang terintegrasi. Dengan fitur lengkap, akses mudah, dan inovasi yang terus berkembang, platform ini menjadi salah satu opsi menarik di industri taruhan digital.

Namun, seperti halnya semua bentuk taruhan, penting untuk menggunakannya secara bertanggung jawab agar pengalaman tetap positif dan terkendali.

]]>
Casino Vodka зеркало рабочее сегодня вход без блокировок https://catippy.com/casino-vodka-zerkalo-rabochee-segodnja-vhod-bez-15/ Tue, 28 Apr 2026 14:46:05 +0000 https://catippy.com/?p=57850 Casino Vodka зеркало рабочее сегодня вход без блокировок

Средний время ответа в чате составляет менее двух минут, а квалифицированные специалисты готовы помочь на русском языке в любое время суток. Призы за активную игру и повышение уровня. Приветственный бонус только один – 125% к сумме пополнения от 100 рублей. Вы можете также использовать промокод как дополнительный вариант бонуса за регистрацию. Свежие предложения всегда публикуют в социалках Водка Бед, в рейтинге лучших заведений России, в группе ТГ и присылают на почту.

Особое внимание стоит обратить на классические слоты с фруктовой тематикой, которые отличаются простыми правилами и стабильными выплатами. Для любителей современных игр доступны видеослоты с инновационными механиками и впечатляющей графикой. Доступ к аккаунту в Водка казино – дело пары секунд. Войти можно через официальный сайт и зеркало, при этом логин и пароль остаются неизменными, независимо от того, каким способом ты заходишь. Получить быстрый доступ к любимым развлечениям можно как с компьютера, так и со смартфона или планшета.

Жалко, что нет здесь дурака, это я бы вообще, всегда на отлично проходил. Холдем уже идет похуже, но опять же все зависит от того, кто соперники. Иногда приходится сразу карты скидывать, а когда новые абоненты, то могу еще потягаться, всяко случается. Тут и вырвать себе кусок не так просто. Круто когда получаешь то что добыл своими знаниями и трудом.

Легализацией игровых площадок занимаются государственные организации или уполномоченные частные фирмы. Они создают стандарты работы компаний, проверяют их на соответствие установленным нормам и следят за дальнейшей деятельностью операторов. Сайт Адмирал Х казино гордится высоким уровнем клиентского сервиса.

  • Прикол в том, что сначала потратил свой деп, потом пришли спины.
  • В Vodka Casino пополнение счета и вывод выигрышей организованы так, чтобы игроки могли мгновенно распоряжаться своими деньгами.
  • Официальный сайт зеркало идентичен основному порталу как по наполнению, так и техническим возможностям.
  • Среди преимуществ можно выделить широкий выбор игр, удобный интерфейс, мобильные приложения и щедрые бонусы для новых и постоянных клиентов.
  • Крайне редко случается, что вывод затягивается до часа.
  • Она появляется только при нажатии на кнопку в левом углу экрана.
  • Игр много, они разнообразны и выплаты есть.
  • Проводится ежемесячно, выигрывают игроки, которые набирают наибольшую сумму победных ставок.
  • На счету выигрыш сиял в с депозита в 2000 тысячи.

И по оформлению, и по подбору игр и бонусов. В таких условиях как раз можно быть уверенным в хорошей игре и быстром выводе. Только от атмосферности и более крытых бонусов никогда не отказался бы.

В этом материале разберём особенности площадки Vodka Casino — от ассортимента игр до способов доступа через альтернативные адреса. Бесплатное казино без вложений с реальным выводом денег потребует верификацию перед первым перечислением выигрыша на карту или виртуальный кошелек. Это главное условие организации, которая выдает лицензию. Верификация необходима для подтверждения возраста клиента и защиты от мошенничества. Бездепозиты предлагают и мошеннические сайты.

Поэтому я играю, но за билеты тоже борются, лишние деньги не бывают. Отдача по ставкам с разным успехом, но есть покупные бонусы, без них никуда. Брезговал играть в подобных мелких казиках.Обратил на них внимание только когда гиганты индустрии разочаровали. Так сказать, за неимением вариантов больше ничего не осталось. Есть в этой водке что-то инетресненькое. Скучаю, очень скучаю за игрой в крутейших казино.

  • Для максимального удобства вы можете скачать PWA-приложение, которое работает быстрее браузерной версии и имеет встроенную защиту от блокировок.
  • Он содержит в себе один или несколько бонусов.
  • Игрока просят ознакомиться и согласиться с Правилами и условиями компании.
  • И поскольку поставил 5 звезд, наверное вы уже поняли, что казино не разочаровало.
  • Никогда мне не понять человеческой логики.
  • Воспользуйтесь Казино Водка зеркало чтобы забрать свой боунс прямо сейчас.
  • Слоты запускаются с серверов провайдеров — там же происходит подсчет результатов.
  • Общайтесь с крупье и другими игроками за столом, применяйте стратегии и наслаждайтесь азартом в реальном времени.
  • Запускается она на большинстве телефонов и планшетов, работающих на Андроид/iOS даже старых версий.
  • Рейтинг надежных сайтов с виртуальными развлечениями, где можно играть без вложений, представлен на этой странице.
  • Еще одно удобное преимущество – все игры на русском языке, поэтому играть для русских гемблеров крайне комфортно.

casino vodka

В Vodka Casino также есть возможность играть в слоты бесплатно в демо-режиме. Это отличная возможность для новичков ознакомиться с игрой, не рискуя своими средствами. Демо-режимы позволяют игрокам протестировать стратегии, потренироваться и просто насладиться игровым процессом без давления. Для тех, кто только начинает знакомство с казино, Vodka Casino предлагает бесплатные демо-режимы для большинства слотов. Это отличный способ попробовать игру без риска потери реальных денег.

В Vodka casino мы делаем всё для того, чтобы вывод ваших выигрышей был простым и быстрым. Вы всегда можете быть уверены, что получите свои средства без задержек и лишних сложностей. Процесс вывода максимально понятен и удобен для всех наших игроков. После регистрации вы сразу сможете пополнить счёт, воспользоваться бонусами и начать играть. Удобная платформа поможет вам легко управлять финансами и выводить свои выигрыши. Vodka Casino предлагает круглосуточную службу поддержки, готовую помочь игрокам в любое время дня и ночи.

Пополнение с банковских карт МИР Сбербанка, Тинькофф, Альфа, ВТБ и других будет как p2p платеж. Главное – пересылайте точную цифру, которую указывали в заявке. Возвращаем часть проигранных средств каждую неделю без вейджера.

  • Пользователям необходимо анализировать казино комплексно и учитывать многие факторы.
  • Для новых игроков предусмотрены бонусы и акции, которые увеличивают шансы на выигрыш.
  • Например, лондонское агентство eCOGRA тестирует безопасность игровых площадок в Великобритании, Болгарии, Швеции, Португалии и других странах.
  • На нем расположились 6 барабанов и 5 рядов.
  • Если сравнивать с другими официальными сайтами, то Vodkabet смотрится очень достойно благодаря лимитам, разнообразию платежных систем и условиям.
  • HD-трансляции из профессиональных студий создают полный эффект присутствия в настоящем казино.
  • Да, большинство автоматов в казино Водка доступны в демо-режиме.
  • Новеньких клиентов проекта Vodka Bet уже ждут несколько вариантов приветственных бонусов за регистрацию.
  • Достижениями считается повышение уровня, если активно играть на деньги с реального баланса.
  • Если б не антураж, не понял бы что в каком-то особом казино нахожусь.
  • Играть в интернет-казино без финансовых рисков с возможностью получить настоящие призовые хочет каждый азартный пользователь.
  • Полная халява – это 50 ФС на слоты, если гость сразу после создания учетки зарегистрировался в ТГ (Телеграмм канал) Водка Бет.

casino vodka

Казино Vodka обладает лицензией Кюрасао (№8048/JAZ), что гарантирует легальность деятельности платформы и защиту прав игроков. Водка Бет регулярно проходит аудит независимых организаций, подтверждающих честность игрового процесса и надежность финансовых операций. Каждую неделю онлайн-казино Водка разыгрывает 1000 долларов. В лотерее участвуют все пользователи, которые вносили депозиты с понедельника по воскресенье. Чтобы их получить, нужно пополнять счет.

casino vodka

Казино с достаточно интересным игровым арсеналом, подбираются денежные игры на любую ситуацию с балансом. Аутентичный, с нотками национального колорита. Ну молодцы ребята, что такую казиноху состряпали! Мне кажется, еще нет более национального казино, чем Водка. Более того, на простой идее все не закончилось. У них еще классный процент возврата и много бонусов, акций.

casino vodka

Мне теперь никакие другие казино больше не нужны. Что до условий игры, они тоже неплохие. Вполне получается выигрывать, деньгами немного обзаводиться. Всего несколько раз немного дольше деег ждал. По большому счету у водки все прилично, ответственные админы или кто там они. Найти среди игр действительно крутые и интересные можно.

Провайдеров, где-то за 30 штук, поэтому можно утверждать о наличии разнообразия. Вывод тоже проходит https://dyuc-kontakt.ru/ нормально, потому что в кассе с доступными деньгами отражается только та сумма которую можно реально вывести. Если написать больше или не учесть проценты комиссии оно просто не идет дальше, управление кассой не активно. Поэтому верно заполненный бланк и вывод быстрый. Специфичное конечно казино в плане оформления.

Ни единого слова против не могу сказать. Качественные продуманные игры, с честным гсч, бонусы и акции с выплатами, постоянно можно выирать и довольно неплохо надо сказать. Все это было бы в разы круче, если б казино подошло мне по вайбу. Оскара организаторам за изобратательность в выборе названия. А вот за игру в казино и за отыгрыш бонусов настолько же сильно благодарить не могу.

]]>
Vodka casino промокод получить бонусы за регистрацию https://catippy.com/vodka-casino-promokod-poluchit-bonusy-za/ Tue, 28 Apr 2026 14:45:59 +0000 https://catippy.com/?p=57862 Vodka casino промокод получить бонусы за регистрацию

Вернулся к любимым проверенным слотам. В них и бонусы активировал и первые выигрыши получил. В итоге, началсь моя история у водки замечательно.

  • Поиск раотае, разные катеогри слотво представлены, поддержка работает.
  • Но если играть, например, несколько часов и на крупные ставки, то получится выиграть приличную сумму.
  • Вы можете попрактиковаться на реальные деньги, но по низким, копеечным ставкам.
  • Для них на площадке решили не создавать отдельную категорию.
  • Слева расположено меню с дополнительными опциями.
  • Каких-то проблем или скандалов не было.
  • При размещении ставок в бесплатном режиме средства со счета не списываются.
  • Одновременно с ноткой аутентичности и нашей культуры.
  • Согласно правилам оператора (пункт 10.5), верификация может потребоваться только для получения подарка на день рождения.
  • Жалко, что нет здесь дурака, это я бы вообще, всегда на отлично проходил.

casino vodka

  • Приветственный бонус в Vodka Casino зависит от размера первого депозита игрока.
  • У водки оказались довольно неплохие игроматы.
  • Более подробную информацию вы можете найти в разделе Касса вашего личного кабинета.
  • Ввод осуществляется моментально, вывод — чаще всего в течение часа (иногда до 24 часов, если требуется дополнительная верификация).
  • Более подробно про награды программы лояльности Водка казино расскажет сравнительная таблица уровней.
  • Необходимо оценить разнообразие и регулярность обновлений ассортимента.
  • Вайб у нее ну такой, не подходящий для меня.
  • Это незначительно увеличило наши расходы на бонусы, но возрос ретеншн-рейт (коэффициент удержания клиентов).
  • Они проходят довольно легко, быстро, нет необходимости трястись и дергать техподдержку.
  • Актуальные ссылки на casino Vodka официальный сайт всегда можно найти через нашу службу поддержки или в новостных рассылках.

В живом чате реагируют на общие вопросы в течение 30 секунд. Также вопросы рассматриваются при обращении на почтовый ящик площадки, но там ответ будет дольше – от 30 минут до часа. Не стесняйтесь обращаться по любому поводу. VIP клиенты имеют доступ к персональному менеджеру.

Игрок выбирает платежную систему, вводит реквизиты, указывает сумму и подтверждает операцию. Финансовый счет должен быть оформлен на имя пользователя. Размер минимального депозита меняется при выборе разных способов оплаты. Необходимо оценить разнообразие и регулярность обновлений ассортимента. Крупные казино предлагают тысячи наименований, а свежие релизы провайдеров появляются практически в тот же день. Если на сайте представлены исключительно старые автоматы, скорее всего, пользователь попал в скриптовое казино.

casino vodka

Забудь о скучных анимациях — здесь каждое движение дилера, каждый бросок рулетки и раздача карт происходят в режиме реального времени. Важно отметить, что зеркало официального сайта обеспечивает такой же уровень безопасности и надёжности, как и основной ресурс. Все данные пользователей и финансовые операции защищены современными протоколами шифрования.

  • Обычно есть поиск по названию — необходимо указать домен или наименование компании-оператора.
  • Сумма вывода обычно превышает размер минимального депозита.
  • Официальный сайт открывает доступ к регистрации, входу в профиль и игровому каталогу.
  • Найдете здесь привычные слоты, стандартные бонусы и все в таком духе.
  • Обычно не нужно даже регистрироваться на официальный сайт казино, чтобы играть в любой игровой автомат в демо режиме.
  • Получить быстрый доступ к любимым развлечениям можно как с компьютера, так и со смартфона или планшета.
  • Но в Водке удается влезть в призовую зону, хоть и не без труда.
  • Важно отметить, что зеркало официального сайта обеспечивает такой же уровень безопасности и надёжности, как и основной ресурс.
  • Ну тут такая фигня, что без нее не отдадут деньги.
  • Это с тем, что особо не шикую, и более 2000 не вношу за раз, ну если бонусы не отыгрываю.

Надо просто играть в Водка Бэт и делать оборот в 2$ за 1 балл клубных очков. Но даже через рабочее зеркало иногда попасть непросто, приходится использовать VPN. Такие программы обычно платные, могут быт мошенническими либо не честными. На этот случай у Vodka Bet есть свой платный ВПН сервис, но очень-очень дешевый! За копейки вы купите постоянный доступ к сайту по подписке.

Официальный сайт зеркало идентичен основному порталу как по наполнению, так и техническим возможностям. Рекомендуется оформлять закладки или подписку на новости, чтобы оставаться в курсе актуальных адресов и акций. Для самых нетерпеливых предусмотрена регистрация всего в два клика – через соцсети или мобильный телефон. Поддерживаются все стандартные способы идентификации пользователя, а защита учетных данных подтверждена многоступенчатыми алгоритмами шифрования. Безопасность данных пользователей — наш приоритет №1.

  • Если написать больше или не учесть проценты комиссии оно просто не идет дальше, управление кассой не активно.
  • Играть тут точно есть во что, причем не только слоты в ассортименте, но и другие – настольные и карточные игры онлайн казино.
  • У них еще классный процент возврата и много бонусов, акций.
  • Еженедельный возврат проигранных средств.
  • Это высоковолатильный игровой автомат разработчика Pragmatic Play.
  • Зеркала создаются для решения технических проблем и обхода возможных блокировок.
  • Не переживай, процесс займет не больше пары минут – все интуитивно понятно.
  • После выигрыша закинул еще около рубликов и пошел дальше играть, попутно выполняя отработку.
  • Отзывы игроков о казино Vodka в целом положительные.
  • Для этого добавлены популярные платежные системы, созданы гибкие условия, установлены низкие минимальные лимиты.
  • Водка уделяет первостепенное внимание безопасности игроков.

Хоть и выполз сайт изниоткуда и мало инфы по нему, но с лицензией и это уже утешает. У водки оказались довольно неплохие игроматы. По другим разделам тоже пробежался, но ничего особо не выбрал.

Если вы забыли пароль, просто нажмите на ссылку Забыли пароль? Вам будет отправлено письмо или SMS с инструкциями для восстановления доступа к аккаунту. Следуйте этим шагам, и вы сможете быстро восстановить доступ. Играйте в покер против других игроков под присмотром реального дилера. Покажите свои навыки и участвуйте в живых турнирах, где каждый может почувствовать себя настоящим профессионалом.

Но выше всего прибыль получается при турнирных гонках. Конечно нужно только занять призовое место и тогда расходы полностью покрываются. Игр много, они разнообразны и выплаты есть. Это с тем, что особо не шикую, и более 2000 не вношу за раз, ну если бонусы не отыгрываю.

Администрация требует внести депозит для подтверждения платежного метода, а потом блокирует аккаунт. Это мощный инструмент захвата внимания, особенно на конкурентных GEO. Однако для привлечения новых клиентов нужно использовать его с умом, поскольку можно получить дыру в казино водка бюджете. Бездепозитные бонусы — это идеальный инструмент для удержания лояльных игроков, у него огромный ROI (возврат инвестиций).

С его помощью вы можете играть анонимно, без мониторинга со стороны государства КЗ и точно так же получить вывод средств из Водка казино. На проекте Vodka Casino сделали все, чтобы клиентам было удобно делать быстро депозиты на игру и выводить средства на свои счета. Для этого добавлены популярные платежные системы, созданы гибкие условия, установлены низкие минимальные лимиты. Мобильное приложение ставится на телефон на Андроид/iOS системы. Бонусные деньги и выигрышные с бездепозитных фриспинов не выводятся сразу на основной баланс, кроме тех, которые без отыгрыша. В остальном, если не указано, что бонус без отыгрыша, то его надо будет отыграть по вейджеру.

casino vodka

Доступ к личному кабинету Vodka Bet открывается сразу, вход в систему делается автоматически. Если выбирали быстрый способ, то надо запомнить данные, чтобы делать вход в личный кабинет. Максимальная выплата, которую можно получить, составляет х5000 от ставки. Но иногда игровой автомат участвует в турнирах казино и провайдера.

Они создают стандарты работы компаний, проверяют их на соответствие установленным нормам и следят за дальнейшей деятельностью операторов. Сайт Адмирал Х казино гордится высоким уровнем клиентского сервиса. Средний время ответа в чате составляет менее двух минут, а квалифицированные специалисты готовы помочь на русском языке в любое время суток. Призы за активную игру и повышение уровня. Приветственный бонус только один – 125% к сумме пополнения от 100 рублей.

Верификация необходима для подтверждения возраста клиента и защиты от мошенничества. Бездепозиты предлагают и мошеннические сайты. Сначала они дают выиграть, но вывести такие средства сложно.

Без верификации пользователи не могут вывести деньги, а иногда — даже пополнить счет. Перед регистрацией желательно найти отзывы других игроков. Необходимо изучить разные источники, чтобы собрать полное представление о работе оператора. Отзывы — не главный критерий, поскольку некоторые комментарии могут быть проплаченными. Vodka casino зеркало на сегодня можно найти в официальном Telegram-канале, запросить в поддержке или получить в email-рассылке. Рекомендуем установить VodkaVPN для постоянного доступа без поиска зеркал.

]]>
Verdulería Frutería https://catippy.com/verduleria-fruteria-11/ Tue, 28 Apr 2026 10:06:03 +0000 https://catippy.com/?p=51495

Content

El equipamiento de una frutería suele ser una balanza reglada y en algunos países habría algún refrigerador para conservar frescas algunas variedades. Para empezar, te mostramos solo algunos productos básicos de ejemplo, pero en X2Shop contamos con cientos de productos ya catalogados y desde la administración de tu tienda podrás cargarlos igual de fácil. En la siguiente tabla encontrarás los productos básicos que se cargarán inicialmente en tu tienda. Porque crear una tienda online nunca había sido tan fácil. Podrás realizar cobros en efectivo y/o pago online.

Alimentos orgánicos y naturales a domicilio Todos los medios de pago. Entregas cuidadas en todos los casos, logística amplia para llegar a todo C.A.B.A., provincia de Bs. Finaliza el proceso enviando tu pedido por WhatsApp. Asegúrate de que tienes todo lo que necesitas en el carrito antes de enviar tu pedido. No habrá despachos desde el 28/12 hasta el 04/01

Tienda Online

Calidad garantizada y entrega a domicilio en toda la Región Metropolitana. "Ese vehículo nos permite atender el volumen de compra y reparto actual. Durante la pandemia tuvimos que arrendar un furgón de mayor capacidad. No hemos pensado en un vehículo eléctrico porque, por su precio, están fuera del alcance de los emprendedores. Para empresas grandes que requieren de flotas, hay muchas alternativas de compra, leasing y otras opciones".¿Cuántas categorías de productos trabajan ustedes? "La habilitación de una herramienta fácil para los adultos y adultos mayores, que son quienes más piensan en la alimentación del hogar. Otra lucha constante ha sido el posicionamiento en redes sociales. No nos interesa ganar seguidores porque sí, el objetivo es que nos vea nuestro público objetivo".En el caso de La Feria Delivery, Paula Ovalle comenta que el principal desafío fue armar una web amable y cálida, sin tantas complicaciones.

De La Vega a tu casa

  • Recibirás los pedidos en tu mail y podrás gestionarlos fácilmente.
  • Nos preocupamos por brindarte una atención de calidad, antesdurante y después de realizada la compra.
  • Dependiendo de la plataforma, pueden ofrecerte la entrega en el mismo día o al día siguiente para asegurarse de que recibes tus productos lo más frescos posible.
  • Por eso, en Tirando Fruta te garantizamos entregas puntuales y un servicio resolutivo para que tus ingredientes siempre estén listos cuando más los necesites.
  • Una vez pulses en Crear Tienda, la tienda se activará inmediatamente y recibirás un mail con todos los datos necesarios para empezar.

Somos una empresa familiar, dedicada al servicio de compra y despacho de frutas, verduras y hortalizas por mayor y detalle. "Con la pandemia, llegamos a ser indispensable en muchos hogares y una vez que terminó notamos una baja en la demanda. La gente ahora va a comprar personalmente sus frutas y verduras".En cuanto al panorama del último tiempo, Andrea González habla de una renovación de su cartera de clientes. "Contamos con cerca de 300 productos. Ofrecemos la alternativa de comprar todo por separado y también adquirir canastas. Tenemos cuatro canastas orgánicas y cuatro con verduras convencionales, de distintos tamaños".Las categorías que cubre MbGreen son, en tanto, frutas, verduras, productos vegetarianos y tostaduría. "No solo no tienen que salir de casa sino que también pueden hacer sus pedidos a cualquier hora".Otros argumentos los entrega Andrea González Madrid, dueña de la verdulería online De la Pepa.

Almacén a domicilio

En Verdulería Ventura, llevamos la frescura del campo directamente a tu hogar en Las Condes. Descubre nuestra nueva variedad Iniciamos este negocio online en 2005 y, en 2008, Emol destacó nuestra labor en un artículo sobre VEG & FRUT.

Crear tu frutería y verdulería online totalmente gratis

¿Estás cansado de ir corriendo al mercado local cada vez que necesitas frutas y verduras frescas? verdulerianacional.cl ¡Hacenos tu pedido por WhatsApp con entrega a domicilio o vía PedidosYa, Rappi, Mercado Delivery y Mercado Libre. En Fresh Cucart puede comprar online verduras de proximidad, ayudando a los productores locales. Realiza tus compras desde nuestra tienda online y pagalo como quieras!

En LyL Todo Importado somos apasionados por el calzado de calidad y el estilo sin límites. © 2026 De la Pepa – Frutas y Verduras a domicilio. Sea cual sea la opción que escoja es importante que en su nevera siempre haya diferentes tipos de verduras. Así que al comprar verdura y consumirla fresca lo más temprano posible estaremos enriqueciendo nuestra alimentación.

Mejor relación precio calidad Somos una empresa dedicada a la venta y distribución de frutas y hortalizas. Frutas, verduras y snacks saludables para tu empresa. ¿Con cuánto tiempo de anticipación debo hacer un pedido? Para alcanzar el nivel PALTA debes acumular al menos 100 bananas en los últimos 90 días o bien puedes acortar camino y comprar la membresía FRESTAR que te convierte en Nivel Palta automáticamente. Todo perfecto, buena calidad, bien empaquetado y llegó el mismo día

Muy buenos productos, de buena calidad y realmente duran harto en perfectas condiciones. ¡Tus frutas favoritas están en nuestro sitio web! Dependiendo de la plataforma, pueden ofrecerte la entrega en el mismo día o al día siguiente para asegurarse de que recibes tus productos lo más frescos posible.

Empezamos este emprendimiento trabajando para restaurantes, nos hemos diversificado al despacho de Cestas por previa solicitud de clientes potenciales que se han convertido en clientes frecuentes ¿Quieres convertirte en uno de ellos? Selecciona tu método de pago Recuerden que siempre deben lavar los productos recibidos, nosotros no enviamos fruta y verdura pre-lavada.

En Valencia, las verdulerías online han tomado la ciudad por asalto, ofreciendo una amplia variedad de productos de alta calidad entregados directamente en tu puerta. "Recibimos los pedidos hasta las 21 horas del día anterior al reparto, hacemos el recuento y vamos a comprar de amanecida a la Vega. Entre las ocho y las diez de la mañana preparamos los pedidos, entregándolos antes de las 14 horas. De acuerdo con nuestra capacidad y para mantener la calidad y frescura de los productos, sólo entregamos en el sector oriente de Santiago".Magdalia Basabe, de MbGreen, explica que se abastecen en Lo Valledor, con algunos agricultores locales, distribuidores de frutos secos y de productos vegetarianos y orgánicos. "Con el tiempo conocí la dinámica del lugar, la gran variedad que había y los puestos donde comprar. Sin más conocimiento que eso, el 2017 comencé a vender canastas de frutas y verduras para mis vecinos, conocidos, chat de los colegios y otros, entregando semanalmente los martes. El estallido social y luego la pandemia aumentaron considerablemente nuestra cartera de clientes y vimos en la creación de una página web una alternativa para mostrar nuestro servicio y simplificar la compra".Los inicios de MbGreen, en tanto, se remontan al 2019. En Kobox tenemos una amplia gama de productos, con un proceso de pedido sin complicaciones y su cómoda entrega a domicilio, ofrecemos una alternativa cómoda y que ahorra tiempo a las verdulerías tradicionales. Las verdulerías online de Valencia ofrecen una amplia selección de frutas y verduras frescas procedentes directamente de granjas y agricultores locales. "Tener una tienda física implica costos adicionales en arriendo, merma y otros aspectos que quisimos evitar. Bajo esta modalidad solo compramos lo que tenemos que entregar. El día del reparto vamos de amanecida a la Vega Central, luego armamos y repartimos durante la mañana. Esto nos permite garantizar la entrega de productos frescos".Respecto a sus inicios, cuenta que periódicamente iba a la Vega a comprar para su familia, atraída por la calidad de los productos y sus precios.

Hacemos tu compra de fruta y verdura en La Vega y te la llevamos a tu casa. Además, su pedido se preparará colocando el producto con mucho mimo y cuidado para que llegue a su domicilio en perfectas condiciones. Recibimos todos los productos frescos cada noche, directamente de fincas y productores, para la entrega de cada mañana. Hace tu pedido, si tu compra supera los $ 35.000, te lo llevamos gratis! Comprá tranquilo desde tu casa, nosotros te llevamos el pedido!. Hace tu pedido, si tu compra supera los $ 35.000, te lo llevamos gratis!.

]]>
7K Casino бонусы регистрация и доступ к популярным слотам онлайн https://catippy.com/7k-casino-bonusy-registracija-i-dostup-k-11/ Tue, 28 Apr 2026 08:07:33 +0000 https://catippy.com/?p=57848 7K Casino бонусы регистрация и доступ к популярным слотам онлайн

В казино есть меню со списком всех производителей. В нем можно выбрать один или сразу несколько брендов, и на экране появятся все принадлежащие им игровые автоматы. В центре главной страницы casino 7к указан перечень самых популярных игровых автоматов. В футере сайта представлен список платежных систем для выполнения денежных переводов.

  • Программа лояльности клуба работает по системе накопительных баллов.
  • На игровой площадке есть только приложение для мобильных устройств на операционной системе Android.
  • А для тех, кто не готов рисковать реальными деньгами и регистрироваться в казино, доступна демоверсия.
  • Для активации бонуса реферал регистрируется, перейдя по этой ссылке.
  • Для получения дополнительных спинов постоянные игроки могут использовать промокоды или бонус-коды.
  • У мобильного казино схожий с десктопной версией дизайн, но структура интерфейса различается.
  • Редакция собрала всю существующую информацию об этом казино в данном обзоре.
  • Для этого существует мобильная версия — скачать приложение для iOS или Android нельзя.
  • Для участия в приветственной акции нужно пополнить счет на $10 или более.
  • Третий вариант предполагает использование имеющегося аккаунта в социальных сетях.
  • Демо-режим доступен без регистрации — можно протестировать слот бесплатно перед игрой на реальные деньги.

В описании бонуса есть пошаговая инструкция для разных браузеров и мобильных устройств. Понравилось, что регистрацию сделали максимально простой. Ввел почту, пароль и уже почти сразу можно заходить. Я лично не люблю заполнять всякие формы, но также мне не всегда подходит вариант регистрации по Gmail. В целом казино на твердую пятерку, хоть и очень свежее.

7k casino официальный сайт

RTP — это теоретический показатель возврата, рассчитанный на длинной дистанции игры. Он показывает, какая часть ставок в 7к казино играть среднем возвращается игрокам со временем. Это не прогноз на конкретную игру, а ориентир, который помогает сравнивать слоты между собой. Создание аккаунта в казино онлайн обычно проходит быстро и без лишних шагов. На старте всё выглядит просто, поэтому многие относятся к процессу формально.

  • Если важные моменты спрятаны или сформулированы туманно, лучше поискать другой вариант.
  • Слишком сложные схемы отыгрыша давно перестали работать и скорее отпугивают, чем привлекают.
  • Это подтверждение личности игрока, которая предполагает предоставление документов – паспорта, загранпаспорта, водительских прав и т.
  • Проект запустили в 2024 году и начали развивать быстрыми темпами.
  • Первый и самый простой из них — онлайн-чат на сайте.
  • Запросить снимки документов администрация может и при подозрении клиента в нарушении правил.
  • Создать аккаунт на сайте 7K casino можно за пару минут.
  • Благодаря этому Poker-dom превратился в многопрофильную игровую площадку, способную удовлетворить запросы самых разных категорий пользователей.
  • Это позволяет игрокам отслеживать все обновления и быстро переходить к доступным акциям.
  • Также поддерживаются классические версии сик-бо, кено, бинго и монополии.
  • Чем активнее игрок, тем больше перспектив для хорошего выигрыша.

Если аккаунта нет, необходимо зарегистрироваться. После регистрации каждый пользователь автоматически становится участником программы лояльности. Для достижения каждого из них игрок должен выполнить определенный оборот средств. Прогресс можно отслеживать в Личном кабинете.

Также специальное поле есть в Личном кабинете игрока. При вводе промокода пользователю становится доступен увеличенный приветственный бонус, релоад или какая-либо временная акция. В онлайн-казино Лекс есть два бонуса с бесплатными вращениями. Один из них входит в состав приветственного комплекта и доступен только раз, второй — можно использовать многократно. Для привлечения игроков на новый сайт оператор разработал бонусную программу. В нее включили несколько приветственных промопредложений, релоады и подарки на день рождения.

Процедура идентификации личности для внесения депозита и вывода денег не обязательная. Но без верификации игрокам не будут доступны некоторые бонусы. Запросить снимки документов администрация может и при подозрении клиента в нарушении правил. Прикрепить фотографии необходимо, воспользовавшись настройками профиля. На странице с обзором есть промокоды для получения уникальных бонусов. Эксклюзивные акции действуют в рамках партнерского сотрудничества редакции Casino.ru и оператора LOOTRUN.

7k casino официальный сайт

Пользователи, которые будут регулярно играть в казино 7К в онлайн-слоты, станут постепенно повышать свой уровень в системе лояльности. Для продвижения по статусам необходимо накапливать баллы. В футере сайта игроки не найдут логотипов eCOGRA или iTech Labs, подтверждающих оригинальность программного обеспечения. Однако наличие таких иконок — не единственный критерий, определяющий качество софта. Лицензия от регулятора из Кюрасао обязывает оператора добавлять в каталог только сертифицированный софт.

Почти все бонусы нужно отыгрывать, поэтому понимание, как отыграть бонус, будет кстати. Если зеркальная ссылка не работает, и пользователь не может войти в ЛК, скорее всего, она устаревшая. Решение проблемы простое – достаточно найти свежее зеркало и использовать его для входа на ПК, Androidили IOS. В 2026 году 7К казино может поддаваться блокировке, как и многие онлайн-площадки из рейтинга лучших. Пользователь может самостоятельно подобрать платежный метод, который будет наиболее комфортным.

Казино предлагает нестандартную бонусную систему. Она выстроена на основе сундуков со случайным содержимым. При пополнении счета игрок не знает, какой бонус ему достанется. В казино представлены игры более 30 крупнейших провайдеров.

Чем активнее игрок, тем больше перспектив для хорошего выигрыша. В лайв-трансляциях нет демоверсий с бесплатными фишками. Каждый зарегистрированный клиент может подключиться к нему и наблюдать за процессом игры без внесения депозита. Геймплей, комбинации символов, бонусные функции и другие детали в демоверсиях такие же, как в платном режиме. Это позволяет пользователям изучать игровые новинки, оценивать работу ГСЧ и прочие параметры без вложения средств. Внизу предусмотрено поле для промокода, если у посетителя он есть.

С помощью купона новичок может получить бездепозитный бонус — деньги или фриспины. После ввода всех данных необходимо завершить процедуру создания счета нажатием на кнопку «Регистрация». Любимые игровые автоматы можно добавлять в закладки.

  • Отдельная страница для слотов с крупными выплатами не создана.
  • Пользовательский интерфейс сайта интуитивно понятен, удобен и обеспечивает быстрый доступ ко всем функциям и играм.
  • Это прямые трансляции от таких топовых студий, как Pragmatic Play Live и Evolution Gaming.
  • Вместе с видеослотами на сайт добавили раздел с букмекерскими ставками, трансляциями с живыми дилерами, настольными и другими азартными играми.
  • Для ее прохождения необходимо отправить фото паспорта и сделать с ним селфи.
  • Быстро переключаться между вкладками удобно в главном меню.
  • Это позволяет пользователям изучать игровые новинки, оценивать работу ГСЧ и прочие параметры без вложения средств.
  • Игрока просят указать email, пароль и выбрать валюту счета.
  • 7К казино поддерживает несколько платёжных методов, рассчитанных на игроков из России и стран СНГ.
  • Любой бонус можно отменить в Личном кабинете.

Кроме слотов, есть и прочие категории азартных игр. На главной странице пользователи найдут вкладку «Наши режимы» с 5 краш-играми от оператора. На сайте оператора доступны ставки на спорт.

Irwin выбирают за понятные правила и минимум ограничений в игровом процессе. Поддержка не злоупотребляет формальностями, лицензия Curaçao. Казино не создаёт дополнительных препятствий при выводе, если аккаунт оформлен корректно.

Если начать играть в 7К казино можно сразу после регистрации, то для вывода выигрыша потребуется дополнительно пройти процедуру верификации. Создать личный кабинет в онлайн 7K casino быстро могут только игроки, которые достигли совершеннолетия. Весь процесс занимает до нескольких минут, что является достаточно удобным фактором – и через компьютер, и через смартфон.

7k casino официальный сайт

За счет того, что здесь практически на всем есть демо, подбирать новые слоты из каталога могу без опасения за бюджет. При активации функции х2 или х3 баллы за ставки в слотах будут начисляться по увеличенному коэффициенту. На уровне «Король игры» пользователи получают доступ к VIP-турнирам. При достижении статуса «Золотой джокер» казино выдает игроку 1 вращение колеса Фортуны, а при переходе на «Платиновый джокер» — 2 спина.

  • Ссылки на неизвестных сайтах могут вести на вредоносные файлы.
  • Третий вариант предполагает использование имеющегося аккаунта в социальных сетях.
  • Введите сумму и выберите платежную систему для вывода средств.
  • Ссылки на клиентские приложения представлены на официальном сайте покер-рума.
  • Уважаемое заведение выделяется надёжностью, отличным сервисом и элегантным выбором игрового программного обеспечения.
  • Программа лояльности клуба работает по системе накопительных баллов.
  • Пользователи казино получают бесплатные вращения в рамках приветственных бонусов и регулярных релоадов по вторникам и субботам.
  • Для игры на реальные деньги необходимо создать аккаунт.
  • Пользователь может перейти на официальный сайт ЛУТРАН и играть онлайн в слоты, кликнув по кнопке «Демо».
  • Сертифицированные слоты загружаются с серверов лицензированных провайдеров.
  • Таблица даёт общее представление, но каждый сайт работает по своим правилам.
  • Подходит тем, кто рассматривает топ онлайн казино как инструмент для долгой и стабильной игры.

Регулярный бонус можно получать многократно — за пятый и все дальнейшие депозиты после регистрации. Промопредложение актуально для пользователей, достигших 2-го уровня в программе лояльности. За депозит от 2000 рублей игроку начисляют до 135 фриспинов, вейджер — х40.

]]>
7K Casino зеркало рабочее сегодня вход без ограничений https://catippy.com/7k-casino-zerkalo-rabochee-segodnja-vhod-bez-9/ Tue, 28 Apr 2026 08:07:08 +0000 https://catippy.com/?p=57840 7K Casino зеркало рабочее сегодня вход без ограничений

Обычно подобная процедура занимает не более часов. Для изменения языка интерфейса необходимо прокрутить страницу до конца. В нем можно выбрать русскую, английскую или казахскую локализацию. Вывод занимает от нескольких минут до 24 часов в зависимости от платежной системы. От 200 до 500 рублей в зависимости от способа оплаты. Казино 7К работает с проверенными платежными операторами и использует лицензионную платформу для финансовых транзакций.

7k casino зеркало

Актуальные адреса можно получить через email-рассылку службы поддержки, найти в интернете или скачать официальное приложение. Игроки также могут воспользоваться справочным разделом с ответами на часто задаваемые вопросы и подробными инструкциями по функционалу сайта. Вывод средств из 7К Casino возможен только после прохождения верификации. Это стандартная мера безопасности, предотвращающая мошенничество и защиту личных данных.

Это ускорит обработку выплат и откроет доступ ко всем лимитам на вывод средств в 7К казино. Да, при регистрации и верификации аккаунта в казино 7К необходимо указывать только достоверные личные данные. Это требуется для безопасности ваших финансов, корректного проведения денежных операций и соблюдения правил казино. При выявлении недостоверных данных администрация имеет право заблокировать аккаунт без возможности восстановления. Нет, правилами казино 7К строго запрещено создавать более одного аккаунта. У каждого пользователя может быть только один игровой профиль.

Кешбэк начисляют лишь пользователям, достигшим уровня лояльности Standard. Если по итогам недели игрок оказывается в плюсе, бонус ему не предоставляется. Доступ к сайту со всеми слотами, бонусами и другими функциями можно получить со смартфона или планшета. У мобильного казино схожий с десктопной версией дизайн, но структура интерфейса различается. Если учетной записи нет, требуется зарегистрироваться.

7k casino зеркало

Несмотря что возврат здесь низкий, всего 93%, но за счет частых скаттеров бонусная игра запускается, а множители увеличивают выигрыш. Информации о 7K Casino в интернете нет, так как площадку запустили недавно. На сайтах об азартных играх еще не начали публиковаться рецензии, а пользователи не успели оставить отзывы и поделиться впечатлениями. Все известные подробности о площадке собраны в обзоре на данной странице. Сейчас доступны только виртуальные лотереи, такие как бинго, кено и скретч-карты. Их можно попытаться найти в огромном каталоге азартных игр вручную или воспользовавшись поисковой строкой.

  • Здесь доступны все игры, включая автоматы и live-дилеров, а также финансовые операции, бонусы и техподдержка.
  • Это позволяет игрокам отслеживать все обновления и быстро переходить к доступным акциям.
  • В 2025 году 7К Casino продолжает свою деятельность на основании международной лицензии.
  • Здесь работает полноценная студия с профессиональными ведущими, что делает игровой процесс максимально реалистичным.
  • Доступное зеркало казино 7К предлагает такие поощрения, как фриспины, кешбэк, промокоды, а также бонусы на первый и последующие депозиты.
  • Игры в демо режиме в 7К Casino бесплатно доступны как с компьютера, так и с мобильных устройств.
  • Удобство для пользователей из РФ обеспечивают простая навигация, моментальная регистрация, работа 24/7 и русскоязычный интерфейс.
  • Сроки зависят от платежной системы, но обычно не превышают 24–48 часов.
  • Размер возврата зависит от вашего статуса – чем выше ранг в программе лояльности, тем больше процент кэшбэка.
  • Им вправе воспользоваться каждый посетитель площадки еще до регистрации.
  • Он предполагает использование виртуальных денег и безлимитное время игры в слоты.
  • Для этой категории развлечений создан особый раздел.

7k casino зеркало

Система авторизации надежно защищена, а при утере доступа всегда доступна форма восстановления через email. Также платформа поддерживает вход через мобильные устройства и приложения. Работающее зеркало открывается на любом устройстве и не требует установки дополнительных программ. Оно полезно не только в случае блокировки, но и при технических сбоях на основном домене. Благодаря зеркалу любой пользователь может зайти в 7К Casino в любое удобное время и продолжить игру. В 7K Casino действуют слот-гонки, таблицы лидеров и сезонные акции с фриспинами.

На новый почтовый адрес придет письмо со ссылкой для подтверждения – необходимо перейти по ней, чтобы завершить процедуру смены email. Без подтверждения по ссылке из письма смена адреса не будет выполнена. Желаем вам увлекательной и прибыльной игры в 7K Casino! Помните, что онлайн-гемблинг – это прежде всего развлечение, а не способ заработка. Играйте ответственно, соблюдайте установленные лимиты и не позволяйте азарту взять верх над разумом.

  • Это обеспечивает честность результатов и невозможность использования скриптовых аппаратов.
  • Полная версия сайта 7К Casino доступна без ограничений через рабочее зеркало.
  • Количество накопленных баллов также влияет на статус игрока в клубе – чем больше баллов, тем выше статус и больше доступных привилегий.
  • Все данные хранятся в зашифрованном виде на выделенных серверах, поэтому надежно защищены от утечки.
  • Неправильная или запрещенная настройка VPN может привести к временной блокировке аккаунта или затруднениям при выводе средств.
  • В пользовательском соглашении срок проверки документов не регламентирован.
  • Окно для ввода комбинации символов находится в разделе «Бонусы».
  • Ассортимент развлечений, насчитывает больше азартных тайтлов от ведущих мировых провайдеров.
  • Предполагает первоначальное составление последовательности ставок, которые будут использоваться.
  • Наш игровой клуб работает по лицензии и предлагает гэмблерам проверенное программное обеспечение от ведущих провайдеров.
  • Вместе с разделами сайта и кнопкой переключения языка в главном меню представлены ссылки на мобильные приложения для iOS и Android.
  • Crazy Time и Monopoly Live позволяют взаимодействовать с ведущим, применять стратегии и выигрывать крупные деньги.

Редакция Casino.ru подготовила рейтинг лучших слотов месяца. В мартовскую подборку вошли игровые автоматы о Египте, Греции, ацтекских пирамидах, лепреконах, религиозных культах и не только. На странице представлены топовые новинки с описанием технических характеристик, механик и других особенностей. Все слоты доступны для бесплатного запуска в деморежиме. У оператора казино есть лицензия, поэтому он обязан использовать оригинальное программное обеспечение. Каждый игровой автомат в каталоге загружается с официального сервера провайдера.

Казино 7К в 2025 году предлагает конкурентные условия для новичков и опытных игроков. Бонусы в 7К Casino можно использовать как в слотах, так и в других играх. Каталог регулярно обновляется, добавляя новое развлечение для всех категорий игроков.

Активируйте понравившиеся предложения в разделе акций. Для некоторых бонусов потребуется ввести промокод или сделать минимальный депозит. Чтобы начать играть в 7К Casino, достаточно зарегистрироваться и внести депозит. Казино принимает платежи через карты, электронные кошельки и криптовалюты. Book of Crown — игровой автомат провайдера PoggiPlay, выпущенный в 2026 году.

  • При выявлении недостоверных данных администрация имеет право заблокировать аккаунт без возможности восстановления.
  • Верификация не обязательна и перед первым выводом денег.
  • Доступ к игровому счету и его сохранность при переходе через зеркало остаются неизменными.
  • Можно сразу войти в учетную запись, пополнить баланс и начать играть в 7K Casino на реальные деньги в игровых автоматах.
  • Да, есть мобильная версия сайта и отдельные приложения для устройств на Android и iOS.
  • За каждые 150 ₽ сделанных ставок начисляется 1 балл.
  • На сегодняшний день казино 7К предлагает целый ряд бонусных предложений для новых и постоянных игроков.
  • В казино 7к бонусная программа оказалась вполне приемлемой для игры.
  • Кешаут криптовалютой — самый быстрый способ вывода.
  • Для получения дополнительных спинов постоянные игроки могут использовать промокоды или бонус-коды.
  • Для регистрации нужен только email или номер телефона.

Игрок вводит свои данные, подтверждает личный 7k casino кабинет и получает доступ к личному кабинету. После обработки заявки на выплату средства могут поступать на карту в течение 24 часов из-за особенностей работы банковских процессинговых систем. Оно позволяет получить доступ к сайту без VPN или сторонних приложений. Вывод денег из казино 7К осуществляется тем же способом, которым был внесен депозит. Сроки зависят от платежной системы, но обычно не превышают 24–48 часов. Средства можно снять только после прохождения верификации.

В нашем каталоге представлены слоты различных тематик и жанров, способные удовлетворить запросы даже самых требовательных гэмблеров. Казино 7К предлагает игрокам удобную мобильную версию сайта и функциональное приложение для Android. Мобильная версия 7K Casino сохраняет все возможности десктопной платформы в адаптивном дизайне с интуитивно понятной навигацией.

Это подтверждает, что слоты не поддельные и с честными выплатами. Регулярный бонус можно получать многократно — за пятый и все дальнейшие депозиты после регистрации. Промопредложение актуально для пользователей, достигших 2-го уровня в программе лояльности.

Дополнительные документы может потребовать администрация казино. Доступны переводы на карты, электронные кошельки и криптовалютные платежи. Играть в 7К Casino можно не только с компьютера, но и с мобильных устройств. Независимо от того, используется ли iPhone или Android, платформа предоставляет качественный доступ к основному функционалу сайта.

]]>
Les vertus du Danabol à 10 mg pour les athlètes https://catippy.com/les-vertus-du-danabol-a-10-mg-pour-les-athletes/ Tue, 28 Apr 2026 04:03:50 +0000 https://catippy.com/?p=57834 Le Danabol 10 mg est un stéroïde anabolisant reconnu pour ses effets positifs dans le monde du sport et de la musculation. Ce produit, qui se distingue par sa capacité à favoriser la prise de masse musculaire rapide, est particulièrement prisé par les sportifs souhaitant améliorer leurs performances. À peine quelques jours après le début de sa prise, les utilisateurs peuvent observer une augmentation significative de leur force et de leur endurance.

https://quotidianoindipendente.com/danabol-10-mg-avantages-pour-les-sportifs/

Les bénéfices du Danabol 10 mg sur la performance sportive

Dans le cadre d’un entraînement sérieux, l’intégration du Danabol 10 mg peut offrir des bénéfices considérables. Voici quelques avantages clés de ce produit :

  1. Augmentation de la masse musculaire : Le Danabol stimule la synthèse des protéines, ce qui facilite la prise de muscle et améliore la définition physique.
  2. Amélioration de la force : Les utilisateurs constatent une hausse rapide de leur force, idéale pour soulever des charges plus lourdes durant les séances d’entraînement.
  3. Récupération accélérée : Le Danabol permet de réduire le temps de récupération entre les entraînements, permettant ainsi de s’entraîner plus fréquemment et intensément.
  4. Augmentation de l’endurance : Les athlètes rapportent une meilleure résistance à la fatigue, ce qui prolonge leurs capacités d’effort durant les séances intensives.
  5. Amélioration de la performance athlétique : En somme, ce produit augmente non seulement les capacités physiques, mais contribue également à la confiance en soi des athlètes en pleine compétition.

Danabol 10 mg pour les passionnés de fitness

Ce produit est non seulement réservé aux professionnels, mais s’adresse également à tous les passionnés de fitness désireux de franchir un cap. Que vous soyez culturiste, athlète de force ou simplement amateur de musculation, le Danabol 10 mg peut être un allié précieux dans votre parcours. Il est important de l’associer à une diète adéquate et à un programme d’entraînement structuré pour en maximiser les effets.

]]>