mDelegateManager->add( 'Legacy.Admin.Event.ModuleInstall.' . ucfirst($mydirname) . '.Success' , 'xpress_message_append_oninstall' ) ; $ret = array() ; } else { if( ! is_array( $ret ) ) $ret = array() ; } $db =& Database::getInstance() ; $mid = $module->getVar('mid') ; //xpress global $wpdb,$wp_rewrite, $wp_queries, $table_prefix, $wp_db_version, $wp_roles, $wp_query; global $xoops_config; define("WP_INSTALLING", true); $site_url= XOOPS_URL."/modules/".$mydirname; $mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname; $path = $mydirpath . '/'; $site_name = ucfirst($mydirname) . ' ' . _MI_XP2_NAME; // install WordPress if (file_exists($path . 'wp-load.php')) { require_once $path . 'wp-load.php'; } else { require_once $path . 'wp-config.php'; } include_once($mydirpath . '/wp-admin/upgrade-functions.php'); wp_cache_flush(); make_db_current_silent(); $ret[] = "The data base of wordpress was made by prefix $table_prefix."; $option_desc = __('WordPress web address'); $wpdb->query("INSERT INTO $wpdb->options (blog_id, option_name,option_value, autoload) VALUES ('0', 'siteurl','$site_url', 'yes')"); $wpdb->query("INSERT INTO $wpdb->options (blog_id, option_name,option_value, autoload) VALUES ('0', 'home','$site_url', 'yes')"); populate_options(); populate_roles(); // create XPressME table $xp_prefix = $mydirname; if ($xp_prefix == 'wordpress'){ $xp_prefix = 'wp'; } $views_table = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_views' ; $charset_collate = ''; if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) { if ( ! empty($wpdb->charset) ) $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset"; if ( ! empty($wpdb->collate) ) $charset_collate .= " COLLATE $wpdb->collate"; } $views_queries ="CREATE TABLE $views_table ( post_id bigint(20) unsigned NOT NULL default '0', post_views bigint(20) unsigned NOT NULL default '0', KEY post_id (post_id) )$charset_collate;"; dbDelta($views_queries); $ret[] = "$views_table table of XPressME was made."; $d3forum_link = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_d3forum_link' ; $views_queries ="CREATE TABLE $d3forum_link ( comment_ID bigint(20) unsigned NOT NULL default '0', post_id int(10) unsigned NOT NULL default '0' , wp_post_ID bigint(20) unsigned NOT NULL default '0', KEY post_id (post_id) )$charset_collate;"; dbDelta($views_queries); $ret[] = "$d3forum_link table of XPressME was made."; $group_role = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_group_role' ; $views_queries ="CREATE TABLE $group_role ( groupid smallint(5) unsigned NOT NULL default '0', name varchar(50) NOT NULL default '' , description text NOT NULL default '', group_type varchar(50) NOT NULL default '' , role varchar(20) NOT NULL default '' , login_all smallint(5) unsigned NOT NULL default '0' , KEY groupid (groupid) )$charset_collate;"; dbDelta($views_queries); $ret[] = "$group_role table of XPressME was made."; $sql = "INSERT INTO $group_role (groupid, role) VALUES (1, 'administrator')"; $wpdb->query($sql); // make templates include_once XOOPS_ROOT_PATH . '/modules/' . $mydirname . '/include/xpress_templates_make.php' ; $t_mess = xpress_templates_make($mid,$mydirname); // Admin User Data write // Change uid field $wpdb->query("ALTER TABLE $wpdb->posts CHANGE `post_author` `post_author` mediumint(8) NOT NULL DEFAULT '0'"); $user_name = is_object($GLOBALS["xoopsUser"])?$GLOBALS["xoopsUser"]->getVar("uname"):'admin'; $email = is_object($GLOBALS["xoopsUser"])?$GLOBALS["xoopsUser"]->getVar("email"):'foo@exsample.com'; $pass_md5 = is_object($GLOBALS["xoopsUser"])?$GLOBALS["xoopsUser"]->getVar("pass"):''; $user_id = username_exists($user_name); if ( !$user_id ) { $random_password = 'admin'; if (!$xoops_config->is_wpmu){ $user_id = wp_create_user($user_name, $random_password, $email); } else { $user_id = wpmu_create_user($user_name, $random_password, $email); } } else { $random_password = __('User already exists. Password inherited.'); } $user = new WP_User($user_id); $user->set_role('administrator'); 'User ' . $user_name . ' of the administrator was made.'; // over write xoops md5 password $sql = "UPDATE $wpdb->users SET user_pass ='$pass_md5' WHERE ID = $user_id"; $wpdb->query($sql); $ret[] = 'The password of XOOPS was copied.'; // Set Default data if (!$xoops_config->is_wpmu){ // for WordPress // make WordPress Default data wp_install_defaults($user_id); $ret[] = 'The first sample post & comment was written.'; // Rewrite Option for Xpress // update_option("blog_charset", wp_blog_charset()); update_option('blogname', $site_name ); update_option('blogdescription', 'WordPress for XOOPS'); update_option("admin_email", $GLOBALS["xoopsConfig"]['adminmail']); update_option("ping_sites", "http://rpc.pingomatic.com/\nhttp://ping.xoopsforge.com/"); update_option("home", $site_url); update_option("siteurl", $site_url); update_option("what_to_show", "posts"); update_option('default_pingback_flag', 0); $ret[] = 'The initial data was written in the data base of wordpress.'; update_option("template", "xpress_default"); update_option("stylesheet", "xpress_default"); $ret[] = 'The default theme of wordpress was set to xpress_default.'; // update_option('uploads_use_yearmonth_folders', 1); update_option('upload_path', 'wp-content/uploads'); } else { // for WordPress MU global $base,$current_site, $dirs, $wpmu_version; $base = $xoops_config->mu_path_current_site; $domain = $xoops_config->mu_domain_current_site; $admin_email = $GLOBALS["xoopsConfig"]['adminmail']; $admin_user_name = $user_name; $admin_user_id = $user_id; include_once($mydirpath . '/include/xpress_mu_function.php'); do_htaccess( $xoops_config->module_path . '/htaccess.dist', $xoops_config->module_path . '/.htaccess', $base, ''); xpress_mu_install_defaults($domain,$base,$site_name,$admin_user_id,$admin_user_name,$admin_email); } // activate the xpressme plugin require_once dirname( __FILE__ ).'/xpress_active_plugin.php'; if (xpress_pulugin_activation('xpressme/xpressme.php')){ $ret[] = 'The xpressme plug-in was activated.'; } $ret = array_merge($ret,$t_mess); return true ; } endif; if( ! function_exists( 'xpress_message_append_oninstall' ) ) : function xpress_message_append_oninstall( &$module_obj , &$log ) { if( is_array( @$GLOBALS['ret'] ) ) { foreach( $GLOBALS['ret'] as $message ) { $log->add( strip_tags( $message ) ) ; } } // use mLog->addWarning() or mLog->addError() if necessary } endif; ?>