• 22-03-2008, 14:21:56
    #1
    Üyeliği durduruldu
    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..
  • 10-02-2009, 15:25:50
    #2
    emegine sagluık
  • 11-02-2009, 22:33:30
    #3
    Eline sağlık hocam, güzel bir yazı. Makina sahibi ile uğraşmaktansa bu kodları değiştirmek çok mantıklı...
  • 18-11-2009, 11:15:06
    #4
    Üyeliği durduruldu
    güzel arkadaşım ii anlatım ama benim administrator -> components -> com_installer in içinde senin yazdığın dosyalar yok.
    Mesela bu dosya yok içinde:installer.class.php
  • 18-11-2009, 11:19:46
    #5
    Bu eski bir konu ve eski 1.0 sürümler için. Artık safe mode sorunu yok, ftp katmanı kullanılarak problemler çözülüyor.
  • 18-11-2009, 11:25:01
    #6
    Üyeliği durduruldu
    tesekkurler bi denemem lazım
    sagol arkadaşım
  • 18-11-2009, 11:28:47
    #7
    Üyeliği durduruldu
    oldu cok sagol FTP ayarlar yapıldıktan sonra sorunsuz ekliyor yalnız manuel olarak denedim,dosyalar ftp program ile ekledim sonra manuel olarak modulu kurdum.

    Bir daha tesekkur ediyorum