<?php

/*
 * ----------------------------------------------------
 * 程序名称: 牛叉广告管理系统(NiuXams)
 * 程序功能: 实现专业的广告投放、管理和统计等管理系统！
 * 程序开发: 牛叉软件(NiuXSoft.com)
 * 版权所有: [NiuXams] (C)2013-2099 NiuXSoft.com
 * 官方网站: www.niuxsoft.com  Email: niuxsoft@163.com
 * ----------------------------------------------------
 * 使用条款:
 * 1.为构建创新型经济社会,请尊重保护知识产权！
 * 2.该软件个人非商业用途免费使用.
 * 3.免费使用禁止修改版权信息和官方推广链接.
 * 4.禁止任何衍生版本.禁止任何非法修改源代码贩卖.
 * ----------------------------------------------------
 */

defined('NIUX_INCLUDED') or exit('Access Denied.');
$ggTitle = inSql($_POST['ggTitle']);
preg_match('/^.{1,255}$/', $ggTitle) or die("广告名称：不能为空/不超过80个汉字！");
$ggType = (int) substr(inSql($_POST['ggType']), 0, 1);
$ggContent = inSql($_POST['ggContent']);
preg_match('/^[\s\S]{1,65535}$/', $ggTitle) or die("广告内容：不能为空/不超过65535个字符！");
$ggWidth = (int) substr(inSql($_POST['ggWidth']), 0, 5);
$ggHeight = (int) substr(inSql($_POST['ggHeight']), 0, 5);
$ggLei = (int) substr(inSql($_POST['ggLei']), 0, 10) or die('类组不能为空！请先新建类组！');
$ggZu = (int) substr(inSql($_POST['ggZu']), 0, 10) or die('类组不能为空！请先新建类组！');
$ggTj = (int) substr(inSql($_POST['ggTj']), 0, 1);
$ggHref = inSql(htmlspecialchars($_POST['ggHref']));
preg_match('/^.{0,255}$/', $ggHref) or die("监听点击去向：不能有特殊字符，不超过255个字符！");
$ggYb = (int) substr(inSql($_POST['ggYb']), 0, 1);
if ($id && !$copy) {
    $query = "UPDATE `${cfg_dbprefix}gg` SET title='$ggTitle',content='$ggContent',tj=$ggTj,yb=$ggYb,type=$ggType,"
            . "lei_id=$ggLei,zu_id=$ggZu,width=$ggWidth,height=$ggHeight,href='$ggHref' WHERE id='${id}';";
    $nxsql->query($query);
    $nxsql->errno && die('更新数据库发生错误： (' . $nxsql->errno . ') ' . $nxsql->error);
    $path = ROOT_DIR . $cfg_output . '/' . $cfg_thread . '-' . $id . '.js' . ($recycle ? 'recycle' : '');
    $ggDm = getGGdm($id, $ggType, $ggContent, $ggTj, $ggYb, $ggWidth, $ggHeight, $ggHref);
    file_put_contents($path, $ggDm) or die('出错啦！无法修改广告文件！请检查输出目录名称、权限设置是否正确。');
    $recycle || updateGgcl($id);
    $nxsql->inLog('修改广告' . $id);
    exit('2');
} else {
    $gid = date("YmdHis");
    $query = "INSERT INTO `${cfg_dbprefix}gg` (title,content,gid,tj,yb,type,lei_id,zu_id,width,height,href,admin_id) VALUES "
            . "('$ggTitle','$ggContent','$gid','$ggTj','$ggYb','$ggType','$ggLei','$ggZu','$ggWidth','$ggHeight','$ggHref','$adminID');";
    $nxsql->query($query);
    $nxsql->errno && die('插入数据库发生错误： (' . $nxsql->errno . ') ' . $nxsql->error);
    $id = $nxsql->insert_id;
    $path = ROOT_DIR . $cfg_output . '/' . $cfg_thread . '-' . $id . '.js';
    $ggDm = getGGdm($id, $ggType, $ggContent, $ggTj, $ggYb, $ggWidth, $ggHeight, $ggHref);
    file_put_contents($path, $ggDm) or die('出错啦！无法创建广告文件！请检查输出目录名称、权限设置是否正确。');
    $nxsql->inLog('新建广告' . $id);
    exit('1');
}

