예제 #1
0
function xwords_search_base( $mydirname, $queryarray, $andor, $limit, $offset, $userid )
	{
	include_once XOOPS_ROOT_PATH."/modules/$mydirname/class/xwords.textsanitizer.php" ;
	$myts =& XwordsTextSanitizer::getInstance();
	$xoopsDB =& Database::getInstance();
	$xoopsModule = XoopsModule::getByDirname("{$mydirname}");

	$ret = array();
	// XOOPS Search module
	$showcontext = empty( $_GET['showcontext'] ) ? 0 : 1 ;
	$select4con = $showcontext ? "definition, html, smiley, xcodes, breaks, " : "" ;

	$sql = "SELECT entryID, categoryID, term, $select4con uid, datesub FROM " . $xoopsDB -> prefix( "{$mydirname}_ent" ) . " WHERE datesub < '".time()."' AND datesub > '0' AND submit = '0' AND offline = '0' AND request = '0' "; 

	if ( $userid != 0 && strlen($userid) < 9) {
		$sql .= " AND uid = '".$userid."' ";
	}
	// because count() returns 1 even if a supplied variable
	// is not an array, we must check if $querryarray is really an array
	$count = count( $queryarray );
	if ( $count > 0 && is_array( $queryarray ) )
		{
		$sql .= "AND (";
		for ( $i = 0; $i < $count; $i++ )
			{
			$binary = (preg_match('/^[[:alnum:]]+$/',$queryarray[$i])) ? "":"BINARY";
			$sql .= ($i > 0) ? " $andor " : "";
			$sql .= (strlen($userid) > 8) ? "(term LIKE $binary '%$queryarray[$i]%')" : "(term LIKE $binary '%$queryarray[$i]%' OR proc LIKE $binary '%,%$queryarray[$i]%' OR definition LIKE $binary '%$queryarray[$i]%')" ;
			}
		$sql .= ') ';
		}
	$sql .= 'ORDER BY entryID DESC';
	$result = $xoopsDB -> query( $sql, $limit, $offset );
	$ret = array() ;
	$context = '' ;
	$i = 0;
	while ( $myrow = $xoopsDB -> fetchArray( $result ) )
		{
		$ret[$i]['image'] = 'images/xw.gif';
		$ret[$i]['link'] = 'entry.php?entryID='.$myrow['entryID'].'&amp;categoryID='.$myrow['categoryID'];
		$ret[$i]['title'] = $myrow['term'];
		$ret[$i]['time'] = $myrow['datesub'];
		$ret[$i]['uid'] = $myrow['uid'];
		if( function_exists( 'search_make_context' ) && $showcontext )
			{
			$context = strip_tags($myts->displayTarea($myrow['definition'], intval($myrow['html']), intval($myrow['smiley']), intval($myrow['xcodes']), 1, intval($myrow['breaks'])));
			$ret[$i]['context'] = search_make_context($context,$queryarray);
			}
		$i++;
		}
	return $ret;
	}
예제 #2
0
$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
$MYDIRNAME = strtoupper($mydirname);

include ( '../../../include/cp_header.php' );
include_once ( XOOPS_ROOT_PATH."/modules/$mydirname/include/functions.php" );
include_once ( XOOPS_ROOT_PATH."/class/xoopsmodule.php" );
include_once ( XOOPS_ROOT_PATH."/class/xoopstree.php" );
include_once ( XOOPS_ROOT_PATH."/class/xoopslists.php" );
include_once ( XOOPS_ROOT_PATH."/class/xoopsformloader.php" );

$xoopsModule = XoopsModule::getByDirname("$mydirname");
$cat_table = $xoopsDB -> prefix ("{$mydirname}_cat") ;
$ent_table = $xoopsDB -> prefix ("{$mydirname}_ent") ;

if ( file_exists(XOOPS_ROOT_PATH."/modules/$mydirname/language/".$xoopsConfig['language']."/main.php") ) 
	{
	include XOOPS_ROOT_PATH."/modules/$mydirname/language/".$xoopsConfig['language']."/main.php";
	}
else 
	{
	include XOOPS_ROOT_PATH."/modules/$mydirname/language/english/main.php";
	}

if( ! class_exists( 'XwordsTextSanitizer' ) )
	{
	include_once( XOOPS_ROOT_PATH . "/modules/$mydirname/class/xwords.textsanitizer.php" ) ;
	}
$myts = & XwordsTextSanitizer::getInstance();

?>
예제 #3
0
function catlinksArray ()
	{
	$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
	$xoopsDB =& Database::getInstance();
	$cat_table = $xoopsDB -> prefix ("{$mydirname}_cat") ;

	if( ! class_exists( 'XwordsTextSanitizer' ) )
		{
		include_once( XOOPS_ROOT_PATH . "/modules/$mydirname/class/xwords.textsanitizer.php" ) ;
		}
	$myts = & XwordsTextSanitizer::getInstance();
//	$myts =& MyTextSanitizer::getInstance();

	$block0 = array();
	$catlinks = array();

	$resultcat = $xoopsDB -> query ( "SELECT categoryID, name, description, total FROM $cat_table ORDER BY weight ASC" );
	while (list( $catID, $name, $description,$total) = $xoopsDB->fetchRow($resultcat))
		{
		$catlinks['id'] = $catID;
		$catlinks['total'] = intval($total);
		$catlinks['linktext'] = $myts -> makeTboxData4Show( $name );
		$catlinks['desc'] = $myts -> displayTarea( $description,1,1,1,1,1,1);
//		$catlinks['desc'] = $myts -> makeTboxData4Show( $description );

		$block0['categories'][] = $catlinks;
		}
	return $block0;
	}
