get_var("SELECT mid FROM $modules_db WHERE dirname = '$module_dir'"); if (empty($moduleID)) return null; $conf_value = $xoops_db->get_var("SELECT conf_value FROM $config_db WHERE (conf_modid = $moduleID) AND (conf_name = '$config_name')"); if (empty($conf_value)) return null; return $conf_value; } // xoops db function get_xpress_dir_path() { return ABSPATH; } function get_xpress_dir_name() { return basename(ABSPATH); } function get_wp_prefix_only() { $dir_name = get_xpress_dir_name(); $prefix = $dir_name; if ($prefix == 'wordpress') $prefix = 'wp'; $prefix = $prefix . '_'; return $prefix; } function get_xoops_prefix() { global $xoops_config; $ret =$xoops_config->xoops_db_prefix . '_'; return $ret; } function get_xoops_trust_path() { global $xoops_config; $ret =$xoops_config->xoops_trust_path; return $ret; } function get_xoops_root_path() { global $xoops_config; $ret =$xoops_config->xoops_root_path; return $ret; } function get_wp_prefix() { $prefix = get_xoops_prefix() . get_wp_prefix_only(); return $prefix; } function get_xoops_url() { global $xoops_config; $ret =$xoops_config->xoops_url ; return $ret; } function get_xpress_url() { global $xoops_config; $ret =$xoops_config->module_url ; return $ret; } function get_xpress_modid() { global $xoops_db; $modulename = get_xpress_dir_name(); $sql = "SELECT mid FROM " . get_xoops_prefix() . "modules WHERE dirname = '$modulename'"; $mid = $xoops_db->get_var($sql); return $mid; } function get_xpress_db_version() { include get_xpress_dir_path() . '/wp-includes/version.php'; return $wp_db_version; } function is_xpress_mobile() { //ktai_style if (function_exists('is_ktai')){ if (is_ktai()) { // $file_path = $GLOBALS['xoopsModuleConfig']["ktai_style_tmpdir"] . '/comments.php'; return true; } } //mobg if (function_exists('is_mobile')) { if (is_mobile()){ return true; } } if ( preg_match("/DoCoMo/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/softbank/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/vodafone/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/J-PHONE/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/UP\.Browser/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/ASTEL/", $_SERVER['HTTP_USER_AGENT']) || preg_match("/PDXGW/", $_SERVER['HTTP_USER_AGENT']) ) { return true; } else { return false; } } function block_cache_refresh() { global $xoops_db; $mid = get_xpress_modid(); $sql = "SELECT bid,options,func_file FROM " . get_xoops_prefix() . "newblocks WHERE mid = $mid"; $blocks = $xoops_db->get_results($sql); $mydirname = get_xpress_dir_name(); require_once get_xpress_dir_path() . '/include/xpress_block_render.php'; foreach($blocks as $block){ $func_file = $block->func_file; $call_theme_function_name = str_replace(".php", "", $func_file); $inc_theme_file_name = str_replace(".php", "", $func_file) . '_theme.php'; $cache_title = str_replace(".php", "", $func_file); $blockID = $block->bid; $options = explode("|", $block->options); $block_theme_file = get_block_file_path($mydirname,$inc_theme_file_name); require_once $block_theme_file; $block_render = $call_theme_function_name($options); //The block name and the called function name should be assumed to be the same name. $xml['block'] = $block_render; $xml['block']['options'] = $block->options; xpress_block_cache_write($mydirname,$cache_title. $blockID, $xml); } } function is_wordpress_style() { global $xpress_config; if ($xpress_config->viewer_type == 'wordpress') return true; if ($xpress_config->viewer_type == 'xoops') return false; // user select $get_style = isset($_GET["style"]) ? $_GET["style"] : ''; $cookie_style = isset($_COOKIE["xpress_style"]) ? $_COOKIE["xpress_style"] : ''; // set style if (!empty($get_style)){ $style = $get_style; } else { if (!empty($cookie_style)){ $style = $cookie_style; } else { $style = 'x'; } } // set cookie if (empty($cookie_style)){ setcookie("xpress_style", $style); $_COOKIE["xpress_style"] = $style; } else { if ($style != $cookie_style) { setcookie("xpress_style", $style); $_COOKIE["xpress_style"] = $style; } } if ($style == 'w') { return true; } else { return false; } } function wp_meta_add_xpress_menu() { global $xpress_config; if ($xpress_config->viewer_type == 'user_select'){ echo disp_mode_set(); } if (function_exists('wp_theme_switcher') ) { echo '
  • ' . __('Themes') . ':'; wp_theme_switcher('dropdown'); echo '
  • '; } } function disp_mode_set(){ global $xpress_config; $select =""; if ($xpress_config->viewer_type == 'user_select'){ $style = isset($_GET["style"]) ? $_GET["style"] : (isset($_COOKIE["xpress_style"]) ? $_COOKIE["xpress_style"] : ""); switch($style) { case 'w': $select ='
  • '.__('Switch to XOOPS mode','xpressme').'
  • '; // $select.=''.__('Switch to XOOPS mode','xpressme') . ''; break; case 'x': $select='
  • '.__('Switch to WordPress mode','xpressme').'
  • '; break; default: $select='
  • '.__('Switch to WordPress mode','xpressme').'
  • '; break; } } return $select; } function xpress_comment_count( $count ) { global $id; $comments_by_type = &separate_comments(get_comments('status=approve&post_id=' . $id)); return count($comments_by_type['comment']); } function xpress_set_author_cookie($query_vars) { global $wp , $wpdb; if (is_admin()) return $query_vars; $author_cookie = get_xpress_dir_name() . "_select_author" ; if(xpress_is_multi_user()){ if (!empty($_GET)){ $auth = intval( @$_GET["author"] ); if ($auth > 0){ setcookie($author_cookie, $auth, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = $auth; } } else { if(xpress_is_wp20()){ if (!empty($wp->matched_query) ){ if (strpos($wp->matched_query,'author_name') !== false ){ $pattern = "author_name\s*=\s*(.*)\s*"; if ( preg_match ( "/".$pattern."/i", $wp->matched_query, $match ) ){ $author_name = "$match[1]"; $auth = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$author_name'"); setcookie($author_cookie, $auth, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = $auth; } } } else { setcookie($author_cookie, 0, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = 0; } } else { if (!empty($wp->query_vars) ){ if (!empty($wp->query_vars['author_name']) ){ $author_name = $wp->query_vars['author_name']; $auth = $wpdb->get_var("SELECT ID FROM $wpdb->users WHERE user_login = '$author_name'"); setcookie($author_cookie, $auth, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = $auth; } } else { setcookie($author_cookie, 0, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = 0; } } } }else{ // $GLOBALS["wp_xoops_author"] = null; setcookie($author_cookie, 0, time()+3600, COOKIEPATH); $_COOKIE[$author_cookie] = 0; } return $query_vars; } function xpress_query_filter(&$query) { if (is_admin()) return $query; $author_cookie = get_xpress_dir_name() . "_select_author" ; if (strpos($query,'SELECT') === false) return $query; $select_pattern = "SELECT(.*)post_author(.*)FROM"; if (preg_match ( "/".$select_pattern."/i", $query, $select_match )) return $query; $query = preg_replace('/\s\s+/', ' ', $query); if (!empty($_COOKIE[$author_cookie])){ if(xpress_is_wp20()){ $pattern = "WHERE.*AND\s?\(*post_author\s*="; if ( preg_match ( "/".$pattern."/i", $query, $match ) ){ return $query; } $pattern = "WHERE\s?post_author\s*="; // get_usernumposts() if ( preg_match ( "/".$pattern."/i", $query, $match ) ){ return $query; } $pattern = "WHERE.*post_status\s*=\s*'publish'\s*\)?"; if ( preg_match ( "/".$pattern."/i", $query, $match ) ){ $where_str = "$match[0]"; $where_arry = split(' ',$where_str); $post_prefix = ''; foreach ($where_arry as $p){ if ( preg_match ( "/post_status/", $p, $match3 ) ){ $post_prefix = preg_replace("/post_status/", "", $p); $post_prefix = preg_replace("/\(/", "", $post_prefix); break; } } $patern = 'WHERE'; $replace = "WHERE {$post_prefix}post_author = " . intval($_COOKIE[$author_cookie]) . " AND "; $query = preg_replace("/$patern/", $replace, $query); } } else { $pattern = "WHERE.*post_type\s*=\s*'post'\s*\)?"; if ( preg_match ( "/".$pattern."/i", $query, $match ) ){ $where_str = "$match[0]"; $where_arry = split(' ',$where_str); $post_prefix = ''; foreach ($where_arry as $p){ if ( preg_match ( "/post_type/", $p, $match3 ) ){ $post_prefix = preg_replace("/post_type/", "", $p); $post_prefix = preg_replace("/\(/", "", $post_prefix); break; } } preg_match ( "/post_type(.*)/", $where_str, $p_match ); $patern_s = $p_match[0]; $patern = preg_replace('/\)/', '\)', $patern_s); $replace = $patern_s . " AND {$post_prefix}post_author = " . intval($_COOKIE[$author_cookie]) . " "; $query = preg_replace("/$patern/", $replace, $query); } } } // xpress_show_sql_quary($query); return $query; } function safe_site_url_filter($site_url){ global $xoops_config; if (!$xoops_config->is_wpmu){ if ($site_url != get_xpress_url()) $site_url = get_xpress_url(); } return $site_url; } ?>