Beispiel #1
0
 public function access_set()
 {
     if (!$this->check()) {
         return;
     }
     $id = $this->__req->get('id');
     if ($id > 0) {
         $db = db_class();
         $this->__view("access/access_set.php", ['role' => $db->get_role_info($id), 'role_access' => list2keymap($db->get_role_access($id), "p_id", ['ac_w', 'ac_r']), 'permission' => list2keymap($db->get_permission_list(), 'p_id', 'p_alias')]);
     } else {
         $this->__view("access/access_set_get_role.php", ['role_list' => db_class()->get_role_list()]);
     }
 }
Beispiel #2
0
 function __construct()
 {
     $login = login_class();
     if ($login->is_login()) {
         $list = [];
         switch ($login->getLoginType()) {
             case "admin":
                 $list = db_class()->get_admin_allow_access($login->uid());
                 break;
             case "teacher":
             case "student":
                 $list = db_class()->get_role_allow_access($login->role_id());
                 break;
         }
         $this->table = list2keymap($list, 'name', ['r', 'w']);
     }
 }
Beispiel #3
0
 /**
  * Home page
  */
 public function main()
 {
     if (!$this->is_login()) {
         redirect(['Home', 'login']);
     }
     $cgf = cfg();
     $this->setTitle("管理");
     switch (login_class()->getLoginType()) {
         case "teacher":
             $cgf->load(_RootPath_ . "/config/base_info.php");
             $filed = $cgf->get('teacher_info', 'filed');
             break;
         case "student":
             $cgf->load(_RootPath_ . "/config/base_info.php");
             $filed = $cgf->get('student_info', 'filed');
             break;
     }
     $role_access = list2keymap(db_class()->get_role_access_and_name(login_class()->role_id()), "p_id", ['ac_w', 'p_name', 'p_alias', 'ac_r']);
     $this->__view("home/main.php", compact('role_access', 'filed'));
 }
Beispiel #4
0
 public function post()
 {
     header("Content-Type: text/html; charset=utf-8");
     $access = access_class();
     if (!$access->read("scores_list_report")) {
         $this->permission_deny();
         return;
     }
     $id_id = $this->__req->req('id_id');
     $icl_id = $this->__req->req('icl_id');
     $mc_number = $this->__req->req('mc_number');
     $mc_year = $this->__req->req('mc_year');
     $mc_s = compact('id_id', 'mc_number', 'mc_year');
     $msg = "";
     if (count($mc_s) != 3) {
         $msg = "提交数据不完全";
     } else {
         foreach ($mc_s as $v) {
             if (empty($v)) {
                 $msg = "数据存在空值";
                 break;
             }
         }
     }
     if ($msg) {
         $this->__view('report/error.php', compact('msg'));
         return;
     }
     $db = db_class();
     $mc_list = $db->getDriver()->select("mg_curriculum", ["[><]info_curriculum" => ['cu_id' => "cu_id"]], ["mc_id", "cu_name"], ['AND' => $mc_s]);
     if (count($mc_list) < 1) {
         $msg = "无数据可供查询";
         $this->__view('report/error.php', compact('msg'));
         return;
     }
     $mc_list = list2keymap($mc_list, "mc_id", "cu_name");
     if (!empty($icl_id)) {
         $icl_id = ['info_student.icl_id' => $icl_id];
     } else {
         $icl_id = [];
     }
     $table = [];
     foreach ($mc_list as $mc_id => $cu_name) {
         $now_select = $db->report_curriculum($mc_id, $icl_id);
         foreach ($now_select as $v) {
             if (!isset($table[$v['is_id']])) {
                 $table[$v['is_id']] = [];
                 $table[$v['is_id']]['name'] = $v['is_name'];
                 $table[$v['is_id']]['class'] = $v['icl_number'];
             }
             if (!isset($table[$v['is_id']]['list'])) {
                 $table[$v['is_id']]['list'] = [];
             }
             if (!isset($table[$v['is_id']]['list'][$mc_id])) {
                 $table[$v['is_id']]['list'][$mc_id] = ['test' => $v['sc_test'], 'work' => $v['sc_work'], 'total' => $v['sc_total']];
             }
         }
     }
     ksort($table);
     $info = $db->get_curriculum_info_by_mc_id(array_keys($mc_list)[0]);
     $this->__view('report/report.php', compact('info', 'table', 'mc_list', 'mc_s'));
 }
Beispiel #5
0
function get_class_info_value($id)
{
    $is = list2keymap(db_class()->get_class_info([$id]), "icl_id", "icl_number");
    return $is[$id];
}
Beispiel #6
0
 public function ajax($type = '')
 {
     header("Content-Type: application/json; charset=utf-8");
     $access = access_class();
     if (!$access->read("base_info_ajax")) {
         $this->permission_deny();
         return;
     }
     $db = db_class()->getDriver();
     $id = $this->__req->get('id');
     $t = $this->__req->get('t');
     switch ($type) {
         case "college_select_year":
             echo json_encode(array_keys(list2keymap($db->select("info_discipline", ["id_time"], ['ico_id' => $id, 'GROUP' => 'id_time']), 'id_time', 'id_time')));
             break;
         case "c_and_y_select_id":
             echo json_encode(list2keymap($db->select("info_discipline", ["id_id", "id_name"], ['AND' => ['ico_id' => $id, 'id_time' => $t]]), 'id_id', 'id_name'));
             break;
         case "campus_select_college":
             echo json_encode(list2keymap($db->select("info_college", ["ico_id", 'ico_name'], ['ic_name' => $id]), "ico_id", 'ico_name'));
             break;
         case "id_select_class":
             echo json_encode(list2keymap($db->select("info_class", ["icl_id", 'icl_number'], ['id_id' => $id]), "icl_id", 'icl_number'));
             break;
         case "college_curriculum":
             echo json_encode(list2keymap($db->select("info_curriculum", ["cu_id", 'cu_name'], ['ico_id' => $id]), "cu_id", 'cu_name'));
             break;
         case "mc_select_year_by_id":
             echo json_encode(list2keymap($db->select("mg_curriculum", ['mc_year'], ['id_id' => $id, 'GROUP' => 'mc_year']), "mc_year", 'mc_year'));
             break;
         case "mc_select_number_by_id_year":
             echo json_encode(list2keymap($db->select("mg_curriculum", ['mc_number'], ['AND' => ['id_id' => $id, 'mc_year' => $t], 'GROUP' => 'mc_number']), "mc_number", 'mc_number'));
             break;
         default:
             echo ['msg' => '未定义内容', 'status' => false];
             break;
     }
 }