Webiondev123

Experience

7,230

0 Best Reply Awards

  • Member Since 11 Months Ago
  • 17 Lessons Completed
  • 0 Favorites

20th September, 2018

Webiondev123 started a new conversation Help Me Validate My Form Pls • 1 month ago

I want to validate my form once it submits to this function. Is this correct way?


  public function report_write(){

      
        //validate
    Validator::make($data, [
            'name' => 'required|string|max:1000',
            'email' => 'required|string|email|max:255|unique:users',
            'password' => 'required|string|min:6|confirmed',
            'city'=>'required|string|max:255',
            'country'=>'required|string|max:255',
            'type'=>'required',
            'occupation'=>'required|string|max:255',
            'file' => 'required | image|max:1000',

        ]);    

        //save
    $newUser= User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'city'=> $data['city'],
            'country'=>$data['country'],
            'type'=>$data['type'],
            'occupation'=>$data['occupation'],
          
       
            'file'=>$file,
            
        ]); 

        return redirect()->back()->with('message', 'report submitted');
    
            }

10th September, 2018

Webiondev123 left a reply on Autoload.php Fail • 1 month ago

<?php



define('LARAVEL_START', microtime(true));



require __DIR__.'/../vendor/autoload.php';



$app = require_once __DIR__.'/../bootstrap/app.php';



$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);



Webiondev123 left a reply on Autoload.php Fail • 1 month ago

@nadj i am now having another problem

when I fix path in localhost as

require __DIR__.'/vendor/autoload.php';

It gives error in production saying autoload not found. but when I revert back to

require __DIR__.'/../vendor/autoload.php';

localhost gives the same error

7th September, 2018

Webiondev123 left a reply on Autoload.php Fail • 1 month ago

in C:\wamp\www\fundtheneedy

Webiondev123 left a reply on Autoload.php Fail • 1 month ago

I ran dump command


c:\wamp64\www\fundtheneedy>composer dump-autoload
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover
Discovered Package: fideloper/proxy
Discovered Package: intervention/image
Discovered Package: khill/lavacharts
Discovered Package: laravel/scout
Discovered Package: laravel/tinker
Discovered Package: nesbot/carbon
Package manifest generated successfully.

still same problem

Webiondev123 left a reply on Autoload.php Fail • 1 month ago

yes i did... composer install composer update

Webiondev123 left a reply on Autoload.php Fail • 1 month ago

what?

Webiondev123 started a new conversation Autoload.php Fail • 1 month ago

I have tried everything

still doesnt work

my autoload.php file in vendor folder contains

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit2ae5c5c1e631de0cea8c30d579d66b7e::getLoader();

WHen I try to load my website on localhost


( ! ) Warning: require(C:\wamp\www\fundtheneedy/../vendor/autoload.php): failed to open stream: No such file or directory in C:\wamp\www\fundtheneedy\index.php on line 24
Call Stack
#   Time    Memory  Function    Location
1   0.0009  364864  {main}( )   ...\index.php:0

( ! ) Fatal error: require(): Failed opening required 'C:\wamp\www\fundtheneedy/../vendor/autoload.php' (include_path='.;C:\php\pear') in C:\wamp\www\fundtheneedy\index.php on line 24
Call Stack
#   Time    Memory  Function    Location
1   0.0009  364864  {main}( )   ...\index.php:0

20th June, 2018

Webiondev123 started a new conversation I Need Your Expert Feedback For My Site • 4 months ago

Hi

I need your expert feedback for my site. I want to market it

https://www.fundtheneedy.com

18th June, 2018

Webiondev123 left a reply on How To Delete Message For Only One Side? • 4 months ago

Thanks that's an idea! Will try this

Webiondev123 left a reply on How To Delete Message For Only One Side? • 4 months ago

@Cronix heres my current code

  public function deletemessage($id){

        $msg=Message::find($id);

        if($msg->delete()){
        $count=Message::where('to_', "=", auth()->user()->id)->whereNull('message.deleted_at')->where('status', '=', '0')->count();
        if($count>0)                  
            Session::put('count', ($count-1));
        return redirect()->back()->with('message', 'message deleted');

        }

    }

Webiondev123 left a reply on Insert Foreign Characters • 4 months ago

I solved it. I was not using the utf8 for all related tables

Webiondev123 started a new conversation How To Delete Message For Only One Side? • 4 months ago

I am using soft deletes but when I delete for a user the message is deleted for the other user as well. I want the message to be deleted only for the user who deletes it.

How can I achieve this?

Thanks

Webiondev123 started a new conversation Insert Foreign Characters • 4 months ago

Hi

I am trying to insert a value to my name filed in a foreign language.

My code when post

    $ItemName_cn = addslashes(utf8_encode($_POST['ItemName_cn']));

My code when read

$ItemName_cn = str_replace('"', "&quot;", stripslashes(utf8_decode($item_row['ItemName_cn'])));

Database Name Field set to utf8_unicode_ci

But once insert its showing garbage

失落�??�?�??�??�?�?

What am I doing wrong?

Thanks

16th June, 2018

Webiondev123 started a new conversation How Can I Transfer Laravel App To Google Cloud Platform (GCP)? • 4 months ago

I am completely new to GCP. Is there any way I can achieve this? I just want to migrate everything related to my webapp in laravel to GCP. Now I am using forge and linode.

13th June, 2018

Webiondev123 left a reply on How Can I Charge Any Credit/debit Card In The World? • 4 months ago

@pardeepkumar @bobbybouwmann

Is there something like this where buyer only enter the credit card and my system after charging it shows him the receipt/success...I dont want the buyer to go through logging into paypal or something..

Webiondev123 started a new conversation How Can I Charge Any Credit/debit Card In The World? • 4 months ago

How can I charge any credit/debit card in the world in checkout when user clicks pay in laravel?

Webiondev123 left a reply on Verification Email Not Being Sent • 4 months ago

@rin4ik Ok Is my code wrong ...I already started queue in forge but still not coming

12th June, 2018

Webiondev123 started a new conversation Verification Email Not Being Sent • 4 months ago

The database user table is inserted with the email token but I dont receive verification email. I only receive registration success email. Here is my code:

SendVerification.php

use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Mail;
use App\Mail\EmailVerification;

class SendVerificationEmail implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    /**
     * Create a new job instance.
     *
     * @return void
     */
    protected $user;
    public function __construct($user)
    {
        $this->user = $user;
    }



    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        $email = new EmailVerification($this->user);
Mail::to($this->user->email)->send($email);
    }
}

Here is EmailVerification

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
use App/User;
class EmailVerification extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    protected $user;
    public function __construct(User $user)
    {
         $this->user = $user;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        
    return $this->view('emailverify')->with([
'email_token' => $this->user->email_token,
]);
        
    }
}

Here is my route

Route::get('/verifyemail/{token}', 'Auth\[email protected]');

Here is my register ad verify methods

    public function register(Request $request)
{
        $this->validator($request->all())->validate();
        event(new Registered($user = $this->create($request->all())));
        dispatch(new SendVerificationEmail($user));
        return view('verification');
        }
        /**
        * Handle a registration request for the application.
        *
        * @param $token
        * @return \Illuminate\Http\Response
        */
        public function verify($token)
        {
        $user = User::where('email_token',$token)->first();
        $user->verified = 1;
        if($user->save()){
        return view('emailconfirm',['user'=>$user]);
        }

}

10th June, 2018

Webiondev123 left a reply on How To Update Table In Linode? • 4 months ago

Hi Snapey. Which folder I run php artisan

Webiondev123 started a new conversation How To Update Table In Linode? • 4 months ago

Hi.

I am able to create new table locally and once migrate refresh it shows in linode however if I add a new field in a table migrating doesnt show update in linode. What can I do?

3rd June, 2018

Webiondev123 left a reply on Return Types • 4 months ago

@topvillas

Type of results?

$results = DB::select( DB::raw("SELECT * FROM some_table WHERE some_col = '$someVariable'") );

Type of flight?

$flights = App\Flight::all();

Type of users?

$users = DB::table('users')->get();

Type of users?

return view('user.index', ['users' => $users]);

Webiondev123 started a new conversation Return Types • 4 months ago

Hi. Often I get confused and misguided reading laravel doc. Help me understand the return types of following:

  1. Database builder query
  2. Raw query
  3. Eloquent query
  4. Passing data with view

Thanks

25th May, 2018

Webiondev123 started a new conversation Pay With Credit Cards Globally From Any Where • 4 months ago

I want to pay with manjor credit/debit cards globally from anywhere. How can i achieve this? Do I have t go through every local banks?

16th May, 2018

Webiondev123 started a new conversation Login Test Failed • 5 months ago

 public function testLoginPost(){
    Session::start();
    $response = $this->call('POST', 'login', [
        'email' => '[email protected]',
        'password' => '123456',
        '_token' => csrf_token()
    ]);
    $this->assertEquals(200, $response->getStatusCode());
    $this->assertEquals('auth.login', $response->original->name());
}

output

 public function testLoginPost(){
    Session::start();
    $response = $this->call('POST', 'login', [
        'email' => '[email protected]',
        'password' => '123456',
        '_token' => csrf_token()
    ]);
    $this->assertEquals(200, $response->getStatusCode());
    $this->assertEquals('auth.login', $response->original->name());
}

15th May, 2018

Webiondev123 left a reply on Phpunit Testing Cannot Find File And Cannot Test Globally • 5 months ago

From windows command line it givs

c:\wamp64\www\fundtheneedy>vendor/bin/phpunit
'vendor' is not recognized as an internal or external command,
operable program or batch file.

Also where do I create .bashrc file? in my root laravel app? That makes it .bashrc.sh which I tried but still not working

14th May, 2018

Webiondev123 started a new conversation Phpunit Testing Cannot Find File And Cannot Test Globally • 5 months ago

I am unable to run phpunit test from root folder but when I change to vender/bin I can run phpunit but cannot test. It says cannot open file

5th May, 2018

Webiondev123 started a new conversation Where Is The Parameter In This Function? • 5 months ago

Shouldnt there be a parameter passed here

position=value;
navigator.geolocation.getCurrentPosition(showPosition(position));

What kind of programming is this?

<script>
var x = document.getElementById("demo");
function getLocation() {
    if (navigator.geolocation) {
        navigator.geolocation.getCurrentPosition(showPosition);
    } else {
        x.innerHTML = "Geolocation is not supported by this browser.";
    }
}
function showPosition(position) {
    x.innerHTML = "Latitude: " + position.coords.latitude + 
    "<br>Longitude: " + position.coords.longitude; 
}
</script>

6th April, 2018

Webiondev123 started a new conversation How Can I Change Login Table For Admin? • 6 months ago

Now users are logging in using the User model which referes user table. But I want admin to use anther table to login..how can this be achieved?

Thanks

4th April, 2018

Webiondev123 left a reply on How To Rewriterule For Localhost? • 6 months ago

Still not working

Heres my full .htaccess

AddType application/x-httpd-php .xml
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/webmin
RewriteRule (.*) https://dev.boocak.com%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} ^/webmin
RewriteRule (.*) http://dev.boocak.com%{REQUEST_URI} [L,R=301]

RewriteRule ^webmin/$ webmin/index.php [L]

RewriteRule ^captcha/([^/]*)/([^/]*)/([^/]*)/$ CaptchaSecurityImages.php?width=&height=&characters= [L]
RewriteRule ^ajax/([^/]*)/$ ajax.php?action= [L]

RewriteRule ^listing-info-([^/]*)/([^/]*)/([^/]*)/$ product_info.php?name=&uid=&msg= [L]
RewriteRule ^listing-info-([^/]*)/([^/]*)/$ product_info.php?name=&uid= [L]
RewriteRule ^listing/([^/]*)/$ products.php?s= [L]
RewriteRule ^listing/$ products.php [L]

RewriteRule ^checkout/$ checkout.php [L]
RewriteRule ^checkout/step2/([^/]*)/$ checkout-step2.php?msg= [L]
RewriteRule ^checkout/step2/$ checkout-step2.php [L]
RewriteRule ^checkout/step3/$ checkout-step3.php [L]
RewriteRule ^checkout/process/$ checkout-process.php [L]
RewriteRule ^senangpay/$ senangpay-process.php [L]
RewriteRule ^thank-you/([^/]*)/$ checkout-complete.php?ON= [L]

RewriteRule ^login/([^/]*)/$ login.php?msg= [L]
RewriteRule ^login/$ login.php [L]
RewriteRule ^booking-details/$ booking-details.php [L]
RewriteRule ^booking-download/$ booking-download.php [L]

RewriteRule ^request-booking/([^/]*)/$ request-booking.php?msg= [L]
RewriteRule ^request-booking/$ request-booking.php [L]

RewriteRule ^([^/]*)/([^/]*)/$ content.php?pagename=&msg= [L]
RewriteRule ^([^/]*)/$ content.php?pagename= [L]

Addtype plain/text .xml

IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*

<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName JustSimple

Webiondev123 started a new conversation How To Rewriterule For Localhost? • 6 months ago

How can I rewriterule for localhost once I downloaded files from server?

this is what I need changed to localhost. This is now in server form

ewriteEngine on
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/webmin
RewriteRule (.*) https://dev.boocak.com%{REQUEST_URI} [L,R=301]

I want localhost to land on index.php

2nd April, 2018

Webiondev123 started a new conversation How Can You Test PHP Payment System ? • 6 months ago

How can I test the PHP payment system which once card details are entered directs to bank payment gateway?

31st March, 2018

Webiondev123 started a new conversation Unable To Deploy To Forge With Multiple Databases • 6 months ago

Illuminate\Database\QueryException  : SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'password_resets' already exists (SQL: create table `password_resets` (`email` varchar(255) not null, `token` varchar(255) not null, `deleted_at` timestamp null, `created_at` timestamp null) default character set utf8mb4 collate utf8mb4_unicode_ci)

  at /home/forge/admin.fundtheneedy.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php: 664
    660|         // If an exception occurs when attempting to run a query, we'll format the error
    661|         // message to include the bindings with SQL, which will make this exception a
    662|         // lot more helpful to the developer instead of just the database's errors.
    663|         catch (Exception $e) {
  > 664|             throw new QueryException(
    665|                 $query, $this->prepareBindings($bindings), $e
    666|             );
    667|         }
    668|

  Exception trace:

  1   PDOException::("SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'password_resets' already exists")
      /home/forge/admin.fundtheneedy.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 458

  2   PDOStatement::execute()
      /home/forge/admin.fundtheneedy.com/vendor/laravel/framework/src/Illuminate/Database/Connection.php : 458

  Please use the argument -v to see more details.


Got two databases in database.php

27th March, 2018

Webiondev123 started a new conversation Add Multiple Columns In Geochart Lavachart • 6 months ago

 $data= Stat::select("country as 0","category as 1", "count as 2")->get()->toArray();

           


        $need_stat->addStringColumn('country')
          ->addStringColumn('category')
          ->addNumberColumn('count');
      

        $need_stat->addRows($data);
           
         $stat->GeoChart('need_stat', $need_stat);

But it is not adding as I expect.

Country should be country

Category has following:

community charity science .....

Count has count for each of those categories

I am unable to display like this

UK community: 1 charity: 2

on the geochart

Its just showing

community 1

Webiondev123 left a reply on SQLSTATE[42S02] • 6 months ago

Create the table cruds and then create the model and fill the necessary columns

26th March, 2018

Webiondev123 left a reply on Help Me Pass The Data To Lavachart Geochart • 6 months ago

Ok I just need to add count

User::join('need', 'need.user_id', '=', 'users.id')->select('users.country as 0', 'need.category as 1')->get()->toArray();

Webiondev123 left a reply on Help Me Pass The Data To Lavachart Geochart • 6 months ago

These what I tried

https://ibb.co/ipdGkS

Webiondev123 left a reply on Help Me Pass The Data To Lavachart Geochart • 6 months ago

 $data= DB::table('users')->join('need', 'users.id', '=', 'need.user_id')->select('users.country',DB::raw(count('need.category') ))->get()->toArray();  


Still error

Type error: Argument 1 passed to Khill\Lavacharts\DataTables\DataTable::addRow() must be of the type array or null, object given,

Webiondev123 started a new conversation Help Me Pass The Data To Lavachart Geochart • 6 months ago

I need something like this

 $lava = new Lavacharts; 


$popularity = $lava->DataTable();
$data = CountryUser::select("name as 0","total_users as 1")->get()->toArray();


$popularity->addStringColumn('Country')
           ->addNumberColumn('Popularity')
           ->addRows($data);


$lava->GeoChart('Popularity', $popularity);

I am trying this

 $stat = new Lavacharts;
       $need_stat=$stat->DataTable();


       $data= DB::select('SELECT user_id,category as 0, count(*) as Count as 1 FROM need group by category having user_id in(select id from users)');

       $need_stat->addStringColumn('Category')
           ->addNumberColumn('Count')
           ->addRows($data);


        $stat->GeoChart('Need', $need_stat);

What I need to display is this

Country: value
category1: count1
category2: count2
.....

Please help me solve this

Thanks

25th March, 2018

Webiondev123 left a reply on Raw Query Giving Error When Passed To View • 6 months ago

just this

{{$data}}

24th March, 2018

Webiondev123 started a new conversation Raw Query Giving Error When Passed To View • 6 months ago

htmlspecialchars() expects parameter 1 to be string, array given

My controller

