/** * @preserveGlobalState disabled * @runInSeparateProcess */ public function test_one_more_time() { $_SERVER['REQUEST_URI'] = 'test?hmm=1'; $_SERVER['REQUEST_SCHEME'] = 'https'; $req = new Hm_Request(filters()); $this->assertTrue($req->tls); }
public function register() { parent::register(); /** @var Factory $view */ $view = $this->app['view']; actions()->listen('wp', function () use($view) { if (app()->isShared('post')) { /** @var Post $post */ $view->share('__post', $post = app('post')); if ($post instanceof Page) { $view->share(['__template' => $post->getMeta('template'), '__sidebar' => $post->getMeta('sidebar')]); } } }); filters()->listen('wp_title_parts', function ($titleParts) { return is_404() ? [trans('page-titles.' . $this->app['router']->currentRouteName())] : $titleParts; }); }
$follwers = ServiceKernel::instance()->createService('User.UserService')->findAllUserFollower($user['id']); return filters($follwers, 'user'); }); //获得用户关注的人 /* ** 响应 ** ``` { "xxx": "xxx" } ``` */ $api->get('/{id}/followings', function ($id) { $user = convert($id, 'user'); $follwings = ServiceKernel::instance()->createService('User.UserService')->findAllUserFollowing($user['id']); return filters($follwers, 'user'); }); //获得用户的好友关系 /* ## 获得用户的好友关系 GET /users/{id}/friendship ddddd | 名称 | 类型 | 必需 | 说明 | | ---- | ----- | ----- | ---- | | toIds | int | 否 | 被选方的的用户id,未传则默认为当前登录用户,多id格式为id-1,id-2,id-3| ** 响应 ** ``` [
"total": "{totalCount}" } ``` */ $api->get('/notifications', function (Request $request) { $user = getCurrentUser(); $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 10); $type = $request->query->get('type', ''); $conditions['userId'] = $user['id']; if (!empty($type)) { $conditions['type'] = $type; } $notifications = ServiceKernel::instance()->createService('User.NotificationService')->searchNotifications($conditions, array('createdTime', 'DESC'), $start, $limit); $count = ServiceKernel::instance()->createService('User.NotificationService')->searchNotificationCount($conditions); return array('data' => filters($notifications, 'notification'), 'total' => $count); }); //修改密码 $api->post('/change_password', function (Request $request) { $user = getCurrentUser(); $method = $request->request->get('method'); $current_password = $request->request->get('current_password'); $new_password = $request->request->get('new_password'); $user_id = $user['id']; //$user['currentIp']=$current_ip; $status = ServiceKernel::instance()->createService('User.UserService')->verifyPassword($user_id, $current_password); if ($status) { $result = ServiceKernel::instance()->createService('User.UserService')->changePassword($user_id, $new_password); } else { $result = false; }
``` { 'data': [ datalist ], "total": {total} } ``` */ $api->get('/pages', function (Request $request) { $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 10); $count = ServiceKernel::instance()->createService('User.UserService')->searchUserCount(array()); $users = ServiceKernel::instance()->createService('User.UserService')->searchUsers(array(), array('createdTime', 'DESC'), $start, $limit); return array('data' => filters($users, 'user'), 'total' => $count); }); /* ## 登录 POST /users/login ** 参数 ** | 名称 | 类型 | 必需 | 说明 | | ---- | ----- | ----- | ---- | | nickname | string | 是 | 昵称 | | password | string | 是 | 密码 | ** 响应 **
return $data; }); //根据id获取一个课程Lesson信息 $api->get('/{courseId}/lesson/{lessonId}', function ($courseId, $lessonId) { $lesson = ServiceKernel::instance()->createService('Course.CourseService')->getCourseLesson($courseId, $lessonId); return $lesson; }); //获取评论 $api->get('/{courseId}/reviews', function (Request $request, $courseId) { $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 10); $reviewService = ServiceKernel::instance()->createService('Course.ReviewService'); $reviews = $reviewService->findCourseReviews($courseId, $start, $limit); $count = $reviewService->getCourseReviewCount($courseId); $data = array(); $data['data_list'] = filters($reviews, 'course'); $data['count'] = $count; return $data; }); //获取个人评论 $api->get('/{courseId}/reviews/user/{userId}', function ($courseId, $userId) { $reviewService = ServiceKernel::instance()->createService('Course.ReviewService'); $review = $reviewService->getUserCourseReview($userId, $courseId); $review = filter($review, 'course'); return $review; }); //添加个人评论 $api->post('/{courseId}/reviews/user/{userId}', function (Request $request, $courseId, $userId) { $fields = array(); $fields['rating'] = $request->request->get('rating'); $fields['content'] = $request->request->get('content');
$api->post('/message/post', function (Request $request) { $user = getCurrentUser(); $userId = $request->query->get('userId', $user['id']); $content = $request->request->get('content'); $fromId = $userId; $toId = 1; $type = 'text'; $createdTime = time(); $MessageService = ServiceKernel::instance()->createService('User.MessageService'); $message = $MessageService->sendMessage($fromId, $toId, $content, $type, $createdTime); return $message; }); //3关于我们 $api->get('/content/aboutus', function () { $alias = 'aboutus'; $ContentService = ServiceKernel::instance()->createService('Content.ContentService'); $aboutus = $ContentService->getContentByAlias($alias); return filter($aboutus, 'sundry'); }); //获取所有自定义页面信息 $api->get('/content/page', function () { $ContentService = ServiceKernel::instance()->createService('Content.ContentService'); $start = 0; $limit = 9999; $orderBy = array('id', 'DESC'); $conditions = array(); $conditions['type'] = 'page'; $contents = $ContentService->searchContents($conditions, $orderBy, $start, $limit); return filters($contents, 'sundry'); }); return $api;
exit; } if (isset($_GET["security"])) { security(); exit; } if (isset($_GET["queues"])) { section_queues(); exit; } if (isset($_GET["wbl"])) { section_wbl(); exit; } if (isset($_GET["filters"])) { filters(); exit; } if (isset($_GET["status"])) { status(); exit; } if (isset($_GET["transport"])) { transport(); exit; } if (isset($_GET["security"])) { security(); } main_page(); function main_page()
use Topxia\Common\FileToolkit; use Topxia\Common\ArrayToolkit; $api = $app['controllers_factory']; //根据id获取一个课程作业信息 $api->get('/{id}', function ($id) { $homework = convert($id, 'homework'); return filter($homework, 'homework'); }); //获取课程作业列表 $api->get('/course/{courseId}', function (Request $request, $courseId) { $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 10); $conditions = array(); $orderBy = array('id', 'DESC'); $homeworks = ServiceKernel::instance()->createService('Homework:Homework.HomeworkService')->searchHomeworks($conditions, $orderBy, $start, $limit); return filters($homeworks, 'homework'); }); //学生提交作业 $api->post('/{homeworkId}/student/{studentId}', function (Request $request, $homeworkId, $studentId) { $homework = convert($homeworkId, 'homework'); $homework_id = $homework['id']; $lesson_id = $homework['lesson_id']; $member_type = $request->request->get('member_type'); $remark = $request->request->get('remark'); $groupCode = 'homework'; $type = 'image'; $file = $request->files->get('file'); if ($type == 'image') { if (!FileToolkit::isImageFile($file)) { throw new \RuntimeException("您上传的不是图片文件,请重新上传。"); }
``` */ $api->get('/apps', function () { $mobile = ServiceKernel::instance()->createService('System.SettingService')->get('mobile'); $site = ServiceKernel::instance()->createService('System.SettingService')->get('site'); $apps[] = array('id' => 1, 'name' => $site['name'], 'title' => $site['slogan'], 'about' => $mobile['about'], 'avatar' => $mobile['logo'], 'callback' => '/mobileschools/announcements'); return $apps; }); /* ## 获取手机网校公告列表 GET /mobileschools/announcements [支持分页](global-parameter.md) ** 响应 ** ``` { 'data': '{data-list}', 'total': {data-total} } ``` */ $api->get('/announcements', function (Request $request) { $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 10); $count = ServiceKernel::instance()->createService('Announcement.AnnouncementService')->searchAnnouncementsCount(array('targetType' => 'global')); $announcements = ServiceKernel::instance()->createService('Announcement.AnnouncementService')->searchAnnouncements(array('targetType' => 'global'), array('createdTime', 'DESC'), $start, $limit); return array('data' => filters($announcements, 'announcement'), 'total' => $count); }); return $api;
$data = array(); $data['classroom_list'] = filters($classrooms, 'classroom'); $data['count'] = $count; return $data; }); //我的班级列表 $api->get('/user/{user_id}', function (Request $request, $user_id) { $start = $request->query->get('start', 0); $limit = $request->query->get('limit', 5); $conditions = array(); $orderBy = array('createdTime', 'DESC'); $classrooms = array(); $studentClassrooms = ServiceKernel::instance()->createService('Classroom:Classroom.ClassroomService')->searchMembers(array('role' => 'student', 'userId' => $user_id), $orderBy, $start, $limit); $auditorClassrooms = ServiceKernel::instance()->createService('Classroom:Classroom.ClassroomService')->searchMembers(array('role' => 'auditor', 'userId' => $user_id), $orderBy, $start, $limit); $classrooms = array_merge($studentClassrooms, $auditorClassrooms); $classroomIds = ArrayToolkit::column($classrooms, 'classroomId'); $conditions = array('status' => 'published', 'showable' => '1', 'classroomIds' => $classroomIds); $classrooms = ServiceKernel::instance()->createService('Classroom:Classroom.ClassroomService')->searchClassrooms($conditions, $orderBy, $start, $limit); $count = ServiceKernel::instance()->createService('Classroom:Classroom.ClassroomService')->searchClassroomsCount($conditions); $data = array(); $data['classroom_list'] = filters($classrooms, 'classroom'); $data['count'] = $count; return $data; return; }); //班级详情 $api->get('/{id}', function ($id) { $classroom = convert($id, 'classroom'); return filter($classroom, 'classroom'); }); return $api;
/** * @preserveGlobalState disabled * @runInSeparateProcess */ public function test_merge_filters() { $res = $this->module_exec->merge_filters(filters(), array('allowed_get' => array('new' => 'thing'))); $this->assertEquals('thing', $res['allowed_get']['new']); $res = $this->module_exec->merge_filters(filters(), array('allowed_pages' => array('new'))); $this->assertTrue(in_array('new', $res['allowed_pages'], true)); }
/** * 用户模糊查询 */ private function matchUsers($q) { $mobileProfiles = $this->getUserService()->searchUserProfiles(array('mobile' => $q), array('id', 'DESC'), 0, 5); $qqProfiles = $this->getUserService()->searchUserProfiles(array('qq' => $q), array('id', 'DESC'), 0, 5); $mobileList = $this->getUserService()->findUsersByIds(ArrayToolkit::column($mobileProfiles, 'id')); $qqList = $this->getUserService()->findUsersByIds(ArrayToolkit::column($qqProfiles, 'id')); $nicknameList = $this->getUserService()->searchUsers(array('nickname' => $q), array('LENGTH(nickname)', 'ASC'), 0, 5); return array('mobile' => filters($mobileList, 'user'), 'qq' => filters($qqList, 'user'), 'nickname' => filters($nicknameList, 'user')); }
function seldef(array $keys, $list, $filter = null) { $function = compose(filters($filter), selects($keys)); return $function($list); }