Projet

Général

Profil

Paste
Télécharger (2,45 ko) Statistiques
| Branche: | Révision:

root / drupal7 / sites / all / modules / ldap / ldap_query / ldap_query.install @ 32700c57

1 85ad3d82 Assos Assos
<?php
2
3
/**
4
 * @file
5
 * Install, update and uninstall functions for the LDAP API module.
6
 */
7
8
/**
9
 * Implements hook_install().
10
 */
11
function ldap_query_install() {
12
13
}
14
15
/**
16
 * Implements hook_uninstall().
17
 */
18
function ldap_query_uninstall() {
19
20
}
21
22
/**
23
 * Implements hook_schema().
24
 */
25 32700c57 Assos Assos
26 85ad3d82 Assos Assos
/**
27
 * Implements hook_schema().
28
 */
29
function ldap_query_schema() {
30
31 32700c57 Assos Assos
  $schema['ldap_query'] = [
32
    'export' => [
33 85ad3d82 Assos Assos
      'key' => 'qid',
34
      'key name' => 'Query Name',
35
      'identifier' => 'qid',
36
      'primary key' => 'query_numeric_id',
37 32700c57 Assos Assos
      'api' => [
38 85ad3d82 Assos Assos
        'owner' => 'ldap_query',
39
        'api' => 'ldap_query',
40
        'minimum_version' => 1,
41
        'current_version' => 1,
42 32700c57 Assos Assos
      ],
43
    ],
44 85ad3d82 Assos Assos
45
    'description' => "LDAP Query Data leveraged by other LDAP Modules",
46 32700c57 Assos Assos
    'primary key' => ['query_numeric_id'],
47
    'foreign keys' => [
48
      'sid' => [
49 85ad3d82 Assos Assos
        'table' => 'ldap_servers',
50 32700c57 Assos Assos
        'columns' => ['sid' => 'sid'],
51
      ],
52
    ],
53
  ];
54 85ad3d82 Assos Assos
  module_load_include('module', 'ldap_servers');
55
  ldap_servers_module_load_include('php', 'ldap_query', 'LdapQuery.class');
56
  $fields = LdapQuery::fields();
57
  foreach ($fields as $field_id => $field) {
58
    if (isset($field['schema'])) {
59
      $schema['ldap_query']['fields'][$field_id] = $field['schema'];
60
    }
61
  }
62
63
  return $schema;
64
}
65
66
/**
67
 * Add scope field to ldap_query table.
68
 */
69
function ldap_query_update_7100() {
70
  module_load_include('inc', 'ldap_servers', 'ldap_servers.functions');
71 32700c57 Assos Assos
  // Get LDAP_SCOPE_SUBTREE constant.
72
  ldap_servers_module_load_include('module', 'ldap_servers', 'ldap_servers');
73
  // Make sure 'create_consumers' field is there for old 7.x-1.x-dev versions.
74 85ad3d82 Assos Assos
  if (!db_field_exists('ldap_query', 'scope')) {
75 32700c57 Assos Assos
    db_add_field('ldap_query', 'scope', [
76 85ad3d82 Assos Assos
      'type' => 'int',
77
      'size' => 'small',
78
      'not null' => FALSE,
79
      'default' => LDAP_SCOPE_SUBTREE,
80 32700c57 Assos Assos
    ]);
81 85ad3d82 Assos Assos
    return t('"scope" field added to ldap_query table');
82
  }
83
  else {
84
    return t('No database changes made.');
85
  }
86
87
}
88
89
/**
90 32700c57 Assos Assos
 * Make filter field type 'text' for longer filters.
91 85ad3d82 Assos Assos
 */
92
function ldap_query_update_7101() {
93 32700c57 Assos Assos
  db_change_field('ldap_query', 'filter', 'filter', [
94 85ad3d82 Assos Assos
    'type' => 'text',
95
    'not null' => FALSE,
96 32700c57 Assos Assos
  ]);
97 85ad3d82 Assos Assos
98
  return t('ldap_query table field "filter" changed to type "text"');
99
}
100
101
/**
102 32700c57 Assos Assos
 * Make ldap_query.scope field small int instead of tiny int for ctools bug.
103 85ad3d82 Assos Assos
 */
104
function ldap_query_update_7102() {
105
106 32700c57 Assos Assos
  db_change_field('ldap_query', 'scope', 'scope', [
107 85ad3d82 Assos Assos
    'type' => 'int',
108
    'size' => 'small',
109
    'not null' => TRUE,
110
    'default' => 0,
111 32700c57 Assos Assos
  ]);
112 85ad3d82 Assos Assos
113
}