예제 #4
0
	function xwords_b_entries_random_show_base( $mydirname )
		{
		$MYDIRNAME = strtoupper($mydirname);
		$xoopsDB =& Database::getInstance();
		$cat_table = $xoopsDB -> prefix ("{$mydirname}_cat") ;
		$ent_table = $xoopsDB -> prefix ("{$mydirname}_ent") ;

		global $xoopsUser;

		$hModule =& xoops_gethandler('module');
		$hModConfig =& xoops_gethandler('config');
		$xwModule =& $hModule->getByDirname("$mydirname");
		$module_id = $xwModule -> getVar( 'mid' );
		$module_name = $xwModule -> getVar( 'dirname' );
		$xwConfig =& $hModConfig->getConfigsByCat(0, $xwModule->getVar('mid'));

		if( ! class_exists( 'XwordsTextSanitizer' ) )
			{
			include_once( XOOPS_ROOT_PATH . "/modules/$mydirname/class/xwords.textsanitizer.php" ) ;
			}
		$myts = & XwordsTextSanitizer::getInstance();

		$block = array();
		$rndlength = isset($xwConfig['rndlength']) ? intval($xwConfig['rndlength']) : 100 ;
//		$randomterm['title'] = constant("_MB_{$MYDIRNAME}_RANDOMTITLE");
		
		list ( $numrows ) = $xoopsDB -> fetchRow( $xoopsDB -> query ( "SELECT COUNT(*) FROM $ent_table WHERE datesub < '".time()."' AND datesub > '0' AND submit = '0' AND offline = '0' AND request = '0'"));
		if ($numrows > 1) 
			{
			$numrows = $numrows - 1;
			mt_srand((double)microtime()*1000000);
			$entrynumber = mt_rand(0, $numrows);
			}
		else 
			{
			$entrynumber = 0;
			}

		$result = $xoopsDB -> query ( "SELECT e.entryID, e.categoryID, e.term, e.definition, e.html, e.smiley, e.xcodes, e.breaks, e.uid, c.name FROM $ent_table e LEFT JOIN $cat_table c ON e.categoryID = c.categoryID WHERE datesub < '".time()."' AND datesub > '0' AND submit = '0' AND offline = '0' AND request = '0' LIMIT $entrynumber, 1");

		while ($myrow = $xoopsDB->fetchArray($result)) 
			{
			$uid = intval($myrow['uid']);
			$randomterm['entryID'] = intval($myrow['entryID']);
			$randomterm['term'] = $myts->makeTboxData4Show($myrow['term']);

			$definition = strip_tags($myts->displayTarea($myrow['definition'], intval($myrow['html']), intval($myrow['smiley']), intval($myrow['xcodes']), 1, intval($myrow['breaks'])));

			if ( !XOOPS_USE_MULTIBYTES )
				{
				$randomterm['definition'] = substr ( $definition, 0, $rndlength -1 ) . "...";
				}
			else
				{
				$randomterm['definition'] = xoops_substr( $definition, 0, $rndlength +2 );
				}
			$randomterm['categoryID'] = intval($myrow['categoryID']);
			$randomterm['categoryname'] = $myts -> makeTboxData4Show($myrow['name']);

			$randomterm['adminlinks'] = '';
			$randomterm['userlinks'] = '';
			// Functional links
			if ( is_object($xoopsUser) )
				{
				if ( $xoopsUser->isAdmin($xwModule->getVar('mid')) ) 
					{
					$randomterm['adminlinks'] = "<a href=\"".XOOPS_URL."/modules/$mydirname/admin/entry.php?op=mod&amp;entryID=".$randomterm['entryID']."\" target=\"_blank\"><img src=\"".XOOPS_URL."/modules/$mydirname/images/edit.gif\" border=\"0\" alt=\"".constant("_MB_{$MYDIRNAME}_EDITTERM")."\" width=\"15\" height=\"11\" /></a>&nbsp;<a href=\"".XOOPS_URL."/modules/$mydirname/admin/entry.php?op=del&amp;entryID=".$randomterm['entryID']."\" target=\"_blank\"><img src=\"".XOOPS_URL."/modules/$mydirname/images/delete.gif\" border=\"0\" alt=\"".constant("_MB_{$MYDIRNAME}_DELTERM")."\" width=\"15\" height=\"11\" /></a>&nbsp;";
					}
				elseif ( $uid == $xoopsUser -> getVar( 'uid' ))
					{
					$randomterm['userlinks'] = "<a href=\"".XOOPS_URL."/modules/$mydirname/submit.php?entryID=".$randomterm['entryID']."\" target=\"_blank\"><img src=\"".XOOPS_URL."/modules/$mydirname/images/edit.gif\" border=\"0\" alt=\"".constant("_MB_{$MYDIRNAME}_EDITTERM")."\" width=\"15\" height=\"11\" /></a>&nbsp;";
					}
				}

			$randomterm['multicats'] = $xwConfig['multicats'];
			$randomterm['seemore'] = constant("_MB_{$MYDIRNAME}_SEEMORE");
			$randomterm['dir'] = $mydirname;
			
			$block['randomstuff'][] = $randomterm;
			}
		return $block;
		}