Commit 35e4ef02 authored by 章建武's avatar 章建武

dep

parent 7abefa5a
<?php
/**
* 视频中心控制器
*/
namespace app\admin\controller;
use app\common\model\Attachment;
use think\Request;
use app\common\model\IndexVideoUrl;
use app\common\validate\VideoUrlValidate;
class VideoController extends Controller
{
//列表
public function index(Request $request, IndexVideoUrl $model)
{
$param = $request->param();
$model = $model->scope('where', $param);
$data = $model->where('status',0)->paginate($this->admin['per_page'], false, ['query' => $request->get()]);
foreach ($data as &$v){
$v['language_type'] = $v['language_type'] === 1 ? '英语' : '中文';
$v['type'] = $this->getCat($v['type']);
$v['created_at'] = $v['created_at'] ? date('Y-m-d H:i:s',$v['created_at']) : '';
}
//关键词,排序等赋值
$this->assign($request->get());
$this->assign([
'data' => $data,
'page' => $data->render(),
'total' => $data->total(),
]);
return $this->fetch();
}
//添加
public function add(Request $request, IndexVideoUrl $model, VideoUrlValidate $validate)
{
if ($request->isPost()) {
$param = $request->param();
$param['created_at'] = time();
$param['url'] = 'http://'.$_SERVER['SERVER_NAME'];
$validate_result = $validate->scene('add')->check($param);
if (!$validate_result) {
return error($validate->getError());
}
//处理头像上传
$attachment_avatar = new Attachment;
$file_avatar = $attachment_avatar->upload('img_path');
if ($file_avatar) {
$param['img_path'] = $file_avatar->url;
} else {
return error($attachment_avatar->getError());
}
$result = $model::create($param);
$url = URL_BACK;
if (isset($param['_create']) && $param['_create'] == 1) {
$url = URL_RELOAD;
}
return $result ? success('添加成功', $url) : error();
}
// foreach($model->language_type as $k=>&$item){
// dump($item);
// }exit;
$data = $model::get(0);;
$this->assign([
'data'=> $data,
'language_type' => $model->language_type,
'type' => $model->type
]);
return $this->fetch();
}
//修改
public function edit($id, Request $request, IndexVideoUrl $model, VideoUrlValidate $validate)
{
$data = $model::get($id);
if ($request->isPost()) {
$param = $request->param();
$validate_result = $validate->scene('edit')->check($param);
if (!$validate_result) {
return error($validate->getError());
}
//处理头像上传
if (!empty($_FILES['img_path']['name'])) {
$attachment_avatar = new Attachment;
$file_avatar = $attachment_avatar->upload('img_path');
if ($file_avatar) {
$param['img_path'] = $file_avatar->url;
}
}
$result = $data->save($param);
return $result ? success() : error();
}
$this->assign([
'data' => $data,
'language_type' => $model->language_type,
'type' => $model->type
]);
return $this->fetch('add');
}
//删除
public function del($id, IndexVideoUrl $model)
{
if (count($model->noDeletionId) > 0) {
if (is_array($id)) {
if (array_intersect($model->noDeletionId, $id)) {
return error('ID为' . implode(',', $model->noDeletionId) . '的数据无法删除');
}
} else if (in_array($id, $model->noDeletionId)) {
return error('ID为' . $id . '的数据无法删除');
}
}
if ($model->softDelete) {
$result = $model->whereIn('id', $id)->update(['status'=>1]);
} else {
$result = $model->whereIn('id', $id)->update(['status'=>1]);
}
return $result ? success('操作成功', URL_RELOAD) : error();
}
protected function getCat($type){
if($type == 1){
return '董事长演讲';
}elseif($type == 2){
return '企业宣传片';
}elseif($type == 3){
return '企业活动';
}elseif($type == 4){
return '媒体报道';
}
}
}
{extend name='public/base' /}
{block name='content'}
{include file='public/content_header' /}
<section class="content">
<div class="row">
<div class="col-md-12">
<div class="box box-primary">
<!-- 表单头部 -->
<div class="box-header with-border">
<div class="btn-group">
<a class="btn flat btn-sm btn-default BackButton">
<i class="fa fa-arrow-left"></i>
返回
</a>
</div>
</div>
<!-- 表单 -->
<form id="dataForm" class="form-horizontal dataForm" action="" method="post"
enctype="multipart/form-data">
<!-- 表单字段区域 -->
<div class="box-body">
<div class="form-group">
<label for="language_type" class="col-sm-2 control-label">选择语言</label>
<div class="col-sm-10 col-md-4">
<select name="language_type" id="language_type" class="form-control select2">
{foreach name='language_type' item='item' }
<option value="{$key}" {if isset($data) && $data.language_type==$key}selected{/if}>
{$item}
</option>
{/foreach}
</select>
</div>
</div>
<script>
$('#language_type').select2();
</script>
<div class="form-group">
<label for="avatar" class="col-sm-2 control-label">封面图</label>
<div class="col-sm-10 col-md-4">
<input id="avatar" name="img_path" placeholder="请上新闻图片" {if
isset($data.img_path)}data-initial-preview="{$data.img_path}" {/if} type="file"
class="form-control field-image" >
</div>
</div>
<script>
$('#avatar').fileinput({
language: 'zh',
overwriteInitial: true,
browseLabel: '浏览',
initialPreviewAsData: true,
dropZoneEnabled: false,
showUpload: false,
showRemove: false,
allowedFileTypes: ['image'],
maxFileSize: 10240,
});
</script>
<script>
$('#user_level_id').select2();
</script>
<div class="form-group">
<label for="title" class="col-sm-2 control-label">标题</label>
<div class="col-sm-10 col-md-4">
<input id="title" name="title" value="{$data.title|default=''}"
placeholder="请输入标题" type="text" class="form-control field-text">
</div>
</div>
<div class="form-group">
<label for="type" class="col-sm-2 control-label">视频分类</label>
<div class="col-sm-10 col-md-4">
<select name="type" id="type" class="form-control select2">
{foreach name='type' item='item'}
<option value="{$key}" {if isset($data) &&
$data.type==$key}selected{/if}>
{$item}
</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">上传视频:</label>
<div class="col-sm-10" style="width: 600px;">
<script id="container" name="script_url" type="text/plain">
<if condition="$data">
{:html_entity_decode($data.script_url)}
<else/>
</if>
</script>
</div>
</div>
</div>
<!-- 表单底部 -->
<div class="box-footer">
{:token()}
<div class="col-sm-2">
</div>
<div class="col-sm-10 col-md-4">
{if !isset($data)}
<div class="btn-group pull-right">
<label class="createContinue">
<input type="checkbox" value="1" id="_create" name="_create"
title="继续添加数据">继续添加</label>
</div>
{/if}
<div class="btn-group">
<button type="submit" class="btn flat btn-info dataFormSubmit">
保存
</button>
</div>
<div class="btn-group">
<button type="reset" class="btn flat btn-default dataFormReset">
重置
</button>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</section>
<script>
// 实例化编辑器
UE.delEditor('container');
var ue = UE.getEditor('container');
/** 表单验证 **/
$('#dataForm').validate({
rules: {
'title': {
required: true,
},
'content': {
required: true,
},
'introduce': {
required: true,
}
},
messages: {
'user_level_id': {
required: "标题不能为空",
},
'username': {
required: "内容不能为空",
},
'mobile': {
required: "简介不能为空",
},
}
});
</script>
{/block}
\ No newline at end of file
{extend name="public/base" /}
{block name='content'}
{include file='public/content_header' /}
<!--数据列表页面-->
<section class="content">
<!--顶部搜索筛选-->
<div class="row">
<div class="col-md-12">
<div class="box">
<div class="box-body">
<form class="form-inline searchForm" id="searchForm" action="{:url('index')}" method="GET">
<div class="form-group">
<input value="{$_keywords ? $_keywords : '' ;}"
name="_keywords" id="_keywords" class="form-control input-sm"
placeholder="标题">
</div>
<div class="form-group">
<select name="_by" id="_by" class="form-control input-sm index-order">
<option value="">排序方式</option>
<option value="desc" {if isset($_by) && $_by=='desc'}selected{/if}>倒序</option>
<option value="asc" {if isset($_by) && $_by=='asc'}selected{/if}>正序</option>
</select>
</div>
<script>
$('#_order').select2();
$('#_by').select2();
</script>
<div class="form-group">
<button class="btn btn-sm btn-primary" type="submit"><i class="fa fa-search"></i> 查询
</button>
</div>
<div class="form-group">
<button onclick="clearSearchForm()" class="btn btn-sm btn-default" type="button"><i
class="fa fa-eraser"></i> 清空查询
</button>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="box">
<!--数据列表顶部-->
<div class="box-header">
<div>
<a title="添加" data-toggle="tooltip" class="btn btn-primary btn-sm " href="{:url('add')}">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-danger btn-sm AjaxButton" data-toggle="tooltip" title="删除选中数据"
data-confirm-title="删除确认" data-confirm-content="您确定要删除选中的数据吗?" data-id="checked"
data-url="{:url('del')}">
<i class="fa fa-trash"></i> 删除
</a>
<!--<a class="btn btn-success btn-sm AjaxButton" data-toggle="tooltip" title="启用选中数据"-->
<!--data-confirm-title="启用确认" data-confirm-content="您确定要启用选中的数据吗?" data-id="checked"-->
<!--data-url="{:url('enable')}">-->
<!--<i class="fa fa-circle"></i> 启用-->
<!--</a>-->
<!--<a class="btn btn-warning btn-sm AjaxButton" data-toggle="tooltip" title="禁用选中数据"-->
<!--data-confirm-title="禁用确认" data-confirm-content="您确定要禁用选中的数据吗?" data-id="checked"-->
<!--data-url="{:url('disable')}">-->
<!--<i class="fa fa-circle"></i> 禁用-->
<!--</a>-->
<a class="btn btn-success btn-sm ReloadButton" data-toggle="tooltip" title="刷新">
<i class="fa fa-refresh"></i> 刷新
</a>
</div>
</div>
<div class="box-body table-responsive">
<table class="table table-hover table-bordered datatable" width="100%">
<thead>
<tr>
<th>
<input id="dataCheckAll" type="checkbox" onclick="checkAll(this)" class="checkbox"
placeholder="全选/取消">
</th>
<th>ID</th>
<th>图片</th>
<th>标题</th>
<th>分类</th>
<th>语言</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{foreach name="data" id="item"}
<tr>
<td>
<input type="checkbox" onclick="checkThis(this)" name="data-checkbox"
data-id="{$item.id}" class="checkbox data-list-check" value="{$item.id}"
placeholder="选择/取消">
</td>
<td>{$item.id}</td>
<td><img style="max-width: 40px" src="{$item.img_path}"></td>
<td>{$item.title}</td>
<td>{$item.type}</td>
<td>{$item.language_type}</td>
<td>{$item.created_at}</td>
<td class="td-do">
<a href="{:url('edit',['id'=>$item.id])}"
class="btn btn-primary btn-xs" title="修改" data-toggle="tooltip">
<i class="fa fa-pencil"></i>
</a>
<a class="btn btn-danger btn-xs AjaxButton" data-toggle="tooltip" title="删除"
data-id="{$item.id}" data-confirm-title="删除确认"
data-confirm-content='您确定要删除ID为 <span class="text-red">{$item.id}</span> 的数据吗'
data-url="{:url('del')}">
<i class="fa fa-trash"></i>
</a>
<!--{if $item.status==1}-->
<!--<a class="btn btn-warning btn-xs AjaxButton" data-toggle="tooltip" title="禁用"-->
<!--data-id="{$item.id}" data-confirm-title="禁用确认"-->
<!--data-confirm-content='您确定要禁用ID为 <span class="text-red">{$item.id}</span> 的数据吗'-->
<!--data-url="{:url('disable')}">-->
<!--<i class="fa fa-circle"></i>-->
<!--</a>-->
<!--{else/}-->
<!--<a class="btn btn-success btn-xs AjaxButton" data-toggle="tooltip" title="启用"-->
<!--data-id="{$item.id}" data-confirm-title="启用确认"-->
<!--data-confirm-content='您确定要启用ID为 <span class="text-red">{$item.id}</span> 的数据吗'-->
<!--data-url="{:url('enable')}">-->
<!--<i class="fa fa-circle"></i>-->
<!--</a>-->
<!--{/if}-->
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<!-- 数据列表底部 -->
<div class="box-footer">
{$page|raw}
<label class="control-label pull-right" style="margin-right: 10px; font-weight: 100;">
<small>共{$total}条记录</small>&nbsp;
<small>每页显示</small>
&nbsp;
<select class="input-sm" onchange="changePerPage(this)">
<option value="10" {if $admin.per_page==10}selected{/if}>10</option>
<option value="20" {if $admin.per_page==20}selected{/if}>20</option>
<option value="30" {if $admin.per_page==30}selected{/if}>30</option>
<option value="50" {if $admin.per_page==50}selected{/if}>50</option>
<option value="100" {if $admin.per_page==100}selected{/if}>100</option>
</select>
&nbsp;
<small>条记录</small>
</label>
</div>
</div>
</div>
</div>
</section>
{/block}
<?php
/**
* 视频模型
*/
namespace app\common\model;
use think\model\concern\SoftDelete;
class IndexVideoUrl extends Model
{
use SoftDelete;
public $softDelete = true;
protected $name = 'index_video_url';
protected $autoWriteTimestamp = true;
//可搜索字段
protected $searchField = ['title'];
public $language_type = [
0 => '中文',
1 => '英语'
];
public $type = [
1 => '董事长演讲',
2 => '企业宣传片',
3 => '企业活动',
4 => '媒体报道',
];
}
<?php
/**
* 视频验证器
*/
namespace app\common\validate;
class VideoUrlValidate extends Validate
{
protected $rule = [
'title|标题' => 'require',
'script_url|内容' => 'require',
];
protected $message = [
'title.require' => '标题不能为空',
'script_url.require' => '视频内容不能为空',
];
protected $scene = [
'add' => ['img_path', 'script_url', 'title','language_type','type'],
'edit' => ['img_path', 'script_url', 'title','language_type','type'],
];
}
......@@ -50,7 +50,7 @@
"videoActionName": "uploadvideo", /* 执行上传视频的action名称 */
"videoFieldName": "upfile", /* 提交的视频表单名称 */
"videoPathFormat": "/Uploads/notice/video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
"videoUrlPrefix": "https://mall.guoguodz.com", /* 视频访问路径前缀 */
"videoUrlPrefix": "http://www.fashion_group_admin.net", /* 视频访问路径前缀 */
"videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */
"videoAllowFiles": [
".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg",
......
<?php /*a:9:{s:83:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\navigation\index.html";i:1588042597;s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\base.html";i:1587980045;s:82:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_css.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_js.html";i:1587980045;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\header.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\sidebar.html";i:1588038504;s:88:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\content_header.html";i:1588063433;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\footer.html";i:1588037872;s:89:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\control_sidebar.html";i:1587980045;}*/ ?>
<?php /*a:9:{s:83:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\navigation\index.html";i:1588042597;s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\base.html";i:1588211322;s:82:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_css.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_js.html";i:1588154379;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\header.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\sidebar.html";i:1588038504;s:88:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\content_header.html";i:1588063433;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\footer.html";i:1588037872;s:89:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\control_sidebar.html";i:1587980045;}*/ ?>
<?php if(!$admin['pjax']): ?>
<!DOCTYPE html>
<html lang="zh-CN">
......@@ -54,9 +54,9 @@
<script type="text/javascript" src="/static/admin/plugins/fileinput/js/plugins/piexif.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/fileinput/js/fileinput.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/fileinput/js/locales/zh.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/static/admin/plugins/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/ueditor/lang/zh-cn/zh-cn.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/ueditor.all.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript" src="/static/admin/plugins/clipboard/clipboard.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/viewer/viewer.min.js"></script>
......@@ -73,6 +73,9 @@
//UEditor server地址
var UEServer = "<?php echo url('editor/server'); ?>";
//列表页当前选择的ID
// 实例化编辑器
var dataSelectIds = [];
</script>
<script type="text/javascript" src="/static/admin/js/adminlte.min.js"></script>
......
<?php /*a:9:{s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\manager\add.html";i:1588065380;s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\base.html";i:1587980045;s:82:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_css.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_js.html";i:1588148490;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\header.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\sidebar.html";i:1588038504;s:88:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\content_header.html";i:1588063433;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\footer.html";i:1588037872;s:89:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\control_sidebar.html";i:1587980045;}*/ ?>
<?php /*a:9:{s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\manager\add.html";i:1588065380;s:78:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\base.html";i:1588211322;s:82:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_css.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\head_js.html";i:1588154379;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\header.html";i:1587980045;s:81:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\sidebar.html";i:1588038504;s:88:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\content_header.html";i:1588063433;s:80:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\footer.html";i:1588037872;s:89:"D:\PHPTutorial\WWW\fashion_group\admin\application\admin\view\public\control_sidebar.html";i:1587980045;}*/ ?>
<?php if(!$admin['pjax']): ?>
<!DOCTYPE html>
<html lang="zh-CN">
......@@ -56,7 +56,7 @@
<script type="text/javascript" src="/static/admin/plugins/fileinput/js/locales/zh.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/ueditor.all.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/lang/zh-cn/zh-cn.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/baiduueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript" src="/static/admin/plugins/clipboard/clipboard.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/bootstrap-colorpicker/js/bootstrap-colorpicker.min.js"></script>
<script type="text/javascript" src="/static/admin/plugins/viewer/viewer.min.js"></script>
......@@ -73,6 +73,9 @@
//UEditor server地址
var UEServer = "<?php echo url('editor/server'); ?>";
//列表页当前选择的ID
// 实例化编辑器
var dataSelectIds = [];
</script>
<script type="text/javascript" src="/static/admin/js/adminlte.min.js"></script>
......
......@@ -47,9 +47,7 @@ class AudioController extends Controller
$type = $request->get('type');
$page = $request->get('page');
$data = IndexVideoUrl::getDataById($request->get('id'));
// $list = IndexVideoUrl::getListByType($type,3,true);
$list = IndexVideoUrl::query()->where(['type'=>$type])->limit(3)->paginate(3, ['*'], 'page', $page);
// dd($list);
$list = IndexVideoUrl::query()->where(['type'=>$type,'language_type'=>$language_type])->limit(3)->paginate(3, ['*'], 'page', $page);
return view('index.audio.play',compact('data'))->with(compact('list'))->with(compact('type'));
}
}
......@@ -12,7 +12,7 @@ class IndexVideoUrl extends Model
{
protected $table = 'index_video_url';
protected $fillable = ['img_path','video_url','title','sequence','type','script_url','other_url'];
protected $fillable = ['img_path','video_url','title','sequence','type','script_url','other_url','url'];
public static function getListByType($language_type,$type,$limit,$pageinate = false)
......
......@@ -47,7 +47,7 @@
@if($language_type == 1)
<li class="video-palyer-list1">
<a href="{{ route('enplay_audio',['id'=> $value->id,'type'=>$value->type,'page'=>$list->currentPage()]) }}" >
<img src="{{asset($value->img_path)}}">
<img src="{{$value->url}}{{$value->img_path}}">
<p class="ell1">{{$value->title}}</p>
</a>
<div class="video-url" style="display: none">{!! $value->video_url !!}</div>
......@@ -55,7 +55,7 @@
@else
<li class="video-palyer-list1">
<a href="{{ route('play_audio',['id'=> $value->id,'type'=>$value->type,'page'=>$list->currentPage()]) }}" >
<img src="{{asset($value->img_path)}}">
<img src="{{$value->url}}{{$value->img_path}}">
<p class="ell1">{{$value->title}}</p>
</a>
<div class="video-url" style="display: none">{!! $value->video_url !!}</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment