/[drupal]/contributions/modules/user_badges/user_badges.install
ViewVC logotype

Contents of /contributions/modules/user_badges/user_badges.install

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.3 - (show annotations) (download) (as text)
Fri Dec 5 20:16:02 2008 UTC (11 months, 2 weeks ago) by nunoveloso18
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +127 -128 lines
File MIME type: text/x-php
no message
1 <?php
2 // $Id$
3
4 /**
5 * @file
6 * @brief User Badges install file
7 *
8 * This file contains all the installation functions of the tables and variables
9 * used by the module.
10 *
11 * @author Jeff Robbins (jjeff), http://drupal.org/user/17190
12 * @author Chad Phillips (hunmonk), http://drupal.org/user/22079
13 * @author Heine Deelstra (Heine), http://drupal.org/user/17943
14 * @author Nuno Veloso (nunoveloso18), http://drupal.org/user/80656
15 *
16 * @warning For more information on licensing, read the LICENCE.txt file.
17 *
18 */
19
20
21 /**
22 * Implementation of hook_install()
23 */
24 function user_badges_install() {
25 switch ($GLOBALS['db_type']) {
26 case 'mysql':
27 case 'mysqli':
28 db_query("CREATE TABLE {user_badges_badges} (
29 bid int(10) NOT NULL default '0',
30 name varchar(50) NOT NULL default '',
31 image varchar(80) NOT NULL default '',
32 weight int(2) NOT NULL default '0',
33 href VARCHAR(80) default ''.
34 )");
35
36 db_query("CREATE TABLE {user_badges_product} (
37 bid int(10) NOT NULL default '0',
38 nid int(10) NOT NULL default '0'
39 )");
40
41 db_query("CREATE TABLE {user_badges_roles} (
42 rid int(10) NOT NULL default '0',
43 bid int(10) NOT NULL default '0'
44 )");
45
46 db_query("CREATE TABLE {user_badges_user} (
47 uid int(10) NOT NULL default '0',
48 bid int(10) NOT NULL default '0',
49 type varchar(20) NOT NULL default ''
50 )");
51
52 break;
53 case 'pgsql':
54 db_query("CREATE TABLE {user_badges_badges} (
55 bid int NOT NULL default '0',
56 name varchar(50) NOT NULL default '',
57 image varchar(80) NOT NULL default '',
58 weight int NOT NULL default '0',
59 href VARCHAR(80) NULL default '',
60 PRIMARY KEY (bid)
61 ); ");
62
63 db_query("CREATE SEQUENCE {user_badges_badges}_seq");
64
65 db_query("CREATE TABLE {user_badges_product} (
66 bid int NOT NULL default '0',
67 nid int NOT NULL default '0'
68 ); ");
69
70 db_query("CREATE TABLE {user_badges_roles} (
71 rid int NOT NULL default '0',
72 bid int NOT NULL default '0'
73 ); ");
74
75 db_query("CREATE TABLE {user_badges_user} (
76 uid int NOT NULL default '0',
77 bid int NOT NULL default '0',
78 type varchar(20) NOT NULL default ''
79 ); ");
80
81 break;
82 default:
83 break;
84 }
85 }
86
87
88 /**
89 * Implementation of hook_update_N()
90 * new DB structure
91 */
92 function user_badges_update_1() {
93 $done = array();
94
95 switch ($GLOBALS['db_type']) {
96 case 'mysql':
97 case 'mysqli':
98 $done[] = db_query('
99 ALTER TABLE {user_badges_badges}
100 ADD href VARCHAR(80) default ""
101 AFTER weight
102 ');
103 $done[] = db_query('
104 ALTER TABLE {user_badges_badges}
105 ADD PRIMARY KEY (bid)
106 ');
107 break;
108 case 'pgsql':
109 $done[] = db_query('
110 ALTER TABLE {user_badges_badges} ADD COLUMN href VARCHAR(80)
111 ');
112 $done[] = db_query('
113 ALTER TABLE {user_badges_badges} ALTER COLUMN href SET DEFAULT ""
114 ');
115 break;
116 default:
117 break;
118 }
119
120 return $done;
121
122 }
123
124
125 /**
126 * Implementation of hook_uninstall()
127 */
128 function user_badges_uninstall() {
129 // Delete files.
130 $dir = file_create_path('badges');
131 if ($dir) {
132 $files = file_scan_directory($dir, '.*\.(gif|jpg|jpeg|png)', array('.', '..', 'CVS'), 0, FALSE);
133 foreach ($files as $file) {
134 file_delete($file->filename);
135 }
136 }
137
138 // Delete the badges directory.
139 if (file_exists($dir)) {
140 rmdir($dir);
141 }
142
143 // Remove database tables.
144 db_query("DROP TABLE {user_badges_badges}");
145 db_query("DROP TABLE {user_badges_roles}");
146 db_query("DROP TABLE {user_badges_user}");
147 db_query("DROP TABLE {user_badges_product}");
148 }

  ViewVC Help
Powered by ViewVC 1.1.2