196

(1 odpowiedzi, napisanych Propozycje zmian)

Możliwość jest zawsze ;-). Przeszkodą jest zwykle tylko brak czasu ;-).
Jest to bardzo ciekawa opcja, ale wymagająca wstępnego przemyślenia nie tylko co do realizacji (pomijając fakt, że w przypadku różnych rozdzielczości, przeglądarek, czy innych możliwych przyczyn obniżenia jakości wyników), ale i formy prezentacji wyników.
Osobiście, na chwilę obecną, widziałbym to jako dodatek do statystyk lub nawet coś bardziej samodzielnego.
Tak czy owak, zapewne powrócę do tego pomysłu po realizacji obecnych planów, gdyż ta idea już kiedyś się pojawiła i zapewne pojawi się jeszcze nie raz ;-).

197

(19 odpowiedzi, napisanych Rozwiązywanie problemów)

No to pozostaje jeszcze sprawdzić jak to wygląda po obróbce, wstaw do index.php, przed:

die (preg_replace ('#(\{tindex\})#e', '$TIndex++', $Page));

Kod:

echo '<pre>';
var_dump ($Path);
echo '</pre>';

I ponów wcześniej podaną "procedurę weryf

198

(0 odpowiedzi, napisanych Blog)

Czas leci do przodu, a nowej wersji dalej ani widu, ani słychu ;-). Czas więc znowu przypomnieć, że prace trwają i, że wszystko powoli, ale jednak idzie do przodu :-).
Zacznę może od wymienienia obecnej listy "blokerów", a są nimi obecnie:
- dokończenie modułu Firebird (niski priorytet);
- dokończenie (a właściwie przepisanie od nowa tego co już jest) kanału Atom (niski priorytet);
- aktualizacja instalatora;
- naprawienie zbierania danych (nie było testowane od ponad pół roku :-D);
- korekta angielskiego tłumaczenia;
- dodanie wtyczki do sprawdzania poprawności instalacji (bardzo niski priorytet ;-)).
Z rzeczy ostatnio zrobionych warto wymienić wsparcie dla mechanizmu gettext oraz stworzenie alternatywnych plików o formacie zbliżonym do poprzedniego, używanych w przypadku braku wsparcia wbudowanego w PHP. Zmiana ta nie jest prawie zauważalna dla użytkownika końcowego, może poza wzrostem rozmiaru paczek o parę KB, ewentualnie niewielkimi zmianami w wydajności (nie zawsze na plus ;-)). Zalety widoczne są głównie dla tłumaczy (możliwość użycia standardowych narzędzi do zarządzania tłumaczeniami). Dodatkowo nie powinien już nigdy występować problem nieprzetłumaczonych ciągów, gdyż zawsze zaszyte są w kodzie ich angielskie wersje. Powiązaną zmiana jest użycie mechanizmu locale, używanego do formatowania liczb i dat zgodnie z wybraną lokalizacją (oczywiście gdy jest ona dostępna w systemie).
Warto także wspomnieć o wprowadzeniu wsparcia dla baz Firebird, obecnie nie w pełni kompletnego, ale mającego bardzo duże szanse dołączyć do dostępnych w nowej wersji.
Nowością jest także weryfikacja poprawności struktury bazy danych tuż po instalacji.
Poprawione zostało też bardzo wiele błędów występujących w wersji alfa (choćby wybór daty w Czasowych) oraz dodano trochę nowej funkcjonalności mniejszego kalibru. Mam nadzieję, że nie zostało przy okazji wprowadzone zbyt wiele nowych błędów ;-).
Jako, że lista rzeczy do zrobienia osiągnęła rekordową małą długość dla tego wydania, można już powoli myśleć o konkretnych terminach wydań, mianowicie wersji o statusie beta (główny bloker - poprawność zbierania danych) powinniśmy się spodziewać pomiędzy 19. stycznia, a 17. lutego (sesja pochłonie sporo czasu niestety...), następnie na początku lutego wersji RC (najprawdopodobniej tylko jednej), a wydanie wersji stabilnej przewiduję (na chwilę obecną) na okolice 1. marca bieżącego roku. Oczywiście jak zawsze daty mogą ulec przesunięciu (w końcu minęło już prawie pół roku od pierwszego terminu, który także był jak najbardziej realny ;-)).
Wybiegając nieco dalej w przyszłość, chciałbym wspomnieć o docelowej na chwilę obecną wersji 5.0, która ma posiadać wsparcie dla wielu statystyk i użytkowników oraz używać PHP >= 5.2. Przygotowanie jej powinno wymagać znacznie mniejszego nakładu pracy (dużo mniej nowej funkcjonalności w porównaniu z 4.9), więc wstępnie planowana jest na koniec okresu wakacyjnego tego roku. Wersja 4.9 ma wypełniać lukę, posiadać możliwie dużo przydatnej funkcjonalności zachowując jednocześnie wsparcie dla starszych wersji PHP.
Trzymajcie kciuki ;-).

199

(19 odpowiedzi, napisanych Rozwiązywanie problemów)

W takim razie pozostaje sprawdzić co faktycznie znajduje się w pliku z cache, bo jeśli także tam będzie wszystko w porządku, to znaczy, że problemu należy szukać gdzie indziej ;-).
Wykonaj poniższy kod (w odpowiednim miejscu podaj ścieżkę dostępu do pliku o nazwie podobnej do config-gui_ciąg różnych znaków.dat - w katalogu data/cache/):

<pre>
<?php
var_dump (unserialize (file_get_contents ('Nazwa pliku.')));
?>

W wyniku poszukaj sekcji Path i sprawdź poprawność wartości (najlepiej z użyciem podglądu źródła strony

200

(4 odpowiedzi, napisanych Rozwiązywanie problemów)

Według mnie nie ma sensu zmieniać modułu, to jest jedynie niewielki błąd z wyliczaniem tej jednej wartości, nie ze zebranymi danymi.
Jak będę miał czas i odpowiednie dane do przeprowadzenia testów, to popracuję nad nim.

201

(19 odpowiedzi, napisanych Rozwiązywanie problemów)

A w PMA widać poprawne wartości dla tamtych pól, czy też krzaczki?
Sprawdź jaką wartość mają w wyeksportowanej kopii tabeli.
Jeśli krzaczki, to popraw w kopii i spróbuj dokonać importu (pamiętaj o usunięciu cache).

202

(4 odpowiedzi, napisanych Rozwiązywanie problemów)

Czy używasz modułu MySQL(i)?
Prawdopodobnie jest to błąd występujący tylko w tym module i niestety prawdopodobnie nie będzie już poprawiony dla tej serii, lecz w 4.9.
Ale jeśli będę miał czas (a w związku z sesją będzie o niego ciężko...), to postaram się coś z tym pokombinować (o ile jest powtarzalny).

203

(1 odpowiedzi, napisanych Inne)

Nie statystyki, tylko PHP ;-).
[code]define ('eTITLE', $art_ID);[/cod

204

(6 odpowiedzi, napisanych Rozwiązywanie problemów)

Adres strony...

205

(2 odpowiedzi, napisanych Inne)

Można najwyżej zrobić obejście, stworzyć specjalne linki do pobierania i na stronie, na którą one wskazują, i która wykonuje "zlecenie" pobrania (czyli odsyła do właściwego piku), można umieścić kod aktywacyjny zbierający te dane (np. pobierający nazwę pliku z parametru z lub przygotowanej tablicy).

206

(7 odpowiedzi, napisanych Ogłoszenia)

Przy wersjach poprawkowych (czyli jedynie zmiana ostatniej części numerku, o ile wcześniejsza nie była testowa) wystarczy jedynie nadpisać zmienione pliki (lub wszystkie), uważając jedynie na to aby nie skasować przypadkiem pliku conf/config.php i danych z data/.
Zdaje się, że w FAQ jest odpowiednia informacja ;-).

207

(7 odpowiedzi, napisanych Ogłoszenia)

Zgodnie z zapowiedzią, przygotowałem wersję z niewielkimi poprawkami dla serii 4.5, teraz wszystkie moce przerobowe zostaną przeniesione na prace nad kolejną serią, 4.9, której pierwsze stabilne wydanie pojawi się, mam nadzieję, w ciągu dwóch, trzech miesięcy :-).

Zmiany:

- poprawki w angielskim tłumaczeniu;
- respektowanie ustawienia opcji zapisywania informacji o ignorowanych wizytach;
- poprawione wyświetlanie menu;
- kilka innych drobnych zmian i poprawek.

Pobieralnia:

ZIP: 456.81 KB.
TAR.BZ2: 239.86 KB.

208

(4 odpowiedzi, napisanych Inne)

Skoro i tak są na hasło, to nie trzeba modyfikować kodu, ale jeśli chcesz, to możesz po prostu w odpowiednim fragmencie odpowiadającym podanemu powyżej pozmieniać (eULEVEL == 2) na eULEVEL (a potem na wszelki wypadek przetestować ;-)).
Dodam tylko, że na jutro planowana jest niewielka aktualizacja obecnej wersji stabilnej, więc można poczekać trochę :-).

209

(4 odpowiedzi, napisanych Inne)

Ale dla każdego użytkownika?
Jeśli tak, to powinna wystarczyć podmiana okolic linii 24 - 27 w lib/details.php na:

	'host' => e_cut ($Data[3], $TConfig['detailedRowValueLength'], 1).(eEMODE?'<br />
'.e_ignore_rule ($Data[1]):'<br />
'.$Data[1]).(($Data[1] != '127.0.0.1')?' ('.e_whois_link ($Data[1]).')':'').($Data[13]?'<br />
<strong title="'.htmlspecialchars ($Data[13]).'">%proxy%</strong> ('.e_whois_link ($Data[14]).')':''),

Nie sprawdzałem, al

210

(0 odpowiedzi, napisanych Blog)

Jako, że ze względu na Święta mam więcej niż zwykle wolnego czasu, to prace posuwają się naprzód w szybszym tempie :-).
Ukończone zostały generatory alternatywnych baz danych w formacie SQLite2 dla Geolokalizacji, gdy nie ma na serwerze modułu geoip w PHP. Jeden z nich (niezalecany ze względu na niską wydajność PHP) ma formę wtyczki do panelu, drugi jest samodzielnym skryptem napisanym w Pythonie (i jest notabene moją pierwszą "aplikacją" w tym języku ;-)). Skupię się teraz na opisie drugiego rozwiązania ze względu na jego znaczącą (kilkaset procent) przewagę wydajnościową i niezawodność w stosunku do wersji PHP.
Aby przygotować bazę musimy zaopatrzyć się w plik generator.py (dołączony w katalogu wtyczki PHP) i interpreter języka Python z obsługą modułów csv oraz sqlite (plik wynikowy musi być w formacie SQLite2). Niezbędnym składnikiem są także pliki CSV (GeoLiteCity-Blocks.csv oraz GeoLiteCity-Location.csv) wypakowane z paczki GeoLite City pobranej ze strony http://www.maxmind.com/app/geolitecity. Skrypt należy uruchomić wewnątrz katalogu, do którego wypakowaliśmy wyżej wymienione pliki. Po wygenerowaniu bazy należy przenieść plik wynikowy (geoip.sqlite) do katalogu danych (domyślnie data/) i nazwać go geoip_$DBID.sqlite, gdzie $DBID ma wartość, którą możemy znaleźć w pliku conf/config.php.
Dla porównania, wygenerowanie bazy danych o rozmiarze 267 MB z 97 MB danych wejściowych zajęło skryptowi Pythona 7 minut, natomiast skrypt PHP wygenerował w tym czasie jedynie ok. 5 MB, a nie mógł wygenerować całej ze względu na limit czasu.
Oba skrypty zaleca uruchomić się na własnym, lokalnym komputerze, nie na serwerze!