Panel szukaj
|
sikor |
Dodany dnia 23.09.2008 11:52:26
|
Przedszkolak
Postów: 13
Data rejestracji: 03.08.2004 10:23
|
Witam
Mam takie pytanie. Jak zrobić panel z polem szukaj, taki jak na stronie głównej supportu w lewym górnym rogu.
Pozdrawiam
Edytowane przez Pieka dnia 23.09.2008 12:26:22
|
|
|
|
Wścibski Gość |
Dodany dnia 22.11.2024 08:36:20
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Pieka |
Dodany dnia 23.09.2008 12:31:07
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Moze nie taki sam, ale panel:
Table:
openside("Panel szukaj");
include LOCALE.LOCALESET."search.php";
if (isset($_GET['stext'])) { $_GET['stext'] = urlencode(stripinput($_GET['stext'])); }
if (!isset($_GET['stext'])) { $_GET['stext'] = ""; }
echo "<form id='searchform' name='searchform' method='get' action='".BASEDIR."search.php?stype=all'>\n";
echo "<table width='100%' cellpadding='0' cellspacing='1' class='tbl-border'>\n<tr>\n";
echo "<td class='tbl2' colspan='2'><strong>".$locale['401']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1' style='width:50%;'>\n";
echo "<input type='hidden' name='stype' value='all'/>\n";
echo "<input type='text' name='stext' value='".urldecode($_GET['stext'])."' class='textbox' style='width:200px' />\n";
echo "<input type='submit' name='search' value='".$locale['402']."' class='button' />\n</td>\n</tr>\n</table></form>\n";
closeside();
Div:
openside("Panel szukaj");
include LOCALE.LOCALESET."search.php";
if (isset($_GET['stext'])) { $_GET['stext'] = urlencode(stripinput($_GET['stext'])); }
if (!isset($_GET['stext'])) { $_GET['stext'] = ""; }
echo "<div style='text-align:right;vertical-align:middle;'><div style='text-align:left;vertical-align:middle;'>\n";
echo "<form id='searchform' name='searchform' method='get' action='".BASEDIR."search.php?stype=all'>\n";
echo "<div style='width:100%;' >\n";
echo "<input type='hidden' name='stype' value='all'/>\n";
echo "<input type='text' name='stext' value='".urldecode($_GET['stext'])."' class='textbox' style='width:200px' />\n";
echo "<input type='submit' name='search' value='".$locale['402']."' class='button' /></div></form>\n";
echo "</div></div>\n";
closeside();
Edytowane przez Pieka dnia 23.09.2008 12:41:27
Jestem jaki jestem
|
|
|
|
sikor |
Dodany dnia 23.09.2008 15:50:21
|
Przedszkolak
Postów: 13
Data rejestracji: 03.08.2004 10:23
|
Dzięki za tak szybką reakcję panel działa (wersja div jest dobra dla thema tabel) Pozostał mały problemik... zamiast polskich znaków wywala krzaczory. Szukajka działa bez problemów a z tego panela taki zonk, może jeszcze jakaś podpowiedź ?
pozdrawiam
ps. taki z wyborem gdzie ma szukać też byłby niegłupi ale zwykły też może być. |
|
|
|
Pieka |
Dodany dnia 23.09.2008 15:53:32
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Ta szukajka korzysta ze standardowych locali, wiec jak moze "wywalać krzaczory"? Masz cos nie tak ze strona.
Po to sie ma raczki, glowe etc., zeby sobie dorobic mozliwosc wyboru miejsca szukania. Nie licz na manne.
Edytowane przez Pieka dnia 23.09.2008 15:54:49
Jestem jaki jestem
|
|
|
|
sikor |
Dodany dnia 23.09.2008 17:13:35
|
Przedszkolak
Postów: 13
Data rejestracji: 03.08.2004 10:23
|
Gdybym lubił facetów ucałowałbym cie w czoło ... Ale wole dziewczyny więc dziękuję... Zastanawiam się co to za zonk z tymi krzaczorami :/ coś z ustawieniami serwera chyba, a na nie nie mam żadnego wpływu. Może ten myk z utf 8 ? Dobra walczę dalej .. |
|
|
|
mareczek-82 |
Dodany dnia 13.10.2008 10:51:59
|
Przedszkolak
Postów: 9
Data rejestracji: 10.12.2007 14:46
|
Witam, panele działają super. Ale jakby można było udostępnić kod "szukajki" takiej, jaka jest na stronie http://pieka.unl.pl byłbym wdzięczny.
Pozdrawiam!
Edytowane przez mareczek-82 dnia 13.10.2008 10:52:42
|
|
|
|
Pieka |
Dodany dnia 13.10.2008 10:54:54
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
mareczek-82 napisał/a:
..Ale jakby można było udostępnić kod "szukajki" takiej, jaka jest na stronie http://pieka.unl.pl ..
Mozesz konkretniej?
Jestem jaki jestem
|
|
|
|
mareczek-82 |
Dodany dnia 13.10.2008 11:00:21
|
Przedszkolak
Postów: 9
Data rejestracji: 10.12.2007 14:46
|
Chodzi mi o to, aby ją umieścić w nagłówku strony, a nie w panelu. Chyba jest to sekcja mainheader w pliku them.php. |
|
|
|
Pieka |
Dodany dnia 13.10.2008 11:03:39
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
mareczek-82 napisał/a:
Chodzi mi o to, aby ją umieścić w nagłówku strony, a nie w panelu..
Oj, to kolega w zlym dziale i temacie szuka, prosze (przyklejony..): http://www.php-fu...ost_105177
Jestem jaki jestem
|
|
|
|
mareczek-82 |
Dodany dnia 13.10.2008 11:40:58
|
Przedszkolak
Postów: 9
Data rejestracji: 10.12.2007 14:46
|
Dzięki Pieka, pytanie we właściwym dziale. |
|
|
|
navi93 |
Dodany dnia 10.02.2009 14:50:37
|
Przedszkolak
Postów: 26 Pomógł: 1
Data rejestracji: 10.12.2008 11:11
|
A jak zrobić taką wyszukiwarke, tylko żeby szukała w wynikach Professional Download System?
PW od moderatora:
- Przeniesienie posta - Pieka 10.02 - 14:50
Edytowane przez Pieka dnia 10.02.2009 14:50:50
|
|
|
|
Pieka |
Dodany dnia 10.02.2009 14:54:32
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
navi93 napisał/a:
A jak zrobić taką wyszukiwarke, tylko żeby szukała w wynikach Professional Download System?
Oczywiscie, ze sie da, z tym, ze musialbys stworzyc modul odpowiedzialny za wyszukiwanie w PDS, a nastepnie wlaczyc go do calosci. Wyszukiwarka w v7 ma budowe modulowa, wiec wystarczy dodac jeden plik, zamiast modyfikowac juz istniejace.
Edytowane przez Pieka dnia 10.02.2009 14:55:47
Jestem jaki jestem
|
|
|
|
navi93 |
Dodany dnia 10.02.2009 15:38:47
|
Przedszkolak
Postów: 26 Pomógł: 1
Data rejestracji: 10.12.2008 11:11
|
Wytłumacz krok po kroku co trzeba zrobić.
Edytowane przez navi93 dnia 19.02.2009 18:22:05
|
|
|
|
zanzi81 |
Dodany dnia 23.05.2010 00:53:05
|
Przedszkolak
Postów: 8 Ostrzeżeń: 1
Data rejestracji: 15.03.2010 10:29
|
Szukajka działa świetnie z poziomu panelu. Dziękuję za skrypt
Ale czy da się, by po kliknięciu szukaj wyskoczyły tylko i wyłącznie wyniki wyszukiwania bez całej górnej tabeli nowego wyszukiwania "Przeszukaj (nazwa strony)? |
|
|
|
yasny |
Dodany dnia 16.07.2010 22:22:44
|
Przedszkolak
Postów: 19 Ostrzeżeń: 1
Data rejestracji: 22.10.2006 01:49
|
zanzi81 napisał/a:
Szukajka działa świetnie z poziomu panelu. Dziękuję za skrypt
Ale czy da się, by po kliknięciu szukaj wyskoczyły tylko i wyłącznie wyniki wyszukiwania bez całej górnej tabeli nowego wyszukiwania "Przeszukaj (nazwa strony)?
Dołączam się do prośby. A jeśli chodzi o "krzaczory" to faktycznie może być problem w kodowaniu latin1 ... ona może czytać tylko to lub tylko latin2.
W tym skrypcie też jest coś takiego gdy zada się zapytanie dwu członowe to wstawia znak + między wyrazmi, oczywiście nie ma takiego tekstu w newsie nic nie znajduje.
Przykład krzaczorów jeśli chodzi o wyszukiwanie wstawiając wyraz z polskimi znakami, a powinno znaleźć bo taki artykuł jest : wpisuje : powódź a wyszukiwarka czyta : pow%C3%B3d%C5%BA i nic nie znalezione.
Przykład zapytania dwuczłonowego : nasza fontanna szukajka ustawia to tak : nasza+fontanna i ponownie nic nie znalezione.
Pieka masz jakąś poradę ? Dziękuję z góry za każdą podpowiedź. |
|
|
|
eldiablo |
Dodany dnia 17.07.2010 10:17:03
|
Bywalec
Postów: 671 Pomógł: 80
Data rejestracji: 13.07.2009 19:20
|
Krzaczki w treści -> pomieszane kodowanie (bo kod podany przez Piekę nie wprowadza żadnych zmian w temacie kodowania znaków), wiele tematów w tym temacie na forum już było.
pow%C3%B3d%C5%BA -> pow%C3%B3d%C5%BA a powódź to to samo, po prostu tak powódź i polskie znaki czyta fusion i jego wyszukiwarkowe zapytania, prosty test, wpisz powódź w Google.
nasza+fontanna -> tak czyta fusion twoje: "nasza fontanna", a dlaczego dodaje + bo nie może być spacji w zapytaniach.
Bez całej górnej tabeli nowego wyszukiwania "Przeszukaj (nazwa strony)
Proszę bardzo plik szukaj.php, bo jego należy edytować bez tej "tabeli":
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: search.php
| Author: Robert Gaudyn (Wooya)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at http://www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";
include LOCALE.LOCALESET."search.php";
add_to_title($locale['global_202']);
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) { $_GET['rowstart'] = 0; }
if (isset($_GET['stext'])) {
if (is_array($_GET['stext'])) {
redirect(FUSION_SELF);
} else {
$_GET['stext'] = urlencode(stripinput($_GET['stext']));
}
} else {
$_GET['stext'] = "";
}
if (isset($_GET['method'])) { $_GET['method'] = ($_GET['method']=="OR" || $_GET['method']=="AND") ? $_GET['method'] : "OR"; }
if (!isset($_GET['method'])) { $_GET['method'] = "OR"; }
if (isset($_GET['datelimit'])) { $_GET['datelimit'] = isnum($_GET['datelimit']) ? $_GET['datelimit'] : 0; }
if (!isset($_GET['datelimit'])) { $_GET['datelimit'] = 0; }
if (isset($_GET['fields'])) { $_GET['fields'] = isnum($_GET['fields']) ? $_GET['fields'] : 2; }
if (!isset($_GET['fields'])) { $_GET['fields'] = 2; }
if (isset($_GET['sort'])) { $_GET['sort'] = in_array($_GET['sort'], array("datestamp", "subject", "author")) ? $_GET['sort'] : "datestamp"; }
if (!isset($_GET['sort'])) { $_GET['sort'] = "datestamp"; }
if (isset($_GET['order'])) { $_GET['order'] = isnum($_GET['order']) ? $_GET['order'] : 0; }
if (!isset($_GET['order'])) { $_GET['order'] = 0; }
if (isset($_GET['chars'])) { $_GET['chars'] = isnum($_GET['chars']) ? ($_GET['chars'] > 200 ? 200 : $_GET['chars']) : 50; }
if (!isset($_GET['chars'])) { $_GET['chars'] = 50; }
if (isset($_GET['forum_id'])) { $_GET['forum_id'] = isnum($_GET['forum_id']) ? $_GET['forum_id'] : 0; }
if (!isset($_GET['forum_id'])) { $_GET['forum_id'] = 0; }
$radio_button = array();
$form_elements = array();
$available = array();
$dh = opendir(INCLUDES."search");
while (false !== ($entry = readdir($dh))) {
if ($entry != "." && $entry != ".." && preg_match("/include_button.php/i", $entry)) {
$available[] = str_replace("search_", "", str_replace("_include_button.php", "", $entry));
}
}
closedir($dh);
$available[] = "all";
if (isset($_GET['stype'])) { $_GET['stype'] = in_array($_GET['stype'], $available) ? $_GET['stype'] : "articles"; }
if (!isset($_GET['stype'])) { $_GET['stype'] = $settings['default_search']; }
for ($i = 0; $i < count($available) - 1; $i++) {
include (INCLUDES."search/search_".$available[$i]."_include_button.php");
}
sort($radio_button);
function search_striphtmlbbcodes($text) {
$text = preg_replace("[\[(.*?)\]]", "", $text);
$text = preg_replace("<\<(.*?)\>>", "", $text);
return $text;
}
function search_textfrag($text) {
if ($_GET['chars'] != 0) {
$text = nl2br(stripslashes(substr($text, 0, $_GET['chars'])."..."));
} else {
$text = nl2br(stripslashes($text));
}
return $text;
}
function search_stringscount($text) {
global $swords;
$count = 0;
for ($i = 0; $i < sizeof($swords); $i++) {
$count += substr_count(strtolower($text), strtolower($swords[$i]));
}
return $count;
}
function search_querylike($field) {
global $swords;
$querylike = "";
for ($i = 0; $i < sizeof($swords); $i++) {
$querylike .= $field." LIKE '%".$swords[$i]."%'".($i < sizeof($swords) - 1 ? " ".$_GET['method']." " : "");
}
return $querylike;
}
function search_fieldsvar() {
$fieldsvar = "(";
$numargs = func_num_args();
for ($i = 0; $i < $numargs; $i++) {
$fieldsvar .= func_get_arg($i).($i < $numargs - 1 ? " || " : "");
}
$fieldsvar .= ")";
return $fieldsvar;
}
function search_globalarray($search_result) {
global $search_result_array, $global_string_count, $memory_limit;
$global_string_count += strlen($search_result);
if ($memory_limit > $global_string_count) {
$search_result_array[] = $search_result;
$memory_exhaused = false;
} else {
$memory_exhaused = true;
}
return $memory_exhaused;
}
function search_navigation($rows) {
global $site_search_count, $composevars;
$site_search_count += $rows;
$navigation_result = "<div align='center' style='margin-top:5px;'>\n".makePageNav($_GET['rowstart'], 10, ($site_search_count > 100 || search_globalarray("") ? 100 : $site_search_count), 3, FUSION_SELF."?stype=".$_GET['stype']."&stext=".urlencode($_GET['stext'])."&".$composevars)."\n</div>\n";
return $navigation_result;
}
$composevars = "method=".$_GET['method']."&datelimit=".$_GET['datelimit']."&fields=".$_GET['fields']."&sort=".$_GET['sort']."&order=".$_GET['order']."&chars=".$_GET['chars']."&forum_id=".$_GET['forum_id']."&";
$memory_limit = str_replace("m", "", strtolower(ini_get("memory_limit"))) * 1024 * 1024;
$memory_limit = !isnum($memory_limit) ? 8 * 1024 * 1024 : $memory_limit < 8 * 1024 * 1024 ? 8 * 1024 * 1024 : $memory_limit;
$memory_limit = $memory_limit - ceil($memory_limit / 4);
$global_string_count = 0;
$site_search_count = 0;
$search_result_array = array();
$navigation_result = "";
$items_count = "";
$_GET['stext'] = urldecode($_GET['stext']);
if ($_GET['stext'] != "" && strlen($_GET['stext']) >= 3) {
add_to_title($locale['global_201'].$locale['408']);
opentable($locale['408']);
$fswords = explode(" ", $_GET['stext']);
$swords = array();
$iwords = array();
for ($i = 0; $i < sizeof($fswords); $i++) {
if (strlen($fswords[$i]) >= 3) {
$swords[] = $fswords[$i];
} else {
$iwords[] = $fswords[$i];
}
}
unset($fswords);
if (sizeof($swords) == 0) { redirect(FUSION_SELF); }
if ($_GET['stype'] == "all") {
$dh = opendir(INCLUDES."search");
while (false !== ($entry=readdir($dh))) {
if ($entry != "." && $entry != ".." && preg_match("/include.php/i", $entry)) {
include (INCLUDES."search/".$entry);
}
}
closedir($dh);
} else {
include INCLUDES."search/search_".$_GET['stype']."_include.php";
}
if (count($iwords)) {
$txt = "";
for ($i = 0; $i < count($iwords); $i++) {
$txt .= $iwords[$i].($i < count($iwords) - 1 ? ", " : "");
}
echo "<div style='text-align:center;font-weight:bold'>".sprintf($locale['502'], $txt)."</div><br />";
}
if ($_GET['stype'] == "all") {
$navigation_result = search_navigation(0);
echo "<div class='quote'>".$items_count."<hr />".THEME_BULLET." <strong>".(($site_search_count>100 || search_globalarray(""))?sprintf($locale['530'], $site_search_count):$site_search_count." ".$locale['510'])."</strong></div><hr />";
} else {
echo $items_count."<hr />";
echo (($site_search_count>100 || search_globalarray("")) ? "<strong>".sprintf($locale['530'], $site_search_count)."</strong><hr />" : "");
}
if ($_GET['stype'] == "all") {
$from = $_GET['rowstart'];
$to = (count($search_result_array) - ($_GET['rowstart'] + 10)) <= 0 ? count($search_result_array) : $_GET['rowstart'] + 10;
} else {
$from = 0;
$to = count($search_result_array) < 10 ? count($search_result_array) : 10;
}
for ($i = $from; $i < $to; $i++) {
echo $search_result_array[$i];
}
echo $navigation_result;
closetable();
} elseif (isset($_GET['stext'])) {
add_to_title($locale['global_201'].$locale['408']);
opentable($locale['408']);
echo $locale['501'];
closetable();
}
require_once THEMES."templates/footer.php";
?>
Oczywiście nie będziesz miał tej tabeli w ogóle! Czy szukasz przez panel czy bezpośrednio po przejściu do wyszukiwarki.Jeżeli to drugie (bezpośrednio po przejściu do wyszukiwarki) ma być z tabelą sklonowanie pliki serach.php, np: serach2.php bez modyfikacji - oryginalny plik.
Edytowane przez eldiablo dnia 17.07.2010 10:19:24
|
|
|
|
FiXik |
Dodany dnia 30.07.2010 16:45:35
|
Początkujący
Postów: 183 Pomógł: 14
Data rejestracji: 19.02.2009 23:58
|
W nawiązaniu do wypowiedzi kolegi navi93 kod wyszukiwarki do PDS (nie pisząc żadnych dodatkowych plików jak opisał kolega Pieka)
include LOCALE.LOCALESET."search.php";
if (isset($_GET['stext'])) { $_GET['stext'] = urlencode(stripinput($_GET['stext'])); }
if (!isset($_GET['stext'])) { $_GET['stext'] = ""; }
echo "<div style='text-align:right;vertical-align:middle;'><div style='text-align:left;vertical-align:middle;'>\n";
echo "<form id='searchform' name='searchform' method='get' action='".BASEDIR."infusions/pro_download_panel/search.php?stype=all'>\n";
echo "<div style='width:100%;' >\n";
echo "<input type='hidden' name='stype' value='all'/>\n";
echo "<input type='text' name='stext' value='".urldecode($_GET['stext'])."' class='textbox' style='width:200px' />\n";
echo "<input type='submit' name='search' value='".$locale['402']."' class='button' /></div></form>\n";
echo "</div></div>\n";
Kliknij i zaczekaj na załadowanie kodu ...
Jest to najprostsze rozwiązanie i nie dodaje opcji wyszukiwania do ogólnej wyszukiwarki na stronie (o czym pisał Pieka). Wymogiem jest posiadanie PDS na stronie. Pozdrawiam
Edytowane przez FiXik dnia 30.07.2010 16:49:38
może już nie szukajmy
|
|
|
|
pavlo91 |
Dodany dnia 20.01.2013 15:04:37
|
Przedszkolak
Postów: 11
Data rejestracji: 13.01.2013 23:34
|
Witam przepraszam za odkopywanie.
Czy dało by się w kodzie Div panelu od Pieki dodać małe rozciągane pole wyboru miejsca wyszukiwania?
i małe pytanko. Gdzie zmienia się miejsce wyszukiwania? standardowo jest to cała strona w tym panelu od Pieki a jak zmienić by wyszukiwało w downloadzie. Bardzo byłbym wdzięczny za wiadomość co i gdzie podmienić |
|
|
|
Pieka |
Dodany dnia 20.01.2013 20:15:15
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Powinna wystarczyć zmiana stype z:
all
na:
downloads
Jestem jaki jestem
|
|
|
|
pavlo91 |
Dodany dnia 20.01.2013 20:28:46
|
Przedszkolak
Postów: 11
Data rejestracji: 13.01.2013 23:34
|
Dziękuję za pomoc. Jak zwykle, jak Pieka coś napisze to działa bez zarzutów...
Edytowane przez bogdan dnia 20.01.2013 20:56:13
|
|
|