Örömmel tudatom olvasóinkkal, hogy immáron az Invision Power Board, avagy IpBoard fórum motorral is foglalkozunk, hébe – hóba. Jelenleg egy olyan feladat került a kezünkbe, hogy változtassuk meg egy ilyen motorral rendelkező fórum url struktúráját, szépítsük meg, tegyük kereső barátabbá. A rendszer maga támogatja alapba ezt a funkciót, mely szépen működik is. Azonban van egy bökkenő. Ékezetes karakterekkel, melyek ugyan jók a keresőnek, de nem szépek, ha kimásolják vagy közösségi oldalakon megosztják. Éppen ezért a beépített funkciót picit módosítani kell.

Keressük meg az alábbi részt: (/public_html/admin/sources/base/core.php – 4537ik sorától)

		/* Convert accented chars */
		if ( IPS_DOC_CHAR_SET != 'UTF-8' )
		{
			/* http://community.invisionpower.com/resources/bugs.html/_/ip-board/i-broke-furls-urls-with-accents-r41236 */
			/* AJAX requests have HTML entities, so convert to accents then romanize */
			if ( strstr( $text, '&#' ) )
			{
				$text = html_entity_decode( $text, ENT_NOQUOTES, 'UTF-8' );
			}
			
			$text = self::convertAccents($text); /* <- Ez kell nekünk! */
		}
		
		/* Convert it */

Majd tegyük egy sorral lejjebb ezt a részt:

$text = self::convertAccents($text);

Így nézzen ki:

		/* Convert accented chars */
		if ( IPS_DOC_CHAR_SET != 'UTF-8' )
		{
			/* http://community.invisionpower.com/resources/bugs.html/_/ip-board/i-broke-furls-urls-with-accents-r41236 */
			/* AJAX requests have HTML entities, so convert to accents then romanize */
			if ( strstr( $text, '&#' ) )
			{
				$text = html_entity_decode( $text, ENT_NOQUOTES, 'UTF-8' );
			}		
			
		} /* <- Atkerult ala az elozo meghivas */
			$text = self::convertAccents($text); /* <- Ez kerult lejjebb */
		
		/* Convert it */

Majd mentsük a fájlt. Új téma létrehozásánál vagy régi téma moderátori átnevezésénél eltűnnek az ékezetes karakterek és csak és kizárólag, ASCII, vagy is szabványos, angol betűs url lesz. Kész is!

A fenti kódrészletek a 3.4.7-es verzióban szereplők. A korábbi (és jövőbeni) verzióknál eltérő lehet a kód!