1
0
Fork 0
mirror of https://github.com/sbrl/Pepperminty-Wiki.git synced 2024-11-29 06:23:01 +00:00

Add search box to search page

This commit is contained in:
Starbeamrainbowlabs 2015-10-31 14:05:00 +00:00
parent 77e4cdcc7d
commit 559191757f
4 changed files with 45 additions and 45 deletions

View file

@ -266,9 +266,10 @@ main:not(.printable) { padding: 2rem; background: #faf8fb; box-shadow: 0 0.1rem
label:not(.link-display-label) { display: inline-block; min-width: 7rem; } label:not(.link-display-label) { display: inline-block; min-width: 7rem; }
input[type=text]:not(.link-display), input[type=password], textarea { margin: 0.5rem 0.8rem; } input[type=text]:not(.link-display), input[type=password], textarea { margin: 0.5rem 0.8rem; }
input[type=text], input[type=password], textarea { padding: 0.5rem 0.8rem; background: #d5cbf9; border: 0; border-radius: 0.3rem; font-size: 1rem; color: #442772; } input[type=text], input[type=password], textarea, #search-box { padding: 0.5rem 0.8rem; background: #d5cbf9; border: 0; border-radius: 0.3rem; font-size: 1rem; color: #442772; }
textarea { width: calc(100% - 2rem); min-height: 35rem; font-size: 1.25rem; } textarea { width: calc(100% - 2rem); min-height: 35rem; font-size: 1.25rem; }
textarea ~ input[type=submit] { width: calc(100% - 0.3rem); margin: 0.5rem 0.8rem; padding: 0.5rem; font-weight: bolder; } textarea ~ input[type=submit], #search-box { width: calc(100% - 0.3rem); margin: 0.5rem 0.8rem; padding: 0.5rem; }
textarea ~ input[type=submit] { font-weight: bolder; }
.editform input[type=text] { width: calc(100% - 0.3rem); box-sizing: border-box; } .editform input[type=text] { width: calc(100% - 0.3rem); box-sizing: border-box; }
.page-tags-display { margin: 0.5rem 0 0 0; padding: 0; list-style-type: none; } .page-tags-display { margin: 0.5rem 0 0 0; padding: 0; list-style-type: none; }
@ -1369,7 +1370,11 @@ register_module([
$content = "<section>\n"; $content = "<section>\n";
$content .= "<h1>Search Results</h1>"; $content .= "<h1>Search Results</h1>";
// todo add a search box here /// Search Box ///
$content .= "<form method='get' action=''>\n";
$content .= " <input type='search' id='search-box' name='query' placeholder='Type your query here and then press enter.' value='" . $_GET["query"] . "' />\n";
$content .= " <input type='hidden' name='action' value='search' />\n";
$content .= "</form>";
foreach($results as $result) foreach($results as $result)
{ {
@ -1696,6 +1701,7 @@ class search
foreach($qterms as $qterm) foreach($qterms as $qterm)
{ {
// From http://stackoverflow.com/a/2483859/1460422
$context = preg_replace("/" . preg_quote($qterm) . "/i", "<strong>$0</strong>", $context); $context = preg_replace("/" . preg_quote($qterm) . "/i", "<strong>$0</strong>", $context);
} }
@ -1715,25 +1721,19 @@ class search
* @return array or false * @return array or false
*/ */
function mb_stripos_all($haystack, $needle) { function mb_stripos_all($haystack, $needle) {
$s = 0; $i = 0;
$s = 0;
$i = 0;
while(is_integer($i)) { while(is_integer($i)) {
$i = mb_stripos($haystack, $needle, $s); $i = mb_stripos($haystack, $needle, $s);
if(is_integer($i)) { if(is_integer($i)) {
$aStrPos[] = $i; $aStrPos[] = $i;
$s = $i + mb_strlen($needle); $s = $i + mb_strlen($needle);
} }
} }
if(isset($aStrPos)) { if(isset($aStrPos))
return $aStrPos; return $aStrPos;
} else { else
return false; return false;
}
} }

View file

@ -50,7 +50,7 @@
"author": "Starbeamrainbowlabs", "author": "Starbeamrainbowlabs",
"description": "Adds proper search functionality to Pepperminty Wiki. Note that this module, at the moment, just contains test code while I figure out how best to write a search engine.", "description": "Adds proper search functionality to Pepperminty Wiki. Note that this module, at the moment, just contains test code while I figure out how best to write a search engine.",
"id": "feature-search", "id": "feature-search",
"lastupdate": 1446299530, "lastupdate": 1446300290,
"optional": false "optional": false
}, },
{ {

View file

@ -45,7 +45,11 @@ register_module([
$content = "<section>\n"; $content = "<section>\n";
$content .= "<h1>Search Results</h1>"; $content .= "<h1>Search Results</h1>";
// todo add a search box here /// Search Box ///
$content .= "<form method='get' action=''>\n";
$content .= " <input type='search' id='search-box' name='query' placeholder='Type your query here and then press enter.' value='" . $_GET["query"] . "' />\n";
$content .= " <input type='hidden' name='action' value='search' />\n";
$content .= "</form>";
foreach($results as $result) foreach($results as $result)
{ {
@ -372,6 +376,7 @@ class search
foreach($qterms as $qterm) foreach($qterms as $qterm)
{ {
// From http://stackoverflow.com/a/2483859/1460422
$context = preg_replace("/" . preg_quote($qterm) . "/i", "<strong>$0</strong>", $context); $context = preg_replace("/" . preg_quote($qterm) . "/i", "<strong>$0</strong>", $context);
} }
@ -391,25 +396,19 @@ class search
* @return array or false * @return array or false
*/ */
function mb_stripos_all($haystack, $needle) { function mb_stripos_all($haystack, $needle) {
$s = 0; $i = 0;
$s = 0;
$i = 0;
while(is_integer($i)) { while(is_integer($i)) {
$i = mb_stripos($haystack, $needle, $s); $i = mb_stripos($haystack, $needle, $s);
if(is_integer($i)) { if(is_integer($i)) {
$aStrPos[] = $i; $aStrPos[] = $i;
$s = $i + mb_strlen($needle); $s = $i + mb_strlen($needle);
} }
} }
if(isset($aStrPos)) { if(isset($aStrPos))
return $aStrPos; return $aStrPos;
} else { else
return false; return false;
}
} }
?> ?>

View file

@ -263,9 +263,10 @@ main:not(.printable) { padding: 2rem; background: #faf8fb; box-shadow: 0 0.1rem
label:not(.link-display-label) { display: inline-block; min-width: 7rem; } label:not(.link-display-label) { display: inline-block; min-width: 7rem; }
input[type=text]:not(.link-display), input[type=password], textarea { margin: 0.5rem 0.8rem; } input[type=text]:not(.link-display), input[type=password], textarea { margin: 0.5rem 0.8rem; }
input[type=text], input[type=password], textarea { padding: 0.5rem 0.8rem; background: #d5cbf9; border: 0; border-radius: 0.3rem; font-size: 1rem; color: #442772; } input[type=text], input[type=password], textarea, #search-box { padding: 0.5rem 0.8rem; background: #d5cbf9; border: 0; border-radius: 0.3rem; font-size: 1rem; color: #442772; }
textarea { width: calc(100% - 2rem); min-height: 35rem; font-size: 1.25rem; } textarea { width: calc(100% - 2rem); min-height: 35rem; font-size: 1.25rem; }
textarea ~ input[type=submit] { width: calc(100% - 0.3rem); margin: 0.5rem 0.8rem; padding: 0.5rem; font-weight: bolder; } textarea ~ input[type=submit], #search-box { width: calc(100% - 0.3rem); margin: 0.5rem 0.8rem; padding: 0.5rem; }
textarea ~ input[type=submit] { font-weight: bolder; }
.editform input[type=text] { width: calc(100% - 0.3rem); box-sizing: border-box; } .editform input[type=text] { width: calc(100% - 0.3rem); box-sizing: border-box; }
.page-tags-display { margin: 0.5rem 0 0 0; padding: 0; list-style-type: none; } .page-tags-display { margin: 0.5rem 0 0 0; padding: 0; list-style-type: none; }