<?php
/*
Route::group(['middleware' => ['admin']], function () {
Route::get('admin/dashboard', ['as'=>'admin.dashboard','uses'=>'AdminController@dashboard']);
Route::get('admin/test', function () {
return 'Admin Page';
$user = auth()->user();
dd($user);
});
});
Route::post('forget_password', ['as'=>'user2.auth_forgot','uses'=>'User2LoginController@forget_password']);
Route::resource('password_reset', 'password_reset\password_resetController');
*/
include_once(app_path().'/Http/Controllers/Common/helper.php');
/*
Route::get('/', function (Request $request) {
var_dump($request->getHost());
echo "url is " , url()->current() , "\n";
var_dump($request->url());
var_dump($request->root());
//var_dump($_SERVER);
//var_dump($request);
return <<<HTML
<h1>Hello world</h1>
HTML;
});
*/
//return ;
//optional/arg2/asd/1/2
Route::get('optional/arg2/{name?}/{id?}/{c?}', function ($name = null,$id = null,$c = null) {
var_dump($name);
var_dump($id);
var_dump($c);
echo '<br>';
return 'optional'. $name;
});
$optional2=function ($name = null,$id = null,$c = null) {
var_dump($name);
var_dump($id);
var_dump($c);
echo '<br>';
return 'optiona2'. $name;
};
//optional2/arg2/asd/1/2
Route::get('optional2/arg2/',$optional2);
Route::get('optional2/arg2/{name}',$optional2);
Route::get('optional2/arg2/{name}/{id}',$optional2);
Route::get('optional2/arg2/{name}/{id}/{c}',$optional2);
Route::get('/routes', function ( Request $request ){
var_dump($request->url());
return 'routes';
});
Route::get('/routes/index', function ( Request $request ){
var_dump($request->url());
return 'routes/index';
});
Route::get('/routes/create', function ( Request $request ){
var_dump($request->url());
return 'routes/create';
});
Route::get('/routes/{id}', function ($id1, Request $request ){
var_dump($id1);
var_dump($request->url());
return 'routes/1';
});
Route::get('/routes/{id}/edit', function ($id1, Request $request ){
var_dump($id1);
var_dump($request->url());
return 'routes/1/edit';
});
//routes/1/test/3/test2/2
Route::get('/routes/{id1}/test/{id3}/test2/{id2}', function ($id1,$id2,Request $request,$id3){///routes/1/test/3/test2/2
var_dump($id1);
var_dump($id2);
var_dump($id3);
//var_dump($request->url());
//var_dump($request->session->getId() );
//var_dump($request->session->token() );
//var_dump($request->session->get('asd',null) );
//var_dump($request->session->get('arr',null) );
//return 'ok';
$request->session->save( );
//View::share('shared_data', 'share data on the fly');
$view = View::make('home',['test'=>$request->url(),'arr'=>[1,2,3,4] ]);
return $view->render();
});
//return ;
//admin/news
Route::group(['namespace' => 'Admin','middleware'=>['demo','web']], function(){
Route::get('admin/news', [ 'uses' => 'NewsController@index' ]);
Route::get('admin/users', [ 'uses' => 'UserController@index' ]);
});
Route::match(['get', 'post'], '/match', function(Request $request){
$url=$request->url();
if($request->getrequestMethod()=='POST'){
var_dump($request->field1);
return 'Match post<br/><a href="'.$url .'" >Back</a>';
}else{
return "
<form action=\"$url\" method=\"POST\" >
<input type=\"hidden\" name=\"field1\" value=\"form_data\" /><br/>
Match get
<input type=\"button\" onclick=\"document.forms[0].submit();\" value=\"submit\" />
</form>
";
}
});
Route::any('/any', function(Request $request){
$url=$request->url();
if($request->getrequestMethod()=='POST'){
var_dump($request->field1);
return 'Any post<br/><a href="'.$url.'" >Back</a>';
}else{
return "
<form action=\"$url\" method=\"POST\" >
<input type=\"hidden\" name=\"field1\" value=\"form_data\" /><br/>
Any get
<input type=\"button\" onclick=\"document.forms[0].submit();\" value=\"submit\" />
</form>
";
}
});
Route::get('/delete', function(Request $request){
$url=$request->url();
return "
<form action=\"$url\" method=\"POST\" >
<input type=\"hidden\" name=\"_method\" value=\"DELETE\">
<input type=\"hidden\" name=\"field1\" value=\"form_data\" /><br/>
Delete
<input type=\"button\" onclick=\"document.forms[0].submit();\" value=\"submit\" />
</form>
";
});
Route::delete( '/delete', function(Request $request){
var_dump($request->field1);
$url=$request->url();
return 'Deleted<br/><a href="'.$url.'" >Back</a>';
});
//books/shelf/1
//books/shelf/store/1
//books/store/1
Route::group(['prefix' => 'books'], function () {
Route::group(['prefix' => 'shelf'], function () {
// First Route
Route::get('/1', function () {
return 'Books/Shelf/1';
});
Route::group(['prefix' => 'store'], function () {
// First Route
Route::get('/1', function () {
return 'Books/Shelf/Store/1';
});
});
});
// Second Route
Route::get('/1', function () {
return 'Books 1';
});
Route::group(['prefix' => 'store'], function () {
// Third Route
Route::get('/1', function () {
return 'Books/store/1';
});
});
});
//files/1
Route::get('/files/{id}', function ($id) {
var_dump($id);
//var_dump( asset('storage/file.txt'));
Storage::disk('local')->put('file.txt', 'Contents');
Storage::put('files/file.txt', 'File Contents');
$contents = Storage::get('files/file.txt');
//$url = Storage::temporaryUrl( 'files/file.txt', now()->addMinutes(5) );
//$path = $request->file('avatar')->store('avatars');
//$path = Storage::putFile('avatars', $request->file('avatar'));
Storage::delete('files/file.txt');
//$path = Storage::putFileAs( 'avatars', $request->file('avatar'), $request->user()->id );
return $contents.':'.$id;
return $id;
});
//files2/1?head=test
Route::get('/files2/{id}', function (Request $request,$id) {
var_dump($request->input('head'));
var_dump($request->url());
return $id;
});
Route::get('/data', function (Request $request ) {
$url=$request->url();
return "
<form action=\"$url?route=fileupload\" enctype=\"multipart/form-data\" method=\"POST\" >
<input type=\"hidden\" name=\"field1\" value=\"form_data\" /><br />
<input multiple name=\"userfile[]\" type=\"file\" /><br />
<script type=\"text/javascript\">
// alert(document.forms[0]['field1'].value);
</script>
<input type=\"button\" onclick=\"document.forms[0].submit();\" value=\"submit\" />
</form>
";
});
Route::post('/data', function (Request $request ) {
//return json_encode($request);
//return $request->input('a');
//var_dump($_FILES);
if($request->hasFile('userfile')) {
$doc=$request->file('userfile') ;
var_dump($doc);
if(!is_array($doc)){
//$filename= $doc->getClientOriginalExtension();
$filename=$doc->getClientOriginalName() ;
var_dump($filename);
//$doc->move(__DIR__ . '/../storage/app/public',$filename);
//$path = Storage::putFileAs('avatars', $doc ,$filename );
$filename=uniqid().'.'.$file->getClientOriginalExtension() ;
//$path = Storage::putFileAs( $doc ,$filename );
$newfilename = $doc->store( );
//var_dump($newfilename);
}else{
foreach($doc as $file){
$filename=$file->getClientOriginalName() ;
var_dump($filename);
//$file->move(__DIR__ . '/../storage/app/public',$filename);
//$path = Storage::putFileAs('avatars', $file ,$filename );
$filename=uniqid().'.'.$file->getClientOriginalExtension() ;
//$path = Storage::putFileAs( $file ,$filename );
//$newfilename = $file->store( );
//$newfilename = $file->store('docs' );
$newfilename = $file->store('docs', 'public' );//path,disk
Storage::move($newfilename, 'docs/moved_'.uniqid().'.'.$file->getClientOriginalExtension());
var_dump($newfilename);
}
}
}
// var_dump($request->files);
return count($request->files);
});
Route::get('photo', function (Request $request ) {
//Storage::delete('avatars/logo.png' );
$Photo=Storage::get('logo.png' );
//var_dump($Photo);
//header('Content-Type: image/jpeg');
//return $Photo;
//$contents = Storage::get('logo.png');
//$affected = DB::update('update employee set signature=? where EmpId = ?', [$contents, 5]);
//$employee = DB::select('select signature from employee where EmpId = ?',[5 ]);
// if($employee && count($employee)>0){
// $Photo=$employee[0]->signature;
// }
if(!isset($Photo)){
//url('/').'/assets/No_Image_200x150.png';
//storage_path().
$Photo=file_get_contents(public_path().'/assets/No_Image_200x150.png');
}
return response($Photo)->withHeaders([
'Content-Type' => 'image/jpeg',
]);
});
Route::post('logout', function (Request $request ) {
auth()->logout();
return redirect('home');
});
View::share('shared_data', 'shared accross all views');
Route::pattern('id', '[0-9]+');// Only called if {id} is numeric.
//Route::resource('rc/resource', 'ResourceController');
//Route::any('API/rc/resource', 'ResourceController@API');
Route::get('/home', 'HomeController@index') ;
Route::get('send_error_report', function (Request $request) {
var_dump($request->input('error_file'));
//var_dump($request);
});
// Registration Routes...
Route::get('/register', 'Auth\\RegisterController@showRegistrationForm') ;
Route::post('/register', 'Auth\\RegisterController@register') ;
// Authentication Routes...
Route::get('/login', 'Auth\\LoginController@index') ;
Route::post('/login', 'Auth\\LoginController@login') ;
//validatortest/create
Route::get('validatortest/create', 'ValidatorTestController@create');
Route::post('validatortest', 'ValidatorTestController@store');
//Route::get('/home', 'HomeController@index') ;
//rc/resource/123/asd/m
Route::resource('rc/resource', 'ResourceController',['parameters' => [ "extra" => 'template_1' ]]);
Route::any('API/rc/resource', 'ResourceController@API');
Route::get('rc/resource/{id}/{id2}/m', 'ResourceController@method_test');
Route::group(['middleware' => ['web']], function ( ) {
Route::get('/test1', function ( Request $request ) {
//return 'middleware_web_ok' ;
return view('home',['test'=>$request->url(),'arr'=>[1,2,3,4] ]);
});
Route::group(['middleware' => ['admin']], function ( ) {
Route::get('/test2', function ( Request $request ) {
//var_dump($middleware1);
//var_dump($middleware2);
return 'middleware_web_admin_ok' ;
});
});
Route::group(['middleware' => ['user']], function ( ) {
Route::get('/test3', function ( Request $request ) {
//var_dump($middleware1);
//var_dump($middleware2);
return 'middleware_web_user_ok' ;
});
Route::group(['middleware' => ['demo']], function ( ) {
Route::get('/test4', function ( Request $request ) {
//var_dump($middleware1);
//var_dump($middleware3);
return 'middleware_web_user_demo_ok' ;
});
});
});
Route::get('/test5', function ( Request $request ) {
//var_dump($middleware1);
return 'middleware_web_ok' ;
});
});
/*
Subdomain Routing
http://www.w3programmers.com/laravel-route-groups/
file: C:\Windows\System32\Drivers\etc\hosts
127.0.0.1 fakebook.dev
127.0.0.1 asd.fakebook.dev
127.0.0.1 qwe.fakebook.dev
::1 localhost
File Path : /apache/conf/extra/httpd-vhosts.conf or httpd.conf
<VirtualHost *:80>
DocumentRoot "C:\xampp\htdocs\laranopea\public"
ServerName fakebook.dev
<directory "C:\xampp\htdocs\laranopea\public">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
*/
Route::group(['domain' => 'fakebook.dev'], function(){
Route::any('/', function(){
return 'My own domain';
});
});
Route::group(['domain' => '{username}.fakebook.dev'], function(){
Route::any('/', function($username){
return 'You visit your account: '. $username;
});
$data_user = [
'asd' => [
'profile' => ' a cute programmer. ',
'status' => [ 'I\'m cool!', 'I\'m cool very Cool!', 'Fantastic!']
],
'qwe' => [
'profile' => 'a boss programmer.' ,
'status' => [ 'Sweet!', 'Today is incredible!', 'Nice ..']
]
];
Route :: get ( 'profile', function ($username) use ($data_user){
return $username." is a ".$data_user[$username] [ 'profile'];
});
Route :: get ('status', function ($username ) {
return $username. ' selected no status: ' ;
});
Route :: get ('status/{id}', function ($username, $id) use ($data_user){
return $username. ' writes: '. $data_user [$username] ['status'] [$id];
});
});
//return;
Route::get('/', function (Request $request) {
return redirect('home');
var_dump($request->getHost());
//var_dump(debug_backtrace());
echo "<pre>";
//debug_print_backtrace();
// print backtrace, getting rid of repeated absolute path on each file
$e = new Exception();
//echo $e->getTraceAsString() ;
//print_r(str_replace('/path/to/code/', '', $e->getTraceAsString()));
//var_dump($e->getTraceAsString());
function debug_backtrace_string() {
$stack = '';
$i = 1;
$trace = debug_backtrace();
unset($trace[0]); //Remove call to this function from stack trace
foreach($trace as $node) {
/*
if(isset($node['file'])) {
$stack .= "#$i ". $node['file'] ."(" .$node['line']."): ";
}
if(isset($node['class'])) {
$stack .= $node['class'] . "->";
}
$stack .= $node['function'] . "()" . PHP_EOL;
*/
$stack .="#$i " ;
foreach($node as $k=>$v){
if(!is_array($v) && !is_object($v)){
$stack .= $k . "=" .$v. "\t";
}
}
$stack .= PHP_EOL;
$i++;
}
return $stack;
}
echo debug_backtrace_string();
echo "</pre>";
echo "url is " , url()->current() , "\n";
var_dump($request->url());
var_dump($request->root());
var_dump($_SERVER);
var_dump($request);
return <<<HTML
<h1>Hello world</h1>
HTML;
});
//return ;
for($i=0;$i<10000;$i++){//10000
//route9999/321/test/123/test2/qwe
Route::get('/route'.$i .'/{id}/test/{id3}/test2/{id2}', function ($id,Request $request ) use($i) {
return $i .':' . $id;
});
}
|