Advertisement
joris

Controlller With Save Looping

Oct 10th, 2017
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.68 KB | None | 0 0
  1. <?php
  2.  
  3. class DistributionplanController extends Controller
  4. {
  5.  
  6.     public $layout='//layouts/new';
  7.  
  8.     public function filters()
  9.     {
  10.         return array(
  11.             array('application.components.CheckAuthFilter -error createbypo,upload,ambilplan,ambilic,ambildefault,ambilpackage,ambiladditional,ambilassetmap,matchdata'),
  12.             'postOnly + delete', // we only allow deletion via POST request
  13.         );
  14.     }
  15.  
  16.  
  17.  
  18.     public function actionView($id)
  19.     {
  20.         $this->render('view',array(
  21.             'model'=>$this->loadModel($id),
  22.         ));
  23.     }
  24.  
  25.  
  26.     public function actionCreate()
  27.     {
  28.         $baseUrl = Yii::app()->baseUrl;
  29.         $cs = Yii::app()->getClientScript();
  30.         $cs->registerScriptFile($baseUrl.'/css/spinedit/js/bootstrap-spinedit.js');
  31.         $cs->registerCssFile($baseUrl.'/css/spinedit/css/bootstrap-spinedit.css');
  32.  
  33.         $model=new DistributionPlan;
  34.  
  35.         // $this->performAjaxValidation($model);
  36.  
  37.         if(isset($_POST['DistributionPlan']))
  38.         {
  39.             $model->attributes=$_POST['DistributionPlan'];
  40.            
  41.             if($model->save()){
  42.                 foreach ($_POST['rows'] as $key => $count ){
  43.                     if(trim($_POST['data1_'.$count]) != ""){
  44.                         if(is_numeric(trim($_POST['data1_'.$count]))){
  45.                             if(intval($_POST['data1_'.$count]) == 1){
  46.                                 $ins = new DistributionPackageMap;
  47.                                 $ins->distribution_id   = $model->primaryKey;
  48.                                 $ins->package_list_id   = $_POST['data2_'.$count];
  49.                                 $ins->count_of_k        = $_POST['data4_'.$count];
  50.                                 $ins->count_of_i        = $_POST['data5_'.$count];
  51.                                 $ins->save();
  52.                             }elseif(intval($_POST['data1_'.$count]) == 2){
  53.                                 $ins = new DistributionAdditionalAssetMap;
  54.                                 $ins->distribution_id       = $model->primaryKey;
  55.                                 $ins->additional_asset_id   = $_POST['data2_'.$count];
  56.                                 $ins->count_of_k            = $_POST['data4_'.$count];
  57.                                 $ins->count_of_i            = $_POST['data5_'.$count];
  58.                                 $ins->save();
  59.                             }
  60.                         }
  61.                     }
  62.                 }
  63.                 $this->redirect('index');
  64.             }
  65.         }
  66.  
  67.         $this->render('create',array(
  68.             'model'=>$model,
  69.         ));
  70.     }
  71.  
  72.  
  73.     public function actionUpdate($id)
  74.     {
  75.         $model=$this->loadModel($id);
  76.  
  77.         // $this->performAjaxValidation($model);
  78.  
  79.         if(isset($_POST['DistributionPlan']))
  80.         {
  81.             $model->attributes=$_POST['DistributionPlan'];
  82.             if($model->save())
  83.                 //$this->redirect(array('view','id'=>$model->id));
  84.                  $this->redirect('index');
  85.         }
  86.  
  87.         $this->render('update',array(
  88.             'model'=>$model,
  89.         ));
  90.     }
  91.  
  92.  
  93.     public function actionDelete($id)
  94.     {
  95.         $this->loadModel($id)->delete();
  96.  
  97.         // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
  98.         if(!isset($_GET['ajax']))
  99.             $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
  100.     }
  101.  
  102.  
  103.     public function actionIndex()
  104.     {
  105.         $dataProvider=new CActiveDataProvider('DistributionPlan');
  106.         $this->render('index',array(
  107.             'dataProvider'=>$dataProvider,
  108.         ));
  109.     }
  110.  
  111.  
  112.     public function actionAdmin()
  113.     {
  114.         $model=new DistributionPlan('search');
  115.         $model->unsetAttributes();  // clear any default values
  116.         if(isset($_GET['DistributionPlan']))
  117.             $model->attributes=$_GET['DistributionPlan'];
  118.  
  119.         $this->render('admin',array(
  120.             'model'=>$model,
  121.         ));
  122.     }
  123.  
  124.  
  125.     public function loadModel($id)
  126.     {
  127.         $model=DistributionPlan::model()->findByPk($id);
  128.         if($model===null)
  129.             throw new CHttpException(404,'The requested page does not exist.');
  130.         return $model;
  131.     }
  132.    
  133.    
  134.     public function actionAmbilplan()
  135.     {
  136.         $sql = "SELECT sys_generate_distribution_plan_number() AS distnumb FROM DUAL";
  137.         $connection=Yii::app()->db;
  138.         $command=$connection->createCommand($sql);
  139.         $dataReader=$command->queryAll();
  140.         echo CJSON::encode($dataReader);
  141.     }
  142.    
  143.    
  144.     public function actionAmbilic()
  145.     {
  146.         $id = $_POST['regid'];
  147.         $sql = "SELECT id,partner_name,region FROM t_partner WHERE published=1 AND activate=1 AND is_system=0 AND region=:id";
  148.         $connection=Yii::app()->db;
  149.         $command=$connection->createCommand($sql);
  150.         $command->bindParam(":id",$id,PDO::PARAM_STR);
  151.         $dataReader=$command->queryAll();
  152.         echo CJSON::encode($dataReader);
  153.     }
  154.    
  155.    
  156.     public function actionAmbildefault()
  157.     {
  158.         $sql = "SELECT * FROM t_distribution_item_type WHERE published=1 AND activate=1";
  159.         $connection=Yii::app()->db;
  160.         $command=$connection->createCommand($sql);
  161.         $dataReader=$command->queryAll();
  162.         echo CJSON::encode($dataReader);
  163.     }
  164.    
  165.    
  166.     public function actionAmbilpackage()
  167.     {
  168.         $sql = "SELECT * FROM t_package WHERE package_status=2 AND published=1 AND activate=1 AND is_system=0";
  169.         $connection=Yii::app()->db;
  170.         $command=$connection->createCommand($sql);
  171.         $dataReader=$command->queryAll();
  172.         echo CJSON::encode($dataReader);
  173.     }
  174.    
  175.    
  176.     public function actionAmbiladditional()
  177.     {
  178.         $sql = "SELECT * FROM t_additional_assets WHERE published=1 AND activate=1";
  179.         $connection=Yii::app()->db;
  180.         $command=$connection->createCommand($sql);
  181.         $dataReader=$command->queryAll();
  182.         echo CJSON::encode($dataReader);
  183.     }
  184.    
  185.    
  186.     public function actionAmbilassetmap()
  187.     {
  188.         $data = $_POST['id'];
  189.         $sql = "SELECT count(id) as total FROM t_package_asset_map WHERE package_id=:id";
  190.         $connection=Yii::app()->db;
  191.         $command=$connection->createCommand($sql);
  192.         $command->bindParam(":id",$data,PDO::PARAM_STR);
  193.         $dataReader=$command->queryAll();
  194.         echo CJSON::encode($dataReader);
  195.     }
  196.    
  197.    
  198.     public function actionMatchdata()
  199.     {
  200.         $sql = "SELECT * FROM t_region WHERE id=".Yii::app()->user->idregion()." LIMIT 0,1";
  201.         $connection=Yii::app()->db;
  202.         $command=$connection->createCommand($sql);
  203.         $dataReader=$command->queryAll();
  204.         echo CJSON::encode($dataReader);
  205.     }
  206.  
  207.  
  208.     protected function performAjaxValidation($model)
  209.     {
  210.         if(isset($_POST['ajax']) && $_POST['ajax']==='distribution-plan-form')
  211.         {
  212.             echo CActiveForm::validate($model);
  213.             Yii::app()->end();
  214.         }
  215.     }
  216. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement