Commit 03301aaa authored by Simon Rycroft's avatar Simon Rycroft
Browse files

Added lowername files

parents
Loading
Loading
Loading
Loading

lowername.info

0 → 100644
+6 −0
Changes for lowername.info: 6 added lines, 0 removed lines.
Original line number Diff line number Diff line
; $Id$
name = "Lowername"
description = "Adds an additional table to improve searching for terms by name"
package = "EDIT"
dependencies[] = taxonomy
core = 6.x
 No newline at end of file

lowername.install

0 → 100644
+35 −0
Changes for lowername.install: 35 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php
/**
 * hook_install
 */
function lowername_install(){
  drupal_install_schema('lowername');
  db_query("INSERT INTO {term_lowername} (tid, lowername) SELECT tid, LOWER(name) FROM {term_data}");
}

/**
 * hook_uninstall
 */
function lowername_uninstall(){
  drupal_uninstall_schema('lowername');
}

/**
 * hook_schema
 */
function lowername_schema(){
  $tables['term_lowername'] = array(
    'fields' => array(
      'tid' => array(
        'type' => 'int',
        'not null' => true),
      'lowername' => array(
        'type' => 'varchar',
        'length' => 255,
        'not null' => TRUE,
        'default' => '')
    ),
    'primary key' => array('tid'),
    'indexes' => array('lowername_index' => array('lowername')));
  return $tables;
}
 No newline at end of file

lowername.module

0 → 100644
+21 −0
Changes for lowername.module: 21 added lines, 0 removed lines.
Original line number Diff line number Diff line
<?php
/**
 * hook_taxonomy
 */
function lowername_taxonomy($op, $type, $array = NULL){
  switch($op){
    case 'insert':
      db_query("INSERT INTO {term_lowername} (tid, lowername) VALUES (%d, LOWER('%s'))", $array['tid'], $array['name']);
      break;
    case 'update':
      db_query("UPDATE {term_lowername} SET lowername = LOWER('%s') WHERE tid = %d", $array['name'], $array['tid']);
      if(!db_affected_rows()){ 
        // Just in case there wasn't already an entry in the database
        db_query("INSERT INTO {term_lowername} (tid, lowername) VALUES (%d, LOWER('%s'))", $array['tid'], $array['name']);        
      }
      break;
    case 'delete':
      db_query("DELETE FROM {term_lowername} WHERE tid = %d", $array['tid']);
      break;
  }
}
 No newline at end of file