<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="style/design-mod.xsl" type="text/xsl" ?>
<mod>
	<header>
		<name>Notification lors d'un événement</name>
		<version>1.0.0</version>
		<author>
			<name>B.Moncef</name>
			<website>http://bmoncef.tuxfamily.org</website>
			<email>yoursef@gmail.com</email>
		</author>
		<description><![CDATA[Permet d'envoyer un email ou un MP à un groupe ou une personne lors de l'ajout d'événements sur le calendrier]]></description>
		<note><![CDATA[La notification par email viendra après.]]></note>
		<manualQueries><![CDATA[INSERT INTO `fsb2_mods` (`mod_name`, `mod_real_name`, `mod_status`, `mod_version`, `mod_description`, `mod_author`, `mod_email`, `mod_website`, `mod_type`) VALUES ('notify_on_evenement', 'Notification lors d'un événement', 1, '1.0.0', 'Permet d'envoyer un email ou un MP à un groupe ou une personne lors de l'ajout d'événements sur le calendrier', 'B.Moncef', 'yoursef@gmail.com', 'http://bmoncef.tuxfamily.org', 1);]]></manualQueries>
	</header>
	<instruction>
		<line name="Copier">
		</line>
		<line name="Ouvrir">
			<file>lang/fr/admin/lg_general_config.php</file>
			<duplicat>lang/</duplicat>
		</line>
		<line name="Trouver">
			<code><![CDATA[  'adm_config_activate_html_explain' => 'Cette option ne sera accessible qu\'aux modérateurs globaux / administrateurs. Soyez sûr de ce que vous faites avant de l\'activer.',
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[  'adm_config_calendar_send_mp'	=>	'Autoriser l\'envoi d\'un MP lors de l\'ajout d\'un événement au calendrier', 
  'adm_config_calendar_send_mail'	=>	'Autoriser l\'envoi d\'un mail lors de l\'ajout d\'un événement au calendrier', ]]></code>
		</line>
		<line name="Ouvrir">
			<file>lang/fr/lg_forum_calendar.php</file>
			<duplicat>lang/</duplicat>
		</line>
		<line name="Trouver">
			<code><![CDATA[  'calendar_not_approved' => 'Evènement non approuvé',
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[  'calendar_send_mp'	=>	'Envoyer un MP concernant cet événement',
  'calendar_send_mp_to'	=>	'Pseudo du membre à qui envoyer un MP',
  'calendar_send_mp_to_explain'	=>	'Vous pouvez envoyer le MP à plusieurs membres en séparant leurs pseudos par un retour à la ligne',]]></code>
		</line>
		<line name="Ouvrir">
			<file>main/forum/forum_post.php</file>
		</line>
		<line name="Trouver">
			<code><![CDATA[				Fsb::$tpl->set_switch('calendar_print');
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[				
				/** Mod Notification lors d'un événement **/
				if (Fsb::$mods->is_active('notify_on_evenement'))
				{
					Fsb::$session->load_lang('lg_forum_calendar');
					if (Fsb::$cfg->get('calendar_send_mp'))
					{
						Fsb::$tpl->set_switch('notify_on_evenement_by_mp');
					}
				}]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[				$this->errstr[] = Fsb::$session->lang('post_calendar_bad_timestamp');
			}
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[	
			/** Mod Notification lors d'un événement **/
			if (Fsb::$mods->is_active('notify_on_evenement'))
			{
				if (Fsb::$cfg->get('calendar_send_mp'))
				{
					if (Http::request('calendar_send_mp', 'post'))
					{
						// On vérifie la liste des pseudonymes
						// Code de Génova
						$split = explode("\n", trim(Http::request('calendar_send_mp_to', 'post')));
						$to_nickname = array();
						foreach ($split AS $p)
						{
							if ($p)
							{
								$to_nickname[] = Fsb::$db->escape(trim($p));
							}
						}
						$to_nickname = array_flip($to_nickname);

						if ($to_nickname)
						{
							$sql = 'SELECT u_id, u_nickname AS u_nickname
									FROM ' . SQL_PREFIX . 'users
									WHERE u_nickname IN (\'' . implode('\', \'', array_keys($to_nickname)) . '\')';
							$result = Fsb::$db->query($sql);
							$to_nickname = array_flip(array_map(array('String', 'strtolower'), array_flip($to_nickname)));
							while ($row = Fsb::$db->row($result))
							{
								$nick = Fsb::$db->escape(String::strtolower($row['u_nickname']));
								if (isset($to_nickname[$nick]))
								{
									unset($to_nickname[$nick]);
								}
								$this->to_id[] = $row['u_id'];
							}
							Fsb::$db->free($result);

							// Pseudonymes incorects
							foreach (array_keys($to_nickname) AS $nickname)
							{
								$this->errstr[] = sprintf(Fsb::$session->lang('post_nickname_not_exists'), htmlspecialchars($nickname));
							}
						}
						else
						{
							$this->errstr[] = Fsb::$session->lang('post_need_to');
						}
					}
				}
			}
			/** Mod Notification lors d'un événement **/]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[				$event_id = Send::calendar_add_event($this->title, $this->content, $this->calendar['timestamp_begin'], $this->calendar['timestamp_end'], $this->calendar['print']);
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[								
				/** Mod Notification lors d'un événement **/
				if (Fsb::$mods->is_active('notify_on_evenement'))
				{
					if (Fsb::$cfg->get('calendar_send_mp'))
					{
						Send::send_mp(Fsb::$session->id(), $this->to_id, $this->title, $this->content, 0, TRUE);
					}
				}
				/** Mod Notification lors d'un événement **/
				]]></code>
		</line>
		<line name="Ouvrir">
			<file>tpl/WhiteSummer/files/forum/forum_post.html</file>
			<duplicat>tpl/</duplicat>
		</line>
		<line name="Trouver">
			<code><![CDATA[							<input type="radio" name="calendar_print" value="1" <if content="$CALENDAR_PRINT == 1">id="calendar_print_id" checked="checked"</if> /> {LG_POST_CALENDAR_PRINT_GROUP} {LIST_CALENDAR_GROUPS}
						</dd>
					</dl>
				</switch>
]]></code>
		</line>
		<line name="apres ajouter">
			<code><![CDATA[						<switch name="notify_on_evenement_by_mp">
					<dl>
						<dt><label for="calendar_send_mp">{LG_CALENDAR_SEND_MP} :</label></dt>
						<dd>
							<input type="radio" name="calendar_send_mp" value="1" /> {LG_YES} &nbsp; &nbsp; 
							<input type="radio" name="calendar_send_mp" value="0" checked="checked" /> {LG_NO}
						</dd>
					</dl>
					<dl>
						<dt>
							<label for="calendar_send_mp_to">{LG_CALENDAR_SEND_MP_TO} :
							<span style="font-size: 7px;">{LG_CALENDAR_SEND_MP_TO_EXPLAIN}</span></label>
						</dt>
						<dd>
							<textarea name="calendar_send_mp_to" id="calendar_send_mp_to" rows="3" cols="30"></textarea>
						</dd>
					</dl>
				</switch>]]></code>
		</line>
		<line name="sql">
			<query><![CDATA[INSERT INTO `fsb2_config_handler` (`cfg_cat`, `cfg_subcat`, `cfg_name`, `cfg_function`, `cfg_args`) VALUES('general', 'calendar', 'calendar_send_mp', 'put_boolean', 'array(''yes'' => ''1'', ''no'' => ''0'')');]]></query>
			<query><![CDATA[INSERT INTO `fsb2_config` (`cfg_name`, `cfg_value`) VALUES('calendar_send_mp', '1');]]></query>
		</line>
		<line name="end">
		</line>
	</instruction>
</mod>