Şimdi Ara

ckeditor ve ckfinder entegrasyonu

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
1
Favori
4.048
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • kcfinder özellikle session ayarları ve güvenlik yapılandırması ve entegrasyonu hakkında tecrübesi bilgisi olan arkadaşlarımızdan bu konuyu ele alan makale bekliyoruz saygılar.



    < Bu mesaj bu kişi tarafından değiştirildi murano55 -- 6 Nisan 2012; 17:15:45 >



  • Anlatayım kardeşim umarım yardımı olur
    CKEditor ile CKFinder Uygulamalarını Entegre Etmek


    Konu 1 : CKEditor Uygulaması Nedir ve Nasıl Kullanacağım ?

    CKEditor çalışma mantığı bakımından çok basit şekilde tasarlanmış bir yazı editörüdür.WP, Drupal, Joomla ve hatta bir çok alışveriş sitelerinde kullanılmaktadır.İki farklı sürümü bulunan CKEditorun destek verilen sürümü bilmem kaç dolardır.Dolarlar gözünüzü korkutmasın çünkü aslında kendi sitesinde özgür olarak geliştiren ve dağıtılan bir uygulama olduğu yazıyor.
    CKEditoru bir nevi yama gibi düşünebilirsiniz.Kullanımı için size gereken örnek olarak bir textarea bileşenidir.Textarea için bir ID tanımladığınızda CKEditorun aşağıda bulunan parametresini kullanarak onu bir yazı editörü şekline sokabilirsiniz.Ancak ” ckedit/ckeditor.js ” yolunun doğru olduğundan emin olun

    resim 1

    Bu durumda oluşan görüntü aşağıdaki gibi olacaktır :
    Resim 2

    Az önceki dolarlar ile ilgili sitemimin sebebini şimdi söyleyebilirim. Bu uygulamada Resim Yükleme seçeneği malesef bulunmuyor.Eğer istiyorsanız kesenin ağzını açıyorsunuz ve hop diye hem destek hemde resim yükleme seçeneğine sahip oluyorsunuz. Paranız yoksa kendiniz yeni bir resim yükleme uygulaması yazabilirsiniz ( ! )
    Peki ne yapacaksınız ? Bu durumda uygulama geliştiricisi arkadaşlar CKFinder uygulamasını öneriyorlar.Yazımızın esas konusuda bu zaten.Adım adım nasıl entegre edeceğimizi görelim :
    Konu 2 : CKEditor Uygulaması ile CKFinder uygulamasını nasıl entegre edeceğim ?
    1- CKEditor ve CKFinder uygulamalarını indirin.
    2- Panel kullanıyorsanız ve kullanıcıların yazı girişlerini sağlamak niyetindeyseniz bu iki klasörü direkt panel klasörünüze gönderin.
    3- CKEditor klasörünün içinde bulunan CONFIG.JS dosyasını notepad++ veya benzeri bir program ile açın ve mevcut bulunan fonksiyon içerisine şu satırları ekleyin :


    config.filebrowserBrowseUrl = '/ckfinder/ckfinder.html'; 
    config.filebrowserImageBrowseUrl = '/ckfinder/ckfinder.html?Type=Images';
    config.filebrowserFlashBrowseUrl = '/ckfinder/ckfinder.html?Type=Flash';
    config.filebrowserUploadUrl = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type;=Files';
    config.filebrowserImageUploadUrl = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type;=Images';
    config.filebrowserFlashUploadUrl = '/ckfinder/core/connector/php/connector.php?command=QuickUpload&type;=Flash';


    Unutmayın, bu yol iki uygulamayıda aynı klasör içine açtığınız varsayılarak yazıldı.Dosyayı kaydedin ve kapatın.,

    4-CKFinder içinde bulunan config.php dosyasını yine basit bir editör yardımıyla açın ve aşağıda bahsi geçen konuları dikkatli şekilde uygulayın :
    - Eğer panel kullanıyor ve kullanıcı adı – şifre ile giriş yapıyorsanız OTURUM ( Session ) kontrol şeklinize göre CheckAuthentication() fonksiyonunu düzenleyin :

    function CheckAuthentication() 
    {
    if ($_COOKIE[giriş yaparken atadığınız çerez'] == 'giriş yaparken yazılmış kullanıcı adı')
    {
    return true;
    }
    else
    {
    return false;
    }
    }



    Bu işlemi yapmazsanız ” The file browser is disabled for security reasons. Please contact your system administrator and check the CKFinder configuration file ” hatası ile karşılaşacaksınız.Ancak söylediğim gibi giriş kontrolü yapıyorsanız bu yolu izlemeniz gerekiyor. Şayet giriş kontrolü yapmıyorsanız sadece ” return true ” satırını yazmanız yeterli. IF – ELSE koşulları olmamalı.Bu maddeyi yerine getirmezseniz aynı hatayı almaya devam edeceksiniz.Sebebiyse güvenlik kontrolünün gerçekten önemli olması. Diğer türlü editörün yüklü olduğunu gören ziyaretçi sitenizin dosyalarını silebilir.
    - CKFinder için bir baseDir ve baseUrl belirtmeniz gerekiyor. Bu maddede çok önemli. Çünkü kendi destek sitesinde dahi bu konuda verilen bilgi çok zayıf :
    $baseUrl = 'http://www.domainadiniz.com/'; 
    $baseDir = "/home/www/domain/html/"; ( Buraya dikkat )


    baseUrl değişkeni içine attığımız yol, dikkat ederseniz depo klasörünü işaret etmiyor. Varsayılan depo klasörü config.php içinde ” images ” olarak belirtilmiş.Değitirmek isterseniz 192 / 193 / 194. satırlardan değiştirmeniz mümkün. Eğer hataya düşerde depo klasörünüde yazarsanız kendisinin otomatik olarak “ images ” klasörü oluşturduğunu göreceksiniz. İkinci konuysa baseDir ile ilgili. Bu alana sunucu hizmeti aldığınız firmadan öğreneceğiniz hosting klasör yolunu yazmak zorundasınız. Başka yollar denemeyin çünkü malesef güvenlik sebeplerinden ötürü resolveUrl fonksiyonu çalışmayacaktır.
    5- Yine önemli bir konu, depolama klasörünün oturum izinlerini 777 olarak ayarlayın.
    Bu düzenlemeleri yaptıktan sonra dosyaları sitenizin klasörüne yükleyin ve denemenizi yapın.

    resim3

    Önemli olan bir kaç konuyu tekrar hatırlatmakta fayda var. Bu uygulamayı hazırlayanlar genel olarak WP gibi hazır uygulamaları düşündükleri için verdikleri SESSION örnekleri genelde bu uygulamaların parametrelerine dayalı gibi görünüyor. Eğer oturum açma protokolü kullanıyorsanız kendinize göre düzenlemelisiniz.


    Soyle bir sorun yasarsan

    BasePath = “fckeditor/”; 
    $oFCKeditor->Value = $row_faguncelle['makaleicerik'];
    $oFCKeditor->Width = “100%”;
    $oFCKeditor->Height = “400″;
    $oFCKeditor->Create();
    ?>
    fck editorde yazıları update etmek için bu şekilde yapmıstım veri tabanını otamatık olarak update yapıyordu ve veri tabanındaki bilgileri göruyordum CKeditorde ise
    basePath = ‘ckeditor/’ ;
    $ckeditor->config['filebrowserBrowseUrl'] = ‘ckfinder/ckfinder.html’;
    $ckeditor->config['filebrowserImageBrowseUrl'] = ‘ckfinder/ckfinder.html?type=Images’;
    $ckeditor->config['filebrowserImageUploadUrl'] = ‘ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images’;
    $ckeditor->config['skin'] = ‘office2003′;
    CKFinder::SetupCKEditor( $ckeditor, ‘ckfinder/’ ) ;
    $oCKeditor->Width = “100%”;
    $oCKeditor->Height = “400″;
    $ckeditor->editor(‘makaleicerigi’ $initialValue, $config);



    Editörün içeriği yakalayabilmesi için bir texarea oluşturun ve name / id özelliklerine ” makale ” gibi bir isim verin. Textarea kapandıktan sonra hemen altına ( Bulmanız kolay olsun diye ) şu satırları ekleyin :
    script src=’ckedit/ckeditor.js’ type=’text/javascript’> /script> script type=’text/javascript’> 
    //< ![CDATA[
    CKEDITOR.replace( 'textareaicinverdiğinizisim' );
    //]]>
    /script>

    Textarea içi belirlediğiniz id replace fonksiyonuna göndereceğiniz değişken içeriği ile aynı olmalıdır. Bu arada buraya eklediğim script yazan bölümünü düzenlemeyi unutma

     ckeditor ve ckfinder entegrasyonu


     ckeditor ve ckfinder entegrasyonu



    < Bu mesaj bu kişi tarafından değiştirildi enbilisim -- 1 Nisan 2012; 8:26:32 >




  • makale için tşk ederim fakat ben ckeditor ve ckfinder den bahsetmemiştim ama yinede bu makele bu konuda sıkıntı yaşayanlar için yararlı olacaktır konuyu ckfinder olarak editliyorum saygılar.
  • Kolay gelsin;
    Ckfinder ile ilgili bi yardım istiyorum..
    Ckfinder da dosyaların üyelere özel olmasını istiyorum, yani her kullanıcı kendi dosyalarını görebilsin diğer kullanıcılar başka dosyaları görmesin bilgisi olan varsa yardım edebilir mi ? PHP ile yapıyorum şimdiden teşekkür ederim
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.