Example #1
0
function ReturnSearchAllSql($add)
{
    global $public_r, $class_r;
    //关闭
    if (empty($public_r['openschall'])) {
        printerror("SchallClose", '', 1);
    }
    //关键字
    $keyboard = RepPostVar2($add['keyboard']);
    if (!trim($keyboard)) {
        printerror('EmptySchallKeyboard', '', 1);
    }
    $strlen = strlen($keyboard);
    if ($strlen < $public_r['schallminlen'] || $strlen > $public_r['schallmaxlen']) {
        printerror('SchallMinKeyboard', '', 1);
    }
    $returnr['keyboard'] = ehtmlspecialchars($keyboard);
    $returnr['search'] = "&keyboard=" . $keyboard;
    //字段
    $field = (int) $add['field'];
    if ($field) {
        $returnr['search'] .= "&field=" . $field;
    }
    if ($field == 1) {
        if ($public_r['schallfield'] != 1) {
            printerror('SchallNotOpenTitleText', '', 1);
        }
        $sf = "title,infotext";
    } elseif ($field == 2) {
        if ($public_r['schallfield'] == 3) {
            printerror('SchallNotOpenTitle', '', 1);
        }
        $sf = "title";
    } elseif ($field == 3) {
        if ($public_r['schallfield'] == 2) {
            printerror('SchallNotOpenText', '', 1);
        }
        $sf = "infotext";
    } else {
        $sf = ReturnSearchAllField(0);
    }
    $where = '';
    //栏目
    $classid = RepPostVar($add['classid']);
    if ($classid) {
        $returnr['search'] .= "&classid=" . $classid;
        if (strstr($classid, ",")) {
            $son_r = sys_ReturnMoreClass($classid, 1);
            $where .= '(' . $son_r[1] . ') and ';
        } else {
            $classid = (int) $classid;
            $where .= $class_r[$classid][islast] ? "classid='{$classid}' and " : ReturnClass($class_r[$classid][sonclass]) . ' and ';
        }
    }
    //关键字
    if (strstr($keyboard, ' ')) {
        $andkey = '';
        $keyr = explode(' ', $keyboard);
        $kcount = count($keyr);
        for ($i = 0; $i < $kcount; $i++) {
            if (strlen($keyr[$i]) < $public_r['schallminlen']) {
                continue;
            }
            $kb = SearchAllChangeChar($keyr[$i]);
            //转码
            $kb = SearchReturnSaveStr($kb);
            $kb = RepPostVar2($kb);
            if (!trim($kb)) {
                continue;
            }
            $where .= $andkey . "MATCH(" . $sf . ") AGAINST('" . $kb . "' IN BOOLEAN MODE)";
            $andkey = ' and ';
        }
        if (empty($where)) {
            printerror('SchallMinKeyboard', '', 1);
        }
    } else {
        $keyboard = SearchAllChangeChar($keyboard);
        //转码
        $keyboard = SearchReturnSaveStr($keyboard);
        $keyboard = RepPostVar2($keyboard);
        if (!trim($keyboard)) {
            printerror('EmptySchallKeyboard', '', 1);
        }
        $where .= "MATCH(" . $sf . ") AGAINST('" . $keyboard . "' IN BOOLEAN MODE)";
    }
    $returnr['where'] = $where;
    return $returnr;
}
Example #2
0
}
$pagetitle = $tagname;
$pagekey = $tagname;
$pagedes = $tagname;
$classimg = $public_r[newsurl] . 'e/data/images/notimg.gif';
$url = "<a href='" . ReturnSiteIndexUrl() . "'>" . $fun_r['index'] . "</a>&nbsp;>&nbsp;" . $fun_r['TagsInfoList'] . "&nbsp;>&nbsp;" . $tagname;
$pageecms = 1;
$pageclassid = 0;
$have_class = 1;
//栏目
$trueclassid = 0;
$classid = $_GET['classid'];
if ($classid) {
    $classid = RepPostVar($classid);
    if (strstr($classid, ',')) {
        $son_r = sys_ReturnMoreClass($classid, 1);
        $trueclassid = $son_r[0];
        $add .= ' and (' . $son_r[1] . ')';
    } else {
        $trueclassid = intval($classid);
        if ($class_r[$trueclassid][islast]) {
            $add .= " and classid='{$trueclassid}'";
            $have_class = 0;
        } else {
            $add .= ' and ' . ReturnClass($class_r[$trueclassid][sonclass]);
        }
        $pageclassid = $trueclassid;
        $GLOBALS['navclassid'] = $trueclassid;
    }
    if (empty($class_r[$trueclassid][tbname])) {
        printerror('ErrorUrl', '', 1);
Example #3
0
function espace_ReturnBqQuery($classid, $line, $enews = 0, $do = 0, $ewhere = '', $eorder = '')
{
    global $empire, $dbtbpre, $public_r, $class_r, $class_zr, $fun_r, $class_tr, $emod_r, $etable_r, $userid, $eyh_r;
    $userid = (int) $userid;
    if ($enews == 24) {
        $query_first = substr($classid, 0, 7);
        if (!($query_first == 'select ' || $query_first == 'SELECT ')) {
            return "";
        }
        $classid = RepSqlTbpre($classid);
        $sql = $empire->query1($classid);
        if (!$sql) {
            echo "SQL Error: " . ReRepSqlTbpre($classid);
        }
        return $sql;
    }
    if ($enews == 0 || $enews == 1 || $enews == 2 || $enews == 9 || $enews == 12 || $enews == 15) {
        if (strstr($classid, ',')) {
            $son_r = sys_ReturnMoreClass($classid, 1);
            $classid = $son_r[0];
            $where = $son_r[1];
        } else {
            if ($class_r[$classid][islast]) {
                $where = "classid='{$classid}'";
            } else {
                $where = ReturnClass($class_r[$classid][sonclass]);
            }
        }
        $tbname = $class_r[$classid][tbname];
        $mid = $class_r[$classid][modid];
        $yhid = $class_r[$classid][yhid];
    } elseif ($enews == 6 || $enews == 7 || $enews == 8 || $enews == 11 || $enews == 14 || $enews == 17) {
        echo "Error:Change to use e:indexloop";
        return false;
    } elseif ($enews == 25 || $enews == 26 || $enews == 27 || $enews == 28 || $enews == 29 || $enews == 30) {
        if (strstr($classid, ',')) {
            $son_r = sys_ReturnMoreTT($classid);
            $classid = $son_r[0];
            $where = $son_r[1];
        } else {
            $where = "ttid='{$classid}'";
        }
        $mid = $class_tr[$classid][mid];
        $tbname = $emod_r[$mid][tbname];
        $yhid = $class_tr[$classid][yhid];
    }
    $query = " where userid='{$userid}' and ismember=1";
    if ($enews == 0) {
        $query .= ' and (' . $where . ')';
        $order = 'newstime';
        $yhvar = 'bqnew';
    } elseif ($enews == 1) {
        $query .= ' and (' . $where . ')';
        $order = 'onclick';
        $yhvar = 'bqhot';
    } elseif ($enews == 2) {
        $query .= ' and (' . $where . ') and isgood>0';
        $order = 'newstime';
        $yhvar = 'bqgood';
    } elseif ($enews == 9) {
        $query .= ' and (' . $where . ')';
        $order = 'plnum';
        $yhvar = 'bqpl';
    } elseif ($enews == 12) {
        $query .= ' and (' . $where . ') and firsttitle>0';
        $order = 'newstime';
        $yhvar = 'bqfirst';
    } elseif ($enews == 15) {
        $query .= ' and (' . $where . ')';
        $order = 'totaldown';
        $yhvar = 'bqdown';
    } elseif ($enews == 3) {
        $order = 'newstime';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqnew';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 4) {
        $order = 'onclick';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqhot';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 5) {
        $query .= ' and isgood>0';
        $order = 'newstime';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqgood';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 10) {
        $order = 'plnum';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqpl';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 13) {
        $query .= ' and firsttitle>0';
        $order = 'newstime';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqfirst';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 16) {
        $order = 'totaldown';
        $tbname = $public_r[tbname];
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqdown';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 18) {
        $order = 'newstime';
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqnew';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 19) {
        $order = 'onclick';
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqhot';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 20) {
        $query .= ' and isgood>0';
        $order = 'newstime';
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqgood';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 21) {
        $order = 'plnum';
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqpl';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 22) {
        $query .= ' and firsttitle>0';
        $order = "newstime";
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqfirst';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 23) {
        $order = 'totaldown';
        $tbname = $classid;
        $mid = $etable_r[$tbname][mid];
        $yhvar = 'bqdown';
        $yhid = $etable_r[$tbname][yhid];
    } elseif ($enews == 25) {
        $query .= ' and (' . $where . ')';
        $order = 'newstime';
        $yhvar = 'bqnew';
    } elseif ($enews == 26) {
        $query .= ' and (' . $where . ')';
        $order = 'onclick';
        $yhvar = 'bqhot';
    } elseif ($enews == 27) {
        $query .= ' and (' . $where . ') and isgood>0';
        $order = 'newstime';
        $yhvar = 'bqgood';
    } elseif ($enews == 28) {
        $query .= ' and (' . $where . ')';
        $order = 'plnum';
        $yhvar = 'bqpl';
    } elseif ($enews == 29) {
        $query .= ' and (' . $where . ') and firsttitle>0';
        $order = 'newstime';
        $yhvar = 'bqfirst';
    } elseif ($enews == 30) {
        $query .= ' and (' . $where . ')';
        $order = 'totaldown';
        $yhvar = 'bqdown';
    }
    //优化
    $yhadd = '';
    if (!empty($eyh_r[$yhid]['dosbq'])) {
        $yhadd = ReturnYhSql($yhid, $yhvar);
        if (!empty($yhadd)) {
            $query .= ' and ' . $yhadd;
        }
    }
    //不调用
    if (!strstr($public_r['nottobq'], ',' . $classid . ',')) {
        $notbqwhere = ReturnNottoBqWhere();
        if (!empty($notbqwhere)) {
            $query .= ' and ' . $notbqwhere;
        }
    }
    //图片信息
    if (!empty($do)) {
        $query .= " and ispic=1";
    }
    //附加条件
    if (!empty($ewhere)) {
        $query .= ' and (' . $ewhere . ')';
    }
    //中止
    if (empty($tbname)) {
        echo "ClassID=<b>" . $classid . "</b> Table not exists.(DoType=" . $enews . ")";
        return false;
    }
    //排序
    $addorder = empty($eorder) ? $order . ' desc' : $eorder;
    $query = 'select ' . ReturnSqlListF($mid) . ' from ' . $dbtbpre . 'ecms_' . $tbname . $query . ' order by ' . $addorder . ' limit ' . $line;
    $sql = $empire->query1($query);
    if (!$sql) {
        echo "SQL Error: " . ReRepSqlTbpre($query);
    }
    return $sql;
}
function sys_ReturnTogQuery($type, $id, $line, $classid = '', $mid = '')
{
    global $empire, $public_r, $class_r, $class_zr, $navclassid, $dbtbpre, $class_tr, $emod_r;
    if ($type == 'tags') {
        $idf = 'tagid';
        $orderf = 'newstime';
        $table = $dbtbpre . 'enewstagsdata';
    } else {
        $idf = 'spid';
        $orderf = 'newstime';
        $table = $dbtbpre . 'enewssp_2';
    }
    $where = strstr($id, ',') ? "{$idf} in ({$id})" : "{$idf}='{$id}'";
    //栏目
    if ($classid) {
        if (strstr($classid, ',')) {
            $son_r = sys_ReturnMoreClass($classid, 1);
            $classid = $son_r[0];
            $add = $son_r[1];
        } else {
            if ($classid == 'selfinfo') {
                $classid = $navclassid;
            }
            if ($class_r[$classid][islast]) {
                $add = "classid='{$classid}'";
            } else {
                $add = ReturnClass($class_r[$classid][sonclass]);
            }
        }
        $where .= ' and (' . $add . ')';
    }
    //模型
    if ($mid) {
        $where .= strstr($mid, ',') ? " and mid in ({$mid})" : " and mid='{$mid}'";
    }
    $query = 'select classid,id from ' . $table . ' where ' . $where . ' order by ' . $orderf . ' desc limit ' . $line;
    $sql = $empire->query1($query);
    if (!$sql) {
        echo "SQL Error: " . ReRepSqlTbpre($query);
    }
    return $sql;
}
Example #5
0
function sys_ReturnTogQuery($type,$id,$line,$classid='',$mid='',$ewhere='',$eorder='',$selectf=''){
	global $empire,$public_r,$class_r,$class_zr,$navclassid,$dbtbpre,$class_tr,$emod_r;
	if($type=='tags')//TAGS
	{
		$idf='tagid';
		$orderf='newstime desc';
		$table=$dbtbpre.'enewstagsdata';
	}
	elseif($type=='zt')//专题
	{
		$idf='ztid';
		$orderf='newstime desc';
		$table=$dbtbpre.'enewsztinfo';
	}
	elseif($type=='ztc')//专题子类
	{
		$idf='cid';
		$orderf='newstime desc';
		$table=$dbtbpre.'enewsztinfo';
	}
	elseif($type=='sql')//SQL查询
	{
		$query_first=substr($id,0,7);
		if(!($query_first=='select '||$query_first=='SELECT '))
		{
			return '';
		}
		$id=RepSqlTbpre($id);
		$sql=$empire->query1($id);
		if(!$sql)
		{
			echo'SQL Error: '.ReRepSqlTbpre($id);
		}
		return $sql;
	}
	else//碎片
	{
		$idf='spid';
		$orderf='newstime desc';
		$table=$dbtbpre.'enewssp_2';
	}
	$where=strstr($id,',')?"$idf in ($id)":"$idf='$id'";
	//栏目
	if($classid)
	{
		if(strstr($classid,','))//多栏目
		{
			$son_r=sys_ReturnMoreClass($classid,1);
			$classid=$son_r[0];
			$add=$son_r[1];
		}
		else
		{
			if($classid=='selfinfo')//显示当前栏目信息
			{
				$classid=$navclassid;
			}
			if($class_r[$classid][islast])
			{
				$add="classid='$classid'";
			}
			else
			{
				$add=ReturnClass($class_r[$classid][sonclass]);
			}
		}
		$where.=' and ('.$add.')';
	}
	//模型
	if($mid)
	{
		$where.=strstr($mid,',')?" and mid in ($mid)":" and mid='$mid'";
	}
	//附加sql条件
	if(!empty($ewhere))
	{
		$where.=' and ('.$ewhere.')';
	}
	//排序
	if(!empty($eorder))
	{
		$orderf=$eorder;
	}
	$query='select classid,id'.$selectf.' from '.$table.' where '.$where.' order by '.$orderf.' limit '.$line;
	$sql=$empire->query1($query);
	if(!$sql)
	{
		echo'SQL Error: '.ReRepSqlTbpre($query);
	}
	return $sql;
}