Az çok programlama ile uğraşıyorsanız Ckeditor adını mutlaka duymuşsunuzdur. Gerçekten neredeyse tüm ihtiyaçlara cevap veren bir metin editörü. Yine son zamanlarda ckeditor.com sitesine girmişseniz mutlaka ckfinder denen dünyanın 8. harikasını görmüşsünüzdür. Abarttık ama neyse dönelim mevzumuza.
Neyse efendim sözün özü ckeditor ve ckfinder ikilisiyle rahatça metinler yazabilir, metinlere resimler ekleyebilir, resimleri hosta yükleyip metne dahil edebilir, hatta hosttaki resimleri gezip istediğiniz resmi yazıya dahil edebilirsiniz. Üstelik resimler için thumb olması da ayrı bir güzellik. Unutmadan söyleyeyim resimler için yapabildiğiniz bu şeyleri flash dosyaları için de yapabiliyorsunuz.
Bu kadar güzel olan bir sistemin tek eksiği Türkçe kaynak eksikliği ve nedense docs kısmında da yeterli döküman göremedim. Farklı yerlerde de gezmiş olabilirim neyse. Hemen geçelim kuruluma. Kurulumu anlatmadan bir not düşeyim. Aynen bu şekilde localhostta kurulumu yaptım ve kullanıyorum. Daha script bitmediği için sunucuya geçemedim.
İlk önce ckfinder ve ckeditor klasörlerini metin editörünü kullanacağımız klasöre kopyalıyoruz. Daha sonra metin editörünü kullanacağımız sayfa içinde gerekli include ve değişken işlemlerini yapıyoruz:
<?php
// Include CKEditor class.
include("ckeditor/ckeditor.php");
$ckeditor = new CKEditor();
//ckeditor klasörümüz eğer klasörümüz aynıysa değiştirmeyelim
$ckeditor->basePath = 'ckeditor/';
//Ckfinder ile ilgili değişkenler eğer dosya ve klasör isimlerinde değişiklik yoksa aynen devam edelim
$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 temamız daha fazlası için ckeditor/skins klasörüne bakın
$ckeditor->config['skin'] = 'office2003';
//Editör genişlik değerimiz
$ckeditor->config['width'] = 650;
//icerik nameine sahip textarea oluşturuyor
$ckeditor->editor('icerik');
?>
Temel ayarlarımız bu şekilde. Yalnız bu haliyle resim yükleme işlemi başarısız olacaktır. Bunun için ckfinder/config.php dosyasını açıyoruz ve
function CheckAuthentication()
{
// WARNING : DO NOT simply return "true". By doing so, you are allowing
// "anyone" to upload and list the files in your server. You must implement
// some kind of session validation here. Even something very simple as...
// return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized'];
// ... where $_SESSION['IsAuthorized'] is set to "true" as soon as the
// user logs in your system. To be able to use session variables don't
// forget to add session_start() at the top of this file.
return false;
}
kısmındaki false değerini true yapıyoruz. Siz tabii isterseniz session kontrolü ile true atayabilirsiniz. Zaten üstteki uyarılarda aynı şeyi söylüyor.
Daha sonra ise yine config.phpdeki 64. satırı kendimize göre düzenliyoruz. Buradaki $baseUrl değişkeninin değeri resimlerin yükleneceği klasörün tam yolu olmalı örnek:
$baseUrl = 'http://www.siteadi.com/resimler/';
sonunda / olmasına dikkat edin.
Daha sonra hemen geliyoruz 83. satıra burada da düzenlememiz gereken $baseDir değişkeni var. Buraya da dosyalarımızın yüklenecğei klasörün tam yolunu yazıyoruz. user/home/bla bla gibi. Eğer bu konu hakkında fikriniz yoksa $_SERVER superglobalindeki DOCUMENT_ROOT değeri sizin için biçilmiş kaftan. Örnek bir kullanım:
$baseDir = $_SERVER['DOCUMENT_ROOT'].'/resimler/';
yine sonunda / olmasına dikkat edelim.
Bir de resimlerin yükleneceği dizinin yazma izni de oldu mu tadından yenmez sanırım. Herkese kolay gelsin…
Ekstra Not: Eğer Ckeditor’le yazı yazarken Türkçe karakter hatası alıyorsanız hatadan kasıt Türkçe karakterler yerine kaynak kodunda ö ü gibi karakterler çıkıyorsa ckeditor/ckeditor.js dosyasını açın ve true olan i.entities_latin değerini false yapın. Sorun ortadan kalkacaktır. Diğer türlü de pek sorun olmuyordu ama seo açısından sıkıntılı olabilirdi.

