Panel Administracyjny BezpiecznyInternet.org"; // podstawienie gornego menu $czytaj = str_replace ("[TOP]", $top, $czytaj); // podstawienie lewego menu $czytaj = str_replace ("[LEWE]", $lewe, $czytaj); // podstawienie prawej części $czytaj = str_replace ("[MAIN]", $main, $czytaj); // podstawienie prawej części $czytaj = str_replace ("[PRAWE]", $prawe, $czytaj); // podstawienie nawigatora $czytaj = str_replace ("[NAWIGATOR]", NULL, $czytaj); // podstawienie tagów $czytaj = str_replace ("[TAGI]", $tagi, $czytaj); // podstawienie stopki strony $czytaj = str_replace ("[STOPKA]", $stopka, $czytaj); // podstawienie wartosci zmiennej domena $czytaj = str_replace ("[DOMENA]", "http://www.bezpiecznyinternet.org/", $czytaj); // zamiana znaczników formatowania $czytaj = kidCode ($czytaj); // zwrócenie treści strony return $czytaj; } // funkcja odpowiedzialna za znaczniki zamianę znaczników kidCode na kod html function kidCode ($tekst) { // pogrubienie $tekst = str_replace ("[b]", "", $tekst); // kursywa $tekst = str_replace ("[i]", "", $tekst); // podkreślenie $tekst = str_replace ("[u]", "", $tekst); // kolor 1 $tekst = str_replace ("[k1]", "", $tekst); // kolor 2 $tekst = str_replace ("[k2]", "", $tekst); // kolor 3 $tekst = str_replace ("[k3]", "", $tekst); // zamknięcie znacznika $tekst = str_replace ("[/]", "", $tekst); // zwrócenie przetworzonej treści return $tekst; } // funkcja odpowiedzialna za znaczniki meta function metaTagi () { // wprowadzenie do funkcji zmiennej połączenia mysql global $polaczenie; // ustalenie zmiennej dla strony głównej if ($_GET ["s"] == "" AND $_GET ["z"] == "") {$_GET ["s"] = "index";} // zamiana liter na małe $_GET ["s"] = strtolower ($_GET ["s"]); // zapytanie MySQL o znaczniki meta stron z górnego menu i strony głównej if ($_GET ["s"] != "") {$zapytanie = "SELECT tag_title, tag_description, tag_keywords FROM bi_strony WHERE link='" . $_GET ["s"] ."'";} // zapytanie MySQL o znaczniki meta stron z omówieniem zagrożeń if ($_GET ["z"] != "") {$zapytanie = "SELECT tag_title, tag_description, tag_keywords FROM bi_zagrozenia WHERE link='" . $_GET ["z"] ."'";} // pobranie danych z bazy $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($polaczenie); // tablica z danymi $wiersz = mysql_fetch_array ($rezultat); // treść znaczników meta $metaTagi = " " . $wiersz ["tag_title"] . " "; // zwolnienie danych mysql_free_result ($rezultat); // zwrócenie znaczników meta do strony return $metaTagi; } // funkcja sprawdzania dostępności strony i informacji o zagrożeniach function dostepnosc ($link, $tabela, $polaczenie) { // nie wybrano strony ani zagrożenia if ($link == "") {$return = FALSE;} // wybrano stronę lub zagrożenie else { // pobranie informacji o publikacji $zapytanie = "SELECT publikacja FROM " . $tabela . " WHERE link='" . strtolower ($link) . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); $publikacja = $wiersz ["publikacja"]; $liczba = mysql_num_rows ($rezultat); mysql_free_result ($rezultat); // brak materiału if ($liczba == 0) {$return = FALSE;} // materiał opublikowany else if ($publikacja > 0) {$return = TRUE;} // materiał nie opublikowany else {$return = FALSE;} } // zwrócenie wartości funkcji return $return; } // funkcja pokazująca treść informacji o zagrożeniu function pokazZagrozenie () { // dołączenie do funkcji zmiennej połączenia z MySQL global $polaczenie; // dołączenie do funkcji konfiguracji global $config; // pobranie danych o zagrożeniu z bazy MySQL $zapytanie = "SELECT tytul, tekst, partner FROM bi_zagrozenia WHERE link='" . $_GET ["z"] . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); $tytul = $wiersz ["tytul"]; $tekst = $wiersz ["tekst"]; $partner = $wiersz ["partner"]; mysql_free_result ($rezultat); // obróbka tekstu $tekst = kidCode ($tekst); $tekst = nl2br ($tekst); // pobranie partnera gdy wskazano if ( is_numeric ($partner) AND $partner != 0) { $zapytanie = "SELECT nazwa, strona, duze_logo FROM bi_partnerzy WHERE id='" . $partner . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); $src = $config ["domena"] . "img/" . $wiersz ["duze_logo"]; #$rozmiar = getimagesize ($wiersz ["duze_logo"]); $ppartner = "

