<?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>Sun, 12 Apr 2026 14:13:11 -0000</pubDate>

		<item>
			<title>jcrush</title>
			<description><![CDATA[Согласен, кода много лишнего, обеими руками за оптимизацию да и плагины проще писать будет...]]></description>
			<pubDate>Sa, 20 Mär 2010 10:05:14 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23674]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[Траст, а у нас что уже где-либо отлючаются экстраполя??????]]></description>
			<pubDate>Di, 23 Feb 2010 21:27:37 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23165]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[Да, однозначно, с практически полным дублированием кода нужно бороться. Производительность при этом практически не страдает, но появляется явная зависимость от другого модуля (которая, впрочем, в неявном виде существовала и до того, что хуже).<br />
<br />
Несколько замечаний:<br />
<ul>
<li>prefix</li>
<li>кавычки используем одинарные, если нет макроподстановок в строке</li>
<li>экстраполя могут быть недоступны, перед foreach проверку</li>
</ul>]]></description>
			<pubDate>Di, 23 Feb 2010 19:33:37 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23164]]></link>
		</item>
		<item>
			<title>Dayver</title>
			<description><![CDATA[думаю, да - лень но и оптимизация<br />
<br />
<blockquote><a href="https://www.cotonti.com/forums.php?m=posts&amp;p=23138#23138">#</a> <strong>Sergeich :</strong>
А как это скажется на быстродействии? Ведь нам придётся для любого модуля или плагина дёргать всё, что есть в движке.<br />
</blockquote>
ну в модулях оно и так все дергается даже если не используешь в шаблоне что то ... а в плагинах - так никто и не заставляет использовать такие функции .... нужно в плуге вытянуть аватар - пожалуйста вытягуй только его своим методом ... а вот если нужно вытянуть все поля дык вызывай такую функцию и все будет гуд(оптимальнее) .... ну по крайне мере я так понял предложенную идею]]></description>
			<pubDate>Di, 23 Feb 2010 03:34:05 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23146]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[а что будет с быстродействием ? имхо ничего.<br />
а вот строчек порядочно сэкономит.<br />
Dayver ты меня приавильно понял]]></description>
			<pubDate>Di, 23 Feb 2010 02:51:30 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23144]]></link>
		</item>
		<item>
			<title>Sergeich</title>
			<description><![CDATA[А как это скажется на быстродействии? Ведь нам придётся для любого модуля или плагина дёргать всё, что есть в движке.]]></description>
			<pubDate>Di, 23 Feb 2010 00:44:07 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23138]]></link>
		</item>
		<item>
			<title>Dayver</title>
			<description><![CDATA[Правильно ли я понял предложение? :<br />
<br />
- перенести функцию <strong>sed_generate_usertags</strong> в модуль users и в дальнейшем глобально ее использовать (везде где нужна генерация инфы о пользователе ... другие модули и плагины).<br />
- создать аналогичные функции для страниц и категорий с последующим их глобальным использованием по аналогии с <strong>sed_generate_usertags</strong><br />
<br />
так?<br />
<br />
З.Ы. Кстати что там за параметр <strong>$noidtext</strong> в предшествующем функции пхп-доке он описан как <br />
<div class="highlight"><pre class="php">@param string $noidtext text if user_id = 0</pre></div>
а в функции он не используется.]]></description>
			<pubDate>Di, 23 Feb 2010 00:24:27 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23136]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[этот вопрос подымаю специально для тех, кто интересуется новостями транка и регулярно туда заглядывает.<br />
Суть в чем: у нас довольно большие участки кода имеют отношение к дублированию.<br />
примеры:<br />
list:<div class="highlight"><pre class="php">		&quot;LIST_ROW_URL&quot; =&gt; $pag&#091;'page_pageurl'&#093;,
		&quot;LIST_ROW_ID&quot; =&gt; $pag&#091;'page_id'&#093;,
		&quot;LIST_ROW_CAT&quot; =&gt; $pag&#091;'page_cat'&#093;,
		&quot;LIST_ROW_KEY&quot; =&gt; htmlspecialchars($pag&#091;'page_key'&#093;),
		&quot;LIST_ROW_TITLE&quot; =&gt; htmlspecialchars($pag&#091;'page_title'&#093;),
		&quot;LIST_ROW_DESC&quot; =&gt; $pag&#091;'page_desc'&#093;,
		&quot;LIST_ROW_DESC_OR_TEXT&quot; =&gt; sed_cutpost($pag&#091;'page_text'&#093;, 200, false),
		&quot;LIST_ROW_AUTHOR&quot; =&gt; htmlspecialchars($pag&#091;'page_author'&#093;),
		&quot;LIST_ROW_OWNER&quot; =&gt; sed_build_user($pag&#091;'page_ownerid'&#093;, htmlspecialchars($pag&#091;'user_name'&#093;)),
		&quot;LIST_ROW_DATE&quot; =&gt; @date($cfg&#091;'formatyearmonthday'&#093;, $pag&#091;'page_date'&#093; + $usr&#091;'timezone'&#093; * 3600),
		&quot;LIST_ROW_FILEURL&quot; =&gt; empty($pag&#091;'page_url'&#093;) ? '' : sed_url('page', 'id='.$pag&#091;'page_id'&#093;.'&amp;a=dl'),
		&quot;LIST_ROW_SIZE&quot; =&gt; $pag&#091;'page_size'&#093;,
		&quot;LIST_ROW_COUNT&quot; =&gt; $pag&#091;'page_count'&#093;,
		&quot;LIST_ROW_FILEICON&quot; =&gt; $pag&#091;'page_fileicon'&#093;,
		&quot;LIST_ROW_FILECOUNT&quot; =&gt; $pag&#091;'page_filecount'&#093;,
		&quot;LIST_ROW_JUMP&quot; =&gt; sed_url('page', $page_urlp.'&amp;a=dl'),
		&quot;LIST_ROW_COMMENTS&quot; =&gt; $pag&#091;'page_comments'&#093;,
		&quot;LIST_ROW_RATINGS&quot; =&gt; $list_ratings,
		&quot;LIST_ROW_ADMIN&quot; =&gt; $pag&#091;'admin'&#093;,
		&quot;LIST_ROW_ODDEVEN&quot; =&gt; sed_build_oddeven($jj),</pre></div>
news<br />
<div class="highlight"><pre class="php">			&quot;PAGE_ROW_URL&quot; =&gt; $pag&#091;'page_pageurl'&#093;,
			&quot;PAGE_ROW_ID&quot; =&gt; $pag&#091;'page_id'&#093;,
			&quot;PAGE_ROW_TITLE&quot; =&gt; $pag&#091;'page_fulltitle'&#093;,
			&quot;PAGE_ROW_SHORTTITLE&quot; =&gt; htmlspecialchars($pag&#091;'page_title'&#093;),
			&quot;PAGE_ROW_CAT&quot; =&gt; $pag&#091;'page_cat'&#093;,
			&quot;PAGE_ROW_CATTITLE&quot; =&gt; htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'title'&#093;),
			&quot;PAGE_ROW_CATPATH&quot; =&gt; $catpath,
			&quot;PAGE_ROW_CATPATH_SHORT&quot; =&gt; &quot;&lt;a href=https://www.cotonti.com/\&quot;&quot;.sed_url('list', 'c='.$pag&#091;'page_cat'&#093;).&quot;\&quot;&gt;&quot;.htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'title'&#093;).&quot;&lt;/a&gt;&quot;,
			&quot;PAGE_ROW_NEWSPATH&quot; =&gt; &quot;&lt;a href=https://www.cotonti.com/\&quot;&quot;.sed_url('index', 'c='.$pag&#091;'page_cat'&#093;).&quot;\&quot;&gt;&quot;.htmlspecialchars($sed_cat&#091;$row&#091;'page_cat'&#093;&#093;&#091;'title'&#093;).&quot;&lt;/a&gt;&quot;,
			&quot;PAGE_ROW_CATDESC&quot; =&gt; htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'desc'&#093;),
			&quot;PAGE_ROW_CATICON&quot; =&gt; $sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'icon'&#093;,
			&quot;PAGE_ROW_KEY&quot; =&gt; htmlspecialchars($pag&#091;'page_key'&#093;),
			&quot;PAGE_ROW_DESC&quot; =&gt; htmlspecialchars($pag&#091;'page_desc'&#093;),
			&quot;PAGE_ROW_MORE&quot; =&gt; ($pag_more) ? &quot;&lt;span class='readmore'&gt;&lt;a href='https://www.cotonti.com/&quot;.$pag&#091;'page_pageurl'&#093;.&quot;'&gt;{$L&#091;'ReadMore'&#093;}&lt;/a&gt;&lt;/span&gt;&quot; : &quot;&quot;,
			&quot;PAGE_ROW_AUTHOR&quot; =&gt; htmlspecialchars($pag&#091;'page_author'&#093;),
			&quot;PAGE_ROW_OWNER&quot; =&gt; sed_build_user($pag&#091;'page_ownerid'&#093;, htmlspecialchars($pag&#091;'user_name'&#093;)),
			&quot;PAGE_ROW_AVATAR&quot; =&gt; sed_build_userimage($pag&#091;'user_avatar'&#093;, 'avatar'),
			&quot;PAGE_ROW_DATE&quot; =&gt; @date($cfg&#091;'formatyearmonthday'&#093;, $pag&#091;'page_date'&#093; + $usr&#091;'timezone'&#093; * 3600),
			&quot;PAGE_ROW_BEGIN&quot; =&gt; @date($cfg&#091;'formatyearmonthday'&#093;, $pag&#091;'page_begin'&#093; + $usr&#091;'timezone'&#093; * 3600),
			&quot;PAGE_ROW_EXPIRE&quot; =&gt; @date($cfg&#091;'formatyearmonthday'&#093;, $pag&#091;'page_expire'&#093; + $usr&#091;'timezone'&#093; * 3600),
			&quot;PAGE_ROW_FILEURL&quot; =&gt; $pag&#091;'page_url'&#093;,
			&quot;PAGE_ROW_SIZE&quot; =&gt; $pag&#091;'page_size'&#093;,
			&quot;PAGE_ROW_COUNT&quot; =&gt; $pag&#091;'page_count'&#093;,
			&quot;PAGE_ROW_FILECOUNT&quot; =&gt; $pag&#091;'page_filecount'&#093;,
			&quot;PAGE_ROW_COMMENTS&quot; =&gt; $pag&#091;'page_comments'&#093;,
			&quot;PAGE_ROW_RATINGS&quot; =&gt; $pag&#091;'page_ratings'&#093;,
			&quot;PAGE_ROW_ODDEVEN&quot; =&gt; sed_build_oddeven($jj),
			&quot;PAGE_ROW_NUM&quot; =&gt; $jj,</pre></div>
recentitems<br />
<div class="highlight"><pre class="php">			&quot;PAGE_ROW_URL&quot; =&gt; $pag&#091;'page_pageurl'&#093;,
			&quot;PAGE_ROW_ID&quot; =&gt; $pag&#091;'page_id'&#093;,
			&quot;PAGE_ROW_TITLE&quot; =&gt; $pag&#091;'page_fulltitle'&#093;,
			&quot;PAGE_ROW_SHORTTITLE&quot; =&gt; htmlspecialchars($pag&#091;'page_title'&#093;),
			&quot;PAGE_ROW_CAT&quot; =&gt; $pag&#091;'page_cat'&#093;,
			&quot;PAGE_ROW_CATTITLE&quot; =&gt; htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'title'&#093;),
			&quot;PAGE_ROW_CATPATH&quot; =&gt; $catpath,
			&quot;PAGE_ROW_CATPATH_SHORT&quot; =&gt; &quot;&lt;a href=https://www.cotonti.com/\&quot;&quot;.sed_url('list', 'c='.$pag&#091;'page_cat'&#093;).&quot;\&quot;&gt;&quot;.htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'title'&#093;).&quot;&lt;/a&gt;&quot;,
			&quot;PAGE_ROW_CATDESC&quot; =&gt; htmlspecialchars($sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'desc'&#093;),
			&quot;PAGE_ROW_CATICON&quot; =&gt; $sed_cat&#091;$pag&#091;'page_cat'&#093;&#093;&#091;'icon'&#093;,
			&quot;PAGE_ROW_KEY&quot; =&gt; htmlspecialchars($pag&#091;'page_key'&#093;),
			&quot;PAGE_ROW_DESC&quot; =&gt; htmlspecialchars($pag&#091;'page_desc'&#093;),
			&quot;PAGE_ROW_MORE&quot; =&gt; ($pag_more) ? &quot;&lt;span class='readmore'&gt;&lt;a href='https://www.cotonti.com/&quot;.$pag&#091;'page_pageurl'&#093;.&quot;'&gt;{$L&#091;'ReadMore'&#093;}&lt;/a&gt;&lt;/span&gt;&quot; : &quot;&quot;,
			&quot;PAGE_ROW_AUTHOR&quot; =&gt; htmlspecialchars($pag&#091;'page_author'&#093;),
			&quot;PAGE_ROW_OWNER&quot; =&gt; sed_build_user($pag&#091;'page_ownerid'&#093;, htmlspecialchars($pag&#091;'user_name'&#093;)),
			&quot;PAGE_ROW_AVATAR&quot; =&gt; sed_build_userimage($pag&#091;'user_avatar'&#093;, 'avatar'),
			&quot;PAGE_ROW_DATE&quot; =&gt; @date($cfg&#091;'formatyearmonthday'&#093;, $pag&#091;'page_date'&#093; + $usr&#091;'timezone'&#093; * 3600),
			&quot;PAGE_ROW_FILEURL&quot; =&gt; $pag&#091;'page_url'&#093;,
			&quot;PAGE_ROW_SIZE&quot; =&gt; $pag&#091;'page_size'&#093;,
			&quot;PAGE_ROW_COUNT&quot; =&gt; $pag&#091;'page_count'&#093;,
			&quot;PAGE_ROW_FILECOUNT&quot; =&gt; $pag&#091;'page_filecount'&#093;,
			&quot;PAGE_ROW_COMMENTS&quot; =&gt; $pag&#091;'page_comments'&#093;,
			&quot;PAGE_ROW_RATINGS&quot; =&gt; $pag&#091;'page_ratings'&#093;,
			&quot;PAGE_ROW_ODDEVEN&quot; =&gt; sed_build_oddeven($jj),
			&quot;PAGE_ROW_NUM&quot; =&gt; $jj,</pre></div>
различны только префиксы - середина одинаковая.<br />
Все те поля которые касаются пользователей - они точно также дублируются бесконечное число раз.<br />
возможно выход есть: {PHP.блаблабла} но этот способ не форматирует даты, не выводит сокращенные тексты и тд. Это не хорошо. Да и комплексный тег - тяжело воспринимать<br />
<br />
в pm введена специальная функция<br />
<div class="highlight"><pre class="php">function sed_generate_usertags($ruser_array, $tag_preffix, $noidtext='', $allgroups = false)
{
	if ($ruser_array&#091;'user_id'&#093; &gt; 0)
	{
		global $sed_extrafields, $cfg, $L;
		$return_array = array(
				$tag_preffix.&quot;_LINK&quot; =&gt; sed_build_user($ruser_array&#091;'user_id'&#093;, htmlspecialchars($ruser_array&#091;'user_name'&#093;)),
				$tag_preffix.&quot;_ID&quot; =&gt; $ruser_array&#091;'user_id'&#093;,
				$tag_preffix.&quot;_PM&quot; =&gt; sed_build_pm($ruser_array&#091;'user_id'&#093;),
				$tag_preffix.&quot;_NAME&quot; =&gt; htmlspecialchars($ruser_array&#091;'user_name'&#093;),
				$tag_preffix.&quot;_PASSWORD&quot; =&gt; $ruser_array&#091;'user_password'&#093;,
				$tag_preffix.&quot;_MAINGRP&quot; =&gt; sed_build_group($ruser_array&#091;'user_maingrp'&#093;),
				$tag_preffix.&quot;_MAINGRPID&quot; =&gt; $ruser_array&#091;'user_maingrp'&#093;,
				$tag_preffix.&quot;_MAINGRPSTARS&quot; =&gt; sed_build_stars($sed_groups&#091;$ruser_array&#091;'user_maingrp'&#093;&#093;&#091;'level'&#093;),
				$tag_preffix.&quot;_MAINGRPICON&quot; =&gt; sed_build_userimage($sed_groups&#091;$ruser_array&#091;'user_maingrp'&#093;&#093;&#091;'icon'&#093;),
				$tag_preffix.&quot;_COUNTRY&quot; =&gt; sed_build_country($ruser_array&#091;'user_country'&#093;),
				$tag_preffix.&quot;_COUNTRYFLAG&quot; =&gt; sed_build_flag($ruser_array&#091;'user_country'&#093;),
				$tag_preffix.&quot;_TEXT&quot; =&gt; $cfg&#091;'parsebbcodeusertext'&#093; ? sed_bbcode_parse($ruser_array&#091;'user_text'&#093;, true) : $ruser_array&#091;'user_text'&#093;,
				$tag_preffix.&quot;_AVATAR&quot; =&gt; sed_build_userimage($ruser_array&#091;'user_avatar'&#093;, 'avatar'),
				$tag_preffix.&quot;_PHOTO&quot; =&gt; sed_build_userimage($ruser_array&#091;'user_photo'&#093;, 'photo'),
				$tag_preffix.&quot;_SIGNATURE&quot; =&gt; sed_build_userimage($ruser_array&#091;'user_signature'&#093;, 'sig'),
				$tag_preffix.&quot;_EMAIL&quot; =&gt; sed_build_email($ruser_array&#091;'user_email'&#093;, $ruser_array&#091;'user_hideemail'&#093;),
				$tag_preffix.&quot;_SKIN&quot; =&gt; $ruser_array&#091;'user_skin'&#093;,
				$tag_preffix.&quot;_WEBSITE&quot; =&gt; $ruser_array&#091;'user_website'&#093;,
				$tag_preffix.&quot;_JOURNAL&quot; =&gt; $ruser_array&#091;'user_journal'&#093;,
				$tag_preffix.&quot;_ICQ&quot; =&gt; sed_build_icq($ruser_array&#091;'user_icq'&#093;),
				$tag_preffix.&quot;_MSN&quot; =&gt; sed_build_msn($ruser_array&#091;'user_msn'&#093;),
				$tag_preffix.&quot;_IRC&quot; =&gt; htmlspecialchars($ruser_array&#091;'user_irc'&#093;),
				$tag_preffix.&quot;_GENDER&quot; =&gt; $ruser_array&#091;'user_gender'&#093;,
				$tag_preffix.&quot;_BIRTHDATE&quot; =&gt; $ruser_array&#091;'user_birthdate'&#093;,
				$tag_preffix.&quot;_AGE&quot; =&gt; $ruser_array&#091;'user_age'&#093;,
				$tag_preffix.&quot;_TIMEZONE&quot; =&gt; sed_build_timezone($ruser_array&#091;'user_timezone'&#093;),
				$tag_preffix.&quot;_LOCATION&quot; =&gt; htmlspecialchars($ruser_array&#091;'user_location'&#093;),
				$tag_preffix.&quot;_OCCUPATION&quot; =&gt; htmlspecialchars($ruser_array&#091;'user_occupation'&#093;),
				$tag_preffix.&quot;_REGDATE&quot; =&gt; @date($cfg&#091;'dateformat'&#093;, $ruser_array&#091;'user_regdate'&#093; + $usr&#091;'timezone'&#093; * 3600).&quot; &quot;.$usr&#091;'timetext'&#093;,
				$tag_preffix.&quot;_LASTLOG&quot; =&gt; @date($cfg&#091;'dateformat'&#093;, $ruser_array&#091;'user_lastlog'&#093; + $usr&#091;'timezone'&#093; * 3600).&quot; &quot;.$usr&#091;'timetext'&#093;,
				$tag_preffix.&quot;_LOGCOUNT&quot; =&gt; $ruser_array&#091;'user_logcount'&#093;,
				$tag_preffix.&quot;_POSTCOUNT&quot; =&gt; $ruser_array&#091;'user_postcount'&#093;,
				$tag_preffix.&quot;_LASTIP&quot; =&gt; $ruser_array&#091;'user_lastip'&#093;
		);

		if ($allgroups)
		{
			$return_array&#091;$tag_preffix.&quot;_GROUPS&quot;&#093; = sed_build_groupsms($ruser_array&#091;'user_id'&#093;, FALSE, $ruser_array&#091;'user_maingrp'&#093;);
		}
		// Extra fields
		foreach($sed_extrafields&#091;'users'&#093; as $i =&gt; $row)
		{
			$return_array&#091;$tag_preffix.&quot;_&quot;.strtoupper($row&#091;'field_name'&#093;)&#093; = sed_build_extrafields_data('user', $row&#091;'field_type'&#093;, $row&#091;'field_name'&#093;, $ruser_array&#091;'user_'.$row&#091;'field_name'&#093;&#093;);
			$return_array&#091;$tag_preffix.&quot;_&quot;.strtoupper($row&#091;'field_name'&#093;).'_TITLE'&#093; = isset($L&#091;'user_'.$row&#091;'field_name'&#093;.'_title'&#093;) ? $L&#091;'user_'.$row&#091;'field_name'&#093;.'_title'&#093; : $row&#091;'field_description'&#093;;
		}
	}
	else
	{
		$return_array&#091;$tag_preffix.&quot;_LINK&quot;&#093;=$L&#091;'Deleted'&#093;;
		$return_array&#091;$tag_preffix.&quot;_NAME&quot;&#093;=$L&#091;'Deleted'&#093;;
	}
	return $return_array;
}</pre></div>
<br />
ваше мнение.<br /><br /><b>Добавлено 20 Минут спустя:</b><br /><br />кстати, еще : у нас довольно много таких плагинов,  типа userpages или recentitems в нестандартной области и тд. и когда весь плагин 1-2 стркои (ну запрос к базе) и еще 50 таких строк - както не айс.]]></description>
			<pubDate>Mo, 22 Feb 2010 20:00:40 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/de/forums?m=posts&q=5335&d=0#post23128]]></link>
		</item>
	</channel>
</rss>