laravel parameter menggunakan slash

19:18 Unknown 0 Comments

Route::get('view/{slashData?}', 'ExampleController@getData')
    ->where('slashData', '(.*)');
jika menggunakan route::resource
simpan di routeserviceprovider
Route::pattern('id', '[0-9]+');

0 comments:

parsley validation

23:08 Unknown 0 Comments

 $('#corrective-form .btn').on('click', function() {
           $('#corrective-form').parsley().validate();
           validateFront();
         });
         var validateFront = function() {
           if (true === $('#corrective-form').parsley().isValid()) {
             $('.bs-callout-info').removeClass('hidden');
             $('.bs-callout-warning').addClass('hidden');
           } else {
             $('.bs-callout-info').addClass('hidden');
             $('.bs-callout-warning').removeClass('hidden');
           }
         };

0 comments:

Laravel ajax file upload

23:49 Unknown 0 Comments

di view

$("#modal-edit-corrective").find('.modal-footer #btn-submit').on('click', function(e){
    var id={!! $incompatibility->corrective->id !!}
    var formdata = new FormData();    
    var file = $("#modal-edit-corrective").find('#attachment')[0].files[0];
    formdata.append('attachment', file);
    formdata.append('_token','{{ csrf_token() }}');
    formdata.append('corrective_action',$("#modal-edit-corrective").find(".modal-body #corrective_action").val());
    formdata.append('preventive_measure',$("#modal-edit-corrective").find(".modal-body #preventive_measure").val());
    $.ajax({
      type:"POST",
      url:"{!! route('corrective.update',$incompatibility->corrective->id) !!}",
      headers: {
              'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
          },
      data:formdata,
      cache:false,
      processData: false,
      async:false,
      contentType: false,
      success:function(){
          window.location.reload();
      }
    })
  })

0 comments:

disable datatable back to page one

18:04 Unknown 0 Comments

disable datatable kembali ke halaman pertama
gunkan

stateSave: true,

0 comments:

integrasi wysiwyg bootstrap

