Problem z FCKeditor

Problem z prwidłowym działaniem przy edycji danych pojawia się przy dodaniu do .htaccess reguly np.:

RewriteRule ^(.*)\/(.*).html$ web/show.php?nazwa_url=$2

Do reguly dopasowuje się url:

../edytor/editor/fckeditor.html?InstanceName=opis&Toolbar=Default

wykorzystywany przez FCKeditor w iframe

<iframe id=”opis___Frame” src=”../edytor/editor/fckeditor.html?InstanceName=opis&Toolbar=Default” mce_src=”../edytor/editor/fckeditor.html?InstanceName=opis&Toolbar=Default” width=”570px” height=”500px” frameborder=”0″ scrolling=”no”></iframe>

i nie ładuje się właściwy html, tylko główna strona serwisu.

Dodanie do .htaccess reguly

RewriteCond %{REQUEST_URI} !edytor/editor
przed
RewriteRule ^(.*)\/(.*).html$ web/show.php?nazwa_url=$2

przywraca prawidłowe dziłanie.

Przełączanie edytora tinyMCE

function toggleEditor(id) {

 if (!tinyMCE.getInstanceById(id))
  tinyMCE.execCommand(‚mceAddControl’, false, id);          
 else
  tinyMCE.execCommand(‚mceRemoveControl’, false, id);
}

<input type=”button” name=”btn_przelacz” value=”Przeł±cz na edytor WYSYWIG” onClick=”toggleEditor(‚box_tresc’);”>

Uruchomienie tinyMCE zmożliwością edycji tabel

<script language=”javascript” type=”text/javascript” src=”../edytor/jscripts/tiny_mce/tiny_mce.js” mce_src=”../edytor/jscripts/tiny_mce/tiny_mce.js”></script>
<script language=”javascript” type=”text/javascript”>
tinyMCE.init({
 mode : „exact”,
 elements : „strona_fragment”,
 theme : „simple”
});

tinyMCE.init({
 mode : „exact”,
 elements : „strona_tresc”,
 theme : „advanced”,theme_advanced_styles
    theme_advanced_buttons3_add : „separator,fullscreen”,
    theme_advanced_buttons3_add_before : „tablecontrols,separator”,
 theme_advanced_styles : „Tabela Podstawowa=table”,
    plugins : „advimage, fullscreen, table”,
    external_image_list_url : „../edytor/example_image_list.js”
});

za edycję tabel odpowiada plugins table

plugins : „advimage, fullscreen, table”,

Tablica przekazywana do wp_insert_post()

Array
(
    [_wpnonce] => 9a65e1b065
    [_wp_http_referer] => /wp-admin/post-new.php
    [user_ID] => 3
    [action] => post
    [originalaction] => post
    [post_author] => 3
    [post_type] => post
    [temp_ID] => -1207121990
    [newcat] =>
    [post_category] => Array
        (
            [0] => 17
        )

    [advanced_view] => 1
    [comment_status] => open
    [ping_status] => open
    [post_password] =>
    [post_name] =>
    [post_status] => publish
    [mm] => 4
    [jj] => 02
    [aa] => 2008
    [hh] => 08
    [mn] => 39
    [ss] => 50
    [post_author_override] => 3
    [post_title] => nowy
    [content] => nowy
    [post_pingback] => 1
    [prev_status] => draft
    [tags_input] => nowe, nowe
    [publish] => Publikuj
    [referredby] => redo
    [excerpt] =>
    [trackback_url] =>
    [metakeyinput] =>
    [metavalue] =>
    [post_content] => nowy
    [post_excerpt] =>
    [post_parent] =>
    [to_ping] =>
)

Konfiguracja FCKEditor, problem z uploadem pliku

W pliku FCKEditora
 /edytor/editor/filemanager/browser/
default/connectors/php/commands.php

Umieszczone są funkcje do uploadu plików na serwer.
Około lini 212 można wykonać przypisanie nazwy pliku tymczasowego i uploadowanego do zmiannej:
$sFileName = $oFile[‚tmp_name’].’, ‚.$sFilePath; 

( $oFile przechowuje informacje o uploadowanym pliku) jest $oFile = $_FILES[‚NewFile’] ; )

Umożliwi to podejrzenie jakie pliki są przetwarzane przez FCKEditor.
W kolejne liniach kodu, zaczynając  od 214, wysyłąny jest kod JS:
 echo ‚<script type=”text/javascript”>’ ;
 echo ‚window.parent.frames[„frmUpload”].OnUploadCompleted(‚ . $sErrorNumber . ‚,”‚ . str_replace( ‚”‚, ‚\\”‚, $sFileName ) . ‚”) ;’ ;
 echo ‚</script>’ ;

Pokzauje on w przeglądarce wartość (wcześniej ustawionej) zmiennej $sFileName.

Następnie w pliku:
/edytor/editor/filemanager
/browser/default/frmupload.html

można zmodyfikować kod funkcj JS:

function OnUploadCompleted( errorNumber, data )
{
    alert(errorNumber + ‚ ‚ + data);

….

i włączyć alert z wyświetlaniem wartości przekazanych do funkcji.
Dzieki teme można zobaczyć wartość zmiennej
$sFileName = $oFile[‚tmp_name’].’, ‚.$sFilePath;

Przekazanej uprzednio w php.

W ten sposób można dojść do wniosku :), że dla serwerów home.pl, dla domeny przyczepionej do podkatlogu katalogu domowego głównej domeny, należy dodać w pliku php.ini definicję katalogu na upload plików.

upload_tmp_dir = /tmp_upload/

gdy to juz ustawiłem w zmiennej $oFile[‚tmp_name’] pojawiła się informacja o uplodaownym pliku
więc mogło zakończyć się sukcesem kopiowanie pliku

move_uploaded_file( $oFile[‚tmp_name’], $sFilePath ) ;