FatCat Опубликовано 3 Апреля 2007 Жалоба Поделиться Опубликовано 3 Апреля 2007 Иногда пользователи "шутят", регистрируют ники, похожие на ники других пользователей, отличающиеся на одну-две буквы "Аdmin" с русской буквой "А" и т.п. Сделал простенький скриптик, красящий нелатинские буквы в зеленый цвет. Если все буквы нелатинские - не красит. Понимает цифры и метасимволы. skin_topic.phpНайти, где ник выводится переменной {$author['name']}Заменить на: <script type="text/javascript"> str="{$author['name']}".split('_').join('_') strm=str.split(/&.{2,5};/).join('') strn=strm.split(/[\d]/).join('') strc=strn.split(/[\w]/).join('') if(strc!=''&&strc!=strn){strk='' tz=true for(i=0;i<str.length;i++){ if(str.substring(i,i+1)=='&')tz=false if(tz&&str.substring(i,i+1).split(/[\w]/).join('')!=''){ strk+='<span style="color:Green">'+str.substring(i,i+1)+'</span>' } else{ strk+=str.substring(i,i+1) } if(str.substring(i,i+1)==';')tz=true } str=strk } document.write(str) </script> Пример действия скрипта можно посмотреть в топике первоапрельской шутки - в никах шутников появились зеленые буквы Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Nonamers Опубликовано 3 Апреля 2007 Жалоба Поделиться Опубликовано 3 Апреля 2007 Нужный мод! Респект тебе Вот теперь смеху то будет а то у меня столько было шутников Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 3 Апреля 2007 Жалоба Поделиться Опубликовано 3 Апреля 2007 (изменено) а, айсдля 21 см 2 страницу темы Изменено 19 Сентября 2007 пользователем Arhar Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
-Зверик- Опубликовано 3 Апреля 2007 Жалоба Поделиться Опубликовано 3 Апреля 2007 лучше шутинков банить чтобы неповадно было... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
PALADIN+ Опубликовано 5 Мая 2007 Жалоба Поделиться Опубликовано 5 Мая 2007 Я тоже думаю что лучше банить Или запрещать мешать латиницу и кирилицу при регистрации. (вроде был такой мод) А то если каждый {$author['name']} будет заменяться этим скриптом, страничка станет значительно больше. (у меня на каждой стр. 60 автор-неймов) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roman Borisovich Опубликовано 5 Мая 2007 Жалоба Поделиться Опубликовано 5 Мая 2007 Как бороться символами? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 6 Мая 2007 Автор Жалоба Поделиться Опубликовано 6 Мая 2007 А то если каждый {$author['name']} будет заменяться этим скриптом, страничка станет значительно больше. (у меня на каждой стр. 60 автор-неймов)При включенном ГЗИП-е разница в трафике меньше килобайта... Как бороться символами?Без падежов мою твоё не понимать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Roman Borisovich Опубликовано 6 Мая 2007 Жалоба Поделиться Опубликовано 6 Мая 2007 (изменено) Как бороться символами?Без падежов мою твоё не понимать.Включите файл. Если не понимаете , то незачем отвечать и не выделяться . Символы вам не встречались при регистрации на пример : ***,<>?,<=, <p&m,И т.д. У меня такой шутник был регился два раза под символами . Изменено 6 Мая 2007 пользователем Roman Borisovich Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 7 Мая 2007 Автор Жалоба Поделиться Опубликовано 7 Мая 2007 Символы вам не встречались при регистрации на пример : ***,<>?,<=, <p&m,И т.д. У меня такой шутник был регился два раза под символами .Встречались.Я сам на ряде форумов зареген ником >^..^< Я писал хак, чтобы высветить шутников, подделывающих чужие ники. Хак подсвечивает нелатинские буквы, похожие по написанию на латинские.А в символах что и зачем подсвечивать? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 20 Июня 2007 Жалоба Поделиться Опубликовано 20 Июня 2007 Почему-то не сработало, вылезает кусок HTML кода из ссылки на профайл пользователя и в нем все символы кроме букв оказываются подсвечены. Мне кажется, что это из-за того что {$author['name']} содержит не только имя, но и линк на профайл и линк почему-то не разбирается скриптом так, как надо. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 21 Июня 2007 Автор Жалоба Поделиться Опубликовано 21 Июня 2007 Почему-то не сработало, вылезает кусок HTML кода из ссылки на профайл пользователя и в нем все символы кроме букв оказываются подсвечены. Мне кажется, что это из-за того что {$author['name']} содержит не только имя, но и линк на профайл и линк почему-то не разбирается скриптом так, как надо.1.х?Легко подправить. Topics.phpНайти: $poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>";и удалить (закомментировать) или заменить на $poster['name']=str_replace(" ", " ", $poster['name']);для замены простого пробела неразрывным. skin_topic.phpНайти: {$author['name']}Заменить на:<a href='{$ibforums->base_url}showuser={$author['member_number']}><script type="text/javascript"> str="{$author['name']}".split('_').join('_') strm=str.split(/&.{2,5};/).join('') strn=strm.split(/[\d]/).join('') strc=strn.split(/[\w]/).join('') if(strc!=''&&strc!=strn){strk='' tz=true for(i=0;i<str.length;i++){ if(str.substring(i,i+1)=='&')tz=false if(tz&&str.substring(i,i+1).split(/[\w]/).join('')!=''){ strk+='<span style="color:Green">'+str.substring(i,i+1)+'</span>' } else{ strk+=str.substring(i,i+1) } if(str.substring(i,i+1)==';')tz=true } str=strk } document.write(str) </script></a> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
LordBone Опубликовано 7 Июля 2007 Жалоба Поделиться Опубликовано 7 Июля 2007 А как на счёт 2.1? Метод Архара не работает. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
LordBone Опубликовано 30 Июля 2007 Жалоба Поделиться Опубликовано 30 Июля 2007 UP! The question is still actual... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 30 Июля 2007 Автор Жалоба Поделиться Опубликовано 30 Июля 2007 А как на счёт 2.1? Метод Архара не работает.Не пиши скрипт через админку, вынеси скрипт в js-файл, а через админку только прилинкуй.При вставке джаваскриптов через админку они криво ребилдятся в файлы кеша. Очередной привет "двушкам". Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
LordBone Опубликовано 31 Июля 2007 Жалоба Поделиться Опубликовано 31 Июля 2007 FatCat, то есть, загоняем скрипт Архара в .js файл, заливаем в корень форума и заменяем в рендере{$author['members_display_name']} на <script language="javascript" src="*.js"></script>? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 31 Июля 2007 Автор Жалоба Поделиться Опубликовано 31 Июля 2007 FatCat, то есть, загоняем скрипт Архара в .js файл, заливаем в корень форума и заменяем в рендере{$author['members_display_name']} на <script language="javascript" src="*.js"></script>?Ни в коем случае. Делай раз: из моего скрипта делаем функцию, и ее запихиваем в JS-файл, например shutka.js:function replace_name(val){ str=val.split('_').join('_') strm=str.split(/&.{2,5};/).join('') strn=strm.split(/[\d]/).join('') strc=strn.split(/[\w]/).join('') if(strc!=''&&strc!=strn){strk='' tz=true for(i=0;i<str.length;i++){ if(str.substring(i,i+1)=='&')tz=false if(tz&&str.substring(i,i+1).split(/[\w]/).join('')!=''){ strk+='<span style="color:Green">'+str.substring(i,i+1)+'</span>' } else{ strk+=str.substring(i,i+1) } if(str.substring(i,i+1)==';')tz=true } str=strk } document.write(str) } Делай два:Где-то в админке можно прилинковывать js-файлы. Прилинковать. Делаем три:для 21 ПРЕДПОЛОЖИТЕЛЬНО следующее решениеадминка -- внешний вид -- skin_topic -- RenderRowнайти<td valign="middle" class="row2" width="1%"><a name="entry{$post['pid']}"></a><span class="{$post['name_css']}">{$author['members_display_name']}</span></td>здесь сомнительно, но попробуйте в этом отрезке заменить{$author['members_display_name']}наЗаменяем на <script type="text/javascript">replace_name("{$author['members_display_name']}")</script> Вроде бы так. Но двушки под рукой нет, не могу попробовать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
LordBone Опубликовано 1 Августа 2007 Жалоба Поделиться Опубликовано 1 Августа 2007 FatCat, прошерстил всю админку. В упор не вижу опции, связанной с линкованием. Хотя, может, просто не там искал... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Августа 2007 Автор Жалоба Поделиться Опубликовано 1 Августа 2007 FatCat, прошерстил всю админку. В упор не вижу опции, связанной с линкованием. Хотя, может, просто не там искал...Двушки так и нет под рукой.Поискал как это сделано в других модах.По идее вот как:Далее, идем в ВНЕШНИЙ ВИД - Изменить общий шаблон форума:Находим:<% JAVASCRIPT %> </head>Заменяем на:<% JAVASCRIPT %> <script type="text/javascript" src='адрес_до_скриптов/скрипт.js'></script> </head> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
LordBone Опубликовано 1 Августа 2007 Жалоба Поделиться Опубликовано 1 Августа 2007 FatCat, ага, самому на глаза только что попалась эта штука. Значит, для 2.1 делаем так: 1. Создаём JS-файл с таким содержанием: function replace_name(val){ str=val.split('_').join('_') strm=str.split(/&.{2,5};/).join('') strn=strm.split(/[\d]/).join('') strc=strn.split(/[\w]/).join('') if(strc!=''&&strc!=strn){strk='' tz=true for(i=0;i<str.length;i++){ if(str.substring(i,i+1)=='&')tz=false if(tz&&str.substring(i,i+1).split(/[\w]/).join('')!=''){ strk+='<span style="color:Green">'+str.substring(i,i+1)+'</span>' } else{ strk+=str.substring(i,i+1) } if(str.substring(i,i+1)==';')tz=true } str=strk } document.write(str) }Например, text.js 2. Заходим в АЦ --- Внешний Вид --- *Нужный Скин* --- Изменить общий шаблон форума:Там находим:<% JAVASCRIPT %>Ставим после, заменяя путь:<script type="text/javascript" src='адрес_до_скриптов/скрипт.js'></script> 3. Радуемся и идём проверять. Так? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Августа 2007 Автор Жалоба Поделиться Опубликовано 1 Августа 2007 админка -- внешний вид -- skin_topic -- RenderRowЕсли Архар не ошибся, то именно там надо вставить вызов функции. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 1 Августа 2007 Жалоба Поделиться Опубликовано 1 Августа 2007 Идей очень занятная. Но поставить не получилось. Правда Иногда люди пишут АдмиnВ текущем варианте все слово кроме последней буквы будет зеленым. Как переделать, чтобы меньшинство букв красилось зеленым? Для 1.3 тоже надо отдельным файлом выносить скрипт на ЯС? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 1 Августа 2007 Автор Жалоба Поделиться Опубликовано 1 Августа 2007 Как переделать, чтобы меньшинство букв красилось зеленым?Переделать весь джаваскрипт. Для 1.3 тоже надо отдельным файлом выносить скрипт на ЯС?Я не выносил в отдельный файл. Оно правильнее, но лень было. В 1.3 и в скин неплохо вставляется. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 2 Августа 2007 Жалоба Поделиться Опубликовано 2 Августа 2007 Заменил {$author['name']} на приведеный код. Теерь во всех топиках ник перестал выводиться вовсе. Попробовал упорядочить код - не помогло. Заменил <script type="text/javascript"> на <script type="javascript">Тоже не помогло. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 2 Августа 2007 Автор Жалоба Поделиться Опубликовано 2 Августа 2007 Заменил <script type="text/javascript"> на <script type="javascript">Тоже не помогло.Машина не заводится... Фары протер - все равно не заводится. Колесо попинал - опять не заводится.Кончай файерволить.function RenderRow в студию. Если движок не от Игорька, в Topik.php проверить есть ли строка$poster['name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['name']}</a>"; Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
M-K Опубликовано 2 Августа 2007 Жалоба Поделиться Опубликовано 2 Августа 2007 function RenderRow($post, $author) { global $ibforums; return <<<EOF <!--Begin Msg Number {$post['pid']}--> <table width='100%' border='0' cellspacing='1' cellpadding='3'> <tr> <td align='center' valign='middle' class='row4' width="1%"><a name='entry{$post['pid']}'></a><span class='{$post['name_css']}'>{$author['name']}</span></td> <td class='row4' valign='top' width="99%"> <!-- POSTED DATE DIV --> <div align='left' class='row4' style='float:left;padding-top:4px;padding-bottom:4px'> {$post['post_icon']}<span class='postdetails'><b><script type="text/javascript"> if(location.href.split('st=')!=location.href)post_number_cor=location.href.split('st=')[1].split('&')[0] else post_number_cor=0 document.write("<a href='{$ibforums->base_url}act=Print&client=printer&f={$ibforums->input[f]}&t={$ibforums->input[t]}&limin="+(post_number_str+(post_number_cor*1))+"& limit=1' target='_blank' title='Ioe?uou yoi niiauaiea a iiaii ieia'>{$ibforums->lang['posted_on']}</a> ") post_number_str++ </script></b>{$post['post_date']}</span> </div> <!-- REPORT / DELETE / EDIT / QUOTE DIV --> <div align='right'> {$post['report_link']}{$post['delete_button']}{$post['edit_button']}<a href='{$ibforums->base_url}act=Post&CODE=06&f={$ibforums->input[f]}&t={$ibforums->input[t]}&p={$post['pid']}'><{P_QUOTE}></a> </div> </td> </tr> <tr> <td align='center' valign='top' class='{$post['post_css']}'> <span class='postdetails'>{$author['member_status']}<br /><br />{$author['avatar']}<br /><br /> {$author['title']}<br /> {$author['member_rank_img']}<br /><br /> {$author['profile']}<br /> {$author['member_group']}<br /> {$author['member_posts']}<br /> {$author['award']}<br /><br /> {$author['rep']} {$post['rep_options']}<br /> {$author['files']}<br /> {$author['downloads']}<br /><br /> {$author['warn_text']} {$author['warn_minus']}{$author['warn_img']}{$author['warn_add']}</span><br /> <!--$ author[field_1]--> <img src='{$ibforums->vars['img_url']}/spacer.gif' alt='' width='160' height='1' /><br /> </td> <td width='100%' valign='top' class='{$post['post_css']}'> <!-- THE POST {$post['pid']} --> <div class='postcolor'>{$post['post']} <!--IBF.ATTACHMENT_{$post['pid']}--></div> {$post['signature']} <!-- THE POST --> </td> </tr> <tr> <td class='darkrow3' align='left'><b>{$post['ip_address']}</b></td> <td class='darkrow3' nowrap="nowrap" align='left'> <!-- PM / EMAIL / WWW / MSGR --> <div align='left' class='darkrow3' style='float:left;width:auto'> {$author['addresscard']}{$author['message_icon']}{$author['email_icon']}{$author['website_icon']}{$author['integ_icon']}{$author['icq_icon']}{$author['aol_icon']}{$author['yahoo_icon']}{$author['msn_icon']} </div> <!-- REPORT / UP --> <div align='right'> <b>{$author['editprofile']}</b> <a href='java script:scroll(0,0);'><img src='{$ibforums->vars['img_url']}/p_up.gif' alt='Top' border='0' /></a> </div> </td> </tr> </table> <div class='darkrow1' style='height:5px'><!-- --></div> EOF; } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.