public function stat(){



       $data= DB::select('SELECT user_id,category, count(*) FROM need group by category having user_id in(select id from users)');


      
        return view('stat')->with('data', $data);
        }

Webiondev123 started a new conversation Why Can't I Connect And R/w From My Other Database? • 6 months ago

I am connecting through database admin_fn but I cannot read from other database fn


class User extends Authenticatable //admn user table (mysql2)
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    use SoftDeletes;

    protected $dates = ['deleted_at'];
    
    protected $fillable = [
        'name', 'email', 'password','city', 'country', 'type','occupation','deleted_at', 'file' 
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

        'mysql' => [
              'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'fn'),
            'username' => env('DB_USERNAME', 'user'),
            'password' => env('DB_PASSWORD', 'pass'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
],

       'mysql2' => [
              'driver' => 'mysql',
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'admin_fn'),
            'username' => env('DB_USERNAME', 'user'),
            'password' => env('DB_PASSWORD', 'pass'),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'strict' => true,
            'engine' => null,
],

DB_CONNECTION=mysql2
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=admin_fn
DB_USERNAME=root
DB_PASSWORD=root


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=fn
DB_USERNAME=root
DB_PASSWORD=root


    public function listuser()
    {

        $data=DB::Connection('mysql2')->table('users')->select('id', 'name', 'email', 'occupation', 'city', 'country', 'type', 'file')->paginate(10); 
        return view('userslist')->with('data', $data);
    }

It is returning me only from mysql users which is database fn

22nd March, 2018

Webiondev123 started a new conversation How Do You Make Search Engine Hit Your Laravel Site? • 7 months ago

Hi

I deployed my site and also added google analytics in header....What else shuld I do for search engine finding my site?

Thanks

20th March, 2018

Webiondev123 left a reply on Why I Am Sending Email To Myself ? • 7 months ago

Thanks for the replies...What I mean is how can I reply to the people's email when I do not see their email in from field in inbox? Even though email is coming to me but I am seeing in my email that from is same as to ..Here is my inbox


from:   My Name <[email protected]>
to: [email protected]
date:   Wed, Mar 21, 2018 at 8:07 AM
subject:    Cannot send message
mailed-by: mydomain.com

Webiondev123 started a new conversation Why I Am Sending Email To Myself ? • 7 months ago

I want a contact form for users to send me email


        Mail::send('email', ['title' => 'Complaint', 'content' => $request->complaint], function ($message)  use ($request)
        {

            $message->from($request->email, $request->name);
            $message->subject($request->subject);
            $message->to('[email protected]', 'myname');

        });

in mail.php

  'from' => [
        'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
        'name' => env('MAIL_FROM_NAME', 'mydomain'),
    ],

Even when I comment out the from in mail.php still it is only sending to myself.

18th March, 2018

Webiondev123 left a reply on Type Error: Argument 2 Passed To Illuminate\Mail\Mailer::send() Must Be Of The Type Array, Object Given, • 7 months ago

@ejdelmonico what view I use? Is there a readymade view to send to email?

Webiondev123 left a reply on What Host Address You Put In Linode Forge Env File? • 7 months ago

@ejdelmonico how do you integrate two databases to connect to in .env file?

Webiondev123 started a new conversation What Host Address You Put In Linode Forge Env File? • 7 months ago

I am seeing once deployed localhost address. Doyou put local host address as DB host in forge env file or the domain address? if domain address what port?

Webiondev123 started a new conversation Type Error: Argument 2 Passed To Illuminate\Mail\Mailer::send() Must Be Of The Type Array, Object Given, • 7 months ago

I need help understanding what parameter exactly should I put in send? I know array but array of validation?

  protected function create(array $data)
    {
        
           
          
      
        $newUser= User::create([
            'name' => $data['name'],
            'email' => $data['email'],
            'password' => bcrypt($data['password']),
            'city'=> $data['city'],
            'country'=>$data['country'],
            'type'=>$data['type'],
            'occupation'=>$data['occupation'],
          
            'file'=>$file,
            
        ]);

        $message="Welcome to mysite!";
           Mail::send('newUser', function($message){
        $message->from('[email protected]');
        $message->subject('welcome');
        $message->to($newUser['email']);
    });


           return $newUser;
    }

13th March, 2018

Webiondev123 left a reply on Email Not Going • 7 months ago

@Sergiu17 thanks I used notification to solve this

Edit Your Profile
Update

Want to change your profile photo? We pull from gravatar.com.