-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathDLE-print-page4amp_v1.0.5.xml
99 lines (89 loc) · 4.77 KB
/
DLE-print-page4amp_v1.0.5.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?xml version="1.0" encoding="utf-8"?>
<dleplugin>
<name>DLE-print-page4amp</name>
<description>плагин генерации AMP страниц для DLE на основе версии для печати by TCSE.
Для DLE 15.1 [fix LyonSH]</description>
<icon>engine/skins/images/amp4dle.png</icon>
<version>1.0.5</version>
<dleversion>14.0</dleversion>
<versioncompare>greater</versioncompare>
<upgradeurl>https://online.tcse-cms.com/plugins/DLE-print-page4amp/check-DLE-print-page4amp.php</upgradeurl>
<filedelete>1</filedelete>
<needplugin></needplugin>
<mnotice>1</mnotice>
<mysqlinstall><![CDATA[]]></mysqlinstall>
<mysqlupgrade><![CDATA[]]></mysqlupgrade>
<mysqlenable><![CDATA[]]></mysqlenable>
<mysqldisable><![CDATA[]]></mysqldisable>
<mysqldelete><![CDATA[]]></mysqldelete>
<phpinstall><![CDATA[]]></phpinstall>
<phpupgrade><![CDATA[]]></phpupgrade>
<phpenable><![CDATA[]]></phpenable>
<phpdisable><![CDATA[]]></phpdisable>
<phpdelete><![CDATA[]]></phpdelete>
<notice><![CDATA[Плагин добавляет в заголовок страницы полной новости (шаблон fullstory.tpl) метатег
[code]<link rel="amphtml" href="{$print_link}">[/code]
По которой Google проверяет наличие AMP версии публикации.
Вам необходимо внести правки в шаблон [b]print.tpl[/b] для стилизации под свой проект.
{amp-full-story} данный шаблон использовать вместо {full-story}
Для отображения Видео с YouTube необходимо использовать отдельное дополнительное поле
Вставьте через ftp в файл engine/data/xfields.txt с новой строки текст
[code]amp-youtube-id|ID ролика на YouTube||text||1|0|0|1|||0|0||||||Например у ссылки https://youtu.be/OVwGlCPvWbM это OVwGlCPvWbM||||||||
[/code]
И далее в новостях указывайте Youtube ID ролика.
Страница поддержки [url=https://tcse-cms.com/printpage4amp]tcse-cms.com/printpage4amp[/url]]]></notice>
<file name="engine/modules/main.php">
<operation action="after">
<searchcode><![CDATA[if ( $dle_module == "showfull" AND $news_found ) {]]></searchcode>
<replacecode><![CDATA[//====== print-page4amp =======
if ($subaction == "showfull") {
$metatags .= <<<HTML
<link rel="amphtml" href="{$print_link}">
HTML;
}
//====== .print-page4amp =======]]></replacecode>
<enabled>1</enabled>
</operation>
</file>
<file name="engine/modules/show.full.php">
<operation action="after">
<searchcode><![CDATA[$tpl->set( '{full-story}', $row['full_story'] );]]></searchcode>
<replacecode><![CDATA[//====== print-page4amp =======
function ampify($html = '')
{
$html = str_ireplace(
array('<img', '<video', '/video>', '<audio', '/audio>'),
array('<amp-img', '<amp-video', '/amp-video>', '<amp-audio', '/amp-audio>'),
$html
);
$html = preg_replace('/<amp-img(.*?)\/?>/', '<amp-img width="240" height="320" layout="responsive" $1></amp-img>', $html);
$html = preg_replace('/(<.+?)(?<=\s)on[a-z]+\s*=\s*(?:([\'"])(?!\2).+?\2|(?:\S+?\(.*?\)(?=[\s>])))(.*?>)/i', "$1 $3", $html);
$html = strip_tags($html, '<h1><h2><h3><h4><h5><h6><a><p><ul><ol><li><blockquote><q><cite><ins><del><strong><em><code><pre><svg><table><thead><tbody><tfoot><th><tr><td><dl><dt><dd><article><section><header><footer><aside><figure><time><abbr><div><span><hr><small><br><amp-img><amp-audio><amp-video><amp-ad><amp-anim><amp-carousel><amp-fit-rext><amp-image-lightbox><amp-instagram><amp-lightbox><amp-twitter><amp-youtube>');
// Replace unsafe links with safe links
$html = preg_replace('/<a\s+href=["\']javascript:(.*?)["\']/', '<span style="display: none">', $html);
// Делаем спойлеры - обычным текстом
$html = preg_replace('/<div\s+id=["\']sp(.*?)["\']/', '<div style="display: block">', $html);
$html = preg_replace('/class="text_spoiler" style="display:none;">/', '', $html);
$html = preg_replace("|[\s]+|s", " ", $html);
return $html;
}
if (stripos($tpl->copy_template, "{amp-full-story}") !== false) {
$tpl->set('{amp-full-story}', ampify($row['full_story']));
}
//====== print-page4amp =======
]]></replacecode>
<enabled>1</enabled>
</operation>
</file>
<file name="engine/engine.php">
<operation action="before">
<searchcode><![CDATA[if ($canonical) {]]></searchcode>
<replacecode><![CDATA[if ($subaction == "showfull") {
$metatags .= <<<HTML
<link rel="amphtml" href="{$print_link}">
HTML;
}]]></replacecode>
<enabled>1</enabled>
</operation>
</file>
</dleplugin>