Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace App\Http\Controllers;
- use Illuminate\Http\Request;
- use Auth;
- use App\Dosen;
- use App\User;
- use App\Pesan;
- use Illuminate\Support\Facades\DB;
- use App\Percakapan;
- use App\Mahasiswa;
- class HomeController extends Controller
- {
- /**
- * Create a new controller instance.
- *
- * @return void
- */
- public function __construct()
- {
- $this->middleware('auth');
- }
- /**
- * Show the application dashboard.
- *
- * @return \Illuminate\Http\Response
- */
- public function index()
- {
- return view('admin/index');
- }
- public function profile(){
- $title = "Profil";
- $page = "";
- $obj = Auth::user();
- return view('profil/index',compact('title','page','obj'));
- }
- public function editProfile(){
- $title = "Profil";
- $page = "Edit";
- $obj = Auth::user();
- // echo "string";
- // echo Auth::user()->status;
- return view('profil/edit',compact('title','page','obj'));
- }
- public function updateProfile($param,Request $request){
- $data = User::find($param);
- $id = $data->id_user;
- if (Auth::user()->status=='3' || Auth::user()->status=='1') {
- $dosen = Dosen::find($id);
- $dosen->nama = $request->nama;
- $foto = $request->file;
- if (!empty($foto)) {
- $ext = $foto->getClientOriginalExtension();
- $name = time().'.'.$ext;
- $foto->move(public_path('/uploads/'),$name);
- $data->foto = $name;
- $data->save();
- }
- if (Auth::user()->status=='1') {
- if ($dosen->nip != $request->nip) {
- $data->username = $request->nip;
- $update = $data->save();
- }
- }
- if (Auth::user()->status=='3') {
- $data->username = $request->username;
- $update = $data->save();
- }
- if (!empty($request->password)) {
- $data = User::find($param);
- $data->password = bcrypt($request->password);
- $update = $data->save();
- }
- $dosen->nip = $request->nip;
- $dosen->tgl_lahir= $request->tgl_lahir;
- $dosen->jenjang_pendidikan = $request->jenjang_pendidikan;
- $update = $dosen->save();
- if ($update) {
- $request->session()->flash('success','Profil Berhasil Diubah');
- }
- else{
- $request->session()->flash('danger','Profil Gagal Diubah');
- }
- }
- if (Auth::user()->status=='2') {
- $mahasiswa = Mahasiswa::find($id);
- $mahasiswa->nama = $request->nama;
- $data = User::find($param);
- if (!empty($request->password)) {
- $data->password = bcrypt($request->password);
- $update = $data->save();
- }
- $foto = $request->file;
- if (!empty($foto)) {
- $ext = $foto->getClientOriginalExtension();
- $name = time().'.'.$ext;
- $foto->move(public_path('/uploads/'),$name);
- $data->foto = $name;
- $data->save();
- }
- $mahasiswa->jenis_kelamin = $request->jenis_kelamin;
- $mahasiswa->alamat = $request->alamat;
- $update = $mahasiswa->save();
- if ($update) {
- $request->session()->flash('success','Profil Berhasil Diubah');
- }
- else{
- $request->session()->flash('danger','Profil Gagal Diubah');
- }
- }
- if (Auth::user()->status=='0') {
- // $user = User::find($id);
- // $user->username = $request->username;
- if (!empty($request->password)) {
- $data->password = bcrypt($request->password);
- }
- $foto = $request->file;
- if (!empty($foto)) {
- $ext = $foto->getClientOriginalExtension();
- $name = time().'.'.$ext;
- $foto->move(public_path('/uploads/'),$name);
- $data->foto = $name;
- }
- $data->nama = $request->nama;
- $data->alamat = $request->alamat;
- $data->telp = $request->telp;
- $update = $data->save();
- if ($update) {
- $request->session()->flash('success','Profil Berhasil Diubah');
- }
- else{
- $request->session()->flash('danger','Profil Gagal Diubah');
- }
- }
- return redirect()->back();
- }
- public function listMessage(){
- $title = "Pesan";
- $page ="";
- $me = Auth::user()->username;
- $data = DB::select(DB::raw("SELECT * from pesans WHERE id_pengirim = '$me' or id_penerima='$me'"));
- foreach ($data as $d ) {
- # code...
- if ($d->id_pengirim == $me) {
- # code...
- $opp = 'id_penerima';
- }
- else{
- $opp = 'id_pengirim';
- }
- $penerima = User::where('username',$d->$opp)->first();
- if ($penerima->status == 0) {
- # code...
- $status = 'Admin';
- $nama = $penerima->nama;
- }
- elseif ($penerima->status==1 || $penerima->status==3) {
- if ($penerima->status==1) {
- # code...
- $status = 'Admin';
- }
- elseif ($penerima->status==3) {
- # code...
- $status = 'Kepala Prodi';
- $nama = "a";
- }
- $nama = $penerima->dosen->nama;
- }
- elseif ($penerima->status==2) {
- $status = 'Mahasiswa';
- $nama = $penerima->mahasiswa->nama;
- }
- $percakapan = Percakapan::where('id_pesan',$d->id)->orderBy('created_at','desc')->first();
- // print_r($percakapan->pesan);
- $array[] = [
- 'pengirim'=>$nama,
- 'username'=>$d->$opp,
- 'percakapan'=>$percakapan->pesan,
- 'waktu'=>$percakapan->created_at
- ];
- }
- // print_r($array);
- return view('pesan/list',compact('title','page','array','data'));
- }
- public function createMessage(Request $request){
- $title = "Pesan Baru";
- $page = "";
- $status = $request->status;
- if (!empty($status)) {
- # code...
- if ($status == "mahasiswa") {
- $s = 2;
- }
- elseif ($status=="dosen") {
- $s = 1;
- }
- elseif ($status=="admin") {
- # code...
- $s = 0;
- }
- elseif ($status=="kaprodi") {
- # code...
- $s = 3;
- }
- $data = User::where('status',$s)->get();
- }
- return view('pesan/create',compact('title','page','data','s','status'));
- }
- public function messageByUser($username,Request $request){
- $title = "Pesan";
- $page = "";
- $pengirim = Auth::user()->username;
- $penerima = $username;
- $last_time = $request->last_time;
- $type = $request->type;
- $belumDibaca = Percakapan::where('id_penerima',Auth::user()->username)->where('id_pengirim',$username)->count();
- if ($belumDibaca != 0) {
- Percakapan::where('id_penerima',Auth::user()->username)->where('id_pengirim',$username)->update(['status_dibaca'=>'1']);
- }
- $flag = $type=="prev" ? '<':'>';
- $chatQuery = "SELECT * from pesans WHERE (id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim')";
- $count = count(DB::select(DB::raw($chatQuery)));
- $query = "select * from (SELECT * from percakapans WHERE ((id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim'))";
- // $query1 = "select * from (SELECT * from percakapans WHERE ((id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim'))";
- if (empty($last_time)) {
- $query .= " ORDER by created_at DESC LIMIT 0,5 ) as a order by created_at asc";
- // $query1 .= " ORDER by created_at DESC LIMIT 0,5 ) as a order by created_at asc limit 0,1";
- }
- else{
- $query .= " AND created_at ".$flag." '".$last_time."' ORDER by created_at DESC ";
- if ($type=='prev') {
- $query .= "limit 0,5) as a order by created_at asc limit 0,5";
- }
- else{
- $query .= ") as a order by created_at asc limit 0,5 ";
- }
- // $query1 .= " AND created_at < '".$last_time."' ORDER by created_at DESC limit 0,5 ) as a order by created_at asc limit 0,1";
- }
- $data = DB::select(DB::raw($query));
- // $last = DB::select(DB::raw($query1));
- // $new = DB::select(DB::raw($query2));
- // if (count($data)) {
- // # code...
- // }
- if (count($data) !=0) {
- # code...
- $last_time_btn= $data[0]->created_at;
- $new_time_btn= end($data)->created_at;
- $nextquery = "select * from (SELECT * from percakapans WHERE ((id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim'))";
- $nextquery .= " AND created_at > '".$new_time_btn."' ORDER by created_at DESC ) as a order by created_at asc limit 0,5";
- $nextdata = DB::select(DB::raw($nextquery));
- $prevquery = "select * from (SELECT * from percakapans WHERE ((id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim'))";
- $prevquery .= " AND created_at < '".$last_time_btn."' ORDER by created_at DESC limit 0,5 ) as a order by created_at asc limit 0,5";
- $prevdata = DB::select(DB::raw($prevquery));
- // echo count($nextdata);
- if (!empty($last_time) && count($nextdata)==0) {
- # code...
- return redirect('/pesan/u/'.$username);
- }
- if ( count($prevdata) != 0) {
- $status_btn = 1;
- }
- else{
- $status_btn = 0;
- }
- }
- // echo $query;
- // print_r($last);
- // echo "SELECT * from percakapans WHERE (id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim')";
- // print_r($data);
- $array = [];
- foreach ($data as $d ) {
- $pengirim = User::where('username',$d->id_pengirim)->first();
- $penerima = User::where('username',$d->id_penerima)->first();
- $foto = Auth::user()->username == $d->id_pengirim ? (!empty(Auth::user()->foto) ? Auth::user()->foto : 'sender.png') : (!empty($pengirim->foto) ? $pengirim->foto : 'sender.png' );
- if ($pengirim->status == 0) {
- # code...
- $status = 'Admin';
- $nama = $pengirim->nama;
- }
- elseif ($pengirim->status==1 || $pengirim->status==3) {
- if ($pengirim->status==1) {
- # code...
- $status = 'Dosen';
- }
- elseif ($pengirim->status==3) {
- # code...
- $status = 'Kepala Prodi';
- }
- $nama = $pengirim->dosen->nama;
- }
- elseif ($pengirim->status==2) {
- $status = 'Mahasiswa';
- $nama = $pengirim->mahasiswa->nama;
- }
- if ($penerima->status == 0) {
- # code...
- $namapenerima = $penerima->nama;
- }
- elseif ($penerima->status==1 || $penerima->status==3) {
- $namapenerima = $penerima->dosen->nama;
- }
- elseif ($penerima->status==2) {
- $namapenerima = $penerima->mahasiswa->nama;
- }
- $array[] = [
- 'pengirim'=>$nama,
- 'username_pengirim'=>$d->id_pengirim,
- 'penerima'=>$namapenerima,
- 'foto_pengirim'=>$foto,
- 'status'=>$status,
- 'status_pesan'=>$d->status_dibaca,
- 'pesan'=>$d->pesan,
- 'tgl'=>$d->created_at
- ];
- }
- $obj = User::where('username',$username)->first();
- return view('pesan/byUser',compact('title','page','username','data','array','obj','last_time','last_time_btn','new_time_btn','status_btn','count'));
- // print_r($array);
- }
- public function sendMessageByUser($username,Request $request){
- $pengirim = Auth::user()->username;
- $penerima = $username;
- $pesanText = $request->pesan;
- $data = DB::select(DB::raw("SELECT * from pesans WHERE (id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim')"));
- // $data = Pesan::where([]);
- $count = count($data);
- // echo $count;
- // print_r($data);
- // echo "SELECT * from pesans WHERE (id_pengirim = '$pengirim' AND id_penerima='$penerima') OR (id_pengirim = '$penerima' AND id_penerima='$pengirim')";
- if ($count == 0) {
- $pesan = new Pesan;
- $pesan->id_pengirim = $pengirim;
- $pesan->id_penerima = $penerima;
- $pesan->save();
- $percakapan = new Percakapan;
- $percakapan->id_pesan = $pesan->id;
- $percakapan->id_penerima = $penerima;
- $percakapan->id_pengirim = $pengirim;
- $percakapan->pesan = $pesanText;
- $percakapan->status_dibaca=0;
- $percakapan->save();
- }
- else{
- $percakapan = new Percakapan;
- $percakapan->id_pesan = $data[0]->id;
- $percakapan->id_penerima = $penerima;
- $percakapan->id_pengirim = $pengirim;
- $percakapan->pesan = $pesanText;
- $percakapan->status_dibaca=0;
- $percakapan->save();
- }
- return redirect('pesan/u/'.$username);
- }
- public function bimbingan(){
- return view('bimbingan/index');
- }
- public function bimbinganCreate(){
- return view('bimbingan/create');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement