By Angularjs

By | August 1st 2018 02:23:03 AM | viewed 91 times

RESTfull - Server Side CRUD Script in Laravel 5.0 by Angularjs

add the following route in app/Http/route.php

Route::get('service/glist/{limit}',['uses'=>'Web\WebserviceController@getGallaryAsJson', 'as'=>'service/glist/limit']); 
Route::get('service/gedit/{id}',['uses'=>'Web\WebserviceController@editGallaryAsJson', 'as'=>'service/gedit/id']); 
Route::put('service/gupdate',['uses'=>'Web\WebserviceController@postUpdateGallary', 'as'=>'service/gupdate']);
Route::post('service/gupdatebyajax',['uses'=>'Web\WebserviceController@postUpdateGallaryByAjax', 'as'=>'service/gupdatebyajax']); 
Route::post('service/ginsert',['uses'=>'Web\WebserviceController@inImage', 'as'=>'service/ginsert']); 
Route::post('service/ginsertbyajax',['uses'=>'Web\WebserviceController@inImageByAjax', 'as'=>'service/ginsertbyajax']); 
Route::delete('service/delete/{id}',['uses'=>'Web\WebserviceController@destroy', 'as'=>'service/delete/id']);

add a controller to operate CRUD operation as App/Http/Controllers/Web/WebserviceController.php

<?php namespace App\Http\Controllers\Web;
use Auth;
use Illuminate\Contracts\Auth\Guard;
use App\Http\Controllers\Controller;
use App\Models\Web\Web_Content;
use Illuminate\Http\Request;
use App\User;
use App;
use URL;
use App\Models\Web\WebImageGallery;
use App\Models\Web\Web_Section;
use App\Models\Web\Web_Category;
use Carbon\Carbon;
use DB;
use Illuminate\Support\Facades\Input;
use App\Services\Web\WebServices;
use Illuminate\Support\Facades\File;

class WebserviceController extends Controller {

        public function getGallaryAsJson(Request $request){
             $data = array();
             $location = URL::to('/').'/public/images/upload/gallery/';
            
            $limit = $request->route()->parameter('limit')?:'';         
            $userIns = WebImageGallery::orderBy('id','desc')
                       ->limit($limit)
                       ->get();
            foreach($userIns as $userI){
                    $basePath = null;
                    if($userI->web_section_id && $userI->web_category_id){                  
                       $basePath = $location.$userI->web_sections->section_name.'/'.$userI->web_categorys->category_name.'/';
                     }else{                   
                      $basePath = $location.$userI->web_sections->section_name.'/';  
                    }       
               $data[] = array(
                        'id'=>$userI->id,
                        'title'=>$userI->title,
                        'image'=>$basePath.$userI->thumb_path,
                       ); 
                }
            
            if($userIns) {
		       header('Content-type: application/json');
                return json_encode(array('posts'=>$data));
            }else{
               return json_encode(array('posts'=>"no data found"));  
            }

        }
        
        public function editGallaryAsJson(Request $request,$id){
            $userIns = WebImageGallery::find($id);
            if($userIns) {
		header('Content-type: application/json');
                return json_encode($userIns);
            }else{
               return json_encode(array('posts'=>"no data found"));  
            }
        }
        
        public function postUpdateGallary(Request $request){
            
           $id = $request->input('id');
           $insert =null;
           $galleryission = null;           
           $location = null;
           $fileObject = null;
           
           if($request->input('file_name')){
               $fileObject = new \Symfony\Component\HttpFoundation\File\UploadedFile($request->input('fup_ukmFile'),$request->input('file_name'),$request->input('type'),$request->input('size'),null,TRUE); 
           }
           //$fileObjectTT = new \Symfony\Component\HttpFoundation\File\UploadedFile('G:/image/one_and_all/shari/s1 - Copy - Copy.jpeg',$request->input('file_name'),$request->input('type'),$request->input('size'),null,TRUE);
           try{
  
            if ($request->input('id')) {
                     $location = base_path()."/public/images/upload/gallery/";
                            if($fileObject){
                                       if($request->input('web_section_id') && $request->input('web_category_id')){
                                        $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 
                                        $location = $location.DB::select("select * from web_categorys where id='".$request->input('web_category_id')."'")[0]->category_name."/"; 

                                             if(!File::exists($location)) {
                                                  File::makeDirectory($location, 0775, true);
                                              }

                                      }else{

                                          $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 

                                             if(!File::exists($location)) {
                                                  File::makeDirectory($location, 0775, true);
                                              }
                                      }
                            }                                                                                                          
                            $galleryission = WebImageGallery::find($id);
                            $galleryission->title = $request->input('fup_title');
                            
                            if($fileObject){
                               $galleryission->thumb_path = WebServices::fileUploadThumb($fileObject,true,$location,100,70); 
                               $galleryission->medium_path = WebServices::fileUploadMedium($fileObject,true,$location,300,210); 
                               $galleryission->large_path = WebServices::fileUpload($fileObject,true,$location); 
                               $galleryission->web_section_id= $request->input('web_section_id');
                               $galleryission->web_category_id= ($request->input('web_category_id'))? $request->input('web_category_id'):null;
                            }
                                                  
                            $galleryission->active = $request->input('fup_active');
                            $galleryission->update_date = Carbon::now();
                            $insert = $galleryission->update(); 

            }  // end if

              if($insert){
                 return 'true';  
              }

           }catch(Exception $e){   
               return 'false';
           }      
        }
        
         public function postUpdateGallaryByAjax(Request $request){
            
           $id = $request->input('id');
           $insert =null;
           $galleryission = null;           
           $location = null;
           $fileObject = null;
           $fup_ukmFile = @$_FILES['file'];
           
           if($fup_ukmFile['name']){
               $fileObject = new \Symfony\Component\HttpFoundation\File\UploadedFile($fup_ukmFile['tmp_name'],$fup_ukmFile['name'],$fup_ukmFile['type'],$fup_ukmFile['size'],null,TRUE); 
           }
           try{
  
            if ($request->input('id')) {
                     $location = base_path()."/public/images/upload/gallery/";
                            if($fileObject){
                                       if($request->input('web_section_id') && $request->input('web_category_id')){
                                        $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 
                                        $location = $location.DB::select("select * from web_categorys where id='".$request->input('web_category_id')."'")[0]->category_name."/"; 

                                             if(!File::exists($location)) {
                                                  File::makeDirectory($location, 0775, true);
                                              }
                                      }else{
                                          $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 

                                             if(!File::exists($location)) {
                                                  File::makeDirectory($location, 0775, true);
                                              }
                                      }
                            }                           
                                                                                                        
                            $galleryission = WebImageGallery::find($id);
                            $galleryission->title = $request->input('fup_title');
                            if($fileObject){
                               $galleryission->thumb_path = WebServices::fileUploadThumb($fileObject,true,$location,100,70); 
                               $galleryission->medium_path = WebServices::fileUploadMedium($fileObject,true,$location,300,210); 
                               $galleryission->large_path = WebServices::fileUpload($fileObject,true,$location); 
                               $galleryission->web_section_id= $request->input('web_section_id');
                               $galleryission->web_category_id= ($request->input('web_category_id'))? $request->input('web_category_id'):null;
                            }
                            $galleryission->active = $request->input('fup_active');
                            $galleryission->update_date = Carbon::now();
                            $insert = $galleryission->update(); 

            }  // end if
              if($insert){
                 return 'true';  
              }

           }catch(Exception $e){   
               return 'false';
           }        
        }
        
