CMS DataLife Engine - Система управления сайтами

IgorA100

Описание к картинки в галереи убивает картинку !!!

Recommended Posts

6 минут назад, IgorA100 сказал:

По срокам не известно? Или только в новой версии?

К сожалению только в новой версии. Вне версий выходят только исправления связанные с безопасностью.

Share this post


Link to post
Share on other sites
3 часа назад, celsoft сказал:

Опять очередные оскорбления и уж простите бездумный плагин, который попросту меняет структуру хранения данных. Что приведет к тому что при обновлении у пользователей не будет потом отображаться загруженные при использовании плагина изображения. За что вас благодарить? За неумение думать о совместимости или невозможность самому адекватно воспринимать критику? Изменять структуру хранения доп. полей это же очень гениальное решение, вместо того чтобы банально запятую перевести в HTML сущность, как уже сделано для других символов, тех же кавычек например.

Почему же? Я выдал решение которое посчитал нужным. Кто захочет и воспользуется им. Или вы предлагаете мне править все баги за вас так еще учитывая все возможности по следующим релизам? Люди будут ждать до следующего релиза исправления данной проблемы, но они заплатили вам за продукт. У этой проблемы несколько вариантов решения. У некоторых кончиться лицензия к примеру, и что вы предлагаете? Покупать продление лицензии? Идти на фриланс? А ну да, я заплатил так еще должен пойти на сторону что бы устранили проблему в продукте который я только что купил. Разумеется вам не выгодно латать все сразу, ведь как же продление лицензий тогда?

В html сущность можно так же реализовать, но если я сейчас затрону строку

if( preg_match( "/[?&;<]/", $t_v) OR stripos( $t_v, ".php" ) !== false ) $newpostedxfields[$value[0]] = "";

Вы начнете орать что нарушил безопасность движка.

Edited by Gameer

Share this post


Link to post
Share on other sites
3 минуты назад, Gameer сказал:

Люди будут ждать до следующего релиза исправления данной проблемы, но они заплатили вам за продукт.

В общем-то конечно в этом есть что-то правильное.....

Но, как у нас принято (не только в DLE, не только в программировании) - ждите, верьте и надейтесь. Или - "не нравится - не бери" :))))

Share this post


Link to post
Share on other sites
10 минут назад, IgorA100 сказал:

ждите, верьте и надейтесь

денег нет, но вы держитесь;)

Share this post


Link to post
Share on other sites
9 минут назад, IgorA100 сказал:

В общем-то конечно в этом есть что-то правильное.....

Но, как у нас принято (не только в DLE, не только в программировании) - ждите, верьте и надейтесь. Или - "не нравится - не бери" :))))

Просто я уже не пойму придирки. Окей первый плагин был косячный, сделал так что бы все работало. Но опять РАЗРАБОТЧИКУ не нравится то что помогаешь решить проблему с его продуктом. Это его дело. Пусть закроет для других комментарии кроме самого себя и ТС в категории Баги, и помогает всем сам.

Share this post


Link to post
Share on other sites
44 минуты назад, Gameer сказал:

Я выдал решение которое посчитал нужным. Кто захочет и воспользуется им.

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

 

44 минуты назад, Gameer сказал:

Или вы предлагаете мне править все баги за вас так еще учитывая все возможности по следующим релизам?

Я вам ничего не предлагаю, и вас ни о чем не прошу. Поэтому не нужно писать, что я вам что либо предлагаю. Честно скажу, что мне ничего не нужно от вас. Моя задача предупреждать пользователей, если я вижу явно неправильное и некорректное внесение изменений в хранение данных. Чтобы они были осведомлены, что установка этого плагина принесет в будущем проблемы. А себе и для себя вы можете делать что угодно и как угодно, я в это никак не вмешиваюсь, и вам советы в данном вопросе никак не даю.

 

44 минуты назад, Gameer сказал:

Разумеется вам не выгодно латать все сразу, ведь как же продление лицензий тогда?

Вы действительно думаете что ошибки появляются умышленно? Вы в это верите? Если да, то в таком случае вас можно обвинить в том что вы умышленно написали некорректный плагин, чтобы потом те кто его поставил, пришел к вам за исправлением, за которые вы уже потребуете денег. Хотя конечно я думаю, что все было иначе, вы просто не подумали об этом, придумав просто такой вариант решения. Верно? Думаю да. Так в таком случае почему вы нас обвиняете в том что мы делаем ошибки, чтобы потом зарабатывать на продлении?

 

29 минут назад, Gameer сказал:

