Advertisement
febripratama

ApiC

Aug 12th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.63 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. use Illuminate\Http\Request;
  6.  
  7. use App\Sip_ref_activity;
  8. use App\Sip_ref_form;
  9. use App\Sip_ref_sub_form;
  10. use App\Sip_ref_column;
  11. use App\Sip_ref_row;
  12. use App\Sip_trx_row_value;
  13. use App\Sip_trx_form_value;
  14. use App\Sip_trx_form_submission;
  15.  
  16. class ApiController extends Controller
  17. {
  18.    
  19.     public function formValueApi($id,$form,$submission)
  20.     {  
  21.                
  22.         $subs = Sip_ref_form::find($form)->subs;
  23.  
  24.         foreach($subs as $sub){
  25.            
  26.             // get row
  27.             $tmpRows = $sub->rows()->where('sip_ref_rows_type_row','row')->get();
  28.  
  29.             foreach($tmpRows as $row){
  30.                
  31.                 //get row columns
  32.                 $tmpCodes = $row->codes;
  33.                
  34.                 foreach($tmpCodes as $code){
  35.  
  36.                     $code['value'] = Sip_trx_form_value::where('sip_trx_form_values_code',$code->sip_trx_row_values_code)->where('sip_trx_form_values_submission_id',$submission)->first();
  37.  
  38.                 }  
  39.                                              
  40.                 $row['values'] = $tmpCodes;
  41.                
  42.                 unset($row['codes']);
  43.  
  44.             }
  45.  
  46.             $sub['rows'] = $tmpRows;
  47.  
  48.         }
  49.  
  50.         return $subs;
  51.     }
  52.  
  53.     public function paramsIndexApi($id,$sub)
  54.     {  
  55.                
  56.         $subs = Sip_ref_form::find($sub)->subs;
  57.  
  58.         foreach($subs as $sub){
  59.            
  60.             //groups
  61.             $groups = $sub->rows()->where('sip_ref_rows_type_row','group')->get();
  62.  
  63.             foreach($groups as $group){
  64.                
  65.                 //get columns
  66.                 $group->groupcolumns;
  67.  
  68.                 //get rows
  69.                 $grouprows = $group->grouprows()->where('sip_ref_rows_type_parent','parent')->with('codes')->get();
  70.  
  71.                 // get rows children
  72.                 foreach($grouprows as $gr){
  73.                    
  74.                     $gr['children'] = $gr->children()->with('codes')->get();
  75.  
  76.                 }
  77.  
  78.                 $group['grouprows'] = $grouprows;
  79.  
  80.             }
  81.  
  82.             $sub['tables'] = $groups;
  83.         }
  84.  
  85.         return $subs;
  86.     }
  87.  
  88.     public function activityListApi()
  89.     {  
  90.         return Sip_ref_activity::all();
  91.     }
  92.  
  93.     public function formListApi($id)
  94.     {  
  95.        
  96.         return Sip_ref_activity::find($id)->forms;
  97.     }
  98.  
  99.     public function subformIndexApi($id,$sub)
  100.     {  
  101.        
  102.         return Sip_ref_form::find($id)->subs;
  103.  
  104.     }
  105.  
  106.     public function paramsStoreApi($id, Request $request)
  107.     {  
  108.         // check form
  109.         $form = Sip_ref_form::find($id);
  110.  
  111.         if(!is_object($form)){
  112.             return array('status' => false, 'code' => 500, 'message' => 'Data not found');
  113.         }
  114.  
  115.         // input submission
  116.         $input = array(
  117.            
  118.             'sip_trx_form_submission_user_id' => $request->input('by'),
  119.             'sip_trx_form_submission_form_id' => $id
  120.            
  121.             );
  122.  
  123.         $submission = Sip_trx_form_submission::create($input);
  124.  
  125.         foreach($request->all() as $key => $req){
  126.  
  127.             if($req !== 'by'){
  128.    
  129.                 $input = array(
  130.                     'sip_trx_form_values_value_string' => $req,
  131.                     'sip_trx_form_values_code' => $key,
  132.                     'sip_trx_form_values_submission_id' => $submission->sip_trx_form_submission_id,
  133.                     'sip_trx_form_values_form_id' => $id
  134.                     );
  135.  
  136.                 Sip_trx_form_value::create($input);                
  137.    
  138.             }
  139.  
  140.         }
  141.  
  142.         return array('message' => 'Ok');
  143.     }
  144.  
  145. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement