<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="style/design-mod.xsl" type="text/xsl" ?>
<mod>
	<header>
		<name>User Post Count</name>
		<version>1.2</version>
		<author>
			<name><![CDATA[Jerémy Lemesle (Korko)]]></name>
			<website><![CDATA[http://www.korko.fr]]></website>
			<email><![CDATA[jeremy.lemesle@korko.fr]]></email>
		</author>
		<description><![CDATA[Ce MOD permet à l'administrateur de définir certains forums où les messages des membres ne sont pas comptabilisé dans leurs compteurs.]]></description>
		<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 ('upcount', 'Prise en compte ou non des messages des membres', 1, '1.2', 'Ce MOD permet à l\'administrateur de définir certains forums où les messages des membres ne sont pas comptabilisé dans leurs compteurs.', 'Jérémy Lemesle (Korko)', 'jeremy.lemesle@korko.fr', 'http://www.korko.fr', 1);]]></manualQueries>
	</header>
	<instruction>
		<line name="SQL">
			<query><![CDATA[ALTER TABLE fsb2_forums ADD f_upcount TINYINT NOT NULL DEFAULT 1;]]></query>
		</line>
		<line name="Copier">
			<file>
				<filename><![CDATA[lang/fr/mods/lg_upcount.php]]></filename>
				<duplicat><![CDATA[lang/]]></duplicat>
			</file>
		</line>
		<line name="Ouvrir">
			<file>main/class/class_send.php</file>
		</line>
		<line name="Trouver">
			<code><![CDATA[$sql = 'SELECT f_left, f_right]]></code>
		</line>
		<line name="Remplacer Par">
			<code><![CDATA[$sql = 'SELECT f_left, f_right, f_upcount]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[			// mise à jour des données du membre
			$user_update_array = array(
				'u_total_post' =>	array('(u_total_post + 1)', 'is_field' => TRUE),
			);]]></code>
		</line>
		<line name="Remplacer Par">
			<code><![CDATA[            $count = 'u_total_post';
            if ( (Fsb::$mods->is_active('upcount') && $select['f_upcount']) || !Fsb::$mods->is_active('upcount') )
            {
                $count .= ' + 1';
            }
            
			// mise Ã  jour des donnÃ©es du membre
			$user_update_array = array(
				'u_total_post' =>	array($count, 'is_field' => TRUE),
			);]]></code>
		</line>
		<line name="Ouvrir">
			<file>main/class/class_moderation.php</file>
		</line>
		<line name="Trouver">
			<code><![CDATA[		// On récupère les données pour chaque message
		$sql = 'SELECT p_id, t_id, f_id, u_id, p_approve
				FROM ' . SQL_PREFIX . 'posts
				WHERE ' . $where;]]></code>
		</line>
		<line name="Remplacer Par">
			<code><![CDATA[		// On récupère les données pour chaque message
		$sql = 'SELECT p_id, t_id, p.f_id, u_id, p_approve, f_upcount
				FROM ' . SQL_PREFIX . 'posts p, ' . SQL_PREFIX . 'forums f
				WHERE p.f_id = f.f_id AND ' . $where;]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[$posts[$row['p_id']] = TRUE;]]></code>
		</line>
		<line name="Avant Ajouter">
			<code><![CDATA[$f_upcount = $row['f_upcount']; // Les messages n'appartiennent qu'à un seul forum donc pas de risque
			]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[		// On met à jour le compteur de messages des membres
		foreach ($users AS $u_id => $total)
		{
			Fsb::$db->update('users', array(
				'u_total_post' =>	array('u_total_post - ' . $total, 'is_field' => TRUE),
				'u_total_topic' =>	array('u_total_topic ' . ((isset($users_topics[$u_id])) ? '- ' . $users_topics[$u_id] : ''), 'is_field' => TRUE),
			), 'WHERE u_id = ' . $u_id);
		}]]></code>
		</line>
		<line name="Remplacer Par">
			<code><![CDATA[		// On met à jour le compteur de messages des membres
		if ( (Fsb::$mods->is_active('upcount') && $f_upcount) || !Fsb::$mods->is_active('upcount') )
		{
			foreach ($users AS $u_id => $total)
			{
				Fsb::$db->update('users', array(
					'u_total_post' =>	array('u_total_post - ' . $total, 'is_field' => TRUE),
					'u_total_topic' =>	array('u_total_topic ' . ((isset($users_topics[$u_id])) ? '- ' . $users_topics[$u_id] : ''), 'is_field' => TRUE),
				), 'WHERE u_id = ' . $u_id);
			}
		}]]></code>
		</line>
		<line name="Ouvrir">
			<file>admin/manage/manage_forums.php</file>
		</line>
		<line name="Trouver">
			<code><![CDATA[$this->data['f_approve'] =			IS_APPROVED;]]></code>
		</line>
		<line name="Apres Ajouter">
			<code><![CDATA[$this->data['f_upcount'] =			1;]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA['FORUM_APPROVE' =>			($this->data['f_approve']) ? TRUE : FALSE,]]></code>
		</line>
		<line name="Apres Ajouter">
			<code><![CDATA['FORUM_UPCOUNT' =>			($this->data['f_upcount']) ? TRUE : FALSE,]]></code>
		</line>
		<line name="Trouver">
			<code><![CDATA[$this->data['f_approve'] =				intval(Http::request('f_approve', 'post'));]]></code>
		</line>
		<line name="Apres Ajouter">
			<code><![CDATA[$this->data['f_upcount'] =				intval(Http::request('f_upcount', 'post'));]]></code>
		</line>
		<line name="Ouvrir">
			<file>admin/adm_tpl/files/manage/adm_manage_forums.html</file>
		</line>
		<line name="Trouver">
			<code><![CDATA[				<input type="radio" name="f_approve" value="<?php echo IS_APPROVED ?>" <if content="$FORUM_APPROVE == IS_APPROVED">id="f_approve_id" checked="checked"</if> /> {LG_NO}
			</dd>
		</dl>]]></code>
		</line>
		<line name="Apres Ajouter">
			<code><![CDATA[		<switch name="ac_mods_upcount">
		<dl>
			<dt><label for="f_approve_id">{LG_ADM_FORUM_UPCOUNT} :</label><br /><span>{LG_ADM_FORUM_UPCOUNT_EXPLAIN}</span></dt>
			<dd>
				<input type="radio" name="f_upcount" value="1" <if content="$FORUM_UPCOUNT">id="f_upcount_id" checked="checked"</if> /> {LG_YES} &nbsp; 
				<input type="radio" name="f_upcount" value="0" <if content="!$FORUM_UPCOUNT">id="f_upcount_id" checked="checked"</if> /> {LG_NO}
			</dd>
		</dl>
		</switch>]]></code>
		</line>
		<line name="End" />
	</instruction>
</mod>