Но опять РАЗРАБОТЧИКУ не нравится то что помогаешь решить проблему с его продуктом.

Я вообще не понимаю вашей позиции, нам не нужно нравится или нет. Мне все равно как написан ваш плагин, и что он делает. Все что я в нем увидел, это проблемы в будущем, когда человек отключит или уберет плагин. Все его данные перестанут корректно отображаться. И видя это, моя обязанность была предупредить об этом других пользователей, что я и сделал. Это вам не нравится, что мы предупредили других об этом. Вы же по непонятным причинам решили, что мы не должны предупреждать пользователей о плохом и опасном коде. Только вот поддержку оказывать нам, решать проблемы потом нам, и об этом мы будем предупреждать, нравится ли вам это или нет.

 

На самом деле суть вашего недовольства проста, вы любите всех критиковать, но терпеть не можете критики в свой адрес, несмотря на явно совершенные ошибки и неправильные действия. Но считаете, что об этом другие должны молчать. Мы же не пишем когда есть ошибка в работе DLE, что такой ошибки нет. И если использование запятой не работает, то мы так и пишем, что проблема есть, будет изучена и исправлена. И ошибки исправляются с выходом следующей версии, а не через 10 версий. Так делают все нормальные разработчики, а не обижаются со словами: ну и что, я хоть что то написал, как это делаете вы.

 

44 минуты назад, Gameer сказал:

В html сущность можно так же реализовать, но если я сейчас затрону строку


if( preg_match( "/[?&;<]/", $t_v) OR stripos( $t_v, ".php" ) !== false ) $newpostedxfields[$value[0]] = "";

Вы начнете орать что нарушил безопасность движка.

Конечно, потому как либо вмешиваться в эту строчку не нужно для этого. Она проверяет совсем другой параметр, а не описание. А сущность нужно использовать только для описания и ничего другого, а это строка проверяет содержимое URL картинки. И если вы тронете эту проверку, и нарушите безопасность, мы что ли в этом будем виноваты? Или должны будем промолчать об этом, чтобы пользователи не знали, что появилась от этого уязвимость?

  • Upvote 1
  • Thanks 1

Share this post


Link to post
Share on other sites
31 минуту назад, celsoft сказал:

Вы действительно думаете что ошибки появляются умышленно? Вы в это верите? Если да, то в таком случае вас можно обвинить в том что вы умышленно написали некорректный плагин, чтобы потом те кто его поставил, пришел к вам за исправлением, за которые вы уже потребуете денег. Хотя конечно я думаю, что все было иначе, вы просто не подумали об этом, придумав просто такой вариант решения. Верно? Думаю да. Так в таком случае почему вы нас обвиняете в том что мы делаем ошибки, чтобы потом зарабатывать на продлении?

Нет, вы меня не так поняли. Я вас ни в чем нигде и не обвинял. А если это прозвучало именно так, то прошу свои извинения по этому поводу.

32 минуты назад, celsoft сказал:

На самом деле суть вашего недовольства проста, вы любите всех критиковать, но терпеть не можете критики в свой адрес, несмотря на явно совершенные ошибки и неправильные действия.

Наоборот, я принимаю критику в свою сторону очень лояльно и всегда готов к ней прислушаться. Первый плагин был не верный в плане исправления - согласен. Второй плагин - исправляет проблему но имеет свои изъяны. Как раз об этом я не написал, я это учту и в дальнейшем буду предупреждать сразу.

35 минут назад, celsoft сказал:

Конечно, потому как либо вмешиваться в эту строчку не нужно для этого. Она проверяет совсем другой параметр, а не описание. А сущность нужно использовать только для описания и ничего другого, а это строка проверяет содержимое URL картинки. И если вы тронете эту проверку, и нарушите безопасность, мы что ли в этом будем виноваты? Или должны будем промолчать об этом, чтобы пользователи не знали, что появилась от этого уязвимость?

Моя не внимательность. Прошу прощения.

Share this post


Link to post
Share on other sites
В 19.11.2018 в 17:03, celsoft сказал:

вместо того чтобы банально запятую перевести в HTML сущность, как уже сделано для других символов, тех же кавычек например.

Что-то мне кажется не все так просто....

В файле /inc/xfields.php в переменную $postedxfields попадает $_POST['xfield'] и там все те-же запятые, вместо которых должно быть по идее

&#044;

плюс "правильные" запятые, которые должны остаться ими.

Т.е. тут понять сложно какие запятые нужны, какие нет.

Как вариант - оставлять только те запятые, которые идет после расширения имени файла, остальные менять на

&#044;

Еще мысль, менять "на лету" запятые на сущность непосредственно после редактирования описания....

Share this post


Link to post
Share on other sites
28 минут назад, IgorA100 сказал:

Что-то мне кажется не все так просто....

В файле /inc/xfields.php в переменную $postedxfields попадает $_POST['xfield'] и там все те-же запятые, вместо которых должно быть по идее


&#044;

плюс "правильные" запятые, которые должны остаться ими.

Т.е. тут понять сложно какие запятые нужны, какие нет.

Как вариант - оставлять только те запятые, которые идет после расширения имени файла, остальные менять на


&#044;

Еще мысль, менять "на лету" запятые на сущность непосредственно после редактирования описания....

@celsoft такой вариант подойдет?

<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
	<name>Фикс запятых в галереи</name>
	<description></description>
	<icon></icon>
	<version></version>
	<dleversion>13.1</dleversion>
	<versioncompare>greater</versioncompare>
	<upgradeurl></upgradeurl>
	<filedelete>0</filedelete>
	<mysqlinstall><![CDATA[]]></mysqlinstall>
	<mysqlupgrade><![CDATA[]]></mysqlupgrade>
	<mysqlenable><![CDATA[]]></mysqlenable>
	<mysqldisable><![CDATA[]]></mysqldisable>
	<mysqldelete><![CDATA[]]></mysqldelete>
	<file name="engine/inc/xfields.php">
		<operation action="after">
			<searchcode><![CDATA[if ($value[8] OR $value[6] OR $value[3] == "image" OR $value[3] == "imagegalery" OR $value[3] == "file") {]]></searchcode>
			<replacecode><![CDATA[if ($value[3] == "imagegalery") {
	$fieldvalue = str_replace('&#044;', '__COMMA__', $fieldvalue);
}]]></replacecode>
		</operation>
		<operation action="before">
			<searchcode><![CDATA[} elseif($value[3] == "htmljs") {]]></searchcode>
			<replacecode><![CDATA[if ($value[3] == "imagegalery") {
	$fieldvalue = str_replace('__COMMA__', '&#044;', $fieldvalue);
}]]></replacecode>
		</operation>
		<operation action="after">
			<searchcode><![CDATA[} elseif (($value[8] == 1 OR $value[6] == 1 OR $value[3] == "select" OR $value[3] == "image" OR $value[3] == "imagegalery" OR $value[3] == "file") AND $postedxfields[$value[0]] != "" ) {]]></searchcode>
			<replacecode><![CDATA[if ($value[3] == "imagegalery") {
	$postedxfields[$value[0]] = str_replace('&#044;', '__COMMA__', $postedxfields[$value[0]]);
}]]></replacecode>
		</operation>
		<operation action="before">
			<searchcode><![CDATA[$f_arr = explode(',', $newpostedxfields[$value[0]]);]]></searchcode>
			<replacecode><![CDATA[$newpostedxfields[$value[0]] = str_replace('__COMMA__', '&#044;', $newpostedxfields[$value[0]]);]]></replacecode>
		</operation>
	</file>
	<file name="engine/inc/addnews.php">
		<operation action="replace">
			<searchcode><![CDATA[sel_alt = sel_alt.replace(/\"/g, '&quot;');]]></searchcode>
			<replacecode><![CDATA[sel_alt = sel_alt.replace(/\"/g, '&quot;').replace(/,/g, '&#044;');]]></replacecode>
		</operation>
		<operation action="after">
			<searchcode><![CDATA[var xfalt = $(this).data('alt').toString().trim();]]></searchcode>
			<replacecode><![CDATA[xfalt = xfalt.replace(/,/g, '&#044;');]]></replacecode>
		</operation>
	</file>
	<file name="engine/inc/editnews.php">
		<operation action="replace">
			<searchcode><![CDATA[sel_alt = sel_alt.replace(/\"/g, '&quot;');]]></searchcode>
			<replacecode><![CDATA[sel_alt = sel_alt.replace(/\"/g, '&quot;').replace(/,/g, '&#044;');]]></replacecode>
		</operation>
		<operation action="after">
			<searchcode><![CDATA[var xfalt = $(this).data('alt').toString().trim();]]></searchcode>
			<replacecode><![CDATA[xfalt = xfalt.replace(/,/g, '&#044;');]]></replacecode>
		</operation>
	</file>
</dleplugin>

 

  • Like 1

Share this post


Link to post
Share on other sites

Блин, видел же эту тему! Мне запятая убила всю галерею - загруженные фото остались, но в дополе "галерея" все стерлось.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now