вторник, 8 октября 2013 г.


Уросок

среда, 17 октября 2012 г.

Litecommerce install Add on problem.

If you are developing Add On for Litecommerce and in process of Uploading your .tar module package you get the following error:
"ERROR: "0" (code N/A)
SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'packSize' at row 1"

It seems you are developing on Windows. I spend a day with this bug.... 
How to fix ? Just go to Includes\Utils\FileManager.php and find this function:






Because fucking Windows has a problem with is_file() function...

воскресенье, 25 сентября 2011 г.

How to make CKEditor upload photos without CKFinder.

CKEditor has built in feature to upload images, but from scratch this feature
unfortunately doesn't work. You can make it work doing the following steps:

1.  After you install CKEditor, go to /ckeditor/plugins/image/dialogs/image.js, find  'id:'Upload',hidden:true' and replace it with  'id:'Upload',hidden:false'.


2. Now  when you click on Image icon in editor, you will see new tab 'Upload' (1) in Image dialog:

3. Now you can go on 'Upload' tab, click 'Choose file' and then 'Send it to server', but you will no have success, and that's right. We will work on it on next step.

4. After you added 'Upload' tab, you must handle file uploading by edding script that will be handle our file upload. I created php file 'ckupload.php' in my web root folder and added the following code in it:
<?php
    $callback = $_GET['CKEditorFuncNum'];
    $file_name = $_FILES['upload']['name'];
    $file_name_tmp = $_FILES['upload']['tmp_name'];
    $file_new_name = '/var/www/ckeditortest/upload/';
    $full_path = $file_new_name.$file_name;
    $http_path = '/upload/'.$file_name;
    $error = '';
    if( move_uploaded_file($file_name_tmp, $full_path) ) {
    } else {
     $error = 'Some error occured please try again later';
     $http_path = '';
    }
    echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$callback.",  \"".$http_path."\", \"".$error."\" );</script>";
?>  

5. Also you must add this line in your config file:

 In the /ckeditor/config.js:
CKEDITOR.editorConfig = function( config )
{
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
   config.filebrowserUploadUrl = '/ckupload.php';
};    


6. Thats it. Hope this help to anybody.
  

Как заставить CKEditor загружать картинки на сервер (без применения CKFinder).

CKEditor является прекрасным WYSIWYG  редактором, но к сожалению не всегда можно найти то, что нужно в официальной документации, так что приходится иногда "рыскать" по сети в поисках ответа на нужные вопросы ).
Этот уикэнд Я посвятил тому, что пытался заставить редактор последней версии грузить картинки на сервер без дополнительных приблуд, типа ckfinder, т.к. в документации заявлена эта возможность:

http://docs.cksource.com/CKEditor_3.x/Developers_Guide/File_Browser_(Uploader)


CKEditor can be easily integrated with an external file browser/uploader.
Once properly set up, all file browser features will automatically become available. This includes the Upload tab(1) in the Link,Image, and Flash Properties dialog windows as well as the Browse Server button(2).

File browser features available for images in CKEditor




Вобщем после долгих часов гугления и экспериментов, мне таки удалось заставить редактор делать то, что мне надо. 
Итак, пошагово:
1. Скачиваем и устанавливаем последнюю версию CKEditor (не FCKEditor,  кстати, кто не в курсе  CKEditor и FCKEditor 
это одно и то же по сути, раньше он назывался FCKEditor, но автор решил его переименовать, т.к. FCK похое на аббревиатуру слова "fuck" :)) ).


2. Идем в /ckeditor/plugins/image/dialogs/image.js, находим строчку id:'Upload',hidden:true и меняем ее на id:'Upload',hidden:false.  Теперь если зайти на диалоговое око Image в окне редактора, то там должна появится 
вкладка 'Upload'  с кнопками  'Browse'  и  'Send it to server'.  
Теперь можно выбирать файл на диске и нажимать кнопку 'Send it to server'. Естественно при этом ничего происходить не должно, и это праивильно. 


3. Далее, добавляем в конфиге редактора путь к обработчику наших загрузок (в нашел случае пусть это будет php скрипт). 
В файле /ckeditor/config.js пишем 1 строчку:

Где '../ckupload.php' собственно путь к обработчику загруженных файлов.
Вычислить правильность пути, можно нажав на кнопку 'Send it to server' при открытой вкладке Net в Firebug. Вы должны добиться того, чтобы из php скрипта приходил ответ на ваш запрос. 


4. В обработчике  ckupload.php пишем:






5. Всё. По идее у вас все должно заработать.  В скрипте ничего военного, обычная загрузка файла на сервер в указанную папку. 
Единственное, что скрипт печатает это:   
Где $callback это имя функции, которое приходит в файл в массиве $_GET[], 
    $http_path - путь к картинке, котрая тут же покажется в превью.
    $error - возможные ошибки. Если что-то пошло не так, вы увидите алерт с 
    текстом ошибки.