| 1 | <?php
|
|---|
| 2 | //hlavièka
|
|---|
| 3 | include 'includes/Global.php';
|
|---|
| 4 |
|
|---|
| 5 | /* tabulky v kterých se má hledat:
|
|---|
| 6 | articles- Name, Description, TextWithoutTags
|
|---|
| 7 | news- Name, Description, Text, User
|
|---|
| 8 | downloaddir- Name, Description
|
|---|
| 9 | downloadfile- Name, Description, FileName
|
|---|
| 10 | links- Name, Description, Address
|
|---|
| 11 | picturealbums- Name, Description
|
|---|
| 12 | pictures- FileName
|
|---|
| 13 | section- Name, Description
|
|---|
| 14 | */
|
|---|
| 15 |
|
|---|
| 16 | //TODO: mozila plugin
|
|---|
| 17 |
|
|---|
| 18 | if (array_key_exists('Search', $_GET)){
|
|---|
| 19 | $SearchOrig = $_GET['Search'];
|
|---|
| 20 | } else {
|
|---|
| 21 | $SearchOrig = '';
|
|---|
| 22 | }
|
|---|
| 23 | ?>
|
|---|
| 24 | <Table>
|
|---|
| 25 | <tr><td>
|
|---|
| 26 | <form action="Search.php" method="get">
|
|---|
| 27 | <table border="0">
|
|---|
| 28 | <tr><td>Hledané heslo:</td></tr>
|
|---|
| 29 | <tr><td><input type="text" name="Search" value="<?php echo $SearchOrig; ?>"></td></tr>
|
|---|
| 30 | <tr><td><input type="submit" value="Vyhledat"></td></tr>
|
|---|
| 31 | </table>
|
|---|
| 32 | </form>
|
|---|
| 33 | </td><td>
|
|---|
| 34 |
|
|---|
| 35 | Legenda: <br>
|
|---|
| 36 | <b>%</b> - Procento nahrazuje libovolný poèet znakù. Pøíklad: 'Ko%'<br>
|
|---|
| 37 | <b>_</b> - Podtrítko nahrazuje jeden jediný znak. Pøíklad: 'Ko_ina'<br>
|
|---|
| 38 | <b>[ ]</b> - Znaky zahrnuté do hranatých závorek, znamenají, e se v hledaném textu má vyskytovat buï ten nebo onen znak. Pøíklad: 'Ko[sz]ina'<br>
|
|---|
| 39 | <b>[-]</b> - Pomocí pomlèky v hranatých závorkách zvolíme rozsah písmen, které se mohou vyskytovat v hledaném textu. Pøíklad: '[K-N]osina'<br>
|
|---|
| 40 | <b>[^]</b> - Støíka (^) znamená negaci. Uvedené znaky za ní se ve výrazu nemají vyskytovat. Mùeme dané znaky vypsat [^abcde] anebo pouít rozsah [^a-e]. Pøíklad: 'Ko[^sz]ina'<br>
|
|---|
| 41 | </td></tr>
|
|---|
| 42 | </table>
|
|---|
| 43 | <?php
|
|---|
| 44 |
|
|---|
| 45 | if ($SearchOrig <> '') { //pøihláení / odhláení
|
|---|
| 46 | $Search = strtr($SearchOrig, ' ', '%');
|
|---|
| 47 |
|
|---|
| 48 | Echo '<H3>Výsledek hledání:</h3>';
|
|---|
| 49 |
|
|---|
| 50 | //TODO: zjiovat poèet slov, vybrané tabulky, a zobrazování
|
|---|
| 51 |
|
|---|
| 52 | $FoundAll = False;
|
|---|
| 53 |
|
|---|
| 54 | //èlánky
|
|---|
| 55 | $sql = "SELECT * FROM articles WHERE TextWithoutTags LIKE '%$Search%' or Description LIKE '%$Search%' or Name LIKE '%$Search%'";
|
|---|
| 56 |
|
|---|
| 57 | $IDdb = $db->SQLCommand($sql);
|
|---|
| 58 | $TestLine = mysql_fetch_array($IDdb);
|
|---|
| 59 |
|
|---|
| 60 | if (!$TestLine) {
|
|---|
| 61 | $Found = False;
|
|---|
| 62 | } else {
|
|---|
| 63 | $Found = True;
|
|---|
| 64 | $FoundAll = True;
|
|---|
| 65 | }
|
|---|
| 66 |
|
|---|
| 67 | if ($Found) {
|
|---|
| 68 | echo '<h4>Èlánky:</h4>';
|
|---|
| 69 | }
|
|---|
| 70 |
|
|---|
| 71 | $IDdb = $db->SQLCommand($sql);
|
|---|
| 72 | while ($Line = mysql_fetch_array($IDdb)) {
|
|---|
| 73 | if (strlen($Line['TextWithoutTags']) > 400) {
|
|---|
| 74 | $position = strpos($Line['TextWithoutTags'],$Search);
|
|---|
| 75 | $start = $position - 70;
|
|---|
| 76 | if ($start < 0)
|
|---|
| 77 | $start = 0;
|
|---|
| 78 |
|
|---|
| 79 | $length = strlen($Search)+140;
|
|---|
| 80 | $Text = '..'.substr($Line['TextWithoutTags'],$start,$length).'..';
|
|---|
| 81 | } else {
|
|---|
| 82 | $Text = $Line['TextWithoutTags'];
|
|---|
| 83 | }
|
|---|
| 84 | //TODO: zvírazòovat vechny slova
|
|---|
| 85 | $Text = ereg_replace($SearchOrig, '<b>'.$SearchOrig.'</b>', $Text);
|
|---|
| 86 |
|
|---|
| 87 | echo '<a href="Section.php?Article='.$Line['ID'].'">Zobrazit celý èlánek</a>
|
|---|
| 88 | <div class="ArticlesItem"><span class="ArticlesName">'.$Line['Name'].'</span> - <span class="ArticlesDescription">'.$Line['Description'].'</span> - <span class="Date">'.$Line['Date'].'</span>';
|
|---|
| 89 |
|
|---|
| 90 | if ($AdminLevel > 1) // level 2
|
|---|
| 91 | echo '<a href="/Administrace/AddArticles.php?Mode=FormEdit&ID='.$Line['ID'].'"> '.$Icons['Edit'].'</a>';
|
|---|
| 92 | if ($AdminLevel > 3) // level 4
|
|---|
| 93 | echo '<a href="/Administrace/AddArticles.php?Mode=DelArticle&Section='.$Line['ID'].'" '.JavaQuestionDel().'> '.$Icons['Del'].'</a>';
|
|---|
| 94 |
|
|---|
| 95 | echo '<br />'.$Text.'</div>';
|
|---|
| 96 | }
|
|---|
| 97 |
|
|---|
| 98 | //aktuality
|
|---|
| 99 | $sql = "SELECT * FROM news WHERE Text LIKE '%$Search%' or Description LIKE '%$Search%' or Name LIKE '%$Search%' or User LIKE '%$Search%'";
|
|---|
| 100 | $IDdb = $db->SQLCommand($sql);
|
|---|
| 101 | $TestLine = mysql_fetch_array($IDdb);
|
|---|
| 102 |
|
|---|
| 103 | if (!$TestLine) {
|
|---|
| 104 | $Found = False;
|
|---|
| 105 | } else {
|
|---|
| 106 | $Found = True;
|
|---|
| 107 | $FoundAll = True;
|
|---|
| 108 | }
|
|---|
| 109 |
|
|---|
| 110 | if ($Found) {
|
|---|
| 111 | echo '<h4>Aktuality:</h4>';
|
|---|
| 112 | }
|
|---|
| 113 |
|
|---|
| 114 | $IDdb = $db->SQLCommand($sql);
|
|---|
| 115 | while ($Line = mysql_fetch_array($IDdb)) {
|
|---|
| 116 | if (strlen($Line['Text']) > 400) {
|
|---|
| 117 | $position = strpos($Line['Text'],$Search);
|
|---|
| 118 | $start = $position - 70;
|
|---|
| 119 | if ($start < 0)
|
|---|
| 120 | $start = 0;
|
|---|
| 121 |
|
|---|
| 122 | $length = strlen($Search)+140;
|
|---|
| 123 | $Text = '..'.substr($Line['Text'],$start,$length).'..';
|
|---|
| 124 | } else {
|
|---|
| 125 | $Text = $Line['Text'];
|
|---|
| 126 | }
|
|---|
| 127 | //TODO: zvírazòovat vechny slova
|
|---|
| 128 | $Text = ereg_replace($SearchOrig, '<b>'.$SearchOrig.'</b>', $Text);
|
|---|
| 129 | echo '<a href="index.php?AllNews">Zobrazit celou aktualitu</a>
|
|---|
| 130 | <div class="NewsItem" title="'.$Line['Description'].'"><span class="Date">'.$Line['Date'].'</span> - <span class="NewsName">'.$Line['Name'].'</span> (<span class="NewsUser">'.$Line['User'].'</span>)';
|
|---|
| 131 |
|
|---|
| 132 | if ($AdminLevel > 0) // level 1
|
|---|
| 133 | echo '<a href="/Administrace/AddNews.php?Mode=EditNewsForm&ID='.$Line['ID'].'"> '.$Icons['Edit'].'</a>';
|
|---|
| 134 | if ($AdminLevel > 3) // level 4
|
|---|
| 135 | echo '<a href="/Administrace/AddNews.php?Mode=Del&ID='.$Line['ID'].'" '.JavaQuestionDel().'> '.$Icons['Del'].'</a>';
|
|---|
| 136 |
|
|---|
| 137 | echo '<br><span class="NewsText">'.$Text.'</span></div>';
|
|---|
| 138 | }
|
|---|
| 139 |
|
|---|
| 140 |
|
|---|
| 141 | if ($FoundAll == False) {
|
|---|
| 142 | echo 'Nepodaøilo nalézt!';
|
|---|
| 143 | }
|
|---|
| 144 | }
|
|---|
| 145 |
|
|---|
| 146 |
|
|---|
| 147 | // sloitý sql z php my admin : SELECT * FROM `maron`.`downloaddir` WHERE (`ID` LIKE '%maron%' OR `Name` LIKE CONVERT(_utf8 '%maron%' USING latin2) COLLATE latin2_czech_cs OR `Description` LIKE CONVERT(_utf8 '%maron%' USING latin2) COLLATE latin2_czech_cs OR `Date` LIKE '%maron%' OR `PreviousDir` LIKE '%maron%') OR (`ID` LIKE '%super%' OR `Name` LIKE CONVERT(_utf8 '%super%' USING latin2) COLLATE latin2_czech_cs OR `Description` LIKE CONVERT(_utf8 '%super%' USING latin2) COLLATE latin2_czech_cs OR `Date` LIKE '%super%' OR `PreviousDir` LIKE '%super%') OR (`ID` LIKE '%test%' OR `Name` LIKE CONVERT(_utf8 '%test%' USING latin2) COLLATE latin2_czech_cs OR `Description` LIKE CONVERT(_utf8 '%test%' USING latin2) COLLATE latin2_czech_cs OR `Date` LIKE '%test%' OR `PreviousDir` LIKE '%test%')
|
|---|
| 148 |
|
|---|
| 149 |
|
|---|
| 150 | //botièka (konec)
|
|---|
| 151 | ShowFooter();
|
|---|
| 152 | ?>
|
|---|