PluginProbe
RSVP and Event Management / 2.7.2
RSVP and Event Management v2.7.2
trunk 0.5.0 0.6.0 0.7.0 0.8.0 0.9.0 0.9.5 1.0.0 1.1.0 1.2.0 1.2.1 1.3.0 1.3.1 1.3.2 1.5.0 1.6.0 1.6.1 1.6.2 1.6.5 1.7.0 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 All 136 releases
rsvp / includes / rsvp_db_setup.inc.php

rsvp_db_setup.inc.php in RSVP and Event Management 2.7.2, at includes/rsvp_db_setup.inc.php

179 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 $installed_ver = get_option( 'rsvp_db_version' );
3 $table = $wpdb->prefix . 'attendees';
4 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table ) {
5 $sql = 'CREATE TABLE ' . $table . " (
6 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
7 `firstName` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
8 `lastName` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
9 `rsvpDate` DATE NULL ,
10 `rsvpStatus` ENUM( 'Yes', 'No', 'NoResponse' ) NOT NULL DEFAULT 'NoResponse',
11 `note` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL,
12 `kidsMeal` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N',
13 `additionalAttendee` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N',
14 `veggieMeal` ENUM( 'Y', 'N' ) NOT NULL DEFAULT 'N',
15 `personalGreeting` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
16 );";
17 $wpdb->query( $sql );
18 }
19 $table = $wpdb->prefix . 'associatedAttendees';
20 $alt_table = $wpdb->prefix . 'associatedattendees';
21 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
22 $sql = 'CREATE TABLE ' . $table . ' (
23 `attendeeID` INT NOT NULL ,
24 `associatedAttendeeID` INT NOT NULL
25 );';
26 $wpdb->query( $sql );
27 $sql = 'ALTER TABLE `' . $table . '` ADD INDEX ( `attendeeID` ) ';
28 $wpdb->query( $sql );
29 $sql = 'ALTER TABLE `' . $table . '` ADD INDEX ( `associatedAttendeeID` )';
30 $wpdb->query( $sql );
31 }
32 add_option( 'rsvp_db_version', '4' );
33
34 if ( (int) $installed_ver < 2 ) {
35 $table = $wpdb->prefix . 'attendees';
36 $sql = 'ALTER TABLE ' . $table . ' ADD `personalGreeting` TEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ;';
37 $wpdb->query( $sql );
38 update_option( 'rsvp_db_version', RSVP_DB_VERSION );
39 }
40
41 if ( (int) $installed_ver < 4 ) {
42 $table = $wpdb->prefix . 'rsvpCustomQuestions';
43 $sql = 'ALTER TABLE ' . $table . " ADD `sortOrder` INT NOT NULL DEFAULT '99';";
44 $wpdb->query( $sql );
45 update_option( 'rsvp_db_version', RSVP_DB_VERSION );
46 }
47
48 $table = $wpdb->prefix . 'rsvpCustomQuestions';
49 $alt_table = $wpdb->prefix . 'rsvpcustomquestions';
50 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
51 $sql = " CREATE TABLE $table (
52 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
53 `question` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
54 `questionTypeID` INT NOT NULL,
55 `sortOrder` INT NOT NULL DEFAULT '99',
56 `permissionLevel` ENUM( 'public', 'private' ) NOT NULL DEFAULT 'public'
57 );";
58 $wpdb->query( $sql );
59 }
60
61 $table = $wpdb->prefix . 'rsvpQuestionTypes';
62 $alt_table = $wpdb->prefix . 'rsvpquestiontypes';
63 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
64 $sql = " CREATE TABLE $table (
65 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
66 `questionType` VARCHAR( 100 ) NOT NULL ,
67 `friendlyName` VARCHAR(100) NOT NULL
68 );";
69 $wpdb->query( $sql );
70
71 $wpdb->insert(
72 $table,
73 array(
74 'questionType' => 'shortAnswer',
75 'friendlyName' => 'Short Answer',
76 ),
77 array( '%s', '%s' )
78 );
79 $wpdb->insert(
80 $table,
81 array(
82 'questionType' => 'multipleChoice',
83 'friendlyName' => 'Multiple Choice',
84 ),
85 array( '%s', '%s' )
86 );
87 $wpdb->insert(
88 $table,
89 array(
90 'questionType' => 'longAnswer',
91 'friendlyName' => 'Long Answer',
92 ),
93 array( '%s', '%s' )
94 );
95 $wpdb->insert(
96 $table,
97 array(
98 'questionType' => 'dropdown',
99 'friendlyName' => 'Drop Down',
100 ),
101 array( '%s', '%s' )
102 );
103 $wpdb->insert(
104 $table,
105 array(
106 'questionType' => 'radio',
107 'friendlyName' => 'Radio',
108 ),
109 array( '%s', '%s' )
110 );
111 } elseif ( (int) $installed_ver < 6 ) {
112 $wpdb->insert(
113 $table,
114 array(
115 'questionType' => 'radio',
116 'friendlyName' => 'Radio',
117 ),
118 array( '%s', '%s' )
119 );
120 }
121
122 $table = $wpdb->prefix . 'rsvpCustomQuestionAnswers';
123 $alt_table = $wpdb->prefix . 'rsvpcustomquestionanswers';
124 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
125 $sql = "CREATE TABLE $table (
126 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
127 `questionID` INT NOT NULL,
128 `answer` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
129 );";
130 $wpdb->query( $sql );
131 }
132
133 $table = $wpdb->prefix . 'attendeeAnswers';
134 $alt_table = $wpdb->prefix . 'attendeeanswers';
135 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
136 $sql = "CREATE TABLE $table (
137 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
138 `questionID` INT NOT NULL,
139 `answer` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
140 `attendeeID` INT NOT NULL
141 );";
142 $wpdb->query( $sql );
143 }
144
145 $table = $wpdb->prefix . 'rsvpCustomQuestionAttendees';
146 $alt_table = $wpdb->prefix . 'rsvpcustomquestionattendees';
147 if ( $wpdb->get_var( "SHOW TABLES LIKE '$table'" ) != $table && $wpdb->get_var( "SHOW TABLES LIKE '$alt_table'" ) != $alt_table ) {
148 $sql = "CREATE TABLE $table (
149 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
150 `questionID` INT NOT NULL ,
151 `attendeeID` INT NOT NULL
152 );";
153 $wpdb->query( $sql );
154 }
155
156 if ( (int) $installed_ver < 5 ) {
157 $table = $wpdb->prefix . 'rsvpCustomQuestions';
158 $sql = "ALTER TABLE `$table` ADD `permissionLevel` ENUM( 'public', 'private' ) NOT NULL DEFAULT 'public';";
159 $wpdb->query( $sql );
160 }
161
162 if ( (int) $installed_ver < 9 ) {
163 rsvp_install_passcode_field();
164 }
165
166 $table = $wpdb->prefix . 'attendees';
167 if ( (int) $installed_ver < 11 || ( $wpdb->get_var( "SHOW COLUMNS FROM `$table` LIKE 'email'" ) != 'email' ) ) {
168 $sql = 'ALTER TABLE ' . $table . ' ADD `email` VARCHAR( 250 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL;';
169 $wpdb->query( $sql );
170 }
171
172 $table = $wpdb->prefix . 'attendees';
173 $col_info = $wpdb->get_row( 'SHOW FULL COLUMNS FROM ' . $table . ' WHERE Field="note" AND Collation<>"utf8mb4_unicode_520_ci"' );
174 if ( ( int ) $installed_ver < 12 || ( $col_info !== null ) ) {
175 $sql = 'ALTER TABLE ' . $table . ' MODIFY note text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci';
176 $wpdb->query( $sql );
177 }
178 update_option( 'rsvp_db_version', RSVP_DB_VERSION );
179