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; define("WP_INSTALLING", true); $site_url= XOOPS_URL."/modules/".$mydirname; $mydirpath = XOOPS_ROOT_PATH . '/modules/' . $mydirname; $path = $mydirpath . '/'; 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 (option_id, blog_id, option_name,option_value, autoload) VALUES ('1', '0', 'siteurl','$site_url', 'yes')"); $wpdb->query("INSERT INTO $wpdb->options (option_id, blog_id, option_name,option_value, autoload) VALUES ('1', '0', 'home','$site_url', 'yes')"); populate_options(); populate_roles(); // Rewrite Option for Xpress // update_option("blog_charset", wp_blog_charset()); update_option('blogname', ucfirst($mydirname) . ' ' . _MI_XPRESS_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.'; /* add new option for uploads */ // update_option('uploads_use_yearmonth_folders', 1); // update_option('upload_path', $module->getVar("dirname")); // 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'; $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); $ret[] = 'The password of XOOPS was copied.'; // Set Default data wp_install_defaults($user_id); $ret[] = 'The first sample post & comment was written.'; // generate_page_uri_index(); /* activate the XPressME plugin */ $plugin_current = "xpressme/xpressme.php"; update_option('active_plugins', array($plugin_current)); include_once(dirname(__FILE__) . '/../wp-content/plugins/'.$plugin_current); do_action('activate_'.$plugin_current); $ret[] = 'The xpressme plug-in was activated.'; // create views 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(10) 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); // TEMPLATES $tplfile_handler =& xoops_gethandler( 'tplfile' ) ; $tpl_path = dirname( dirname( __FILE__ ) ).'/templates/source' ; if( $handler = @opendir( $tpl_path . '/' ) ) { while( ( $file = readdir( $handler ) ) !== false ) { if( substr( $file , 0 , 1 ) == '.' ) continue ; $file_path = $tpl_path . '/' . $file ; if( is_file( $file_path ) ) { $mtime = intval( @filemtime( $file_path ) ) ; $tplfile =& $tplfile_handler->create() ; $tplfile->setVar( 'tpl_source' , file_get_contents( $file_path ) , true ) ; $tplfile->setVar( 'tpl_refid' , $mid ) ; $tplfile->setVar( 'tpl_tplset' , 'default' ) ; $tplfile->setVar( 'tpl_file' , $mydirname . '_' . $file ) ; $tplfile->setVar( 'tpl_desc' , '' , true ) ; $tplfile->setVar( 'tpl_module' , $mydirname ) ; $tplfile->setVar( 'tpl_lastmodified' , $mtime ) ; $tplfile->setVar( 'tpl_lastimported' , 0 ) ; $tplfile->setVar( 'tpl_type' , 'block' ) ; if( ! $tplfile_handler->insert( $tplfile ) ) { $ret[] = 'ERROR: Could not insert template '.htmlspecialchars($mydirname.'_'.$file).' to the database.
'; } else { $tplid = $tplfile->getVar( 'tpl_id' ) ; $ret[] = 'Template '.htmlspecialchars($mydirname.'_'.$file).' added to the database. (ID: '.$tplid.')
'; // generate compiled file include_once XOOPS_ROOT_PATH.'/class/xoopsblock.php' ; include_once XOOPS_ROOT_PATH.'/class/template.php' ; if( ! xoops_template_touch( $tplid ) ) { $ret[] = 'ERROR: Failed compiling template '.htmlspecialchars($mydirname.'_'.$file).'.
'; } else { $ret[] = 'Template '.htmlspecialchars($mydirname.'_'.$file).' compiled.
'; } } } } closedir( $handler ) ; } include_once XOOPS_ROOT_PATH.'/class/xoopsblock.php' ; include_once XOOPS_ROOT_PATH.'/class/template.php' ; xoops_template_clear_module_cache( $mid ) ; 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; ?>