From a846fa104fe0c736683bc8584c64713c9d881317 Mon Sep 17 00:00:00 2001 From: Guillaume HESS Date: Thu, 26 Feb 2026 16:24:47 +0100 Subject: [PATCH] Ajustement de la partie ajout/modif/suppression des projets --- entities/project_entity.php | 16 +++++------ models/project_model.php | 29 ++++++++++---------- models/user_model.php | 5 +++- uploads/projects/69a049e86a0f4.webp | Bin 0 -> 5946 bytes uploads/projects/69a049e8834a4_gallery.webp | Bin 0 -> 3308 bytes views/_partial/preview.tpl | 4 +-- views/home.tpl | 6 ++-- 7 files changed, 31 insertions(+), 29 deletions(-) create mode 100644 uploads/projects/69a049e86a0f4.webp create mode 100644 uploads/projects/69a049e8834a4_gallery.webp diff --git a/entities/project_entity.php b/entities/project_entity.php index 6e7e944..b77c134 100644 --- a/entities/project_entity.php +++ b/entities/project_entity.php @@ -7,17 +7,17 @@ require_once("mother_entity.php"); class Project extends Entity{ - private ?int $_id = null; - private string $_title = ""; - private string $_description = ""; - private ?string $_thumbnail = null; - private string $_content = ""; + private ?int $_id = null; + private string $_title = ""; + private string $_description = ""; + private ?string $_thumbnail = null; + private string $_content = ""; private string $_creation_date; - private string $_status = "en_attente"; + private string $_status = "en_attente"; private int $_user; private int $_category = 0; private string $_creatorname; - private ?string $_user_image = null; + private ?string $_user_image = null; /** @@ -216,6 +216,4 @@ class Project extends Entity{ public function setUser_image($user_image){ $this->_user_image = $user_image; } - - } \ No newline at end of file diff --git a/models/project_model.php b/models/project_model.php index 0a72059..d960674 100644 --- a/models/project_model.php +++ b/models/project_model.php @@ -140,14 +140,14 @@ /** * Fonction de changement de status (accepter) d'un projet en BDD - * @author Guillaume * @param int $id l'id du projet * @return bool Est-ce que la requête s'est bien passée */ public function accept(int $id){ $strRq = "UPDATE project - SET project_status= 'publié' + SET project_status = 'publié', + project_edit_date = NOW() WHERE project_id =".$id; return $this->_db->query($strRq); @@ -155,14 +155,14 @@ /** * Fonction de changement de status (refusé) d'un projet en BDD - * @author Guillaume * @param int $id l'id du projet * @return bool Est-ce que la requête s'est bien passée */ public function refuse(int $id){ $strRq = "UPDATE project - SET project_status= 'refusé' + SET project_status = 'refusé', + project_edit_date = NOW() WHERE project_id =".$id; return $this->_db->query($strRq); @@ -170,13 +170,13 @@ /** * Fonction de suppression d'un projet en BDD - * @author Guillaume * @param int $id l'id du projet * @return bool Est-ce que la requête s'est bien passée */ public function delete_soft_project(int $intId): bool { $strRq = "UPDATE project - SET project_deleted_at = NOW() + SET project_deleted_at = NOW(), + project_edit_date = NOW() WHERE project_id = :id"; $rqPrep = $this->_db->prepare($strRq); @@ -187,7 +187,6 @@ /** * Fonction de mise à jour d'un projet en BDD - * @author Guillaume * @param object $objProject L'objet utilisateur * @return bool Est-ce que la requête s'est bien passée */ @@ -197,7 +196,9 @@ SET project_title = :title, project_description = :description, project_content = :content, - project_thumbnail = :thumbnail + project_thumbnail = :thumbnail, + project_status = 'en_attente', + project_edit_date = NOW() WHERE project_id = :id"; $rqPrep = $this->_db->prepare($strRq); @@ -213,7 +214,6 @@ /** * Fonction de récupération d'image d'un projet en BDD - * @author Guillaume * @param int $objProject L'Id du projet choisit * @return array Un tableau avec les informations de la bdd */ @@ -231,7 +231,6 @@ /** * Fonction de récupération d'image d'un projet en BDD - * @author Guillaume * @param int $id L'Id de l'image choisit * @return array Un tableau avec les informations de la bdd */ @@ -244,12 +243,13 @@ /** * Fonction de modifications de status de l'image d'un projet en BDD - * @author Guillaume * @param int $id L'Id de l'image choisit, string $status le status choisit * @return array Un tableau avec les informations de la bdd */ public function updateImageStatus(int $id, string $status): bool { - $strRq = "UPDATE image SET image_status = :status WHERE image_id = :id"; + $strRq = "UPDATE image + SET image_status = :status + WHERE image_id = :id"; $rqPrep = $this->_db->prepare($strRq); $rqPrep->bindValue(':status', $status, PDO::PARAM_STR); $rqPrep->bindValue(':id', $id, PDO::PARAM_INT); @@ -258,12 +258,12 @@ /** * Fonction de récupération d'image d'un projet en BDD - * @author Guillaume * @param int $id L'Id de l'image choisit * @return array Un tableau avec les informations de la bdd */ public function findImage(int $id): array|bool { - $strRq = "SELECT * FROM image WHERE image_id = :id"; + $strRq = "SELECT * FROM image + WHERE image_id = :id"; $rqPrep = $this->_db->prepare($strRq); $rqPrep->bindValue(':id', $id, PDO::PARAM_INT); $rqPrep->execute(); @@ -273,7 +273,6 @@ /** * Ajoute une image liée à un projet dans la table 'image' - * @author Guillaume * @param string $fileName Nom du fichier image * @param int $projectId ID du projet parent * @param string $alt Texte alternatif diff --git a/models/user_model.php b/models/user_model.php index 9c6c7ce..65ab6da 100644 --- a/models/user_model.php +++ b/models/user_model.php @@ -80,13 +80,16 @@ date('Y-m-d H:i:s', time() + (15*24*60*60)) , PDO::PARAM_STR); return $rqPrep->execute(); - } + + public function getTokenUser(string $hash){ $strRq = $this->_db->prepare("SELECT token_user_id FROM tokens WHERE token_hash = :hash AND token_expire_at > NOW()"); $strRq->execute(['hash' => $hash]); return $strRq->fetch(); } + + public function deleteToken(string $hash){ $strRq = $this->_db->prepare("DELETE FROM tokens WHERE token_hash = :hash"); return $strRq->execute(['hash' => $hash]); diff --git a/uploads/projects/69a049e86a0f4.webp b/uploads/projects/69a049e86a0f4.webp new file mode 100644 index 0000000000000000000000000000000000000000..c504287d026c453676d10f8e6eb999e945b5f83f GIT binary patch literal 5946 zcmV-A7scpONk&F87XScPMM6+kP&gna7XScoVE~;0D#!r(06uLpl}98aA|WZ2`dEMs ziDPcyKe|X<&7f=tX!1{kp#JVhz5ki(Yj6*nFF0<94y&!|YfT2AYLD``M#NIT9J1gR z^*c!L2g1HVyc6gR#gF#?Q3C2~R)CYVkT{HPGJXoT&oTJnBa+NwshM}qqLVU}0dwd8 z{!cd>9Yqe0d-iiEN}yj~t4`zeZ`OUN0OVXRX<9eZzY*zF)3$(>8xB$K-JRn6)lEun zlM~+q})FRsh;`6NoPbs|MEv{>|A9l%R2P8M)$4 z88vn6)c@GpbgMMDvd&?+w;J^c`^;G6JeaA?rdQ9EyrG;1BveRczzN@(Q3@b@j6I4l zNZmL9poh}h*_~kD@8`&NK?0ublUh40-Co%vNI9qNhyV}@SANvu9>_u0e}3IqC1A6n zj{IpFxB(8c)s$J1ZrSU290Ho8_d+btZ(obtjO=ruofUgfSsfw~4`ONLmSKT_=bc!F6@iQq->F_=VJE6G#Yj9PGfHds>sA{-MuW-Pcj0;8~>zDDR zJSNa^W}$zxUWwCn8M$ycBzLu2G=U+@vo4blne6oG!E&aDd62?5Yz>56O81~Rcefkf zw=uI)4Z40vZC3C-e1dWJxuLd_HV;QoW5OmkC2?f(|mq^ z&H9PJ%QI}_jnBOwb9(4R8WBTM0RE&+0P#3V?&HF68*d-g1;Zsc1>LmE4Yg&CtX%iy0&b_=)*yMIL1%KDVWT^p2E(=GQo` zk+;5T?-@F$GMyl#>*nM9%3`I*rrYf`{Y0Fnz`x+-9npNp+dOFkk)WG&qwGXW&NS#K z*wt_^l50TBlCjeO-WA1ZT{`Jy+Lm8$8H{KDLM3$oxDH?DOc`s0&r)Bpz72e-6Ox*} zVO4;}vQLadFDD3BH?Bfz+l{krv~a6^!h_SJMqQY07WiNQ{_OTK{{H=W`}+d_P_!d5 zW$c3t0ac7yjd0vm+q-n9xw{wC&o-io+Mx&?y$yFt>AN}Gf5!t3x>}~WmfGEH&RLlE zfHJ1dV0G9LS_pR{anv=PylVKYg0FLDV~kmUfrR`geBzu=hs*<>GDkM0W4d?y^FMi| z+h=efc$b7b(#6`F6+d=yRO~DTwfP6LEaiefnAvvV16kC@%aeOS?H2=he0D9|fz?Sx zNRB>}Q2^(47ljgJ6JVXLa&gpe2fdX7QVb6Z7IeK3KBgx?!;fVWXNKR7Dp^M;P%9?o z^a02L%vKyT(4E_6A?|w~S8}(c$m-4s4NU5dVPx)izHWBN9^bl7zLSgUsZ&zpVeDOo z-`}Ynt`2|;g#sS2vhlyckj>S47$Ovg$`dWDC-}L{5eg+TAvMJA?pP?FhaabjzTh*o z+y?MUOaSWHth%5RAFl$o{Iav`a5mB+j3A9d>v~ES=;h0ecPJ{65(uwE!ngNhr=!pO z3j8b<)xSov~( z?@Gn@vSe{u+bPTHavx6tVsi2-*&P?-;<+u8C7j;Q`?6Jx0WpgKsL8G|yX$7FDNrwte?aVdg0RvLr}%!e;%v zGb4SY$6o*z9e;N|oWTQz1bKE5>Y{i$;Qu(^k;F`8`b?)?KQ-33!vr{9+qkg#a2XLV z{3KVa(Hu+h0W@0xS0bvXOyq(ng}$UmD`4LGKVTY^KO^ZATCJZ)>wg$(VKc+sZsCWf zGapA9=~qHYE#M19D1%?xgi89wnm-zL==j=NJ-{Yeq(ik-r*{2J2Nxe zR4kY9>VeNbpeOy4KIXxNsIQ5v&2KA&uoU=L{MKBL5dQ4ucv4?*@OBVjaoWkOumZ?+d9rB2U^te$H+6ShjB?=Y=bxYbOhdl0F zdm=hJ*7}F1!fNvVHH%teG$|!yc)%A#CH4D{Tetw*gN(~CM_b;kR6!|PB!p(H6ms4d z@@myLefbBMr3HV0aU{wK`Fe#rGGI&gAgDH+Kj*yLmu2t?-M3~vh2@G1h0=M%;^0CFy6O|9z09Ax1# z$^6bwuf4O5hk?G@?fS!LAeOpS>~YE~Ahy&3=0T5>cXI4&TJLpr@->V1;=~0PJ=%fU zio*@|@(!pOy)!F_j9%)|ZR%!m3|kzVWdyeP#o6lUyeKjf|0-9-bmC95ftsI$PrXjs zBuGpnKr^i-zPu(NvuIWmUz6b9h+FoMiVf0ZrAnZ8s*d$kdY>+xOxQ9BgIdUSubTf)r}~uVv!ouFKG7^)0g;k zc0=I)Vcq3QI*e-zkN$a8rl-ul>#d!vlr|74)WTrB{lcNZ4WJ0+fQ{S~%w5J{&x&O$OYq=rZkyP>+(q$saY%Pz`d7NIbJJ9FA#g~f0iK1z8V z92onqj%sq)#MuG_g@d<(h(&pIz6Qx^Qh$G>YwJpZ11DnQgw1w}B$AJ3Xe_m+4^mqI zoY=Q!&>0WtloE(HRM^49r&CGB+(6K24c3F+M_`Tbg8^8zEF#HJq{K*@CC$?8Nx+<$ z<&RCi!IIUiTgU+}WPblCS(zga1f0Z65_10C1W&8Iko&+YXONuX=LfwT4yXc$zGvK_ zDX0A*H$jNQCrR^)%Ov7Wviv6gCFS;tQYjYrtugk+?{(<48d;BRzhE{{)S72CFf#Yi z?9*2$9UAkEaeQ(+(N>)i=pof8N!|^y_)YS|N-t1}v8F}~j+Vyx{s`NDdAlBxrd0+6 zN64w72!LDF*5sKJ0OVXQK5@*k6iaR!Q!yCFrw+UV<~H*a7c#tZ0Zum6sjB{n&!h-2 zdX^V>ZMXE5(EMB1RO2iZmZ@o5L3Ei=&w67-=+&e6?FOCXP-Raqb6a=}B!%~Xou3i_ zTHCJkb4>KnA*c>AB|q~S4F4bj*xS;rN`NTtGg-!nKdmyAKwoc{>MSU(b}$J+m;BLe z9QP7QnG5zt#OrnAY`10kzQd68U+xs2(^*%872)VwwKTR>Gk~$@RiVboON&7DWVG`9%~Bj zh)S6DMN2WaqRJRW`V9RU29%GP1w!9|C_o;0#+Rdsc08Mv%yxq5#CKF-2JjTU_=tHK zCAqfX$+{`ND$&|v>V`aqHpD2ng{^r9Y`ril3?m;PEsxN2SoONEwAKf%cz0mMezpL# zfNC6Ccrn%b4JoO437!m5REXy`Z+LZpobAp(3qJ8OAhCi-easA#@W?^xjjqD*U+{ws zRCYEc{2L#rVN4tmq}(=pxUexF2aS>h5}>$7?BYRa+rftH&(6Tb z%T?5gl!~>^pnfHMMHbP9kt?#E(Ja=3Gy4wjLvM(vAF6^LB=l@|9O`JS&4e%Bx4B*@{lU7U7iaFI8dtME_+I$LWGXoT{azflqnR`D7^+5$XIqH+_cmi z96f%&S$k6H@6dvuTMKo!WZb5F%Zi!0Qo!x#ZvXRXnLJD@;G`MAUU7(LR^qN-*Wfbs z_6amwEVmjm9?cL;m_5&()kde=hgXW7)RC@S(AuSYK27-Uq)DAZN+^jQ&kHVruZ;V> z;=+fe73uW)e9V{Q6!d`VC*^CS7pZL^Ykq}@8!63LGEOVxWr{a5AE*=7G^Z57G>$CT z=bdZ6DCioARP3~Ae4bdnFUZ1~Jnp^$#yU>EQDOj;Ym7+E*7@?%{A+O%A_~r!)Wt>K zECxb@`HE|kCZpz29b4&vr`vGY+8uQ?^2&$BsS^GBM-aW9}#7-Hi`7v}~c($MF<%TEiTl=eYP`K$f#d;<%_~2ii zB;j)|WJQIB6DGT^I`5oo3a?`rijba{<*uAn$h5@doPb~KeuhLpX81q4g5RF+tCgB2 zAu-zWqxnTMaN~mH77Kk|%iZ|?{1&_tdgam@GI6k`*j1Q&i(XH3i;=yhwRE()ra{zF z@J2T@QDbkp4~k%^cV`~#q0|3PuEE9L5L-o`rYReZ4zwTW zF!q$2A6>_*pe6rwE|8S8pJ+*beW_T zjWG!`;K%$hvo}?u3E=C{Ov>-QUcC={Vxr7tp%XRZ4qC;P_?uf`iTBPSN+TGE0~4=} zurt;!1c1VP=CmC#fXn91E2mVjH(xS$iA|maPt+!|q6VcGf&W0(P9) z<8%C3rRMYKsR&0qJ;iV!d9Fr4YE4eNDqxii{y-lY*8Xfyob4MJMqse}Vq|<;_93oj znaL7kpyCz$q-p>HNre=6@?r!18ZdMU>*gO=k=RlfUSp)>Av`(|{ZCf8IryM7U|y}7 zEp7cPeSNO^<#lQv9Jj)+E;lBb_?^uF*p-YOIgL^b*o8u7e?FQvbPZxjE&(~0f|S{X zaPew1tStiQ(>)Nw$Kx;MA~jiuHxwJ>@E-J=u5)9g(Lfw2SCYFOvtwe8w5}72`O9@y zvgNR(EQiyOXqj<{V7h(?$@EW9irMD2MGy5K__QSVd5Yu_dQrI4KL7v#sVuL2O%plJ zgk>Mzo-<20ABUVMj^DV7IWuD(>hk)oPK4~$q8i;ajs-a~*2rhn`FG{z*Or76d${PP z_a(hyVKF&K46abq4+r`#-XPF%roRYo5p^WE*r3Az(rtw8?m$Bzz=2akzW$u$Pc{$I zh>EKU>jOu7#A6-t^>}9jL9LwP2u66+eLzx0UdQ}O`Og&%B}=+n<%F@r#||1O409Jx zqU^q)?ki5iR8CU8GXx(0C~ekLD%D4Mq^=n!r_Wx@bt1B&ks^()QLbA!O;~yr?h_Q< zm*as$QOj)dOvQ~zQLH3{2LM)4;I}>xzbDJVGiOLY%o2r~CkzlCR(8<;~s2YbWAph^6aK`lnEB*m} zryxiqlxIh#(4+QrMQ&e4OT={R^$PIwAl2smqh4UOT%#IxjAU%$m7uX*nu2+v)0JL* zsO%LDtck{A(d{JU&&3he6kA_}$&nYa??x0!uvp3g7S677loHJPs!x1qV3`u|g^b1v zKshM?v&+70F{>;QnsY)}&Fvv&HqBO2jQG~rgJ?#ubQjX>!T8>^%fiU;97od0{zrwY zwll>iAWB!y6QClU={vB`CwsWnhG&hB9Z@P?p3c)FIGp%)KxtF3J2Cg4_e@C-h$l5h zfx39i&d;EAyfKTk!MsPAHVDB_$=*INgo03~N_@sr6XR$^?|CwTH0AfJqF`Hz_wI?r zl{^jM#h4`(@TNBn^6BilXRt8@w8Lm8o7lV!_w2PA&70DiU{2bz$tSdbqNC21KIpr6 zGwM!NxIBo0=kt&Q>0Bb5?O#$NsVZ1^1c9Ay2eSzO?c1VC;1_kPN-AU6pwEq#8W$rq z--Qb(&{=gPr&FTDnG^y~!lDhrNdpFBT^jezgrqh@l77rRZYY{kPJeiSw93>Cj1F8Z zRF1wsbRFmD4*fgqdEsKXk0~TKbyuVQay!E_Cjouc8FCD&VmNC-sbo4E#t~)h>@FFi z((Nzxx>k(jk^9+JT*>Q zmDbQw>a~pgd5LMXw0_a}T*{9yXCc6N$$TQ{y5qu;k}T@8prh>!R0EmjZ=7qSwxTdb ze;fVUN&t+0M&=@oY=nJA@F0~D;Wioqc2yQni(*9x^ARBCMgse~N@{wGm zi59>`QY%oxB*6ZFQLDvofXl^w@)~5si@ci0m?L#wr9J2-4@GT=(HYw5Y;8ySsYE&xe0klI70;u5zw7g!Mr+K#92@8 z7poj#Cwa%^g*>kATvCWN?!QE*RV3jpbGwV>ISE)cUp{_EAo-p+T=PaoyC=(nLK)^m>#487Vf*`$Utm4I8j z?GeAv2EUc(`@lkg9#9|gc`g0B)IX+Kv_1B1!U~oas0XQ}1@G2?u=ltwVT)ng>Ex9I zElXd+&gkLoE;B+PGGPM$Mr7r|d<;dQx)-tX`NFwL7-mJp*0_x=fBYvD6^wcA(-i zcTv1~>o`lsp252PKL(bOm3S2EO+lFF3P=MGh&77#YVIw0sMEYz-wkldbI^j^micg( z-JM{t&z$rbg`sg?oFkR6NvXgg;$pTF#t=Yr`qd%_y!kqN;XZoFo}vW8!y(Piw{`>uO`|~irZ1v+#!Z#1%d0}2-S-)ZoHRnqZ_j-lh;)UsKhmB#~U%^qQ zbS1E4fkK5#OAo|PktXysY(XvXw*gAlKs^_aXHWkn>zLyl{iA-CX+2|SFao?T)bS~f z21^pU9&b=a;=M*o%_=j>=q^0(rH2Ej+9@0-^m^kP7mn&RMgTH2JTDOKTF~_%kKj>e zHQqT}2t`S;Xo|f7DG4m4ZN&9FER#iy_W&jKG3xg}U!G6Bjk=<4bldL^N%s9Ml!F*7 z8GFo)s+U3y(^@d0b_~7i|M$#z_)D$RwnL_I(5lffI^>W2GwkS^LyTpZiCHzf^JiEy$zdV=Oq8P0@NV&a3a*(BD4CIT439*0&eq3u; zu+M0(OPyF$gOs8RxYv(JH=`!Ror$_V!vu>GUX!DRcd)T|Wl0jbXh3ObU9kV9RpNOHEetn6irlM8+!-4d2i_Ii6s}GOW85C`Yp+g$O2$xmlyCKA3N#9* ziAQ9%j}nVf7gLaLunvZpa+e1gbHn@o=4hEA4=E z3%9QqxQ+gbf9zU*zz5*ZvA^UQH7kToa&vlvE3P!oCl?31zfi7E*c`2GLcX~RFe zRC(2tF&X9g`NbP$ke9Nj_;b|@J*>QyOa3iUfQJu=XyPtB1eA-_G1jQ1u4&QZ-TV=w z0wWby-oZWvKcoM=-~OVSQ!(NV_0bJ`vol%jm9W!K=|<`Ni6lxrD){o)@~OWxAeqgG zja8W?F=$<}1NkVtm=EoHh`-6;Da{iZqL;`82@+&Cggzj)D|jA1v0;z2x=+hf5`TjA z0|}EoZ#Om3oi@X9Xk`4s#eN<~7y4XzcTfMKb}x6imL^~n)q-+|(5HWBh(8z7{6ioy zX1AaAShE=pC}T?cj%SlMeqlSUbNB1poe7sQWlcpMOtm(v*-f`QiADP1J>bH7e{pK5 zexx|O$1Z7tiN=j^)veS(C(&h^ekT-VC1o#?L$JU|uabY}ZK>FD`cjm8+PA~&Wz-02 zeG2VcWWB;d#Qj)p_*Sbl6yUZ}vMqJuFT!;WDUF$iSGe*l<$1ZGfPxrifYhxUA0D>gt8G7spG;eO3WTVI6x~{9BV*A&RS3*yq${yPXM!hA&c<5*+2zqM z-|IXBKxZ#Ws?QgP6JWz7i03g`L$|^?Unma5m&vRiTs6G?!~ToFhr^suDLVa=iu+)o zKq(0uY})h=%VqUhQABfK3?muIU-raHK6iA%K9TWZkAw&dvBbhA+GW_`8|%rJ5td4G z)7*LR2x+NVmKDA<8fyc_eWoYCs`y)1ekPWHZ%p_c3J1oUBjt>`Cw}F_=n~fXBjO@g zE&jC{kh>8UsLoBV;!o$8C#+&NXR|)YL>64<$X|kNJ!RFzTDICb_D=4cSam)8hCRQj=^EfCzKJoJ4KfGFcUoU8v++qOyf9Q4tZTVX7TuHtnWd|jOFE~66I zB1{>3l7~rgDlDDv_#i_R3S+Um7WWa39$c&FtDj>KNW^lx!lKYt?18_pg(MB@lhe#& zMHNWfpbgMll_?VhYtg3K$_1}6;F54^1y5&wT35jK>1sHBfBKE;Vhs~%aZ|KD$D*w+ z)hFqm7Y{&A+q9m4FL+S0Tc8HjvG13%`Hu9{k=*zySE~@>(LdNdpKAis-{_Y*do1F* zI`I50cK;IbDX?T5x?wIjT-yose)jN^Hpz;E(Jvtb zvZ-PMsfy(UWjj)DPajIWa;yjQUQ;=J7d4l)gN zf3CHN*69y?FtvYv808Od)sdpH zz%StW5A3+*L5(r)(8dv(Ch@`W8*}p_<}o+}vVwZWpyHTQO^Cz)-X@pN{3cqV(XqWP zSDIMN?kG_(t0pi#MA>UAPUOo6&s#cc_7T=;a^`!rtadPO{tzq3b{HzLCx$-v6(}uE zeCW|L3)x3pci7PbH^ckyXd@GZR=3`9_4y-V2rHei19}|K^iHqIyNW@Ie%oWUcO}_q z989k%#xh}La!$adaX#uvZe7AZCHcN&pDHj-_LtrYZST&gg=!us4f7A;4GNjF7BZOr z$^9gXyX!YMT_p|_89*|fl0Z{y&p~l*Tn2z~e zEL{jjONmt1Bhd5Q0PczBzxrtDU+JJ&bHAM`_s(KrBi%32NUj+^5)c{# qZwW^jp1M8G$zWU2y9_pqenk9ScT%JrLFPn$ymA`}iyT2j0001aCR;cF literal 0 HcmV?d00001 diff --git a/views/_partial/preview.tpl b/views/_partial/preview.tpl index 8aceddd..8204c4f 100644 --- a/views/_partial/preview.tpl +++ b/views/_partial/preview.tpl @@ -33,14 +33,14 @@

- Colmar + Colmar