Guest User

Untitled

a guest
Oct 13th, 2021
61
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. namespace App\Controllers;
  4. use App\Models\Ajoutservice;
  5. use App\Models\UserModel;
  6. use App\Models\ImageModel;
  7. use App\Models\AvisModel;
  8. use App\Models\CommandeModel;
  9.  
  10. class Services extends BaseController
  11. {
  12.     public function index()
  13.     {
  14.         $id = session('userid');
  15.         $model = new UserModel();
  16.         $user = $model->find($id);
  17.         if($user){
  18.             $data = [
  19.                 'username' => $user['username'],
  20.                 'nom' => $user['nom'],
  21.                 'prenom' => $user['prenom'],
  22.                 'date_naissance' => $user['date_naissance'],
  23.                 'num_telephone_perso' => $user['num_tel_perso'],
  24.                 'num_telephone_pro' => $user['num_tel_pro'],
  25.                 'email' => $user['email'],
  26.                 'profile_img_url' => $user['profile_image_url'],
  27.                 'nombre_services' => $user['nombre_services'],
  28.                
  29.             ];
  30.         }
  31.  
  32.  
  33.    
  34.        
  35.          $db = db_connect();
  36.          $model = new Ajoutservice($db);
  37.          $result = $model->where1(session('userid'));
  38.         $data['results']    = $result; 
  39.  
  40.        
  41.  
  42.         $services_id = $model->select('id_service')->where('id_fournisseur', session('userid'))->get()->getResultArray();
  43.        
  44.  
  45.         $db      = \Config\Database::connect();
  46.         $builder = $db->table('images');
  47.        
  48.         return view('services',$data);
  49.  
  50.  
  51.  
  52.        
  53.        
  54.     }
  55.  
  56.     public function ajout()
  57.     {
  58.         $db = db_connect();
  59.         $data = [];
  60.         helper(['form']);
  61.  
  62.         $id = session('userid');
  63.         $model = new UserModel();
  64.         $user = $model->find($id);
  65.         if($user){
  66.             $data = [
  67.                 'username' => $user['username'],
  68.                 'nom' => $user['nom'],
  69.                 'prenom' => $user['prenom'],
  70.                 'profile_img_url' => $user['profile_image_url'],
  71.             ];
  72.         }
  73.  
  74.        
  75.        
  76.         if($this->request->getMethod() == 'post'){
  77.            
  78.  
  79.            
  80.                 $model = new Ajoutservice($db);
  81.                 $model1 = new UserModel();
  82.  
  83.            
  84.                
  85.  
  86.                 $newData = [
  87.                     'titre' => $this->request->getVar('titre'),
  88.                     'description' => $this->request->getVar('description'),
  89.                     'tarif' => $this->request->getVar('tarif'),
  90.                     'duree_delivration' => $this->request->getVar('duree'),
  91.                     'duree_validite' => $this->request->getVar('dureevalidite'),
  92.                     'categorie' => $this->request->getVar('categorie'),
  93.                     'id_fournisseur' => session('userid'),
  94.                    
  95.                    
  96.                    
  97.                 ];
  98.                 $model->insert($newData);
  99.                 $serviceID = $model->getInsertID();
  100.  
  101.                
  102.  
  103.                 if($image = $this->request->getFiles())
  104.                     {
  105.                    
  106.                         foreach($image['images'] as $img)
  107.                         {
  108.                         if ($img->isValid() && ! $img->hasMoved())
  109.                         {
  110.                                 $model = new ImageModel();
  111.                                
  112.                                 $newName = $img->getRandomName();
  113.                                 $img->move('uploads/images', $newName);
  114.                                 $path ='uploads/images/'.$newName;
  115.                                 $imgData = [
  116.                                     'url' => $path,
  117.                                     'uploaded_by' => session('userid'),
  118.                                     'service_id' => $serviceID,
  119.                                    
  120.                                 ];
  121.                                    
  122.  
  123.                                 $model->save($imgData);
  124.                         }
  125.                         }
  126.                        
  127.                    
  128.                     }
  129.  
  130.                    
  131.  
  132.  
  133.                    
  134.                 session()->setFlashdata('success', 'Service ajouter avec succés !');
  135.                 return redirect()->to('/dashboard');
  136.                
  137.  
  138.            
  139.         }
  140.         return view('ajoutservice',$data);
  141.     }
  142.  
  143.     public function delete($id){
  144.         $db = db_connect();
  145.         $service = new Ajoutservice($db);
  146.         $service->delete($id);
  147.         session()->setFlashdata('success', 'Service supprimer avec succés !');
  148.         return redirect()->to('/Services');
  149.  
  150.  
  151.     }
  152.  
  153.     public function update(){
  154.        
  155.     }
  156.  
  157.     public function recherche(){
  158.         helper(['form']);
  159.         $db = db_connect();
  160.  
  161.             $id = session('userid');
  162.             $model = new UserModel();
  163.             $user = $model->find($id);
  164.            
  165.             $data = [
  166.                
  167.                
  168.             ];
  169.  
  170.        
  171.  
  172.  
  173.         if($this->request->getMethod() == 'post'){
  174.  
  175.  
  176.            
  177.             $model1 = new Ajoutservice($db);           
  178.        
  179.  
  180.             $wilaya = $this->request->getVar('wilayas');
  181.             $daira = $this->request->getVar('dairas');
  182.             $commune = $this->request->getVar('communes');
  183.             $tarif = $this->request->getVar('tarif');
  184.             $categorie = $this->request->getVar('categories');
  185.  
  186.             $result = $model1->whereResearche($wilaya,$daira,$commune,$tarif,$categorie);
  187.             $data = [
  188.                 'username' => $user['username'],
  189.                 'nom' => $user['nom'],
  190.                 'prenom' => $user['prenom'],
  191.                 'date_naissance' => $user['date_naissance'],
  192.                 'num_telephone_perso' => $user['num_tel_perso'],
  193.                 'wilaya' => $user['wilaya'],
  194.                 'daira' => $user['daira'],
  195.                 'commune' => $user['commune'],
  196.                 'codepostale' => $user['code_postal'],
  197.                 'email' => $user['email'],
  198.                 'profile_img_url' => $user['profile_image_url'],
  199.                 'results' => $result,
  200.                
  201.             ];
  202.            
  203.  
  204.             return view ('clientDashboardView',$data);
  205.         }
  206.  
  207.         return view ('clientDashboardView',$data);
  208.     }
  209.  
  210.     public static function consulter($id){
  211.         $db = db_connect();
  212.         $db      = \Config\Database::connect();
  213.         $model = new Ajoutservice($db);    
  214.         $service = $model->find($id);
  215.  
  216.         $builder = $db->table('users');
  217.         $fournisseur = $builder->where('id', $service['id_fournisseur'])->get()->getResultArray();
  218.         print_r($service);
  219.         print_r($fournisseur);
  220.        
  221.        
  222.         $builder = $db->table('images');
  223.         $images = $builder->select('url')->where('uploaded_by',$fournisseur[0]['id'])->get()->getResultArray();
  224.         print_r($images);
  225.         /* $imagesModel = new ImageModel($db);
  226.         $images = $imagesModel->where('uploaded_by', $fournisseur['id'])->get()->getResultArray(); */
  227.        
  228.         /* avis infos */
  229.         $avisModel = new AvisModel();
  230.         $avis = $avisModel->where($id);
  231.  
  232.         $usersid = [];
  233.         $opinions = [];
  234.         $i = 0;
  235.         if(!empty($avis)){
  236.             foreach($avis as $row){
  237.                 $uname = $model1->userinfo($row['user_id'])[0]['username'];
  238.                 $opinions[$i] = $row;
  239.                 $opinions[$i]['username'] =$uname;
  240.                 $i++;
  241.                 //print_r($row['username']);
  242.                 //$userinfo [] = $model1->userinfo($row['user_id']); //stock le resultat dans une variable
  243.                
  244.             }
  245.            
  246.         }else $usersinfo = [];     
  247.  
  248.         $fournisseurData = [
  249.             'id' => $fournisseur[0]['id'],
  250.             'username' =>  $fournisseur[0]['username'],
  251.             'nom' =>  $fournisseur[0]['nom'],
  252.             'prenom' =>  $fournisseur[0]['prenom'],
  253.             'date_naissance' => $fournisseur[0]['date_naissance'],
  254.             'num_telephone_perso' =>  $fournisseur[0]['num_tel_perso'],
  255.             'wilaya' =>  $fournisseur[0]['wilaya'],
  256.             'daira' =>  $fournisseur[0]['daira'],
  257.             'commune' =>  $fournisseur[0]['commune'],
  258.             'codepostale' => $fournisseur[0]['code_postal'],
  259.             'email' =>  $fournisseur[0]['email'],
  260.             'profile_img_url' =>  $fournisseur[0]['profile_image_url'],
  261.         ];     
  262.        
  263.          
  264.  
  265.         $data = [
  266.                
  267.             'fournisseurData' => $fournisseurData,
  268.             'titre' => $service['titre'],
  269.             'description' => $service['description'],
  270.             'tarif' => $service['tarif'],
  271.             'duree_delivration' => $service['duree_delivration'],
  272.             'date_mise_enligne' => $service['date_mise_enligne'],
  273.             'categorie' => $service['categorie'],
  274.             'serviceid' => $id,
  275.             'avis' => $opinions,
  276.             'images' => $images,
  277.            
  278.         ];
  279.        
  280.        
  281.         return view('servicePage', $data);
  282.         print "<pre>";
  283.         print_r($images[0]['url']);
  284.         print "</pre>";
  285.     }
  286.  
  287.     public static function serviceData($id) {
  288.         $db = db_connect();
  289.         $model = new Ajoutservice($db);    
  290.         $service = $model->find($id);
  291.         $model1 = new UserModel();
  292.         $user = $model1->find($service['id_fournisseur']);
  293.        
  294.         $imagesModel = new ImageModel($db);
  295.         $images = $imagesModel->where($user['id']);
  296.  
  297.  
  298.        
  299.  
  300.        
  301.  
  302.        
  303.        
  304.         $data = [
  305.                
  306.             'username' => $user['username'],
  307.             'nom' => $user['nom'],
  308.             'prenom' => $user['prenom'],
  309.             'date_naissance' => $user['date_naissance'],
  310.             'num_telephone_perso' => $user['num_tel_perso'],
  311.             'wilaya' => $user['wilaya'],
  312.             'daira' => $user['daira'],
  313.             'commune' => $user['commune'],
  314.             'codepostale' => $user['code_postal'],
  315.             'email' => $user['email'],
  316.             'profile_img_url' => $user['profile_image_url'],
  317.             'titre' => $service['titre'],
  318.             'description' => $service['description'],
  319.             'tarif' => $service['tarif'],
  320.             'duree_delivration' => $service['duree_delivration'],
  321.             'date_mise_enligne' => $service['date_mise_enligne'],
  322.             'categorie' => $service['categorie'],
  323.             'images' => $images,
  324.             'serviceid' => $id,
  325.            
  326.            
  327.         ];
  328.  
  329.         return $data;
  330.     }
  331.  
  332.     public function commander($id) {
  333.         $session = session();
  334.         $cmndModel = new CommandeModel();
  335.         $db = db_connect();
  336.         $model = new Ajoutservice($db);    
  337.        
  338.         $data = [
  339.             'client_id' => session('userid'),
  340.             'fournisseur_id' => $model->find($id)['id_fournisseur'],
  341.             'service_id' => $id,
  342.             'statut_commande' => "false",
  343.         ];
  344.  
  345.  
  346.         $cmndModel->save($data);
  347.         $path = '/Services/consulter/'.$id;
  348.         //$session>setFlashdata('msg', 'succée');
  349.  
  350.         return redirect()->to($path);
  351.  
  352.        
  353.        
  354.     }
  355.  
  356.  
  357.    
  358.  
  359.    
  360.  
  361.    
  362. }
RAW Paste Data