index_tab.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/2/27
  6. * Time: 上午9:57
  7. */
  8. function comp_tab($left,$right)
  9. {
  10. $t_l = intval($left['sort']);
  11. $t_r = intval($right['sort']);
  12. if($t_l > $t_r) {
  13. return 1;
  14. } elseif($t_l == $t_r) {
  15. return 0;
  16. } else {
  17. return -1;
  18. }
  19. }
  20. class index_tab
  21. {
  22. private static $stInstance = null;
  23. private $mTabs;
  24. const mb_home_tab_id = 123;
  25. public function __construct()
  26. {
  27. $this->mTabs = [];
  28. }
  29. public static function instance() {
  30. if(self::$stInstance == null) {
  31. self::$stInstance = new index_tab();
  32. }
  33. return self::$stInstance;
  34. }
  35. public function tabs()
  36. {
  37. if($_SESSION['is_lasted'] || $_SESSION['client_type'] == 'ajax')
  38. {
  39. if(StatesHelper::fetch_state('tags')) {
  40. $this->init();
  41. }
  42. return $this->mTabs;
  43. }
  44. else {
  45. global $config;
  46. return $config['old_tabs'];
  47. }
  48. }
  49. private function init()
  50. {
  51. Log::record("init tags data.",Log::INFO);
  52. $this->mTabs = [];
  53. $mod_webcode = Model('web_code');
  54. $tabs = $mod_webcode->get_cache(self::mb_home_tab_id);
  55. if($tabs == null || empty($tabs)) {
  56. $tabs[] = array('special_id' => 0,'name' => '首页', 'sort' => 0);
  57. }
  58. uasort($tabs,'comp_tab');
  59. foreach ($tabs as $key => $val) {
  60. $this->mTabs[] = array('special_id' => $val['special_id'],'name' => $val['name']);
  61. }
  62. }
  63. }