mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-06-27 04:57:39 +08:00
1.重命名kg_img_url
2.调整错误页 3.模拟topic数据
This commit is contained in:
parent
ab73ac4055
commit
0342331d89
@ -84,12 +84,12 @@ class CommentList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,12 +55,12 @@ class ConsultList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ class Course extends Builder
|
|||||||
*/
|
*/
|
||||||
public function handleCourse(CourseModel $course)
|
public function handleCourse(CourseModel $course)
|
||||||
{
|
{
|
||||||
$course->cover = kg_img_url($course->cover);
|
$course->cover = kg_ci_img_url($course->cover);
|
||||||
|
|
||||||
return $course;
|
return $course;
|
||||||
}
|
}
|
||||||
|
@ -44,12 +44,12 @@ class CourseFavoriteList extends Builder
|
|||||||
|
|
||||||
$courses = $courseRepo->findByIds($ids, $columns);
|
$courses = $courseRepo->findByIds($ids, $columns);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($courses->toArray() as $course) {
|
foreach ($courses->toArray() as $course) {
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
$course['attrs'] = json_decode($course['attrs'], true);
|
$course['attrs'] = json_decode($course['attrs'], true);
|
||||||
$result[$course['id']] = $course;
|
$result[$course['id']] = $course;
|
||||||
}
|
}
|
||||||
@ -65,12 +65,12 @@ class CourseFavoriteList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,14 +11,14 @@ class CourseList extends Builder
|
|||||||
|
|
||||||
public function handleCourses($courses)
|
public function handleCourses($courses)
|
||||||
{
|
{
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$list = [];
|
$list = [];
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course['categories'] = [];
|
$course['categories'] = [];
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
$course['attrs'] = json_decode($course['attrs'], true);
|
$course['attrs'] = json_decode($course['attrs'], true);
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
@ -111,12 +111,12 @@ class CourseList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,12 +44,12 @@ class CourseUserList extends Builder
|
|||||||
|
|
||||||
$courses = $courseRepo->findByIds($ids, $columns);
|
$courses = $courseRepo->findByIds($ids, $columns);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($courses->toArray() as $course) {
|
foreach ($courses->toArray() as $course) {
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
$course['attrs'] = json_decode($course['attrs'], true);
|
$course['attrs'] = json_decode($course['attrs'], true);
|
||||||
$result[$course['id']] = $course;
|
$result[$course['id']] = $course;
|
||||||
}
|
}
|
||||||
@ -65,12 +65,12 @@ class CourseUserList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,11 +8,11 @@ use App\Repos\User as UserRepo;
|
|||||||
class OrderList extends Builder
|
class OrderList extends Builder
|
||||||
{
|
{
|
||||||
|
|
||||||
protected $imgBaseUrl;
|
protected $baseUrl;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
$this->imgBaseUrl = kg_img_base_url();
|
$this->imgBaseUrl = kg_ci_base_url();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -55,12 +55,12 @@ class ReviewList extends Builder
|
|||||||
|
|
||||||
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
$users = $userRepo->findByIds($ids, ['id', 'name', 'avatar']);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
foreach ($users->toArray() as $user) {
|
foreach ($users->toArray() as $user) {
|
||||||
$user['avatar'] = $imgBaseUrl . $user['avatar'];
|
$user['avatar'] = $baseUrl . $user['avatar'];
|
||||||
$result[$user['id']] = $user;
|
$result[$user['id']] = $user;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,10 +7,10 @@ class SlideList extends Builder
|
|||||||
|
|
||||||
public function handleSlides($slides)
|
public function handleSlides($slides)
|
||||||
{
|
{
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($slides as $key => $slide) {
|
foreach ($slides as $key => $slide) {
|
||||||
$slides[$key]['cover'] = $imgBaseUrl . $slide['cover'];
|
$slides[$key]['cover'] = $baseUrl . $slide['cover'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $slides;
|
return $slides;
|
||||||
|
@ -13,7 +13,7 @@ class User extends Builder
|
|||||||
*/
|
*/
|
||||||
public function handleUser(UserModel $user)
|
public function handleUser(UserModel $user)
|
||||||
{
|
{
|
||||||
$user->avatar = kg_img_url($user->avatar);
|
$user->avatar = kg_ci_img_url($user->avatar);
|
||||||
|
|
||||||
return $user;
|
return $user;
|
||||||
}
|
}
|
||||||
|
@ -10,10 +10,10 @@ class UserList extends Builder
|
|||||||
|
|
||||||
public function handleUsers($users)
|
public function handleUsers($users)
|
||||||
{
|
{
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($users as $key => $user) {
|
foreach ($users as $key => $user) {
|
||||||
$users[$key]['avatar'] = $imgBaseUrl . $user['avatar'];
|
$users[$key]['avatar'] = $baseUrl . $user['avatar'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $users;
|
return $users;
|
||||||
|
@ -4,6 +4,7 @@ namespace App\Caches;
|
|||||||
|
|
||||||
use Phalcon\Cache\Backend\Redis as RedisCache;
|
use Phalcon\Cache\Backend\Redis as RedisCache;
|
||||||
use Phalcon\Mvc\User\Component;
|
use Phalcon\Mvc\User\Component;
|
||||||
|
use Yansongda\Supports\Collection;
|
||||||
|
|
||||||
abstract class Cache extends Component
|
abstract class Cache extends Component
|
||||||
{
|
{
|
||||||
@ -28,8 +29,6 @@ abstract class Cache extends Component
|
|||||||
{
|
{
|
||||||
$key = $this->getKey($id);
|
$key = $this->getKey($id);
|
||||||
|
|
||||||
$content = $this->cache->get($key);
|
|
||||||
|
|
||||||
if (!$this->cache->exists($key)) {
|
if (!$this->cache->exists($key)) {
|
||||||
|
|
||||||
$content = $this->getContent($id);
|
$content = $this->getContent($id);
|
||||||
@ -41,9 +40,14 @@ abstract class Cache extends Component
|
|||||||
|
|
||||||
$this->cache->save($key, $content, $lifetime);
|
$this->cache->save($key, $content, $lifetime);
|
||||||
|
|
||||||
|
} else {
|
||||||
$content = $this->cache->get($key);
|
$content = $this->cache->get($key);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_array($content)) {
|
||||||
|
$content = new Collection($content);
|
||||||
|
}
|
||||||
|
|
||||||
return $content;
|
return $content;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ class Course extends Cache
|
|||||||
|
|
||||||
$course = $courseRepo->findById($id);
|
$course = $courseRepo->findById($id);
|
||||||
|
|
||||||
$course->cover = kg_img_url($course->cover);
|
$course->cover = kg_ci_img_url($course->cover);
|
||||||
|
|
||||||
if (!$course) {
|
if (!$course) {
|
||||||
return new \stdClass();
|
return new \stdClass();
|
||||||
|
@ -66,11 +66,11 @@ class CoursePackageList extends Cache
|
|||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course->cover = $imgBaseUrl . $course->cover;
|
$course->cover = $baseUrl . $course->cover;
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
|
@ -41,11 +41,11 @@ class CourseRelatedList extends Cache
|
|||||||
{
|
{
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course->cover = $imgBaseUrl . $course->cover;
|
$course->cover = $baseUrl . $course->cover;
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
|
@ -41,11 +41,11 @@ class CourseTeacherList extends Cache
|
|||||||
{
|
{
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
|
|
||||||
$user->avatar = $imgBaseUrl . $user->avatar;
|
$user->avatar = $baseUrl . $user->avatar;
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => $user->id,
|
'id' => $user->id,
|
||||||
|
@ -40,11 +40,11 @@ class LatestCourseList extends Cache
|
|||||||
{
|
{
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course->cover = $imgBaseUrl . $course->cover;
|
$course->cover = $baseUrl . $course->cover;
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
<label class="layui-form-label">封面</label>
|
<label class="layui-form-label">封面</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
{% if course.cover %}
|
{% if course.cover %}
|
||||||
<img id="cover-img" class="kg-cover" src="{{ img_url(course.cover) }}">
|
<img id="cover-img" class="kg-cover" src="{{ ci_img(course.cover) }}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<img id="cover-img" class="kg-cover" src="{{ image('admin/img/default_cover.png') }}">
|
<img id="cover-img" class="kg-cover" src="{{ image('admin/img/default_cover.png') }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<input type="hidden" name="cover" value="{{ img_url(course.cover) }}">
|
<input type="hidden" name="cover" value="{{ ci_img(course.cover) }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline" style="padding-top:35px;">
|
<div class="layui-input-inline" style="padding-top:35px;">
|
||||||
<a href="javascript:" class="layui-btn layui-btn-sm" id="choose-cover">编辑</a>
|
<a href="javascript:" class="layui-btn layui-btn-sm" id="choose-cover">编辑</a>
|
||||||
|
@ -18,12 +18,14 @@
|
|||||||
<col>
|
<col>
|
||||||
<col>
|
<col>
|
||||||
<col>
|
<col>
|
||||||
|
<col>
|
||||||
<col width="12%">
|
<col width="12%">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>编号</th>
|
<th>编号</th>
|
||||||
<th>标题</th>
|
<th>标题</th>
|
||||||
|
<th>创建时间</th>
|
||||||
<th>更新时间</th>
|
<th>更新时间</th>
|
||||||
<th>排序</th>
|
<th>排序</th>
|
||||||
<th>发布</th>
|
<th>发布</th>
|
||||||
@ -35,6 +37,7 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td>{{ item.id }}</td>
|
<td>{{ item.id }}</td>
|
||||||
<td>{{ item.title }}</td>
|
<td>{{ item.title }}</td>
|
||||||
|
<td>{{ date('Y-m-d H:i',item.create_time) }}</td>
|
||||||
<td>{{ date('Y-m-d H:i',item.update_time) }}</td>
|
<td>{{ date('Y-m-d H:i',item.update_time) }}</td>
|
||||||
<td><input class="layui-input kg-priority-input" type="text" name="priority" value="{{ item.priority }}" help-id="{{ item.id }}" title="数值越小排序越靠前"></td>
|
<td><input class="layui-input kg-priority-input" type="text" name="priority" value="{{ item.priority }}" help-id="{{ item.id }}" title="数值越小排序越靠前"></td>
|
||||||
<td><input type="checkbox" name="published" value="1" lay-skin="switch" lay-text="是|否" lay-filter="switch-published" help-id="{{ item.id }}" {% if item.published == 1 %}checked{% endif %}>
|
<td><input type="checkbox" name="published" value="1" lay-skin="switch" lay-text="是|否" lay-filter="switch-published" help-id="{{ item.id }}" {% if item.published == 1 %}checked{% endif %}>
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
<meta name="csrf-token-key" content="{{ security.getTokenKey() }}">
|
<meta name="csrf-token-key" content="{{ security.getTokenKey() }}">
|
||||||
<meta name="csrf-token-value" content="{{ security.getTokenValue() }}">
|
<meta name="csrf-token-value" content="{{ security.getTokenValue() }}">
|
||||||
<title>管理后台</title>
|
<title>管理后台</title>
|
||||||
|
{{ icon_link("favicon.ico") }}
|
||||||
{{ css_link('lib/layui/css/layui.css') }}
|
{{ css_link('lib/layui/css/layui.css') }}
|
||||||
{{ css_link('lib/layui/extends/dropdown.css') }}
|
{{ css_link('lib/layui/extends/dropdown.css') }}
|
||||||
{{ css_link('admin/css/style.css') }}
|
{{ css_link('admin/css/style.css') }}
|
||||||
|
@ -18,11 +18,11 @@
|
|||||||
<label class="layui-form-label">封面</label>
|
<label class="layui-form-label">封面</label>
|
||||||
<div class="layui-input-inline">
|
<div class="layui-input-inline">
|
||||||
{% if slide.cover %}
|
{% if slide.cover %}
|
||||||
<img id="cover-img" class="kg-cover" src="{{ img_url(slide.cover) }}">
|
<img id="cover-img" class="kg-cover" src="{{ ci_img(slide.cover) }}">
|
||||||
{% else %}
|
{% else %}
|
||||||
<img id="cover-img" class="kg-cover" src="{{ image('admin/img/default_cover.png') }}">
|
<img id="cover-img" class="kg-cover" src="{{ image('admin/img/default_cover.png') }}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<input type="hidden" name="cover" value="{{ img_url(slide.cover) }}">
|
<input type="hidden" name="cover" value="{{ ci_img(slide.cover) }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline" style="padding-top:35px;">
|
<div class="layui-input-inline" style="padding-top:35px;">
|
||||||
<a href="javascript:" class="layui-btn layui-btn-sm" id="choose-cover">编辑</a>
|
<a href="javascript:" class="layui-btn layui-btn-sm" id="choose-cover">编辑</a>
|
||||||
|
@ -63,7 +63,10 @@
|
|||||||
<p>时长:{{ item.duration|total_duration }}</p>
|
<p>时长:{{ item.duration|total_duration }}</p>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ source_type_info(item.source_type) }}</td>
|
<td>{{ source_type_info(item.source_type) }}</td>
|
||||||
<td>{{ date('Y-m-d H:i',item.expiry_time) }}</td>
|
<td>
|
||||||
|
<p>开始:{{ date('Y-m-d H:i',item.create_time) }}</p>
|
||||||
|
<p>结束:{{ date('Y-m-d H:i',item.expiry_time) }}</p>
|
||||||
|
</td>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<div class="layui-dropdown">
|
<div class="layui-dropdown">
|
||||||
<button class="layui-btn layui-btn-sm">操作 <span class="layui-icon layui-icon-triangle-d"></span></button>
|
<button class="layui-btn layui-btn-sm">操作 <span class="layui-icon layui-icon-triangle-d"></span></button>
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
<col>
|
<col>
|
||||||
<col>
|
<col>
|
||||||
<col>
|
<col>
|
||||||
|
<col>
|
||||||
|
<col>
|
||||||
<col width="12%">
|
<col width="12%">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
<thead>
|
<thead>
|
||||||
@ -24,6 +26,8 @@
|
|||||||
<th>编号</th>
|
<th>编号</th>
|
||||||
<th>标题</th>
|
<th>标题</th>
|
||||||
<th>课程数</th>
|
<th>课程数</th>
|
||||||
|
<th>创建时间</th>
|
||||||
|
<th>更新时间</th>
|
||||||
<th>发布</th>
|
<th>发布</th>
|
||||||
<th>操作</th>
|
<th>操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
@ -34,6 +38,8 @@
|
|||||||
<td>{{ item.id }}</td>
|
<td>{{ item.id }}</td>
|
||||||
<td><a href="{{ url({'for':'admin.topic.edit','id':item.id}) }}">{{ item.title }}</a></td>
|
<td><a href="{{ url({'for':'admin.topic.edit','id':item.id}) }}">{{ item.title }}</a></td>
|
||||||
<td><span class="layui-badge layui-bg-gray">{{ item.course_count }}</span></td>
|
<td><span class="layui-badge layui-bg-gray">{{ item.course_count }}</span></td>
|
||||||
|
<td>{{ date('Y-m-d H:i',item.create_time) }}</td>
|
||||||
|
<td>{{ date('Y-m-d H:i',item.update_time) }}</td>
|
||||||
<td><input type="checkbox" name="published" value="1" lay-skin="switch" lay-text="是|否" lay-filter="switch-published" topic-id="{{ item.id }}" {% if item.published == 1 %}checked{% endif %}></td>
|
<td><input type="checkbox" name="published" value="1" lay-skin="switch" lay-text="是|否" lay-filter="switch-published" topic-id="{{ item.id }}" {% if item.published == 1 %}checked{% endif %}></td>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<div class="layui-dropdown">
|
<div class="layui-dropdown">
|
||||||
|
@ -38,8 +38,8 @@ class Controller extends \Phalcon\Mvc\Controller
|
|||||||
{
|
{
|
||||||
$this->view->setVar('auth_user', $this->authUser);
|
$this->view->setVar('auth_user', $this->authUser);
|
||||||
$this->view->setVar('site_settings', $this->siteSettings);
|
$this->view->setVar('site_settings', $this->siteSettings);
|
||||||
$this->view->setVar('top_nav_list', $this->navList['top']);
|
$this->view->setVar('top_nav_list', $this->navList->top);
|
||||||
$this->view->setVar('btm_nav_list', $this->navList['bottom']);
|
$this->view->setVar('btm_nav_list', $this->navList->bottom);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getAuthUser()
|
protected function getAuthUser()
|
||||||
@ -54,16 +54,16 @@ class Controller extends \Phalcon\Mvc\Controller
|
|||||||
|
|
||||||
protected function getNavList()
|
protected function getNavList()
|
||||||
{
|
{
|
||||||
$treeListCache = new NavTreeListCache();
|
$cache = new NavTreeListCache();
|
||||||
|
|
||||||
return $treeListCache->get();
|
return $cache->get();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getSiteSettings()
|
protected function getSiteSettings()
|
||||||
{
|
{
|
||||||
$settingCache = new SettingCache();
|
$cache = new SettingCache();
|
||||||
|
|
||||||
return $settingCache->get('site');
|
return $cache->get('site');
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ class ErrorController extends \Phalcon\Mvc\Controller
|
|||||||
|
|
||||||
public function initialize()
|
public function initialize()
|
||||||
{
|
{
|
||||||
$this->view->setRenderLevel(View::LEVEL_ACTION_VIEW);
|
$this->view->setRenderLevel(View::LEVEL_LAYOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -5,7 +5,7 @@ namespace App\Http\Web\Controllers;
|
|||||||
use App\Models\ContentImage as ContentImageModel;
|
use App\Models\ContentImage as ContentImageModel;
|
||||||
use App\Services\Storage as StorageService;
|
use App\Services\Storage as StorageService;
|
||||||
use App\Traits\Response as ResponseTrait;
|
use App\Traits\Response as ResponseTrait;
|
||||||
use PHPQRCode\QRcode;
|
use PHPQRCode\QRcode as PHPQRCode;
|
||||||
|
|
||||||
class PublicController extends \Phalcon\Mvc\Controller
|
class PublicController extends \Phalcon\Mvc\Controller
|
||||||
{
|
{
|
||||||
@ -44,7 +44,7 @@ class PublicController extends \Phalcon\Mvc\Controller
|
|||||||
|
|
||||||
$url = urldecode($text);
|
$url = urldecode($text);
|
||||||
|
|
||||||
QRcode::png($url, false, $level, $size);
|
PHPQRcode::png($url, false, $level, $size);
|
||||||
|
|
||||||
$this->response->send();
|
$this->response->send();
|
||||||
|
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
{{ flashSession.output() }}
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
<h1>page 400</h1>
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">0</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,3 +1,14 @@
|
|||||||
{{ flashSession.output() }}
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
<h1>page 401</h1>
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">1</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
{{ flashSession.output() }}
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
<h1>page 403</h1>
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">3</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
{{ flashSession.output() }}
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
<h1>page 404</h1>
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">4</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">4</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@ -1,3 +1,14 @@
|
|||||||
{{ flashSession.output() }}
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
<h1>page 500</h1>
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">5</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">0</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
14
app/Http/Web/Views/error/show503.volt
Normal file
14
app/Http/Web/Views/error/show503.volt
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{{ flashSession.output() }}
|
||||||
|
|
||||||
|
<div class="layui-fluid">
|
||||||
|
<div class="kg-tips">
|
||||||
|
<i class="layui-icon layui-icon-face-surprised"></i>
|
||||||
|
<div class="layui-text">
|
||||||
|
<h1>
|
||||||
|
<span class="layui-anim layui-anim-loop">5</span>
|
||||||
|
<span class="layui-anim layui-anim-loop layui-anim-rotate">0</span>
|
||||||
|
<span class="layui-anim layui-anim-loop">3</span>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -1,18 +1,14 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
<title>Phalcon</title>
|
<title>{{ site_settings.title }}</title>
|
||||||
|
{{ icon_link("favicon.ico") }}
|
||||||
{{ css_link("lib/layui/css/layui.css") }}
|
{{ css_link("lib/layui/css/layui.css") }}
|
||||||
{{ js_include("lib/layui/layui.js") }}
|
{{ js_include("lib/layui/layui.js") }}
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="layui-layout-body">
|
<body class="layui-layout-body">
|
||||||
|
|
||||||
{{ content() }}
|
{{ content() }}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
15
app/Http/Web/Views/layouts/error.volt
Normal file
15
app/Http/Web/Views/layouts/error.volt
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||||
|
<title>出错啦</title>
|
||||||
|
{{ icon_link("favicon.ico") }}
|
||||||
|
{{ css_link("lib/layui/css/layui.css") }}
|
||||||
|
{{ css_link("web/css/style.css") }}
|
||||||
|
{{ js_include("lib/layui/layui.js") }}
|
||||||
|
</head>
|
||||||
|
<body class="layui-layout-body">
|
||||||
|
{{ content() }}
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -150,11 +150,11 @@ function kg_site_base_url()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取图片基准URL
|
* 获取数据万象基准URL
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function kg_img_base_url()
|
function kg_ci_base_url()
|
||||||
{
|
{
|
||||||
$storage = new StorageService();
|
$storage = new StorageService();
|
||||||
|
|
||||||
@ -162,14 +162,14 @@ function kg_img_base_url()
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取图片URL
|
* 获取数据万象图片URL
|
||||||
*
|
*
|
||||||
* @param string $path
|
* @param string $path
|
||||||
* @param int $width
|
* @param int $width
|
||||||
* @param int $height
|
* @param int $height
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function kg_img_url($path, $width = 0, $height = 0)
|
function kg_ci_img_url($path, $width = 0, $height = 0)
|
||||||
{
|
{
|
||||||
$storage = new StorageService();
|
$storage = new StorageService();
|
||||||
|
|
||||||
@ -275,6 +275,21 @@ function kg_can($route = null)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造icon路径
|
||||||
|
*
|
||||||
|
* @param $path
|
||||||
|
* @param bool $local
|
||||||
|
* @param string $version
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function kg_icon_link($path, $local = true, $version = null)
|
||||||
|
{
|
||||||
|
$href = kg_static_url($path, $local, $version);
|
||||||
|
|
||||||
|
return '<link rel="shortcut icon" href="' . $href . '" />' . PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 构造css路径
|
* 构造css路径
|
||||||
*
|
*
|
||||||
@ -285,16 +300,7 @@ function kg_can($route = null)
|
|||||||
*/
|
*/
|
||||||
function kg_css_link($path, $local = true, $version = null)
|
function kg_css_link($path, $local = true, $version = null)
|
||||||
{
|
{
|
||||||
$config = Di::getDefault()->getShared('config');
|
$href = kg_static_url($path, $local, $version);
|
||||||
|
|
||||||
$baseUri = rtrim($config->static_base_uri, '/');
|
|
||||||
$path = ltrim($path, '/');
|
|
||||||
$href = $local ? $baseUri . '/' . $path : $path;
|
|
||||||
$version = $version ? $version : $config->static_version;
|
|
||||||
|
|
||||||
if ($version) {
|
|
||||||
$href .= '?v=' . $version;
|
|
||||||
}
|
|
||||||
|
|
||||||
return '<link rel="stylesheet" type="text/css" href="' . $href . '" />' . PHP_EOL;
|
return '<link rel="stylesheet" type="text/css" href="' . $href . '" />' . PHP_EOL;
|
||||||
}
|
}
|
||||||
@ -308,17 +314,32 @@ function kg_css_link($path, $local = true, $version = null)
|
|||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
function kg_js_include($path, $local = true, $version = null)
|
function kg_js_include($path, $local = true, $version = null)
|
||||||
|
{
|
||||||
|
$src = kg_static_url($path, $local, $version);
|
||||||
|
|
||||||
|
return '<script type="text/javascript" src="' . $src . '"></script>' . PHP_EOL;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构造静态url
|
||||||
|
*
|
||||||
|
* @param $path
|
||||||
|
* @param bool $local
|
||||||
|
* @param string $version
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
function kg_static_url($path, $local = true, $version = null)
|
||||||
{
|
{
|
||||||
$config = Di::getDefault()->getShared('config');
|
$config = Di::getDefault()->getShared('config');
|
||||||
|
|
||||||
$baseUri = rtrim($config->static_base_uri, '/');
|
$baseUri = rtrim($config->static_base_uri, '/');
|
||||||
$path = ltrim($path, '/');
|
$path = ltrim($path, '/');
|
||||||
$src = $local ? $baseUri . '/' . $path : $path;
|
$url = $local ? $baseUri . '/' . $path : $path;
|
||||||
$version = $version ? $version : $config->static_version;
|
$version = $version ? $version : $config->static_version;
|
||||||
|
|
||||||
if ($version) {
|
if ($version) {
|
||||||
$src .= '?v=' . $version;
|
$url .= '?v=' . $version;
|
||||||
}
|
}
|
||||||
|
|
||||||
return '<script type="text/javascript" src="' . $src . '"></script>' . PHP_EOL;
|
return $url;
|
||||||
}
|
}
|
||||||
|
@ -22,6 +22,10 @@ class Volt extends Provider
|
|||||||
|
|
||||||
$compiler = $volt->getCompiler();
|
$compiler = $volt->getCompiler();
|
||||||
|
|
||||||
|
$compiler->addFunction('icon_link', function ($resolvedArgs) {
|
||||||
|
return 'kg_icon_link(' . $resolvedArgs . ')';
|
||||||
|
});
|
||||||
|
|
||||||
$compiler->addFunction('css_link', function ($resolvedArgs) {
|
$compiler->addFunction('css_link', function ($resolvedArgs) {
|
||||||
return 'kg_css_link(' . $resolvedArgs . ')';
|
return 'kg_css_link(' . $resolvedArgs . ')';
|
||||||
});
|
});
|
||||||
@ -30,6 +34,10 @@ class Volt extends Provider
|
|||||||
return 'kg_js_include(' . $resolvedArgs . ')';
|
return 'kg_js_include(' . $resolvedArgs . ')';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$compiler->addFunction('ci_img', function ($resolvedArgs) {
|
||||||
|
return 'kg_ci_img_url(' . $resolvedArgs . ')';
|
||||||
|
});
|
||||||
|
|
||||||
$compiler->addFunction('substr', function ($resolvedArgs) {
|
$compiler->addFunction('substr', function ($resolvedArgs) {
|
||||||
return 'kg_substr(' . $resolvedArgs . ')';
|
return 'kg_substr(' . $resolvedArgs . ')';
|
||||||
});
|
});
|
||||||
@ -38,10 +46,6 @@ class Volt extends Provider
|
|||||||
return 'kg_can(' . $resolvedArgs . ')';
|
return 'kg_can(' . $resolvedArgs . ')';
|
||||||
});
|
});
|
||||||
|
|
||||||
$compiler->addFunction('img_url', function ($resolvedArgs) {
|
|
||||||
return 'kg_img_url(' . $resolvedArgs . ')';
|
|
||||||
});
|
|
||||||
|
|
||||||
$compiler->addFilter('array_object', function ($resolvedArgs) {
|
$compiler->addFilter('array_object', function ($resolvedArgs) {
|
||||||
return 'kg_array_object(' . $resolvedArgs . ')';
|
return 'kg_array_object(' . $resolvedArgs . ')';
|
||||||
});
|
});
|
||||||
|
@ -74,7 +74,7 @@ class CourseInfo extends Service
|
|||||||
$result = [
|
$result = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
'title' => $course->title,
|
'title' => $course->title,
|
||||||
'cover' => kg_img_url($course->cover),
|
'cover' => kg_ci_img_url($course->cover),
|
||||||
'summary' => $course->summary,
|
'summary' => $course->summary,
|
||||||
'details' => $course->details,
|
'details' => $course->details,
|
||||||
'keywords' => $course->keywords,
|
'keywords' => $course->keywords,
|
||||||
|
@ -49,11 +49,11 @@ class CourseList extends Service
|
|||||||
|
|
||||||
$items = [];
|
$items = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
|
|
||||||
$items[] = [
|
$items[] = [
|
||||||
'id' => $course['id'],
|
'id' => $course['id'],
|
||||||
|
@ -23,10 +23,10 @@ class CourseRelated extends Service
|
|||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as &$course) {
|
foreach ($courses as &$course) {
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $courses;
|
return $courses;
|
||||||
|
@ -60,11 +60,11 @@ class PackageList extends Service
|
|||||||
|
|
||||||
$result = [];
|
$result = [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course->cover = $imgBaseUrl . $course->cover;
|
$course->cover = $baseUrl . $course->cover;
|
||||||
|
|
||||||
$result[] = [
|
$result[] = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
|
@ -21,10 +21,10 @@ class TeacherList extends Service
|
|||||||
|
|
||||||
if (!$teachers) return [];
|
if (!$teachers) return [];
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($teachers as &$teacher) {
|
foreach ($teachers as &$teacher) {
|
||||||
$teacher['avatar'] = $imgBaseUrl . $teacher['avatar'];
|
$teacher['avatar'] = $baseUrl . $teacher['avatar'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $teachers;
|
return $teachers;
|
||||||
|
@ -60,7 +60,7 @@ class OrderConfirm extends Service
|
|||||||
|
|
||||||
$course = $courseRepo->findById($id);
|
$course = $courseRepo->findById($id);
|
||||||
|
|
||||||
$course->cover = kg_img_url($course->cover);
|
$course->cover = kg_ci_img_url($course->cover);
|
||||||
|
|
||||||
$result = [
|
$result = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
@ -97,11 +97,11 @@ class OrderConfirm extends Service
|
|||||||
*/
|
*/
|
||||||
$courses = $packageRepo->findCourses($id);
|
$courses = $packageRepo->findCourses($id);
|
||||||
|
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($courses as $course) {
|
foreach ($courses as $course) {
|
||||||
|
|
||||||
$course->cover = $imgBaseUrl . $course->cover;
|
$course->cover = $baseUrl . $course->cover;
|
||||||
|
|
||||||
$result['courses'][] = [
|
$result['courses'][] = [
|
||||||
'id' => $course->id,
|
'id' => $course->id,
|
||||||
|
@ -75,7 +75,7 @@ class OrderInfo extends Service
|
|||||||
*/
|
*/
|
||||||
protected function handleCourseInfo($itemInfo)
|
protected function handleCourseInfo($itemInfo)
|
||||||
{
|
{
|
||||||
$itemInfo['course']['cover'] = kg_img_url($itemInfo['course']['cover']);
|
$itemInfo['course']['cover'] = kg_ci_img_url($itemInfo['course']['cover']);
|
||||||
|
|
||||||
return $itemInfo;
|
return $itemInfo;
|
||||||
}
|
}
|
||||||
@ -86,10 +86,10 @@ class OrderInfo extends Service
|
|||||||
*/
|
*/
|
||||||
protected function handlePackageInfo($itemInfo)
|
protected function handlePackageInfo($itemInfo)
|
||||||
{
|
{
|
||||||
$imgBaseUrl = kg_img_base_url();
|
$baseUrl = kg_ci_base_url();
|
||||||
|
|
||||||
foreach ($itemInfo['package']['courses'] as &$course) {
|
foreach ($itemInfo['package']['courses'] as &$course) {
|
||||||
$course['cover'] = $imgBaseUrl . $course['cover'];
|
$course['cover'] = $baseUrl . $course['cover'];
|
||||||
}
|
}
|
||||||
|
|
||||||
return $itemInfo;
|
return $itemInfo;
|
||||||
|
@ -24,7 +24,7 @@ class TeacherInfo extends Service
|
|||||||
*/
|
*/
|
||||||
protected function handleUser($user)
|
protected function handleUser($user)
|
||||||
{
|
{
|
||||||
$user->avatar = kg_img_url($user->avatar);
|
$user->avatar = kg_ci_img_url($user->avatar);
|
||||||
$user->vip = $user->vip == 1;
|
$user->vip = $user->vip == 1;
|
||||||
$user->locked = $user->locked == 1;
|
$user->locked = $user->locked == 1;
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ class UserInfo extends Service
|
|||||||
*/
|
*/
|
||||||
protected function handleUser($user)
|
protected function handleUser($user)
|
||||||
{
|
{
|
||||||
$user->avatar = kg_img_url($user->avatar);
|
$user->avatar = kg_ci_img_url($user->avatar);
|
||||||
$user->vip = $user->vip == 1;
|
$user->vip = $user->vip == 1;
|
||||||
$user->locked = $user->locked == 1;
|
$user->locked = $user->locked == 1;
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
27
public/static/web/css/style.css
Normal file
27
public/static/web/css/style.css
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
.kg-tips {
|
||||||
|
margin-top: 30px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kg-tips .layui-icon-face-surprised {
|
||||||
|
display: inline-block;
|
||||||
|
font-size: 200px;
|
||||||
|
color: #393D49;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kg-tips .layui-text {
|
||||||
|
width: 500px;
|
||||||
|
margin: 30px auto;
|
||||||
|
padding-top: 20px;
|
||||||
|
border-top: 5px solid #009688;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kg-tips h1 {
|
||||||
|
font-size: 100px;
|
||||||
|
line-height: 100px;
|
||||||
|
color: #009688;
|
||||||
|
}
|
||||||
|
|
||||||
|
.kg-tips .layui-text span {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user