        public function inImage(Request $request){
           $insert =null;
           $galleryission = null;           
           $location = null;

           $fileObject = new \Symfony\Component\HttpFoundation\File\UploadedFile($request->input('fup_ukmFile'),$request->input('file_name'),$request->input('type'),$request->input('size'),null,TRUE);
           //$fileObjectTT = new \Symfony\Component\HttpFoundation\File\UploadedFile('G:/image/one_and_all/shari/s1 - Copy - Copy.jpeg',$request->input('file_name'),$request->input('type'),$request->input('size'),null,TRUE);

           try{
  
            if ($request->input('fup_title') && $fileObject) {
                         $location = base_path()."/public/images/upload/gallery/";                      
                        if($request->input('web_section_id') && $request->input('web_category_id')){
                          $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 
                          $location = $location.DB::select("select * from web_categorys where id='".$request->input('web_category_id')."'")[0]->category_name."/"; 
                               if(!File::exists($location)) {
                                    File::makeDirectory($location, 0775, true);
                                }
                        }else{
                            
                            $location = @$location.DB::table('web_sections')->select('section_name')->where("web_section_id",$request->input('web_section_id'))->first()->section_name."/"; 
                                                
                               if(!File::exists($location)) {
                                    File::makeDirectory($location, 0775, true);
                                }  
                        }                                                                                
                            $galleryission = new WebImageGallery();

                            $galleryission->title = $request->input('fup_title');
                            $galleryission->thumb_path = WebServices::fileUploadThumb($fileObject,true,$location,100,70); 
                            $galleryission->medium_path = WebServices::fileUploadMedium($fileObject,true,$location,300,210); 
                            $galleryission->large_path = WebServices::fileUpload($fileObject,true,$location);                         
                            $galleryission->web_section_id= $request->input('web_section_id');
                            $galleryission->web_category_id= ($request->input('web_category_id'))? $request->input('web_category_id'):null;
                            $galleryission->active = $request->input('fup_active');
                            $galleryission->create_date = Carbon::now();
                             //$galleryission->create_by = Auth::user()->id ;
                            $insert = $galleryission->save(); 

            }  // end if

              if($insert){
                 return 'true';    
              }

           }catch(Exception $e){   
               return 'false';  
           }      
        }
         public function inImageByAjax(Request $request){
           
           $insert =null;
           $galleryission = null;           
           $location = null;
           
           $fup_ukmFile = @$_FILES['file'];
           
           if($fup_ukmFile['name']){
               $fileObject = new \Symfony\Component\HttpFoundation\File\UploadedFile($fup_ukmFile['tmp_name'],$fup_ukmFile['name'],$fup_ukmFile['type'],$fup_ukmFile['size'],null,TRUE); 
           }
           try{
            if ($fup_ukmFile['name'] && $fileObject) {
                        
                         $location = base_path()."/public/images/upload/gallery/";                    
                        if($request->input('web_section_id') && $request->input('web_category_id')){
                          $location = $location.DB::select("select * from web_sections where id='".$request->input('web_section_id')."'")[0]->section_name."/"; 
                          $location = $location.DB::select("select * from web_categorys where id='".$request->input('web_category_id')."'")[0]->category_name."/"; 
                          
                               if(!File::exists($location)) {
                                    File::makeDirectory($location, 0775, true);
                                }
                        }else{
                            
                            $location = @$location.DB::table('web_sections')->select('section_name')->where("web_section_id",$request->input('web_section_id'))->first()->section_name."/"; 
                                                
                               if(!File::exists($location)) {
                                    File::makeDirectory($location, 0775, true);
                                } 
                        }                                                                               
                            $galleryission = new WebImageGallery();

                            $galleryission->title = $request->input('fup_title');
                            $galleryission->thumb_path = WebServices::fileUploadThumb($fileObject,true,$location,100,70); 
                            $galleryission->medium_path = WebServices::fileUploadMedium($fileObject,true,$location,300,210); 
                            $galleryission->large_path = WebServices::fileUpload($fileObject,true,$location);                         
                            $galleryission->web_section_id= $request->input('web_section_id');
                            $galleryission->web_category_id= ($request->input('web_category_id'))? $request->input('web_category_id'):null;
                            $galleryission->active = $request->input('fup_active');
                            $galleryission->create_date = Carbon::now();
                            $insert = $galleryission->save(); 
            }  
              if($insert){
                 return 'true';    
              }

           }catch(Exception $e){   
               return 'false';  
           }      
        }
        
        public function destroy(Request $request,$id){
            $del = null;
            $location ="public/images/upload/gallery/";
            $webImageGallerys = WebImageGallery::find($id);
            
                  if($webImageGallerys->web_section_id && $webImageGallerys->web_category_id){
                          $location = $location.DB::select("select * from web_sections where id='".$webImageGallerys->web_section_id."'")[0]->section_name."/"; 
                          $location = $location.DB::select("select * from web_categorys where id='".$webImageGallerys->web_category_id."'")[0]->category_name."/"; 
                          $thumb_file = $location.$webImageGallerys->thumb_path; 
                          $medium_file = $location.$webImageGallerys->medium_path; 
                          $large_file = $location.$webImageGallerys->large_path; 
                               if(File::exists($thumb_file) || File::exists($medium_file) || File::exists($large_file)) {
                                                                                                      
                                    File::delete($thumb_file);
                                    File::delete($medium_file);
                                    File::delete($large_file);
                                }
                        }else{
                            $location = $location.DB::select("select * from web_sections where id='".$webImageGallerys->web_section_id."'")[0]->section_name."/"; 
                            $thumb_file = $location.$webImageGallerys->thumb_path; 
                            $medium_file = $location.$webImageGallerys->medium_path; 
                            $large_file = $location.$webImageGallerys->large_path; 
                                     
                               if(File::exists($thumb_file) || File::exists($medium_file) || File::exists($large_file)) {
                                                                                                      
                                    File::delete($thumb_file);
                                    File::delete($medium_file);
                                    File::delete($large_file);
                                }
                        }
             if($webImageGallerys->delete()){
                 return 'true'; 
             }else{
                 return 'false';      
             }   
        }
}

RESTful - Client Side Script of Angularjs

create a file "http://localhost/ukmodak_content_upload/webservice/restfull/ukm_public_angular.js" and add the following javascript code



var restModule = angular.module('restClientAngular',[]);

restModule.controller('restClientController',function($scope,$rootScope,$http){
    
     $scope.ngShowForm = false;
	 $scope.updateButton = false;
	 $scope.addButton = false;

            $scope.getList = function() {

                  $http({              
                      method: 'GET',    
                      dataType:'json',
                      url: "http://localhost/ukm/service/glist/10"
                     
                  }).then(function (response) {
                        
						 if(response.data){
						    $scope.listData = response.data['posts'];
						    
						 }
						 
                  }, function (response) {
                        alert("get list error");
                      console.log(response.data,response.status);

                  });
            };
			
			$scope.edit = function($id) {
                 
                  $http({              
                      method: 'GET',    
                      dataType:'json',
                      url: 'http://localhost/ukm/service/gedit/'+$id+'',
                     
                  }).then(function (response) {
                         
						 if(response.data){

							 $scope.ngShowForm = true;
							 $scope.id = response.data.id;
							 $scope.fup_title = response.data.title;
							 $scope.web_section_id = response.data.web_section_id;
							 $scope.web_category_id = response.data.web_category_id;
							 $scope.fup_active = response.data.active;
							 $scope.updateButton = true;
 
						 }
						 
                  }, function (response) {
                        alert("edit list  error");
                      console.log(response.data,response.status);

                  });
            };
       
            
            $scope.update = function(){
			
			    
				var formData = new FormData();
				var file_data = (jQuery("[name='fup_ukmFile']").val())? jQuery("[name='fup_ukmFile']")[0].files[0]:'';

				if(file_data !=''){
				 formData.append('file', file_data);
				}
				
				formData.append("id", $scope.id);
				formData.append("fup_title", $scope.fup_title);
				formData.append("web_section_id", $scope.web_section_id);
				formData.append("web_category_id", $scope.web_category_id);
				formData.append("fup_active", $scope.fup_active);
			
                        $http({ 
                             url:'http://localhost/ukm/service/gupdatebyajax',						
                             method: 'POST',
                             data: formData,
							 headers: {
                                   'Content-Type': undefined
                                      }
                        }).then(function (response) {
						    if(response.data){
							   $scope.ngShowForm = false;
							}
                           
                        }, function (response) {
                              alert("update  error");
                             console.log(response.data,response.status);

                        });
                 
            }
			
			 $scope.add = function() {
			 
			    $scope.ngShowForm = true;
				$scope.addButton = true;
			 
			 }
			
			   
            $scope.addData = function() {
                
                var formData = new FormData();
				var file_data = (jQuery("[name='fup_ukmFile']").val())? jQuery("[name='fup_ukmFile']")[0].files[0]:'';

				if(file_data !=''){
				 formData.append('file', file_data);
				}
				

				formData.append("fup_title", $scope.fup_title);
				formData.append("web_section_id", $scope.web_section_id);
				formData.append("web_category_id", $scope.web_category_id);
				formData.append("fup_active", $scope.fup_active);
			        
					if(file_data !=''){
					
                        $http({ 
                             url:'http://localhost/ukm/service/ginsertbyajax',						
                             method: 'POST',
                             data: formData,
							 headers: {
                                   'Content-Type': undefined
                                      }
                        }).then(function (response) {
						    if(response.data){
							   $scope.ngShowForm = false;
							}
												
                        }, function (response) {
                              alert("add  error");
                             console.log(response.data,response.status);

                        });
						
					}else{
					   alert("select image file");
					}
            };
			
			$scope.delete = function($id) {
                 
                  $http({              
                      method: 'DELETE',    
                      dataType:'json',
                      url: 'http://localhost/ukm/service/delete/'+$id+'',
                     
                  }).then(function (response) {
                         
						 if(! response.data){
						    alert("Deletion fail");
						 }
						 
                  }, function (response) {
                        alert("deletion  error");
                      console.log(response.data,response.status);

                  });
            };
            
   
});


create a file "http://localhost/ukmodak_content_upload/webservice/restfull/list.php" and add the following php code

