Function Reference: geodir_event_tables_install
Summary
Geo Directory Event Database Install *
Description
Plugin install database tables
Package
GeoDirectory Events
Actions
‘geodir_after_custom_detail_table_create’ [Line: 74]
Filters
‘geodir_before_event_detail_table_create’ [Line: 71]
‘geodir_before_event_schedule_table_create’ [Line: 87]
Source File
geodir_event_tables_install() is located in geodir_event_manager/gdevents-admin/gdevents_db_install.php [Line: 15]
Source Code
function geodir_event_tables_install() {
global $wpdb;
$wpdb->hide_errors();
$collate = '';
if($wpdb->has_cap( 'collation' )) {
if(!empty($wpdb->charset)) $collate = "DEFAULT CHARACTER SET $wpdb->charset";
if(!empty($wpdb->collate)) $collate .= " COLLATE $wpdb->collate";
}
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
// rename db for multisite
if($wpdb->query("SHOW TABLES LIKE 'geodir_gd_event_detail'")>0 && $wpdb->query("SHOW TABLES LIKE '".$wpdb->prefix."geodir_gd_event_detail'")==0){$wpdb->query("RENAME TABLE geodir_gd_event_detail TO ".$wpdb->prefix."geodir_gd_event_detail");}
if($wpdb->query("SHOW TABLES LIKE 'geodir_event_schedule'")>0 && $wpdb->query("SHOW TABLES LIKE '".$wpdb->prefix."geodir_event_schedule'")==0){$wpdb->query("RENAME TABLE geodir_event_schedule TO ".$wpdb->prefix."geodir_event_schedule");}
// Check schedule_id exists and make it auto increment if it does not so we can use dbDelta in the future
if($wpdb->query("SHOW TABLES LIKE '".$wpdb->prefix."geodir_event_schedule'")>0){geodir_add_column_if_not_exist($wpdb->prefix."geodir_event_schedule", "schedule_id", "int(11) PRIMARY KEY AUTO_INCREMENT NOT NULL");}
$event_detail = "CREATE TABLE ".EVENT_DETAIL_TABLE." (
post_id int(11) NOT NULL,
post_title text NULL DEFAULT NULL,
post_status varchar(20) NULL DEFAULT NULL,
default_category INT NULL DEFAULT NULL,
post_tags text NULL DEFAULT NULL,
geodir_link_business varchar(10) NULL DEFAULT NULL,
post_location_id int(11) NOT NULL,
marker_json text NULL DEFAULT NULL,
claimed ENUM( '1', '0' ) NULL DEFAULT '0',
businesses ENUM( '1', '0' ) NULL DEFAULT '0',
is_featured ENUM( '1', '0' ) NULL DEFAULT '0',
featured_image VARCHAR( 254 ) NULL DEFAULT NULL,
paid_amount DOUBLE NOT NULL DEFAULT '0',
package_id INT(11) NOT NULL DEFAULT '1',
alive_days INT(11) NOT NULL DEFAULT '0',
paymentmethod varchar(30) NULL DEFAULT NULL,
expire_date VARCHAR( 25 ) NULL DEFAULT NULL,
is_recurring TINYINT( 1 ) NOT NULL DEFAULT '0',
recurring_dates TEXT NOT NULL,
event_reg_desc text NULL DEFAULT NULL,
event_reg_fees varchar(200) NULL DEFAULT NULL,
submit_time varchar(15) NULL DEFAULT NULL,
submit_ip varchar(254) NULL DEFAULT NULL,
overall_rating float(11) DEFAULT NULL,
rating_count INT(11) DEFAULT '0',
rsvp_count INT(11) DEFAULT '0',
post_locations VARCHAR( 254 ) NULL DEFAULT NULL,
post_latitude varchar(20) NULL,
post_longitude varchar(20) NULL,
post_dummy ENUM( '1', '0' ) NULL DEFAULT '0',
PRIMARY KEY (post_id)) $collate ";
$event_detail = apply_filters('geodir_before_event_detail_table_create', $event_detail);
dbDelta($event_detail);
do_action('geodir_after_custom_detail_table_create', 'gd_event', EVENT_DETAIL_TABLE);
$event_schedule = "CREATE TABLE ".EVENT_SCHEDULE." (
schedule_id int(11) AUTO_INCREMENT NOT NULL,
event_id int(11) NOT NULL,
event_date datetime NOT NULL,
event_enddate DATE NOT NULL,
event_starttime time,
event_endtime time,
all_day TINYINT( 1 ) NOT NULL DEFAULT '0',
recurring TINYINT( 1 ) NOT NULL DEFAULT '0',
PRIMARY KEY (schedule_id)) $collate ";
$event_schedule = apply_filters('geodir_before_event_schedule_table_create', $event_schedule);
dbDelta($event_schedule);
update_option( 'geodir_event_recurring_feature', '1' );
}