Cover image for PHP 5 Social Networking.
PHP 5 Social Networking.
Title:
PHP 5 Social Networking.
Author:
Peacock, Michael.
ISBN:
9781849512398
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (484 pages)
Contents:
PHP 5 Social Networking -- Table of Contents -- PHP 5 Social Networking -- Credits -- About the Author -- Acknowledgement -- About the Reviewers -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Errata -- Piracy -- Questions -- 1. PHP Social Networking -- Introduction to social networks -- Business logic to social networks -- Examples: Businesses making use of existing social networks and their own social networks -- NameCheap: Twitter -- Dell: Twitter -- BT: Twitter -- Netgear: custom -- Existing social networks -- Facebook -- LinkedIn -- MySpace -- Twitter -- Existing social networking software -- Drupal -- Elgg -- Joomla! -- Hybrid approaches -- Rolling your own -- Why roll your own? -- Easier to update and maintain -- Licensing -- Enhance knowledge -- Provide a service -- Improve business -- Improve communication -- Why use PHP? -- When to use something else -- Our site: DinoSpace -- Feature list -- Limitations -- Summary -- 2. Planning and Developing the Core Framework -- Designing the framework -- Patterns-making life easier -- MVC: Model-View-Controller -- Model -- View -- Controller -- The Front Controller pattern -- Registry -- Factory within our registry -- A note on the Singleton pattern -- Registry + MVC -- Folder structure -- Building the framework -- Registry -- The registry object -- Registry objects -- Database -- Connecting to the database and managing connections -- Executing queries -- Simplifying common queries -- Sanitizing data -- Wrapping other MySQLi functions -- Disconnecting -- Template management -- Page -- Authentication -- URL processing -- Extending the registry: potential new objects -- Front Controller: single point of access -- index.php -- .htaccess -- Summary -- 3. Users, Registration, and Authentication.

Privacy policies -- Users -- Our user object -- Our authentication registry object -- POST authentication -- SESSION authentication -- Structuring the database -- Registration -- Standard details -- Hooking additional fields on -- Processing the registration -- Creating the profile -- Putting it all together: registration constructor -- CAPTCHA -- General CAPTCHA -- reCAPTCHA -- Where do I sign up? -- E-mail verification -- Sending e-mails -- Room for improvement -- Sending the e-mail verification e-mail -- Authentication with our authentication object -- Logging in -- Are we logged in? -- Logging out -- Remember me -- Help! I've forgotten! -- Username -- Password -- Let them reset the password -- Summary -- 4. Friends and Relationships -- Inviting friends -- Manually inviting friends -- Invitation controller -- Automatically inviting friends -- Google Friend Connect -- Windows Live contacts -- Yahoo! -- Gmail contacts -- Automatically connecting with friends -- Members -- Listing users -- Pagination -- Paginated members -- Paginated users by letter -- Searching for users -- Custom relationships -- Relationship types -- Relationships -- Adding friends -- Forming a relationship -- Relationship model -- Relationship controller -- Mutual relationships-accepting or rejecting a request -- Pending requests -- New model method -- New controller method -- The result -- Accepting a pending request -- Rejecting a pending request -- Listing friends -- Our friends -- Their friends -- Mutual friends -- Friends in your profile -- Summary -- 5. Profiles and Statuses -- User profiles -- Extendable profile -- Profile controller -- Core shared information -- Name, ID, and photograph -- Profile model -- Sample of friends -- Pulling the core shared information together -- Static profile -- Viewing the profile -- Profile link -- Controller -- Template -- In action.

Relationships-some improvements -- All contacts -- Template -- In action -- Editing the profile -- Controller additions -- Uploading a photograph-an image handler -- Back to the controller -- Template -- The template file -- Datepicker -- In action -- Statuses -- Statuses database table -- Statuses types database table -- Different types of status -- Template improvements -- Listing statuses -- Templates -- In action -- Likes, dislikes, and comments -- Comments -- Template -- Code -- In action -- Try it yourself -- Summary -- 6. Status Stream -- What is a status stream? -- Stream model -- Building the stream -- Relationships-get the IDs! -- Friendly times -- The rest… -- Stream controller -- Generating the stream -- Comments, likes, and dislikes -- Comments -- Likes and dislikes -- Views -- Main template -- Status type templates -- In action -- Room for improvement -- A system stream for administrators -- Summary -- 7. Public and Private Messages -- Public messages -- Controller -- Displaying profile messages -- Displaying the post message box -- Process a new message -- Status model -- Controller additions -- Displaying a confirmation message -- View -- In action -- Private messages -- Database -- Message model -- Messages model -- Controllers and views -- Listing messages -- Inbox -- Reading a message -- View message template -- Mark as read -- Deleting a message -- Composing a new message -- Creating a message template -- In action -- Room for improvement? -- Sent items -- Replies -- Group messages -- Summary -- 8. Statuses-Other Media -- Why support other media types? -- Changes to the view -- Template -- jQuery to enhance the user experience -- View in action -- Images -- Database table -- Model -- Class, variable, and constructor -- Processing the image upload -- Using the image manager library to process the file upload -- Saving the status.

Video (via YouTube) -- Database -- Model -- Links -- Database -- Model -- Extending the profiles -- Processing the new status posts -- Altering our profile status' query -- Status views -- Images -- Video -- Links -- In action -- Images -- Videos -- Links -- Repeat! -- Summary -- 9. Events and Birthdays -- Let's plan -- Calendars: what do we need to be able to do? -- Calendar library -- Generating the month -- Days in the month -- Ordered days -- Previous month -- Next month -- Displaying a calendar -- Generate and output -- Multiple calendars -- With events -- Birthdays -- Getting relationship IDs -- Setting up the calendar -- Getting the birthdays -- Passing them to the calendar -- The results -- Events -- Event model -- Events model -- Attendees, invitations, and RSVPs -- RSVPs -- Controller -- Creating an event -- Template for a new event -- Calendar of events -- Viewing an event -- Event template -- Viewing an event in action -- Upcoming events -- Reminders -- On-site notifications -- E-mail notifications -- SMS notifications -- Summary -- 10. Groups -- Some planning -- Group information -- Types of groups -- Ownership -- Membership -- Features -- A group -- Discussion -- Database -- Topics -- Posts -- Post -- Model -- Topic -- Model -- The group itself -- Group table -- Model -- Creating a group -- Controller -- View -- Creating a group-in action -- Viewing a group -- Membership -- Membership model -- Controller -- View -- In action -- Discussing within a group -- Group controller additions -- Creating a topic -- Viewing a topic -- Replying to a topic -- View -- Creating a topic -- Viewing a topic -- Discussion in action-viewing a topic -- Joining a group -- Joining (public) groups -- Groups -- Listing groups -- Group controller addition -- Template -- In action -- My groups -- Addition to the group's controller -- Template file -- In action.

Summary -- 11. Developing an API -- What is an API and why should we create one? -- APIs in social networks -- Facebook -- MySpace -- OpenSocial -- Some planning -- What should it do, and who should be able to do what? -- How should it work? -- How could it work? -- REST -- RPC / RMI -- SOAP -- Let's go with REST -- Requests -- HTTP verbs -- Resources -- Resources and verbs-the requests -- Responses -- Further reading -- RESTful PHP Web Services -- Conference talks -- Implementation -- Data format -- API controller -- Wait-no models? -- Authentication -- Sessions lead to unREST! -- Amending the authenticate registry object -- Amending index.php -- Delegating control: API controllers for our features -- Profile's delegate -- Tweaking the profiles model: validity and data -- Revised controller -- New getter: isValid() -- New getter: toArray() -- An Application Framework API -- One solution: use OpenSocial -- Consuming -- POSTing data to our API with cURL -- Summary -- 12. Deployment, Security, and Maintenance -- Deploying the site -- Choosing a domain name -- Registering a domain name -- Popular domain name registrars -- Signing up with a hosting provider -- Choosing a web hosting provider -- Considerations for hosts of social networking websites -- Popular web hosting providers -- Setting the nameservers for the domain -- Creating a database on the hosting account -- With cPanel hosting control panel -- With appropriate privileges on phpMyAdmin -- Exporting our local database -- Importing our local database to the hosting account -- Changing some of our database records -- Changing our database configuration options -- Uploading the files -- Testing -- Automating deployment -- Security -- Server Security -- Software -- Securing the site with a firewall -- Shared hosting precautions -- Passwords -- Error reporting -- Directory listings -- SPAM.

Maintenance.
Abstract:
Create a powerful and dynamic Social Networking website in PHP by building a flexible framework.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: