Advertisement
Guest User

Untitled

a guest
Jul 12th, 2016
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.02 KB | None | 0 0
  1. <?php
  2.  
  3. namespace App\Http\Controllers;
  4.  
  5. namespace App\Http\Controllers;
  6. use App\Http\Controllers\Controller;
  7. use App\Http\Requests\CityRequest;
  8. use App\State;
  9. use App\User;
  10. use Auth;
  11. use Carbon\Carbon;
  12. use DB;
  13. use Illuminate\Http\Request;
  14. use \input as Input;
  15.  
  16. class UserController extends Controller {
  17.  
  18.     /**
  19.      * Create a new controller instance.
  20.      *
  21.      * @return void
  22.      */
  23.     public function __construct() {
  24.         $this->middleware('auth');
  25.     }
  26.     public function finishRegister() {
  27.         $states = State::all();
  28.         return view('finishRegister', ['states' => $states]);
  29.     }
  30.     public function finishRegisterPost(CityRequest $request) {
  31.  
  32.         mkdir(str_replace("app", "", app_path()) . 'resources/views/' . str_replace(".", "_", str_replace(" ", "_", $request['nameCompany'])));
  33.  
  34.         DB::table('cities')->insert(array(
  35.             'nameCity' => $request->input('nameCity'),
  36.             'ptt' => $request->input('ptt'),
  37.             'stateID' => $request->input('stateID'),
  38.         ));
  39.         $city = DB::table('cities')->orderBy('cityID', 'desc')->first();
  40.         DB::table('companies')->insert(array(
  41.             'nameCompany' => $request->input('nameCompany'),
  42.             'cityID' => $city->cityID,
  43.             'numberUsers' => 1,
  44.             'numberLicenses' => 1,
  45.             'adress' => $request->input('adress'),
  46.             'phoneNumber' => $request->input('phoneNumber'),
  47.             'created_at' => date('Y-m-d H:i:s'),
  48.             'updated_at' => date('Y-m-d H:i:s'),
  49.         ));
  50.         $company = DB::table('companies')->orderBy('companyID', 'desc')->first();
  51.         $id = Auth::user()->id;
  52.         $user = User::find($id);
  53.         $user->companyID = $company->companyID;
  54.         $user->privilege = 'sa';
  55.         $user->save();
  56.  
  57.         $KontrolerFirme = app_path() . "/Http/Controllers/" . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . "Controller.php";
  58.         if (!file_exists($KontrolerFirme)) {
  59.             $content = "<?php
  60.  
  61.             namespace App\Http\Controllers;
  62.  
  63.             use Illuminate\Http\Request;
  64.            use DB;
  65.            use File;
  66.            use App\User;
  67.             use Auth;
  68.             use Carbon\Carbon;
  69.  
  70.             class " . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . "Controller extends Controller
  71.             {
  72.                     public function __construct()
  73.                     {
  74.                        \$this->middleware('auth');
  75.                     }
  76.              //Kraj funkcija
  77.             }";
  78.  
  79.             //ubacivanje kontrolera u file "NazivFirmeController"
  80.             $fp = fopen(app_path() . "/Http/Controllers/" . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . "Controller.php", "wb");
  81.             fwrite($fp, $content);
  82.             fclose($fp);
  83.         }
  84.         $RuteFirme = app_path() . "/Http/Routes/" . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . ".php";
  85.         if (!file_exists($RuteFirme)) {
  86.             $fp = fopen(app_path() . "/Http/Routes/" . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . ".php", "wb");
  87.             fwrite($fp, "<?php \n ");
  88.             fclose($fp);
  89.         }
  90.         $routesPutanja = app_path() . "/Http/routes.php";
  91.         $content = "require app_path('Http/Routes/" . str_replace('.', '_', str_replace(' ', '_', $company->nameCompany)) . ".php');\n //Kraj ruta";
  92.         $search = "//Kraj ruta";
  93.         $replace = "\n" . $content;
  94.         file_put_contents($routesPutanja, str_replace($search, $replace, file_get_contents($routesPutanja)));
  95.         return redirect()->action('ActivityController@getActivities');
  96.     }
  97.  
  98.     /**
  99.      * Display a listing of the resource.
  100.      *
  101.      * @return \Illuminate\Http\Response
  102.      */
  103.     public function index() {
  104.         $currentPage = "Users";
  105.         $msg = NULL;
  106.         $id = Auth::user()->companyID;
  107.         $users = User::all()->where('companyID', $id);
  108.         return view('users.users')->with('users', $users)->with('currentPage', $currentPage);
  109.     }
  110.  
  111.     /**
  112.      * Store a newly created resource in storage.
  113.      *
  114.      * @param  \Illuminate\Http\Request  $request
  115.      * @return \Illuminate\Http\Response
  116.      */
  117.     public function store(Request $request) {
  118.         $userid = Auth::user()->id;
  119.         $user = User::find($userid);
  120.         $companyID = Auth::user()->companyID;
  121.  
  122.         $password = $request['password'];
  123.         $password_confirmation = $request['password_confirmation'];
  124.  
  125.         if ($password !== $password_confirmation) {
  126.             $msg = "Password do not match";
  127.             return redirect()->action('UserController@getUsers')->with('msg', $msg);
  128.         }
  129.         $image = $request->file('image');
  130.         $name = $request['name'];
  131.         $email = $request['email'];
  132.         $password = bcrypt($request['password']);
  133.         $privilege = $request['privilege'];
  134.         $companyID = Auth::user()->companyID;
  135.  
  136.         if ($request->hasFile('image')) {
  137.             $image->move(str_replace("\app", "", app_path()) . '/images/', $image->getClientOriginalName());
  138.             DB::table('users')->insert(array(
  139.                 'name' => $name,
  140.                 'email' => $email,
  141.                 'photoName' => '/../images/' . $image->getClientOriginalName(),
  142.                 'password' => $password,
  143.                 'privilege' => $privilege,
  144.                 'companyID' => $companyID,
  145.             ));
  146.         } else {
  147.             DB::table('users')->insert(array(
  148.                 'name' => $name,
  149.                 'email' => $email,
  150.                 'photoName' => '',
  151.                 'password' => $password,
  152.                 'privilege' => $privilege,
  153.                 'companyID' => $companyID,
  154.             ));
  155.         }
  156.  
  157.         DB::table('log')->insert(array(
  158.             'companyID' => $companyID,
  159.             'UserName' => $user->name,
  160.             'Action' => 'AU',
  161.             'Description' => $name,
  162.             'created_at' => Carbon::now(),
  163.             'updated_at' => Carbon::now(),
  164.         ));
  165.  
  166.         DB::table('companies')->increment('numberUsers');
  167.         $msg = "You have secessfully added a user!";
  168.         return redirect()->action('UserController@getUsers')->with('msg', $msg);
  169.     }
  170.  
  171.     /**
  172.      * Display the specified resource.
  173.      *
  174.      * @param  int  $id
  175.      * @return \Illuminate\Http\Response
  176.      */
  177.     public function show($id) {
  178.         $user = DB::table('users')
  179.             ->join('companies', 'users.companyID', '=', 'companies.companyID')
  180.             ->where('id', $id)
  181.             ->first();
  182.         $currentPage = "Users";
  183.         return view('users.infoUser')->with('user', $user)->with('currentPage', $currentPage);
  184.     }
  185.  
  186.     /**
  187.      * Update the specified resource in storage.
  188.      *
  189.      * @param  \Illuminate\Http\Request  $request
  190.      * @param  int  $id
  191.      * @return \Illuminate\Http\Response
  192.      */
  193.     public function update(Request $request, $id) {
  194.  
  195.         $userid = Auth::user()->id;
  196.         $user = User::find($userid);
  197.         $companyID = Auth::user()->companyID;
  198.         $userForEdit = DB::table('users')->where('id', $id)->first();
  199.         $password = $request['password'];
  200.         $password_confirmation = $request['password_confirmation'];
  201.  
  202.         if ($password !== $password_confirmation) {
  203.             $msg = "Password do not match";
  204.             return redirect()->action('UserController@getUsers')->with('msg', $msg);
  205.         }
  206.  
  207.         $wizardInput = $request['wizard'];
  208.         $wizard = false;
  209.  
  210.         if ($wizardInput === "on") {
  211.             $wizard = true;
  212.         }
  213.         if ($request->hasFile('image')) {
  214.             $image = $request->file('image');
  215.             $image->move(str_replace("app", "", app_path()) . 'images/', $image->getClientOriginalName());
  216.             $img = $image->getClientOriginalName();
  217.         } else {
  218.             $img = $userForEdit->photoName;
  219.         }
  220.  
  221.         $name = $request['name'];
  222.         $email = $request['email'];
  223.         $privilege = $request['privilege'];
  224.         if ($password == "") {
  225.             DB::table('users')->where('id', $id)->update(array(
  226.                 'name' => $name,
  227.                 'email' => $email,
  228.                 'photoName' => '/../images/' . $img,
  229.                 'wizard' => $wizard,
  230.                 'privilege' => $privilege,
  231.             ));
  232.         } else {
  233.             $password = bcrypt($request['password']);
  234.             DB::table('users')->where('id', $id)->update(array(
  235.                 'name' => $name,
  236.                 'email' => $email,
  237.                 'photoName' => '/../images/' . $img,
  238.                 'password' => $password,
  239.                 'wizard' => $wizard,
  240.                 'privilege' => $privilege,
  241.             ));
  242.         }
  243.  
  244.         DB::table('log')->insert(array(
  245.             'companyID' => $companyID,
  246.             'UserName' => $user->name,
  247.             'Action' => 'EU',
  248.             'Description' => $userForEdit->name,
  249.             'created_at' => Carbon::now(),
  250.             'updated_at' => Carbon::now(),
  251.         ));
  252.  
  253.         $msg = "You have secessfully edited user!";
  254.         return redirect()->action('UserController@getUsers')->with('msg', $msg);
  255.     }
  256.  
  257.     /**
  258.      * Remove the specified resource from storage.
  259.      *
  260.      * @param  int  $id
  261.      * @return \Illuminate\Http\Response
  262.      */
  263.     public function destroy($id) {
  264.         $userid = Auth::user()->id;
  265.         $LogedUser = User::find($userid);
  266.         $companyID = Auth::user()->companyID;
  267.         $user = DB::table('users')->where('id', $id)->first();
  268.  
  269.         if (Auth::user()->id == $id) {
  270.             $msg = "You can't delete yourself!";
  271.             return redirect()->action('UserController@getUsers')->with('msg', $msg);
  272.         }
  273.  
  274.         if ($user->privilege !== 'SA') {
  275.             User::destroy($id);
  276.             DB::table('log')->insert(array(
  277.                 'companyID' => $companyID,
  278.                 'UserName' => $LogedUser->name,
  279.                 'Action' => 'DU',
  280.                 'Description' => $user->name,
  281.                 'created_at' => Carbon::now(),
  282.                 'updated_at' => Carbon::now(),
  283.             ));
  284.             $msg = "You have secessfully deleted user!";
  285.             DB::table('companies')->decrement('numberUsers');
  286.         } else {
  287.             $msg = "You are not allowed to do this action!";
  288.         }
  289.  
  290.         return redirect()->action('UserController@getUsers')->with('msg', $msg);
  291.     }
  292.  
  293.     public function rateProduct($ocjena, $opis) {
  294.  
  295.         DB::table('rating')->insert(array(
  296.             'userId' => Auth::user()->id,
  297.             'ocjena' => $ocjena,
  298.             'opis' => $opis,
  299.         ));
  300.         return "thank you for your feedback";
  301.     }
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement