<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Комментарии: Расширение логики модулей или Logic Hooks. Часть 2</title>
	<atom:link href="/logic-hooks-example.html/feed" rel="self" type="application/rss+xml" />
	<link>http://sugartalk.ru/logic-hooks-example.html</link>
	<description>Русскоязычный блог для администраторов и разработчиков SugarCRM</description>
	<lastBuildDate>Sun, 24 Jun 2012 06:35:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Автор: snegg</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36661</link>
		<dc:creator>snegg</dc:creator>
		<pubDate>Thu, 23 Jun 2011 13:29:34 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36661</guid>
		<description>Что-то на подобие этого.</description>
		<content:encoded><![CDATA[<p>Что-то на подобие этого.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: snegg</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36660</link>
		<dc:creator>snegg</dc:creator>
		<pubDate>Thu, 23 Jun 2011 13:28:47 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36660</guid>
		<description>Простите за навящивость, а не знаете ли вы, какая функция классов самого шугара отвечает за отправку сообщений. 
           [php]
           $email = new Email();
           $email-&gt;send(&#039;параметры&#039;);
           [/php]
Потому как у меня не выходит отправлять мсг функцией sendSugarPHPMail. Пишет еррор, а печально то, что я непонятно где ошибка...</description>
		<content:encoded><![CDATA[<p>Простите за навящивость, а не знаете ли вы, какая функция классов самого шугара отвечает за отправку сообщений. </p><p><pre class="brush: php; title: ; notranslate">
           $email = new Email();
           $email-&gt;send('параметры');
           </pre></p><p>Потому как у меня не выходит отправлять мсг функцией sendSugarPHPMail. Пишет еррор, а печально то, что я непонятно где ошибка...</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: snegg</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36659</link>
		<dc:creator>snegg</dc:creator>
		<pubDate>Thu, 23 Jun 2011 12:04:39 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36659</guid>
		<description>Спасибо большое! Буду пробывать.</description>
		<content:encoded><![CDATA[<p>Спасибо большое! Буду пробывать.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: Шуга Админ</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36658</link>
		<dc:creator>Шуга Админ</dc:creator>
		<pubDate>Thu, 23 Jun 2011 11:46:32 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36658</guid>
		<description>Воспользуйтесь хуком, который &quot;по вешайте&quot; на сохранение задачи before_save, и там проверяйте если изменился пользователь ($bean-&gt;USER != $bean-&gt;fetched_row[&#039;USER&#039;]), то отправляйте письмо .
В примере USER - заменяйте на названия своих полей, и так проверяйте все свои 4 поля.</description>
		<content:encoded><![CDATA[<p>Воспользуйтесь хуком, который &laquo;по вешайте&raquo; на сохранение задачи before_save, и там проверяйте если изменился пользователь ($bean->USER != $bean->fetched_row['USER']), то отправляйте письмо .</p><p>В примере USER&nbsp;&mdash; заменяйте на названия своих полей, и так проверяйте все свои 4 поля.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: snegg</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36657</link>
		<dc:creator>snegg</dc:creator>
		<pubDate>Thu, 23 Jun 2011 11:22:46 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36657</guid>
		<description>ммм
Если вы не против, я опишу свою задачи поподробней.
В модуле Задачи, я добавил еще 4 relate поля связаные с пользователями (ответственные над задачами).
Соответственно рассылка при назначении идет только 1-му полю, которое было по умолчанию.
Цель такова - мне надо отсылать письма всем назначенным над задачами.
Если вас не затруднит, посоветуйте что-нибудь.</description>
		<content:encoded><![CDATA[<p>ммм</p><p>Если вы не против, я опишу свою задачи поподробней.</p><p>В модуле Задачи, я добавил еще 4 relate поля связаные с пользователями (ответственные над задачами).</p><p>Соответственно рассылка при назначении идет только 1-му полю, которое было по умолчанию.</p><p>Цель такова&nbsp;&mdash; мне надо отсылать письма всем назначенным над задачами.</p><p>Если вас не затруднит, посоветуйте что-нибудь.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: Шуга Админ</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36656</link>
		<dc:creator>Шуга Админ</dc:creator>
		<pubDate>Thu, 23 Jun 2011 11:15:31 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36656</guid>
		<description>Вам не надо заботится о передаче этих параметров, SugarCRM автоматически вызывает вашу объявленную функцию и передает ей эти три параметра: (SugarBean $bean, $event, $arguments)</description>
		<content:encoded><![CDATA[<p>Вам не надо заботится о передаче этих параметров, SugarCRM автоматически вызывает вашу объявленную функцию и передает ей эти три параметра: (SugarBean $bean, $event, $arguments)</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: snegg</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-36655</link>
		<dc:creator>snegg</dc:creator>
		<pubDate>Thu, 23 Jun 2011 11:08:26 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-36655</guid>
		<description>Здравствуйте! Я только 2 недели как разбераюсь с шугаром, если что - не пугайтесь моему вопросу...
Вот вы написали функцию для отправки имейла по событию, например after_save.
Правильно ли я понимаю, эту функцию нужно написать в класс, который указан в пути хука и там же следующим параметром указать эту функцию. 
А вот вопрос: там 3 параметра которые нужно передать данной функции, как это сделать?</description>
		<content:encoded><![CDATA[<p>Здравствуйте! Я только 2 недели как разбераюсь с шугаром, если что&nbsp;&mdash; не пугайтесь моему вопросу...</p><p>Вот вы написали функцию для отправки имейла по событию, например after_save.</p><p>Правильно ли я понимаю, эту функцию нужно написать в класс, который указан в пути хука и там же следующим параметром указать эту функцию. </p><p>А вот вопрос: там 3 параметра которые нужно передать данной функции, как это сделать?</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: VanVo</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-365</link>
		<dc:creator>VanVo</dc:creator>
		<pubDate>Thu, 02 Dec 2010 12:54:28 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-365</guid>
		<description>Большое спасибо.
Да. Проблема была именно в отправке e-mail.
Посмотрел Ваш код, нашел то что было неправильно в моем коде - я пытался отправлять без 
$admin = new Administration(); Ну или  что-то в этом роде.
Еще раз большое спасибо.</description>
		<content:encoded><![CDATA[<p>Большое спасибо.</p><p>Да. Проблема была именно в отправке e-mail.</p><p>Посмотрел Ваш код, нашел то что было неправильно в моем коде&nbsp;&mdash; я пытался отправлять без </p><p>$admin = new Administration (); Ну или  что-то в этом роде.</p><p>Еще раз большое спасибо.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: Шуга Админ</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-358</link>
		<dc:creator>Шуга Админ</dc:creator>
		<pubDate>Mon, 29 Nov 2010 07:18:10 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-358</guid>
		<description>Не совсем понятен Ваш вопрос. Если логика работы понятна, то в чем проблема отправки по событию? Для &quot;отлавливания&quot; события как раз в SugarCRM и нужны хуки. Если у Вас просто сложность отправки email сообщения, то можете воспользоваться такой функцией:
[php collapse=&quot;true&quot;]
&lt;?php
function sendSugarPHPMail($tos, $subject, $body){
 
	require_once(&#039;include/SugarPHPMailer.php&#039;);
	require_once(&#039;modules/Administration/Administration.php&#039;);
 
	$mail = new SugarPHPMailer();
	$admin = new Administration();
	$admin-&gt;retrieveSettings();
 
	if ($admin-&gt;settings[&#039;mail_sendtype&#039;] == &quot;SMTP&quot;) {
		$mail-&gt;Host = $admin-&gt;settings[&#039;mail_smtpserver&#039;];
		$mail-&gt;Port = $admin-&gt;settings[&#039;mail_smtpport&#039;];
 
		if ($admin-&gt;settings[&#039;mail_smtpauth_req&#039;]) {
			$mail-&gt;SMTPAuth = TRUE;
			$mail-&gt;Username = $admin-&gt;settings[&#039;mail_smtpuser&#039;];
			$mail-&gt;Password = $admin-&gt;settings[&#039;mail_smtppass&#039;];
		}
 
		$mail-&gt;Mailer   = &quot;smtp&quot;;
		$mail-&gt;SMTPKeepAlive = true;
 
	}else{
		$mail-&gt;mailer = &#039;sendmail&#039;;
	}
 
	$mail-&gt;From     = $admin-&gt;settings[&#039;notify_fromaddress&#039;];
	$mail-&gt;FromName = $admin-&gt;settings[&#039;notify_fromname&#039;];
	$mail-&gt;ContentType = &quot;text/html&quot;; //&quot;text/plain&quot;
 
	$mail-&gt;Subject = $subject;
	$mail-&gt;Body = $body;
 
	foreach ($tos as $name =&gt; $address){
		$mail-&gt;AddAddress(&quot;{$address}&quot;, &quot;{$name}&quot;);
	}
 
	if (!$mail-&gt;send()) {
		$GLOBALS[&#039;log&#039;]-&gt;info(&quot;sendSugarPHPMail - Mailer error: &quot; . $mail-&gt;ErrorInfo);
		return false;
	}else{
		return true;
	}
}
?&gt;
[/php]
Где $tos - массив email, $subject - тема письма, $body - тело письма</description>
		<content:encoded><![CDATA[<p>Не совсем понятен Ваш вопрос. Если логика работы понятна, то в чем проблема отправки по событию? Для &laquo;отлавливания&raquo; события как раз в SugarCRM и нужны хуки. Если у Вас просто сложность отправки email сообщения, то можете воспользоваться такой функцией:</p><p><pre class="brush: php; collapse: true; light: false; title: ; toolbar: true; notranslate">
&lt;?php
function sendSugarPHPMail($tos, $subject, $body){
 
	require_once('include/SugarPHPMailer.php');
	require_once('modules/Administration/Administration.php');
 
	$mail = new SugarPHPMailer();
	$admin = new Administration();
	$admin-&gt;retrieveSettings();
 
	if ($admin-&gt;settings['mail_sendtype'] == &quot;SMTP&quot;) {
		$mail-&gt;Host = $admin-&gt;settings['mail_smtpserver'];
		$mail-&gt;Port = $admin-&gt;settings['mail_smtpport'];
 
		if ($admin-&gt;settings['mail_smtpauth_req']) {
			$mail-&gt;SMTPAuth = TRUE;
			$mail-&gt;Username = $admin-&gt;settings['mail_smtpuser'];
			$mail-&gt;Password = $admin-&gt;settings['mail_smtppass'];
		}
 
		$mail-&gt;Mailer   = &quot;smtp&quot;;
		$mail-&gt;SMTPKeepAlive = true;
 
	}else{
		$mail-&gt;mailer = 'sendmail';
	}
 
	$mail-&gt;From     = $admin-&gt;settings['notify_fromaddress'];
	$mail-&gt;FromName = $admin-&gt;settings['notify_fromname'];
	$mail-&gt;ContentType = &quot;text/html&quot;; //&quot;text/plain&quot;
 
	$mail-&gt;Subject = $subject;
	$mail-&gt;Body = $body;
 
	foreach ($tos as $name =&gt; $address){
		$mail-&gt;AddAddress(&quot;{$address}&quot;, &quot;{$name}&quot;);
	}
 
	if (!$mail-&gt;send()) {
		$GLOBALS['log']-&gt;info(&quot;sendSugarPHPMail - Mailer error: &quot; . $mail-&gt;ErrorInfo);
		return false;
	}else{
		return true;
	}
}
?&gt;
</pre></p><p>Где $tos&nbsp;&mdash; массив email, $subject&nbsp;&mdash; тема письма, $body&nbsp;&mdash; тело письма</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: VanVo</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-356</link>
		<dc:creator>VanVo</dc:creator>
		<pubDate>Sun, 28 Nov 2010 08:11:24 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-356</guid>
		<description>Подскажите, как можно отправить e-mail по событию. В принципе общая логика работы с хуками понятна.</description>
		<content:encoded><![CDATA[<p>Подскажите, как можно отправить e-mail по событию. В принципе общая логика работы с хуками понятна.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: anton</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-117</link>
		<dc:creator>anton</dc:creator>
		<pubDate>Sun, 15 Aug 2010 09:35:48 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-117</guid>
		<description>Спасибо, буду пробовать.</description>
		<content:encoded><![CDATA[<p>Спасибо, буду пробовать.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: Шуга Админ</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-111</link>
		<dc:creator>Шуга Админ</dc:creator>
		<pubDate>Fri, 13 Aug 2010 12:28:44 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-111</guid>
		<description>К сожалению, никак. Если вы хотите прикрепить папку, делайте это архивом. Или же можете разработать свой модуль - аналог модуля документы, с разбиением по папкам. Или второй, более простой вариант, делаете новый модуль - папки, без всяких полей только ID  и имя. Делаете связь этого модуля с модулем документов. А в нужном вам модуле делаете связь не с модулем документов, а с модулем папки. И тогда в субпанели будут не документы, а папки, при переходе в которые вы будете видеть все документы, относящиеся к этой папке, удалять их, добавлять и т.д.</description>
		<content:encoded><![CDATA[<p>К сожалению, никак. Если вы хотите прикрепить папку, делайте это архивом. Или же можете разработать свой модуль&nbsp;&mdash; аналог модуля документы, с разбиением по папкам. Или второй, более простой вариант, делаете новый модуль&nbsp;&mdash; папки, без всяких полей только ID  и имя. Делаете связь этого модуля с модулем документов. А в нужном вам модуле делаете связь не с модулем документов, а с модулем папки. И тогда в субпанели будут не документы, а папки, при переходе в которые вы будете видеть все документы, относящиеся к этой папке, удалять их, добавлять и т.д.</p>]]></content:encoded>
	</item>
	<item>
		<title>Автор: anton</title>
		<link>http://sugartalk.ru/logic-hooks-example.html/comment-page-1#comment-110</link>
		<dc:creator>anton</dc:creator>
		<pubDate>Fri, 13 Aug 2010 11:25:49 +0000</pubDate>
		<guid isPermaLink="false">http://sugartalk.ru/?p=275#comment-110</guid>
		<description>Ковыряюсь в Шуге, подскажите, а можно создавать папки в модуле Документы. А то как то загружать одиночные доки не совсем удобно, так как бардак очень быстро образовывается?</description>
		<content:encoded><![CDATA[<p>Ковыряюсь в Шуге, подскажите, а можно создавать папки в модуле Документы. А то как то загружать одиночные доки не совсем удобно, так как бардак очень быстро образовывается?</p>]]></content:encoded>
	</item>
</channel>
</rss>
