更新
This commit is contained in:
+1
-1
@@ -1,5 +1,5 @@
|
||||
APP_DEBUG = false
|
||||
VERSION = 4.0.2
|
||||
VERSION = 4.0.3
|
||||
|
||||
rootuid = 1
|
||||
|
||||
|
||||
@@ -110,6 +110,9 @@ class Form extends Base {
|
||||
* @return html 页面
|
||||
*/
|
||||
public function lists($form_id = '') {
|
||||
if(!$form_id){
|
||||
return $this->error('无此表单!');
|
||||
}
|
||||
$form = $this->modelInfo;
|
||||
|
||||
$list = $this->model->order('id desc')->paginate(25);
|
||||
@@ -118,6 +121,7 @@ class Form extends Base {
|
||||
'grid' => $this->modelInfo['grid_list'],
|
||||
'meta_title' => $this->modelInfo['title'] . '列表',
|
||||
'form_id' => $form_id,
|
||||
'require' => ['jsname' => 'form', 'actionname' => 'lists'],
|
||||
'list' => $list,
|
||||
'page' => $list->render(),
|
||||
);
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\controller\admin;
|
||||
|
||||
use QL\QueryList;
|
||||
use app\model\Company;
|
||||
|
||||
/**
|
||||
* @title 住建管理
|
||||
* @description 住建管理
|
||||
*/
|
||||
class Hcloud extends Base {
|
||||
|
||||
/**
|
||||
* @title 住建列表
|
||||
*/
|
||||
public function index(){
|
||||
$map = array();
|
||||
|
||||
$order = "compId desc";
|
||||
$list = Company::with(['apt'])->where($map)->order($order)->paginate($this->request->pageConfig);
|
||||
|
||||
$this->data = array(
|
||||
'list' => $list,
|
||||
'page' => $list->render(),
|
||||
);
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
public function get_comp_date(){
|
||||
$param = $this->request->param();
|
||||
// $param['qyType'] = 'QY_TYPE_0001';
|
||||
|
||||
$client = new \GuzzleHttp\Client();
|
||||
$res = $client->request('post', 'http://zjy.jxjst.gov.cn/w/dataQuery/getCompDate', ['form_params' => $param])->getBody()->getContents();
|
||||
$list = json_decode($res, true);
|
||||
$data = [];
|
||||
foreach($list['rows'] as $key => $val){
|
||||
// $apt = $client->request('get', 'http://zjy.jxjst.gov.cn/w/cms/qy/getQyAptListData/'.$val['qyCompId'])->getBody()->getContents();
|
||||
// $apt_list = json_decode($apt, true);
|
||||
$detail = QueryList::get('http://zjy.jxjst.gov.cn/w/dataQuery/compDetailInfo/'.$val['qyCompId']);
|
||||
$val['registerDate'] = $detail->find('.introduce-body:eq(0) table.daBg tr:eq(2) td:eq(1)')->text();
|
||||
$val['registerGov'] = $detail->find('.introduce-body:eq(0) table.daBg tr:eq(3) td:eq(3)')->text();
|
||||
$val['businessScope'] = $detail->find('.introduce-body:eq(0) table.daBg tr:eq(7) td:eq(1)')->text();
|
||||
$val['safetyCode'] = $detail->find('.introduce-body:eq(1) table.daBg tr:eq(0) td:eq(1)')->text();
|
||||
$val['safetyBdate'] = $detail->find('.introduce-body:eq(1) table.daBg tr:eq(1) td:eq(1)')->text();
|
||||
$val['safetyEdate'] = $detail->find('.introduce-body:eq(1) table.daBg tr:eq(2) td:eq(1)')->text();
|
||||
$val['safetyContent'] = $detail->find('.introduce-body:eq(1) table.daBg tr:eq(1) td:eq(3)')->text();
|
||||
$val['safetyGov'] = $detail->find('.introduce-body:eq(1) table.daBg tr:eq(2) td:eq(3)')->text();
|
||||
// $val['apt'] = $apt_list;
|
||||
Company::create($val, [], true);
|
||||
// if(count($apt_list['rows']) > 0){
|
||||
// foreach($apt_list['rows'] as $k => $v){
|
||||
// }
|
||||
// }
|
||||
// $list['rows'][$key] = $val;
|
||||
// $data[] = $val;
|
||||
}
|
||||
// dump($list);
|
||||
// (new Company())->saveAll($data, true);
|
||||
}
|
||||
|
||||
public function list_ba_pubic(){
|
||||
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,8 @@
|
||||
// +----------------------------------------------------------------------
|
||||
namespace app\controller\front;
|
||||
|
||||
use QL\QueryList;
|
||||
|
||||
class Index extends Base {
|
||||
|
||||
/**
|
||||
@@ -16,7 +18,7 @@ class Index extends Base {
|
||||
*/
|
||||
public function index() {
|
||||
$this->setSeo("网站首页", '网站首页', '网站首页');
|
||||
return $this->fetch();
|
||||
// return $this->fetch();
|
||||
}
|
||||
|
||||
public function miss(){
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model;
|
||||
|
||||
/**
|
||||
* Company模型
|
||||
*/
|
||||
class Company extends \think\Model{
|
||||
protected $auto = array('update_time');
|
||||
protected $insert = array('create_time');
|
||||
|
||||
public function apt(){
|
||||
return $this->hasMany('CompanyApt', 'compId', 'compId');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
|
||||
// +----------------------------------------------------------------------
|
||||
|
||||
namespace app\model;
|
||||
|
||||
/**
|
||||
* Company模型
|
||||
*/
|
||||
class CompanyApt extends \think\Model{
|
||||
protected $auto = array('update_time');
|
||||
protected $insert = array('create_time');
|
||||
|
||||
}
|
||||
+2
-1
@@ -28,7 +28,8 @@
|
||||
"xin/helper": "^1.0.0",
|
||||
"sent/tree": "^1.0.0",
|
||||
"sent/think-addons": "^1.0.0",
|
||||
"overtrue/wechat": "^4.2"
|
||||
"overtrue/wechat": "^4.2",
|
||||
"jaeger/querylist": "^4.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/var-dumper": "^4.2"
|
||||
|
||||
@@ -104,7 +104,8 @@ require.config({
|
||||
'webupload': {deps: ['jquery', 'css!'+baseRoot+'plugins/webuploader/theme/webuploader.css', 'css!'+baseRoot+'/plugins/webuploader/theme/app.css']},
|
||||
|
||||
'layer': {deps: ['jquery', 'css!'+baseRoot+'plugins/layer/theme/default/layer.css']},
|
||||
'layui':{exports: "layui"}
|
||||
'layui':{exports: "layui"},
|
||||
// 'sheetjs':{exports: 'XLSX'}
|
||||
},
|
||||
deps: ['json'],
|
||||
// 开启debug模式,不缓存资源
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
define(['jquery', 'sent', 'form', 'xlsx', 'sheetjs'], function($, sent, form, xlsx, xlsx2){
|
||||
|
||||
var formModule = {
|
||||
lists: function(){
|
||||
console.log('xlsx2')
|
||||
if($('.btn-out').size() > 0){
|
||||
$('.btn-out').click(function(e){
|
||||
e.preventDefault();
|
||||
var url = $(this).attr('href');
|
||||
console.log(xlsx)
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return formModule;
|
||||
})
|
||||
@@ -0,0 +1,10 @@
|
||||
define(['jquery', 'sent', 'form', 'xlsx', 'sheetjs'], function($, sent, form, xls){
|
||||
var hcloud = {
|
||||
|
||||
index: function(){
|
||||
// console.log(XLSX);
|
||||
}
|
||||
}
|
||||
|
||||
return hcloud;
|
||||
})
|
||||
@@ -1,4 +1,4 @@
|
||||
require(['jquery', 'sheetjs'], function($, XLSX) {
|
||||
define(['jquery', 'sheetjs'], function($, XLSX) {
|
||||
|
||||
// var wopts = { bookType: 'csv', bookSST: false, type: 'binary' };//ods格式
|
||||
var wopts = { bookType: 'xlsx', bookSST: false, type: 'binary' };//这里的数据是用来定义导出的格式类型
|
||||
@@ -9,10 +9,9 @@ require(['jquery', 'sheetjs'], function($, XLSX) {
|
||||
|
||||
var xls = {
|
||||
downloadExl: function (data, fileName) {
|
||||
checkFileIn();
|
||||
var wb = { SheetNames: ['Sheet1'], Sheets: {}, Props: {} };
|
||||
wb.Sheets['Sheet1'] = XLSX.utils.json_to_sheet(data);//通过json_to_sheet转成单页(Sheet)数据
|
||||
this.saveAs(new Blob([this.s2ab(XLSX.write(wb, wopts))], { type: "application/octet-stream" }), fileName + '.' + (wopts.bookType=="biff2"?"xls":wopts.bookType));
|
||||
wb.Sheets['Sheet1'] = sheetjs.utils.json_to_sheet(data);//通过json_to_sheet转成单页(Sheet)数据
|
||||
this.saveAs(new Blob([this.s2ab(sheetjs.write(wb, wopts))], { type: "application/octet-stream" }), fileName + '.' + (wopts.bookType=="biff2"?"xls":wopts.bookType));
|
||||
},
|
||||
|
||||
//如果使用 FileSaver.js 就不要同时使用以下函数
|
||||
@@ -41,19 +40,7 @@ require(['jquery', 'sheetjs'], function($, XLSX) {
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
checkFileIn = function(){
|
||||
if($("script[src='/static/js/js-xlsx/xlsx.full.min.js']").length > 0){
|
||||
return;
|
||||
}else{
|
||||
var body = $("body");
|
||||
var script = $("<script>");
|
||||
$(script).attr('type','text/javascript');
|
||||
$(script).attr('src','/static/js/js-xlsx/xlsx.full.min.js');
|
||||
$(body).append(script);
|
||||
}
|
||||
}
|
||||
|
||||
console.log(XLSX);
|
||||
window.xls = xls;
|
||||
return xls;
|
||||
});
|
||||
@@ -1,6 +1,6 @@
|
||||
/* cpexcel.js (C) 2013-present SheetJS -- http://sheetjs.com */
|
||||
/*jshint -W100 */
|
||||
var cptable = {version:"1.14.0"};
|
||||
var cptable = {version:"1.13.0"};
|
||||
cptable[437] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })();
|
||||
cptable[620] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÇüéâäàąçêëèïîćÄĄĘęłôöĆûùŚÖܢ٥śƒŹŻóÓńŃźż¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })();
|
||||
cptable[737] = (function(){ var d = "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ ", D = [], e = {}; for(var i=0;i!=d.length;++i) { if(d.charCodeAt(i) !== 0xFFFD) e[d.charAt(i)] = i; D[i] = d.charAt(i); } return {"enc": e, "dec": D }; })();
|
||||
@@ -1017,11 +1017,9 @@ if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODE
|
||||
var cca = function cca(x) { return x.charCodeAt(0); };
|
||||
|
||||
var has_buf = (typeof Buffer !== 'undefined');
|
||||
var Buffer_from = function(){};
|
||||
if(has_buf) {
|
||||
var nbfs = !Buffer.from;
|
||||
if(!nbfs) try { Buffer.from("foo", "utf8"); } catch(e) { nbfs = true; }
|
||||
Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);
|
||||
// $FlowIgnore
|
||||
if(!Buffer.from) Buffer.from = function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); };
|
||||
// $FlowIgnore
|
||||
if(!Buffer.allocUnsafe) Buffer.allocUnsafe = function(n) { return new Buffer(n); };
|
||||
|
||||
@@ -1294,7 +1292,7 @@ if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODE
|
||||
}
|
||||
else if((M=magic[cp])) switch(M) {
|
||||
case "utf8":
|
||||
if(has_buf && isstr) { out = Buffer_from(data, M); j = out.length; break; }
|
||||
if(has_buf && isstr) { out = Buffer.from(data, M); j = out.length; break; }
|
||||
for(i = 0; i < len; ++i, ++j) {
|
||||
w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
|
||||
if(w <= 0x007F) out[j] = w;
|
||||
@@ -1316,7 +1314,7 @@ if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODE
|
||||
}
|
||||
break;
|
||||
case "ascii":
|
||||
if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; }
|
||||
if(has_buf && typeof data === "string") { out = Buffer.from(data, M); j = out.length; break; }
|
||||
for(i = 0; i < len; ++i, ++j) {
|
||||
w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
|
||||
if(w <= 0x007F) out[j] = w;
|
||||
@@ -1324,7 +1322,7 @@ if (typeof module !== 'undefined' && module.exports && typeof DO_NOT_EXPORT_CODE
|
||||
}
|
||||
break;
|
||||
case "utf16le":
|
||||
if(has_buf && typeof data === "string") { out = Buffer_from(data, M); j = out.length; break; }
|
||||
if(has_buf && typeof data === "string") { out = Buffer.from(data, M); j = out.length; break; }
|
||||
for(i = 0; i < len; ++i) {
|
||||
w = isstr ? data.charCodeAt(i) : data[i].charCodeAt(0);
|
||||
out[j++] = w&255;
|
||||
|
||||
@@ -600,16 +600,14 @@ module.exports = function(data, options) {
|
||||
},{"./base64":1,"./zipEntries":22}],11:[function(_dereq_,module,exports){
|
||||
(function (Buffer){
|
||||
'use strict';
|
||||
var Buffer_from = /*::(*/function(){}/*:: :any)*/;
|
||||
if(typeof Buffer !== 'undefined') {
|
||||
var nbfs = !Buffer.from;
|
||||
if(!nbfs) try { Buffer.from("foo", "utf8"); } catch(e) { nbfs = true; }
|
||||
Buffer_from = nbfs ? function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); } : Buffer.from.bind(Buffer);
|
||||
// $FlowIgnore
|
||||
if(!Buffer.from) Buffer.from = function(buf, enc) { return (enc) ? new Buffer(buf, enc) : new Buffer(buf); };
|
||||
// $FlowIgnore
|
||||
if(!Buffer.alloc) Buffer.alloc = function(n) { return new Buffer(n); };
|
||||
}
|
||||
module.exports = function(data, encoding){
|
||||
return typeof data == 'number' ? Buffer.alloc(data) : Buffer_from(data, encoding);
|
||||
return typeof data == 'number' ? Buffer.alloc(data) : Buffer.from(data, encoding);
|
||||
};
|
||||
module.exports.test = function(b){
|
||||
return Buffer.isBuffer(b);
|
||||
|
||||
+15
-16
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
+17
-17
File diff suppressed because one or more lines are too long
+449
-1702
File diff suppressed because it is too large
Load Diff
+13
-13
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{$meta_title}</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<a class="btn btn-warning" href="{:url('/admin/form/lists')}"><i class="fa fa-reply"></i> 导出</a>
|
||||
<a class="btn btn-warning btn-out btn-sm" href="{:url('/admin/form/lists')}"><i class="fa fa-reply"></i> 导出</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
{extend name="admin/public/base"/}
|
||||
{block name="body"}
|
||||
<div class="box box-primary">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{$meta_title}</h3>
|
||||
<div class="box-tools pull-right">
|
||||
<!-- <a class="btn btn-sm btn-primary" href="{:url('/admin/hcloud/add')}">新 增</a>
|
||||
<button class="btn btn-sm btn-danger ajax-post confirm" url="{:url('/admin/hcloud/delete')}" data-form="ids">删 除</button> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="table-responsive clearfix">
|
||||
<table class="table table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>公司名称</th>
|
||||
<th>公司法人</th>
|
||||
<th>注册地址</th>
|
||||
<th>证书编号</th>
|
||||
<th>安全许可到期时间</th>
|
||||
<th>资质项名称</th>
|
||||
<th>证书编号</th>
|
||||
<th>发证日期</th>
|
||||
<th>证书有效期</th>
|
||||
<th>发证机关</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{volist name="list" id="item"}
|
||||
{if count($item['apt']) > 0}
|
||||
<tr>
|
||||
<td rowspan="{:count($item['apt'])}">{$item['compName']}</td>
|
||||
<td rowspan="{:count($item['apt'])}">{$item['compCeoName']}</td>
|
||||
<td rowspan="{:count($item['apt'])}">{$item['compRegAddr']}</td>
|
||||
<td rowspan="{:count($item['apt'])}">{$item['safetyCode']}</td>
|
||||
<td rowspan="{:count($item['apt'])}">{$item['safetyEdate']}</td>
|
||||
<td>{$item['apt'][0]['aptCasename']}</td>
|
||||
<td>{$item['apt'][0]['certPrintNo']}</td>
|
||||
<td>{$item['apt'][0]['validBdate']}</td>
|
||||
<td>{$item['apt'][0]['validEdate']}</td>
|
||||
<td>{$item['apt'][0]['issueUnitName']}</td>
|
||||
</tr>
|
||||
{volist name="item['apt']" id="vo" key="j"}
|
||||
{if $j > 1}
|
||||
<tr>
|
||||
<td>{$vo['aptCasename']}</td>
|
||||
<td>{$vo['certPrintNo']}</td>
|
||||
<td>{$vo['validBdate']}</td>
|
||||
<td>{$vo['validEdate']}</td>
|
||||
<td>{$vo['issueUnitName']}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/volist}
|
||||
{else/}
|
||||
<tr>
|
||||
<td>{$item['compName']}</td>
|
||||
<td>{$item['compCeoName']}</td>
|
||||
<td>{$item['compRegAddr']}</td>
|
||||
<td>{$item['safetyCode']}</td>
|
||||
<td>{$item['safetyEdate']}</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/volist}
|
||||
</tbody>
|
||||
</table>
|
||||
{$page|raw}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
Reference in New Issue
Block a user