Загрузка картинок на сайт как опция
12
Данная функция даёт вам возможность, как администратору сайта отключить или включить загрузку картинок на сайт
1. в файл config.php добавляем строку
2. classes/modules/sys_viewer/Viewer.class.php
над или под строкой
вписываем:
3. include/ajax/uploadImg.php
после строки:
вписываем:
далее в самом низу в этом же файле после кода:
вписываем:
4. actions/ActionTopic/add.tpl
находим код:
вставляем его между:
ну и находим полный код кнопки «картинки» и делаем с ней тоже самое
пс… main.js вот незнаю надо оно или нет, старый код заменим этим:
1. в файл config.php добавляем строку
define('USER_USE_UPLOAD_IMG',false); // режим загрузки картинок на хостинг сайта2. classes/modules/sys_viewer/Viewer.class.php
над или под строкой
$this->Assign("BLOG_USE_TINYMCE",BLOG_USE_TINYMCE);вписываем:
$this->Assign("USER_USE_UPLOAD_IMG",USER_USE_UPLOAD_IMG);3. include/ajax/uploadImg.php
после строки:
require_once("./config/config.ajax.php");вписываем:
if (USER_USE_UPLOAD_IMG == true) {далее в самом низу в этом же файле после кода:
$GLOBALS['_RESULT'] = array(
"bStateError" => $bStateError,
"sText" => $sText,
);вписываем:
}
else{
print "ку ку";
}4. actions/ActionTopic/add.tpl
находим код:
{include file='window_load_img.tpl' sToLoad='topic_text'}вставляем его между:
{if $USER_USE_UPLOAD_IMG}
{include file='window_load_img.tpl' sToLoad='topic_text'}
{/if}ну и находим полный код кнопки «картинки» и делаем с ней тоже самое
пс… main.js вот незнаю надо оно или нет, старый код заменим этим:
if (USER_USE_UPLOAD_IMG == true) {
function ajaxUploadImg(value,sToLoad) {
var req = new JsHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4) {
document.getElementById('debug').innerHTML = req.responseText;
closeWindowStatus();
if (req.responseJS.bStateError) {
msgErrorBox.alert('Ошибка','Возникли проблемы при загрузке изображения, попробуйте еще разок. И на всякий случай проверьте правильность URL картинки');
showWindow('window_load_img');
} else {
voidPutTag(sToLoad,req.responseJS.sText);
}
}
}
closeWindow('window_load_img');
showWindowStatus('Загрузка изображения...');
req.open(null, DIR_WEB_ROOT+'/include/ajax/uploadImg.php', true);
req.send( { value: value } );
}
} else {
}
- +7
- 17 декабря 2008, 18:22
- Lora_GT
допысывать в main.js if (USER_USE_UPLOAD_IMG == true) { не ообязательно, да и к тому же USER_USE_UPLOAD_IMG в скрипте не определена!
и ещё думаю следует заменить в actions/ActionTopic/add.tpl <a href="#" onclick="showWindow('window_load_img'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/img/img.gif" width="20" height="20" title="изображение"></a> на {if $USER_USE_UPLOAD_IMG}
<a href="#" onclick="showWindow('window_load_img'); return false;" class="button"><img src="{$DIR_STATIC_SKIN}/img/img.gif" width="20" height="20" title="изображение"></a>
{/if} чтоб не нервировать каждый раз пользователя ошибками при попытке загрузить картинку…
Судя по всему это написано еще для старой версии движка.
В последней 0.4.2 в classes/modules нет папки sys_viewer
В последней 0.4.2 в classes/modules нет папки sys_viewer
… пардон, рано отправил.
В последней же версии (0.4.2), решается данный вопрос еще более просто, я бы сказал элементарно:
нужно в папке со скином/темой открыть файл
Таким образом остается только возможность подставить URL загруженной куда-то картинки.
P.S. перед тем как отправить это сообщение, попробовал у себя на тестовой площадке, оказывается если подставить только ссылку, изображение всеравно загружается на сервер сайта :)
Покопаемся еще немного…
В последней же версии (0.4.2), решается данный вопрос еще более просто, я бы сказал элементарно:
нужно в папке со скином/темой открыть файл
window_load_img.tplи там можно просто убрать 7-ю строку<p><label for="img_file">{$aLang.uploadimg_file}:</label><br /><input type="file" name="img_file" value="" class="w100p" /></p>Таким образом остается только возможность подставить URL загруженной куда-то картинки.
P.S. перед тем как отправить это сообщение, попробовал у себя на тестовой площадке, оказывается если подставить только ссылку, изображение всеравно загружается на сервер сайта :)
Покопаемся еще немного…
Надо в файле include/ajax/uploadImg.php закомментировать строки:
Вот и все =) остается только дописать пару строчек для пропорционального изменения размеров загружаемой картинки, напр. чтобы она была максимум 500px по ширине
$oUserCurrent=$oEngine->User_GetUserCurrent();
if (is_uploaded_file($_FILES['img_file']['tmp_name'])) {
if(!$sFile=$oEngine->Topic_UploadTopicImageFile($_FILES['img_file'],$oUserCurrent)) {
$sMsgTitle=$oEngine->Lang_Get('error');
$sMsg=$oEngine->Lang_Get('uploadimg_file_error');
}
}… и ниже в if, строку:$sFile = $oEngine->Topic_UploadTopicImageUrl($_REQUEST['img_url'],$oUserCurrent);заменить на:$sFile= $_REQUEST['img_url'];Вот и все =) остается только дописать пару строчек для пропорционального изменения размеров загружаемой картинки, напр. чтобы она была максимум 500px по ширине
Комментарии (4)
RSS свернуть / развернуть