SproutCMS

This is the code documentation for the SproutCMS project

source of /sprout/Helpers/DisplayConditions/Platform/BrowserName.php

  1. <?php
  2. /*
  3.  * Copyright (C) 2017 Karmabunny Pty Ltd.
  4.  *
  5.  * This file is a part of SproutCMS.
  6.  *
  7.  * SproutCMS is free software: you can redistribute it and/or modify it under the terms
  8.  * of the GNU General Public License as published by the Free Software Foundation, either
  9.  * version 2 of the License, or (at your option) any later version.
  10.  *
  11.  * For more information, visit <http://getsproutcms.com>.
  12.  */
  13.  
  14. namespace Sprout\Helpers\DisplayConditions\Platform;
  15.  
  16. use Sprout\Helpers\DisplayConditions\DisplayConditionEnum;
  17. use Sprout\Helpers\UserAgent;
  18.  
  19.  
  20. /**
  21.  * Display condtion for browser - firefox, chrome, safari, etc
  22.  */
  23. class BrowserName extends DisplayConditionEnum
  24. {
  25.  
  26. /**
  27.   * Return the available values for dropdowns
  28.   *
  29.   * @return array Key is internal value (e.g. 'desktop') and value is the label (e.g. 'Desktop')
  30.   */
  31. public function getParamValues()
  32. {
  33. $opts = [
  34. 'Chrome',
  35. 'Edge',
  36. 'Firefox',
  37. 'Internet Explorer',
  38. 'Opera',
  39. 'Safari',
  40. ];
  41. return array_combine($opts, $opts);
  42. }
  43.  
  44.  
  45. /**
  46.   * Return the current value of the variable
  47.   * This is compared against the params returned by {@see DisplayCondition::getParamValues}
  48.   *
  49.   * @param array $env Environment, such as page id etc
  50.   * @return string
  51.   */
  52. protected function getCurrentValue(array $env)
  53. {
  54. $info = UserAgent::getInfo();
  55. return @$info['browser_name'];
  56. }
  57.  
  58. }
  59.