/** * assuming we have an up-to-date database schema, this will populate it * with default and initial data. This should be called * upon activation of a new plugin, reactivation, and at the end * of running migration scripts */ public static function initialize_db_content() { //let's avoid doing all this logic repeatedly, especially when addons are requesting it if (EEH_Activation::$_initialized_db_content_already_in_this_request) { return; } EEH_Activation::$_initialized_db_content_already_in_this_request = true; EEH_Activation::initialize_system_questions(); EEH_Activation::insert_default_status_codes(); EEH_Activation::generate_default_message_templates(); EEH_Activation::create_no_ticket_prices_array(); EE_Registry::instance()->CAP->init_caps(); EEH_Activation::validate_messages_system(); EEH_Activation::insert_default_payment_methods(); //in case we've EEH_Activation::remove_cron_tasks(); EEH_Activation::create_cron_tasks(); //also, check for CAF default db content do_action('AHEE__EEH_Activation__initialize_db_content'); //also: EEM_Gateways::load_all_gateways() outputs a lot of success messages //which users really won't care about on initial activation EE_Error::overwrite_success(); }