Cześć wszystkim.
Kilka dni temu pytalem na mikro, dlaczego robiąc funkcję remember me, nie jest generowane ciasteczko. Otóż sytuację z ciasteczkiem dało się rozwiązać. Już się generuje. Problem jest teraz inny, jeżeli wywalam ciasteczko PHPSESSID, a REMEMBERME nadal jest ważne, to użytkownik zostaje wylogowany. Czyli wychodzi na to, że #symfony2 nie sprawdza czy jest ciasteczko REMEMBERME, a użytkownik jest zalogowany tylko tyle czasu ile sesja jest aktywna. W jaki sposób zmusić
Widzisz, mam 2 ciasteczka. Jedno to PHPSESSID, które jest ważne dopóki nie skończy się sesja, a drugie to REMEMBERME, które wygasa za miesiąc.
Nie wiem czy poprawnie rozumiem jak działa remember me, ale moim zdaniem ma być tak:
a) 'remember me' jest odznaczone = jestem zalogowany póki trwa sesja (wylogowuje mnie, jak PHPSESSID traci ważność).
b) 'remember me' jest zaznaczone = jestem zalogowany, póki ciasteczko REMEMBERME jest ważne.

Jeżeli wszystko zależy od
mariecziek - Widzisz, mam 2 ciasteczka. Jedno to PHPSESSID, które jest ważne dopóki n...

źródło: comment_yYgvAzI4qic2ZVT4jlB2HLiEw2x6WxkS.jpg

Pobierz
  • Odpowiedz
Próbuję zrobić logowanie się na stronę przy pomocy HWIOAuthBundle i FOSUserBundle. Facebooka skonfigurowałem korzystając tego tutorialu. Wszystko działa (tak jakby). Potrzebuję jeszcze logowania się przy pomocy Twittera. I tu pojawiają się schody.
Dodałem w config.yml parametry twittera. Dodałem path w security.yml, Dodałem funkcję (która nic nie robi, ale inaczej nie działało logowanie się przez FB, więc dodałem i dla Twittera). Dodałem case w OAuthUserProvider. Zaktualizowałem encję i zaktualizowałem DB. Na początku wszystko
Kolejny dzień nauki sf2…
Mam w bazie danych 2 tablice:
1. article
id | userid | smallimage | largeimage | created | updated
2. article
translations
id | article_id | locale | field | content

W drugiej tabelce zapisuję dane w taki sposób:
http://i.share.pho.to/5dce7036_o.png

Zrobiłem już dodawanie, usuwanie i wyświetlanie listy dodanych elementów, teraz robię edycję istniejących wpisów i napotkałem taką trudność, że nie potrafię wypełnić pól w formularzu
@mariecziek: bundle to paczki tworzone przez społeczność, jakby pluginy. Jeśli tworzysz swój kod nie musisz go bundlować. Dokumentacja symfony jest 10/10 i jest dokładnie opisane jak możesz napisać własne logowanie, ale fosuserbundle jest już napisany i sprawdzony w dziesiątkach tysięcy projektów.
  • Odpowiedz
@mer: tylko doctrine pobiera całe obiekty i wchodzi do gry orm xd querybuilderem możesz ustalić że ma nie być hydracji i skorzystac z partiali
  • Odpowiedz
Witam mirków.
Znam trochę #php ale teraz muszę się podszkolić z #sf2. Chcę zrobić logowanie się na stronę. Korzystając z cookbook zrobiłem rejestrację użytkownika, teraz chcę zrobić logowanie. Korzystam z tego:http://symfony.com/doc/current/cookbook/security/form_login_setup.html
Ale po wprowadzeniu danych logowania się i wysłaniu ich otrzymuję błąd:

The controller must return a response (null given). Did you forget to add a return statement somewhere in your controller?

Nie rozumiem ocb, bo w coockbook napisane, że
#symfony #symfony2 #doctrine #mysql #postgresql

Taka sprawa... chcę użyć innego niż domyślnego (public) schematu z #pgsql.
Doczytałem, że można to zrobić przez annotacje @Table(schema="schema") ale to jest dosyć "statyczne" rozwiązanie i byłoby lepiej/prościej wprowadzić ten parametr jako parametr w parameters.yml niźli dla każdej encji osobno... (Annotacja w encji mogłaby nadpisywać dla danej encji schemat).
Jak to zrobić i dlaczego do tej pory nikt z #sf2 tego nie wprowadził?
@qwelukasz: to zależy. MySQL ma dopiero od wersji 5.7 potrafić indeksować dane geometryczne przechowywane w InnoDb, więc jeżeli to był Twój plan, to musisz poczekać. Jeżeli natomiast będą to tylko i wyłącznie lat/lng i nie planujesz stosować jakichś super skomplikowanych operacji, możesz użyć do tego celu decimal/float spokojnie ze zwykłym indeksem.
  • Odpowiedz
@qwelukasz:

/**
* @var string
*
* @ORM\Column(name="latitude", type="decimal", precision=10, scale=8, nullable=true)
*/
private $latitude;

/**
* @var string
*
* @ORM\Column(name="longitude", type="decimal", precision=11, scale=8, nullable=true)
*/
private $longitude;
  • Odpowiedz
#sf2 #symfony2
http://symfony.com/doc/current/best_practices/web-assets.html

Czemu w web trzymać assety?
Czy jak trzymam w bundle/resources i zrobię symlinka to jest bardzo źle?
Wydaje mi się, że ten sposób jest łatwiejszy do ogarnięcia w przypadku kilku projektów w jednej instalacji. Dzięki temu mogę np. mieć kilka plików o takiej samej nazwie (np. main.css, sidebar.css, itp)..
chyba że w web zrobię web\MyBoundle\css ale i tak bym grupował ale nie widzę za bardzo sensu... może ktoś coś
@qwelukasz: Tak. Ale lepiej skonfiguruj to globalnie, jeżeli chcesz go używać wszędzie. Ten szablon sprawia, że elementy html są dostosowane do bootstrapa (tj. mają odpowiednie klasy). Oprócz tego musisz oczywiście załadować jeszcze bootstrapa na własną rękę.
  • Odpowiedz
Tak. Ale lepiej skonfiguruj to globalnie, jeżeli chcesz go używać wszędzie.


@Damian1998: w sensie skopiować ten fragment kodu do szablonu głównego, po którym dziedziczę szablon strony?
Czy lepiej zrobić to z posiomu app/config/config.yml?
  • Odpowiedz