Чтение RSS каналов

Форум

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

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

11
09.05.2012 14:59:4009.05.2012 15:17:38
В функции bb_decode

После строк

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


Вставить


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



В функции textarea

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


/* Начало вставки */		
			
			$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>";
		}
3.76

3.76
12
10.05.2012 17:09:1110.05.2012 17:10:26
Не работает!
У меня вместо

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


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


Но я пробовал итак:
$bb[] = "#::(.*?)::#si"; 
$html[] = "<img src=\"".img_find("smiliesTwo/\\1")."\" border=\"0\">";


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


В остальном все сделал, как написано:
$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, положил туда смайликов и ничего.
3.62

3.62
13
10.05.2012 18:34:0910.05.2012 18:34:34
smiliesTwo - это папка в которой должны лежать твои смайлы

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

3.76
14
10.05.2012 19:15:54

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

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



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

3.62
15
16.05.2012 03:34:09
Кинь в личку файл function.php
3.76

3.76
16
19.05.2012 14:57:06
Кинул )
3.62

3.62
17
21.05.2012 04:12:0221.05.2012 04:18:32
Вот замени часть кода. И на будущее указывай версию движка , так как предложенный код писался для пятой версии

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

//начало изменений
$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);
		//конец изменений


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

3.76
18
26.05.2012 07:43:5126.05.2012 07:45:05
ra55551, спасибо за помощь! Только сегодня смог опробовать. Смайлики теперь отображаются, но при вставке в редактор происходит просто: [smilies][/smilies]. Т.е. не *_11, например, а просто [smilies][/smilies] без какой либо цифры. Я так понимаю проблема где-то здесь осталась?:
$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
3.62

3.62
19
26.05.2012 08:22:0026.05.2012 08:26:32
Ты не внимателен

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

а должно так

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

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

3.76
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь