index_tab.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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(StatesHelper::fetch_state('tags')) {
  38. $this->init();
  39. }
  40. return $this->mTabs;
  41. }
  42. private function init()
  43. {
  44. Log::record("init tags data.",Log::INFO);
  45. $this->mTabs = [];
  46. $mod_webcode = Model('web_code');
  47. $tabs = $mod_webcode->get_cache(self::mb_home_tab_id);
  48. if($tabs == null || empty($tabs)) {
  49. $tabs[] = array('special_id' => 0,'name' => '首页', 'sort' => 0);
  50. }
  51. uasort($tabs,'comp_tab');
  52. foreach ($tabs as $key => $val) {
  53. $this->mTabs[] = array('special_id' => $val['special_id'],'name' => $val['name']);
  54. }
  55. }
  56. }