<?php
// Load wordpress
require( dirname(__FILE__) . '/wp-load.php' );
global $wpdb;

// GRUPOS
$table = $wpdb->prefix . 'bp_groups';
$table2 = $wpdb->prefix . 'bp_groups_groupmeta';
$table3 = $wpdb->prefix . 'bp_groups_members';
$table4 = $wpdb->prefix . 'bp_activity';
$total_cont = 0;

$fam=0; $ref=0; $sin=0; $tra=0;
$puntosfam=0; $puntosref=0; $puntossin=0; $puntostra=0;

$res_groups = $wpdb->get_results ('SELECT g.id, g.name, gm.meta_value FROM '. $table .' g
INNER JOIN '.$table2.' gm ON g.id = gm.group_id AND gm.meta_key="ironestado" ORDER BY g.id');

$ngroups = count($res_groups);
echo '<b>n: '.$ngroups.'</b><br />';

if ($ngroups>0) {
	foreach ($res_groups as $group) {

		$fam=0; $ref=0; $sin=0; $tra=0;
		$puntosfam=0; $puntosref=0; $puntossin=0; $puntostra=0;

		// (1) Puntos otorgados por estado de creación (*1)
		if ($group->meta_value =='familiares') { $puntosfam = 1; }
		elseif ($group->meta_value =='reflexivos') { $puntosref = 1; }
		elseif ($group->meta_value =='sintomaticos') { $puntossin = 1; }
		elseif ($group->meta_value =='transgresores') { $puntostra = 1; }

		// (2) Puntos otorgados por estado de los miembros (*2)
		$members = $wpdb->get_results ('SELECT user_id FROM '. $table3.' WHERE is_confirmed="1" AND group_id="'.$group->id.'"');
		$totalmem = count($members);

		if (count($members)>0) {
			foreach ($members as $member) {
				$user_mood = xprofile_get_field_data( 'EstadoAnimo', $member->user_id);
				if ($user_mood == 'familiares')
					$fam++;
				elseif ($user_mood == 'reflexivos')
					$ref++;
				elseif ($user_mood == 'sintomaticos')
					$sin++;
				elseif ($user_mood == 'transgresores')
					$tra++;
			}
		}

		$puntosfam += $fam*2;
		$puntosref += $ref*2;
		$puntossin += $sin*2;
		$puntostra += $tra*2;

		// (3) Puntos otorgados por el contenido de la actividad (*4)
		$res_cont = $wpdb->get_results ('SELECT id FROM '.$table4.' WHERE type = "activity_update" AND (component="activity" OR component="groups") AND item_id = "'. $group->id.'"');
		$total_cont = count($res_cont);
		$fam=0; $ref=0; $sin=0; $tra=0;

		if ($total_cont>0) {
			foreach ($res_cont as $cont) {
				$cont_mood = bp_activity_get_meta($cont->id, 'current_mood');
				if ($cont_mood == 'familiares')
					$fam++;
				elseif ($cont_mood == 'reflexivos')
					$ref++;
				elseif ($cont_mood == 'sintomaticos')
					$sin++;
				elseif ($cont_mood == 'transgresores')
					$tra++;
			}
		}

		$puntosfam += $fam*4;
		$puntosref += $ref*4;
		$puntossin += $sin*4;
		$puntostra += $tra*4;

		$estado = array(
		'fam' => $puntosfam,
		'ref' => $puntosref,
		'sin' => $puntossin,
		'tra' => $puntostra);

		arsort($estado);

		echo 'id: '. $group->id;
		echo '&nbsp;|&nbsp;'. $group->name;
		echo '&nbsp;|&nbsp;estado: '. $group->meta_value;
		echo '&nbsp;|&nbsp;calc: '. key($estado);
		echo '<br />';

		// En key($estado) esta el estadoanimo calculado
		// Hacemos el UPDATE en la bbdd
		// $wpdb->query ('UPDATE '.$table2.' SET meta_value="'. key($estado) .'" WHERE group_id='. group->id .' AND meta_key="ironestado"');
	}
}
?>