Bu derste anlatılan değişiklikleri yaptığınızda;

aynı bileşeni yükleyememe koruması bloke olur.
bileşen yüklemede klasör/dosya üzerine yazma etkin olur.
HATA SEBEBİ :
SAFE MODE aktif olan sunuculara bileşen yükleyememe.

ADIM 1 - INSTALLERI DUZENLEME:

JOOMLAROOT>administrator>components>com_installer> installer.class.php dosyası içerisindeki:

Alttaki kodları
else if (file_exists( $filedest ) && !$overwrite) {
$this->setError( 1, "There is already a file called $filedest - Are you trying to install the same CMT twice?" );
return false;
}
Aşağıdaki kodlar ile değiştirin:
/*else if (file_exists( $filedest ) && !$overwrite) {
$this->setError( 1, "There is already a file called $filedest - Are you trying to install the same 
CMT twice?" );
return false;
}*/
Alttaki kodları:
if( !( copy($filesource,$filedest) && mosChmod($filedest) ) ) {
$this->setError( 1, "Failed to copy file: $filesource to $filedest" );
return false;
}
Aşağıdaki kodlar ile değiştirin:
/*if( !( copy($filesource,$filedest) && mosChmod($filedest) ) ) {
$this->setError( 1, "Failed to copy file: $filesource to $filedest" );
return false;
}*/
JOOMLAROOT>administrator>components>com_installer> component>component.class.php

Alttaki kodları:
if (file_exists($this->elementDir())) {
$this->setError( 1, 'Another component is already using directory: "' . $this->elementDir() . '"' );
return false;
}
if(!file_exists($this->elementDir()) && !mosMakePath($this->elementDir())) {
$this->setError( 1, 'Failed to create directory "' . $this->elementDir() . '"' );
return false;
}
Bunlar ile değiştirin:
/*
if (file_exists($this->elementDir())) {
$this->setError( 1, 'Another component is already using directory: "' . $this->elementDir() . '"' );
return false;
}
if(!file_exists($this->elementDir()) && !mosMakePath($this->elementDir())) {
$this->setError( 1, 'Failed to create directory "' . $this->elementDir() . '"' );
return false;
}*/
ADIM 2 : COMPONENTS YÜKLEME (örnek olarak com_fireboard 'ı anlatacağız)
Yukarıdaki düzenlemeleri yaptıktan sonra bileşeninizin klasörünü JOOMLAROOT>components> içerisinde FTP ile yükleyelim.

Kopyalama sonrası şu ağaç oluşsun: JOOMLAROOT>components>com_fireboard>

- ADIM 2.1:
Bileşen dizininde bulunan kurulum xml dosyasından com_fireboard>fireboard.xml içindeki

<administration>
    <menu>Fireboard Forum</menu>
  <files>
<filename>admin.fireboard.html.php</filename> 
  <filename>admin.fireboard.php</filename> 
  <filename>bb_adm.js</filename> 
  <filename>changelog.txt</filename> 
  <filename>fb_cpanel.php</filename> 
  <filename>fireboard.xml</filename> 
  <filename>fireboard_config.php</filename> 
  <filename>fireboard_mosbot_help.php</filename> 
  <filename>images/fbconfig.png</filename> 
  <filename>images/fbcss.png</filename> 
  <filename>images/fbfiles.png</filename> 
  <filename>images/fbforumadm.png</filename> 
  <filename>images/fbimages.png</filename> 
  <filename>images/fbloadsample.png</filename> 
  <filename>images/fbmenu.png</filename> 
  <filename>images/fbsample.png</filename> 
  <filename>images/fbtable.png</filename> 
  <filename>images/fbtechsupport.png</filename> 
  <filename>images/fbupgrade.png</filename> 
  <filename>images/fbuser.png</filename> 
  <filename>images/fbusers.png</filename> 
  <filename>images/logo.png</filename> 
  <filename>images/paypalbutton.png</filename> 
  <filename>install.fireboard.php</filename> 
  <filename>language/english.php</filename> 
  <filename>toolbar.fireboard.html.php</filename> 
  <filename>toolbar.fireboard.php</filename> 
  <filename>uninstall.fireboard.php</filename> 
  <filename>com_fireboardupd.inc</filename> 
  <filename>fireboard.xml</filename> 
    </files>
  </administration>
Burada <filename></filename> blokları içerisindeki dosyaları
JOOMLAROOT>administrator>components> klasörünü içinde com_fireboard klasoru oluşturup içerisine kopyalayalım.

Yükleme sonrası ağaç: JOOMLAROOT>administrator>components>com_fireboard>

- ADIM 2.2 :
Joomla yönetim panelinden yüklemeler menüsü >Bileşen yükleme bölümüne gelip dizinden yükleme bölümüne yükleme yolunu yazıyoruz. (Biz unix için örnek vereceğiz.)
/home/ftpuser/www/components/com_fireboard

Daha sonra yükle ve kur diyoruz.

Bileşeniniz hazır...

Hangi bileşeni kurmak isterseniz, ADIM 2 ve alt başlıklarını uygulamanız yeterlidir.

NOT : Bazı bileşenler kendi alt dizinlerinde bulunan cache gibi klasörlere yazma izni verilmesini istemektedir. Bu konuyu gözden geçirmeyi unutmayın. Biz manuel yükleme yaptıgımızdan bu yazma izinleri verilmemiş oluyor..

İyi çalışmalar..