示例#1
0
      User.findOne({ 'local.email' :  signup_email }, function(err, user) {
        // if there are any errors, return the error
        if (err)
            return done(err);

        // check to see if theres already a user with that email
        if (user) {
            return done(null, false, req.flash('signupMessage', 'Esse e-mail já está em uso.'));
        } else {

          // if there is no user with that email
          // create the user
          var newUser            = new User();

          //tratar avatar
          var options = {
            email: signup_email,
            parameters: { 'size': '200', 'd': '404'}, //https://localhost:5000/img/avatares/'+randomAvatar(1, 17)+'.png
            secure: true
          }
          var avatar = gravatar.imageUrl(options);

          var avatar_user;

          request({uri:avatar}, function (error, response) {
            if (!error && response.statusCode == 404) {
              //sys.puts(body) // Print the google web page.
              avatar_user = '******'+chance.natural({min: 1, max: 17})+'.png';
              createNewUser(avatar_user, signup_email, signup_password);
            } else {
              avatar_user = '';
              createNewUser(avatar_user, signup_email, signup_password);
            }
            //console.log(response.statusCode);
          });

          function createNewUser(avatar_user, signup_email, signup_password) {
            // set the user's local credentials
            newUser.local.email = signup_email;
            newUser.alias = shortid.generate();
            newUser.avatar = avatar_user;
            newUser.permission = 'user';
            newUser.name = req.body.name;
            newUser.local.password = newUser.generateHash(signup_password);

            // save the user
            newUser.save(function(err) {
                if (err)
                    throw err;
                return done(null, newUser);
            });
          }

        }
      });
示例#2
0
 avatarUser: function avatarUser(req, res, userView, userLogged, renderView) {
   //a definição da variávei user altera o local que ele lê,
   //se vier como req.user quer dizer que vai pegar a seção do USUARIO LOGADO na roda /profile
   //se vier como user é do usuário sendo consultado no banco pela rota user/:id
   var options = {
     email: userView.local.email,
     parameters: { 'size': '200', 'd': '404'}, //https://localhost:5000/img/avatares/'+randomAvatar(1, 17)+'.png
     secure: true
   }
   var hasAvatar = userView.avatar;
   var avatar = gravatar.imageUrl(options);
   //verifica se tem avatar cadastrado
   if (hasAvatar == '' || hasAvatar == null) {
     request({uri:avatar}, function (error, response) {
       //verificar se o gravatar existe - se ele não existe vai retornar 404 devido ao parametro passado ao api
       if (!error && response.statusCode == 200) {
         //se o gravatar existe, então avatar é igual a url dele
         avatar = avatar;
       } else if (!error && response.statusCode == 404) {
         //se não existe, o avatar será o coelho (por enquanto). :P
         avatar = '/img/avatares/6.png';
       }
       //o sender tem que ser depois que o request for feito, senão não pega a variável --> Oláááá, callback hell!
       res.render(renderView, {
         userView: userView,
         userLogged: userLogged,
         avatar: avatar,
         message: req.flash()
       });
       //console.log(response.statusCode);
     });
   } else {
     //Nesse caso já tem avatar cadastrado, por personalização, portanto, não precisa do gravatar
     avatar = hasAvatar;
     //o sender tem que ser depois que o request for feito, senão não pega a variável --> Oláááá, callback hell!
     res.render(renderView, {
       userView: userView,
       userLogged: userLogged,
       avatar: avatar,
       message: req.flash()
     });
   }
 },
示例#3
0
	render() {
		return (
          <Image style={[{width: 50, height:50}, this.props.style]}
                source={{uri:gravatarApi.imageUrl(this.props.options)}} />
		);
	}