123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- <?php
- //declare (strict_types = 1);
- namespace app\admin\controller;
- use app\admin\model\Video;
- use app\common\controller\Backend;
- use think\facade\Db;
- use think\facade\Request;
- use think\facade\Session;
- use think\facade\View;
- use Ramsey\Uuid\Uuid;
- class Curriculum extends Backend
- {
- // todo 课程管理
- // 上传的课程
- public function index()
- {
- // Uuid::uuid1();
- }
- // 我发布的课程
- public function my()
- {
- if (Request::isPost()) {
- $page = input("page") ?: 1;
- $name = input("name", '', 'trim');
- // $admin = is_admin();
- $where = [];
- // if ($admin) {
- // $where["c.subject_id"] = $admin;
- // }
- if ($name) {
- $where["c.grade|s.name|su.name"] = $name;
- }
- if ( $this->quanxian==1){
- $where["c.creater_id"]=$this->adminid;
- }
- if ($this->project){
- $where["c.major_id"]=$this->project;
- }
- $list = Db::name("course")
- ->alias("c")
- ->order("c.id desc")
- ->leftJoin("subject s", "c.major_id=s.id")
- ->leftJoin("subject su", "c.subject_id=su.id")
- ->where($where)
- ->field("c.*,s.name major,su.name subject")
- ->paginate(['list_rows' => $this->pageSize, 'page' => $page])
- ->each(function ($item) {
- if ($item["create_time"]) {
- $item["create_time"] = date('Y-m-d H:i:s', $item["create_time"]);
- }
- return $item;
- })
- ->toArray();
- return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'], 'count' => $list['total']];
- }
- return View::fetch();
- }
- // 删除课程
- public function del_course()
- {
- $id = input("id");
- $course = Db::name("course")->where(["id" => $id])->delete();
- if ($course) {
- json_result(1, "操作成功");
- }
- json_result(2, "操作失败");
- }
- // 添加或者修改课程
- public function add()
- {
- if (Request::isPost()) {
- $id = input("id");
- $add["major_id"] = input("major_id") ?: json_result(2, "请选择专业");
- $add["subject_id"] = input("subject_id") ?: json_result(2, "请选科目");
- // $add["founder"]=
- $add["person"] = input("person") ?: json_result(2, "请填写加入学习计划人数");
- $add["image"] = input("image") ?: json_result(2, "请选封面");
- $add["teachers"] = input("teachers") ?: json_result(2, "请选任课教师");
- $add["content"] = input("content") ?: json_result(2, "请选科目简介");
- $add["grade"] = input("grade") ?: json_result(2, "请选年级");
- // $add["name"] = input("name") ?: json_result(2, "请选课程名");
- $add["class_id"] = input("class_id") ?: json_result(2, "请选课程");
- $add["update_time"] = time();
- $name=Db::name("subject")->where(["id"=>$add["subject_id"]])->find();
- $add["name"] =$name["name"];
- if ($id) {
- Db::name("course")->where(["id" => $id])->update($add);
- } else {
- $add["create_time"] = time();
- $admin=Session::get("admin");
- $add["founder"] = $admin["username"];
- $add["creater_id"]=$this->adminid;
- Db::name("course")->insert($add);
- }
- json_result(1, "操作成功");
- }
- $id = input("id");
- if ($id) {
- $examination = Db::name("course")->where(["id" => $id])->find();
- $examination["teachers"]=explode(",",$examination["teachers"]);
- } else {
- $examination = [];
- }
- $data["examination"] = $examination;
- $whers["major_id"] = ["!=", 0];
- $data["major"] = Db::name("subject")->where($whers)->select();
- $data["laboratory"] = Db::name("laboratory")->where("status", "=", "0")->field("id,name,person")->select();
- $data["user"] = Db::name("user")->where("type", "=", "2")->field("id,name")->select();
- // dump($data);
- View::assign("info", $data);
- return View::fetch();
- }
- // 科目
- public function subject_kemu()
- {
- $id = input("id");
- if ($id) {
- $where["major_id"] = $id;
- $major = Db::name("subject")->where($where)->field("id,name")->select();
- if ($major) {
- json_result(1, "", $major);
- } else {
- json_result(2, "未添加科目");
- }
- } else {
- json_result(2);
- }
- }
- //课程材料表
- public function materiallist()
- {
- if (Request::isPost()) {
- // dump($course_id);die();
- $course_id = input("course_id");
- $page = input("page") ?: 1;
- $limit = input("limit") ?: 10;
- $where["course_id"] = $course_id;
- $list = Db::name("course_material")->where($where)->paginate(["list_rows" => $limit, "page" => $page])->each(function ($item){
- $item["create_time"]=date("Y-m-d H:i:s",(int)$item["create_time"]);
- return $item;
- })->toArray();
- return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'], 'count' => $list['total']];
- }
- $course_id = input("course_id");
- View::assign("course_id", $course_id);
- return View::fetch();
- }
- public function getini()
- {
- // ini_set("upload_max_filesize","1000M");//即允许上传文件大小的最大值
- // ini_set("post_max_size","1001M");//指通过表单POST给PHP的所能接收的最大值
- // ini_set("memory_limit","9M");//;每个PHP页面所吃掉的最大内存
- $upload_max_filesize= ini_get("upload_max_filesize");
- $post_max_size= ini_get("post_max_size");
- $memory_limit= ini_get("memory_limit");
- d($upload_max_filesize);
- d($post_max_size);
- d($memory_limit);
- }
- // 上传资料
- public function addmaterial()
- {
- if (Request::isPost()) {
- $course_id = input("course_id");
- $id = input("id");
- $add["name"] = input("name") ?: json_result(2, "请设置材料名称");
- $add["url"] = input("url") ?: json_result(2, "请上传材料");
- $add["update_time"] = time();
- $filesize=0;
- $filetype="";
- if (is_file(Pah.$add["url"])){
- $filesizes=filesize(Pah.$add["url"]);
- $filesize = round($filesizes/1024/1024,2);
- $filetype=pathinfo(Pah.$add["url"])["extension"];
- }
- $add["size"]=$filesize;
- $add["type"]=$filetype;
- if ($id) {
- Db::name("course_material")->where(["id" => $id])->update($add);
- } else {
- $add["create_time"] = time();
- $add["course_id"] = $course_id;
- Db::name("course_material")->insert($add);
- }
- json_result(1, "操作成功");
- }
- $id = input("id");
- $course_id = input("course_id");
- $data = Db::name("course_material")->where(["id" => $id])->find();
- View::assign("info", $data);
- View::assign("course_id", $course_id);
- return View::fetch();
- }
- // 删除课程材料
- public function del_material()
- {
- $id = input("id");
- Db::name("course_material")->where(["id" => $id])->delete();
- json_result(1, "删除成功");
- }
- //课程视频表
- public function videolist()
- {
- if (Request::isPost()) {
- $course_id = input("course_id");
- $page = input("page") ?: 1;
- $limit = input("limit") ?: 10;
- $where["course_id"] = $course_id;
- $list = Db::name("course_video")->order("order desc")->where($where)->paginate(["list_rows" => $limit, "page" => $page])->each(function ($item){
- $item["create_time"]=date("Y-m-d H:i:s",(int)$item["create_time"]);
- return $item;
- })->toArray();
- return $result = ['code' => 0, 'msg' => lang('get info success'), 'data' => $list['data'], 'count' => $list['total']];
- }
- $course_id = input("course_id");
- View::assign("course_id", $course_id);
- return View::fetch();
- }
- // 上传视频
- public function addvideo()
- {
- if (Request::isPost()) {
- $course_id = input("course_id");
- $id = input("id");
- $add["name"] = input("name") ?: json_result(2, "请设置视频名称");
- $add["url"] = input("url") ?: json_result(2, "请上传视频");
- $add["order"] = input("order") ?: json_result(2, "第几节课程");
- $add["backimge"] = input("image") ?: json_result(2, "视频封面");
- $add["update_time"] = time();
- if (!is_numeric($add["order"])||strpos($add["order"],".")!==false){
- json_result(2,"课程章节 只能是 整数");
- }
- if ($add["url"]){
- $filesize=0;
- $filetype="";
- $videotime=0;
- if (is_file(Pah.$add["url"])){
- $filesizes=filesize(Pah.$add["url"]);
- $filesize = round($filesizes/1024/1024,2);
- $filetype=pathinfo(Pah.$add["url"])["extension"];
- }
- if (!$add["backimge"]){
- $video=Video::ffmpeg_getTime(Pah.$add["url"]);
- $add["backimge"]=$video["img"];
- $add["time"]=$video["seconds"];
- // dump($video);
- }else{
- $video=Video::video_time(Pah.$add["url"]);
- $add["time"]=$video;
- // dump($video);
- }
- $add["size"]=$filesize;
- $add["type"]=$filetype;
- $add["time_long"]=$tim= gmdate("H:i:s", $add["time"]);;
- }
- // dump($add);return ;
- if ($id) {
- Db::name("course_video")->where(["id" => $id])->update($add);
- } else {
- $add["create_time"] = time();
- $add["course_id"] = $course_id;
- Db::name("course_video")->insert($add);
- }
- json_result(1, "操作成功");
- }
- $id = input("id");
- $data = Db::name("course_video")->where(["id" => $id])->find();
- View::assign("info", $data);
- $course_id = input("course_id");
- View::assign("course_id", $course_id);
- return View::fetch();
- }
- // 删除视频
- public function del_video()
- {
- $id = input("id");
- Db::name("course_video")->where(["id" => $id])->delete();
- json_result(1, "删除成功");
- }
- }
|