Skip to content
buddylist.install 1.66 KiB
Newer Older
Robert Douglass's avatar
Robert Douglass committed
<?php
// $Id$
Robert Douglass's avatar
Robert Douglass committed

/**
 * Install the initial schema.
 */
function buddylist_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $query1 = db_query(
  <<<MYSQL_UPDATE
    CREATE TABLE {buddylist} (
Robert Douglass's avatar
Robert Douglass committed
      uid int(10) unsigned NOT NULL default '0',
      buddy int(10) unsigned NOT NULL default '0',
      timestamp int(11) NOT NULL default '0',
      received tinyint(1) NOT NULL default '0',
Robert Douglass's avatar
Robert Douglass committed
    ) /*!40100 DEFAULT CHARACTER SET utf8 */;
MYSQL_UPDATE
      );
Robert Douglass's avatar
Robert Douglass committed
      $query2 = db_query(
  <<<MYSQL_UPDATE
    CREATE TABLE {buddylist_buddy_group} (
Robert Douglass's avatar
Robert Douglass committed
      uid int(11) NOT NULL default '0',
      buddy int(11) NOT NULL default '0',
      label_id int(11) NOT NULL default '0',
  PRIMARY KEY  (uid, buddy, label_id)
) /*!40100 DEFAULT CHARACTER SET utf8 */;
MYSQL_UPDATE
Robert Douglass's avatar
Robert Douglass committed

      $query3 = db_query(
  <<<MYSQL_UPDATE
    CREATE TABLE {buddylist_groups} (
Robert Douglass's avatar
Robert Douglass committed
      uid int(11) NOT NULL default '0',
      label_id int(11) NOT NULL default '0',
      label varchar(255) NOT NULL default '',
      visible tinyint(1) NOT NULL default '0',
    PRIMARY KEY  (uid, label_id)
    ) /*!40100 DEFAULT CHARACTER SET utf8 */;
MYSQL_UPDATE
      );

      if ($query1 && $query2 && $query3) {
 	      $created = TRUE;
Robert Douglass's avatar
Robert Douglass committed
      break;
  }
  if ($created) {
    drupal_set_message(t('Buddylist module installed successfully.'));
  }
  else {
    drupal_set_message(t('Table installation for the Buddylist module was unsuccessful. The tables may need to be installed by hand. See the README.txt file for a list of the installation queries.'), 'error');
  }
}

function buddylist_update_1() {
  return _system_update_utf8(array('buddylist'));