Example #1
0
 /**
  * @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;
     });
 }
Example #3
0
    $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|

** 响应 **

```
[
Example #4
0
    "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;
    }
Example #5
0
```
{
'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 | 是 | 密码 |

** 响应 **
Example #6
0
    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');
Example #7
0
$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()
Example #9
0
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("您上传的不是图片文件,请重新上传。");
        }
Example #10
0
```
*/
$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;
Example #11
0
    $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;
Example #12
0
 /**
  * @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));
 }
Example #13
0
 /**
  * 用户模糊查询
  */
 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'));
 }
Example #14
0
function seldef(array $keys, $list, $filter = null)
{
    $function = compose(filters($filter), selects($keys));
    return $function($list);
}