Drupal parse_ini_file() hatası

İlgili Konular: Drupal Genel Bilgiler     

Genel olarak bu hataya pathauto ile karşılaşırız, ancak gmap gibi eklentilerde de bu hatayı alırız.

Hatanın sebebi güvenlik açığı yaratan bu fonksiyonu kapatmaktan başka bir önlem alamayan sunucu sahipleridir.

Pathauto eklentisini çalıştırmak için bir yöntem mevcut burada da ben onu açıklayacağım, fakat üzülerek söylüyorum gmap eklentisinde işe yaramamaktadır.

Drupal.org adresinde belirtilen yönergelere göre aşağıdaki işlemleri yapınız:

# includes/module.inc dosyasını aç.
# En sona aşağıdaki kodu ekle.

function parse_ini_file_quotes_safe($f)
{
 $r=$null;
 $sec=$null;
 $f=@file($f);
 for ($i=0;$i<@count($f);$i++)
 {
  $newsec=0;
  $w=@trim($f[$i]);
  if ($w)
  {
   if ((!$r) or ($sec))
   {
    if ((@substr($w,0,1)=="[") and (@substr($w,-1,1))=="]") {$sec=@substr($w,1,@strlen($w)-2);$newsec=1;}
   }
   if (!$newsec)
   {
    $w=@explode("=",$w);$k=@trim($w[0]);unset($w[0]); $v=@trim(@implode("=",$w));
    if ((@substr($v,0,1)=="\"") and (@substr($v,-1,1)=="\"")) {$v=@substr($v,1,@strlen($v)-2);}
    if ($sec) {$r[$sec][$k]=$v;} else {$r[$k]=$v;}
   }
  }
 }
 return $r;
}

Bu işlemden sonra; sites/all/modules/pathauto/pathauto.inc dosyasında muhtemelen 166. satırda bulunan aşağıdaki kodu buluyoruz.

$translations = parse_ini_file($path .'/i18n-ascii.txt');

Aşağıdaki ile değişiyoruz

$translations = parse_ini_file_quotes_safe($path .'/i18n-ascii.txt');

Artık pathauto eklentisini gönül rahatlığı ile kullanabilirsiniz.

Yorumlar

Yeni yorum veya soru gönder

Bu alanın içeriği gizlenecek, genel görünümde yer almayacaktır.
  • PHP source code can also be enclosed in <?php ... ?> or <% ... %>.
  • You may insert videos with [video:URL]

Biçimlendirme seçenekleri hakkında daha fazla bilgi


7 + 4 =
Basit matematik sorusunuz çözünüz. Örn; 1+3= 4