Очередная работка на скриптлансе

Все-таки сколько раз убеждался. имея желание без работы на скриптлансе остаться тяжко. Вот наступило время тяжелой финансовой личной ситуации. Не за что купить «плазму» панасоник 50″. Чтоб ее черт взял. Пришлось поэтому срочно начать зарабатывать. причем хоть по мелочи.

Логотип tinyMCE

Логотип tinyMCE

Взялся за довольно таки интересный проект, который способен добавить нового к уже изученному. Клиент захотел, чтобы в админке его сайта можно было выбирать вузивиг редактор. Или fskeditor, или tinymce или же просто — писать руками — с тегами и прочей дрянью.

Я конечно сделал все, хоть теперь меня и гложут сомнения, а не захочет ли завтра колиент, чтобы при смене редактора информэйшн оставался в окне редактора :) Мне то лень было сделать такую простую штуку, а клиент таки может захотеть. Все-таки пару строчек на JavaScript стоят пару баксов, как говориться.

Но с другой стороны, я отлично задокументировал то все, что я делал. То есть довольный клиент, если захочет угробить мою работу сможет делать это достаточно эффективно.

Вот причем кода. использованного для вывода диалога выбора редактора … примитивизм, но се же … может когда-то нужно будет, так и найду по названиям визивиг редакторов.

<?
/*-----------------------------------------------------------------
*  ==[ Date: 13.01.2009]== Programmer: Sofm@
*  ==[ Note: NEW SELECT CODE
*------------------------------------------------------------------*/
 
$page.='<form name="FORMSELECT" method="POST" action="">
<input type=hidden name="changeeditor" value="1">
  <select name="select">
<!--    <option value="na"      ' . ( $laststate=="na"?" selected":"" ).      '>Select Editor...</option> maybe no need of ...  -->
    <option value="fck"     ' . ( $laststate=="fck"?" selected":"" ).     '>FCKeditor</option>
    <option value="tinymce" ' . ( $laststate=="tinymce"?" selected":"" ). '>TINYmce</option>
    <option value="plain"   ' . ( $laststate=="plain"?" selected":"" ).   '>Plain Text</option>
  </select>
  <input type="submit" value="Select Editor..." >
</form>
';
 
?>

Я знаю, что это можно переписать эффективней. Интересно настолько сильно можно было бы оптимизировать данный код?

Кстати, а вот код по выводу самого странного, по качеству исполнения, визивига — tinymce. Не полюбил я его за то и за это. Странноватый редактор. Одно время к нему имаджменеджер … продавался за деньги. Смешно да и только, качали все кому не лень — друг у дружки. Теперь fсk его на голову бъет. А для включения редактора в последнем, просто поменять две переменные. Правда, еще бы перенесли их «вниз», а то черти где лежат … иди ищи!

Ну вот код:

<script type="text/javascript" src="./tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
	tinyMCE.init({
		// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
 
		// Theme options
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,
 
		// Example content CSS (should be your site CSS)
		content_css : "css/content.css",
 
		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "lists/template_list.js",
		external_link_list_url : "lists/link_list.js",
		external_image_list_url : "lists/image_list.js",
		media_external_list_url : "lists/media_list.js",
 
		// Replace values for the template plugin
		template_replace_values : {
			username : "Some User",
			staffid : "991234"
		}
	});
</script>
	<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
 
	<textarea id="elm1" name="elm1" rows="15" cols="80" style="width:600px;height:450px;border:1px solid;">
	<?=$pagecontent;?>
	</textarea>
 
 
<?
    $page .= ob_get_contents();	
    ob_end_clean();
    break;
 
//-----------------------------------------------
 case "fck":
 
 
    include("fckeditor.php") ;
//    $sBasePath = $_SERVER['PHP_SELF'] ;
    $sBasePath = "/$DIR/fckeditor/" ;
 
    $oFCKeditor = new FCKeditor('data') ;
    $oFCKeditor->BasePath	= $sBasePath ;
    $oFCKeditor->Value		= $pagecontent ;
    $oFCKeditor->Height		= 450 ;
    $oFCKeditor->Width		= 800 ;
    $page.=$oFCKeditor->CreateHtml() ;
 
 
    break;

Вы теперь поняли чем tinymce паршивей fsk? Вот именно, лаконичностью. Я уже молчу про то, что tiny почему то грузиться черти сколько. Вероятно чтото со сжатием «намучено».

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *