case '0.3.1': // Lets change our test_enable to false $umil->config_update('test_enable', false); // Lets remove some of those permission settings we added before $umil->permission_remove(array(array('f_test_mod', false), array('u_test_mod', true))); // Now to add a table (this uses the layout from develop/create_schema_files.php and from phpbb_db_tools) $umil->table_add('phpbb_test', array('COLUMNS' => array('test_id' => array('UINT', NULL, 'auto_increment'), 'test_text' => array('VCHAR_UNI', ''), 'test_bool' => array('BOOL', 0)), 'PRIMARY_KEY' => 'test_id', 'KEYS' => array('test_bool' => array('INDEX', 'test_bool')))); // Update to 0.9.0 // Update to 0.9.0 case '0.7.0': // Lets add a new column to the phpbb_test table named test_time $umil->table_column_add('phpbb_test', 'test_time', array('TIMESTAMP', 0)); // Lets make the test_time column we just added an index $umil->table_index_add('phpbb_test', 'test_time', 'test_time'); // Alright, now lets add some modules to the ACP $umil->module_add(array(array('acp', 'ACP_CAT_DOT_MODS', 'ACP_CAT_TEST_MOD'), array('acp', 'ACP_CAT_TEST_MOD', array('module_basename' => 'board', 'modes' => array('settings', 'features'))), array('acp', 'ACP_CAT_TEST_MOD', array('module_basename' => 'board', 'module_langname' => 'ACP_AVATAR_SETTINGS', 'module_mode' => 'avatar', 'module_auth' => 'acl_a_board')))); // Update to 0.9.1 // Update to 0.9.1 case '0.9.0': // This is done in the custom function from umil_auto_example $sql_ary = array('test_text' => 'This is a test message.', 'test_bool' => 1, 'test_time' => time()); $sql = 'INSERT INTO ' . $table_prefix . 'test ' . $db->sql_build_array('INSERT', $sql_ary); $db->sql_query($sql); // Update to 1.0.0 // Update to 1.0.0 case '0.9.1': } // We must handle the version number ourselves. $umil->config_update('test_version', '1.0.0'); // We are done trigger_error('Done!');
function insert_data_060($action, $version) { global $db, $table_prefix, $umil, $config, $version_config_name, $transfer_invitation_data; switch ($action) { case 'install': case 'update': // Run this when installing the first time if ($umil->table_exists($table_prefix . 'invite_config')) { // Before we fill anything in this table, we truncate it. Maybe someone missed an old installation. $db->sql_query('TRUNCATE TABLE ' . $table_prefix . 'invite_config'); // Now that's a lot of config... $sql_ary = array(); $sql_ary[] = array('config_name' => 'tracking_time', 'config_value' => time()); $sql_ary[] = array('config_name' => 'num_invitations', 'config_value' => 0); $sql_ary[] = array('config_name' => 'num_registrations', 'config_value' => 0); $sql_ary[] = array('config_name' => 'enable', 'config_value' => 1); $sql_ary[] = array('config_name' => 'enable_key', 'config_value' => 2); $sql_ary[] = array('config_name' => 'key_group', 'config_value' => 2); $sql_ary[] = array('config_name' => 'key_group_default', 'config_value' => 1); $sql_ary[] = array('config_name' => 'remove_newly_registered', 'config_value' => 1); $sql_ary[] = array('config_name' => 'invite_require_activation', 'config_value' => 0); $sql_ary[] = array('config_name' => 'invite_multiple', 'config_value' => 1); $sql_ary[] = array('config_name' => 'prevent_abuse', 'config_value' => 1); $sql_ary[] = array('config_name' => 'invite_confirm_code', 'config_value' => 1); $sql_ary[] = array('config_name' => 'set_cookie', 'config_value' => 1); $sql_ary[] = array('config_name' => 'enable_email_identification', 'config_value' => 1); $sql_ary[] = array('config_name' => 'invite_search_allowed', 'config_value' => 1); $sql_ary[] = array('config_name' => 'queue_time', 'config_value' => 300); $sql_ary[] = array('config_name' => 'message_min_chars', 'config_value' => 1); $sql_ary[] = array('config_name' => 'message_max_chars', 'config_value' => 1000); $sql_ary[] = array('config_name' => 'subject_min_chars', 'config_value' => 1); $sql_ary[] = array('config_name' => 'subject_max_chars', 'config_value' => 50); $sql_ary[] = array('config_name' => 'confirm', 'config_value' => 2); $sql_ary[] = array('config_name' => 'confirm_method', 'config_value' => 2); $sql_ary[] = array('config_name' => 'zebra', 'config_value' => 2); $sql_ary[] = array('config_name' => 'invite_language_select', 'config_value' => 'opt'); $sql_ary[] = array('config_name' => 'invite_priority_flag', 'config_value' => MAIL_NORMAL_PRIORITY); $sql_ary[] = array('config_name' => 'display_navigation', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_registration', 'config_value' => 1); $sql_ary[] = array('config_name' => 'autohide_valid_key', 'config_value' => 1); $sql_ary[] = array('config_name' => 'advanced_statistics', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_t_inviter', 'config_value' => 0); $sql_ary[] = array('config_name' => 'display_t_invite', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_t_register', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_p_inviter', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_p_invite', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_p_register', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_m_inviter', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_m_invite', 'config_value' => 1); $sql_ary[] = array('config_name' => 'display_m_register', 'config_value' => 0); $sql_ary[] = array('config_name' => 'enable_limit_daily', 'config_value' => 0); $sql_ary[] = array('config_name' => 'limit_daily_basic', 'config_value' => 10); $sql_ary[] = array('config_name' => 'limit_daily_registrations', 'config_value' => 10); $sql_ary[] = array('config_name' => 'limit_daily_registrations_invitations', 'config_value' => 1); $sql_ary[] = array('config_name' => 'limit_daily_posts', 'config_value' => 200); $sql_ary[] = array('config_name' => 'limit_daily_posts_invitations', 'config_value' => 1); $sql_ary[] = array('config_name' => 'limit_daily_topics', 'config_value' => 10); $sql_ary[] = array('config_name' => 'limit_daily_topics_invitations', 'config_value' => 1); $sql_ary[] = array('config_name' => 'limit_daily_memberdays', 'config_value' => 100); $sql_ary[] = array('config_name' => 'limit_daily_memberdays_invitations', 'config_value' => 1); $sql_ary[] = array('config_name' => 'enable_limit_total', 'config_value' => 0); $sql_ary[] = array('config_name' => 'limit_total_basic', 'config_value' => 100); $sql_ary[] = array('config_name' => 'limit_total_registrations', 'config_value' => 10); $sql_ary[] = array('config_name' => 'limit_total_registrations_invitations', 'config_value' => 2); $sql_ary[] = array('config_name' => 'limit_total_posts', 'config_value' => 200); $sql_ary[] = array('config_name' => 'limit_total_posts_invitations', 'config_value' => 5); $sql_ary[] = array('config_name' => 'limit_total_topics', 'config_value' => 10); $sql_ary[] = array('config_name' => 'limit_total_topics_invitations', 'config_value' => 2); $sql_ary[] = array('config_name' => 'limit_total_memberdays', 'config_value' => 100); $sql_ary[] = array('config_name' => 'limit_total_memberdays_invitations', 'config_value' => 10); $sql_ary[] = array('config_name' => 'enable_cash', 'config_value' => 0); $sql_ary[] = array('config_name' => 'cash_invite', 'config_value' => 10); $sql_ary[] = array('config_name' => 'cash_id_invite', 'config_value' => 1); $sql_ary[] = array('config_name' => 'cash_register', 'config_value' => 20); $sql_ary[] = array('config_name' => 'cash_id_register', 'config_value' => 1); $sql_ary[] = array('config_name' => 'enable_ultimate_points', 'config_value' => 0); $sql_ary[] = array('config_name' => 'ultimate_points_invite', 'config_value' => 5); $sql_ary[] = array('config_name' => 'ultimate_points_register', 'config_value' => 20); $db->sql_multi_insert($table_prefix . 'invite_config ', $sql_ary); } // As version 0.5.4 doesn't support UMIL we have to make updating work correctly... if (isset($config[$version_config_name])) { if (version_compare($config[$version_config_name], '0.5.4', '==')) { if (!class_exists('umil')) { include $phpbb_root_path . 'umil/umil.' . $phpEx; if (!isset($umil) || !is_object($umil)) { $umil = new umil(); } } // Remove old modules with categories first to not cause any error $umil->module_remove(array(array('acp', 'ACP_INVITE', 'ACP_INVITE'), array('acp', false, 'ACP_INVITE_LOG'), array('acp', false, 'ACP_INVITE'), array('ucp', false, 'UCP_INVITE_INVITE'), array('ucp', false, 'UCP_INVITE'))); // Add the new modules $umil->module_add(array(array('acp', 'ACP_CAT_DOT_MODS', 'ACP_INVITE'), array('acp', 'ACP_INVITE', array('module_basename' => 'invite', 'module_langname' => 'ACP_INVITE_SETTINGS', 'module_mode' => 'settings', 'module_auth' => 'acl_a_invite_settings')), array('acp', 'ACP_INVITE', array('module_basename' => 'invite', 'module_langname' => 'ACP_INVITE_TEMPLATES', 'module_mode' => 'templates', 'module_auth' => 'acl_a_invite_settings')), array('acp', 'ACP_INVITE', array('module_basename' => 'invite', 'module_langname' => 'ACP_INVITE_LOG', 'module_mode' => 'log', 'module_auth' => 'acl_a_invite_log')), array('ucp', '', 'UCP_INVITE'), array('ucp', 'UCP_INVITE', array('module_basename' => 'invite', 'module_langname' => 'UCP_INVITE_INVITE', 'module_mode' => 'invite', 'module_auth' => 'acl_u_send_invite')))); } } // Transfer existing invitation data if wished if ($transfer_invitation_data) { transfer_invitation_data(); // Send a message that the command was successful return 'Transferring invitation data'; } // Send a message that the command was successful return 'Populating database tables'; break; case 'uninstall': break; } }