maccolo pisze:
porusze jeszcze temat powiadomien, moglbym wykonac skrypt ktory to robi bez squida i crona, potrzebowalbym do tego skrypt ktory wyciaga z bazy danych tresc wiadomosc wpisanej do lms`a
Proszę...Kiedyś o tym pisałem. U mnie działa, może i u was zadziała. "kliknal" - to skrypt w bashu, który usuwa zadane ip z ipsetu komunikaty i wrzuca do logu godzinę i IP(aczkolwiek można jeszcze dorzucić pod klieknięciu przycisku dopisanie do bazy lms datę, w której klient po raz ostatni obejrzał komunikat). Jako że nie lubię wprowadzać zmian w samym LMS to nie zmieniałem interfejsu i tak: -jeśli zaznaczam komputerowi wykrzyknik otrzymuje jednokrotny komunikat -jeśli "odłączony" permanentny komunikat -jeśli "odłączony" + "komunikat" - klientowi wyskakuje komunikat co kilka minut (z informacją, że ma zwolniony internet + treść komunikatu) Pewnie nie jest to majstersztyk PHP, ale zawsze można go "upiększyć" ;) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Piko s.c. - komunikat</title> <meta http-equiv="Content-Type" content"text/html; charset=iso-8859-2"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="expires" content="0"> <link rel="stylesheet" type="text/css" href="http://192.168.0.1/komunikaty/style.css"> <? $customer_ip= $_SERVER['REMOTE_ADDR']; $mydb = mysql_connect('localhost','abonent') or die ('Błąd połączenia z serwerem PIKO'); mysql_select_db('lms'); if (isset($_POST['goto_url'])) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"1; URL=".$_POST['goto_url']."\">\n<meta http-equiv=\"Content-Type\" content\"text/html; charset=iso-8859-2\">\n</head>\n"; echo "<body>\n"; echo "<p>Wygląda na to, że przeczytałeś uwaznie komunikat.<br>"; echo "Za moment zostaniesz przekierowany na stronę, którą zamierzałeś odwiedzić.<br>"; echo "Pozdrawiamy - firma Piko.</p>\n"; $ipsetdel="sudo /var/www/htdocs/komunikaty/kliknal $customer_ip 2> /dev/null"; shell_exec($ipsetdel); if ($_POST['access']=='1') { mysql_query("UPDATE lms.nodes SET warning=0 WHERE inet_ntoa(ipaddr)='$customer_ip'") or die (mysql_error()); } echo "</body>\n</html>"; exit; } else { echo "</head>\n"; header("Cache-Control: private"); header("Expires: Mon, 26 Jul 1971 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header("Expires: 0"); $goto_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $query = "SELECT c.message,n.access,n.warning FROM nodes n LEFT JOIN customers c ON c.id=n.ownerid where inet_ntoa(n.ipaddr)='$customer_ip'"; $result = mysql_query($query) or die ('Błąd podczas zapytania do bazy'.mysql_error()); $row = mysql_fetch_array($result); } ?> <body> <h1>Komunikat od firmy Piko</h1> <p class="komunikat"> <? if ($row["message"] != "" && $row["access"] == "1") { echo iconv("UTF-8","ISO-8859-2//TRANSLIT",$row["message"]); } elseif ($row["warning"] == "1" && $row["access"] == "0") { echo iconv("UTF-8","ISO-8859-2//TRANSLIT",$row["message"]); echo "<h2>Prędkość Państwa połączenia została ograniczona do czasu wyjaśnienia sprawy.</h2>"; } else { echo "Dostep do sieci Internet dla Państwa komputera jest obecnie zablokowany. Aby wyjaśnić przyczynę blokady prosimy o kontakt.\n"; echo "<br>Adres IP Panstwa komputera to: ".$customer_ip; } ?> </p> <div>Dane kontaktowe firmy PIKO: <ul> <li>telefony: 600 254 531, 608 04 44 03 <li>e-mail: boa@piko.krakow.pl <li>www: www.piko.krakow.pl </ul> </div> <? if ($row["warning"] == '1') { $access = $row["access"]; echo "<form method=\"post\" action=\"http://192.168.0.1/komunikaty/index.php\" name=\"form\">"; echo "<input type=\"hidden\" name=\"goto_url\" value=\"http://$goto_url\">"; echo "<input type=\"hidden\" name=\"access\" value=\"$access\">"; echo "<input type=\"submit\" name=\"przycisk\" value=\"Przeczytalem komunikat i chcę powrócić do przeglądania Internetu\">"; echo "</form>"; echo "<p class=\"komunikat\">"; echo "DOSTĘP DO INTERNETU ZOSTANIE TYMCZASOWO PRZYWRÓCONY PO PRZECZYTANIU KOMUNIKATU I NACIŚNIĘCU POWYŻSZEGO PRZYCISKU (\"przeczytałem komunikat.....\")"; echo "</p>"; } ?> </body> </html> <? mysql_free_result($result); //$mysql_close($mydb); ?> pozdrawiam, Dawid Widyna !DSPAM:4822d1dd136391844240209!