Vanilla 1 is no longer supported or maintained. If you need a copy, you can get it here.
HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Share some code :)

edited July 2006 in Vanilla 1.0 Help
Hi, congratulations for this amazing piece of software :) I've been looking at your code and it's a little bit too OO for me to comprehend. I was wondering if you could share the code that is resposible for creating SEF URL's. I was wondering how did you made the coversion from čćžšđ to cczsd (like in this discussion -> ), because there are more character that this 5 that need to be converted to make shure that your application isn't user brakeable... Thank you for your time...


  • Anybody? :)
  • As far as I know that's done with the Friendly URLs extension, and that doesn't use any code, but instead a .htaccess file with mod_rewrite rules. So basically it's your webserver changing the čćžšđ to cczsd, probably because it's configured to not allow characters like that.
  • I know you need .htaccess to handle "SE friendly URLs", but when I create a new Discussion and submitit to the server, Vanillas PHP code is the one that takes my title (čćžšđ) and converts it to (cczsd) before inserting it into the database...
  • I believe the conversion is done in the CleanupString function in library/Framework/Framework.Functions.php
  • You are right, that's what I was looking for :)

    If somebody else needs it, here it is

    function CleanupString($InString) { $Code = explode(',', '<,>,&#039;,&,",À,Á,Â,Ã,Ä,&Auml;,Å,Ā,Ą,Ă,Æ,Ç,Ć,Č,Ĉ,Ċ,Ď,Đ,Ð,È,É,Ê,Ë,Ē,Ę,Ě,Ĕ,Ė,Ĝ,Ğ,Ġ,Ģ,Ĥ,Ħ,Ì,Í,Î,Ï,Ī,Ĩ,Ĭ,Į,İ,IJ,Ĵ,Ķ,Ł,Ľ,Ĺ,Ļ,Ŀ,Ñ,Ń,Ň,Ņ,Ŋ,Ò,Ó,Ô,Õ,Ö,&Ouml;,Ø,Ō,Ő,Ŏ,Œ,Ŕ,Ř,Ŗ,Ś,Š,Ş,Ŝ,Ș,Ť,Ţ,Ŧ,Ț,Ù,Ú,Û,Ü,Ū,&Uuml;,Ů,Ű,Ŭ,Ũ,Ų,Ŵ,Ý,Ŷ,Ÿ,Ź,Ž,Ż,Þ,Þ,à,á,â,ã,ä,&auml;,å,ā,ą,ă,æ,ç,ć,č,ĉ,ċ,ď,đ,ð,è,é,ê,ë,ē,ę,ě,ĕ,ė,ƒ,ĝ,ğ,ġ,ģ,ĥ,ħ,ì,í,î,ï,ī,ĩ,ĭ,į,ı,ij,ĵ,ķ,ĸ,ł,ľ,ĺ,ļ,ŀ,ñ,ń,ň,ņ,ʼn,ŋ,ò,ó,ô,õ,ö,&ouml;,ø,ō,ő,ŏ,œ,ŕ,ř,ŗ,š,ù,ú,û,ü,ū,&uuml;,ů,ű,ŭ,ũ,ų,ŵ,ý,ÿ,ŷ,ž,ż,ź,þ,ß,ſ,А,Б,В,Г,Д,Е,Ё,Ж,З,И,Й,К,Л,М,Н,О,П,Р,С,Т,У,Ф,Х,Ц,Ч,Ш,Щ,Ъ,Ы,Э,Ю,Я,а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,э,ю,я'); $Translation = explode(',', ',,,,,A,A,A,A,Ae,A,A,A,A,A,Ae,C,C,C,C,C,D,D,D,E,E,E,E,E,E,E,E,E,G,G,G,G,H,H,I,I,I,I,I,I,I,I,I,IJ,J,K,K,K,K,K,K,N,N,N,N,N,O,O,O,O,Oe,Oe,O,O,O,O,OE,R,R,R,S,S,S,S,S,T,T,T,T,U,U,U,Ue,U,Ue,U,U,U,U,U,W,Y,Y,Y,Z,Z,Z,T,T,a,a,a,a,ae,ae,a,a,a,a,ae,c,c,c,c,c,d,d,d,e,e,e,e,e,e,e,e,e,f,g,g,g,g,h,h,i,i,i,i,i,i,i,i,i,ij,j,k,k,l,l,l,l,l,n,n,n,n,n,n,o,o,o,o,oe,oe,o,o,o,o,oe,r,r,r,s,u,u,u,ue,u,ue,u,u,u,u,u,w,y,y,y,z,z,z,t,ss,ss,A,B,V,G,D,E,YO,ZH,Z,I,Y,K,L,M,N,O,P,R,S,T,U,F,H,C,CH,SH,SCH,Y,Y,E,YU,YA,a,b,v,g,d,e,yo,zh,z,i,y,k,l,m,n,o,p,r,s,t,u,f,h,c,ch,sh,sch,y,y,e,yu,ya'); $sReturn = $InString; $sReturn = str_replace($Code, $Translation, $sReturn); $sReturn = urldecode($sReturn); $sReturn = preg_replace('/[^A-Za-z0-9 ]/', '', $sReturn); $sReturn = str_replace(' ', '-', $sReturn); return strtolower(str_replace('--', '-', $sReturn)); }
  • Wow that's a whole loada special characters!
  • woaw, holy moley1
  • edited July 2006
    I knew there was a reason I was looking for an already made solution, rather then doing it myself :)
This discussion has been closed.