<?php
/**
 * Created by PhpStorm.
 * User: xiaofeng
 * Date: 2018/3/13
 * Time: 上午8:46
 * 资讯,奇葩说
 **/
namespace backend\controllers;
use backend\base\CommonController;
use common\models\NewsKnowledge;
use common\models\NewKnowledgelabel;
use backend\base\Help;
use backend\server\UploadFile;
use backend\server\SetUploadImg;
use Yii;
use yii\helpers\ArrayHelper;
use linslin\yii2\curl;
class NewsknowledgeController extends CommonController
{

    public function actionHome()
    {
        return $this->render('@app/views/news/knowledge.php');
    }

    public function actionHomeform()
    {
           $model = new NewsKnowledge();
           $input = Yii::$app->request->post();
           if( ArrayHelper::keyExists('name',$input))
           {
               $model->subject = $input['name'];
           }

            if( ArrayHelper::keyExists('city',$input))
            {
                $m = new NewKnowledgelabel();
                $r = $m->FatherOrSon($input['city']);

                if(!empty($r) && isset($r[0]))
                {
                    $model->label_id = array_column($r,'id');
                }
                else
                {
                    $model->label_id = $input['city'];
                }
            }

            if( ArrayHelper::keyExists('id',$input))
            {
                $model->id = $input['id'];
            }


            $rows = $model->getList($input,
               ['pfg_new_knowledgelabel.name','pfg_news_knowledge.subject','pfg_news_knowledge.is_show','pfg_news_knowledge.id','pfg_news_knowledge.sort','pfg_news_knowledge.clicks','pfg_news_knowledge.true_click','pfg_news_knowledge.create_at','pfg_news_knowledge.label_id']
               ,3);
           if(!empty($rows))
           {
               foreach ($rows as &$val)
               {
                   $val['create_at'] = date('Y-m-d',$val['create_at']);
               }
               return Help::JsonData(0,Yii::t('app','get_success'),$model->getListTotal(),$rows);
           }
               return Help::JsonCode(Help::ERROR,Yii::t('app','get_error'),[]);
    }

    public function actionEdit()
    {
        $input = Yii::$app->request->get();
        $model = new NewsKnowledge();
        $row = $model->FindById($input['id']);
        $row['thumb'] = json_decode($row['thumb'],true);
        $label = new NewKnowledgelabel();
        $label = $label->FindById($row['label_id']);
        $parentlabel = $label->FindById($label['pid']);
        return $this->render('@app/views/news/knowledgeedit.php',['model'=>$row,'label'=>$label,'parentlabel'=>$parentlabel]);
    }

    public function actionEditfrom()
    {
        $input = Yii::$app->request->post();
        $model = new NewsKnowledge();
        $row = $model->FindById($input['id']);
        if(empty($row))    return Help::JsonCode(Help::ERROR,Yii::t('app','edit_success'));
        $thumb = json_decode($row['thumb'],true);
        $url = Yii::$app->params['img_url']['newsknowledge'];

        $imgArr = \backend\server\UploadFile::InstancesImgName('img',$url);

        if(empty($input['label_id']) && ArrayHelper::keyExists('type_id',$input) )
        {
            $input['label_id'] = $input['type_id'];
        }

        //需要删除的图片
        if(!empty($input['delimg']))
        {
            $arrImg = array_diff($thumb,$input['delimg']);  //需要保留的数组  如果删除全部图片 返回空数组

            $input['thumb'] = json_encode($arrImg);
            if(empty($arrImg) && !is_array($imgArr))
            {
                return Help::JsonCode(Help::ERROR,'检测到你删除了所有图片,请从新上传图片!');
            }

            foreach ($input['delimg'] as $val)
            {
                UploadFile::delImg($url,$val);
            }
        }

        if(is_array($imgArr))
        {
            //处理水印
            if(Yii::$app->request->post('thumb_watermark') == 1 )
            {
                $ImgSet = new SetUploadImg();
                $ImgSet->SetImgWatermark($imgArr,$url);
            }
            $input['thumb'] = json_encode(ArrayHelper::merge($imgArr,(array) $arrImg));
        }
        if( $row->load($input,'') && $row->save())  return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));

        return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'),$row->errors);

    }

    public function actionCreate()
    {
        return $this->render('@app/views/news/knowledgeadd.php');
    }

    public function actionCreateform()
    {
        //处理图片
        $url = Yii::$app->params['img_url']['newsknowledge'];
        $row = \backend\server\UploadFile::InstancesImgName('img',$url);
        if(is_array($row))
        {
            $model = new NewsKnowledge();
            $input = Yii::$app->request->post();
            $model->scenario = 'add';
            $input['accountability'] = Yii::$app->session['user_info']['uid'];
            $input['thumb'] = json_encode($row);
            if($model->load($input,'') && $model->save())
            {
                //处理水印
                if(Yii::$app->request->post('thumb_watermark') == 1 )
                {
                    $ImgSet = new SetUploadImg();
                    $ImgSet->SetImgWatermark($row,$url);
                }
                return Help::JsonCode(Help::SUCCESS,Yii::t('app','add_success'));
            }
            foreach ($row as $val)
            {
                UploadFile::delImg($url,$val);
            }
            return Help::JsonCode(Help::ERROR,Yii::t('app','add_error'),$model->errors);


        }
            return Help::JsonCode(Help::ERROR,$row);
    }

    public function actionDels()
    {
        $input = Yii::$app->request->post();
        if(!empty($input['id']) && is_array($input))
        {
          $result =  NewsKnowledge::updateAll(['del'=>2],['id'=>$input['id']]);
          if($result >0)return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));
        }
                        return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'));
    }

// 分词
    public function actionParticiple()
    {
        $title=Yii::$app->request->post();
        $result['data']=$title['title'];
        $result['ignore']='yes';
        $curl = new curl\Curl();
        $url='http://www.xunsearch.com/scws/api.php';
        $response = $curl->reset()->setOption(CURLOPT_POSTFIELDS,http_build_query($result))->post($url);
        $response=unserialize($response);
        $arr=array();
        foreach($response['words'] as $k=>$v){
            if(strlen($v['word']) > 4){
                 $arr[]=$v;
            }
        }
        if(!empty($arr) && count($arr) > 4)
        {
            $num=array_rand($arr,5);
            foreach($num as $k1=>$v1)
            {
                $rand_arr[]=$arr[$v1];
                
            }
            return Help::JsonCode(Help::SUCCESS,'成功',$rand_arr);
        }
        return Help::JsonCode(Help::SUCCESS,'成功',$arr);
    }
}