NhController.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace manager\controllers;
  3. use \app\models\Nh;
  4. use \app\models\Kd;
  5. use \app\models\News;
  6. use Yii;
  7. class NhController extends BaseController
  8. {
  9. public function actionIndex()
  10. {
  11. $model = new Kd();
  12. $modelnh = new Nh();
  13. return $this->render('/kd/nh', ['model' => $model,'modelnh' => $modelnh]);
  14. }
  15. public function actionFix($id)
  16. {
  17. $model = new Kd();
  18. $modelnh = new Nh();
  19. $nmodel = News::findone($id);
  20. if( $nmodel->NH == 'Y' ){
  21. $nmodel->NH($id,'F');
  22. }else{
  23. $nmodel->NH($id,'Y');
  24. }
  25. return $this->render('/kd/nh', ['model' => $model,'modelnh' => $modelnh]);
  26. }
  27. public function actionDel($id)
  28. {
  29. $model = new Kd();
  30. $modelnh = new Nh();
  31. $nmodel = News::findone($id);
  32. $nmodel->NH($id,'N');
  33. return $this->render('/kd/nh', ['model' => $model,'modelnh' => $modelnh]);
  34. }
  35. public function actionPreview()
  36. {
  37. $model = new Kd();
  38. $modelnh = new Nh();
  39. return $this->renderPartial('/kd/actionPreview', ['model' => $model,'modelnh' => $modelnh]);
  40. }
  41. public function actionSort()
  42. {
  43. if (isset($_GET['item']) && is_array($_GET['item'])) {
  44. $i = 0;
  45. $a = array();
  46. // beginTransaction(); было бы неплохо обернуть в транзакцию но хз как это сделать
  47. foreach ($_GET['item'] as $item) {
  48. if( $item > 0 ){
  49. $model = Nh::findone(['id'=>$item]);
  50. if($model == false){
  51. $model = new Nh();
  52. $model->id = $item;
  53. }
  54. $model->order = $i;
  55. $a[$model->id] = $i;
  56. // print_a($model);exit;
  57. $model->save(true, ['order','id']);
  58. }
  59. $i++;
  60. if( $i > 5 ) break;
  61. }
  62. return json_encode(['status'=>'ok','data'=>$a]);
  63. }
  64. return json_encode(['status'=>'err']);
  65. }
  66. }