19:18 Unknown 0 Comments

 <h2>Uraian Ketidaksesuaian</h2>
                         
                  <div class="clearfix"></div>
                </div>
                <div class="x_content">
                  <div id="alerts"></div>
                 
                  <div class="btn-toolbar editor" data-role="editor-toolbar" data-target="#editor">
                    <div class="btn-group">
                      <a class="btn dropdown-toggle" data-toggle="dropdown" title="" data-original-title="Font"><i class="fa fa-font"></i><b class="caret"></b></a>
                      <ul class="dropdown-menu">
                      <li><a data-edit="fontName Serif" style="font-family:'Serif'">Serif</a></li><li><a data-edit="fontName Sans" style="font-family:'Sans'">Sans</a></li><li><a data-edit="fontName Arial" style="font-family:'Arial'">Arial</a></li><li><a data-edit="fontName Arial Black" style="font-family:'Arial Black'">Arial Black</a></li><li><a data-edit="fontName Courier" style="font-family:'Courier'">Courier</a></li><li><a data-edit="fontName Courier New" style="font-family:'Courier New'">Courier New</a></li><li><a data-edit="fontName Comic Sans MS" style="font-family:'Comic Sans MS'">Comic Sans MS</a></li><li><a data-edit="fontName Helvetica" style="font-family:'Helvetica'">Helvetica</a></li><li><a data-edit="fontName Impact" style="font-family:'Impact'">Impact</a></li><li><a data-edit="fontName Lucida Grande" style="font-family:'Lucida Grande'">Lucida Grande</a></li><li><a data-edit="fontName Lucida Sans" style="font-family:'Lucida Sans'">Lucida Sans</a></li><li><a data-edit="fontName Tahoma" style="font-family:'Tahoma'">Tahoma</a></li><li><a data-edit="fontName Times" style="font-family:'Times'">Times</a></li><li><a data-edit="fontName Times New Roman" style="font-family:'Times New Roman'">Times New Roman</a></li><li><a data-edit="fontName Verdana" style="font-family:'Verdana'">Verdana</a></li></ul>
                    </div>

                    <div class="btn-group">
                      <a class="btn dropdown-toggle" data-toggle="dropdown" title="" data-original-title="Font Size"><i class="fa fa-text-height"></i>&nbsp;<b class="caret"></b></a>
                      <ul class="dropdown-menu">
                        <li>
                          <a data-edit="fontSize 5">
                            <p style="font-size:17px">Huge</p>
                          </a>
                        </li>
                        <li>
                          <a data-edit="fontSize 3">
                            <p style="font-size:14px">Normal</p>
                          </a>
                        </li>
                        <li>
                          <a data-edit="fontSize 1">
                            <p style="font-size:11px">Small</p>
                          </a>
                        </li>
                      </ul>
                    </div>

                    <div class="btn-group">
                      <a class="btn" data-edit="bold" title="" data-original-title="Bold (Ctrl/Cmd+B)"><i class="fa fa-bold"></i></a>
                      <a class="btn" data-edit="italic" title="" data-original-title="Italic (Ctrl/Cmd+I)"><i class="fa fa-italic"></i></a>
                      <a class="btn" data-edit="strikethrough" title="" data-original-title="Strikethrough"><i class="fa fa-strikethrough"></i></a>
                      <a class="btn" data-edit="underline" title="" data-original-title="Underline (Ctrl/Cmd+U)"><i class="fa fa-underline"></i></a>
                    </div>

                    <div class="btn-group">
                      <a class="btn" data-edit="insertunorderedlist" title="" data-original-title="Bullet list"><i class="fa fa-list-ul"></i></a>
                      <a class="btn" data-edit="insertorderedlist" title="" data-original-title="Number list"><i class="fa fa-list-ol"></i></a>
                      <a class="btn" data-edit="outdent" title="" data-original-title="Reduce indent (Shift+Tab)"><i class="fa fa-dedent"></i></a>
                      <a class="btn" data-edit="indent" title="" data-original-title="Indent (Tab)"><i class="fa fa-indent"></i></a>
                    </div>

                    <div class="btn-group">
                      <a class="btn btn-info" data-edit="justifyleft" title="" data-original-title="Align Left (Ctrl/Cmd+L)"><i class="fa fa-align-left"></i></a>
                      <a class="btn" data-edit="justifycenter" title="" data-original-title="Center (Ctrl/Cmd+E)"><i class="fa fa-align-center"></i></a>
                      <a class="btn" data-edit="justifyright" title="" data-original-title="Align Right (Ctrl/Cmd+R)"><i class="fa fa-align-right"></i></a>
                      <a class="btn" data-edit="justifyfull" title="" data-original-title="Justify (Ctrl/Cmd+J)"><i class="fa fa-align-justify"></i></a>
                    </div>

                    <div class="btn-group">
                      <a class="btn dropdown-toggle" data-toggle="dropdown" title="" data-original-title="Hyperlink"><i class="fa fa-link"></i></a>
                      <div class="dropdown-menu input-append">
                        <input class="span2" placeholder="URL" type="text" data-edit="createLink">
                        <button class="btn" type="button">Add</button>
                      </div>
                      <a class="btn" data-edit="unlink" title="" data-original-title="Remove Hyperlink"><i class="fa fa-cut"></i></a>
                    </div>

                    <div class="btn-group">
                      <a class="btn" title="" id="pictureBtn" data-original-title="Insert picture (or just drag &amp; drop)"><i class="fa fa-picture-o"></i></a>
                      <input type="file" data-role="magic-overlay" data-target="#pictureBtn" data-edit="insertImage" style="opacity: 0; position: absolute; top: 0px; left: 0px; width: 41px; height: 34px;">
                    </div>

                    <div class="btn-group">
                      <a class="btn" data-edit="undo" title="" data-original-title="Undo (Ctrl/Cmd+Z)"><i class="fa fa-undo"></i></a>
                      <a class="btn" data-edit="redo" title="" data-original-title="Redo (Ctrl/Cmd+Y)"><i class="fa fa-repeat"></i></a>
                    </div>
                  </div>

                 

                  <div id="editor" name="uraian" class="editor-wrapper placeholderText" contenteditable="true">            
                  </div>

                      <textarea name="uraian" id="uraian" style="display: none;"></textarea>


                  <div class="ln_solid"></div>


 <!-- bootstrap-wysiwyg -->
    <script>
      $(document).ready(function() {
        function initToolbarBootstrapBindings() {
          var fonts = ['Serif', 'Sans', 'Arial', 'Arial Black', 'Courier',
              'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', 'Lucida Sans', 'Tahoma', 'Times',
              'Times New Roman', 'Verdana'
            ],
            fontTarget = $('[title=Font]').siblings('.dropdown-menu');
          $.each(fonts, function(idx, fontName) {
            fontTarget.append($('<li><a data-edit="fontName ' + fontName + '" style="font-family:\'' + fontName + '\'">' + fontName + '</a></li>'));
          });
          $('a[title]').tooltip({
            container: 'body'
          });
          $('.dropdown-menu input').click(function() {
              return false;
            })
            .change(function() {
              $(this).parent('.dropdown-menu').siblings('.dropdown-toggle').dropdown('toggle');
            })
            .keydown('esc', function() {
              this.value = '';
              $(this).change();
            });

          $('[data-role=magic-overlay]').each(function() {
            var overlay = $(this),
              target = $(overlay.data('target'));
            overlay.css('opacity', 0).css('position', 'absolute').offset(target.offset()).width(target.outerWidth()).height(target.outerHeight());
          });

          if ("onwebkitspeechchange" in document.createElement("input")) {
            var editorOffset = $('#editor').offset();

            $('.voiceBtn').css('position', 'absolute').offset({
              top: editorOffset.top,
              left: editorOffset.left + $('#editor').innerWidth() - 35
            });
          } else {
            $('.voiceBtn').hide();
          }
        }

        function showErrorAlert(reason, detail) {
          var msg = '';
          if (reason === 'unsupported-file-type') {
            msg = "Unsupported format " + detail;
          } else {
            console.log("error uploading file", reason, detail);
          }
          $('<div class="alert"> <button type="button" class="close" data-dismiss="alert">&times;</button>' +
            '<strong>File upload error</strong> ' + msg + ' </div>').prependTo('#alerts');
        }

        initToolbarBootstrapBindings();

        $('#editor').wysiwyg({
          fileUploadError: showErrorAlert
        });

        $('#form_tindakan').submit(function(){
          $("#uraian").val($("#editor").html());
        })

        window.prettyPrint;
        prettyPrint();

        $(".js-example-basic-multiple").select2();
 
      });
    </script>

0 comments:

Membuat Global Variable di Laravel

01:53 Unknown 0 Comments

buat folder composers di dalamfolder app

buat file di app/composers dengan nama NavbarComposer.php

<?php

/**

*

*/

namespace App\Composers;

use Illuminate\Contracts\View\View;

use App\Models\Incompatibility;



class NavbarComposer{



 public function compose($view){

  $incompatibilities=Incompatibility::where('status','=',NULL)->get();



  $view->with('incompatibilities',$incompatibilities);

 } 

}

?>





Terus edit file AppServiceProvider.php

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        $this->buatNavbar();
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->bind('user','App\Models\User');
    }

    private function buatNavbar(){
        view()->composer('backend.layout.app','App\Composers\NavbarComposer');
    }
}



0 comments:

Mengambil nilai array yang di inginkan

19:02 Unknown 0 Comments

mengambil nilai array di inginkan menngunakan array_pluck di laravel

contoh saya punya array seperti ini

array:2 [
  0 => array:1 [
    "departement" => array:2 [
      "id" => 3
      "nama_departement" => "IT"
    ]
  ]
  1 => array:1 [
    "departement" => array:2 [
      "id" => 6
      "nama_departement" => "Marketing"
    ]
  ]
]
bagaimana jika saya ingin mengambil hanya nama departement saja
gunakan array_pluck

array_pluck($depart,'departement.nama_departement')

dan Hasilnya 

array:2 [
  0 => "IT"
  1 => "Marketing"
]

Dokumentasi mengenai array_pluck

0 comments:

Mengambil Paramater Route dari Middleware

19:41 Unknown 0 Comments

Cara Mengambil nilai parameter route di Laravel

di routes.php untuk laravel 5.2 ke bawah

dan web.php di laravel 5.3

Route::GET('corrective/create/{id}',['uses'=>'CorrectiveController@create','as'=>'corrective.create'])->middleware('hasCorrective');



dan di middleware nya

 $id=$request->route()->parameters('id');

coba echo menggunakan dd untuk mengetahui nilai nya

echo dd($id)

0 comments:

textxbox dinamis

20:58 Unknown 0 Comments


@extends('layouts.app')

@section('content')
Create Test


@endsection @push('scripts') @endpush

0 comments:

Error Gulp Watch di Ubuntu

19:31 Unknown 0 Comments


jalankan :

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
https://github.com/gulpjs/gulp/issues/217

0 comments:

merubah string jadi variabel di PHP

20:51 Unknown 0 Comments

$$ mengubah string jadi variabel

  for ($i=1; $i <= 10; $i++) {

    $b='bulan'.$i;

    $$b='bulan ke'.$i;

  }



echo $bulan3; //hasilnya bulan ke3



dokumentasi resmi PHP nya http://php.net/manual/en/language.variables.variable.php

0 comments:

Edit password user login

20:01 Unknown 0 Comments

public function updateProfile($id,Request $request){

        $rules=[
            'old_password'=>'required|old_password_validation',
            'password'=>'required|confirmed',
            'password_confirmation'=>'required'];
       
        $pesan=[
            'old_password_validation'=>'Pasword lama Salah',
            ];

        Validator::extend('old_password_validation', function($field, $value, $parameters)
            {
                return Hash::check($value, Auth::User()->password);
            });

        $validator = Validator::make($request->all(), $rules, $pesan);  
             if ($validator->fails()){
                  return redirect()->back()
                    ->withErrors($validator)
                    ->withInput($request->except('password'));
            }

            $user=User::find($id);
            $user->password=bcrypt($request->input('password'));
            $user->nama=$request->input('nama');
            $user->save();

            return redirect()->back();

    }

0 comments:

Faker di Laravel

18:17 Unknown 0 Comments

faker di laravel berfungsi untuk membuat data dummy jadi jika kita butuh sample data banyak..
tidak perlu menginput satu-satu ke dalam database
CMIWW

contoh penggunaan

$faker = Faker\Factory::create();

    $limit = 10000;

    $users=App\User::all();

    for ($i = 0; $i < $limit; $i++) {
        App\User::create([
        'name'=>$faker->name,
        'email'=>$faker->unique()->email,
        'phone'=>$faker->phoneNumber
        ]);
    }


dari syntax di atas akan menginput data sejumlah 10000 record ke table user..
jadi data di looping sesuai variable limit

0 comments:

loop variable di laravel 5.3

23:03 Unknown 0 Comments

doc laravel blade loop

$loop->iteration /untuk mengambil no looping sekarang

$loop->count /untuk menghitung jumlah looping

0 comments:

Laravel-elixir-error

20:44 Unknown 0 Comments

error saat running gulp

TypeError: Elixir.ready is not a function
    at Object.<anonymous> (/var/www/html/demand/node_modules/laravel-elixir-vue/main.js:3:8)

masuk ke direktori project 

npm install laravel-elixir-vueify

dan jika masih ada error atau ada error seperti ini 

TypeError: Cannot read property 'transformers' of undefined

jalankan perintah 

npm install laravel-elixir-browserify-official --save-dev


rubah file gulpfile.js

awal
require('laravel-elixir-vue');

menjadi
require('laravel-elixir-vueify');

reference:

https://github.com/JeffreyWay/laravel-elixir-browserify

https://github.com/JeffreyWay/laravel-elixir-vueify

