🔓 Ultimate Webshell - Penetration Testing Tool

📖 File Reader

<?php

namespace app\admin\common;
use app\BaseController;
use think\facade\Db;
use think\facade\Session;
use think\facade\View;
/**
 * 商品逻辑处理
 */
class Common_goods extends BaseController
{
    /**
     * 规格信息查询
     * @param $goods_id 产品id
     */
    static public function guige_info($goods_id)
    {
         //规格信息
         $list = db::name("goods_guige_attr")->where("goods_id = $goods_id")->order("id asc")->select();
         $guige_name = '';//规格名称
         $guige_shuxing = '';//规格属性
         foreach ($list as $k => $v){
             /*规格名称*/
             $guige_name .= ' <div class="gui_box1_1_int">
                                    <input type="text" placeholder="" id="guige_name'.$v["id"].'" value="'.$v["name"].'">
                                    <text onclick="guige_name_del('.$v["id"].')">x</text>
                              </div>
                              <script>
                                    $("#guige_name'.$v["id"].'").blur(function(){
                                        var guige_id = '.$v["id"].';
                                        var guige_name = $("#guige_name'.$v["id"].'").val();
                                        var goods_id = '.$v["goods_id"].';
                                        $.ajax({
                                            type: "POST",
                                            url: "/admin/Goods/guige_name_upload",
                                            data: {"guige_id":guige_id,"guige_name":guige_name},
                                            dataType: "json",
                                            success: function(res){
                                                guige(goods_id);
                                            }
                                        });
                                    })
                              </script>';

             /*规格属性*/
             $attribute = explode(',',$v['value']);
             $attribute_zhi = '';
             foreach ($attribute as $k2 => $v2){
                 if(!empty($v2)){
                     $attribute_zhi .= '<div class="gui_yan_1">
                                            <span>'.$v2.'</span>
                                            <text onclick="guige_shuxing_del('.$v["goods_id"].','.$v["id"].','.$k2.')">x</text>
                                        </div>';
                 }
             }
             $guige_shuxing .= '<div class="gui_box1_1">
                                    <span class="gui_box1_1_span" style="width: 80px;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;">'.$v["name"].':</span>
                                    <div class="gui_yan_box1" style="margin-left: 10px;">
                                        <input type="text" placeholder="设置属性" id="shuxing'.$v["id"].'" value="">
                                        <a href="javascript:void(0)" onclick="guige_shuxing_add('.$v["goods_id"].','.$v["id"].')">添加</a>
                                    </div>
                                </div>
                                <div class="gui_yan">
                                    '.$attribute_zhi.'
                                </div>';

         }
         //已生成的规格查询
         $list = Common_goods::goods_guige_value($goods_id);
         $data = [
             'guige_name'=>$guige_name,
             'guige_shuxing'=>$guige_shuxing,
             'guige_list'=>$list,
         ];
         return $data;
    }

    /**
     * 查询已生成的规格数据
     * @param $goods_id 产品id
     */
    static function goods_guige_value($goods_id)
    {
        $list = db::name("goods_guige_value")->where("goods_id = $goods_id")->order("id asc")->select();
        $str = '';
        foreach ($list as $k => $v){
            if (empty($v["img"])){
                $img = '<img src="/public/admin/img/tianjia.png" class="img1-img">';
            }else{
                $img = '<img src="'.$v["img"].'" class="img1-img">';
            }
            $str .= ' <div class="gui_box2">
                            <div class="gui_box2_1">
                                <span>'.$v["guige_name"].'</span>
                            </div>
                            <div class="gui_box2_1">
                                <span>金额:</span>
                                <input type="text" id="guige_price'.$v["id"].'" value="'.$v["price"].'">
                            </div>
                            <div class="gui_box2_1">
                                <span>库存:</span>
                                <input type="text" id="guige_stocks'.$v["id"].'" value="'.$v["stocks"].'">
                            </div>
                            <form method="post" onSubmit="return chkform(this)" name="guige_form'.$v["id"].'" id="guige_form'.$v["id"].'"  action="" enctype="multipart/form-data">
                                <div class="upload">
                                    <input type="file" name="img" id="guige_img'.$v["id"].'" class="test">
                                    <div class="img_center">
                                        '.$img.'
                                    </div>
                                </div>
                                <input type="hidden" name="guige_id" value="'.$v["id"].'">
                            </form>
                            <div class="gui_box2_shan" onclick="guige_list_del('.$v["id"].','.$v["goods_id"].')">删除</div>
                       </div>
                       <script>
                       //规格金额修改
                       $("#guige_price'.$v["id"].'").blur(function(){
                            var guige_id = '.$v["id"].';
                            var price = $("#guige_price'.$v["id"].'").val();
                            $.ajax({
                                type: "POST",
                                url: "/admin/Goods/guige_pric_amend",
                                data: {"guige_id":guige_id,"price":price},
                                dataType: "json",
                                success: function(res){
                                }
                            }); 
                       })
                       //库存修改
                       $("#guige_stocks'.$v["id"].'").blur(function(){
                            var guige_id = '.$v["id"].';
                            var stocks = $("#guige_stocks'.$v["id"].'").val();
                            $.ajax({
                                type: "POST",
                                url: "/admin/Goods/guige_stocks_amend",
                                data: {"guige_id":guige_id,"stocks":stocks},
                                dataType: "json",
                                success: function(res){
                                }
                            }); 
                       })
                       //缩略图修改
                       $("#guige_img'.$v["id"].'").change(function(){
                            var guige_id = '.$v["id"].';
                            var formData = new FormData($("#guige_form'.$v["id"].'")[0])
                            $.ajax({
                                type:"post",
                                url:"/admin/Goods/guige_img_amend",
                                data:formData,
                                cache: false,
                                contentType: false,
                                processData: false,
                                dataType: "json",
                                success: function(res) {
                                    guige('.$v["goods_id"].');
                                }
                            });
                       })
                       </script>';
        }
        return $str;
    }

    /**
     * 获取组合的结果
     * @param $val 规则属性值
     */
    static function getCombinationToString($val)
    {
        //保存上一个的值
        static $res = array();
        if (empty($res)) {
            $res = $val;
        } else {
            // 临时数组保存结合的结果
            $list = array();
            foreach ($res as $k => $v) {
                foreach ($val as $key => $value) {
                    $list[$k . '_' . $key] = $v . '_' . $value;
                }
            }
            $res = $list;
        }
        return $res;
    }
}