11.03.15, 09:09
0 комментарий
  DLE Хаки

DLE Socialposting - постинг картинки не стандартно сохранённой

Если картинки к новости находится не в полной или краткой новости, а в доп поле, при этом в доп поле эта картинка, заполняется граббером и ссылка на неё указывается какой то относительный путь для граббера а не от корня сайта, то для её успешного постинга в социалку, необходимо сделать дополнительные правки.

Например, ситуация:
Стоит граббер, который в дополнительное поле сует не полный путь до картинки, а относительный. Например, "2015-02-17/398/img_00.jpg". А полный путь - "http://site.ru/uploads/thumbs/2015-02-17/398/img_00.jpg"

Для решения такой задачи, необходимо:
Для работы постинга с выключенным режимом постинга по крону
Файл: /engine/modules/socialposting/posting.php
Найти:

include ENGINE_DIR . "/modules/socialposting/cron.php";


Добавить выше:

		$config_posting['poster']="none";
		$xfieldsImg = xfieldsload();
		$xfieldsdataImg = xfieldsdataload($filecontents);
		$config_posting['noposter'] = "/uploads/thumbs/" . $xfieldsdataImg['thumb'];


Где: $xfieldsdataImg['thumb'] - это название доп поля в каком хранится относительный путь к картинке

Для работы постинга с включенным режимом постинга по крону
Файл: /cron.php
Найти:

include_once ENGINE_DIR . '/modules/socialposting/cron.php';


Добавить выше:

			require_once ENGINE_DIR.'/data/config.posting.php';
			$row_post = $db->super_query("SELECT pid FROM " . PREFIX . "_socialposting LIMIT 0,1");
			$rowImg = $db->super_query("SELECT xfields FROM " . PREFIX . "_post WHERE id='{$row_post['pid']}'");
			$config_posting['poster']="none";
			$xfieldsImg = xfieldsload();
			$xfieldsdataImg = xfieldsdataload($rowImg['xfields']);
			$config_posting['noposter'] = "/uploads/thumbs/" . $xfieldsdataImg['thumb'];
			$news_id = $row_post['pid'];


Таким образом мы "обманываем" модуль и подсовываем ему нужную нам картинку вместо картинки-заглушки.

Автор: MSW
Версия DLE: 8.3 - 10.4

Напишите своё мнение