Skrypt ogłoszeniowy Notice3

Skrypt strony www z ogłoszeniami online tylko dla profesjonalistów.

Skrypt Notice3 to nowoczesne i wszechstronne narzędzie przeznaczone do tworzenia stron internetowych z ogłoszeniami online. Można go wykorzystać w dowolnej kategorii ogłoszeń, jak również jako platformę do prezentacji nieruchomości, ofert noclegowych, ofert pracy lub jako katalog firm. Nasze doświadczenie zdobyte podczas tworzenia innych skryptów, takich jak Notice2, Holmes2, Festa2, oraz nasza interakcja z klientami prowadzącymi własne serwisy, zaowocowały stworzeniem skryptu, który najlepiej odpowiada potrzebom użytkowników i jego właściciela.

Dzięki Notice3 masz możliwość stworzenia portalu o zasięgu lokalnym, ogólnopolskim lub międzynarodowym. Rozbudowany panel administracyjny ułatwi Ci zarządzanie stroną i dostosowanie jej do własnych potrzeb. Notice3 został napisany z uwzględnieniem optymalizacji i pozycjonowania stron internetowych, co umożliwia szybkie osiągnięcie wysokiej widoczności w wynikach wyszukiwarek internetowych.

Skrypt oparty jest na frameworku Symfony 7 i zastosowano w nim zasadę MCV. Po stronie front-endu wykorzystano technologie VUE oraz Bootstrap 5.

Notice3 to narzędzie przeznaczone do profesjonalnych zastosowań, idealne do tworzenia dużych serwisów z ogłoszeniami online. Dzięki zastosowaniu podejścia MCV i oparciu o framework Symfony, jest on łatwy do rozbudowy i charakteryzuje się znakomitą wydajnością.

  • Rejestrację użytkowników, logowanie i resetowanie hasła, a także przydzielanie ról moderatora oraz administratora. Formularze są zabezpieczone przez reCAPTCHA.
  • Logowanie poprzez konta Facebook i Google.
  • Możliwość dodawania ogłoszeń oraz ich wyszukiwaia. Użytkownicy mogą również dodawać ogłoszenia do schowka.
  • Opcję płatnego wystawiania i promowania ogłoszeń, z integracją z Przelewy24, PayPal, HotPay, TPay, Payu, Autopay (Blue Media) , Paybylink, Revolut Pay oraz możliwość dokonywania płatności przelewem bankowym.
  • Wykorzystanie mapy Google do zaznaczania lokalizacji ogłoszeń.
  • System wewnętrznych wiadomości między użytkownikami.
  • Możliwość prowadzenia bloga na stronie oraz dodawania stron statycznych.
  • Zarządzanie wielopoziomową listą kategorii oraz regionów, z możliwością dodawania filtrów dla danej kategorii, np. w kategorii „Samochody Osobowe” można dodać filtry takie jak rocznik i przebieg, a w kategorii „Nieruchomości” ilość pięter i metraż.
  • Możliwość zmiany języka strony (strona może obsługiwać jedno wybrane język).
  • Wysyłanie mailingu do zarejestrowanych użytkowników lub osób zapisanych w newsletterze.
  • Wbudowany Porftel. Użytkownik ma możliwość doładowania portfela dowolną kwotą. Kwotę tą może użyć na wystawianie i promowanie ogłoszeń. Administrator ma możliwość edycji kwoty portfela u każdego użytkownika.
  • Tryb jasny / ciemny (dark mode).
  • Możliwość zapisu do newslettera.
  • Wyszukiwanie głosowe ogłoszeń (zależne od przeglądarki użytkownika)
  • Wysyłkę wiadomości z formularzy kontaktowych.
  • Dostęp do statystyk serwisu w panelu admina wraz z wykresami.
  • Generowanie sitemap (mapy strony).
  • Udostępnianie linku do kanału RSS FEED.
  • Dodawanie komentarzy do ogłoszeń przez zalogowanych użytkowników.
  • Dodawanie komentarzy do wpisów blogowych i stron profilu przez pośrednictwo Facebooka.
  • Przycisk umożliwiający kontakt przez Messenger na stronie ogłoszenia.
  • Generowanie własnej aplikacji PWA dla portalu.
  • Możliwość dodawania awatara i opisu na stronę profilu przez użytkowników.
  • Ustawienie opłat w zależności od długości trwania ogłoszenia.
  • Monitorowanie logów logowań, wysłanych maili, resetów haseł oraz wyświetleń ogłoszeń w panelu admina.
  • Posiadanie czarnej listy adresów email i adresów IP, z których nie można dodawać ogłoszeń, a także czarnej listy słów kluczowych, które zostaną usunięte z tytułu i treści ogłoszenia.
  • Podpowiedzi do wyszukiwarki ogłoszeń.
  • Możliwość ukrycia kontaktu w ogłoszeniach dla niezalogowanych użytkowników.
  • Możliwość zgłaszania naruszeń w ogłoszeniach przez klientów.
  • Licznik wyświetleń numeru telefonu i adresu email w ogłoszeniach oraz wpisów blogowych
  • Komunikat o RODO / ciasteczkach z możliwością dodania skryptów które mają się uruchamiać po zaakceptowaniu opcjonalnych plików Cookie

Aby obejrzeć demo skryptu, odwiedź stronę https://notice3.itworksbetter.net

Dane do logowania do panelu admina:
https://notice3.itworksbetter.net/admin
login: test
hasło: 1234

Jeśli interesuje Cię wersja anglojęzyczna skryptu, możesz sprawdzić demo pod adresem https://notice3en.itworksbetter.net/

Dane do logowania do panelu admina w wersji anglojęzycznej:
https://notice3en.itworksbetter.net/admin
login: test
hasło: 1234

Jeśli chcesz zakupić ten skrypt, jest on dostępny na stronie https://sklep.itworksbetter.net/skrypty-stron-www/1-skrypt-ogloszeniowy-notice3.html

Przykładowe strony stworzone przy użyciu tego skryptu to: petworld.pl, katalogofert.pl, lamusownia.pl, odsprzedaj.pl, gieldaokien.pl, trafnaokazja.pl, twojaoferta.com.pl

Notice3 został opracowany w oparciu o Symfony 7. Dlatego też posiada wyższe wymagania niż inne skrypty, jednak jest znacznie bardziej wydajny. Klienci, którzy zamierzają dokonywać samodzielnych zmian w serwisie, muszą posiadać bardzo dobrą znajomość PHP oraz JavaScript.

Wymagania serwera:

  • PHP w wersji co najmniej 8.2. memory limit min. 512M
  • Baza danych MySQL, MariaDB, PostgreSQL lub podobna.
  • SSH (wiersz poleceń) z dostępem do Composera.
  • Możliwość konfiguracji zadań cron poprzez polecenia PHP.
  • Możliwość zmiany katalogu na który ma wskazywać domena.
  • Włączony moduł MOD Rewrite.
  • Symfony wymaga, aby na serwerze było dostępne polecenie proc_open oraz proc_close.

Aby sprawdzić, czy na Twoim hostingingu można zainstalować skrypt, warto przetestować możliwość instalacji Symfony, zgodnie z instrukcjami dostępnymi pod adresem https://symfony.com/doc/current/setup.html

Obsługiwane hostingi:

  • Cyber Folks
  • LH.pl (pakiety: Kiwi, Mango lub Apple. Musi być wyłączona funkcja „Bezpieczny PHP na serwerze” żeby działał proc_open)
  • SmartHost
  • Kylos (zalecają VPS ze względu na wydajność skryptu Composera)
  • OVH (oferta PRO, z gwarantowaną pamięcią od oferty Performance1)
  • Zenbox (Hosting Ebiznes 25k lub Hosting profesjonalny, brak możliwości ustawienia katalogu z poziomu panelu admina – zobacz niżej „Znane problemy” jak ustawić żeby domena wskazywała na katalog public, należy usunąć z disable functions open_proc, close_proc i escapeshellarg)
  • AttHost (nie zaznaczaj „Odizoluj stronę” w ustawieniach strony)
  • AfterMarket (od pakietu Biznes, aby zmienić katalog, na który wskazuje strona, skontaktuj się z obsługą klienta)
  • Nazwa.pl (sugerują co najmniej VPS Start)
  • SeoHost (należy napisać do nich żeby odblokowali SSH i odblokować proc_open i proc_close w pliku php.ini)
  • Hostido (od pakietu NVME 2)
  • dhosting (zalecają EWH, należy wyłączyć PHP OPEN_BASEDIR)

Ze względu na to, że każda firma oferuje różne wersje hostingu, zawsze zaleca się wcześniejsze upewnienie się, czy hosting obsłuży projekt oparty na Symfony 7.

Hostingi, które teoretycznie mogą obsłużyć skrypt, choć konsultanci tego nie gwarantują:

  • Home.pl (SSH dostępne tylko od pakietu Biznes w górę, dostępna mała ilość pamięci, 256 lub 512 MB, niestandardowe dodawanie zadań crona, poprzez odpowiednio nazwany plik PHP)
  • Hostinger (w podstawowej wersji dostępna mała ilość pamięci, maksymalnie 512 MB, wersja biznesowa działa, zobacz na dole strony „Znane problemy” jak ustawić żeby domena wskazywała na katalog public)
  • az.pl (dostępna mała ilość pamięci do aktualizacji Composera, sugerują korzystanie z VPS)
  • ProSerwer.pl – (pakiet PRO lub wyższy) – brak możliwości ustawienia zadania crona jako linii poleceń PHP, wymagane stworzenie kontrolera dla crona.

Nieobsługiwane hostingi:

  • Kei.pl (odpowiedź konsultanta: „Zwykły hosting nie spełni wymagań, jedynie VPS”),
  • WEBD.pl (mają wyłączone proc_open)

Instalacja skryptu przypomina instalację standardowego projektu stworzonego w Symfony 7. Pełną dokumentację frameworka znajdziesz pod adresem https://symfony.com/

Po zakupie skryptu otrzymasz archiwum z plikami. Należy je skopiować na serwer.

Domena powinna wskazywać na katalog public/ w plikach skryptu. Na przykład, jeśli wgrywasz pliki do katalogu /home/test/domains/domena.pl/public_html/ ustaw domenę, aby wskazywała na /home/test/domains/domena.pl/public_html/public/

Plik .env to główny plik konfiguracyjny systemu. Należy go skonfigurować przed rozpoczęciem użytkowania strony. Oto niektóre ważne pola w pliku .env:

APP_ENV – powinno mieć wartość „prod”

APP_SECRET – losowy ciąg znaków, można go wygenerować poleceniem app:regenerate-app-secret

MAILER_DSN – ścieżka wysyłki maili. Domyślnie ma wartość sendmail://localhost, co oznacza, że maile są wysyłane z localhost. Aby zmienić na wysyłkę przez SMTP, można ustawić np.:

MAILER_DSN=smtp://user:pass@smtp.example.com:port

Więcej informacji znajdziesz pod adresem https://symfony.com/doc/current/mailer.html

Wypełnij dane do połączenia z bazą danych. Jeśli hasło zawiera znaki specjalne, umieść je w cudzysłowiach. Oto przykład:

DATABASE_HOST=127.0.0.1
DATABASE_PORT=3306
DATABASE_USER=root
DATABASE_NAME=notice3
DATABASE_PASS=''
DATABASE_SERVER_VERSION=5.7

Wersja serwera bazy danych jest polem wymaganym. Wersję można sprawdzić, wykonując w bazie danych polecenie SELECT VERSION().

Więcej informacji znajdziesz pod adresem https://symfony.com/doc/current/configuration.html

APP_DEMO – czy ma być włączone demo panelu admina, domyślnie powinno być ustawione na 0

APP_URL – adres URL witryny (używany m.in. w linkach w mailach o końcu wyświetlania ogłoszenia, nie powinien zawierać znaku / na końcu)

APP_LANG – kod języka strony (domyślnie en lub pl)

Po skonfigurowaniu pliku .env, uruchom następujące polecenie w konsoli do instalacji pakietów (upewnij się, że używasz PHP w wersji co najmniej 8.2 i że jest to ta sama wersja, którą ma ustawioną domena):

composer install

Jeśli na hostingu nie masz zainstalowanego Composera, możesz skorzystać z tej instrukcji:

curl -sS https://getcomposer.org/installer | php

W takim przypadku poniższego polecenia (pod „php” na niektórych hostingach trzeba podać pełną ścieżkę do php na serwerze):

php composer.phar install

Jeśli wystąpi problem z brakiem pamięci, możesz wykorzystać następujące polecenie:

php -d memory_limit=-1 composer.phar install

Jeśli pakiety zainstalowały się poprawnie, kontynuuj do kolejnego kroku. W przypadku błędów (np. brak pamięci lub proces został zatrzymany) skontaktuj się z administratorem serwera.

Wygeneruj nowy kluczy prywatny poleceniem:

php bin/console app:regenerate-app-secret

Następnie wypełnij bazę danych, wykonując polecenie:

php bin/console doctrine:migrations:migrate

Kolejnym krokiem jest dodanie użytkownika z uprawnieniami administratora za pomocą polecenia:

php bin/console app:create-user

Skrypt zapyta o login, adres email oraz hasło. Adres email zostanie automatycznie ustawiony na adres email administratora.

Teraz możesz zalogować się do panelu administratora, dodając /admin do URL swojej domeny.

Zaleca się również skonfigurowanie kluczy reCAPTCHA, zgodnie z instrukcją

Konfiguracja crona:

Aby skonfigurować crona, należy ustawić następujące zadania crona z PHP w wersji co najmniej 8.2.

Raz dziennie po północy:

php [sciezka do strony]/bin/console cron:daily

Co 10 minut:

php [sciezka do strony]/bin/console cron:10min

Zobacz także ogólną instrukcję odnośnie konfiguracji, integracji z płatnościami i inne informacje na stronie https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/

Jeśli Twoja strona korzysta z SSL, w pliku public/.htaccess odkomentuj (usuń znak # z początku linii) następujące dwie linie:

RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Następnie w pliku .env ustaw wartość APP_URL aby zaczynała się od https.

Jeśli ustawisz APP_URL z „www” na początku, usuń te linie w pliku public/.htaccess:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1%{REQUEST_URI} [R=301,QSA,NC,L]

Zamiast nich wstaw:

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Zobacz instrukcję dotyczącą uruchomienia reCAPTCHA na stronie https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#uruchomienie_recaptcha

Skrypt może być uruchomiony w jednym języku. Pliki z tłumaczeniami znajdują się w katalogu /translations. Kategorie, regiony i filtry muszą być ręcznie przetłumaczone w panelu administratora. Domyślny język można zmienić w pliku .env w zmiennej APP_LANG.

Jeśli ustawisz inny język niż „pl” lub „en”, pamiętaj o przetłumaczeniu adresów URL w kontrolerach (w plikach .php w katalogu /src/Controller).

Więcej informacji znajdziesz w dokumentacji https://symfony.com/doc/current/translation.html

Aby poprawnie skonfigurować płatności przez Przelewy24, PayPal, HotPay, TPay, PayU lub Blue Media, proszę zajrzeć do instrukcji dostępnej pod adresem https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#platnosci

Aby umożliwić użytkownikom logowanie za pomocą swojego konta Facebook lub Google, należy utworzyć odpowiednie aplikacje na swoich kontach Facebook i Google.

Link do instrukcji dotyczącej logowania przez Facebook: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_fb

Jako adres URI do przekierowania, proszę wpisać: https://nazwa-domeny/logowanie/fb

Link do instrukcji dotyczącej logowania przez Google: https://blog.wyremski.pl/instrukcja-instalacji-i-konfiguracji-skryptow/#logowanie_google

Jako adres URI do przekierowania, proszę wpisać: https://nazwa-domeny/logowanie/google

Skrypt wykorzystuje bibliotekę LiipImagineBundle do generowania miniatur zdjęć. Pierwsze wyświetlenie miniaturki może chwilę potrwać, zależnie od szybkości serwera. Plik konfiguracyjny znajduje się w lokalizacji /config/packages/liip_imagine.yaml.

W pliku konfiguracyjnym można dostosować wymiary miniaturek zdjęć w ogłoszeniach. Dodatkowo istnieje możliwość dodania znaku wodnego do tych zdjęć, zgodnie z https://symfony.com/bundles/LiipImagineBundle/current/filters/general.html#filter-watermark

Aby oczyścić cache zdjęć na serwerze, wykonaj następujące polecenie:

php bin/console liip:imagine:cache:remove

W ten sposób biblioteka wygeneruje nowe miniaturki.

Skrypt wymaga aktualnej wersji biblioteki GD Library, która obsługuje format WEBP.

Więcej informacji dostępnych jest pod adresem https://symfony.com/bundles/LiipImagineBundle/current/index.html

Skrypt jest wstępnie skonfigurowany, aby działać jako aplikacja PWA (Progressive Web App). Po zainstalowaniu skryptu możesz dostosować tytuł, kolor i inne dane aplikacji w pliku public/manifest.json.

Należy również zamienić ikonki w folderze public/uploads/icons na odpowiednie ikony w różnych rozmiarach. Możesz skorzystać z narzędzi online do generowania ikonek, takich jak https://tools.crawlink.com/tools/pwa-icon-generator/

Po zamianie ikonek, konieczne będzie wyczyszczenie pamięci podręcznej na telefonie lub komputerze.

W pliku public/offline.html możesz edytować tekst wyświetlany, gdy brakuje połączenia z Internetem.

Choć do obsługi strony wystarczy sama dobra znajomość obsługi Internetu, aby dokonywać indywidualnych zmian w plikach, warto posiadać wiedzę z zakresu PHP, a najlepiej znać framework Symfony. Poniżej zamieszczam listę niektórych z często używanych poleceń.

Usuwanie cache’u produkcyjnego (po np. zmianach w szablonie)

php bin/console cache:clear --no-warmup -e prod

Tworzenie nowego kontrollera

php bin/console make:controller BrandNewController

Tworzenie nowej encji i aktualizacja bazy danych

php bin/console make:entity
php bin/console make:migration
php bin/console doctrine:migrations:migrate

Autor skryptu, na prośbę klienta, może dostarczyć najnowszą wersję skryptu, ale to klient jest odpowiedzialny za przeprowadzenie aktualizacji.

Uwaga! Przed aktualizacją skryptu wykonaj kopię zapasową plików i bazy danych. Aktualizacja nadpisze wszystkie indywidualnie wprowadzone modyfikacje. Aktualizację przeprowadzaj na własne ryzyko.

Sprawdź wersję PHP na serwerze – zazwyczaj wyższa wersja skryptu wymaga wyższej wersji PHP.

Uwaga! Od wersji 3.10.0 w skrypcie używany jest Symfony 7 który inaczej zapisuje w bazie pola typu JSON. Z tego wzglęu przy aktualizacji ze starszej wersji należy ręcznie w panelu admina usunąć wszystkie wartości filtrów (np przekopiować do notatnika) a po aktualizacji wkleić je ponownie. Nie zostaną utracone powiązania ogłoszeń z filtrami. Do tego należy zaktualizować role w tabeli z użytkownikami na wartość [„ROLE_USER”] lub [„ROLE_ADMIN”,”ROLE_MODERATOR”,”ROLE_USER”].

Aby zaktualizować skrypt, należy postępować zgodnie z poniższymi krokami:

  1. Usuń z serwera następujące katalogi:
    /bin/
    /config/
    /migrations/
    /public/assets/
    /src/
    /templates/
    /translations/
    /var/
    /vendor/
  2. Następnie wgraj na serwer wszystkie pliki i katalogi z nowszej wersji skryptu.
  3. Zainstaluj od nowa biblioteki (jeśli w nowej wersji dodano nowe pakiety) za pomocą polecenia:
    composer install
  4. Wykonaj aktualizację bazy danych (jeśli to konieczne) za pomocą polecenia:
    php bin/console doctrine:migrations:migrate

3.0.0 (23.08.2020)Premiera skryptu
3.0.1 (22.09.2020)Aktualizacja pakietów, linki do podstron po angielsku, naprawienie drobnych błędów przy edycji ogłoszenia
3.0.2
(24.09.2020)
Przetłumaczalne szablony maili, autofocus do pierwszych pól formularzy, naprawa problemu z przekierowaniem po zapisaniu podregionu lub podkategorii, naprawa ustawiania pozycji po edycji stron statycznych, możliwość ustawienia domyślnego regionu, adresu oraz telefonu w ustawieniach użytkownika
3.0.3
(14.10.2020)
Wprowadzenie kanału RSS FEED, wyszukiwarki ogłoszeń w panelu administracyjnym oraz na liście użytkowników. Przy aktywacji konta przydzielenie wszystkich ogłoszeń z danego adresu email do użytkownika. Wprowadzenie adresów URL po polsku i angielsku. Aplikacja PWA.
3.1.0
(23.10.2020)
Optymalizacja ładowania kategorii i regionów. Możliwość dodawania „podobnego ogłoszenia”. Alfabetyczne układanie kategorii, regionów oraz stron statycznych w panelu administracyjnym. 3 nowe pola na kody reklam. Automatyczne generowanie Sitemap (przez zadania crona). Możliwość komentowania ogłoszeń, profilów, wpisów blogowych przez Facebooka. Przejście z jQuery Lazy do Vue Lazy. Wyświetlanie liczby ogłoszeń w kategoriach.
3.1.1
(19.11.2020)
Poprawki w generowaniu sitemap. Usunięcie zbędnych tokenów. Uporządkowanie helperów klas i wspólna klasy do captchy oraz do maili. Możliwość dodawania administratorów z poziomu konsoli.
3.2.0
(03.12.2020)
Możliwość dodawania awatara do konta użytkownika oraz opisu na stronę profilu. Możliwość ustawienia opłat w zależności od długości trwania ogłoszenia. Integracja z płatnościami HotPay.
3.3.0
(12.01.2021)
Natywne lazyload do obrazków. Udostępnianie ogłoszeń przez WhatsApp. Logi logowania użytkowników, wysłanych maili i resetu hasła w panelu admina. Kolejkowanie wysyłki maili. Wysyłka mailingu z panelu admina. Możliwość edycji i usuwania ogłoszeń dodanych przez niezalogowanych użytkowników. Poprawki wizualne. Zaznaczanie naraz wielu ogłoszeń i użytkowników w panelu admina. Breadcrumbs (nawigacja okruszkowa) na liście ogłoszeń.
3.3.1
(11.02.2021)
Aktualizacja pakietów. Drobne poprawki funkcjonalności i stylów CSS na mobile. Micro dane dla ogłoszeń.
3.3.2
(01.03.2021)
Wyświetlanie ceny zależnie od kategorii (max 2 poziom kategorii).
3.3.3
(06.05.2021)
Możliwość sortowania ogłoszeń. Poprawa dostępności (dodanie atrybutów aria). Poprawa jakości kodu PHP i JS. Odseparowanie klas PHP z formularzami. Wprowadzenie BaseController.
3.3.4
(19.05.2021)
Zmiany w sortowaniu ogłoszeń. Własny skrypt resetu hasła. Zmiana wyglądu listy ogłoszeń na mobile.
Możliwość ustawiania tytułu SEO dla kategorii. Poprawki przy ładowaniu kategorii na liście ogłoszeń.
3.3.5
(28.06.2021)
Drobne poprawki w sortowania i filtrowaniu ogłoszeń. Aktualizacja do Symfony 5.2
3.4.0
(05.07.2021)
Poprawki w ładowaniu kategorii i filtrów, w CSS oraz w microdata. Ikony do przeglądarek. Generowanie miniaturek w WEBP. Optymalizacja zapytań do bazy danych. Zmiana slajdera z OWL na Swiper.
3.4.1
(07.07.2021)
Wspólne ustawienia waluty do płatności. Zmiana slajdera pełnoekranowego. Możliwość logowania przez konto Facebook i Google.
3.4.2
(12.08.201)
Poprawki w wyświetlaniu filtrów, zapamiętywanie ich widoczności. Zmiana wyglądu maili.
Zapisywanie liczby wyświetleń ogłoszenia. Style dla drukarek. Wykres statystyk w panelu administracyjnym. Zgłaszanie naruszeń w ogłoszeniach. Czarna lista adresów email, IP i słów kluczowych.
3.5.0
(24.08.2021)
Aktualizacja do Symfony 5.3. Przejście z Bootstrap 4 do Bootstrap 5.
3.5.1
(19.09.2021)
Poprawki nazw zmiennych. Drobne poprawki wizualne.
3.5.2
(21.10.2021)
Komunikat o Cookie. Wartości filtrów w adresie URL po przecinku. Dodanie indeksów do bazy danych. Usuwanie logów płatności.
3.5.3
(28.10.2021)
Aktualizacja klas uwierzytelniania do Symfony 5.3
3.5.4
(15.11.2021)
Zmiany w slajderze ogłoszenia. Link do edycji ogłoszeń dla moderatorów. Poprawione linki do udostępniania w mediach społecznościowych. Dodanie przycisku do przewijania na górę strony. Przejście na Vue 3.
3.5.5
(10.12.2021)
Dodanie nowych indeksów w bazie danych.
3.6.0
(03.01.2022)
Moduł newsletteru. Lista zapisanych do newsletteru w panelu administracyjnym. Podpowiedzi do wyszukiwarki. Możliwość ukrycia danych kontaktowych ogłoszenia dla niezalogowanych.
3.6.1
(14.04.2022)
W nawigacji okruszkowej na liście ogłoszeń wszystkie poziomy regionów i kategorii. Avatar w pasku menu.
3.6.2
(22.04.2022)
Aktualizacja pakietów. Optymalizacja kodu HTML. Canonical na liście ogłoszeń. Numer strony w title. Poprawa breadcrumb. Lepsze podpowiedzi do wyszukiwarki na stronie głównej.
3.6.3
(03.10.2022)
Poprawa płatności Przelewy24. Poprawa wyświetlania paginacji i strony ogłoszenia na urządzeniach mobilnych.
3.6.4
(25.10.2022)
Aktualizacja Bootstrap, FontAwesome, Axios i Swiper. Poprawa wyświetlania zdjęć w ogłoszeniach.
3.6.5
(30.01.2023)
Poprawki w wyszukiwaniu ofert i użytkowników.
3.6.6
(05.02.2023)
Usunięcie systemu płatności DotPay. Przebudowa klas płatności.
3.7.0
(22.02.2023)
Wprowadzenie płatności TPay, Payu oraz Blue Media. Możliwość zaznaczania wielu filtrów w panelu admina.
3.7.1
(12.04.2023)
Aktualizacja do Symfony 5.4. Aktualizacja Recipes w Symfony. Poprawa tłumaczeń, SEO oraz sformatowanie kodu JS. Poprawa microdata dla ogłoszeń.
3.7.2
(15.04.2023)
Czarna lista używana także w formularzu kontaktowym ogłoszenia. Rozdzielenie kodu w body za tagiem otwierającym i przed zamykającym. Zapisywanie daty uruchomienia crona. Zmiana wyglądu listy ogłoszeń. Dodanie nowych miejsc reklamowych. Możliwość podania całej domeny dla czarnej listy adresów email. Wyświetlanie liczby rekordów w panelu admina nad paginacją. Przebudowa reCAPTCHA.
3.7.3
(26.04.2023)
Poprawa microdata i „Bez ceny”. Paginacja ogłoszeń w Sitemap. Zapisywanie prawdziwej daty zakończenia wyświetlania ogłoszenia. Wybór czy wyświetlać liczbę wyświetleń ogłoszenia.
3.7.4
(20.05.2023)
Poprawa microdata w ogłoszeniach. Możliwość wyszukiwania w logach wysłanych maili.
3.8.0
(16.08.2023)
Nowa minimalna wersja PHP: 8.1. Wprowadzenie alternatywy dla deprecated getDoctrine(). Upgrade Annotations to Attributes. Aktualizacja bibliotek CSS, JS oraz pakietów composera. Dodanie aria-label do przycisków. Natywne komentarze do ogłoszeń. Poprawa wyglądu na mobile. Kontakt przez Messenger.
3.8.1
(28.08.2023)
Poprawa błędów zwracanych podczas logowania przez FB i Google. Nowe ikony kategorii. Aktualizacja UserPasswordEncoderInterface. Dodanie atrybutu title do wszystkich linków.
3.8.2
(31.08.2023)
Mapa Google na stronie z ogłoszeniem. System wewnętrznych wiadomości dla zalogowanych użytkowników. Dodanie constraints do klas PHP formularzy.
3.8.3
(18.10.2023)
Dodano całkowitą kwotę płatności do statystyk. Dokonano poprawek w formularzach ustawień użytkownika, rejestracji oraz dodawania ogłoszeń. Dodano ikonki do menu. Podczas usuwania ogłoszenia lub użytkownika w panelu admina, dodano opcje wyboru, czy dodać adres IP i adres e-mail do czarnej listy. Dodano funkcjonalność płatności przelewem oraz możliwość zatwierdzania płatności w panelu admina. Utworzono także podstronę zawierającą listę płatności dokonanych przez użytkownika.
3.9.0
(27.10.2023)
Aktualizacja do Symfony 6.3. Aktualizacja recipes. Użycie zmiennych w CSS.
3.9.1
(06.12.2023)
Wyświetlanie ile osób dodało do schowka ogłoszenie. Poprawki w tłumaczeniach. Wyłączenie w lazyload dla głównych obrazków. Aktualizacja Swiper. Poprawki w wyświetlaniu reklam na urządzeniach mobilnych.
3.9.2
(13.12.2023)
Możliwość wyboru filtrów w kategoriach wszystkich stopni (nie tylko do maksymalnie drugiego stopnia). Możliwość dodawania załączników do maili z formularza kontaktowego. Aktualizacja do FontAwesome 6. Wprowadzenie trybu ciemnego (dark mode).
3.9.3
(19.01.2024)
Poprawki w usuwaniu zdjęć na urządzeniach mobilnych. Poprawki w filemanager oraz w iframe dodawanych w CKEditor.
3.9.4
(04.03.2024)
Poprawa wyświetlenia trybu ciemnego. Wybór kodu waluty z listy w ustawieniach w panelu administracyjnym. Dodanie statystyk ilości wiadomości i komentarzy. Dodanie microdata do nawigacji okruszkowej na liście ogłoszeń.
3.9.5
(13.04.2024)
Poprawa zwracania wyjątków w InvalidCsrfTokenException. Poprawki przy aktywacji ogłoszeń. Zrzuty ekranu w manifest. Możliwość aktualizacji klucza aplikacji.
3.9.6
(30.04.2024)
Aktualizacja bibliotek JS, CSS i PHP. Pokazywanie ilości wyświetleń wpisów blogowych.
Korzystanie z natywnego trybu ciemnego w Bootstrap. Aktualizacja Symfony z 6.3 do 6.4
Aktualizacja recipes.
3.9.7
(01.05.2024)
Wyświetlanie użytkownikowi ile razy został odkryty numer telefonu i adres email w ogłoszeniu. Dodanie przycisku do natywnego udostępniania ogłoszeń.
3.9.8
(07.05.2024)
Mikrodane we wpisach blogowych. Ulepszenia w komunikatach resetu hasła oraz rejestracji (ukrywanie informacji że email nie istnieje). Aktualizacja ORM Doctrine.
3.10.0
(03.07.2024)
Aktualizacja do Symfony 7.1. Aktualizacja recipes. Dodanie w panelu admina w statystykach: suma płatności na dzień. Dodanie nagłówków bezpieczeństwa w .htaccess.
Nowa minimalna wymagana wersja PHP: 8.2
3.11.0
(14.10.2024)
Funkcjonalność portfela. Nowa ikona menu mobilnego. Zmiany wizualne na liście ogłoszeń. Poprawa nazw pól w encjach.
3.11.1
(05.11.2024)
Zmiany w wyświetlaniu listy ogłoszeń i paginacji. Ukrywanie szczegółów płatności na liście logów w panelu admina.
Zmiany w oknie o RODO: wybór dla użytkownika niezbędnych i opcjonalnych Cookie.
3.11.2
(12.11.2024)
Naprawa błędu gdy użytkownik w pole nazwa doda same spacje lub twarde spacje. Optymalizacja kodu PHP i JS.
3.12.0
(18.11.2024)
Optymalizacja kodu PHP. Wyszukiwanie głosowe ogłoszeń. Region na liście ogłoszeń na stronie głównej. Płatności przez paybylink.pl oraz przez Revolut Pay.

Aby włączyć wyświetlanie błędów na ekranie należy w pliku .env zmienić APP_ENV=prod
na

APP_ENV=dev

W wersji produkcyjnej należy wrócić do „prod”. Logi błędów można także podejrzeć w pliku /var/log/dev.log oraz /var/log/prod.log

Przy instalacji pakietów wyświetla „requires ext-zip * -> it is missing from your system. Install or enable PHP’s zip extension.”

Należy z konsoli zainstalować:

sudo apt-get install php8.2-zip

(gdzie 8.2 to wersja PHP)
Jeśli wyświetla bład z „ext-xml” należy uruchomić:

sudo apt-get install php-xml

Przy próbie wysłania maila (np. przy aktywacji ogłoszenia, rejestracji) wyświetla błąd.

Domyślnie w pliku .env jest ustawiona wysyłka maili z localhost:

MAILER_DSN=sendmail://localhost

Jeśli Twój serwer tego nie wspiera musisz ustawić wysyłkę przez np. SMTP:

MAILER_DSN=smtp://user:pass@smtp.example.com:port

Więcej informacji pod https://symfony.com/doc/current/mailer.html

Przy próbie migracji bazy danych wyświetla „An exception occured in driver: could not find driver with mysql”

Należy zainstalować sterownik mysql:

sudo apt install php-mysql

Symfony Make:Migration: The metadata storage is not up to date, please run the sync-metadata-storage command to fix this issue

W pliku konfiguracyjnym /config/packages/doctrine.yaml podana została nieprawidłowa wersja serwera bazy danych.

Wskazanie katalogu public dla domeny (np. Hostinger, Zenbox)

Niektóre hostingi nie umożliwiają wskazania katalogu dla domeny. Należy do nich np. Hostinger i Zenbox. Aby w tej sytuacji ustawić domenę żeby wskazywała na katalog public należy w katalogu public_html stworzyć plik .htaccess z takim kodem (podmieniając nazwę domeny na własną):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]

Problem z polskimi znakami w bazie danych

Problem pojawił się po imporcie gotowej bazy danych z jednego hostingu na hosting home.pl. Stare dane pobierane z bazy danych nie wyświetlały poprawnie polskich znaków. Rozwiązaniem okazało się dodanie do pliku config/packages/doctrine.yaml
doctrine:
dbal:
options:
1002: „SET NAMES 'UTF8′ COLLATE 'utf8_unicode_ci'”

Nie tworzą się zdjęcia, nie zostały załadowane style bibliotek np. edytora wizualnego

Skrypt musi mieć prawa dostępu do zapisu w folderze public. Zarówno composer przy instalacji pakietów jak i później Symfony przy uruchomionej stronie. Należy ustawić prawa dostępu 0777 dla folderu public.

Strona nie działa, wyświetla błąd: require(): open_basedir restriction in effect.

Błąd może się pojawić na hostingach AttHost po zaznaczeniu „Odizoluj stronę” w ustawieniach strony www. Należy ją odznaczyć.

Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close