Наш одмен выкатил обновление и во второй раз обвинил в плагиате. Ну окей, а теперь давайте посмотрим на правду.
Начнём с простым модификаций

Как видим используется 3 модификации, причём очень смешно и лезем в extra.less

А теперь смотрим на наш плагин и прям копипаста модификацией не extra.less и модификацией страницы с поделиться страницей по регулярному выражению и вставкой макросов.
Но ладно идём дальше.
Он модифицирует extra.less и инклудит свой шаблон:
когда мы просто модифируем то, что сделано разработчиками инклудя туда свой шаблон:
Прям копипаста...
Дальше у него идут шаблоны:
Когда всё мы решаем простым 1 шаблоном реализующим 3 макроса:
А теперь давайте посмотрим на синтаксис движка:
Т.е получается, что разработчики так же у него сплагиатили весь синтаксис этого шаблона. Потому что мы видим следующие:
А теперь давайте посмотрим на реальные отзывы где он пытается ещё сказать, что все пиздаболы а я дартаньян.

И пытается заявить, о том что якобы не каких проблем нету и все всё врут.
А теперь давайте посмотрим на его реализацию вк, где не шлётся тайтл:
теперь открываем доку видимо и ссылку украли у него :(

Эх а где наш заголовок? А теперь смотрим наш вариант:

И ух ты, но чукча не читатель.
А теперь давайте окунемся в документацию:
share_options (object) — параметры публикации. Объект, который может содержать поля:

Просто будьте внимательны и чувствуйте где правда, а где ложь. Многое было описано уже и не раз в #атмосферафорума2.1 всем к прочтению в обязательном порядке. А модификации, что он делает и может сделать любой рядовой пользователь как и бб коды. Гните свою линию и не бегайте за доширачниками, а если есть вопросы не бойтесь задавать как сделать то или то с нормальным описанием, что вам нужно.
Начнём с простым модификаций

Код:
<?xml version="1.0" encoding="utf-8"?>
<template_modifications>
<modification type="public" template="extra.less" modification_key="SvgSharingVkOk_less" description="Style buttons Vkontakte and Odnoklassniki" execution_order="10" enabled="1" action="preg_replace">
<find><![CDATA[#^.*$#su]]></find>
<replace><![CDATA[$0
{{ include('SvgSharing.less') }}
]]></replace>
</modification>
<modification type="public" template="share_page_macros" modification_key="SvgSharingFirst_page" description="Add buttons First" execution_order="10" enabled="1" action="str_replace">
<find><![CDATA[<xf:contentcheck>]]></find>
<replace><![CDATA[$0
{{ include('SvgSharingFirst') }}]]></replace>
</modification>
<modification type="public" template="share_page_macros" modification_key="SvgSharingLast_page" description="Add buttons Last." execution_order="10" enabled="1" action="str_replace">
<find><![CDATA[ <xf:if is="$xf.options.whatsAppShare">
<a class="shareButtons-button shareButtons-button--whatsApp" data-href="https://api.whatsapp.com/send?text={title} {url}">
<i></i>
<span>{{ phrase('whatsapp') }}</span>
</a>
</xf:if>]]></find>
<replace><![CDATA[$0
{{ include('SvgSharingLast') }}]]></replace>
</modification>
</template_modifications>

Код:
<?xml version="1.0" encoding="utf-8"?>
<template_modifications>
<modification type="public" template="share_controls.less" modification_key="mes_extend_sharing_share_controls" description="Add icons in share controls" execution_order="10" enabled="1" action="str_replace">
<find><![CDATA[&.shareButtons-button--link]]></find>
<replace><![CDATA[{{ include('mes_share_controls.less') }}
$0]]></replace>
</modification>
<modification type="public" template="share_page_macros" modification_key="mes_extend_sharing_share_page_macros" description="Add buttons" execution_order="10" enabled="1" action="preg_replace">
<find><![CDATA[/(<xf:if is="\$xf.options.facebookLike">.*?)(<xf:if is="\$xf.options.emailShare">.*?)(<xf:if is="\$xf.options.linkShare AND \!\$hideLink">)/is]]></find>
<replace><![CDATA[<xf:macro template="mes_extend_sharing" name="social" />
$1
<xf:macro template="mes_extend_sharing" name="messenger" />
$2
<xf:macro template="mes_extend_sharing" name="mail" />
$3]]></replace>
</modification>
</template_modifications>
Но ладно идём дальше.
Он модифицирует extra.less и инклудит свой шаблон:
Код:
<template type="public" title="SvgSharing.less" version_id="2000272" version_string="2.0.2.2"><![CDATA[@ssb-font-path: "styles/fonts/SvgSharing";
@ssb-blogger: "\e900";
@ssb-linkedin: "\e901";
@ssb-liveinternet: "\e902";
@ssb-livejournal: "\e903";
@ssb-skype: "\e904";
@ssb-telegram: "\e905";
@ssb-viber: "\e906";
.m-ssbContent(@ssb-content) {
font-family: 'SvgSharing';
content: @ssb-content;
}
@font-face {
font-family: 'SvgSharing';
src: url('@{ssb-font-path}/SvgSharing.eot?a4pk47');
src: url('@{ssb-font-path}/SvgSharing.eot?a4pk47#iefix') format('embedded-opentype'),
url('@{ssb-font-path}/SvgSharing.ttf?a4pk47') format('truetype'),
url('@{ssb-font-path}/SvgSharing.woff?a4pk47') format('woff'),
url('@{ssb-font-path}/SvgSharing.svg?a4pk47#SvgSharing') format('svg');
font-weight: normal;
font-style: normal;
}
.ssb-blogger {
&:before {
content: @ssb-blogger;
}
}
.ssb-linkedin {
&:before {
content: @ssb-linkedin;
}
}
.ssb-liveinternet {
&:before {
content: @ssb-liveinternet;
}
}
.ssb-livejournal {
&:before {
content: @ssb-livejournal;
}
}
.ssb-skype {
&:before {
content: @ssb-skype;
}
}
.ssb-telegram {
&:before {
content: @ssb-telegram;
}
}
.ssb-viber {
&:before {
content: @ssb-viber;
}
}
.shareButtons-button {
float: none;
display: inline-block;
margin: 0 1px;
width: 35px;
height: 35px;
&.shareButtons-button--vk {
&:hover { background-color: RGB(80,114,153); }
> i:before { .m-faContent(@fa-var-vk); }
}
&.shareButtons-button--ok {
&:hover { background-color: RGB(238,120,8); }
> i:before { .m-faContent(@fa-var-odnoklassniki); }
}
&.shareButtons-button--mail {
&:hover { background-color: RGB(22,141,226); }
> i:before { .m-faContent(@fa-var-at); }
}
&.shareButtons-button--telegram {
&:hover { background-color: RGB(45,164,221); }
> i:before {
.m-ssbContent(@ssb-telegram);
}
}
&.shareButtons-button--viber {
&:hover { background-color: RGB(102,92,172); }
> i:before {
.m-ssbContent(@ssb-viber);
}
}
&.shareButtons-button--skype {
&:hover { background-color: RGB(0,120,215); }
> i:before {
.m-ssbContent(@ssb-skype);
}
}
&.shareButtons-button--blogger {
&:hover { background-color: RGB(247,145,56); }
> i:before {
.m-ssbContent(@ssb-blogger);
}
}
&.shareButtons-button--linkedin {
&:hover { background-color: RGB(40,62,74); }
> i:before {
.m-ssbContent(@ssb-linkedin);
}
}
&.shareButtons-button--liveinternet {
&:hover { background-color: RGB(90,171,225); }
> i:before {
.m-ssbContent(@ssb-liveinternet);
}
}
&.shareButtons-button--livejournal {
&:hover { background-color: RGB(0,67,89); }
> i:before {
.m-ssbContent(@ssb-livejournal);
}
}
}]]></template>
Код:
<template type="public" title="mes_share_controls.less" version_id="2010170" version_string="2.1.1"><![CDATA[&.shareButtons-button--telegram
{
&:hover { background-color: #259bd8; }
> i:before { .m-faContent(@fa-var-telegram); }
}
&.shareButtons-button--vk
{
&:hover { background-color: #4d75a3; }
> i:before { .m-faContent(@fa-var-vk); }
}
&.shareButtons-button--ok
{
&:hover { background-color: #e67e17; }
> i:before { .m-faContent(@fa-var-odnoklassniki); }
}
&.shareButtons-button--blogger
{
&:hover { background-color: #f79138; }
> i:before { .m-faContent(@fa-var-blogger); }
}
&.shareButtons-button--linkedin
{
&:hover { background-color: #283e4a; }
> i:before { .m-faContent(@fa-var-linkedin); }
}
&.shareButtons-button--viber
{
&:hover { background-color: #665cac; }
> i:before { .m-faContent(@fa-var-viber); }
}
&.shareButtons-button--skype
{
&:hover { background-color: #0078d7; }
> i:before { .m-faContent(@fa-var-skype); }
}
&.shareButtons-button--gmail
{
&:hover { background-color: #b23121; }
> i:before { .m-faContent(@fa-var-google); }
}
&.shareButtons-button--yahoomail
{
&:hover { background-color: #430297; }
> i:before { .m-faContent(@fa-var-yahoo); }
}]]></template>
Дальше у него идут шаблоны:
Код:
<template type="public" title="SvgSharingFirst" version_id="2000272" version_string="2.0.2.2"><![CDATA[<xf:if is="$xf.options.vkShare">
<a class="shareButtons-button shareButtons-button--vk" data-href="https://vk.com/share.php?url={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('vk') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.okShare">
<a class="shareButtons-button shareButtons-button--ok" data-href="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('ok') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mailShare">
<a class="shareButtons-button shareButtons-button--mail" data-href="https://connect.mail.ru/share?url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mail') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.bloggerShare">
<a class="shareButtons-button shareButtons-button--blogger" data-href="https://www.blogger.com/blog_this.pyra?u={url}&n={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('blogger') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.linkedinShare">
<a class="shareButtons-button shareButtons-button--linkedin" data-href="https://www.linkedin.com/sharing/share-offsite?mini=true&url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('linkedin') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.liveinternetShare">
<a class="shareButtons-button shareButtons-button--liveinternet" data-href="https://www.liveinternet.ru//journal_post.php?action=n_add&cnurl={url}&cntitle={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('liveinternet') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.livejournalShare">
<a class="shareButtons-button shareButtons-button--livejournal" data-href="https://www.livejournal.com/update.bml?event=<a href='{url}' target='_blank'>{{ phrase('go_to_site') }}</a>&subject={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('livejournal') }}</span>
</a>
</xf:if>]]></template>
<template type="public" title="SvgSharingLast" version_id="2000271" version_string="2.0.2.1"><![CDATA[<xf:if is="$xf.options.telegramShare">
<a class="shareButtons-button shareButtons-button--telegram" data-href="https://telegram.me/share/url?url={url}&text={title}">
<i></i>
<span>{{ phrase('telegram') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.viberShare">
<a class="shareButtons-button shareButtons-button--viber" id="viber_share">
<i></i>
<span>{{ phrase('viber') }}</span>
</a>
<script>
var buttonID = "viber_share";
var text = "{title}";
document.getElementById(buttonID)
.setAttribute('href', "https://3p3x.adj.st/?adjust_t=u783g1_kw9yml&adjust_fallback=https%3A%2F%2Fwww.viber.com%2F%3Futm_source%3DPartner%26utm_medium%3DSharebutton%26utm_campaign%3DDefualt&adjust_campaign=Sharebutton&adjust_deeplink=" + encodeURIComponent("viber://forward?text=" + encodeURIComponent(text + " " + window.location.href)));
</script>
</xf:if>
<xf:if is="$xf.options.skypeShare">
<a class="shareButtons-button shareButtons-button--skype skype-share" data-href="" data-text="{title}">
<i></i>
<span>{{ phrase('skype') }}</span>
</a>
<script>
(function(r, d, s) {
r.loadSkypeWebSdkAsync = r.loadSkypeWebSdkAsync || function(p) {
var js, sjs = d.getElementsByTagName(s)[0];
if (d.getElementById(p.id)) { return; }
js = d.createElement(s);
js.id = p.id;
js.src = p.scriptToLoad;
js.onload = p.callback
sjs.parentNode.insertBefore(js, sjs);
};
var p = {
scriptToLoad: 'https://swx.cdn.skype.com/shared/v/latest/skypewebsdk.js',
id: 'skype_web_sdk'
};
r.loadSkypeWebSdkAsync(p);
})(window, document, 'script');
</script>
</xf:if>]]></template>
Код:
<template type="public" title="mes_extend_sharing" version_id="2010170" version_string="2.1.1"><![CDATA[<xf:macro name="social">
<xf:if is="$xf.options.mesVkShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--vk" data-href="https://vk.com/share.php?url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_vk') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesOkShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--ok" data-href="https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&st.shareUrl={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_ok') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesBloggerShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--blogger" data-href="https://www.blogger.com/blog-this.g?u={url}&n={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_blogger') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesLinkedInShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--linkedin" data-href="https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_linkedin') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesLiveInternetShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--linkedin" data-href="https://www.linkedin.com/shareArticle?mini=true&url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_linkedin') }}</span>
</a>
</xf:if>
</xf:macro>
<xf:macro name="messenger">
<xf:if is="$xf.options.mesTelegramShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--telegram" data-href="https://t.me/share/url?url={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_telegram') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesViberShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--viber" id="viber_share">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_viber') }}</span>
</a>
<xf:js>
var buttonID = "viber_share";
var text = "{title}";
document.getElementById(buttonID)
.setAttribute('href', "https://3p3x.adj.st/?adjust_t=u783g1_kw9yml&adjust_fallback=https%3A%2F%2Fwww.viber.com%2F%3Futm_source%3DPartner%26utm_medium%3DSharebutton%26utm_campaign%3DDefualt&adjust_campaign=Sharebutton&adjust_deeplink=" + encodeURIComponent("viber://forward?text=" + encodeURIComponent(text + " " + window.location.href)));
</xf:js>
</xf:if>
<xf:if is="$xf.options.mesSkypeShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--skype" data-href="https://web.skype.com/share?url={url}&text={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_skype') }}</span>
</a>
</xf:if>
</xf:macro>
<xf:macro name="mail">
<xf:if is="$xf.options.mesGoogleMailShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--gmail" data-href="https://mail.google.com/mail/?view=cm&su={title}&body={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('mes_google') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.mesYahooMailShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--yahoomail" data-href="http://compose.mail.yahoo.com/?to={url}&subject={title}&body={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('con_acc.yahoo') }}</span>
</a>
</xf:if>
</xf:macro>]]></template>
Код:
<xf:macro name="buttons"
arg-iconic="{{ false }}"
arg-hideLink="{{ false }}"
arg-label=""
arg-pageUrl=""
arg-pageTitle=""
arg-pageDesc="">
<xf:if contentcheck="true">
<xf:css src="share_controls.less" />
<div class="shareButtons {{ $iconic ? 'shareButtons--iconic' : '' }}" data-xf-init="share-buttons" data-page-url="{$pageUrl}" data-page-title="{$pageTitle}" data-page-desc="{$pageDesc}">
<xf:if is="$label is not empty">
<span class="shareButtons-label">{$label}</span>
</xf:if>
<div class="shareButtons-buttons">
<xf:contentcheck>
<xf:if is="$xf.options.facebookLike">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--facebook" data-href="https://www.facebook.com/sharer.php?u={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('facebook') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.tweet.enabled">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--twitter" data-href="https://twitter.com/intent/tweet?url={url}&text={title}{{ $xf.options.tweet.via ? '&via=' . $xf.options.tweet.via : '' }}{{ $xf.options.tweet.related ? '&related=' . $xf.options.tweet.related : '' }}">
<i aria-hidden="true"></i>
<span>{{ phrase('twitter') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.redditShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--reddit" data-href="https://reddit.com/submit?url={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('reddit') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.pinterestShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--pinterest" data-href="https://pinterest.com/pin/create/bookmarklet/?url={url}&description={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('pinterest') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.tumblrShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--tumblr" data-href="https://www.tumblr.com/widgets/share/tool?canonicalUrl={url}&title={title}">
<i aria-hidden="true"></i>
<span>{{ phrase('tumblr') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.whatsAppShare">
<a class="shareButtons-button shareButtons-button--brand shareButtons-button--whatsApp" data-href="https://api.whatsapp.com/send?text={title} {url}">
<i aria-hidden="true"></i>
<span>{{ phrase('whatsapp') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.emailShare">
<a class="shareButtons-button shareButtons-button--email" data-href="mailto:?subject={title}&body={url}">
<i aria-hidden="true"></i>
<span>{{ phrase('email') }}</span>
</a>
</xf:if>
<xf:if is="$xf.options.linkShare AND !$hideLink">
<a class="shareButtons-button shareButtons-button--link is-hidden" data-clipboard="{url}">
<i aria-hidden="true"></i>
<span>{{ phrase('link') }}</span>
</a>
</xf:if>
</xf:contentcheck>
</div>
</div>
</xf:if>
</xf:macro>
<xf:macro name="share_clipboard_input" arg-label="!" arg-text="!" arg-successText="">
<xf:css src="share_controls.less" />
<xf:set var="$id">{{ unique_id() }}</xf:set>
<div class="shareInput" data-xf-init="share-input" data-success-text="{$successText}">
<xf:if is="$label">
<label class="shareInput-label" for="{$id}">{$label}</label>
</xf:if>
<div class="inputGroup inputGroup--joined">
<div class="shareInput-button inputGroup-text js-shareButton is-hidden"
data-xf-init="tooltip" title="{{ phrase('copy_to_clipboard')|for_attr }}">
<i aria-hidden="true"></i>
</div>
<xf:textbox class="shareInput-input js-shareInput"
value="{$text}" readonly="true" id="{$id}" />
</div>
</div>
</xf:macro>
- Измененные настройки в каждом сервисе
- data-href - разные ссылки
- Фраза для сервиса
А теперь давайте посмотрим на реальные отзывы где он пытается ещё сказать, что все пиздаболы а я дартаньян.

И пытается заявить, о том что якобы не каких проблем нету и все всё врут.
А теперь давайте посмотрим на его реализацию вк, где не шлётся тайтл:
https://vk.com/share.php?url={url}
теперь открываем доку видимо и ссылку украли у него :(

Эх а где наш заголовок? А теперь смотрим наш вариант:
https://vk.com/share.php?url={url}&title={title}

И ух ты, но чукча не читатель.
А теперь давайте окунемся в документацию:
share_options (object) — параметры публикации. Объект, который может содержать поля:
- url (string) — URL страницы, ссылка на которую должна быть опубликована. Обратите внимание — кириллические адреса нужно передавать в Punycode.
- title (string) — заголовок публикации. Если параметр не указан, заголовок будет взят со страницы публикации автоматически. Подробнее смотрите в разделе 5. Используемая информация
- image (string) — URL изображения для публикации. Если параметр не указан, изображение будет взято со страницы публикации автоматически. Подробнее смотрите в разделе 5. Используемая информация
- noparse (boolean) — если в этом параметре передано значение true, то сервер ВКонтакте не будет делать дополнительный запрос для загрузки недостающей информации с публикуемой страницы. Если же значение false, то запрос будет отправляться всегда.
- no_vk_links (integer, [0,1]) — если в этом параметре передано значение 1, в окне публикации не будет активных ссылок на профиль пользователя (доступно только на мобильных устройствах).
- Иконка
- Фраза
- Ссылка

Просто будьте внимательны и чувствуйте где правда, а где ложь. Многое было описано уже и не раз в #атмосферафорума2.1 всем к прочтению в обязательном порядке. А модификации, что он делает и может сделать любой рядовой пользователь как и бб коды. Гните свою линию и не бегайте за доширачниками, а если есть вопросы не бойтесь задавать как сделать то или то с нормальным описанием, что вам нужно.
Последнее редактирование: