array( 'key' => 'qid', 'key name' => 'Query Name', 'identifier' => 'qid', 'primary key' => 'query_numeric_id', 'api' => array( 'owner' => 'ldap_query', 'api' => 'ldap_query', 'minimum_version' => 1, 'current_version' => 1, ), ), 'description' => "LDAP Query Data leveraged by other LDAP Modules", 'primary key' => array('query_numeric_id'), 'foreign keys' => array( 'sid' => array( 'table' => 'ldap_servers', 'columns' => array('sid' => 'sid'), ), ), ); module_load_include('module', 'ldap_servers'); ldap_servers_module_load_include('php', 'ldap_query', 'LdapQuery.class'); $fields = LdapQuery::fields(); foreach ($fields as $field_id => $field) { if (isset($field['schema'])) { $schema['ldap_query']['fields'][$field_id] = $field['schema']; } } return $schema; } /** * Add scope field to ldap_query table. */ function ldap_query_update_7100() { module_load_include('inc', 'ldap_servers', 'ldap_servers.functions'); ldap_servers_module_load_include('module', 'ldap_servers', 'ldap_servers'); // get LDAP_SCOPE_SUBTREE constant // make sure 'create_consumers' field is there for old 7.x-1.x-dev versions if (!db_field_exists('ldap_query', 'scope')) { db_add_field('ldap_query', 'scope', array( 'type' => 'int', 'size' => 'small', 'not null' => FALSE, 'default' => LDAP_SCOPE_SUBTREE, )); return t('"scope" field added to ldap_query table'); } else { return t('No database changes made.'); } } /** * Make filter field type 'text' for longer filters */ function ldap_query_update_7101() { db_change_field('ldap_query', 'filter', 'filter', array( 'type' => 'text', 'not null' => FALSE, )); return t('ldap_query table field "filter" changed to type "text"'); } /** * make ldap_query.scope field small int instead of tiny int for ctools bug */ function ldap_query_update_7102() { db_change_field('ldap_query', 'scope', 'scope', array( 'type' => 'int', 'size' => 'small', 'not null' => TRUE, 'default' => 0, )); }