https://github.com/JeffreyWay/laravel-elixir-vueify/issues/26

https://github.com/JeffreyWay/Laravel-Elixir-v6-Vue-example/issues/1

https://laracasts.com/discuss/channels/elixir/cannot-find-module-vendorlaravelelixirelixir


0 comments:

cara install gulp di ubuntu

19:05 Unknown 0 Comments

cara install gulp di ubuntu



Masuk ke direktori laravel 
jalankan perintah npm install gulp

0 comments:

Apa Yang Baru di Laravel 5.3 ??

18:52 Unknown 0 Comments

direktori dan file routes berubah

di laravel 5.2 file routes.php ada di app/http/routes.php

sedangkan di laravel 5.3 routes.php berubah menjadi web.php dan direktori menjadi routes/web.php

route logout,, jika di laravel sebelumnya Route::get('logout'),method harus di rubah jadi post

0 comments:

laravel error composer

18:39 Unknown 0 Comments



solusi..

update composser..

composer self-update

0 comments:

Laravel Validation return Json

19:22 Unknown 0 Comments

 $validator = Validator::make($data = $request->all(),User::$rules);
        if ($validator->fails())
        {
            return response()->Json(array('errors'=>$validator->errors()->toArray()));
        }

0 comments:

Akses parameter route di middleware laravel

19:37 Unknown 0 Comments

$id=$request->route()->parameters('id');

0 comments:

Convert Hasil foreach ke array

18:58 Unknown 1 Comments

$results=App\Mahasiswa::all();



foreach ($results as $result){
$array[]=$result->id; //hasil $result->id adalah 1,2,3
}
$array // hasilnya [1,2,3]

1 comments:

fungsi group_concat_max_len

19:26 Unknown 0 Comments

Berawal ketika saya membuat pivot dynamic menggunakan group_concat ternyata data tidak bisa di tampilkan semua,hanya sebagian dan ternyata masalahnya ada di limit group_concat.
limit group_concat default nya 1024 karakter..

jadi solusinya naikan limit nya menggunkan syntax..

SET SESSION group_concat_max_len = 1073000;

0 comments:

Cara Instal Composer

19:22 Unknown 0 Comments

Cara Install Composer

Apa itu Composer ?? Merupakan php Dependency..

jika anda menggunakan sistem operasi windows anda tinggal download installer di sini

dan install seperti biasa

dan jika anda menggunakan sistem operasi berbasis linux atau sejenis nya lah.. :D

download composser

curl -sS https://getcomposer.org/installer | php


pindah kan composer.phar yang telah di download ke direktori user/local/bin/composer

mv composer.phar  /usr/local/bin/composer

jika sudah ketik composer jika muncul seperti di bawah..


0 comments:

Pivot Tabel Absen Finger print

23:12 Unknown 0 Comments

Membuat Pivot dari data absen finger

jika kita punya data absen finger seperti di bawah



lalu kita buat syntax sql nya

select no_absen,
  max(case when rownum = 1 then checktime end) Date1,
  max(case when rownum = 2 then checktime end) Date2,
  max(case when rownum = 3 then checktime end) Date3,
  max(case when rownum = 4 then checktime end) Date4
from(
select absenfinger.no_absen,
    absenfinger.checktime,
    @row:=if(@prev=date_format(absenfinger.checktime,'%Y-%m-%d'), @row,0) + 1 as rownum,
    @prev:=date_format(absenfinger.checktime,'%Y-%m-%d') as date
  from absenfinger JOIN rencanakerja ON absenfinger.no_absen = rencanakerja.no_absen,(SELECT @row:=0, @prev:=null) r
  WHERE date_format(absenfinger.checktime,'%Y-%m-%d')=date_format(rencanakerja.tanggal,'%Y-%m-%d')
    )s
    GROUP BY date
  order by no_absen, checktime

ini baru pivot static belum dinamis bray..





















0 comments:

parsing variabel php bertipe data string ke java script lewat onclick

23:54 Unknown 0 Comments

parsing variabel php bertipe data string ke java script lewat onclick

