dzadsod/admin/info_off.class.php

351 lines
13 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
defined('IN_MET') or exit ('No permission');
load::own_class('appadmin');
class info_off extends appadmin {
private $form;
// 文字提示
private $tips = '';
//跳转URL
private $returl = '';
//当前时间
private $timedate;
public function __construct()
{
global $_M,$_YW;
parent::__construct();
$this->form = $_M['form'];
$this->tname = $_M['form']['tname'];
$this->timedate = date('Y-m-d H:i:s', time());
}
public function __destruct()
{
global $_M,$_YW;
if($this->destruct){
turnover(empty($this->returl)?$_M['url']['own_name'] . 'c=table_on&a=do'.$this->tname:$this->returl, $this->tips);
}
}
public function doindex() {
global $_M,$_YW;
switch ($this->tname) {
case 'village':
self::village();
case 'elevator':
$e_bno = stringto_array($this->form['e_bno'],'#@met@#');
$e_aps = stringto_array($this->form['e_aps'],'#@met@#');
foreach ($e_bno as $bno) {
foreach ($e_aps as $aps) {
self::elevator($bno,$aps);
}
}
break;
default:
self::{$this->tname}();
break;
}
}
//场所
private function village() {
global $_M,$_YW;
$field = [
'v_name' => $this->form['v_name'],
'v_type' => $this->form['v_type'],
'v_province' => $this->form['v_province'],
'v_city' => $this->form['v_city'],
'v_district' => $this->form['v_district'],
'v_address' => $this->form['v_address'],
'v_lxname' => $this->form['v_lxname'],
'v_tel' => $this->form['v_tel'],
'v_price' => $this->form['v_price'],
'v_psize' => $this->form['v_psize'],
'v_text' => $this->form['v_text']
];
if($this->form['id']){
$field['v_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$field['v_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
if($error) $this->tips = '操作失败:'.$error;
}
//企业
private function customer() {
global $_M,$_YW;
$field = [
'c_allname' => $this->form['c_allname'],
'c_name' => $this->form['c_name'],
'c_province' => $this->form['c_province'],
'c_city' => $this->form['c_city'],
'c_district' => $this->form['c_district'],
'c_address' => $this->form['c_address'],
'c_lxname' => $this->form['c_lxname'],
'c_tel' => $this->form['c_tel'],
'c_text' => $this->form['c_text']
];
if($this->form['id']){
$field['c_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$field['c_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
if($error) $this->tips = '操作失败:'.$error;
}
//企业联系人
private function workers() {
global $_M,$_YW;
$field = [
'w_jid' => $this->form['w_jid'],
'w_name' => $this->form['w_name'],
'w_tel' => $this->form['w_tel'],
'w_text' => $this->form['w_text']
];
if($this->form['id']){
$field['w_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$field['w_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
if($error) $this->tips = '操作失败:'.$error;
}
//广告位
private function elevator($e_bno,$e_aps) {
global $_M,$_YW;
$e_number = $this->form['e_number'];
if(!$this->form['id']) parent::e_number($e_number,$e_bno.$e_aps);
$field = [
'e_number' => $e_number,
'e_vid' => $this->form['e_vid'],
'e_bno' => $e_bno,
'e_aps' => $e_aps,
'e_size' => $this->form['e_size'],
'e_enable' => $this->form['e_enable'],
'e_label' => $this->form['e_label'],
'e_text' => $this->form['e_text']
];
if($this->form['id']){
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
//判断为修改编号则需要清理掉旧的编号
$olde_number = $this->form['olde_number'];
$enumber = $this->form['e_number'];
if(!$error && $this->form['id'] && $olde_number != $enumber ){
$this->tsql->table('schedule')->where(['s_enumber' => $olde_number ])->del();
//清理掉缓存排期表 met_dzadsod_
// olde_number
//替换掉旧的投放表内的编号 met_dzadsod_
// ['l_enumber' => '','l_selectenum']
$launch = $this->tsql->table('launch')->where(" find_in_set( '{$olde_number}', l_enumber ) OR find_in_set( '{$olde_number}', l_selectenum ) ")->all();
foreach ($launch as $val) {
$lenumber = arrayto_string(array_unique(stringto_array($val['l_enumber'],',')),',');
$l_enumber = preg_replace(["/^{$olde_number}$/","/^{$olde_number},/","/,{$olde_number},/","/,{$olde_number}$/"],[$enumber,"{$enumber},",",{$enumber},",",{$enumber}"],$lenumber);
$lselectenum = arrayto_string(array_unique(stringto_array($val['l_selectenum'],',')),',');
$l_selectenum = preg_replace(["/^{$olde_number}$/","/^{$olde_number},/","/,{$olde_number},/","/,{$olde_number}$/"],[$enumber,"{$enumber},",",{$enumber},",",{$enumber}"],$lselectenum);
//修改
$this->tsql->table('launch')->field(['l_enumber' => $l_enumber, 'l_selectenum' => $l_selectenum ])->where(['id' => $val['id'] ])->upd();
}
}
if($error) $this->tips = '操作失败:'.$error;
}
//合同录入
private function contract() {
global $_M,$_YW;
//报错
if(strtotime($this->form['h_starttime']) > strtotime($this->form['h_endtime'])){
$this->destruct = false;
parent::scriptgo("投放结束时间({$this->form['h_starttime']})不能小于开始时间({$this->form['h_endtime']})");
}
$field = [
'h_number' => $this->form['h_number'],
'h_signtime' => $this->form['h_signtime'],
'h_cid' => $this->form['h_cid'],
'h_wid' => arrayto_string($this->form['h_wid'],','),
'h_tprice' => $this->form['h_tprice'],
'h_starttime' => $this->form['h_starttime'],
'h_endtime' => $this->form['h_endtime'],
'h_noticeday' => arrayto_string(array_unique(stringto_array($this->form['h_noticeday'],',')),','), //对数组进行去重处理
'h_text' => $this->form['h_text'],
'h_tower' => $this->form['h_tower'],
'h_texta' => $this->form['h_texta'],
'h_medium' => $this->form['h_medium']
];
if($this->form['id']){
$field['h_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$field['h_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
if($error) $this->tips = '操作失败:'.$error;
}
//投放计划保存
private function launch() {
global $_M,$_YW;
$this->destruct = false;
// 每次保存都要计算时间是否合法
if(strtotime($this->form['l_starttime']) > strtotime($this->form['l_endtime'])){
echo parent::jsoncallback([
'slid' => $this->form['slid'],
'code' => false,
'text' => "投放结束时间({$this->form['l_starttime']})不能小于开始时间({$this->form['l_endtime']})"]);
exit;
}
//不让他包含广告位选中字符
//l_enable 状态字符也暂时不采用
$field = [
'l_hnumber' => $this->form['l_hnumber'],
'l_title' => $this->form['l_title'],
'l_schedule' => $this->form['l_schedule'],
'l_starttime' => $this->form['l_starttime'],
'l_endtime' => $this->form['l_endtime'],
'l_selectenum' => $this->form['l_selectenum'],
'l_type' => $this->form['l_type'],
'l_text' => $this->form['l_text']
];
if($this->form['slid']){
$field['l_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id' => $this->form['slid']])
->upd();
// $query = $this->tsql->query();
$slid = $this->form['slid'];
}else{
$field['l_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
// $query = $this->tsql->query();
$slid = $this->tsql->id();
}
//查看是否执行错误
$error = $this->tsql->error();
//清理掉非选中的广告位排期,实际执行的是广告位选中后的删除操作,其他地方执行的只有新增和修改
$schedule = $this->tsql->table('schedule')
->where(['s_lid' => $slid])
->all();
$enumber = stringto_array($this->form['l_selectenum'],',');
foreach ($schedule as $val) {
if(!in_array($val['s_enumber'], $enumber)){
$this->tsql->table('schedule')
->where(['id' => $val['id'] ])
->del();
}
}
//返回结果
$array = $error || $slid == 0
?['slid' => $slid,'code' => false,'text' => "投放信息处理失败,广告位没有执行排期!错误提示({$error}",$this->form]
:['slid' => $slid,'code' => true,'text' => '投放信息处理成功。'];
echo parent::jsoncallback($array);
exit;
}
private function keylist() {
global $_M,$_YW;
$field = [
'k_passkey' => md5($this->form['k_passkey']),
'k_basekey' => base64_encode($this->form['k_passkey']),
'k_wid' => $this->form['k_wid'],
'k_state' => $this->form['k_state'],
'k_text' => $this->form['k_text']
];
if($this->form['id']){
$field['k_updatetime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->where(['id'=>$this->form['id']])
->upd();
$this->tips = '更新成功';
}else{
$field['k_addtime'] = $this->timedate;
$this->tsql->table($this->tname)
->field($field)
->add();
$this->tips = '新增成功';
}
// 检测sql是否有错误
$error = $this->tsql->error();
if($error) $this->tips = '操作失败:'.$error;
}
}
?>