本文整理汇总了PHP中search::analyzeQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP search::analyzeQuery方法的具体用法?PHP search::analyzeQuery怎么用?PHP search::analyzeQuery使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类search
的用法示例。
在下文中一共展示了search::analyzeQuery方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initiateQueryParameters
public static function initiateQueryParameters()
{
self::loadClass();
// --------------------
// -- Fetch configuration parameters from database; massage some of the values
// --> $_SESSION["searchConfig"]
// --------------------
if (!isset($_SESSION["searchConfig"])) {
$_SESSION["searchConfig"] = $GLOBALS["searchClass"]->getSearchConfiguration();
}
// --------------------
// -- Make sure that categories array is set
// --> $GLOBALS["nw_categories"]
// --------------------
if (!isset($GLOBALS["nw_categories"])) {
$GLOBALS["nw_categories"] = search::initiateCategories($GLOBALS["searchClass"]->table);
}
$allowedCategories = array_keys($GLOBALS["nw_categories"]);
// --------------------
// -- Create cagegory GPC variable if it was not sent
// [Must be called before any return call!]
// --> $GLOBALS["ctg"]
// --------------------
$defaultCtg = in_array(ucfirst(SUBSITE), $allowedCategories) ? ucfirst(SUBSITE) : "";
functions::gpc_declare_input("ctg", $defaultCtg, false, $allowedCategories);
if (isset($_REQUEST["ctg"]) && empty($_REQUEST["ctg"])) {
$GLOBALS["ctg"] = "";
}
// "entire site"
// --------------------
// -- Collect GPC query strings from various sources into one GPC variable
// --> $GLOBALS["qry"]
// --> $GLOBALS["sqry"]
// --> $GLOBALS["pqry"]
// --------------------
functions::gpc_declare_input("qry", "", false);
functions::gpc_declare_input("sqry", "", false);
functions::gpc_declare_input("pqry", "", false);
// -- 'sqry' is used in the simple search form on pages
if (!empty($GLOBALS["sqry"]) && defined("SEARCH_THIS_SITE") && strpos($GLOBALS["sqry"], SEARCH_THIS_SITE) === false) {
$GLOBALS["qry"] = $GLOBALS["sqry"];
}
// -- 'pqry' is used in the people search form [possibly obsolete?]
if (!empty($GLOBALS["pqry"]) && defined("SEARCH_THIS_SITE") && strpos($GLOBALS["pqry"], SEARCH_THIS_SITE) === false) {
$GLOBALS["qry"] = $GLOBALS["pqry"];
}
// --------------------
// -- Make sure that query array is set
// --> $GLOBALS["QUERY"]
// --------------------
if (!isset($GLOBALS["QUERY"])) {
$GLOBALS["QUERY"] = search::analyzeQuery($GLOBALS["qry"], $GLOBALS["ctg"]);
}
}
示例2: outputPeopleLayoutBox
private static function outputPeopleLayoutBox($userarray = array())
{
if (empty($userarray)) {
return BLURB_SORRY_PEOPLE_SEARCH . "<!-- outputPeopleLayoutBox -->\r\n";
}
$stdout = "";
// ---------------------------------------------------------------------------
// SET WHICH COLUMNS TO DISPLAY
// ---------------------------------------------------------------------------
$fields = array("nw_fullname_reverse");
$defaultSortby = "nw_fullname_reverse_sortable";
// ---------------------------------------------------------------------------
// REARRANGE DATA INTO CONVENIENT OUTPUT ARRAYS
// Input: $userarray[username][fieldname] = array(record)
// Output: $peopleEntries[][][]
// ---------------------------------------------------------------------------
if (!class_exists("search", FALSE)) {
require_once PATH_CLASSES . "/lib/search.php";
}
if (!isset($GLOBALS["QUERY"])) {
search::analyzeQuery();
}
$userarray = self::adaptForOutput($userarray, "", "", $fields);
$userarrayMod = $userarray;
foreach ($userarray as $usr => $entry) {
// -- Trim CV field around matches
if (isset($entry["nw_cv"]["plain"]) && !empty($entry["nw_cv"]["plain"]) && isset($GLOBALS["QUERY"]["_andor"])) {
$userarrayMod[$usr]["nw_cv"]["plain"] = "... " . search::chopMatchText($GLOBALS["QUERY"]["_andor"], $entry["nw_cv"]["plain"]);
//$userarrayMod[$usr]["nw_cv"]["plain"] = search::trimMatchText($entry["nw_cv"]["plain"]);
}
// -- Mark hits as bold
foreach ($entry as $key => $val) {
if ($key == "nw_email_plain" && !empty($val)) {
list($u, $d) = explode("@", $val);
$userarrayMod[$usr][$key] = search::auxOutputFormat(htmlspecialchars_decode(strip_tags($u)), $GLOBALS["QUERY"]["_andor"]) . "@" . $d;
} elseif ($key == "nw_cv" && isset($val["plain"])) {
$userarrayMod[$usr][$key]["plain"] = search::auxOutputFormat(htmlspecialchars_decode(strip_tags($val["plain"])), $GLOBALS["QUERY"]["_andor"]);
} elseif (!in_array($key, array("nw_image_small", "nw_user"))) {
$userarrayMod[$usr][$key] = search::auxOutputFormat(htmlspecialchars_decode(strip_tags($val)), $GLOBALS["QUERY"]["_andor"]);
}
}
// -- Obscurify e-mail addresses
$a = explode("@", $userarrayMod[$usr]["nw_email_plain"]);
if (count($a) == 2) {
$userarrayMod[$usr]["nw_email_plain"] = $a[0] . functions::obscurify_email("@" . $a[1]);
}
}
// ---------------------------------------------------------------------------
// OUTPUT TO SCREEN
// ---------------------------------------------------------------------------
$stdout .= " <div id='people-list'>\r\n" . "\r\n" . (!empty($doctitle) ? " <h2>" . $doctitle . "</h2>\r\n" : "") . "\r\n" . " <table class='box'>\r\n";
foreach ($userarrayMod as $usr => $entry) {
$stdout .= " <tr>\r\n" . " <td class='img' style='width:60px!important'>\r\n" . " <a href='people/staff/index.php?" . "u=" . $entry["nw_user"] . "'>" . "<img src='" . $entry["nw_image_small"] . "' alt='' class='darkshadow'></a>\r\n" . " </td>\r\n" . " <td>\r\n" . " <p class='fullname'><a href='people/staff/index.php?" . "u=" . $entry["nw_user"] . "'>" . str_replace(" ", " ", $entry["nw_fullname"]) . "</a></p>\r\n" . (!empty($entry["nw_leaveofabsence"]) ? " <p>» <em>" . $entry["nw_leaveofabsence"] . "</em></p>\r\n" : "") . " <p>" . $entry["nw_employeeTitle"] . "</p>\r\n" . " <p>" . $entry["nw_groupShort"] . "</p>\r\n" . (!empty($entry["nw_email"]) ? " <p><em>E-mail</em>: " . $entry["nw_email_plain"] . "</p>\r\n" : "") . (!empty($entry["nw_office"]) ? " <p><em>Room</em>: " . $entry["nw_office"] . "</p>\r\n" : "") . (!empty($entry["nw_phone_linked"]) ? " <p><em>Phone</em>: " . $entry["nw_phone_linked"] . "</p>\r\n" : "") . (!empty($entry["nw_city"]) ? " <p><em>Nordita branch</em>: " . $entry["nw_city"] . "</p>\r\n" : " ") . (isset($entry["nw_cv"]["plain"]) && !empty($entry["nw_cv"]["plain"]) && strpos($entry["nw_cv"]["plain"], "<strong>") !== false ? " <dl><dt><em>CV and Research Interests</em>:</dt><dd>" . $entry["nw_cv"]["plain"] . "</dd></dl>\r\n" : " ") . " </td>\r\n" . " </tr>\r\n";
}
// end foreach
$stdout .= " </table>\r\n" . "\r\n" . " </div> <!-- people-list -->\r\n";
// -------------------------------------------------
return $stdout;
}
示例3: foreach
foreach (array("Main","Guests","Organizers","Nordic","Intranet","Newstaff","Administrators","Board") as $mycat) {
$key = array_search($mycat,$_SDATA["categories"]);
if ($key !== false) {
$ctemp[] = $mycat;
unset($_SDATA["categories"][$key]);
}
}
$_SDATA["categories"] = array_merge($ctemp,$_SDATA["categories"]);
*/
// --------------------
// -- Assemble array with analyzed query data from GPC string
// --> $GLOBALS["QUERY"]
// --------------------
$GLOBALS["nw_categories"] = search::initiateCategories($_DDATA["tablename"]);
search::initiateQueryParameters();
$GLOBALS["QUERY"] = search::analyzeQuery($GLOBALS["qry"], $GLOBALS["ctg"]);
/*
// --------------------
// -- Create cagegory GPC variable if it was not sent
// --> $_REQUEST['ctg']
// --------------------
$_REQUEST['ctg'] = (isset($_REQUEST['ctg'])) ?
$_REQUEST['ctg']
: ( (in_array(ucfirst(SUBSITE),$_SDATA["categories"])) ? ucfirst(SUBSITE) : "" );
if (!in_array($_REQUEST['ctg'], $_SDATA["categories"])) $_REQUEST['ctg'] = "";
*/
// --------------------
// -- Trim cache size if it is time to do so; otherwise mail query statistics if this is requested.
// --------------------