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 "
";
+ }
+}
+
function AdminHeaderView() {
global $Titles;
global $GBadmin;
global $GBpassword;
echo "\n";
if ($_SESSION["SessionStatus"]==(md5($GBadmin.$GBpassword))) {
+ echo "",AddSearchBar(),"
";
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 "";
+ }
+}
+
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 @@