Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
CakePHP Plugin - Add an Ajax chat to your app
tree: 6432e101bf

whitespace fix

latest commit 6432e101bf
Matt Curry authored

README

/*
 * CakePHP Ajax Chat Plugin (using jQuery);
 * Copyright (c) 2008 Matt Curry
 * www.PseudoCoder.com
 * http://github.com/mcurry/cakephp/tree/master/plugins/chat
 * http://sandbox2.pseudocoder.com/demo/chat
 *
 * @author      Matt Curry <matt@pseudocoder.com>
 * @license     MIT
 *
 */

/* Description */
A basic Ajax chat plugin for CakePHP using jQuery

/* Instructions */
   1. You'll need a working version of CakePHP installed. This is running on 1.2.0.7692 RC3.
   2. Download jQuery and put it in /app/webroot/js/
   3. Put chat plugin into app/plugins/chat. The plugin is called "chat", so make sure there is no conflict with any other controllers or plugins
   4. Run this sql to create the chats table.
      CREATE TABLE  `chats` (
        `id` int(10) unsigned NOT NULL auto_increment,
        `key` varchar(45) NOT NULL default '',
        `name` varchar(20) NOT NULL default '',
        `message` text NOT NULL,
        `ip_address` varchar(15) NOT NULL default '',
        `created` datetime default NULL,
        PRIMARY KEY  (`id`),
        KEY `KEY_IDX` (`key`)
      );

   5. Include the plugin helper in your controller:
      var $helpers = array('chat.ajaxChat');

      Or just in a particular action:
      $this->helpers[] = 'chat.ajaxChat';

   6. Include jQuery in your view if you don't already include it in your layout.
      echo $javascript->link('jquery', false);

   7. Include the chat js and css in your view.
      $javascript->link(array('jquery/jquery', '/chat/js/chat.js'), false);
      $html->css('/chat/css/chat.css', null, null, false);
            

   8. Then just add the chat to your view. You can have multiple chats on your site by changing the chat key - "chat1" in this example.
      echo $ajaxChat->generate('chat1');

Something went wrong with that request. Please try again.