~* L O V E R *~ Опубликовано 11 Января 2006 Жалоба Поделиться Опубликовано 11 Января 2006 Есть идея сделать автоматическое скрытие публикуемых ссылок от гостей (поисковиков). Основная причина, для чего это нужно: защита от личеров, и лучшая оптимизация под поисковики. Плюсы такого мода от тега HIDE следующие:- пользователей не надо заставлять использовать тег hide при публикации ссылок.- все делается автоматически. Есть некоторые идеи как это реализовать.Первая идея (проста в реализации) [!]Так как в ipb существует возможность запретить просмотр картинок для гостей. То думаю совсем не сложно будет такое реализовать и для ссылок Подскажите хотя бы в каком файле производится эта проверка. Вторая идея (немного сложноватая)Вот как это реализовано для vbulletin. Знающие php поймут и смогут подсказать, возможно ли такое для IPB <?xml version="1.0" encoding="ISO-8859-1"?> <product productid="See Links 1.2.0" title="Not See Links" description="With this hack only selected usergroups can see links." version="1.20" active="1"> <codes> <code version="1.2.0"> <installcode> </installcode> <uninstallcode> </uninstallcode> </code> </codes> <plugins> <plugin active="1" product="See Links 1.2.0"> <title>Not see links in post</title> <hookname>postbit_display_complete</hookname> <phpcode> <![CDATA[eval('$canseelinks = in_array($this->registry->userinfo[usergroupid], array(' . $this->registry->options['canseelinks'] . '));'); eval('$canshowlinks = in_array($post[usergroupid], array(' . $this->registry->options['canshowlinks'] . '));'); if ((!in_array($this->registry->userinfo[usergroupid], array($canseelinks)) and !in_array($post[usergroupid], array($canshowlinks))) or !is_member_of($post, explode(',', $this->registry->options['canseelinks']))) { $this->post['message'] = preg_replace("!<a[^>]*>(.*)</a>!siU", $vbphrase[nolink], $this->post['message']); }]]> </phpcode> </plugin> <plugin active="1" product="See Links 1.2.0"> <title>Not see links in Reply</title> <hookname>newreply_form_reviewbit</hookname> <phpcode> <![CDATA[eval('$canseelinks = in_array($vbulletin->userinfo[usergroupid], array(' . $vbulletin->options['canseelinks'] . '));'); if ((!in_array($vbulletin->userinfo[usergroupid], array($canseelinks)) or !is_member_of($post, explode(',', $this->registry->options['canseelinks'])))) { $reviewmessage = preg_replace("!<a[^>]*>(.*)</a>!siU", $vbphrase[nolink], $reviewmessage); }]]> </phpcode> </plugin> <plugin active="1" product="See Links 1.2.0"> <title>Not see links in Print Version</title> <hookname>printthread_post</hookname> <phpcode> <![CDATA[eval('$canseelinks = in_array($vbulletin->userinfo[usergroupid], array(' . $vbulletin->options['canseelinks'] . '));'); if (!in_array($vbulletin->userinfo[usergroupid], array($canseelinks))) { $post['message'] = preg_replace("!<a[^>]*>(.*)</a>!siU", $vbphrase[nolink], $post['message']); }]]> </phpcode> </plugin> <plugin active="1" product="See Links 1.2.0"> <title>Not see links in Archive</title> <hookname>archive_thread_post</hookname> <phpcode><![CDATA[eval('$canseelinks = in_array($vbulletin->userinfo[usergroupid], array(' . $vbulletin->options['canseelinks'] . '));'); if (!in_array($vbulletin->userinfo[usergroupid], array($canseelinks))) { $post['pagetext'] = eregi_replace('(http|www)([[:alnum:]/\n+-=%&:_.~?]+[#[:alnum:]+]*)', $vbphrase[nolinkinarchive], $post['pagetext']); $post['pagetext_simp'] = strip_bbcode($post['pagetext']); $post['postdate'] = vbdate($vbulletin->options['dateformat'], $post['dateline']); $post['posttime'] = vbdate($vbulletin->options['timeformat'], $post['dateline']); }]]></phpcode> </plugin> </plugins> <phrases> <phrasetype name="global"> <phrase name="nolink"><![CDATA[[Link only for <a href="payments.php">Paid Subscribers</a>]]]></phrase> <phrase name="nolinkinarchive"><![CDATA[[Link only for Paid Subscribers]]]></phrase> </phrasetype> <phrasetype name="vBulletin Settings" fieldname="vbsettings"> <phrase name="setting_canseelinks_desc"><![CDATA[Usergroups that can see links]]></phrase> <phrase name="setting_canseelinks_title"><![CDATA[Can See Links]]></phrase> <phrase name="setting_canshowlinks_desc"><![CDATA[Usergroups that can show links to all usergroups]]></phrase> <phrase name="setting_canshowlinks_title"><![CDATA[Can Show Links]]></phrase> <phrase name="settinggroup_linkperm"><![CDATA[Link Permissions]]></phrase> </phrasetype> </phrases> <options> <settinggroup name="linkperm" displayorder="12"> <setting varname="canseelinks" displayorder="10"> <datatype>free</datatype> <defaultvalue>5,6,7,18,19,21</defaultvalue> </setting> <setting varname="canshowlinks" displayorder="20"> <datatype>free</datatype> <defaultvalue>5,6,7</defaultvalue> </setting> </settinggroup> </options> </product> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
RuSh Опубликовано 13 Октября 2006 Жалоба Поделиться Опубликовано 13 Октября 2006 Идея хорошая. Есть кто-то, кто сможет помочь в реализации? Я в ПХП не очень... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
VictorKiev Опубликовано 18 Ноября 2008 Жалоба Поделиться Опубликовано 18 Ноября 2008 уже реализовано - http://www.ibresource.ru/forums/index.php?...st&p=325155 и http://www.ibresource.ru/forums/index.php?...st&p=266719 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.