NewsknowledgeController.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: xiaofeng
  5. * Date: 2018/3/13
  6. * Time: 上午8:46
  7. * 资讯,奇葩说
  8. **/
  9. namespace backend\controllers;
  10. use backend\base\CommonController;
  11. use common\models\NewsKnowledge;
  12. use common\models\NewKnowledgelabel;
  13. use backend\base\Help;
  14. use backend\server\UploadFile;
  15. use backend\server\SetUploadImg;
  16. use Yii;
  17. use yii\helpers\ArrayHelper;
  18. use linslin\yii2\curl;
  19. class NewsknowledgeController extends CommonController
  20. {
  21. public function actionHome()
  22. {
  23. return $this->render('@app/views/news/knowledge.php');
  24. }
  25. public function actionHomeform()
  26. {
  27. $model = new NewsKnowledge();
  28. $input = Yii::$app->request->post();
  29. if( ArrayHelper::keyExists('name',$input))
  30. {
  31. $model->subject = $input['name'];
  32. }
  33. if( ArrayHelper::keyExists('city',$input))
  34. {
  35. $m = new NewKnowledgelabel();
  36. $r = $m->FatherOrSon($input['city']);
  37. if(!empty($r) && isset($r[0]))
  38. {
  39. $model->label_id = array_column($r,'id');
  40. }
  41. else
  42. {
  43. $model->label_id = $input['city'];
  44. }
  45. }
  46. if( ArrayHelper::keyExists('id',$input))
  47. {
  48. $model->id = $input['id'];
  49. }
  50. $rows = $model->getList($input,
  51. ['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']
  52. ,3);
  53. if(!empty($rows))
  54. {
  55. foreach ($rows as &$val)
  56. {
  57. $val['create_at'] = date('Y-m-d',$val['create_at']);
  58. }
  59. return Help::JsonData(0,Yii::t('app','get_success'),$model->getListTotal(),$rows);
  60. }
  61. return Help::JsonCode(Help::ERROR,Yii::t('app','get_error'),[]);
  62. }
  63. public function actionEdit()
  64. {
  65. $input = Yii::$app->request->get();
  66. $model = new NewsKnowledge();
  67. $row = $model->FindById($input['id']);
  68. $row['thumb'] = json_decode($row['thumb'],true);
  69. $label = new NewKnowledgelabel();
  70. $label = $label->FindById($row['label_id']);
  71. $parentlabel = $label->FindById($label['pid']);
  72. return $this->render('@app/views/news/knowledgeedit.php',['model'=>$row,'label'=>$label,'parentlabel'=>$parentlabel]);
  73. }
  74. public function actionEditfrom()
  75. {
  76. $input = Yii::$app->request->post();
  77. $model = new NewsKnowledge();
  78. $row = $model->FindById($input['id']);
  79. if(empty($row)) return Help::JsonCode(Help::ERROR,Yii::t('app','edit_success'));
  80. $thumb = json_decode($row['thumb'],true);
  81. $url = Yii::$app->params['img_url']['newsknowledge'];
  82. $imgArr = \backend\server\UploadFile::InstancesImgName('img',$url);
  83. if(empty($input['label_id']) && ArrayHelper::keyExists('type_id',$input) )
  84. {
  85. $input['label_id'] = $input['type_id'];
  86. }
  87. //需要删除的图片
  88. if(!empty($input['delimg']))
  89. {
  90. $arrImg = array_diff($thumb,$input['delimg']); //需要保留的数组 如果删除全部图片 返回空数组
  91. $input['thumb'] = json_encode($arrImg);
  92. if(empty($arrImg) && !is_array($imgArr))
  93. {
  94. return Help::JsonCode(Help::ERROR,'检测到你删除了所有图片,请从新上传图片!');
  95. }
  96. foreach ($input['delimg'] as $val)
  97. {
  98. UploadFile::delImg($url,$val);
  99. }
  100. }
  101. if(is_array($imgArr))
  102. {
  103. //处理水印
  104. if(Yii::$app->request->post('thumb_watermark') == 1 )
  105. {
  106. $ImgSet = new SetUploadImg();
  107. $ImgSet->SetImgWatermark($imgArr,$url);
  108. }
  109. $input['thumb'] = json_encode(ArrayHelper::merge($imgArr,(array) $arrImg));
  110. }
  111. if( $row->load($input,'') && $row->save()) return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));
  112. return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'),$row->errors);
  113. }
  114. public function actionCreate()
  115. {
  116. return $this->render('@app/views/news/knowledgeadd.php');
  117. }
  118. public function actionCreateform()
  119. {
  120. //处理图片
  121. $url = Yii::$app->params['img_url']['newsknowledge'];
  122. $row = \backend\server\UploadFile::InstancesImgName('img',$url);
  123. if(is_array($row))
  124. {
  125. $model = new NewsKnowledge();
  126. $input = Yii::$app->request->post();
  127. $model->scenario = 'add';
  128. $input['accountability'] = Yii::$app->session['user_info']['uid'];
  129. $input['thumb'] = json_encode($row);
  130. if($model->load($input,'') && $model->save())
  131. {
  132. //处理水印
  133. if(Yii::$app->request->post('thumb_watermark') == 1 )
  134. {
  135. $ImgSet = new SetUploadImg();
  136. $ImgSet->SetImgWatermark($row,$url);
  137. }
  138. return Help::JsonCode(Help::SUCCESS,Yii::t('app','add_success'));
  139. }
  140. foreach ($row as $val)
  141. {
  142. UploadFile::delImg($url,$val);
  143. }
  144. return Help::JsonCode(Help::ERROR,Yii::t('app','add_error'),$model->errors);
  145. }
  146. return Help::JsonCode(Help::ERROR,$row);
  147. }
  148. public function actionDels()
  149. {
  150. $input = Yii::$app->request->post();
  151. if(!empty($input['id']) && is_array($input))
  152. {
  153. $result = NewsKnowledge::updateAll(['del'=>2],['id'=>$input['id']]);
  154. if($result >0)return Help::JsonCode(Help::SUCCESS,Yii::t('app','edit_success'));
  155. }
  156. return Help::JsonCode(Help::ERROR,Yii::t('app','edit_error'));
  157. }
  158. // 分词
  159. public function actionParticiple()
  160. {
  161. $title=Yii::$app->request->post();
  162. $result['data']=$title['title'];
  163. $result['ignore']='yes';
  164. $curl = new curl\Curl();
  165. $url='http://www.xunsearch.com/scws/api.php';
  166. $response = $curl->reset()->setOption(CURLOPT_POSTFIELDS,http_build_query($result))->post($url);
  167. $response=unserialize($response);
  168. $arr=array();
  169. foreach($response['words'] as $k=>$v){
  170. if(strlen($v['word']) > 4){
  171. $arr[]=$v;
  172. }
  173. }
  174. if(!empty($arr) && count($arr) > 4)
  175. {
  176. $num=array_rand($arr,5);
  177. foreach($num as $k1=>$v1)
  178. {
  179. $rand_arr[]=$arr[$v1];
  180. }
  181. return Help::JsonCode(Help::SUCCESS,'成功',$rand_arr);
  182. }
  183. return Help::JsonCode(Help::SUCCESS,'成功',$arr);
  184. }
  185. }