- Timestamp:
- Oct 21, 2009, 8:24:59 PM (15 years ago)
- Location:
- trunk/xpressme_integration_kit/include
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/xpressme_integration_kit/include/general_functions.php
r414 r415 120 120 121 121 // Get Multi Blog table list for WordPressMU 122 if (!function_exists('get_ multi_table_list')){122 if (!function_exists('get_table_list')){ 123 123 function get_table_list($wp_prefix = '',$table_name = ''){ 124 124 global $xoopsDB,$xoops_db; -
trunk/xpressme_integration_kit/include/search.php
r261 r415 13 13 14 14 if( ! function_exists( 'xpress_global_search_base' ) ) { 15 function xpress_global_search_base( $mydirname , $queryarray , $andor , $limit , $offset , $userid ){ 16 global $xoopsDB, $myts; 17 18 require_once (XOOPS_ROOT_PATH . '/modules/'.$mydirname . '/include/general_functions.php'); 15 19 16 function xpress_global_search_base( $mydirname , $queryarray , $andor , $limit , $offset , $userid ) 17 { 18 global $xoopsDB, $myts; 19 20 require_once (XOOPS_ROOT_PATH . '/modules/'.$mydirname . '/include/general_functions.php'); 21 22 $myts =& MyTextSanitizer::getInstance(); 23 24 $time_difference = get_time_difference($mydirname); 25 $now = date('Y-m-d H:i:s',(time() + ($time_difference * 3600))); 26 $where = "(post_status = 'publish') AND (post_date <= '".$now."')"; 27 28 if ( is_array($queryarray) && $count = count($queryarray) ) { 29 $str_query = array(); 30 for($i=0;$i<$count;$i++){ 31 $str_query[] = "(post_title LIKE '%".$queryarray[$i]."%' OR post_content LIKE '%".$queryarray[$i]."%')"; 20 $myts =& MyTextSanitizer::getInstance(); 21 22 $xp_prefix = $mydirname; 23 if ($xp_prefix == 'wordpress'){ 24 $xp_prefix = 'wp'; 32 25 } 33 $where .= " AND ".implode(" $andor ", $str_query); 34 } 35 if ($userid) { 36 $userid = xoops_uid_to_wp_uid(intval($userid),$mydirname); 37 $where .= " AND (post_author=".$userid.")"; 38 } 39 40 $xp_prefix = $mydirname; 41 if ($xp_prefix == 'wordpress'){ 42 $xp_prefix = 'wp'; 43 } 44 $views_table = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_posts' ; 45 46 $request = "SELECT * FROM " . $views_table ." WHERE ".$where; 47 $request .= " ORDER BY post_date DESC"; 48 $result = $xoopsDB->query($request,$limit,$offset); 49 50 $ret = array(); 51 $i = 0; 52 while($myrow = $xoopsDB->fetchArray($result)){ 53 54 55 // $ret[$i]['link'] = str_replace(get_settings('home')."/","",get_permalink(($myrow['ID']))); 56 switch ($myrow['post_type']) { 57 case 'page': 58 $ret[$i]['link'] = '?page_id=' . $myrow['ID']; 59 break; 60 case 'post': 61 case '': 62 $ret[$i]['link'] = '?p=' . $myrow['ID']; 26 if ($userid) { 27 $userid = xoops_uid_to_wp_uid(intval($userid),$mydirname); 63 28 } 64 29 65 $ret[$i]['title'] = $myts->htmlSpecialChars($myrow['post_title']); 66 $date_str = $myrow['post_date']; 67 $yyyy = substr($date_str,0,4); 68 $mm = substr($date_str,5,2); 69 $dd = substr($date_str,8,2); 70 $hh = substr($date_str,11,2); 71 $nn = substr($date_str,14,2); 72 $ss = substr($date_str,17,2); 73 $ret[$i]['time'] = mktime( $hh,$nn,$ss,$mm,$dd,$yyyy); 74 $ret[$i]['uid'] = wp_uid_to_xoops_uid($myrow['post_author'],$mydirname); 75 // $ret[$i]['page'] = $myts->htmlSpecialChars($myrow['post_title']); 30 $prefix= XOOPS_DB_PREFIX . '_' . $xp_prefix ; 31 $posts_tables = get_table_list($prefix,'posts'); 32 $i = 0; 33 $ret = array(); 34 foreach( $posts_tables as $views_table){ 35 $mid_prefix = get_multi_mid_prefix($prefix,'posts' , $views_table); 36 $option_table = $prefix . $mid_prefix . 'options'; 37 $time_difference = get_blog_option($option_table ,'gmt_offset'); 38 $blog_url = get_blog_option($option_table , 'siteurl'); 39 $pattern = '/.*' . $mydirname . '/'; 40 $mid_url = preg_replace($pattern, '' , $blog_url); 41 $mid_url = preg_replace('/\//' , '' , $mid_url); 42 if (!empty($mid_url)) $mid_url = $mid_url . '/' ; 43 44 $blog_name = get_blog_option($option_table , 'blogname'); 45 if (empty($mid_url)) $blog_name = ''; else $blog_name = $blog_name . ':: '; 46 47 $now = date('Y-m-d H:i:s',(time() + ($time_difference * 3600))); 48 $where = "(post_status = 'publish') AND (post_date <= '".$now."')"; 76 49 77 $context = '' ; 78 $text =$myrow['post_content']; 79 // get context for module "search" 80 $showcontext = empty( $_GET['showcontext'] ) ? 0 : 1 ; 81 if( function_exists( 'search_make_context' ) && $showcontext ) { 82 if( function_exists( 'easiestml' ) ) $text = easiestml( $text ) ; 83 $full_context = strip_tags($text) ; 84 $context = search_make_context( $full_context , $queryarray ) ; 50 if ( is_array($queryarray) && $count = count($queryarray) ) { 51 $str_query = array(); 52 for($i=0;$i<$count;$i++){ 53 $str_query[] = "(post_title LIKE '%".$queryarray[$i]."%' OR post_content LIKE '%".$queryarray[$i]."%')"; 54 } 55 $where .= " AND ".implode(" $andor ", $str_query); 56 } 57 if ($userid) { 58 $where .= " AND (post_author=".$userid.")"; 59 } 60 61 $request = "SELECT * FROM " . $views_table ." WHERE ".$where; 62 $request .= " ORDER BY post_date DESC"; 63 $result = $xoopsDB->query($request,$limit,$offset); 64 65 while($myrow = $xoopsDB->fetchArray($result)){ 66 switch ($myrow['post_type']) { 67 case 'page': 68 $ret[$i]['link'] = $mid_url . '?page_id=' . $myrow['ID']; 69 break; 70 case 'post': 71 case '': 72 $ret[$i]['link'] = $mid_url . '?p=' . $myrow['ID']; 73 } 74 $ret[$i]['title'] = $blog_name . $myts->htmlSpecialChars($myrow['post_title']); 75 $date_str = $myrow['post_date']; 76 $yyyy = substr($date_str,0,4); 77 $mm = substr($date_str,5,2); 78 $dd = substr($date_str,8,2); 79 $hh = substr($date_str,11,2); 80 $nn = substr($date_str,14,2); 81 $ss = substr($date_str,17,2); 82 $ret[$i]['time'] = mktime( $hh,$nn,$ss,$mm,$dd,$yyyy); 83 $ret[$i]['uid'] = wp_uid_to_xoops_uid($myrow['post_author'],$mydirname); 84 85 $context = '' ; 86 $text =$myrow['post_content']; 87 // get context for module "search" 88 $showcontext = empty( $_GET['showcontext'] ) ? 0 : 1 ; 89 if( function_exists( 'search_make_context' ) && $showcontext ) { 90 if( function_exists( 'easiestml' ) ) $text = easiestml( $text ) ; 91 $full_context = strip_tags($text) ; 92 $context = search_make_context( $full_context , $queryarray ) ; 93 } 94 $ret[$i]['context']=$context; 95 $i++; 96 } 85 97 } 86 $ret[$i]['context']=$context;98 return $ret; 87 99 88 89 $i++;90 100 } 91 return $ret;92 93 101 } 94 102 95 } 103 if( ! function_exists( 'get_blog_option' ) ) { 104 function get_blog_option($option_table,$option_name){ 105 $xoopsDB =& Database::getInstance(); 96 106 97 if( ! function_exists( 'get_time_difference' ) ) { 98 function get_time_difference($mydirname){ 99 $xoopsDB =& Database::getInstance(); 100 101 $xp_prefix = $mydirname; 102 if ($xp_prefix == 'wordpress'){ 103 $xp_prefix = 'wp'; 107 $sql = "SELECT option_value FROM $option_table WHERE option_name = '" . $option_name . "'"; 108 109 $result = $xoopsDB->query($sql, 0, 0); 110 if ($xoopsDB->getRowsNum($result) > 0){ 111 $row = $xoopsDB->fetchArray($result); 112 return $row['option_value']; 113 } 114 return 0; 104 115 } 105 $option_tbl = XOOPS_DB_PREFIX . '_' . $xp_prefix .'_options' ;106 107 $sql = "SELECT option_value FROM $option_tbl WHERE option_name = 'gmt_offset'";108 109 $result = $xoopsDB->query($sql, 0, 0);110 if ($xoopsDB->getRowsNum($result) > 0){111 $row = $xoopsDB->fetchArray($result);112 return $row['option_value'];113 }114 return 0;115 }116 116 } 117 117
Note: See TracChangeset
for help on using the changeset viewer.