PDA

Просмотр полной версии : Пару вопросов в DLE


Getozz
19.08.2009, 13:50
Нашел вообщем модуль типа заливает автоматом картинки на сервак.

Вот код и установка:


Создайте файл image_function.php и вставьте в него :

<?php

class image_controller
{
var $images = array ();
var $prefix = 'dl';
var $upload_images = array ();

function reset_url($url)
{
$value = str_replace("http://", "", $url);
$value = str_replace("www.", "", $value);
return reset(explode("/", $value));
}
function get_images ($content)
{
preg_match_all ('#\\[img\\](.+?)\\[/img\\]#ie', $content, $preg_array);
if (count ($preg_array[1]) != 0)
{
foreach ($preg_array[1] as $item)
{
if ($this->reset_url($_SERVER['HTTP_HOST'])!=$this->reset_url($item))
{
if (!(in_array ($item, $this->images)))
{
$this->images[] = $item;
continue;
}
}
}
}

}

function download ($image_url)
{
global $config;
$image_name = basename ($image_url);
$image_arr = explode ('_', $image_name);
if (count ($image_arr) != 0)
{
$image_name = end ($image_arr);
}

$image_name = $this->prefix . '_' . $image_name;

$serv_image_url = $config['http_home_url'] . 'uploads/posts/' . $image_name;
$this->source = str_replace ($image_url, $serv_image_url, $this->source);
@copy ($image_url, UPLOAD_PATH . $image_name);
if (!(in_array (basename ($serv_image_url), $this->upload_images)))
{
$this->upload_images[] = basename ($serv_image_url);
}

}

function process ($parse)
{
$source = preg_replace( "'\[thumb\]([^\[]*)([/\\\\])(.*?)\[/thumb\]'ie", "\$this->build_thumb('\$1\$2\$3', '\$1\$2thumbs\$2\$3')", $source );
$source = preg_replace( "'\[thumb=(.*?)\]([^\[]*)([/\\\\])(.*?)\[/thumb\]'ie", "\$this->build_thumb('\$2\$3\$4', '\$2\$3thumbs\$3\$4', '\$1')", $source );

$this->source = $parse->decodeBBCodes($this->source);
$this->prefix = time ();

if (trim ($this->source) != '')
{
$this->get_images ($this->source);
}

foreach ($this->images as $image_url)
{
$this->download ($image_url);
}



}
}

define ('UPLOAD_PATH', ROOT_DIR . '/uploads/posts/');

?>

Поместите его в engine/inc

Установка:

Откройте файл engine/classes/parse.class.php и найдите:

function process($source) {

Ниже вставьте:

require_once ENGINE_DIR.'/inc/image_function.php';
$i_control = new image_controller();
$i_control->source = $source;
$i_control->process($this);
$source = $i_control->source;

Тут есть бага . Можно с помощю этого задить шелл.

http://fuck.ru/shell.php как убрать эту багу?




И ещет вопрос. У меня на сайте когда вставляешь изображение вводится УРЛ картинки и потом надо выбрать положение . Как сделать так чтобы заместь left автоматом прописивалось center. Просто надоедает удалять слово left и писать центр. Мне надо сделать так чтобы ввёл урл и дальше при выборе положения было центр

Getozz
19.08.2009, 14:06
Кто подскажет? Модуль хорошый но шелл заливается.

Getozz
19.08.2009, 16:22
никто не знает?

mailbrush
19.08.2009, 20:03
Проверяй загруженый файл на расширение.

Getozz
20.08.2009, 11:50
Я сильно в програмирование не знаюсь.

Потому вопрос, каким образом мне это сделать?

Getozz
20.08.2009, 12:25
вот как сделать фигню при добавлении картинки7

sven630
20.08.2009, 12:37
И ещет вопрос. У меня на сайте когда вставляешь изображение вводится УРЛ картинки и потом надо выбрать положение . Как сделать так чтобы заместь left автоматом прописивалось center. Просто надоедает удалять слово left и писать центр. Мне надо сделать так чтобы ввёл урл и дальше при выборе положения было центр

Настройка системы=>Настройки вывода новостей=>Выравнивание картинок по умолчанию

Getozz
21.08.2009, 19:14
а кто с модулем поможет?