@return mixed
*/
public function upload()
{
if (Input::hasFile('file')) {
$currentUser = \Auth::user();
$avatar = Input::file('file');
$filename = 'avatar.'.$avatar->getClientOriginalExtension();
$save_path = storage_path().'/users/id/'.$currentUser->id.'/uploads/images/avatar/';
$path = $save_path.$filename;
$public_path = '/images/profile/'.$currentUser->id.'/avatar/'.$filename;
// Make the user a folder and set permissions
File::makeDirectory($save_path, $mode = 0755, true, true);
// Save the file to the server
Image::make($avatar)->resize(300, 300)->save($save_path.$filename);
// Save the public image path
$currentUser->profile->avatar = $public_path;
$currentUser->profile->save();
return response()->json(['path'=> $path], 200);
} else {
return response()->json(false, 200);
}
}
/**
Show user avatar.
@param $id
@param $image
@return string
*/
public function userProfileAvatar($id, $image)
{
return Image::make(storage_path().'/users/id/'.$id.'/uploads/images/avatar/'.$image)->response();
}`
web.php (route)
`// Registered, activated, and is current user routes.
Route::group(['middleware'=> ['auth', 'activated', 'currentUser']], function () {
// User Profile and Account Routes
Route::resource(
'profile',
'ProfilesController', [
'only' => [
'show',
'edit',
'update',
'create',
],
]
);
Route::put('profile/{username}/updateUserAccount', [
'as' => '{username}',
'uses' => 'ProfilesController@updateUserAccount',
]);
Route::put('profile/{username}/updateUserPassword', [
'as' => '{username}',
'uses' => 'ProfilesController@updateUserPassword',
]);
Route::delete('profile/{username}/deleteUserAccount', [
'as' => '{username}',
'uses' => 'ProfilesController@deleteUserAccount',
]);
// Route to show user avatar
Route::get('images/profile/{id}/avatar/{image}', [
'uses' => 'ProfilesController@userProfileAvatar',
]);
// Route to upload user avatar.
Route::post('avatar/upload', ['as' => 'avatar.upload', 'uses' => 'ProfilesController@upload']);
});`
File is present at:
ls -alth
total 24K
-rwxr-xr-x 1 www www 16K Oct 6 18:14 avatar.jpg
drwxr-xr-x 2 www www 512 Oct 2 13:37 .
drwxr-xr-x 3 www www 512 Oct 2 13:37 ..
<root@test-server :/usr/local/www/test-site.com/test.v210/storage/users/id/1/uploads/images/avatar> #
do i need to symlink or create the image folder in public ?
Do you have any way to install this awesome package on a different laravel installation without using the laravel you used?
Currently, if i try and log in or register via Facebook (only one i've tested so far) and decide not to share my email address with the site, Gravatar squawks at me instantly and I cannot view anything because the email address is an incorrect format for Gravatar.
"Please specify a valid email address (View: /Users/noreason/code/laravel-auth/resources/views/profiles/show.blade.php)"
in
/Users/noreason/code/laravel-auth/vendor/creativeorange/gravatar/src/Gravatar.php
The email address generated for this specific login was
I can solve the issue with workarounds, but I was just wondering if I am missing something somewhere?
Hi
i have a problem
after run "composer update" , I see this error :
composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Nothing to install or update
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Script php artisan optimize handling the post-update-cmd event returned with error code 255
and when i run artisan command nothing happens
thanks guys
vahid rezazadeh
Hi @jeremykenedy - Would it be possible for you to review how the databases and in particular permissions are seeded? Right now, we have the following code which seeds the initial database.
if (Permission::where('name', '=', 'Can View Users')->first() === null) {
Permission::create([
'name' => 'Can View Users',
'slug' => 'view.users',
'description' => 'Can view users',
'model' => 'Permission',
]);
}
Am never too keen to seed based on translatable strings, not very future proof and could result in errors.
I think the more appropriate way might be to use the slug as that remains a constant through the code and not an editable entity.
if (Permission::where('slug', '=', 'view.users')->first() === null) {
Permission::create([
'name' => 'Can View Users',
'slug' => 'view.users',
'description' => 'Can view users',
'model' => 'Permission',
]);
}
Thanks for your time and energy in creating this starter. :)
First of all great package, My issue is that I tried logging in via youtube. It goes through to google then gets the account but when returning back I get an error that reads
FatalErrorException in Provider.php line 77: Call to undefined method SocialiteProviders\YouTube\Provider::getAccessToken()
Talking to the guys over at draper studio who manage the socialite providers package. I believe this is due to using an older package. See https://github.com/SocialiteProviders/YouTube/issues/5.
i am getting this error when i press on activate account in the email sended to me , !
SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (admin_multiauth
.profiles
, CONSTRAINT profiles_theme_id_foreign
FOREIGN KEY (theme_id
) REFERENCES themes
(id
)) (SQL: insert into profiles
(user_id
, updated_at
, created_at
) values (2, 2017-10-07 15:26:00, 2017-10-07 15:26:00))
I've successfully run this app.
Now I just want to know ->
user A can't view user B information.
but admin can view all information and edit access.
getting Error on localhost/themes
Whoops, looks like something went wrong. 2/2 ErrorException in 0d7da4803c3fadc8dc0a815b1ea3db0e7dbc9c47.php line 75: Trying to get property of non-object (View: /laravel-auth/resources/views/themesmanagement/show-themes.blade.php)
Hello, I want to customize login page, I want to use custom attribute instead of email.
I changed something like this in views/auth/login:
<div class="form-group has-feedback">
{!! Form::label('ktp', Lang::get('auth.ktp') , array('class' => 'col-sm-4 control-label')); !!}
<div class="col-sm-6">
{!! Form::text('ktp', null, array('id' => 'ktp', 'class' => 'form-control', 'placeholder' => Lang::get('auth.ph_ktp'), 'required' => 'required',)) !!}
<span class="glyphicon glyphicon-envelope form-control-feedback" aria-hidden="true"></span>
</div>
</div>
And I always got:
Whoops! There were some problems with your input.
The email field is required.
Password Troubles?
How to customize it?
Hi I did a git clone with all the steps followed.
Currently stuck with this problem:
Expected response code 250 but got code "530", with message "530 5.7.1 Authentication required "
when working on a local dev it is impossable to get a api key for the captcha as they require a propper domain not a ip adress.
Hi,
I want to run without php artisan serve laravel and webpack mix, how to do that.
Email activation issue.
`
if (isset($this->params['stream_context_options'])) {
$options = array_merge($options, $this->params['stream_context_options']);
}
$streamContext = stream_context_create($options);
$this->stream = @stream_socket_client($host.':'.$this->params['port'], $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $streamContext);
if (false === $this->stream) {
throw new Swift_TransportException(
'Connection could not be established with host '.$this->params['host'].
' ['.$errstr.' #'.$errno.']'
);
}
if (!empty($this->params['blocking'])) {
stream_set_blocking($this->stream, 1);
} else {
stream_set_blocking($this->stream, 0);
}
stream_set_timeout($this->stream, $timeout);
$this->in = &$this->stream;
$this->out = &$this->stream;
}
`
great project we have some issue.
/var/www/mydomain.com/public_html/vendor/laravel/framework/src/Illuminate/Routing/Controller.php
"Method [throwValidationException] does not exist."
[Illuminate\Database\QueryException]
could not find driver (SQL: select * from information_schema.tables where table_sc
hema = laravelAuth and table_name = migrations)
[Doctrine\DBAL\Driver\PDOException]
could not find driver
[PDOException]
could not find driver
There us a great TOC generator script here:
https://github.com/ekalinin/github-markdown-toc
It will scan the README and pull out all the headings and link to them, formatting them in a structured way. As documents get bigger and more complex, it saves tonnes of time. Running it also helps to see the structure of the document and makes it easier to reorganise sections.
Here is a project I use it on (probably my longest github README). That TOC is auto-generated from the content, with no manual tweaks:
https://github.com/academe/omnipay-payone#table-of-contents
Below is what the script gives for this project. Whoops - it's a bit random and even confuses the markdown parser, because that is how the markdown heading markers have been used. In my experience, if you get a decent TOC out of the script, then the README is structured well and heading levels are used appropriately. Remember, header levels define the structure of a document, and are not just there for formatting. The links below don't do anywhere, because they are relative to the page they are on, but ignore that for now.
If you want to try using it, I'd be happy to edit some of the title heading levels.
Table of Contents
* [Laravel-Auth is a Complete Build of Laravel 5.4 with Email Registration Verification, Social Authentication, User Roles and Permissions, User Profiles, and Admin restricted user managment system.](#laravel-auth-is-a-complete-build-of-laravel-54-with-email-registration-verification-social-authentication-user-roles-and-permissions-user-profiles-and-admin-restricted-user-managment-system)
* [READY FOR USE!](#ready-for-use)
* [About](#about)
* [Features](#features)
* [A <a href="http://laravel.com/">Laravel</a> 5.4.x with minimal <a href="http://getbootstrap.com">Bootstrap</a> 3.7.x project.](#a-laravel-54x-with-minimal-bootstrap-37x-project)
* [Installation Instructions](#installation-instructions)
* [Rebuild Front End Assets with Mix](#rebuild-front-end-assets-with-mix)
* [Rebuilding the front end of that project is OPTIONAL and can be done using Laravel <a href="https://laravel.com/docs/5.4/mix">Mix</a> which is Elixers replacment.](#rebuilding-the-front-end-of-that-project-is-optional-and-can-be-done-using-laravel-mix-which-is-elixers-replacment)
* [Optionally Build Cache](#optionally-build-cache)
* [And thats it with the caveat of setting up and configuring your development environemnt. I recommend <a href="https://laravel.com/docs/5.4/homestead">Laravel Homestead</a>](#and-thats-it-with-the-caveat-of-setting-up-and-configuring-your-development-environemnt-i-recommend-laravel-homestead)
* [Seeds](#seeds)
* [Routes](#routes)
* [Authentication Routes](#authentication-routes)
* [Profile Routes](#profile-routes)
* [Admin User Management Routes](#admin-user-management-routes)
* [Admin Theme Routes](#admin-theme-routes)
* [Admin Tools Routes](#admin-tools-routes)
* [Admin Soft Deleted Users Management Routes](#admin-soft-deleted-users-management-routes)
* [Socialite](#socialite)
* [Get Socialite Login API Keys:](#get-socialite-login-api-keys)
* [Add More Socialite Logins](#add-more-socialite-logins)
* [<strong>Steps</strong>:](#steps)
* [Other API keys](#other-api-keys)
* [Environment File](#environment-file)
* [Laravel Developement Packages Used References](#laravel-developement-packages-used-references)
* [Updates:](#updates)
* [Screenshots](#screenshots)
* [Laravel Auth License](#laravel-auth-license)
* [About Laravel](#about-laravel)
* [Learning Laravel](#learning-laravel)
* [Contributing](#contributing)
* [Security Vulnerabilities](#security-vulnerabilities)
* [License](#license)
Laravel has a built-in way to translate plural text. At the moment you have this in a template:
@php
$levelAmount = trans('usersmanagement.labelUserLevel');
if ($user->level() >= 2) {
$levelAmount = trans('usersmanagement.labelUserLevels');
}
@endphp
{{ trans('usersmanagement.labelAccessLevel')}} {{ $levelAmount }}:
Several problems (if we are being pedantic, which we should be):
- The phrase is constructed from two parts put next to each other. That may not work in all languages as structure can change when phrases become plural.
- There is PHP in the view. Yuch!
Instead you can use this for the full phrase:
{{ trans_choice('usersmanagement.labelAccessLevel', $user->level()) }}
Then the English string would look like this:
'labelAccessLevel' => '[0,1]Access Level|[2,*]Access Levels',
The first [0,1] may not be needed. No additional PHP is needed.
In addition , __()
is a shortcut for trans()
, which can sometimes look neater (takes some words out of a busy view). In views it can be shorted to @lang()
(according to the docs, though never tried it):
@lang('usersmanagement.labelStatus')
I did a fresh install. login as Admin and select profile I get error 404. The user works fine.
I created a new admin user and can see his profile.
Is there a setting missing when the admin user is created.
Thanks.
I'm trying to include thedevdojo/chatter with this package and I'm getting error about the class web, After looking into the kernel.php I didn't find the $middlewareGroups , What should I do ?
I followed your instructions to a T and I am generating a 500 error when I added steam as a new auth provider. Any idea?
The social network login icons are all displayed through views, and can be easily removed by editing those views.
However, just removing the account details from .env
ought to remove the facility for logging in using those networks too. A github ID of "YOURIDHERE" is fine for demonstration out of the box, and takes the user to a 404 page with that ID, as you would expect. But if I set the Github ID to "", then it makes sense for Gibhub authentication to simply be disabled - no icons, no links, no Guthub registration.
Does that sound a sensible approach?
After submitting the registration, there is an error on the screen / activate.
What could be happening?
Thak you!
Error Printscreen
![activate](https://cloud.githubusercontent.com/assets/4714018/24770908/f543047e-1ae1-11e7-8efc-fb3f2d33e216.png)
How hard is converting this for laravel 5.0?
Hi , I am getting flowing error while sending emails (i.e) wherever the emails is triggered in application
Error :
Swift_TransportException in AbstractSmtpTransport.php line 383:
Expected response code 220 but got code "", with message ""
in AbstractSmtpTransport.php line 383
at Swift_Transport_AbstractSmtpTransport->_assertResponseCode('', array('220')) in AbstractSmtpTransport.php line 289
at Swift_Transport_AbstractSmtpTransport->_readGreeting() in AbstractSmtpTransport.php line 117
at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79
how to add a new role lets say "half admin" , that will have permissions more then the user but less then admin ? what would i need to add to get there ? thanks
hey your code is very clean and good. some how i am newbie and i can't get the logic to get diferents providers to social_id and avatar rows in social_login. can you give the logic? just the concept
i has very near but the code was continued add new rows dont know how to check
[(http://pastebin.com/rPYtdgLd)]
thanks!
Hello,
Just tried a new installation and I got this error:
ErrorException in SendActivationEmail.php line 50:
Trying to get property of non-object
in SendActivationEmail.php line 50
at HandleExceptions->handleError(8, 'Trying to get property of non-object', '/var/www/servicebucket/app/Notifications/SendActivationEmail.php', 50, array('notifiable' => object(User), 'message' => object(MailMessage))) in SendActivationEmail.php line 50
Its related to namespacing ..
Shouldnt it work out of the box or I have to adjust something ?
What you think
Thanks
Sergiu
![screen shot 2017-04-21 at 14 34 55](https://cloud.githubusercontent.com/assets/2030016/25279886/dfc6e10a-269f-11e7-8f05-9873ce36d46e.png)
Recommend Projects
-
-
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
An Open Source Machine Learning Framework for Everyone
-
The Web framework for perfectionists with deadlines.
-
A PHP framework for web artisans
-
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
Some thing interesting about web. New door for the world.
-
A server is a program made to process requests and deliver data to clients.
-
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Some thing interesting about visualization, use data art
-
Some thing interesting about game, make everyone happy.
-
Recommend Org
-
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Open source projects and samples from Microsoft.
-
Google โค๏ธ Open Source for everyone.
-
Alibaba Open Source for everyone
-
Data-Driven Documents codes.
-
China tencent open source team.
-