예제 #1
0
	def register_user():
		name = request.form['name']
		lastname = request.form['lastname']
		email =  request.form['email']
		password = request.form['password']
		phote = request.files['file']


		if phote and allowed_file(phote.filename):
			    # Make the filename safe, remove unsupported chars
			filename = secure_filename(phote.filename)
			    # Move the file form the temporal folder to
			    # the upload folder we setup
			if not os.path.exists(fullpath):
				#The folder to send the file if something is goes wrong
				PATH  ='C:\\Users\hacker\desktop\startup\machine\Assets\empyt_folder'
				#config path folder
				app.config['UPLOAD_FOLD'] = PATH
				#changing dir
				os.chdir('C:\\users\hacker\desktop\startup\machine\static\Assets')
				# make a new folder
				os.mkdir("empyt_folder")
				file_name =  secure_filename(phote.filename)
				phote.save(os.path.join(app.config['UPLOAD_FOLD'],file_name))
				Users.registration(reguest.form['name'], request.form['lastname'], equest.form['email'],request.form['password'],filename)
			else:
				filename =  secure_filename(phote.filename)
				phote.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
				Users.registration(request.form['name'] ,request.form['lastname'],request.form['email'],request.form['password'],filename)
			#return redirect(url_for('uploaded_file',filename=filename))
		return redirect(url_for(Templates.elslogin('login')))
예제 #2
0
def activated():
    User_utils = utils()
    loginform = LoginForm()

    if request.method == 'POST' and request.cookies.get('login_email') == "":

        password = request.form['password']
        email = request.form['email']

        database_email = Users.get_by_email(request.form['email'])
        database_password = Users.get_by_password(email, password)
        user_active = Users.get_by_active(request.form['email'])

        if database_email and password != "" and database_password == True:
            if not user_active:
                Database.updates("user", {"email": email},
                                 {"$set": {
                                     "active": 1
                                 }})
                print("activated %d")
                flash("Thank you for activating you account")
                return render_template("login.html", loginform=loginform)

    flash("Please enter correct information inorder  to activate account")
    return render_template("activate.html", loginform=loginform)
예제 #3
0
def detailsu(title):
    if 'user' in session and session['user'] == request.cookies.get('email'):
	       totalcomment = Users.allcomments(title)
	       blogs =  Users.bytitle(title)
	       return render_template('totalcomment.html', totalcomment=totalcomment,blogs=blogs)
    else:
        redirect(url_for('login'))
예제 #4
0
def register_process():
    
    regform = Form(request.form)
    if request.method == 'POST' and  request.cookies.get('login_email') is None:
            print(request.form['firstname'])
            reg =  RegisterForm(request.form['firstname'],request.form['lastname'],request.form['email'],request.form['password'],request.form['confirm'],request.files['file'])
            size=128
            dig = md5(request.form['email'].lower().encode('utf-8')).hexdigest()
            image = 'https://www.gravatar.com/avatar/{}?d=identicon&s={}'.format(dig, size)
            user_name = request.form['firstname'].lower()
            
            f  = reg.filename
            filename = secure_filename(f.filename)
            
            
            email = request.form['email'].lower()
                
            password = request.form['password'].lower()
            confirm  = request.form['confirm'].lower()
         
            if  Users.get_by_email(request.form['email'].lower()) != True and  reg.PasswordMatch(password, confirm) == True and reg.notEmpty() == True:
                mail =  Mail("*****@*****.**", email)
                mail.sendMail()
                f.save(os.path.join(os.getcwd() +'/static/uploads/reg', filename))
                print(reg.notEmpty())
                Users.registration(request.form['firstname'], request.form['lastname'] , request.form['email'], request.form['password'], request.files['file'].filename, image=image)
                return redirect(url_for('success_full_reg'))
            else:
                 
                flash("One or  more inputs  is  empty or ")
                flash("There is a user with that email")
                flash("please make sure every input  is entered")
                return render_template('register.html', title='register', regform=regform)
    flash("There is a problem")
    return render_template('register.html', title='register', regform=regform)
예제 #5
0
def  passwordChanged():
    if request.method  == 'POST':
        new_password = request.form['new_password']
        confirm_password = request.form['confirm_password']
        email   = request.cookies.get('email')
        if  new_password  ==   confirm_password and email  is not None:
            Users.resetPassword(request.cookies.get('email'), Users.passhashed(new_password))
    return  render_template('login.html')
