Controls_Manager::SELECT, 'default' => 'iphone', 'label_block' => true, 'options' => [ 'iphone' => 'iPhone', 'windows' => 'Windows', 'open_bsd' => 'OpenBSD', 'sun_os' => 'SunOS', 'linux' => 'Linux', 'safari' => 'Safari', 'mac_os' => 'Mac OS', 'qnx' => 'QNX', 'beos' => 'BeOS', 'os2' => 'OS/2', 'search_bot' => 'Search Bot', ], ]; } /** * Check condition * * @since 2.2.0 * * @access public * * @param string $name The control name to check * @param string $operator Comparison operator * @param mixed $value The control value to check */ public function check( $name = null, $operator, $value ) { $oses = [ 'iphone' => '(iPhone)', 'windows' => 'Win16|(Windows 95)|(Win95)|(Windows_95)|(Windows 98)|(Win98)|(Windows NT 5.0)|(Windows 2000)|(Windows NT 5.1)|(Windows XP)|(Windows NT 5.2)|(Windows NT 6.0)|(Windows Vista)|(Windows NT 6.1)|(Windows 7)|(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)|Windows ME', 'open_bsd' => 'OpenBSD', 'sun_os' => 'SunOS', 'linux' => '(Linux)|(X11)', 'safari' => '(Safari)', 'mac_os' => '(Mac_PowerPC)|(Macintosh)', 'qnx' => 'QNX', 'beos' => 'BeOS', 'os2' => 'OS/2', 'search_bot' => '(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp/cat)|(msnbot)|(ia_archiver)', ]; return $this->compare( preg_match('@' . $oses[ $value ] . '@', $_SERVER['HTTP_USER_AGENT'] ), true, $operator ); } }