<?php

class commonData {
  /**
   * lists: chuc vu, danh hieu, chuen mon
   * @var array
   */
  public static $position = array(
    0 => 'Chọn chức vụ',
    1 => 'Giám đốc Sở',
    2 => 'Phó Giám đốc Sở',
    3 => 'Chuyên viên Sở',
    //...
    10 => 'Trưởng Phòng',
    11 => 'Phó trưởng Phòng',
    12 => 'Chuyên viên Phòng',
    //...
    20 => 'Hiệu trưởng',
    21 => 'Phó Hiệu trưởng',
    //...
    30 => 'Giáo viên Mầm Non',
    31 => 'Giáo viên Tiểu học',
    32 => 'Giáo viên Trung học',
    33 => 'Giảng viên Sư phạm',
    //...
    40 => 'Sinh viên Sư phạm',
    41 => 'Học sinh',
    42 => 'Phụ huynh học sinh',
  );

  public static $acad_title = array(
    array(
    0 => 'Không học hàm',
    1 => 'Phó giáo sư',
    2 => 'Giáo sư',
    ),
    array(0 => '', 1 => 'PGS. ', 2 => 'GS. ')
  );
  public static $diploma = array(
    array(
    0 => 'Không học vị',
    1 => 'Thạc sĩ',
    2 => 'Tiến sĩ',
    3 => 'Tiến sĩ khoa học'
    ),
    array(0 => '', 1 => 'ThS. ', 2 => 'TS. ', 3 => 'TSKH. ')
  );
  public static $badge = array(
    array(
    0 => 'Không danh hiệu',
    1 => 'Nhà giáo ưu tú',
    2 => 'Nhà giáo nhân dân',
    ),
    array(0 => '', 1 => 'NGƯT. ', 2 => 'NGND. ')
  );

  public static $subject1 = array(
    1 => 'Lớp 1',
    2 => 'Lớp 2',
    3 => 'Lớp 3',
    4 => 'Lớp 4',
    5 => 'Lớp 5',
    6 => 'Âm nhạc',
    7 => 'Mỹ thuật',
    8 => 'Thể dục',
    9 => 'Tin học',
    10=> 'Ngoại ngữ',
  );

  public static $subject2 = array(
    11 => 'Toán học',
    12 => 'Vật lý',
    13 => 'Hóa học',
    14 => 'Sinh học',
    15 => 'Ngữ văn',
    16 => 'Công nghệ',
    17 => 'Lịch sử',
    19 => 'Ngoại ngữ',
    20 => 'Tin học',
    21 => 'Thể dục',
    22 => 'Địa Lý',
    24 => 'Mỹ thuật',
    25 => 'GD hướng nghiệp',
    26 => 'GDCD - GDNGLL',
    27 => 'Âm nhạc',
  );

  public static $sc_prefix = array(
    2=>'th-', 3=>'thcs-', 4=>'thpt-', 5=>'',
    6=>'ptcs-', 7=>'ptth-', 8=>'pt-', 9=>'mamnon-');

  public static $sc_menus = array(
    0=>array(1),            // sở thì chỉ cho chọn mẫu Sở GD&ĐT
    1=>array(2),            // phòng thì chỉ cho chọn mẫu Phòng GD&ĐT
    2=>array(3, 9),         // trường Tiểu học thì cho phép tạo web Trường TH và GV TH
    3=>array(4, 10),        // trường THCS thì cho phép tạo web Trường THCS và GV THCS
    4=>array(5, 11),        // trường THPT thì cho phép tạo web Trường THPT và GV THPT
    5=>array(14, 15),       // trường Sư phạm thì cho phép tạo web Trường Sư phạm
    6=>array(6, 9, 10),     // trường PTCS thì cho phép tạo web Trường PTCS, GV TH và GV THCS
    7=>array(7, 10, 11),    // trường PTTH thì cho phép tạo web Trường PTTH, GV THCS và GV THPT
    8=>array(8, 9, 10, 11), // trường Phổ thông thì cho phép tạo web Trường phổ thông và GV 3 cấp
    9=>array(12, 13),       // trường Mầm non thì cho phép tạo web Trường Mầm non và GV Mầm non
    40=>array(16),          // sinh viên Sư phạm chỉ cho chọn mẫu của Sinh viên Sư phạm
  );

  public static $blogTitle = array(
    1=>'Thư viện cho Sở GD&DT',
    2=>'Thư viện cho Phòng GD&DT',
    3=>'Thư viện cho trường Tiểu học (cấp 1)',
    4=>'Thư viện cho trường THCS (cấp 2)',
    5=>'Thư viện cho trường THPT (cấp 3)',
    6=>'Thư viện cho trường PTCS (cấp 1,2)',
    7=>'Thư viện cho trường PTTH (cấp 2,3)',
    8=>'Thư viện cho trường phổ thông (cấp 1,2,3)',
    9=>'Thư viện cho giáo viên Tiểu học',
    10=>'Thư viện cho giáo viên THCS',
    11=>'Thư viện cho giáo viên THPT',
    12=>'Thư viện cho trường Mầm non',
    13=>'Thư viện cho giáo viên Mầm non',
    14=>'Thư viện cho trường Sư phạm',
    15=>'Thư viện cho giảng viên Sư phạm',
    16=>'Thư viện cho sinh viên Sư phạm',
  );

  public static $blogDefault = array(
    1=>'so_gd_dt',
    2=>'phong_gd_dt',
    3=>'truong_tieu_hoc',
    4=>'truong_thcs',
    5=>'truong_thpt',
    6=>'truong_ptcs',
    7=>'truong_ptth',
    8=>'truong_pho_thong',
    9=>'giao_vien_tieu_hoc',
    10=>'giao_vien_thcs',
    11=>'giao_vien_thpt',
    12=>'truong_mam_non',
    13=>'giao_vien_mam_non',
    14=>'truong_su_pham',
    15=>'giang_vien_su_pham',
    16=>'sinh_vien_su_pham',
  );
  
  
  public static $lessons = null;
  public static $baseCatTree = null;

  public function initData() {
    sfConfig::set('app_resource_type', array_merge(sfConfig::get('app_entry_type'), sfConfig::get('app_non_entry_type')));

    $cache = sfMemcacheCache::getInstance();
    self::$lessons = $cache->getWithQueue('lessons');
    if (self::$lessons === null) {
      self::$lessons = new lessonList();
      $cache->set('lessons', '', self::$lessons, 86400);
    }

    self::$baseCatTree = $cache->getWithQueue('baseCatTree');
    if (self::$baseCatTree === null) {
      self::$baseCatTree = new categoryBaseTree();
      $cache->set('baseCatTree', '', self::$baseCatTree, 86400);
    }
  }

  public static function getSchoolType($position) {
    switch ($position) {
    case 20://hieu truong
    case 21://hieu pho
    case 41://hoc sinh
    case 42://phu huynh hoc sinh
      $type = array(2, 3, 4, 5, 6, 7, 8, 9);//tat ca cac truong
      break;
    case 30://giao vien mam non
      $type = array(9);//truong mam non
      break;
    case 31://giao vien tieu hoc
      $type = array(2, 6, 8);//truong tieu hoc, ptcs va pt
      break;
    case 32://giao vien trung hoc
      $type = array(3, 4, 6, 7, 8);//truong thcs, thpt, ptcs, ptth va pt
      break;
    case 33://giang vien su pham
    case 40://sinh vien su pham
      $type = array(5);//truong dai hoc-cao dang
      break;
    default://chuc vu khac
      $type = array();
    }
    return $type;
  }

  /**
   * Get name of module which manages this category type
   *
   * @param int $cat_type
   * @return string
   */
  public static function getModule($cat_type) {
    $app_modules = sfConfig::get('app_resource_module');
    foreach ($app_modules as $module => $types) {
      if (in_array($cat_type, $types)) return $module;
    }
  }

  /**
   * Get vietnamese name of category
   *
   * @param int $cat_type
   * @return string
   */
  public static function getCatTypeName($cat_type) {
    $app_types = sfConfig::get('app_resource_type');
    $app_names = sfConfig::get('app_resource_name');
    return $app_names[array_search($cat_type, $app_types)];
  }
}
