Открыть Ответить

Смайликов больше 99 штук

11
09.05.2012 14:59:40 09.05.2012 15:17:38

В функции bb_decode

После строк

PHP
$bb[] = "#\\*(\\d{2})#";
$html[] = "<img src=\\"".img_find("smilies/\\\\1.gif")."\\" border=\\"0\\">";

Вставить

PHP
$bb[] = "#::(.*?)::#si";
$html[] = "<img src=\\"".img_find("smiliesTwo/\\\\1")."\\" border=\\"0\\">";//укажи папку с твоими смайлами если будешь делать другую

В функции textarea

Вот часть кода думаю разберешься

PHP
/* Начало вставки */		
			
			$dir = opendir(img_find("smiliesTwo"));//укажи папку с твоими смайлами если будешь делать другую
			while ($entry = readdir($dir)) {
if (preg_match("/(\\.gif|\\.png|\\.jpg|\\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") {
//укажи папку с твоими смайлами если будешь делать другую
$manySmiles .= " <img src=\\"".img_find("smiliesTwo/".$entry."")."\\" OnClick=\\"InsertCode('smilies', '::".$entry."::', '', '', '".$id."');\\" style=\\"cursor: pointer; margin: 3px 2px 0px 0px;\\" alt=\\""._SMILIE." - ".$entry."\\" title=\\""._SMILIE." - ".$entry."\\">";}
			}
			closedir($dir);
//Конец вставки
		
		
		if ($conf['smilies'] == 1) {
			$code .= "<div class=\\"smilies\\">";
			for ($i = 1; $i < 19; $i++) {
				$i = ($i < 10) ? "0".$i : $i;
				$code .= " <img src=\\"".img_find("smilies/".$i.".gif")."\\" OnClick=\\"InsertCode('smilies', ' *".$i."', '', '', '".$id."');\\" style=\\"cursor: pointer; margin: 3px 2px 0px 0px;\\" alt=\\""._SMILIE." - ".$i."\\" title=\\""._SMILIE." - ".$i."\\">";
			}
			
			$code .= $manySmiles;//Добавили
			
			$code .= "</div>";
		} elseif ($conf['smilies'] == 2) {
			$code .= "<div class=\\"smilies\\">";
			$i = 1;
			$dir = opendir(img_find("smilies"));
			while ($entry = readdir($dir)) {
				if (preg_match("/(\\.gif|\\.png|\\.jpg|\\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") {
					$i = ($i < 10) ? "0".$i : $i;
					$code .= " <img src=\\"".img_find("smilies/".$i.".gif")."\\" OnClick=\\"InsertCode('smilies', ' *".$i."', '', '', '".$id."');\\" style=\\"cursor: pointer; margin: 3px 2px 0px 0px;\\" alt=\\""._SMILIE." - ".$i."\\" title=\\""._SMILIE." - ".$i."\\">";
					$i++;
				}
			}
			closedir($dir);
			
			$code .= $manySmiles;//Добавили
			$code .= "</div>";
		} else {
			$code .= "<div id=\\"sm".$id."\\" style=\\"display: none;\\" class=\\"smilies\\">";
			$i = 1;
			$dir = opendir(img_find("smilies"));
			while ($entry = readdir($dir)) {
				if (preg_match("/(\\.gif|\\.png|\\.jpg|\\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") {
					$i = ($i < 10) ? "0".$i : $i;
					$code .= " <img src=\\"".img_find("smilies/".$i.".gif")."\\" OnClick=\\"InsertCode('smilies', ' *".$i."', '', '', '".$id."');\\" style=\\"cursor: pointer; margin: 3px 2px 0px 0px;\\" alt=\\""._SMILIE." - ".$i."\\" title=\\""._SMILIE." - ".$i."\\">";
					$i++;
				}
			}
			closedir($dir);
			
			
			
			
			
			$code .= $manySmiles;//Добавили
			$code .= "</div>";
		}
ra55551
ra55551
3.75

3.75

12
10.05.2012 17:09:11 10.05.2012 17:10:26

Не работает!
У меня вместо

PHP
$bb[] = "#\*(\d{2})#"; 
$html[] = "<img src=\"".img_find("smilies/\\1.gif")."\" border=\"0\">";

вот это:

PHP
$bb[] = "#\*(\d{2})#";
$html[] = "<img src=\"images/smilies/\\1.gif\" border=\"0\">";

Но я пробовал итак:

PHP
$bb[] = "#::(.*?)::#si"; 
$html[] = "<img src=\"".img_find("smiliesTwo/\\1")."\" border=\"0\">";

и так:

PHP
$bb[] = "#::(.*?)::#si"; 
$html[] = "<img src=\"images/smilies2/\\1.gif\" border=\"0\">";

В остальном все сделал, как написано:

PHP
		$dir = opendir(img_find("smilies2"));
		while ($entry = readdir($dir)) { 
		if (preg_match("/(\.gif|\.png|\.jpg|\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") { 
		$manySmiles .= " <img src=\"".img_find("smilies2/".$entry."")."\" OnClick=\"InsertCode('smilies', '::".$entry."::', '', '', '".$id."');\" style=\"cursor: pointer; margin: 3px 2px 0px 0px;\" alt=\""._SMILIE." - ".$entry."\" title=\""._SMILIE." - ".$entry."\">";} 
		} 
		closedir($dir);

				if ($conf['smilies'] == 1) {
			$code .= "<div class=\"smilies\">";
			for ($i = 1; $i < 19; $i++) {
				$i = ($i < 10) ? "0".$i  : $i;
				$code .= " <img src=\"images/smilies/$i.gif\" OnClick=\"AddSmile(' *$i');\" style=\"cursor: pointer; margin: 3px 2px 0px 0px;\" alt=\""._SMILIE." - $i\" title=\""._SMILIE." - $i\">";
			}
			$code .= $manySmiles;
			$code .= "</div>";
		} elseif ($conf['smilies'] == 2) {
			$code .= "<div class=\"smilies\">";
			$i = 1;
			$dir = opendir("images/smilies");
			while ($entry = readdir($dir)) {
				if (preg_match("/(\.gif|\.png|\.jpg|\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") {
					$i = ($i < 10) ? "0".$i  : $i;
					$code .= " <img src=\"images/smilies/$i.gif\" OnClick=\"AddSmile(' *$i');\" style=\"cursor: pointer; margin: 3px 2px 0px 0px;\" alt=\""._SMILIE." - $i\" title=\""._SMILIE." - $i\">";
					$i++;
				}
			}
			closedir($dir);
			$code .= $manySmiles;
			$code .= "</div>";
		} else {
			$code .= "<div id=\"sm".$id."\" class=\"smilies\"><script type=\"text/javascript\">var edits = new SwitchCont('sm".$id."', '2');</script>";
			$i = 1;
			$dir = opendir("images/smilies");
			while ($entry = readdir($dir)) {
				if (preg_match("/(\.gif|\.png|\.jpg|\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") {
					$i = ($i < 10) ? "0".$i  : $i;
					$code .= " <img src=\"images/smilies/$i.gif\" OnClick=\"AddSmile(' *$i');\" style=\"cursor: pointer; margin: 3px 2px 0px 0px;\" alt=\""._SMILIE." - $i\" title=\""._SMILIE." - $i\">";
					$i++;
				}
			}
			closedir($dir);
			$code .= $manySmiles;
			$code .= "</div>";
		}

Создал папку smilies2, положил туда смайликов и ничего.

Storozh
Storozh
3.62

3.62

13
10.05.2012 18:34:09 10.05.2012 18:34:34

smiliesTwo - это папка в которой должны лежать твои смайлы

templates/твоя тема/images/smiliesTwo/тут твои смайлы

ra55551
ra55551
3.75

3.75

14
10.05.2012 19:15:54

smiliesTwo - это папка в которой должны лежать твои смайлы

templates/твоя тема/images/smiliesTwo/тут твои смайлы

Перенес папку из /images в /templates/твоя тема/images/ и все равно ничего!

Storozh
Storozh
3.62

3.62

15
16.05.2012 03:34:09

Кинь в личку файл function.php

ra55551
ra55551
3.75

3.75

16
19.05.2012 14:57:06

Кинул )

Storozh
Storozh
3.62

3.62

17
21.05.2012 04:12:02 21.05.2012 04:18:32

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

Папка с твоими смайлами: images/smilies2

PHP
	//начало изменений
$dir = opendir("images/smilies2");
	while ($entry = readdir($dir)) { 
		if (preg_match("/(\\.gif|\\.png|\\.jpg|\\.jpeg)$/is", $entry) && $entry != "." && $entry != "..") { 
		$manySmiles .= " <img src=\\"images/smilies2/".$entry."\\" OnClick=\\"InsertCode('smilies', '::".$entry."::', '', '', '".$id."');\\" style=\\"cursor: pointer; margin: 3px 2px 0px 0px;\\" alt=\\""._SMILIE." - ".$entry."\\" title=\\""._SMILIE." - ".$entry."\\">";} 
		} 
		closedir($dir);
		//конец изменений

Администрация сайта : НЕ УДОБНО Вставлять код в котором присутствуют слеши. Приходиться их дублировать для нормального отображения кода

ra55551
ra55551
3.75

3.75

18
26.05.2012 07:43:51 26.05.2012 07:45:05

ra55551, спасибо за помощь! Только сегодня смог опробовать. Смайлики теперь отображаются, но при вставке в редактор происходит просто: [smilies][/smilies]. Т.е. не *_11, например, а просто [smilies][/smilies] без какой либо цифры. Я так понимаю проблема где-то здесь осталась?:

PHP
		$bb[] = "#\*(\d{2})#";
		$html[] = "<img src=\"images/smilies/\\1.gif\" border=\"0\">";
		$bb[] = "#::(.*?)::#si"; 
		$html[] = "<img src=\"".img_find("smilies2/\\1")."\" border=\"0\">";

А еще в новую папку images/smilies2 смайлики под какой нумерацией кидать? Последний смайлик в папке images/smilies закончился под номером 99.gif

Storozh
Storozh
3.62

3.62

19
26.05.2012 08:22:00 26.05.2012 08:26:32

Ты не внимателен

Во-первых :
в папку кидаешь смайлы с любым названием
Во-вторых : Ты пишешь что утебя смаылй вставляются [smiles][/smiles]

а должно так

::твой смайл::

Кинь свой файл function.php мне в личку или здесь на форуме

ra55551
ra55551
3.75

3.75

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр