<?php
require_once(PLUGIN_DIR . 'Dao/SearchDao.php');
require_once(PLUGIN_DIR . 'Dao/InsertDao.php');
require_once(PLUGIN_DIR . 'Tools/Image.php');
class RentHouse extends Tospur_House{
    //二手房信息
    public static function rentHouse_html(){
        wp_enqueue_script('bootstrapjs');
        wp_enqueue_style('bootstrapcss');
        global $wpdb;
        $type = $_POST["type"];
        $context = array();
        $context['siteUrl'] = get_site_url();
        //获取新房信息，存入tospur_house表
        $insert_tospur_house_array = array(
            'name' => $_POST['housename'],
            'house_number' =>$_POST['house_number'],
            'rent'=>$_POST['rent'],
            'buildproperty_id'=>$_POST['buildproperty_id'],
            'covered_area' =>$_POST['covered_area'],
            'floor' =>$_POST['floor'],
            'faceto'=>$_POST['faceto'],
            'decoration' => $_POST['decoration'],
            'age'=>$_POST['age'],
            'matching_facilities'=>$_POST['matching_facilities'],
            'flat'=>$_POST['flat'],
            'suite'=>$_POST["suite"],
            'overview' => $_POST['overview'],
            'city_id' => $_POST['baseCity'],
            'district_id' => $_POST['baseAreaId'],
            'plate_id' => $_POST["basePlateId"],
            'address' => $_POST['address'],
            'community_name'=>$_POST['community_name'],
            'traffic' => $_POST['traffic'],
            'periphery' => $_POST['periphery'],
            'status' =>$_POST['status'],
            'owner_name'=>$_POST['owner_name'],
            'owner_phone'=>$_POST['owner_phone'],
            "location" => $_POST["location"],
        );
        if($type==3){
            $wpdb->query("START TRANSACTION");
            if(isset($_POST['houseId'])){
                $result = RentHouse::data_update($_POST['houseId'],$insert_tospur_house_array);
                if($result != 202){
                    $wpdb->query("ROLLBACK");
                    print_r($result);;
                    echo "租房房源修改失败";
                }else{
                    $wpdb->query("COMMIT");
                    echo "租房房源修改成功";
                }

            }else {
                $result = RentHouse::rentHouseData_insert($insert_tospur_house_array);
                if ($result != 200) {
                    $wpdb->query("ROLLBACK");
                    print_r($result);;
                    echo "租房房源新增失败";
                } else {
                    $wpdb->query("COMMIT");
                    echo "租房房源新增成功";
                }
            }
            exit;
        }else if(isset($_GET['edit'])){
            $context['houseId'] = $_GET['id'];
            $context = array_merge($context,SearchDao::getDetailInfo($_GET['id']));
            $context["district"] = SearchDao::searchCity($context['result']->city_id);
            $context["plate"] = SearchDao::searchCity($context['result']->city_id,$context['result']->district_id);
            $context["mark"] = SearchDao::searchHouseTag($_GET['id']);
        }
        $context['role'] = SecHandHouse::getCurrentRole();
        $context["city"] = SearchDao::searchCity();
        $context["buildProperty"] = SearchDao::searchBuildProperty();
        $context["room"] = SearchDao::searchRoom();
        $context["photoType"] = SearchDao::searchPhotoType();
        $context["status"] = searchDao::searchStatusType(2);
        Timber::render("rentHouse.html",$context);

    }

    public static function rentHouseData_insert($params)
    {
        global $wpdb;
        //房源与类型以及面积信息
        $data = $_POST["data"];
        $params['user_id'] = get_current_user_id();
        $params['creattime'] = date("Y-m-d H:i:s");
        $params['house_type'] = 2;
        $res = $wpdb->get_results('SELECT * FROM tospur_house WHERE address="' .$params['address'] . '" and owner_name="' .$params['owner_name'] . '" and owner_phone="'.$params['owner_phone'].'" and house_type=2', OBJECT);
        if(!$res){
            $houseId = InsertDao::insert_tospur_house($params);

            InsertDao::addMainImage($houseId,$data);

            InsertDao::addRecommend($houseId,$data);

            InsertDao::addRecConsultant($houseId,$data);

            InsertDao::addHouseTag($_POST['mark'],$houseId);
        }else{
            return 508;
        }
        return 200;
    }


    public static function data_update($houseId,$params){
        global $wpdb;
        $data = $_POST["data"];
        $res = $wpdb->update(Config::TOSPUR_HOUSE_TABLE,$params,array("id" => $houseId));
        $result = 202;

        InsertDao::addMainImage($houseId,$data);
        $exists_photo_ids = array();
        if(isset($_POST['exists_photo'])){
            foreach($_POST['exists_photo'] as $id => $item){
                $wpdb->update(Config::TOSPUR_IMAGE_TABLE,array(
                    "image_type" => $item['type'],
                ),array("id" => $id));
                $exists_photo_ids[] = $id;
            }
        }
        $old_exists_photo_ids = explode(",",$_POST['exists_photo_ids']);
        $delete_photo_ids = array();
        foreach(array_diff($old_exists_photo_ids,$exists_photo_ids) as $key => $id){
            $delete_photo_ids[] = $id;
        }
        $delete_photo_ids = implode(",",$delete_photo_ids);
        $wpdb->query("delete from ".Config::A_HOUSE_IMAGE_TABLE." where house_id = {$houseId} and image_id in ({$delete_photo_ids});");

        $wpdb->delete(Config::A_HOUSE_RECOMMEND_TABLE,array("house_id" => $houseId));
        InsertDao::addRecommend($houseId,$data);

        $wpdb->delete(Config::A_HOUSE_USER_TABLE,array("house_id" => $houseId));
        InsertDao::addRecConsultant($houseId,$data);

        InsertDao::addHouseTag($_POST['mark'],$houseId);
        return $result;
    }
}

