<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : [проект] Плагины - формат файлов</title>
		<link>https://www.cotonti.com</link>
		<description>Neueste Themenbeiträge</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Tue, 07 Apr 2026 09:14:57 -0000</pubDate>

		<item>
			<title>Sergeich</title>
			<description><![CDATA[да вроде как решили - UTF и точка. С моей точки зрения - это правильно, чтобы не возникал (кроме всего прочего) зоопарк с кодировками.]]></description>
			<pubDate>Fr, 24 Apr 2009 23:44:58 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post11800]]></link>
		</item>
		<item>
			<title>Fagot</title>
			<description><![CDATA[предлагаю в файл plug.inc.php в строки определяющие лэнг файл добавить следующие:<br />
<br />
<div class="highlight"><pre class="php">	$path_lang_chr  = $cfg&#091;'plugins_dir'&#093;.&quot;/$e/lang/$e.$lang.&quot;(&quot;.$cfg&#091;'charset'&#093;.&quot;).lang.php&quot;;
	if (file_exists($path_lang_chr))
	{ require_once($path_lang_chr); }
</pre></div>
<br />
это позволит разработчикам русскоязычных плагинов заранее готовить языковые файлы вида:<br />
gallery.ru.(UTF-8).lang.php<br />
gallery.ru.(windows-1251).lang.php<br />
для различных кодировок, <br />
а пользователям не париться с переименованиями и перекодированиями.]]></description>
			<pubDate>Fr, 24 Apr 2009 16:48:48 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post11783]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[в плагинах есть преверка на плагины от лду - о имхо она какаято грубая.может убрать эту проверку и делаеть более современую? (а то както глупа если есть p то это лду.)]]></description>
			<pubDate>Mi, 04 Mär 2009 00:17:38 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post9292]]></link>
		</item>
		<item>
			<title>dervan</title>
			<description><![CDATA[Предлагаю сделать контроль ошибок при инсталляции плагина<br />
<br />
Если при инсталляции плагина произошёл критический сбой, тогда из секции инсталляции возвращать строку с сообщением об ошибке, при получении которой прерывать установку плагина.<br />
<br />
Т.е. код в system/core/admin/admin.plug.inc.php<br />
<div class="highlight"><pre class="php">
				$action = 'install';
				include_once($extplugin_info);
				$adminmain .= &quot;Done!&lt;br /&gt;&quot;;
				...
</pre></div>
будет выглядеть примерно так:<br />
<div class="highlight"><pre class="php">
				$action = 'install';
				$installerror = include_once($extplugin_info);
				if (!empty($installerror))
				{
					// error handling
					...
				}
				else
				{
					$adminmain .= &quot;Done!&lt;br /&gt;&quot;;
					...
</pre></div>
<br />
При такой реализации существующие плагины, в которых нет return(), переделывать не придётся.<br />
<br />
Про интернационализацию сообщений об ошибках. Можно возвращать не само сообщение об ошибке, а отличный от 0 номер ошибки.]]></description>
			<pubDate>Di, 03 Mär 2009 20:03:53 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post9286]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Да заметил это. Исправлено.]]></description>
			<pubDate>Do, 25 Dez 2008 04:30:33 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post2606]]></link>
		</item>
		<item>
			<title>Asmo</title>
			<description><![CDATA[И по хорошему установочные файлы защищены должны быть.<br />
<div class="highlight"><pre class="php">if (!defined('SED_CODE')) { die('Wrong URL.'); }</pre></div>
<br />
А то посмотрел тот же markitup, инсталяционные файлы  не защищены и если бы код не был вынесен в отдельную функцию, то можно было бы через прямой доступ к файлу унинсталить плагин. <br />
<br />
В случае с редактором вреда это принесет не много, а вот грохнутые таким образом таблицы какой нибудь доски объявлений - потеря ощутимая.]]></description>
			<pubDate>Do, 25 Dez 2008 04:09:00 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post2602]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[На том и порешили. Тикет добавлю, изменения внесу.]]></description>
			<pubDate>Do, 18 Dez 2008 03:59:13 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1742]]></link>
		</item>
		<item>
			<title>medar</title>
			<description><![CDATA[Вообще, держать install и uninstall в файле setup логично.<br />
И пока действительно есть время это сделать, пока плагинов не понаписали.]]></description>
			<pubDate>Do, 18 Dez 2008 02:05:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1730]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[простите!<br />
на сей момент знамя держим мы а не оливье.<br />
на сей момент вся исполняемая часть setup файла содержит всего 1 строку<br />
<pre class="code">
if ( !defined('SED_CODE') ) { die(&quot;Wrong URL.&quot;); }
</pre>
и если мы после нее что-либо еще напишим, то не думаю, что что-либо пострабает.<br />
<br />
на сегодняшний день для 125 версии плагинов с пяток не более. ну простите - за новостями коммунити слежу регулярно. и если вдруг плагин очень нужный и сделан весьма качественно то почему бы его чуть-чуть не подправить?<br />
в итоге я думаю совместимость не пострадает.]]></description>
			<pubDate>Do, 18 Dez 2008 00:49:38 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1726]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Вопрос: много плагинов под v125 написано?]]></description>
			<pubDate>Do, 18 Dez 2008 00:41:13 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1724]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[думаем нет, т.к. совместимость пострадать может, а этого на первом этапе нужно постараться избежать по максимуму.]]></description>
			<pubDate>Do, 18 Dez 2008 00:22:51 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1718]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Лично мне тоже кажется логичнее, если бы все это было в файле setup.php с соответствующими условием. Но раз Оливье в v125 сделал раздельные файлы, то мы этот момент пока трогать не стали. Думаете, нужно?]]></description>
			<pubDate>Mi, 17 Dez 2008 23:38:35 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1716]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[посмотрите файл setup.php - разве он не пустой?<br />
ну почему в него не запихнуть install и unintall<br />
просто когда 3 файла это создает дополнительную степень запутанности.]]></description>
			<pubDate>Mi, 17 Dez 2008 21:48:25 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1713]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[Все равно я за 1 файл, ведь в нем можно сделаь так: if (install){...} else {...}<br />
меньше файлов проще понимание.]]></description>
			<pubDate>Di, 16 Dez 2008 00:36:55 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1659]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;amp;p=1642#1642">#</a> <strong>medar :</strong>
Кто знает, что понадобится плагинам в будущем ? Лучше сразу сделать универсальный вариант, а не ограничиваться только добавлением полей.<br />
</blockquote>]]></description>
			<pubDate>Mo, 15 Dez 2008 17:24:52 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1653]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;amp;p=1634#1634">#</a> <strong>Trustmaster :</strong>
И каким образом он там сделан?<br />
</blockquote>
Пример: <br />
<div class="highlight"><pre class="php">&lt;?php
  /*
  -----------------------------------------------------------------------------------------------------------+
  |
  |	e107 website system
  |	User Medals PLUGIN
  |
  |	Released under the terms and conditions of the
  |	GNU General Public License Version 2 (http://gnu.org).
  |
  -----------------------------------------------------------------------------------------------------------+
  | Creator: esclkm 2007.
  |
  |
  |
  |
  +----------------------------------------------------------------------------------------------------------+
  */

//-------Совершенству нет предела----------------------------------------------------------------------------+
  @include_once(e_PLUGIN.&quot;user_medals/languages/&quot;.e_LANGUAGE.&quot;.php&quot;);
  @include_once(e_PLUGIN.&quot;user_medals/languages/English.php&quot;);

//PLUGIN INFO------------------------------------------------------------------------------------------------+

  $eplug_name        = &quot;User_medals&quot;;
  $eplug_version     = &quot;2.5&quot;;
  $eplug_author      = &quot;esclkm&quot;;
  $eplug_url         = &quot;&quot;;
  $eplug_email       = &quot;alexander1964@tut.by&quot;;
  $eplug_description = UM_LANG_LAN38;
  $eplug_compatible  = &quot;e107v0.7.6+&quot;;
  $eplug_readme      = &quot;readme.txt&quot;;
  $eplug_compliant   = TRUE;
  $eplug_module      = FALSE;

//PLUGIN FOLDER----------------------------------------------------------------------------------------------+

  $eplug_folder      = &quot;user_medals&quot;;

//PLUGIN MENU FILE-------------------------------------------------------------------------------------------+

  $eplug_menu_name   = &quot;&quot;;

//PLUGIN ICONS AND CAPTION-----------------------------------------------------------------------------------+

  $eplug_conffile    = &quot;admin_medals.php&quot;;

//PLUGIN ICONS AND CAPTION-----------------------------------------------------------------------------------+

  $eplug_logo        = &quot;icon_32.png&quot;;
  $eplug_icon        = &quot;$eplug_folder/icon_32.png&quot;;
  $eplug_icon_small  = &quot;$eplug_folder/icon_16.png&quot;;
  $eplug_caption     = UM_LANG_LAN6;
  
