🔓 Ultimate Webshell - Penetration Testing Tool

📖 File Reader

<?php
namespace app\admin\controller;
use adminCreate\form\Form;
use think\facade\Db;
use think\facade\View;

class Activity extends Base
{
    /*优惠卷列表*/
    public function preferential_card()
    {
        return View::fetch();
    }

    /*优惠券列表数据*/
    public function preferential_card_ajax()
    {
        $title = input("param.title");
        $where = 1;
        if (!empty($title)){
            $where .= " and title like '%".$title."%'";
        }
        $list = db::name("activity_preferential_card")->where($where)->order("id desc")->page($this->page, $this->limit)->select()->toArray();
        foreach ($list as $k => $v) {
            $list[$k]["time_add"] = date("Y-m-d H:i", $v["time_add"]);
            $list[$k]["time_past_due"] = date("Y-m-d H:i", $v["time_past_due"]);
            $list[$k]["time_ks"] = date("Y-m-d H:i", $v["time_ks"]);
            $list[$k]["time_js"] = date("Y-m-d H:i", $v["time_js"]);
            $list[$k]["time_huodong"] = date("Y-m-d H:i", $v["time_ks"]).'-'.date("Y-m-d H:i", $v["time_js"]);
        }
        //获取总页数
        $count = db::name("activity_preferential_card")->where($where)->count();
        return $this->layui_json($count,$list);
    }

    /*是否显示*/
    public function is_show_edit()
    {
        $id = input("param.id");
        $is_show = db::name("activity_preferential_card")->where("id = $id")->value("is_show");
        if ($is_show == 1){
            $info["is_show"] = 0;
        }else{
            $info["is_show"] = 1;
        }
        db::name("activity_preferential_card")->where("id = $id")->data($info)->update();
        return $this->succeed_json("ok");
    }

    /*优惠卷表单处理*/
    public function preferential_card_update()
    {
        $id = input("param.id");
        if ($_POST){
            $price_yh = input("param.price_yh");
            $price_satisfy = input("param.price_satisfy");
            $num = input("param.num");
            if ($price_yh <= 0){
                return $this->error_json("请输入优惠额度");
            }
            if ($price_satisfy <= 0){
                return $this->error_json("请输入优惠条件");
            }
            if ($num <= 0){
                return $this->error_json("请输入发放数量");
            }
            $info = [
                'title'=>input("param.title"),
                'price_yh'=>input("param.price_yh"),
                'price_satisfy'=>input("param.price_satisfy"),
                'num'=>input("param.num"),
                'num_surplus'=>input("param.num_surplus"),
                'time_past_due'=>strtotime(input("param.time_past_due")),
                'time_ks'=>strtotime(input("param.time_ks")),
                'time_js'=>strtotime(input("param.time_js")),
                'time_huodong'=>input("param.time_ks").' - '.input("param.time_js"),
                'is_show'=>input("param.is_show"),
                'time_add'=>strtotime(input("param.time_add")),
            ];
            if (input("param.num_surplus") > input("param.num")){
                return $this->error_json("剩余数量不可大于发放数量");
            }
            if (empty($id)){
                if (empty($info["num_surplus"])){
                    $info["num_surplus"] = input("param.num");
                }
                db::name("activity_preferential_card")->insertGetId($info);
            }else{
                db::name("activity_preferential_card")->where("id = $id")->data($info)->update();
            }
            return $this->succeed_json("操作成功");
        }else{
            $time =  date("Y-m-d H:i",time());
            $preferential_info = ['title'=>'','price_yh'=>0,'price_satisfy'=>0,'num'=>'','num_surplus'=>'','time_past_due'=>'','time_ks'=>'','time_js'=>'','time_add'=>$time,'is_show'=>1];
            if (!empty($id)){
                $preferential_info = db::name("activity_preferential_card")->where("id = $id")->find();
                $preferential_info["time_past_due"] = date("Y-m-d H:i",$preferential_info["time_past_due"]);
                $preferential_info["time_ks"] = date("Y-m-d H:i",$preferential_info["time_ks"]);
                $preferential_info["time_js"] = date("Y-m-d H:i",$preferential_info["time_js"]);
                $preferential_info["time_add"] = date("Y-m-d H:i",$preferential_info["time_add"]);
            }
            $form = new Form();
            $form->tabs('tabs1', '基本信息');
            $form->input('title', '优惠卷名称',$preferential_info["title"])->required()->tabs("tabs1");
            $form->number('price_yh', '优惠额度',$preferential_info["price_yh"])->required('','number')->tabs("tabs1");
            $form->number('price_satisfy', '优惠条件',$preferential_info["price_satisfy"])->tips("满足?元可使用")->required('','number')->tabs("tabs1");
            $form->number('num', '发放数量',$preferential_info["num"])->required('','number')->tabs("tabs1");
            $form->number('num_surplus', '剩余数量',$preferential_info["num_surplus"])->tabs("tabs1");
            $form->datetime('time_past_due','过期时间',$preferential_info["time_past_due"])->type('datetime')->required()->tabs("tabs1");
            $form->datetime('time_ks','活动开始时间',$preferential_info["time_ks"])->type('datetime')->col(8)->required()->tabs("tabs1");
            $form->datetime('time_js','活动结束时间',$preferential_info["time_js"])->type('datetime')->col(8)->required()->tabs("tabs1");
            $form->radio('is_show', '发布', $preferential_info["is_show"])->setOptions(function () {
                $menus[] = ['label' => '是', 'value' => '1'];
                $menus[] = ['label' => '否', 'value' => '0'];
                return $menus;
            })->tabs('tabs1')->required();
            $form->datetime('time_add', '时间',$preferential_info["time_add"])->tabs('tabs1')->type('datetime')->required();
            $form->hidden('id',$id);
            $form->button('/admin/Activity/preferential_card_update');
            return $form;
        }
    }

