236 lines
7.4 KiB
PHP
236 lines
7.4 KiB
PHP
<?php
|
|
namespace addon\saas\shop\controller;
|
|
use addon\supply\model\web\Adv as AdvModel;
|
|
use addon\supply\model\web\AdvPosition;
|
|
class SupplyAd extends SaasBase
|
|
{
|
|
|
|
/**
|
|
* 广告列表
|
|
*/
|
|
public function lists()
|
|
{
|
|
$adv = new AdvModel();
|
|
$ap_id = input('ap_id', '');
|
|
if (request()->isAjax()) {
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$search_text = input('search_text', '');
|
|
$ap_id = input('ap_id', '');
|
|
$condition = [
|
|
['a.site_id', '=', $this->site_id]
|
|
];
|
|
if (!empty($search_text)) {
|
|
$condition[] = ['a.adv_title', 'like', '%' . $search_text . '%'];
|
|
}
|
|
if ($ap_id !== '') {
|
|
$condition[] = ['a.ap_id', '=', $ap_id];
|
|
}
|
|
return $adv->getAdvPageList($condition, $page, $page_size);
|
|
} else {
|
|
$this->assign('ap_id', $ap_id);
|
|
$this->forthMenu();
|
|
return $this->fetch("adv/lists");
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 添加广告
|
|
*/
|
|
public function addAdv()
|
|
{
|
|
$adv = new AdvModel();
|
|
if (request()->isAjax()) {
|
|
$adv_url = input('adv_url', '');
|
|
$adv_url_title = input('adv_url_title', '');
|
|
$adv_url_data = array(
|
|
'url' => $adv_url,
|
|
'title' => $adv_url_title,
|
|
);
|
|
$data = [
|
|
'ap_id' => input('ap_id', 0),
|
|
'site_id' => $this->site_id,
|
|
'adv_title' => input('adv_title', ''),
|
|
'adv_url' => json_encode($adv_url_data),
|
|
'adv_image' => input('adv_image', ''),
|
|
'slide_sort' => input('slide_sort', 0),
|
|
'background' => input('background', ''),
|
|
];
|
|
return $adv->addAdv($data);
|
|
} else {
|
|
$adv_position = new AdvPosition();
|
|
$adv_position_list = $adv_position->getAdvPositionList();
|
|
$this->assign('adv_position_list', $adv_position_list['data']);
|
|
return $this->fetch("adv/add_adv");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑广告
|
|
*/
|
|
public function editAdv()
|
|
{
|
|
$adv_id = input('adv_id', '');
|
|
$adv = new AdvModel();
|
|
if (request()->isAjax()) {
|
|
$adv_url = input('adv_url', '');
|
|
$adv_url_title = input('adv_url_title', '');
|
|
$adv_url_data = array(
|
|
'url' => $adv_url,
|
|
'title' => $adv_url_title,
|
|
);
|
|
$data = [
|
|
'ap_id' => input('ap_id', 0),
|
|
'adv_title' => input('adv_title', ''),
|
|
'adv_url' => json_encode($adv_url_data),
|
|
'adv_image' => input('adv_image', ''),
|
|
'slide_sort' => input('slide_sort', 0),
|
|
'background' => input('background', ''),
|
|
];
|
|
return $adv->editAdv($data, [['adv_id', '=', $adv_id]]);
|
|
} else {
|
|
$adv_position = new AdvPosition();
|
|
$adv_position_list = $adv_position->getAdvPositionList();
|
|
$this->assign('adv_position_list', $adv_position_list['data']);
|
|
$adv_info = $adv->getAdvInfo($adv_id);
|
|
$this->assign('adv_info', $adv_info['data']);
|
|
|
|
return $this->fetch("adv/edit_adv");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 修改广告字段
|
|
*/
|
|
public function editAdvField()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$adv = new AdvModel();
|
|
$type = input('type', '');
|
|
$value = input('value', '');
|
|
$adv_id = input('adv_id', '');
|
|
$data = [
|
|
$type => $value
|
|
];
|
|
return $adv->editAdv($data, [['adv_id', '=', $adv_id], ['site_id', '=', $this->site_id]]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除广告
|
|
*/
|
|
public function deleteAdv()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$adv_ids = input('adv_ids', 0);
|
|
$adv = new AdvModel();
|
|
return $adv->deleteAdv([['site_id', '=', $this->site_id], ['adv_id', 'in', $adv_ids]]);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
* 广告位管理
|
|
* @return mixed
|
|
*/
|
|
public function Position()
|
|
{
|
|
$adv_position = new AdvPosition();
|
|
if (request()->isAjax()) {
|
|
$page = input('page', 1);
|
|
$page_size = input('page_size', PAGE_LIST_ROWS);
|
|
$search_text = input('search_text', '');
|
|
$condition = [
|
|
['site_id', '=', $this->site_id]
|
|
];
|
|
if (!empty($search_text)) {
|
|
$condition[] = ['ap_name', 'like', '%' . $search_text . '%'];
|
|
}
|
|
return $adv_position->getAdvPositionPageList($condition, $page, $page_size);
|
|
} else {
|
|
$this->forthMenu();
|
|
return $this->fetch("adv/index");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 添加广告位
|
|
*/
|
|
public function addPosition()
|
|
{
|
|
$adv_position = new AdvPosition();
|
|
if (request()->isAjax()) {
|
|
$data = [
|
|
'site_id' => $this->site_id,
|
|
'ap_name' => input('ap_name', ''),
|
|
'keyword' => input('keyword', ''),
|
|
'ap_intro' => input('ap_intro', ''),
|
|
'ap_height' => input('ap_height', 0),
|
|
'ap_width' => input('ap_width', 0),
|
|
'default_content' => input('default_content', ''),
|
|
'ap_background_color' => input('ap_background_color', ''),
|
|
];
|
|
return $adv_position->addAdvPosition($data);
|
|
} else {
|
|
return $this->fetch("adv/add_position");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 编辑广告位
|
|
*/
|
|
public function editPosition()
|
|
{
|
|
$adv_position = new AdvPosition();
|
|
$ap_id = input('ap_id', 0);
|
|
if (request()->isAjax()) {
|
|
$data = [
|
|
'ap_id' => $ap_id,
|
|
'ap_name' => input('ap_name', ''),
|
|
'keyword' => input('keyword', ''),
|
|
'ap_intro' => input('ap_intro', ''),
|
|
'ap_height' => input('ap_height', 0),
|
|
'ap_width' => input('ap_width', 0),
|
|
'default_content' => input('default_content', ''),
|
|
'ap_background_color' => input('ap_background_color', ''),
|
|
];
|
|
return $adv_position->editAdvPosition($data, [['ap_id', '=', $ap_id]]);
|
|
} else {
|
|
$ap_info = $adv_position->getAdvPositionInfo([['ap_id', '=', $ap_id]]);
|
|
$this->assign('info', $ap_info['data']);
|
|
return $this->fetch("adv/edit_position");
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 修改广告位字段
|
|
*/
|
|
public function editPositionField()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$adv_position = new AdvPosition();
|
|
$type = input('type', '');
|
|
$value = input('value', 0);
|
|
$ap_id = input('ap_id', 0);
|
|
$data = [
|
|
$type => $value
|
|
];
|
|
return $adv_position->editAdvPosition($data, [['ap_id', '=', $ap_id], ['site_id', '=', $this->site_id]]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 删除广告位
|
|
*/
|
|
public function deletePosition()
|
|
{
|
|
if (request()->isAjax()) {
|
|
$ap_ids = input('ap_ids', 0);
|
|
$adv_position = new AdvPosition();
|
|
return $adv_position->deleteAdvPosition([['site_id', '=', $this->site_id], ['ap_id', 'in', $ap_ids]]);
|
|
}
|
|
}
|
|
|
|
}
|