예제 #6
0
def details(titleblog):
    if titleblog ==  request.cookies.get('title') and 'user' in session:
        title = request.cookies.get('title')
        totalcomment = Users.allcomments(title)
        comment = Users.querytitlei(title)['comment']
        blogs =  Users.bytitle(title)
        number_title(comment,title)
        return render_template('totalcomment.html', totalcomment=totalcomment,blogs=blogs)
    return redirect(url_for('login'))
예제 #7
0
def thumbdown(email,blogtitle,blog_id):
    loginform = LoginForm()
    if  'user' in session and blog_id.__len__() ==  32:
        ids = Users.id_one(blog_id)['_id']
        if utils.email_is_valid(email) == True and blog_id == ids:
            dislikes = Users.querytitlei(blogtitle)['dislikes']
            thdow(int(dislikes),blogtitle,blog_id)
            return render_template("dislikes.html")
        else:
            return redirect(url_for('login'))
    return redirect(url_for('login'))
예제 #8
0
def open(email,blogtitle,blog_id):
        if utils.email_is_valid(email) == True and blog_id.__len__() ==  32:
            item = Users.bytitle_one(blogtitle)
            ids = Users.id_one(blog_id)["_id"]
            if  session['user'] == email and ids == blog_id:
                items =  Users.bytitle(blogtitle)
                return render_template('blogopen.html',items=items)
            else:
                flash("there is a problem contact Admin")
                return redirect(url_for('login'))
        flash("there is a problem please contact admin")
        return redirect(url_for('login'))
예제 #9
0
def allblog(email,_id):
    if utils.email_is_valid(email) ==  True and 'user' in session and session['login_email'] == email:
        ids = Users.id_one_user(_id)['_id']
        blog_id =  Users.get_by_email(email)['_id']
        dataemail = Users.bgemail_one(request.cookies.get('login_email'))
        dataemail = Users.get_by_email(session['user'])['email']
        if email ==  dataemail:
            return redirect(url_for('memebership',email=dataemail,_id=_id))
        else:
            flash("not good")
            render_template('page_not_found.html')
    return render_template('page_not_found.html')
예제 #10
0
def delete():

    _id = request.get_json()['_id']
    blogs = Users.get_id(int(_id))
    print(_id)
    print(blogs)

    if int(_id) == blogs:
        Users.delete(int(_id))
        print("blog deleted")
        return redirect(url_for('login_route'))

    return redirect(url_for('login_route'))
예제 #11
0
def commentdetails(blogtitle,email,blog_id):
    if blog_id.__len__() ==  32:
        ids = Users.id_one(blog_id)['_id']
        if blog_id == ids and ids != False:
            item = Users.bytitle_one(blogtitle)
            totalcomment = Users.allcomments(blogtitle)
            blogs =  Users.bytitle(blogtitle)
            return render_template('totalcomment.html',totalcomment=totalcomment,blogs=blogs)
        else:
            flash(" big problem ")
            return redirect(url_for('login'))
    flash("big problem man")
    return redirect(url_for('login'))
예제 #12
0
def passwordChanged():
    if request.method == 'POST':
        new_password = request.form['new_password']
        confirm_password = request.form['confirm_password']
        email = request.cookies.get('email')
        if new_password == confirm_password:
            print("They are equal")
            Users.resetPassword(request.cookies.get('vibe_resetUser_email'),
                                Users.passhashed(new_password))
            response = make_response(redirect(url_for('login_route')))
            flash("password changed")
            response.set_cookie('vibe_resetUser_email', "")
            return response

    return render_template('login.html')
예제 #13
0
def uploads():
    if  request.method == 'POST':
        file = request.form['file'].lower()
        if file == '':
            print("No file  seleted file")
        if file and allowed_file(file):
            email = request.cookies.get('email')
            filename = secure_filename(file)
            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            Users.save_image(email, filename)
            response = make_response(redirect(url_for('welcome', email=email)))
            response.set_cookie('email', email)
            return response
    
    return redirect(url_for('login_route'))
예제 #14
0
def dislikes():
    loginform = LoginForm()
    title = request.get_json()['title']
    email = request.get_json()['email']
    _id =   request.get_json()['_id']
    
    current_clikes =   request.get_json()['current_num']
    if  request.method == "POST":
        if utils.email_is_valid(email) == True and Users.dislikes("blogs",_id,  title)['dislikes'] < int(current_clikes):
            likes = Users.dislikes("blogs", _id, title)["dislikes"]
            thupdislikes(current_clikes,_id, title)
            return render_template("error.html")
        else:
            return redirect(url_for('login_route'))
    return redirect(url_for('login_route'))
예제 #15
0
def commente():
    login = request.cookies.get('login_email')
    if request.method == 'POST' and login is not None:

        #blog detils
        titleBlog = request.get_json()['title']
        email = request.get_json()['email']
        comment = request.get_json()['comment']
        _id = request.get_json()['_id']

        # #who commenting
        # login_name = request.get_json()['name']
        # login_email = request.get_json()['mail']
        # login_id = request.get_json()['id']

        print(titleBlog)

        if Users.blogExists(titleBlog):
            comment = Comments(titleBlog=titleBlog,
                               comment=comment,
                               email=email,
                               _id=_id)
            comment.save_to_mongo()
            return redirect(url_for('welcome'))
    return redirect(url_for('login'))
예제 #16
0
def login_process():

    logform = LogForm()
    session.pop('_flashes', None)
    error = "There is a problem were you are not successfully logged in"
    print("Thank you")
    if request.method == 'POST':

        email = request.form['email'].lower()
        password = request.form['password'].lower()

        data = Database.find_one(userconstants.COLLECTION, {"email": email})
        active = Database.find_one(userconstants.COLLECTION, {"email": email})

        if active['active'] == 1 and Users.login_valid(
                request.form['email'], request.
                form['password']) != False and utils.check_hash_password(
                    password, data['password']) == True:
            print("I am  in  the prent")
            response = make_response(redirect(url_for('welcome')))
            response.set_cookie('login_email', request.form['email'])
            response.set_cookie('login_author', data['firstname'])
            response.set_cookie('login_id', data['_id'])
            return response

        else:

            flash("some wrong")
            return redirect(url_for('logout'))

    flash('There is a problem were you are not successfully logged in')
    print("heee")
    return render_template('login.html')
예제 #17
0
def editeprocess(email,blogtitle,blog_id):
    editeform = EditeForm()
    loginform = LoginForm()
    database_email = Users.get_by_email(email)["email"]
    if editeform.validate_on_submit() == True and 'user' in session and session['user'] == email and blog_id.__len__() ==  32:
        thins = Users.bytitle(blogtitle)
        ids = Users.id_one(blog_id)["_id"]
        for stuff in thins:
            if stuff['titleblog'] == blogtitle and stuff['email'] == session["user"] and blog_id == ids:
                description = editeform.description.data
                Database.updates("blogs",{"content":stuff['content']},{"$set": {"content":description}})
                return render_template('editemessage.html')
            else:
                redirect(url_for('login'))
    flash("these are technical errors please try login again")
    return render_template('login.html',loginform=loginform)
예제 #18
0
def reqs(email):
    if Users.get_by_email(email):
        return render_template('resetpass.html',
                               email=email,
                               confirmEmail='True')
    else:
        return render_template('login.html')
예제 #19
0
def edite(email,titleblog,blog_id):
    properties = []
    editeform = EditeForm()
    loginform = LoginForm()

    if 'user' in session and session['user'] == email and blog_id and utils.email_is_valid(email) == True and blog_id.__len__() ==  32:
        data_id =       Users.get_by_email(email)["_id"]
        content = Users.bytitle(titleblog)
        for stuffs in content:
            ids = Users.id_one(blog_id)["_id"]
            if session['user'] == email and blog_id ==  ids:
                editeform.description.data = stuffs['content']
                return render_template('edite.html',editeform=editeform,email=email,blogtitle=titleblog,blog_id=blog_id)
            else:
                flash("checking problem")
                return redirect(url_for('login'))
    return redirect(url_for('login'))
예제 #20
0
def changepass():
    session.pop('_flashes', None)
    if request.method == 'POST':
        if Users.get_by_email(request.form['email']) ==  True:
             if request.form['email'] != None:
                response = make_response(redirect(url_for('reqs', email=request.form['email'])))
                response.set_cookie('password_email', request.form['email'])
                return response
    else:    
        return render_template('login.html')
예제 #21
0
def delete(email,blogtitle,blog_id):
    loginform = LoginForm()
    if session['user'] == email and blog_id.__len__() ==  32:
        ids = Users.id_one(blog_id)["_id"]
        if blog_id == ids:
            Database.delete("blogs",{"_id":blog_id})
            flash("blog deleted")
            return redirect(url_for('login'))
        else:
            flash("not right")
            return redirect(url_for('login'))
    return redirect(url_for('login'))
예제 #22
0
def commentUser(blogtitle,email,blog_id):
    commentform = CommentForm()
    if utils.email_is_valid(email) == True and 'user' in session and blog_id.__len__() ==  32:
        ids = Users.id_one(blog_id)["_id"]
        if email and blog_id ==  ids:
            commentform.title.data = blogtitle
            return render_template('comment.html',commentform=commentform)
        else:
            flash("check problem")
            return redirect(url_for('login'))
    flash('there is a problem with you information')
    return redirect(url_for('login'))
예제 #23
0
	def login_user():
		error = None

		if request.method == 'POST':
			email =  request.form['email']
			password = request.form['password']

			if Users.login_valid(request.form['email'],request.form['password']):
					user = Users.login(email)
					img  = File_system.image(email)

					flash("you have Succesfuly logged in")
					response = make_response(redirect(url_for('welcome',email=request.form.get('email'),image=img['image'],id=img['_id'])))
					response.set_cookie('email',request.form.get('email'))
					return  response


			else:
					error = 'User'+" "+ request.form['email']+" "+'does not exist'
					session['email'] =  None
					return render_template("login.html",error=error)

		return render_template("profile.html", email=request.form.get('email'))
예제 #24
0
def welcome():
   session.pop('_flashes', None)
   message = "You have  not logged in  please try  again"
   img = "image"

   if request.cookies.get('login_email') is not None:
        check  = Database.find("blogs", {"email":request.cookies.get('login_email')})
        userb  = Database.find("blogs", {"email":request.cookies.get('login_email')})
            
        date = datetime.datetime.utcnow()
        item = Database.find_one(UserConstants.COLLECTION,{"email":request.cookies.get('login_email')})
        if item['email'] == request.cookies.get('login_email') and item['email'] != "":
            flash('Login is a success' + " "+ 'welcome' + " "+ request.cookies.get('login_email'))
            newArray   = []

            
            blogs      = Database.find("blogs", {})
            youtube    = Database.find_one('user', {"email":request.cookies.get('login_email')})['youtube']
            
            postsu     = Database.find("blogs", {})
            postUsers  = Users.find(Database.find("blogs", {}),Database.find("blogs", {}).count())
            
            length     = Database.find("requests"+request.cookies.get('login_email'), {}).count()
            
            messageRe   = Database.find("requests"+request.cookies.get('login_email'), {}).count()
            
            requests   = Database.find("requests"+request.cookies.get('login_email'), {'accept':0}).count()
            friends    = Users.friends( Database.find("requests"+request.cookies.get('login_email'), {}) ,length)
            acccepted  = Database.find("requests"+request.cookies.get('login_email'), {'accept':1}).count()
            
            messages   = Users.messages( Database.find("requests"+request.cookies.get('login_email'),{}) ,length)
            
            userblog   = Users.blogs( "blogs" ,item['email'])
            email      = request.cookies.get('login_email') 
            user       = Database.find_one('user', {"email":email})
        
            items = Database.find_one(UserConstants.COLLECTION,{"email":request.cookies.get('login_email')})
            
            img = File_system.image(request.cookies.get('login_email'))
            return render_template('index.html',requests=requests, messageRe=messageRe,friends=friends, email=request.cookies.get('login_email'),firstname=items['firstname'],_id=items['_id'],lastname = items['lastname'],date=date, login='******',image=items['image'],blogs=blogs, posts=postsu , userblog=userblog,user=user, Database=Database, youtube=youtube)
          
        elif item['email'] == request.cookies.get('login_email') and item['email'] != "" and  item['image'] != img and Users.fol() is False:
            flash('successfully')
            
            blogs  = Database.find("blogs", {})
          
            userblog  = Users.blogs("blogs",item['email'])
            posts     = Users.find(Database.find("blogs", {}), Database.find('blogs', {}).count())
            email     = request.cookies.get('login_email') 
            user = Database.find_one('user', {"email":email})
            
            items = Database.find_one(UserConstants.COLLECTION,{"email":request.cookies.get('login_email')})
            img = File_system.image(request.cookies.get('login_email'))
            return render_template('index.html', email=request.cookies.get('login_email'),firstname=items['firstname'],lastname = items['lastname'],date=date, login='******',image=items['image'],blogs=blogs,posts=posts,userblog=userblog,user=user,  Database=Database)
        else:
          flash('There is a problem were you are not successfully logged in')
   return redirect(url_for('login_route'))
예제 #25
0
def blog():
    blogform = BlogForm(request.form['author'], request.form['title'],request.form['email'],request.cookies.get('login_id'),request.form['description'], request.files['file'])

    if request.method == 'POST' and request.cookies.get('login_email') is  not  None:
        
        author  = blogform.author
        title =   blogform.title
        email =   blogform.email
        description = blogform.description
        titleblog =  title.lower()

        f = blogform.filename
        filename = secure_filename(f.filename)
        f.save(os.path.join(os.getcwd() +'/static/uploads', filename))
        
        print(Users.blogExists(request.form['title']))
    
        if Users.blogExists(request.form['title'])  == False:
            userImage =  Database.find_one("user", {"firstname":author})['image']
            cookie = request.cookies.get('login_email')
            person = Users.get_by_email(cookie)
            blog = Blogs(author=author,titleblog=titleblog,description=description,email=email,filename=filename, userImage=userImage)
            blog.save_to_mongo()
            if request.cookies.get('login_email') ==  email:
                data =  Database.find_one(UserConstants.COLLECTION,{"email":email})

                flash('you have successfull created a blog')
                response = make_response(redirect(url_for('welcome', author=data["firstname"], lastname=data['lastname'], email=request.form['email'])))
                response.set_cookie('login_email', request.form['email'])
                response.set_cookie('login_author', data['firstname'])
                response.set_cookie('login_id', data['_id'])
                return response
            else:
                return render_template('blogform.html',point=blogform.message("A blog with that name already exist") )
        else:
            return render_template('blogform.html',point=blogform.message("A blog with that name already exist"))
    return redirect(url_for('login_route'))
예제 #26
0
def profile_picture():
    if request.method == 'POST':
        file = request.files['file']
        if file == '':
            print("No file  seleted file")

        if file.filename:

            email = request.cookies.get('login_email')
            filename = secure_filename(file.filename)

            file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            Users.save_image(email, filename)
            response = make_response(redirect(url_for('welcome', email=email)))
            response.set_cookie('login_email',
                                request.cookies.get('login_email'))
            response.set_cookie('login_author',
                                request.cookies.get('login_author'))
            response.set_cookie('login_id', request.cookies.get('login_id'))
            return response
        else:
            print("file type not allowed")

    return redirect(url_for('login_route'))
예제 #27
0
def login_process():
   session.pop('_flashes', None)
   if request.method == 'POST':
      email = request.form['email'].lower()
      password = request.form['password'].lower()
      data =  Database.find_one(UserConstants.COLLECTION,{"email":email})
      
      if Users.login_valid(request.form['email'],request.form['password']) != False  and utils.check_hash_password(password,data['password']) ==  True:
          response = make_response(redirect(url_for('welcome')))
          response.set_cookie('login_email', request.form['email'])
          response.set_cookie('login_author', data['firstname'])
          response.set_cookie('login_id', data['_id'])
          return response
         
      else:
           
           error = "You are not a valiable  user"
           flash("There is a problem were you are not successfully logged in")
           render_template('login.html', title='login', logform=logform, error=error)
   flash('There is a problem were you are not successfully logged in')
   return render_template('login.html', title='login', logform=logform, error=error)
예제 #28
0
파일: post.py 프로젝트: ithollie/ChitChat
 def UserExist(user):
     UserTrue = Users.get_by_email(user)
     if UserTrue is not None:
         return UserTrue
     else:
         return False