    /*优惠卷删除*/
    public function preferential_card_del()
    {
        $id = input("param.id");
        $card_info = db::name("activity_preferential_card")->where("id = $id")->find();
        if ($card_info["is_show"] == 1 && time() >= $card_info["time_ks"] && time() <= $card_info["time_js"]){
            return $this->error_json("活动正在进行中,不可删除!");
        }
        db::name("activity_preferential_card")->where("id= $id")->delete();
        return $this->succeed_json("删除成功");
    }

    /*店面活动*/
    public function list_dianmian()
    {
        return View::fetch();
    }

    /*店面活动数据*/
    public function list_dianmian_ajax()
    {
        $title = input("param.title");
        $where = 1;
        if (!empty($title)){
            $where .= " and title like '%".$title."%'";
        }
        $list = db::name("activity_dianmian")->where($where)->order("id desc")->page($this->page,$this->limit)->select()->toArray();
        foreach ($list as $k => $v){
            $list[$k]["count_yuyue"] = db::name("user_activity_dianmian")->where("activity_id = $v[id]")->count();
            $list[$k]["add_time"] = date("Y-m-d H:i",$v["add_time"]);
            $list[$k]["time_ks"] = date("m-d H:i",$v["time_ks"]);
            $list[$k]["time_js"] = date("m-d H:i",$v["time_js"]);
            $list[$k]["time_huodong"] =date("Y/m/d H:i",$v["time_ks"]).' ~ '.date("Y/m/d H:i",$v["time_js"]);
        }
        $count= db::name("activity_dianmian")->where($where)->count();
        return $this->layui_json($count,$list);
    }

