diff --git a/README b/README index e2376a7..3f78b4e 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -PHPCSV Guestbook version 0.94 +PHPCSV Guestbook version 0.95 Simple php guestbook with csv file data storage. diff --git a/administration.php b/administration.php index 4389d09..fdaaef8 100644 --- a/administration.php +++ b/administration.php @@ -1,6 +1,6 @@ $Entry) fputcsv($fhandle,$Entry); + foreach($AdminEntries as $e=>$Entry) { + unset($Entry[7]); + fputcsv($fhandle,$Entry); + } fclose($fhandle); } +function Search($SearchQuery) { + $Entries=ReadEntries(); + $SearchResultCount=0; + $SearchResult=false; + foreach($Entries as $e=>$Entry) { + for($p=0; $p<7; $p++) { + if (mb_stristr($Entry[$p],$SearchQuery)) { + $SearchResult[$SearchResultCount][0]=$e; + $SearchResult[$SearchResultCount][1]=$Entry; + $SearchResultCount++; + break; + } + } + } + return $SearchResult; +} + +function AddSearchBar() { + global $Titles; + global $GBsearch; + if (!(($_SESSION["EditStatus"]) or ($_SESSION["DeleteStatus"]=="deletion"))) if ($GBsearch) { + echo "
"; + echo ""; + echo ""; + echo "
"; + } +} + function AdminHeaderView() { global $Titles; global $GBadmin; global $GBpassword; echo "

$Titles[AdminHeader]

\n"; if ($_SESSION["SessionStatus"]==(md5($GBadmin.$GBpassword))) { + echo "
",AddSearchBar(),"
"; echo "
\n"; echo "

\n"; echo "
\n"; @@ -68,6 +100,14 @@ function AdminEntriesView() { echo "\n"; echo "\n"; } else { + if($_POST['search']&&$_POST['serachq']) { + $SearchResult=Search($_POST['serachq']); + if ($SearchResult) { + $GBpagination=0; + unset($AdminEntries); + foreach($SearchResult as $n=>$Entry) $AdminEntries[$n]=$Entry[1]; + } else echo "$Titles[NoResult]: '",$_POST['serachq'],"'.
\n"; + } if (($GBpagination>0)&&(count($AdminEntries)>$GBpagination)) { $Entries=array_reverse($AdminEntries); if ($_GET['page']) switch ($_GET['page']) { diff --git a/index.php b/index.php index e2d84f4..18fc35b 100644 --- a/index.php +++ b/index.php @@ -1,6 +1,6 @@ $Entry) { + for($p=0; $p<7; $p++) { + if (mb_stristr($Entry[$p],$SearchQuery)) { + $SearchResult[$SearchResultCount][0]=$e; + $SearchResult[$SearchResultCount][1]=$Entry; + $SearchResultCount++; + break; + } + } + } + return $SearchResult; +} + +function AddSearchBar() { + global $Titles; + global $GBsearch; + if ($GBsearch) { + echo "
"; + echo ""; + echo ""; + echo "
"; + } +} + function EntriesView() { global $Titles; global $DataStatus; global $Entries; global $GBpagination; if ($DataStatus=="empty") echo "$Titles[EmptyFile]"; - else if (($GBpagination>0)&&(count($Entries)>$GBpagination)) { - $Entries=array_reverse($Entries); + else if($_POST['search']&&$_POST['serachq']) { + $SearchResult=Search($_POST['serachq']); + if ($SearchResult) { + $GBpagination=0; + unset($Entries); + foreach($SearchResult as $n=>$Entry) $Entries[$n]=$Entry[1]; + } else echo "$Titles[NoResult]: '",$_POST['serachq'],"'.
\n"; + } + if (($GBpagination>0)&&(count($Entries)>$GBpagination)) { + $Entries=array_reverse($Entries); if ($_GET['page']) switch ($_GET['page']) { case $Titles[First]: $CurrentPage=0; @@ -100,7 +136,7 @@ function EntriesView() { break; default: $CurrentPage=$_GET['page']-1; - } + } else $CurrentPage=0; for ($e = ($GBpagination*$CurrentPage); $e < ($GBpagination*($CurrentPage+1)); $e++) { if ($e>=count($Entries)) break; diff --git a/page.php b/page.php index 69a50c5..7c2a915 100644 --- a/page.php +++ b/page.php @@ -1,6 +1,6 @@
+
+ +

diff --git a/settings.php b/settings.php index c30580d..c205e51 100644 --- a/settings.php +++ b/settings.php @@ -1,6 +1,6 @@ >"; +$Titles[Search]="Search"; +$Titles[NoResult]="No search result"; ?> diff --git a/settings_ru.php b/settings_ru.php index 203bda6..b229c96 100644 --- a/settings_ru.php +++ b/settings_ru.php @@ -1,6 +1,6 @@