//List of preferences -----------------------------------------------------------------------------------------------
$eplug_prefs = array(
&quot;umedals_forum&quot; =&gt; 1,
&quot;umedals_profile&quot; =&gt; 1,
&quot;umedals_adminprofile&quot; =&gt; 1,
);

//MYSQL TABLES TO BE CREATED---------------------------------------------------------------------------------+

  $eplug_table_names = array(&quot;medals&quot;, &quot;medals_awarded&quot;);

//MYSQL TABLE STRUCTURE--------------------------------------------------------------------------------------+

  $eplug_tables = array(

  &quot;CREATE TABLE &quot;.MPREFIX.&quot;medals (

  medal_id     int(11)       NOT NULL auto_increment,
  medal_name   varchar(50)   NOT NULL default '',
  medal_obr    varchar(120)  NOT NULL default '',
  medal_text   text          NOT NULL default '',

   PRIMARY KEY  (medal_id)) TYPE=MyISAM;&quot;,

  &quot;CREATE TABLE &quot;.MPREFIX.&quot;medals_awarded (

  awarded_id       int(11)       NOT NULL auto_increment,
  medal_id         int(11)       NOT NULL default '0',
  awarded_user_id  varchar(11)   NOT NULL default '',
  awarded_date     int(10)       NOT NULL default '',
  dop_text         varchar(200)  NOT NULL default '',	  

   PRIMARY KEY  (awarded_id)) TYPE=MyISAM;&quot;);

//LINK TO BE CREATED ON SITE MENU--------------------------------------------------------------------------+

  $eplug_link      = TRUE;
  $eplug_link_name = UM_LANG_LAN6;
  $eplug_link_url  = e_PLUGIN.&quot;$eplug_folder/medals.php&quot;;

//MESSAGE WHEN PLUGIN IS INSTALLED-------------------------------------------------------------------------+

  $eplug_done = UM_LANG_LAN39;

//SAME AS ABOVE BUT ONLY RUN WHEN CHOOSING UPGRADE---------------------------------------------------------+

  $upgrade_add_prefs    = $eplug_prefs;
  $upgrade_remove_prefs = &quot;&quot;;
  $upgrade_alter_tables = &quot;&quot;;
  $eplug_upgrade_done   = &quot;&quot;;

//---------------------------------------------------------------------------------------------------------+

?&gt;
</pre></div>
<br />
пример: видим какие таблицы юзает - для удаления и видим как создавать таблицы) в общем все есть)]]></description>
			<pubDate>Mo, 15 Dez 2008 04:51:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1645]]></link>
		</item>
		<item>
			<title>medar</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;amp;p=1618#1618">#</a> <strong>esclkm :</strong>
А зачем надо 2 файла инсталл и унисталл?<br />
не проще ли просто указать базу и поля которые в ней будут, а там в зависимости от действия или удалить или установить?</blockquote>
Кто знает, что понадобится плагинам в будущем ? Лучше сразу сделать универсальный вариант, а не ограничиваться только добавлением полей.]]></description>
			<pubDate>Mo, 15 Dez 2008 04:11:22 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1642]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[И каким образом он там сделан?]]></description>
			<pubDate>So, 14 Dez 2008 16:04:36 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1634]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[имхо немного излишне... мне нравилось как сделан инсталл файл в e107/ очень просто и логично.]]></description>
			<pubDate>So, 14 Dez 2008 02:10:59 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1627]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[В этих этих скриптах разработчик плагина (и никто иной) указывает действия, которые необходимо выполнить при установке или удалении плагина. И базы с полями и ббкодами тут не при чем.]]></description>
			<pubDate>So, 14 Dez 2008 00:21:15 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1624]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[А зачем надо 2 файла инсталл и унисталл?<br />
не проще ли просто указать базу и поля которые в ней будут, а там в зависимости от действия или удалить или установить?<br />
и с ббкодами тоже самое: ббкод и через запятую все его параметры.<br />
Зачем 2 файла не понимаю.]]></description>
			<pubDate>Sa, 13 Dez 2008 21:13:39 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1618]]></link>
		</item>
		<item>
			<title>medar</title>
			<description><![CDATA[Что такое плагин?<br />
Это php-код, который в дальнейшем инклюдится (вставляется) в код CMS в определенных местах, называемых &quot;хуками&quot;. Плагины расширяют функционал сайта.<br />
<br />
Плагин представляет собой папку с файлами, находящуюся в папке plugins. Название папки должно совпадать с именем плагина. Негласное соглашение - в имени плагина юзать только буквы английского алфавита и знак подчеркивания.<br />
<br />
Пусть наш плагин называется <span style="color:#A40000">pluginname</span><br />
Он должен/может содержать следующие файлы:<br />
<br />
<strong>Файл сетапа плагина:</strong><br />
<br />
<span style="color:#A40000">pluginname.setup.php</span> -  название должно быть строго таким. Файл обязательно должен быть.<br />
Внутри в начале должна быть следующая конструкция:<br />
<br />
<div class="highlight"><pre class="php-f">&lt;?php
/* ====================
&#091;BEGIN_SED_EXTPLUGIN&#093;
Code=pluginname
Name=Plugin name
Description=
Notes=
Version=1.0
Date=
Author=
Auth_guests=R
Lock_guests=W12345A
Auth_members=RW
Lock_members=12345A
&#091;END_SED_EXTPLUGIN&#093;
&#091;BEGIN_SED_EXTPLUGIN_CONFIG&#093;
&#091;END_SED_EXTPLUGIN_CONFIG&#093;
==================== */
if ( !defined('SED_CODE') ) { die(&quot;Wrong URL.&quot;); }

</pre></div>
<br />
Code - имя плагина<br />
Name - название плагина, в вольной форме<br />
Description - описание работы<br />
Notes - вторая строка описания<br />
Date - дата создания<br />
Author - автор плагина<br />
Дальше идут права юзеров при работе с данным плагином. Об этом в другом месте.<br />
<br />
Фактически, обязательное поле здесь только одно - Code= , но параметры прав доступа (Auth_ , Lock_) лучше все же не стирать.<br />
<br />
<strong>Файл(ы) собственно плагина:</strong><br />
<br />
<span style="color:#A40000">another_work_file.php</span> - название может быть произвольным (главное, чтобы оно совпадало с File= внутри этого файла). Но опять же принято называть их по образу <span style="color:#A40000">pluginname.zone.php</span> , где zone - это зона действия плагина (header, page, list, index, etc). Это не связано с системой, это применяется исключительно для лучшей читаемости. Название файла может быть любым.<br />
<br />
Пусть файл называется <span style="color:#A40000">pluginname.pagetags.php</span><br />
Итак, его содержимое:<br />
<br />
<div class="highlight"><pre class="php-f">&lt;?php
/* ====================
&#091;BEGIN_SED_EXTPLUGIN&#093;
Code=pluginname
File=pluginname.pagetags
Part=main
Hooks=page.tags
Tags={MY_TAG}, {MY_ANOTHER_TAG}
&#091;END_SED_EXTPLUGIN&#093;
==================== */
if (!defined('SED_CODE')) { die('Wrong URL.'); }

</pre></div>
<br />
Поля Code, File и Hooks  - обязательные.<br />
Code - имя плагина (должно совпадать с Code в <span style="color:#A40000">pluginname.setup.php</span>)<br />
File - имя данного файла (без .php)<br />
<br />
Part - Возможно, область обработки вывода результатов работы плагина в tpl. Доподлино неизвестно, что это значит этот параметр, документация Seditio хранит молчание на этот счет. Возможно, это недоработанная вещь. Как правило прокатывает там ставить main.<br />
<br />
Hooks - Хук (место в ядре движка), где будет происходить подключение плагина. Список всех хуков - <a href="http://neocrome.net/page.php?id=2094" rel="nofollow">здесь</a> (надо бы его расписать с комментариями). <br />
<br />
Tags - тэги, которые создает данный плагин. Их нужно записать в нужное место шаблонов, которые затрагивает плагин, и туда будет выводиться html-контент, формируемый плагинами.<br />
<br />
<strong>Файлы инсталляции/деинсталляции</strong><br />
<br />
<span style="color:#A40000">pluginname.install.php</span><br />
<span style="color:#A40000">pluginname.uninstall.php</span><br />
Это опциональные файлы. Название - строгое. Внутренний формат - произвольный.<br />
<br />
Автоматически выполняются соответственно при включении и выключении плагина.<br />
Эти файлы нужны для плагинов, которые добавляют для своей работы дополнительные таблицы в базу, новый ббкоды в редактор или новые поля для страниц.]]></description>
			<pubDate>Fr, 21 Nov 2008 00:43:26 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=565&d=0#post1468]]></link>
		</item>
	</channel>
</rss>