    /*店面表单处理*/
    public function form_dianmian_update()
    {
        $id = input("param.id");
        if ($_POST){
            $info = [
                'title'=>input("param.title"),
                //'describe'=>input("param.describe"),
                'img'=>implode(",", input("param.img")),
                'content'=>input("param.content"),
                'is_show'=>input("param.is_show"),
                'time_ks'=>strtotime(input("param.time_ks")),
                'time_js'=>strtotime(input("param.time_js")),
                'add_time'=>strtotime(input("param.add_time")),
            ];
            if (empty($id)){
                db::name("activity_dianmian")->insertGetId($info);
            }else{
                db::name("activity_dianmian")->where("id = $id")->data($info)->update();
            }
            return $this->succeed_json("操作成功");
        }else{
            $time =  date("Y-m-d H:i",time());
            $article_info = ['title'=>'','describe'=>'','img'=>[],'browse_sum'=>0,'content'=>'','time_ks'=>'','time_js'=>'','add_time'=>$time,'is_show'=>1];
            if (!empty($id)){
                $article_info = db::name("activity_dianmian")->where("id = $id")->find();
                $article_info["img"] = $article_info["img"] != ''?explode(',',$article_info['img']):[];
                $article_info["time_ks"] = $article_info["time_ks"] > 0?date("Y-m-d H:i",$article_info["time_ks"]):'';
                $article_info["time_js"] = $article_info["time_js"] > 0?date("Y-m-d H:i",$article_info["time_js"]):'';
                $article_info["add_time"] = date("Y-m-d H:i",$article_info["add_time"]);
            }

            $form = new Form();
            $form->tabs('tabs1', '基本信息');
            $form->tabs('tabs2', '描述详情');
            $form->input('title', '活动标题',$article_info["title"])->required()->tabs('tabs1');
            //$form->input('describe', '简单描述',$article_info["describe"])->type('textarea')->required();
            $form->upload('img', '缩略图', '/admin/ad/uploads', $article_info["img"])->nultiple(false)->required()->tabs('tabs1');
            $form->datetime('time_ks','活动开始时间',$article_info["time_ks"])->type('datetime')->required()->tabs('tabs1');
            $form->datetime('time_js','活动结束时间',$article_info["time_js"])->type('datetime')->required()->tabs('tabs1');
            $form->radio('is_show', '显示', $article_info["is_show"])->setOptions(function () {
                $menus[] = ['label' => '是', 'value' => '1'];
                $menus[] = ['label' => '否', 'value' => '0'];
                return $menus;
            })->tabs('tabs1')->required();
            $form->datetime('add_time', '时间',$article_info["add_time"])->tabs('tabs1')->type('datetime')->required();

            $form->editor('content', '详细信息',$article_info["content"])->tabs('tabs2');
            $form->hidden('id',$id);
            $form->button('/admin/Activity/form_dianmian_update');
            return $form;
        }
    }

    /*店面显示*/
    public function dianmian_is_show_edit()
    {
        $id = input("param.id");
        $is_show = db::name("activity_dianmian")->where("id = $id")->value("is_show");
        if ($is_show == 1){
            $info["is_show"] = 0;
        }else{
            $info["is_show"] = 1;
        }
        db::name("activity_dianmian")->where("id = $id")->data($info)->update();
        return $this->succeed_json("ok");
    }

    /*店面活动删除*/
    public function activity_dianmian_del()
    {
        $id = input("param.id");
        db::name("activity_dianmian")->where("id = $id")->delete();
        return $this->succeed_json("删除成功");
    }

    /*店面人员预约*/
    public function activity_dianmian_yuyue()
    {
        $activity_id = input("param.activity_id");
        View::assign([
            'activity_id'=>$activity_id,
        ]);
        return View::fetch();
    }

    /*店面人员预约数据*/
    public function activity_dianmian_yuyue_ajax()
    {
        $activity_id = input("param.activity_id");
        $keyword = input("param.keyword");
        $time_ks = input("param.time_ks");
        $time_js = input("param.time_js");
        $where = 1;
        if (!empty($keyword)){
            $where .= " and (b.nickname like '%".$keyword."%' or b.name like '%".$keyword."%' or b.mobile like '%".$keyword."%')";
        }
        if (!empty($time_ks)){
            $time_ks2 = strtotime($time_ks);
            $where .= " and a.time_add >= $time_ks2";
        }
        if (!empty($time_js)){
            $time_js2 = strtotime($time_js);
            $where .= " and a.time_add < $time_js2";
        }
        $list = db::name("user_activity_dianmian")->alias("a")
            ->join("user b","a.user_id = b.user_id")
            ->field("a.*,b.nickname,b.head,b.mobile,b.name")
            ->where("a.activity_id = $activity_id and $where")
            ->order("a.id desc")
            ->page($this->page,$this->limit)
            ->select()
            ->toarray();
        foreach ($list as $k => $v){
            $list[$k]["time_add"] = date("Y-m-d H:i",$v["time_add"]);
        }
        /*总页数*/
        $count = db::name("user_activity_dianmian")->alias("a")
            ->join("user b","a.user_id = b.user_id")
            ->field("a.*,b.nickname,b.head")
            ->where("a.activity_id = $activity_id and $where")
            ->count();
        return $this->layui_json($count,$list);
    }
}