gunakan ini

echo '<div><span id="anything" onclick="updatePos(\''.$ratelink.'\')">Save</div>';

0 comments:

Project Laravel 404 notfound di ubuntu

22:59 Unknown 0 Comments

saat memindahkan project laravel dari windows ke ubuntu dan buat virtual host..
yang muncul hanya halaman utama saja dan tidak bisa akses ke url lain padahal route sudah ada..

Not Found

The requested URL /sim was not found on this server.

Apache/2.4.18 (Ubuntu) Server at localhost Port 80

caranya di virtual host yang anda buat ubah jadi seperti ini..

<Directory /var/www/html/public> <IfModule mod_rewrite.c> Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> </Directory>

dan pastikan sudah jalankan command a2enmod rewrite

0 comments:

18:55 Unknown 0 Comments

jika laravel error InvalidArgumentException in FileViewFinder.php line 137: View [welcome] not found.

kemungkinan view tidak ada atau

tambah ini di routes

Route::get('/cmd', function () {
    chdir('../');
    $dir =  getcwd();
    print_r($dir);
    $cmd = shell_exec ('php artisan cache:clear');
    return $cmd;
});

0 comments:

membuat halaman 404 di laravel 5

18:04 Unknown 0 Comments

pertama buka file app/Exception/Handler.php 
tambahkan use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

dan function

public function render($request, Exception $e) { if($e instanceof NotFoundHttpException) { return response()->view('404', [], 404); } return parent::render($request, $e); }

0 comments:

membuat lougout tidak bisa di back di laravel

18:03 Unknown 0 Comments

pertama...

buat middleware

di sini saya buat NoCache Middleware...

>>php artisan make:middleware NoCacheMiddleware

tambah kan fungsi seperti di bawah

>>
 public function handle($request, Closure $next)
    {
     
        $response = $next($request);
        $response->headers->set('Cache-Control','nocache, no-store, max-age=0, must-revalidate');
        $response->headers->set('Pragma','no-cache');
        $response->headers->set('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
        return $response;
   

    }

jika sudah ke tahap 2..
register middleware yg tadi di buat ke kernel.php

'nocache'=>\App\Http\Middleware\NoCacheMiddleware::class,
    ];

nocache adalah nama/alias midlleware yg saya buat.. (bebas namanya tdak sama dengan middleware juga ga papa)..

yg terakhir masukan middleware ke routes..

>>Route::group(['middleware' => ['web','auth','nocache']], function () {
   
     simpan semua route di sini yg udah login

});

0 comments:

Laravel 404 Not Found

17:03 Unknown 0 Comments

jika laravel di ubuntu hanya bisa akses public saja,,

solusi:

sudo chmod 777 /direktori laravel

sudo a2enmod rewrite

trus restart apache: sudo service apache2 restart

0 comments:

in_array di PHP

17:01 Unknown 0 Comments

Fungsi in_array di php

in_array di php untuk mencari nilai yang ada di dalam array.CMIIW

cek doc resminya guys in_array di PHP

Contoh:


<?php 
$hobi=['ngoding','futsal','nonton','nyanyi','tidur'];
$myhobi=in_array('tidur', $hobi);
$myhobi=($myhobi=true ?  "benar" :  "salah");
echo $myhobi;
?>
contoh di atas menghasilkan nilai true,,karena tidur ada di array hobi

0 comments:

Laravel-belongsToMany relasi

17:16 Unknown 0 Comments

ketika saya punya model Role dan punya fungsi relasi belongsToMany r_permission().


 public function r_permission()
  {
return $this->belongsToMany(Permission::class,'permission_role','role_id','permission_id');
    }

penjelasan:

parameter1:nama class relasi tujuan

parameter2:tabel pivot

parameter3:lokal key

parameter4:foreign key

menggunakan nya:


jika insert ke tabel pivot


$permission = Permission::where('namaPermission', $permission)->first();

$role = App\Role::where('namaRole', 'hrd')->first();

$role->r_permission()->attach($permission);

0 comments: