Beispiel #1
0
 function xpress_oninstall_base($module, $mydirname)
 {
     // transations on module install
     global $ret;
     // TODO :-D
     // for Cube 2.1
     if (defined('XOOPS_CUBE_LEGACY')) {
         $root =& XCube_Root::getSingleton();
         $root->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.' . ucfirst($mydirname) . '.Success', 'xpress_message_append_oninstall');
         $root->mDelegateManager->add('Legacy.Admin.Event.ModuleInstall.' . ucfirst($mydirname) . '.Fail', 'xpress_message_append_oninstall_err');
         $ret = array();
     } else {
         if (!is_array($ret)) {
             $ret = array();
         }
     }
     $db =& Database::getInstance();
     $mid = $module->getVar('mid');
     if (defined('XOOPS_CUBE_LEGACY')) {
         $ret[] = "********************************* Install Log ********************************<br />";
     } else {
         $ret[] = '<h4 style="border-bottom: 1px dashed rgb(0, 0, 0); text-align: left; margin-bottom: 0px;">Install Log</h4>';
     }
     //xpress
     global $wpdb, $wp_rewrite, $wp_queries, $table_prefix, $wp_db_version, $wp_roles, $wp_query, $wp_embed;
     global $xoops_config;
     define("WP_INSTALLING", true);
     define('WP_FIRST_INSTALL', true);
     // For WPMU2.8
     $site_url = XOOPS_URL . "/modules/" . $mydirname;
     $mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname;
     $path = $mydirpath . '/';
     $site_name = ucfirst($mydirname) . ' ' . _MI_XP2_NAME;
     // permission and wordpress files check
     require_once $path . 'include/pre_check.php';
     if (!xp_permission_check($mydirname, $mydirpath)) {
         if (!defined('XOOPS_CUBE_LEGACY')) {
             $ret = $GLOBALS["err_log"];
             $ret[] = "<br /><span style=\"color:#ff0000;\">The uninstallation of the module is executed now. </span><br />";
             $ret[] = xoops_module_uninstall($mydirname);
         }
         return false;
     }
     // 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}.<br />";
     $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 = preg_replace('/wordpress/', 'wp', $mydirname);
     $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} (\n  \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n  \t\tpost_id bigint(20) unsigned NOT NULL default '0',\n  \t\tpost_views bigint(20) unsigned NOT NULL default '0',\n  \t\tKEY post_id (post_id)\n\t\t){$charset_collate};";
     dbDelta($views_queries);
     $ret[] = "{$views_table} table of XPressME was made.<br />";
     $d3forum_link = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_d3forum_link';
     $views_queries = "CREATE TABLE {$d3forum_link} (\n  \t\tcomment_ID bigint(20) unsigned NOT NULL default '0',\n  \t\tpost_id int(10) unsigned NOT NULL default '0' ,\n  \t\twp_post_ID bigint(20) unsigned NOT NULL default '0',\n  \t\tforum_id bigint(20) unsigned NOT NULL default '0',\n  \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n  \t\tKEY post_id (post_id)\n\t\t){$charset_collate};";
     dbDelta($views_queries);
     $ret[] = "{$d3forum_link} table of XPressME was made.<br />";
     $group_role = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_group_role';
     $views_queries = "CREATE TABLE {$group_role} (\n  \t\tgroupid smallint(5) unsigned NOT NULL default '0',\n  \t\tblog_id bigint(20) unsigned NOT NULL default '0',\n  \t\tname varchar(50)  NOT NULL default '' ,\n  \t\tdescription text  NOT NULL default '',\n  \t\tgroup_type varchar(50)  NOT NULL default '' ,\n\t\trole varchar(20)  NOT NULL default '' ,\n\t\tlogin_all smallint(5) unsigned NOT NULL default '0' ,\n  \t\tKEY groupid (groupid)\n\t\t){$charset_collate};";
     dbDelta($views_queries);
     $ret[] = "{$group_role} table of XPressME was made.<br />";
     $notify_reserve = XOOPS_DB_PREFIX . '_' . $xp_prefix . '_notify_reserve';
     $queries = "CREATE TABLE {$notify_reserve} (\n  \t\tnotify_reserve_id bigint(20) NOT NULL AUTO_INCREMENT ,\n  \t\tnotify_reserve_status varchar(20)  NOT NULL default '' ,\n  \t\tcategory text  NOT NULL default '',\n  \t\titem_id bigint(20) unsigned NOT NULL default '0',\n\t\tevent varchar(20) NOT NULL default '',\n\t\textra_tags_arry longtext NOT NULL default '' ,\n\t\tuser_list_arry longtext NOT NULL default '' ,\n  \t\tmodule_id smallint(5) unsigned NOT NULL default '0' ,\n  \t\tomit_user_id varchar(20) NOT NULL default '' ,\n  \t\tKEY notify_reserve_id (notify_reserve_id)\n\t\t)ENGINE=MyISAM";
     dbDelta($queries);
     $ret[] = "{$notify_reserve} table of XPressME was made.<br />";
     $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") : '*****@*****.**';
     $pass_md5 = is_object($GLOBALS["xoopsUser"]) ? $GLOBALS["xoopsUser"]->getVar("pass") : '';
     add_filter('sanitize_user', "sanitize_user_multibyte", 10, 3);
     if (!function_exists('username_exists')) {
         require_once $mydirpath . '/wp-includes/registration-functions.php';
     }
     $user_id = username_exists($user_name);
     if (!$user_id) {
         $random_password = '******';
         $user_id = wp_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 ='******' WHERE ID = {$user_id}";
     $wpdb->query($sql);
     $ret[] = 'The password of XOOPS was copied.<br />';
     // Set Default data
     // make WordPress Default data
     if (function_exists('wp_install_defaults')) {
         wp_install_defaults($user_id);
     } else {
         wp_install_old_defaults($user_id);
     }
     $ret[] = 'The first sample post & comment was written.<br />';
     // Rewrite Option for Xpress
     $xoops_config_tbl = XOOPS_DB_PREFIX . '_config';
     $sql = "SELECT conf_value FROM  {$xoops_config_tbl} WHERE `conf_name` = 'default_TZ'";
     $xoops_default_TZ = $wpdb->get_var($sql);
     update_option('gmt_offset', $xoops_default_TZ);
     if (WPLANG == 'ja_EUC') {
         $setup_charset = 'EUC-JP';
     } elseif (WPLANG == 'ja_SJIS') {
         $setup_charset = 'Shift_JIS';
     } else {
         $setup_charset = 'UTF-8';
     }
     update_option("blog_charset", $setup_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.<br />';
     update_option("template", "xpress_default");
     update_option("stylesheet", "xpress_default");
     $ret[] = 'The default theme of wordpress was set to xpress_default.<br />';
     //	update_option('uploads_use_yearmonth_folders', 1);
     update_option('upload_path', 'wp-content/uploads');
     // 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.<br />';
     } else {
         $GLOBALS["err_log"][] = '<span style="color:#ff0000;">failed in the activation of xpressme plug-in.</span><br />';
         return false;
     }
     $ret = array_merge($ret, $t_mess);
     return true;
 }
	if (!is_object($xoopsUser)){	// before login auth cookie clear
		wp_logout();
	}
	wp();
	//for Event notification update on single post to which link is changed by permalink
	if ( is_404() ) {
		if (!empty($_POST['not_redirect'])) {
			include '../../mainfile.php';
			require_once XOOPS_ROOT_PATH.'/include/notification_update.php';
			exit();
		}
	}
	
	if (!function_exists('is_wordpress_style')){	// When the XPressME plug-in is invalid
		require_once dirname( __FILE__ ).'/xpress_active_plugin.php' ;
		xpress_pulugin_activation('xpressme/xpressme.php');
		// reloaded 
		header('Location: ' . $xoops_config->module_url . '/');
		
		$err_str = "The activation of the XPressME plugin was executed.<br />\n";
		$err_str .= "Because the XPressME plugin was invalid.<br />\n";
		$err_str .= "Please do the rereading seeing on the page.\n";			
		die($err_str);
	}
	
	Notification_reserve_send();
	ob_start();
		$now_ob_level = ob_get_level();
		if (version_compare($xoops_config->wp_version,'2.2', '<'))
			require_once dirname( __FILE__ ).'/old_template-loader.php' ;
		else