Permission Error $check_file is not writeable
";
$error = true;
}
}
} else {
@chmod($check_file, 0777);
if (! is_writeable($check_file)) {
$GLOBALS["err_log"][] = "Permission Error $check_file directory is not writeable
";
$error = true;
} else {
// Windows parmission check
$src_file = __FILE__ ;
$newfile = $check_file . 'write_check.txt';
if (!@copy($src_file, $newfile)) {
$GLOBALS["err_log"][] = "Permission Error $check_file directory is not writeable
";
$error = true;
} else {
unlink($newfile);
}
}
}
}
if($error) return false;
return true;
}
function wp_installer($mydirname ){
//xpress
global $wpdb,$wp_rewrite, $wp_queries, $table_prefix, $wp_db_version, $wp_roles, $wp_query,$wp_embed;
global $xoops_config;
$msgs = array();
$site_url= XOOPS_URL."/modules/".$mydirname;
$mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname;
$path = $mydirpath . '/';
$site_name = ucfirst($mydirname) . ' ' . _MI_XP2_NAME;
// install WordPress
define("WP_INSTALLING", true);
require_once $path . 'wp-load.php';
include_once($mydirpath . '/wp-admin/upgrade-functions.php');
wp_cache_flush();
make_db_current_silent();
$msgs[] = "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();
// 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"):'';
if (!function_exists('username_exists')){
require_once($mydirpath . '/wp-includes/registration-functions.php');
}
$user_id = username_exists($user_name);
if ( !$user_id ) {
$random_password = 'admin';
$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 ='$pass_md5' WHERE ID = $user_id";
$wpdb->query($sql);
$msgs[] = 'The password of XOOPS was copied.
';
// 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);
}
$msgs[] = 'The first sample post & comment was written.
';
// 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);
$msgs[] = 'The initial data was written in the data base of wordpress.
';
update_option("template", "xpress_default");
update_option("stylesheet", "xpress_default");
$msgs[] = 'The default theme of wordpress was set to xpress_default.
';
// 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')){
$msgs[] = 'The xpressme plug-in was activated.
';
} else {
$GLOBALS["err_log"][] = 'failed in the activation of xpressme plug-in.
';
return false;
}
// 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 (
blog_id bigint(20) unsigned NOT NULL default '0',
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);
$msgs[] = "$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',
forum_id bigint(20) unsigned NOT NULL default '0',
blog_id bigint(20) unsigned NOT NULL default '0',
KEY post_id (post_id)
)$charset_collate;";
dbDelta($views_queries);
$msgs[] = "$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',
blog_id bigint(20) 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);
$msgs[] = "$group_role table of XPressME was made.
";
$sql = "INSERT INTO $group_role (groupid, role) VALUES (1, 'administrator')";
$wpdb->query($sql);
$notify_reserve = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_notify_reserve' ;
$queries ="CREATE TABLE $notify_reserve (
notify_reserve_id bigint(20) NOT NULL AUTO_INCREMENT ,
notify_reserve_status varchar(20) NOT NULL default '' ,
category text NOT NULL default '',
item_id bigint(20) unsigned NOT NULL default '0',
event varchar(20) NOT NULL default '',
extra_tags_arry longtext NOT NULL default '' ,
user_list_arry longtext NOT NULL default '' ,
module_id smallint(5) unsigned NOT NULL default '0' ,
omit_user_id varchar(20) NOT NULL default '' ,
KEY notify_reserve_id (notify_reserve_id)
)TYPE=MyISAM";
dbDelta($queries);
$msgs[] = "$notify_reserve table of XPressME was made.
";
return $msgs ;
}
?>