[b]Partner programu:
\""

"; mysql_free_result ($rezultat); } // nie wskazano partnera else {$ppartner = "";} // dołączenie reklamy google $plik = "ads/google336x280.txt"; $rozmiar = filesize ($plik); $otworz = fopen ($plik, "r"); $google = "
" . fread ($otworz, $rozmiar) . "
"; fclose ($otworz); // skojarzone publikacje $zapytanie = "SELECT id, tytul, plik FROM bi_publikacje WHERE publikacja='1' AND tagi LIKE '" . $_GET ["z"] . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $liczba = mysql_num_rows ($rezultat); // gdy istnieją skojarzone publikacje if ($liczba > 0) { $skojarz = "

[b]ZOBACZ TEŻ:[/]"; while ( $wiersz = mysql_fetch_array ($rezultat) ) { // gdy skojarzony jest plik if ($wiersz ["plik"] == 1) { $skojarz .= "
\"pobierz\" " . $wiersz ["tytul"] . ""; } // gdy skojarzony jest tekst else { $skojarz .= "
\"czytaj\" " . $wiersz ["tytul"]. ""; } } $skojarz .= "

"; } // gdy nie ma skojarzonych publikacji else {$skojarz = "";} // zwolnienie danych z zapytania MySQL mysql_free_result ($rezultat); // zmienna do pokazania $pokaz = "

" . $tytul . "

" . "

" . $tekst . "

" . $ppartner . $google . $skojarz; // zwrócenie danych do strony return kidCode ($pokaz); } // funkcja pokazująca tytuł strony function pokazTytul () { // dołączenie do funkcji zmiennej połączenia z MySQL global $polaczenie; // pobranie tytułu z bazy danych $zapytanie = "SELECT tytul FROM bi_strony WHERE link='" . $_GET ["s"] . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); $tytul = $wiersz ["tytul"]; mysql_free_result ($rezultat); // zwrócenie wartości return $tytul; } // funkcja odpowiedzialna za pokazanie tekstu na stronie bez osobnego kodu function pokazStrone () { // dołączenie do funkcji zmiennej połączenia z MySQL global $polaczenie; global $config; // pobranie tytułu strony i tekstu na stronę z bazy danych $zapytanie = "SELECT tytul, tekst FROM bi_strony WHERE link='" . $_GET ["s"] . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); mysql_free_result ($rezultat); // obrazek strony $rozmiar = getimagesize ("img/str." . $_GET ["s"] . ".jpg"); $obraz = "\"""; // dołączenie reklamy google $plik = "ads/google336x280.txt"; $rozmiar = filesize ($plik); $otworz = fopen ($plik, "r"); $google = "
" . fread ($otworz, $rozmiar) . "
"; fclose ($otworz); // kod strony $strona = "

" . $obraz . $wiersz ["tytul"] . "

" . "

" . nl2br ($wiersz ["tekst"]) . "

" . $google; // zwrócenie wartości funkcji return $strona; } // funkcja weryfikująca poprawność i dostępność kategorii certyfikatu lub katalogu function kategoria ($tabela) { // dołączenie zmiennej połączenia z MySQL global $polaczenie; // gdy zmienna kategorii nie jest liczbą if ( !is_numeric ($_GET ["cat"]) ) {$return = FALSE;} // gdy zmienna kategorii jest liczbą else { // pobranie danych kategorii z bazy danych $zapytanie = "SELECT publikacja FROM bi_" . $tabela . "_kategorie WHERE id='" . $_GET ["cat"] . "'"; $rezultat = mysql_query ($zapytanie, $polaczenie) or die ($zapytanie); $wiersz = mysql_fetch_array ($rezultat); $liczba = mysql_num_rows ($rezultat); mysql_free_result ($rezultat); // gdy brak kategorii o podanym ID lub nie jest ona opublikowana if ($liczba == 0 or $wiersz ["publikacja"] != 1) {$return = FALSE;} // gdy wszystko jest OK else {$return = TRUE;} } // zwrócenie wartości funkcji return $return; } # funkcja tworzenia tokena - obrazka z kodem do przepisania function utworzToken ($dlugosc) { $kod = strtoupper ( substr ( md5 ( uniqid ( rand (), true) ), 0, $dlugosc) ); return $kod; } # funkcja sprawdzajaca poprawnosc adresu email function sprawdzEmail ($email) { // pusty mail if ($email == "") {return FALSE;} // mail zawiera znaki else { // nie ma znaku @ lub . if ( !strstr ($email, "@") OR !strstr ($email, ".") ) {return FALSE;} // jest znak @ else { list ($skrzynka, $serwer) = explode ("@", $email); // gdy nie zdefiniowano nazwy skrzynki lub serwera if ($skrzynka == "" OR $serwer == "") {return FALSE;} else {return TRUE;} } } } # funkcja pobierania i zapisywania do zmiennej kanalow RSS function pobierz_RSS ($adres, $strona, $folder, $tytul, $liczba, $czas) { // Tytuł kanału RSS $nazwa_kanalu = "\"\" " . $tytul . ""; // W jakim oknie ma być otwierany na główek $target = "_blank"; $autoupdate = TRUE; $trunc = FALSE; $delim = FALSE; if (isset ($_GET ['rssHeadline']) ) {$rssHeadline = $_GET ['rssHeadline'];} $basefile = $folder; // Przygotowywanie nazw plików dla danego kanału $folder .= md5 ($adres) . ".htm"; #========================== # Operacje związane ze sprawdzaniem aktualności nagłówków w pliku tekstowym #========================== if (($czas > 0) && (is_file($folder)) && (((time()-filemtime($folder)) < ($czas * 60)))) { $tresc = file ($folder); return implode (" ",$tresc); } elseif (@fopen ($adres,"r")) { // Sprawdza czy ma dostęp do kanału RSS # ========================== # Operacja zwiazane z dodawaniem nowego nagłówka do pliku # ========================== $rssHandle = fopen ($adres,"r") ; // Otwiera plik kanału RSS $rssData = ''; while (!feof ($rssHandle)) {$rssData .= fgets ($rssHandle);} # ========================== # Przygotowywanie newsa do włączenia do pliku # ========================== $tag = "item "; $rssData = preg_replace("/<" . $tag . "(.|\s)*?>/","",$rssData); $rssData = chop($rssData); // Usuwanie pustych spacji z końca linijek $rssData = ereg_replace("[\r,\n]", "", $rssData); // Usuwwanie pustych linijek $rssData = strstr($rssData,""); // Usuwanie wszystie przez . # ========================== # Usuwanie zbędnych elemntów tak aby okrojona zawartość mogła zostać zapisana w pliku # Tagi zostają pominięte # ========================== $tags_and_content_to_strip = Array("description"); foreach ($tags_and_content_to_strip as $tag) { $rssData = preg_replace("/<" . $tag . ">(.|\s)*?<\/+" . $tag . ">/","",$rssData); } $rssData = str_replace("","", $rssData); // usuwanie tagu $rssData = urldecode($rssData); // Zamiana wszystkich: %20 na spacje. $rssData = str_replace(strstr("",$rssData),"",$rssData); $rssArray = explode("",$rssData); // Tworzenie tablicy z nagłówkami $title = array(); $link = array(); #========================== # Ten mechanizm tworzy tablice dla linków oraz nagłówków #========================== $x = 0; while ($x < $liczba) { $link [$x] = strstr($rssArray[$x],""); // usuwanie wszystkiego przed $link [$x] = ereg_replace("","",$link[$x]); $link [$x] = str_replace(strstr($link[$x],""),"",$link[$x]); $link [$x] = trim($link[$x]); $link [$x] = str_replace(" ","+",$link[$x]); $title [$x] = strstr ($rssArray [$x], ""); // Usuwanie <title> z części tytułu newsa $title [$x] = ereg_replace("<title>","",$title[$x]); // Usuwanie oraz wszystkiego poza nim $title [$x] = str_replace (strstr ( $title [$x], ""), "", $title[$x] ); $title [$x] = trim ( $title [$x] ); if ($trunc != FALSE) { $title [$x] = str_replace (substr ( $title [$x], $trunc ), "", $title [$x] ); } if ($delim != FALSE) { $title [$x] = str_replace ( strstr ( $title [$x], $delim ), "", $title [$x] ); } // Gdy już nie ma nagłówków zmienna $liczba przyjmuje wartość maksymalną. if ($title [$x] == "") { $liczba = $x; break; } $x++; } #========================== # Zapis do pliku #========================== $fp = fopen ($folder, "w+"); $x = 0; // zapisywanie do pliku fwrite ($fp, "$nazwa_kanalu \n"); // ta pętla zapisuje każdy link osobno. while ($x < $liczba) { fwrite ($fp, "
\n+ $title[$x]"); $x++; } fclose ($fp); $tresc = file ($folder); $rss = implode (" ", $tresc); return $rss; } else { #========================== # Zwracanie błędu gdy podany adres jest błędny. #========================== return "Nie można połączyć się z adresem: $adres. "; } } ?>