⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adv_query_search.smarty

📁 PHP 知识管理系统(基于树结构的知识管理系统), 英文原版的PHP源码。
💻 SMARTY
字号:
<h2>{i18n}Search Criteria Editor{/i18n}</h2><p class="descriptiveText">{i18n}The search criteria editor allows you to utilise the full power of the search engine by allowing you to perform more complicated searches by using the free text criteria format.{/i18n}{capture assign=options}<a href="{$rootUrl}/search2.php?action=guiBuilder">{i18n}Advanced Search{/i18n}</a>{/capture}<p>{i18n arg_options=$options}The #options# may also be used to perform searches.{/i18n}<P><div><table><tr><td valign=top><fieldset>{if $txtQuery == ''}{assign var=txtQuery value="Title contains \"something\" or \nMetadata contains \"else\""}{/if}{literal}<script>var parseSuccess = true;var actionAfterParse = 'none';var gotSearchParseStatus = function callBack(o){	if (o.responseText != '{}')	{		var resp = eval('(' + o.responseText + ')');		var butSearch = document.getElementById('butSearch');		if (resp.status == 0)		{			parseSuccess = true;			if (actionAfterParse == 'none')			{				alert('{/literal}{i18n}The expression parsed successfully.{/i18n}{literal}');			}			else if (actionAfterParse == 'search')			{				var frmQuery = document.getElementById('frmQuery');				frmQuery.submit();			}			else if (actionAfterParse == 'save')			{				actionAfterParse = 'saveCompleted';				var txtQuery = document.getElementById('txtAdvQuery');				url='{/literal}{$rootUrl}{literal}/search2/ajax/saveExpr.php?iSavedId={/literal}{$iSavedSearchId}{literal}&txtQuery='+txtQuery.value;				//alert(url);				Ext.Ajax.request(				{				    url: url,				    method: 'GET',				    success:gotSearchParseStatus,	                failure:gotNoStatus				});			}			else if (actionAfterParse == 'saveCompleted')			{				$('saved').style.display='block';			}		}		else		{			if (actionAfterParse == 'none' || actionAfterParse == 'save')			{				alert('{/literal}{i18n}There is a problem with the expression.{/i18n}{literal}\n\n' + resp.message );			}			else  if (actionAfterParse == 'saveCompleted')			{				alert('{/literal}{i18n}There is a problem saving the expression.{/i18n}{literal}\n\n' + resp.message );			}			parseSuccess = false;		}	}}var gotNoStatus = function callBack(o){	alert('{/literal}{i18n}There is a problem communicating with the server.{/i18n}{literal}' +  o.responseText);}function startParsing(){	if (!parseSuccess)	{		alert('{/literal}{i18n}There has been a parsing problem. Please check the search expression.{/i18n}{literal}');		return;	}	var txtQuery = document.getElementById('txtAdvQuery');	url='{/literal}{$rootUrl}{literal}/search2/ajax/parseExpr.php?txtQuery='+txtQuery.value;	Ext.Ajax.request(	{	    url: url,	    method: 'GET',	    success:gotSearchParseStatus,	    failure:gotNoStatus	});}function butParseClick(){	actionAfterParse = 'none';	parseSuccess = true;	startParsing();}function butClearClick(){	var txtQuery = document.getElementById('txtAdvQuery');	txtQuery.value = '';}function butSearchClick(){	actionAfterParse = 'search';	startParsing();}function butSaveClick(){	actionAfterParse = 'save';	startParsing();}function txtQueryChange(el){    if($('saved') != null){	   $('saved').style.display='none';    }}</script>{/literal}<legend>{i18n}Advanced Query{/i18n}</legend><form  id=frmQuery name=frmQuery method="POST" action="{addQS}action=process{/addQS}"><textarea id="txtAdvQuery" name="txtQuery" cols=50 rows=10 onkeypress="txtQueryChange(this)">{$txtQuery}</textarea><br/><input type="button" id="butSearch" value="{i18n}Search{/i18n}" onclick="butSearchClick()"/><input type="button" value="{i18n}Parse{/i18n}" onclick="butParseClick(true)"/><input type="reset"  value="{i18n}Reset{/i18n}" /><input type="button" value="{i18n}Clear{/i18n}" onclick="butClearClick()"/></form></div></fieldset>{if $bSave}<fieldset><legend>{i18n}Save{/i18n}</legend>{i18n}You are currently editing the saved search:{/i18n}{$edtSaveQueryName}<br/>	<table> 	<tr><td><input type="button" align="right" value="{i18n}Save{/i18n}" onclick="butSaveClick()"/> 	<td><div id="saved" style="display: none"><font color=brown>{i18n}Saved{/i18n}</font></div> </table> </td></div></fieldset>{/if}</td><td valign=top><fieldset><legend>{i18n}Grammar{/i18n}</legend>{i18n}Criteria may be built up using the following grammar:{/i18n}<br/>expr ::= expr {literal}{{/literal} AND | OR {literal}}{/literal} expr<br/>expr ::= NOT expr<br/>expr ::= (expr)<br/>expr ::= field {literal}{ < | <= | = | > | >= | CONTAINS |STARTS WITH | ENDS WITH }{/literal} value<br/>expr ::= field BETWEEN value AND value<br/>expr ::= field DOES [ NOT ] CONTAIN value<br/>expr ::= field IS [ NOT ] LIKE value<br/>value ::= "{i18n}search text here{/i18n}"</fieldset><p class="descriptiveText">{literal}<script>function wordclicked(word){var sq = document.getElementById('txtAdvQuery');if (sq.value != '') sq.value += ' ';sq.value += word + ' ';}</script>{/literal}<fieldset><legend>{i18n}Fields{/i18n}</legend>{i18n}The following fields may be used in search criteria:{/i18n}{assign var=i value=0}{foreach item=alias from=$aliases}{if (substr($alias,0,2) != '["')}{if $i>0}, {/if}{if (($i % 8) == 0)}<br>{/if}<span onclick="wordclicked('{$alias|escape}')">{$alias}</span>{assign var=i value=$i+1}{/if}{/foreach}</fieldset></p></td></tr></table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -