Перейти к контенту

Добавляем alt изображению в посте для 2.1.7


Рекомендуемые сообщения

Написано для опытных :D

 

Для начала меняем фун-ю function tag_image() в файле class_editor_std.php на:

function tag_image()
{
var FoundErrors = '';
// edited: jAx :P
//----------------------------------------
// Do we have ranged text?
//----------------------------------------

if ( check_range() )
{
	//----------------------------------------
	// Yes, just wrap text
	//----------------------------------------

	wrap_tags( "[img=", "]", "" );
}
else
{
	var enterURL = prompt(text_enter_image, "http://");
	var enterTITLE = prompt("Введите описание", "");	
	if ( ! enterURL )
	{ 
		alert(error_no_url); 
		return; 
	}
	if ( enterTITLE )
	{ 
enterTITLE = '=' + enterTITLE;
	}

	wrap_tags("[img"+enterTITLE+"]"+enterURL+"[/img]", "");
}
}

class_bbcode_core.php

// 1. Обратите внимание, на добавленную переменную $title=""

function regex_check_image($url="", $title="")

		//-----------------------------------------
	// Is it a legitimate image?
	//-----------------------------------------

	/*if ( ! preg_match( "/^(http|https|ftp):\/\//i", $url ) )
	{
		$this->error = 'no_dynamic';
		return $default;
	}*/

	//-----------------------------------------
	// If we are still here....
	//-----------------------------------------

	$url = str_replace( " ", "%20", $url );
	// 2. Обратите внимание, что из кода убран alt и добавлен title, который включает переменную
	return "<img src=\"$url\" border=\"0\" title=\"$title\" />";
}

class_bbcode.php:

$txt = preg_replace( "#<img title=[\"'](\S+?)[\"'] .+? src=[\"'](\S+?)['\"].+?".">#"		   , "\[IMG=\\2\]\\1\[/IMG\]"			, $txt );

$txt = preg_replace( "#\[img=(.+?)\](.+?)\[/img\]#ie"				, "\$this->regex_check_image('\\2','\\1')"	, $txt );
			$txt = preg_replace( "#\[img\](.+?)\[/img\]#ie"							 , "\$this->regex_check_image('\\1')"		  , $txt );

Ссылка на комментарий
Поделиться на других сайтах

Вот это:

		//-----------------------------------------
	// Is it a legitimate image?
	//-----------------------------------------

	/*if ( ! preg_match( "/^(http|https|ftp):\/\//i", $url ) )
	{
		$this->error = 'no_dynamic';
		return $default;
	}*/

Мне кажется может быть весьма опасным. Jax ты из каких соображений закоментировал проверку?

Ссылка на комментарий
Поделиться на других сайтах

Я тоже заметил это, но не я комментировал. Это в дистрибутиве русской сборки уже есть.

 

Имейте ввиду, что мод несовместим с модом SAT`а, по масшабированию изображения.

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Jax, я думаю передумаю и поставлю данный мод (раз уж он был написал "благодоря" мне ;) ), но немогли бы вы написать так же еще и мод к нему, чтобы можно было выставить размеры картинки :D

А если еще ограничить это по группам (модеры и выше) и (или) по макс. размерам (800 на 600 скажем) - то цены бы не было )

Ссылка на комментарий
Поделиться на других сайтах

А если еще ограничить это по группам (модеры и выше) и (или) по макс. размерам (800 на 600 скажем) - то цены бы не было )

Цена есть :) Шутка.

Написать ограничение по группам будет не сложно.

Jax, я думаю передумаю и поставлю данный мод (раз уж он был написал "благодоря" мне ), но немогли бы вы написать так же еще и мод к нему, чтобы можно было выставить размеры картинки

Масшабирование изображения есть от SAT, только надо ставить либо то, либо другое :D Но правильнее будет поставить его мод и уже переписать мой ;)

Ссылка на комментарий
Поделиться на других сайтах

Мне масшабирование не нужно ) Нужно просто возможность добавления размеров :D Помогает на случай, если картинка не загрузится или картинки отключены ;)

 

Поможете? На счет ограничения - может быть его б я сам и написал, но вот как вывести ошибку в случае не той группы не знаю, так как совсем не умею работать с ошибками IPB (там же встроенный класс, какой-то...)

Ссылка на комментарий
Поделиться на других сайтах

Мне масшабирование не нужно ) Нужно просто возможность добавления размеров

:D масштабирование и есть возможность менять размер изображения, указываю ширину и высоту.

Помогает на случай, если картинка не загрузится или картинки отключены

Не понял, как это относится к этому делу ;)

 

А с чем помочь и на что ограничение? Чтобы другие группы не могли писать свой alt к изображению или чтобы они не могли масштабировать его. Если второе, то вам в тему SAT`а :)

 

Да и к тому же, зачем запрещать это юзерам :) Наоборот, делаем все для них, а не для админов :)

Ссылка на комментарий
Поделиться на других сайтах

Мне это нужно сделать только для модераторов раздела новости (ньюсмейкеров). 98% пользователей моего форума - все знакомые между собой люди, и те из них, кто не пишут новостей, не имеют этим пользоваться да и не надо им. А вот скрытые от стандартной группы даст безопастность. Так как хакерыне дремлют )

 

Что мне нужно: тег с аттрибутами alt, width, height, все из которых не обязательные. Парсинг я бы смог написать, но не умею ограничивать по группам и не умею отображать ошибки :D

 

Думаю, парсить можно на основе такого синтаксиса:

alt|width|height

Ссылка на комментарий
Поделиться на других сайтах

Ну будем делать на основе мода SAT тогда, а то просто зачем велосипед свой собирать :D

 

Как будет время - сделаем...

Ссылка на комментарий
Поделиться на других сайтах

  • 4 месяца спустя...
  • 1 год спустя...
Обратите внимание, что из кода убран alt и добавлен title, который включает переменную

А почему вы используете title в теге img (а не alt)?

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

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

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

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.