I need a complete signup/registration procedure which allows users to signup using their e-mail-address or via Facebook / Twitter / Google Plus.
-PHP 5.3 compatibility
-Use PDO as database-wrapper
-Store current user object in session
-Remember user with cookie without re-login necessary
-Writer user-credentials on signup into "users" table (table-layout: id (bigint, autoincrement), username (varchar 50), password (varchar 100, SHA-2, salt), e-mail-address (varchar 500), social-network (varchar))
-Each e-mail-address or social-network can only signup once
-"Forgot password"-link for e-mail-signup-users
-Post to timeline of Facebook / Twitter-users (method required, validation on signup required)
-Make a simple non-styled login-page (username, password and social-network sign-in-links), a sign-up page (username, e-mail, password) and a form for posting to timeline of the currenct user for demonstration purposes
This will result in the following methods for use by my application:
createUser, validateUser, loginUser, isLoggedIn, getCurrentUser, postToTimelineOfUser, logOutUser
You must not use any common PHP-frameworks (Zend etc.) as we do not want any unnecessary, common code.
Please don't hesitate to ask if something is unclear or add suggestions.