<html>
    <title>RESTfull by Ajax</title>
    <head>
	    <link href="bootstrap-3.3.7/dist/css/bootstrap.css" rel="stylesheet" type="text/css" >
		  <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
		   <script src="angular-1.4.9.min.js" > </script >
          <script src="angular1_4_9_cookies.js" > </script >
          <script src="ukm_public_angular.js" > </script >
		  
		  
  <script> 
  jQuery(function(){
	
	jQuery('#editUkm').change( function(event) {
		 var tmppath = URL.createObjectURL(event.target.files[0]);
		    
			jQuery('#editImg').fadeIn("fast").attr('src',tmppath);
			
			alert(json.stringfy(event.target.files[0]));
		
	});
	
  }); 
  
  jQuery(function(){
	
	jQuery('#addUkm').change( function(event) {
		 var tmppath = URL.createObjectURL(event.target.files[0]);
		    
			jQuery('#addImg').fadeIn("fast").attr('src',tmppath);
			
			alert(json.stringfy(event.target.files[0]));
		
	});
	
  }); 
  </script>	
  </head>
  
	<body class="ng-app="restClientAngular">
	 
	 <div class="panel panel-success" ng-controller="restClientController">
              <div class="panel-heading">New Gallery</div>
              <div class="panel-body">
			  
 <table id="list" class="table" ng_init="getList()">
  <caption> By Client Angular js</caption>
   <tr >
	    <th>Title</th>
		<th>Image</th>
		<th>action</th>
    </tr>
	 <tr ng-repeat="listD in listData">
                            <td>{{listD.title}}</td>
						     <td>
							    <img style="width:100px;" src="{{listD.image}}"></td>
							 <td>
							 <a class="btn btn-sm btn-primary editForm" ng-click="edit(listD.id)"  href="#" return="false">edit</a>
							 <a class="btn btn-sm btn-warning deleteData" ng-click="delete(listD.id)" href="#" return="false">delete</a>
							 <a class="btn btn-sm btn-warning addForm" ng-click="add()"  href="#" return="false">Add</a>
							 </td>						
                        </tr>		
	
</table >
  
			    </div>
			</div>
			
			
			<div ng-show="ngShowForm" class="panel panel-success">
              <div class="panel-heading">Update Gallery</div>

              <div class="panel-body">
                                        
                        <div class="form-group col-md-4">
                                                    
							<label>Web Section</label>
							<div>
							  <select name="web_section_id" ng-model="web_section_id" class="form-control" value="">
							  <option value="39">Image Gallery</option>
							  </select>
							</div>
						</div>
                                                
                     <div class="form-group col-md-4">
                                                    
							<label>Web Category</label>
							<div>
							
							 <select name="web_category_id" ng-model="web_category_id" class="form-control" value="">
							    <option value="20">Image Gallery</option>
							</select>
	
							</div>
						</div>
                                                
                                 <div class="col-md-12 col-lg-12 cls">
		                               <div class="form-group col-md-4">
		                                    <label>Upload File</label>
				                           <div>
										    <type="file" name="fup_ukmFile" ng-model="fup_ukmFile" id="editUkm"  accept=".gif,.jpg,.jpeg,.png" onchange="previewFile()">
                                              <img src="" height="200" id="editImg" alt="Image preview...">

				                           </div>
                                        </div>
            
						                <div class="form-group col-md-4">
						                         <label>Title</label>
						                         <div>
						                         <input type="hidden" name="id" ng-model="id" value=""/>
												 
						                         <input type="text" pattern="^[A-Za-z_-\\]{5,50}" class="form-control" id="fup_title" name="fup_title" ng-model="fup_title value="">

						                         </div>
						                 </div>

                  
						                 <div class="form-group col-md-4">
						                         <label>Is Publish</label>
						                         <div>
						                                
														  <select name="fup_active" ng-model="fup_active" class="form-control" value="">
							                                <option value="1">Publish</option>
															<option value="0">Unpublish</option>
							                              </select>
						                         </div>
						                 </div>

                                 </div>
                           
                                <div class="form-group">
                                        <div class="col-md-12" align="center">
										       <input type="hidden" name="update" ng-show="updateButton" ng-click="update()" value="update" class="btn btn-primary"/>
											   
                                                <button type="button" ng-show="addButton" ng-click="addData()"  class="btn btn-primary">
                                                        Submit
                                                </button>
                                        </div>
                                </div>
 
			    </div>
			</div> 

			    </div>
			
			
			
		</body>
</html>	
bONEandALL