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

Таблица смайлов в Редактировании подписи.


Вопрос

Решил вот расширить функционал в профиле и добавить в Редактирование подиписи все тэги из нормальной формы ответа и таблицу смайлов, с тэгами проблем не было, а вот таблица смайлов парситься не хочет, так что писать буду только про смайлы. Мною было сделано следующее:

В skin_ucp

это

</table>
<div align="center"><p><textarea cols='60' rows='12' name='Post' tabindex='3' class='textinput'>$t_sig</textarea><br />(<a href='java script:CheckLength()'>{$ibforums->lang['check_length']}</a>)</p></div>
<div class='pformstrip' align="center"><input type='submit' value='{$ibforums->lang['cp_submit_sig']}' class="forminput" /></div>

Заменено на это

<tr>
<td>
<!--SMILIE TABLE--> 
<br />
(<a href='java script:CheckLength()'>{$ibforums->lang['check_length']}</a>)
</td>
<td><textarea cols='80' rows='12' name='Post' tabindex='3' class='textinput'>$t_sig</textarea><br /></td>
</tr>
</table><div class='pformstrip' align="center"><input type='submit' value='{$ibforums->lang['cp_submit_sig']}' class="forminput" /></div>

Перед

}
?>

Добавлено

function smilie_table() {
global $ibforums;
return <<<EOF
<table class='tablefill' cellpadding='4' align='center'>
<tr>
<td align="center" colspan="{$ibforums->vars['emo_per_row']}"><b>{$ibforums->lang['click_smilie']}</b></td>
</tr>
<!--THE SMILIES-->
<tr>
<td align="center" colspan="{$ibforums->vars['emo_per_row']}"><b><a href='java script:emo_pop()'>{$ibforums->lang['all_emoticons']}</a></b></td>
</tr>
</table>
EOF;
}

В Usercp перед

 	//*******************************************************************/
	//| Photo:
	//|
	//| Change / Add / Edit Users Photo
	//*******************************************************************/

	function photo()
	{

Добавлено

 	//*******************************************************************/
	//| Smilie:
	//|
	//| Add smilie box
	//*******************************************************************/

	function html_add_smilie_box() {
	global $ibforums, $DB;

	$show_table = 0;
	$count	  = 0;
	$smilies	= "<tr align='center'>\n";

	// Get the smilies from the DB

	$eval = empty( $ibforums->member['emoticons'] ) ? 1 : 0;
	if ( $eval ) {
		$DB->query("SELECT * FROM ibf_emoticons WHERE clickable=1");
	} else {
		$DB->query("SELECT * FROM ibf_emoticons WHERE id IN (".$ibforums->member['emoticons'].")");
	}

	while ($elmo = $DB->fetch_row() ) {

		$show_table++;
		$count++;

		// Make single quotes as URL's with html entites in them
		// are parsed by the browser, so ' causes JS error :o

		if (strstr( $elmo['typed'], "'" ) )
		{
			$in_delim  = '"';
			$out_delim = "'";
		}
		else
		{
			$in_delim  = "'";
			$out_delim = '"';
		}

		$smilies .= "<td><a href=\"".$elmo['typed']."\" onclick={$out_delim}emoticon($in_delim".$elmo['typed']."$in_delim); return false;{$out_delim}><img src=\"".$ibforums->vars['EMOTICONS_URL']."/".$elmo['image']."\" alt='".$elmo['typed']."' border='0'></a> </td>\n";

		if ($count == $ibforums->vars['emo_per_row']) {
			$smilies .= "</tr>\n\n<tr align='center'>";
			$count = 0;
		}
	}

	if ($count != $ibforums->vars['emo_per_row']) {
		for ($i = $count; $i < $ibforums->vars['emo_per_row']; ++$i) {
			$smilies .= "<td> </td>\n";
		}
		$smilies .= "</tr>";
	}

	$table = $this->html->smilie_table();

	if ($show_table != 0) {
		$table = preg_replace( "/<!--THE SMILIES-->/", $smilies, $table );
		$this->output = preg_replace( "/<!--SMILIE TABLE-->/", $table, $this->output );
	}

}

Что не так? почему не парсит? Может я что то пропустил?

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

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

  • 0

Все, разобрался сам, забыл В Usercp.php в функции UserCP() добавить после

// If we have any HTML to print, do so...

следующее

$this->html_add_smilie_box();

Странно что никто не заметил такой косяк :D

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

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

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

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

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

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

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

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

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

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

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

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