Open CatalinFrancu opened 10 years ago
O sa incerc eu sa ma ocup de acest feature. Am inceput deja, dar cum eu sunt la stadiul de noob o sa dureze ceva :-D
Am putea sa incercam sa folosim ceea ce foloseste si github - gravatar pentru cei care il au, identicoane pentru cei care nu. O sa incerc maine sa vad ce pot face in sensul asta, daca se poate.
Imi place ideea cu jCrop, e profesionist :-D. M-am apucat acum sa scriu niste cod, maine ar trebui sa termin daca nu busesc prea multe chestii
Ți-am asignat issue-ul, Teo. Eu nu mă omor după Gravatar, sau după ideea ca un site să depindă de alte site-uri. În special vreau să evităm asta pentru Varena, căci el va fi adesea rulat în spatele unui firewall, în timpul concursurilor oficiale. Amintiți-vă, astă-toamnă, la barajele pentru Șumen, că nu vă mergea partea de Captcha și nu vă puteți autentifica. Sau că nu vă arăta cât timp mai este până la începutul rundei, deoarece executa niște Javascript de pe un site extern.
Ok, acum am inceput sa inteleg cum merge treaba cat de cat, daca nu busesc prea rau pana diseara ar trebui sa imi iasa :D
LE: Am cam terminat, incerc sa gasesc buguri acum :D
Hai să ne tragem și poze. :-)
Mie mi-a plăcut mult jCrop. Îl putem folosi ca să impunem o rezoluție anume, un aspect ratio, ca să-i lăsăm să decupeze / scaleze o porțiune din imaginea încărcată etc.
Îl folosim la dexonline și merge bine, vezi template-ul și codul PHP.
Deocamdată hai să avem o singură poză, de 100x100 sau ceva standard, care să fie afișată în pagina utilizatorului. În timp, vedem ce alte mărimi ne trebuie și cum le implementăm (bine e ca toate thumbnail-urile să fie calculate din poza originală, nu unul din altul).
Pentru stocare, ar trebui să facem un director www/img/user, cu drepturi 777 pe el și cu un .gitignore ca să nu ne bată la cap cu pozele care vor apărea. Acolo pot sta pozele cu numele_<rezoluție>.jpg, de exemplu 1357_300x300.jpg.
Momentan nu este nevoie să stocăm nimic în baza de date. Aflăm dacă un utilizator are avatar direct cu file_exists().
În backend, aș folosi ImageMagick, fie prin biblioteca PHP (dacă există una), fie invocând direct programul extern „convert”.