136

(9 odpowiedzi, napisanych Inne)

Tak, w jednym miejscu, ale tak jakby stanowiły jedną witrynę, czyli wszystkie dane będą wymieszane ze sobą. Dodatkowo domyślnie nie są zapisywane informacje o nazwie hosta (daje to zwykle duże oszczędności miejsca i ułatwia przenoszenie danych na nową domenę) więc link do stron będą wskazywać na domenę, na której postawione są statystyki. Aby tego uniknąć należy samodzielnie zdefiniować stałą z adresem strony w kodzie aktywacyjnym.

137

(9 odpowiedzi, napisanych Inne)

Opisz dokładniej jaki efekt chcesz osiągnąć.
Jeśli odwołasz się do tego samego pliku stats.php, to wszystkie będą zliczane w ramach jednych statystyk.
Można mieć kilka instalacji na jednym serwerze, wystarczy wskazać na różne lokalizacje w kodzie aktywacyjnym.
W jednym pliku nie można mieć kilku różnych kodów aktywacyjnych.

Skoro zniknęła tamta pozycja, a po odzyskaniu dalej jest problem, to wejdź do Konfiguracji i sprawdź wartość opcji Czas, po którym wizyta jest naliczana ponownie (s), najprawdopodobniej także "wyparowała", wstaw tam wartość 86400.

Coś takiego jest planowane dla wersji 5.0, ale jeszcze nie wiadomo jak to będzie dokładnie wyglądać, ani kiedy pojawi się to wydanie (pierwotnie planowane na ten rok).
A na chwilę obecną pozostaje tylko oddzielna instalacja.
Jeśli ostatecznie zaakceptuję obecny plan, polegający na tym, że każde statystyki będą mogły używać różnych baz (lub tabel z różnymi prefiksami w obrębie jednej), to danymi obecnie zbieranymi dla różnych domen będzie można zarządzać z jednego miejsca po aktualizacji.

Wszystkie, w sensie frazy? Jeśli o to chodzi, to obecnie można tylko wybrać tryb zliczania, albo słowa, albo frazy. Można to przestawić w Konfiguracji, opcja Zliczaj całe frazy zamiast słów kluczowych.
Jeśli chcesz zobaczyć także dalsze pola danych, to zaloguj się jako administrator, wejdź na stronę danych, wybierz wartość za pomocą selektora Liczba pozycji pod listą, a następnie kliknij przycisk Podgląd na dole strony.

Wygląda na to, że tabela konfiguracji jest uszkodzona, i brakuje w niej rekordu ze znacznikiem czasu początku zbierania danych, z tego powodu rozjeżdżają się Czasowe i błędnie wyświetlana jest data w nagłówku.
Wstaw nowy wiersz do tabeli estats_configuration (lub podobnej, jeśli ustawiony został inny prefiks), o wartościach:
name: CollectedFrom
value: 27.11.2007 (dodatkowo z listy funkcji dla tego pola wybierz UNIX_TIMESTAMP)
mode: 0
Następnie usuń pliki z katalogu stats/data/cache/.

Dość dziwne zjawisko, nie powinno mieć jednak związku z tamtą zmianą.
Podaj adres statystyk, analiza zebranych danych powinna rzucić światło na przyczynę.

Tak, kod jest niepoprawny, a konkretnie podana ścieżka dostępu, która powinna być względna, np:

estats/stats.php

Powyższa ścieżka jest poprawna jeśli strona znajduje się w katalogu głównym i oczywiście jej plik ma rozszerzenie .php.
Jeśli nie chcesz ręcznie ustawiać adresu strony, to usuń linię z definicją stałej ESTATS_ADDRESS, wtedy skrypt wygeneruje go sam na podstawie danych otrzymanych z serwera.
Dodatkowo każda wartość (poza liczbami) powinna być zamknięta w apostrofach, a w podanym kodzie definicja adresu jest niedomknięta.

Spróbuj zamienić linię 70. w pliku pages/view/time.php na:

               $LastYears = $YearsRange;
               if ($LastYears > 20) $LastYears = 20;
               else if ($LastYears < 5) $LastYears = 5;

Jeśli problem występuje dalej, to podaj nazwę i wersję modułu bazy danych, adres i nazwę dostawcy hostingu.

To była aktualizacja z wersji 4.5?
Jeśli tak, to przypominam, że zmienił się kod aktywacyjny.
Ostrzeżenia wynikają z włączonego archaicznego safe mode w PHP.

146

(0 odpowiedzi, napisanych Blog)

Czerwiec jest jednym z cięższych miesięcy w życiu studenta, jest to czas zaliczeń, kolokwiów i oczywiście sesji letniej...
Jak zauważyli pewnie zainteresowani, 1. czerwca nie ukazała się wersja finalna eBrowser 2.0, termin został przesunięty na okolice połowy lipca, właśnie między innymi z powodu "sezonu zaliczeniowego". Drugą przyczyną była reaktywacja prac nad rozpoczętym w 2006  projektem prostego menedżera baz danych (pierwotnie tylko SQLite 2), który jest już blisko fazy beta i obsługuje w jednolity sposób bazy SQLite 2 i 3, PostgreSQL, MySQL i teoretycznie (brak możliwości testu, z powodu braku sterownika) Firebird, za pomocą PDO. Umożliwia on przeglądanie baz danych - tabel, widoków, wyzwalaczy czy funkcji, eksport jej struktury, przeszukiwanie tabel, tworzenie, edycję i usuwanie jej elementów, eksport i oczywiście zapytania SQL. W najbliższym czasie ma on szansę wzbogacić się o wsparcie dla baz Oracle, dzięki Oracle Express Edition, darmowej, okrojonej i o trochę niższym numerze wersji wydaniu sztandarowej bazy danych firmy Oracle. O moduł jej obsługi mogą się także wzbogacić same statystyki eStats, w zależności od ilości wolnego czasu i postępu prac. Sam menedżer powinien pojawić się w wersji testowej w te wakacje, może jeszcze w lipcu.

147

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

Błąd polega na tym, że przy instalacji w niewyjaśnionych okolicznościach zmienna przechowująca prefiks tabel nie jest prawidłowo ustawiana w obiekcie reprezentującym połączenie z bazą, a jedynie w pliku konfiguracyjnym.
Postaram się to dokładniej zbadać, gdyż problem jest raczej powtarzalny na wybranych serwerach.

148

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

Może dane docierające do obiektu są niepoprawne?
Po linii:

function connect ($Test, $DBPrefix, $PConnect, $DBHost, $DBUser, $DBPass, $DBName) {

Wstaw:

echo '<pre>';
var_dump ($DBPrefix);
var_dump ($PConnect);
var_dump ($DBHost);
var_dump ($DBUser);
var_dump ($DBName);
var_dump ($DBPrefix);
echo '</pre>';

To wyświetli wartości tych zmiennych, może coś z nimi nie tak. Jeśli masz włączone stałe połączenie z bazą ($PConnect = 1), to spróbuj je wyłączyć.
Mnie nie będzie do piątku, jak zwykle zresztą

149

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

Tak, to. W oryginale jest jak podałem, to widocznie zostało po ostatnich testach.

150

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

Pozostaje chyba sprawdzić dokładniej samo zapytanie...
Po linii:

         $Result = $this->query ('SELECT * FROM `'.$this->Prefix.'configuration` WHERE `mode` = '.(int) $Mode);

Dodaj:

echo 'SELECT * FROM `'.$this->Prefix.'configuration` WHERE `mode` = '.((int) $Mode).'<br />';
var_dump ($Result);

W pierwszej linii wyświetli się zapytanie, spróbuj je wykonać w phpMyAdmin i sprawdź czy coś zwraca.
Jeśli nie, to je pokaż.
To co wyświetli się w kolejnej linii skopiuj