index_tab.php 1.3 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. $this->mTabs = [];
  27. }
  28. public static function instance() {
  29. if(self::$stInstance == null) {
  30. self::$stInstance = new index_tab();
  31. }
  32. return self::$stInstance;
  33. }
  34. public function tabs()
  35. {
  36. if(StatesHelper::fetch_state('tags')) {
  37. $this->init();
  38. }
  39. return $this->mTabs;
  40. }
  41. private function init()
  42. {
  43. Log::record("init tags data.",Log::INFO);
  44. $this->mTabs = [];
  45. $mod_webcode = Model('web_code');
  46. $tabs = $mod_webcode->get_cache(self::mb_home_tab_id);
  47. if($tabs == null || empty($tabs)) {
  48. $tabs[] = ['special_id' => 0,'name' => '首页', 'sort' => 0];
  49. }
  50. uasort($tabs,'comp_tab');
  51. foreach ($tabs as $key => $val) {
  52. $this->mTabs[] = ['special_id' => $val['special_id'],'name' => $val['name']];
  53. }
  54. }
  55. }