Location: PHPKode > projects > Basebuilder > basebuilder-2.0.1/databases/bb_campaign/scripts/bb_campaign_lists/index.inc.php
<?php
$root = dirname(__FILE__);
$mj_user->template->set_root($root . '/ihtml');

$query = $mj_user->get_post_or_get_value('query');
$query_id = $mj_user->get_post_or_get_value('query_id');
$event_id = $mj_user->get_post_or_get_value('event_id');
$working_group_id = $mj_user->get_post_or_get_value('working_group_id');
$appeal_id = $mj_user->get_post_or_get_value('appeal_id');
$everyone_with_phone = $mj_user->get_post_or_get_value('everyone_with_phone');
$begin_date_received = $mj_user->get_post_or_get_value('begin_date_received');
$end_date_received = $mj_user->get_post_or_get_value('end_date_received');
$begin_date_pledged = $mj_user->get_post_or_get_value('begin_date_pledged');
$end_date_pledged = $mj_user->get_post_or_get_value('end_date_pledged');
$begin_amount = $mj_user->get_post_or_get_value('begin_amount');
$end_amount = $mj_user->get_post_or_get_value('end_amount');



if($query)
{
	$mj_user->template->set_file('list_file','list.ihtml');
	$mj_user->template->set_block('list_file','row','rows');

	// display list
	if($query_id)
	{
		$query_sql = "SELECT sql_statement FROM mj_queries WHERE mj_query_id = $query_id";
		$mj_user->db->QueryField($query_sql,$sql);
	}
	elseif($everyone_with_phone)
	{
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person LEFT JOIN org ON person.org_id = org.org_id WHERE '.
				" tel_day like '%-%' OR tel_eve like '%-%' OR tel_mobile like '%-%'";
	}
	elseif($event_id)
	{
		$sql_where = '';
		if($event_id <> 'any')
		{
			$sql_where = " WHERE attendance.event_id = $event_id";
		}

		$sql = 'SELECT DISTINCT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN attendance on person.person_id = attendance.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id' . $sql_where;

	}
	elseif($working_group_id)
	{
		$sql_where = '';
		if($working_group_id <> 'any')
		{
			$sql_where = " WHERE assignment.working_group_id = $working_group_id";
		}
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN assignment on person.person_id = assignment.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id' . $sql_where;

	}
	elseif($appeal_id)
	{
		$sql_where = '';
		if($appeal_id <> 'any')
		{
			$sql_where = " WHERE donation.appeal_id = $appeal_id";
		}
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN donation on person.person_id = donation.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id' . $sql_where;
	}
	elseif($begin_date_received)
	{
		if(!$mj_user->convert_to_db_acceptable_date($begin_date_received,$converted_begin_date_received))
		{
			$mj_user->display_message('Please enter your dates in mm-dd-yyyy format. Close this browser window to return.','error');
			return FALSE;
		}

		if(!$mj_user->convert_to_db_acceptable_date($end_date_received,$converted_end_date_received))
		{
			$mj_user->display_message('Please enter your dates in mm-dd-yyyy format. Close this browser window to return.','error');
			return FALSE;
		}
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN donation on person.person_id = donation.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id WHERE '.
				"donation.date_received BETWEEN '$converted_begin_date_received' AND '$converted_end_date_received'";
	}
	elseif($begin_date_pledged)
	{
		if(!$mj_user->convert_to_db_acceptable_date($begin_date_pledged,$converted_begin_date_pledged))
		{
			$mj_user->display_message('Please enter your dates in mm-dd-yyyy format. Close this browser window to return.','error');
			return FALSE;
		}
		if(!$mj_user->convert_to_db_acceptable_date($end_date_pledged,$converted_end_date_pledged))
		{
			$mj_user->display_message('Please enter your dates in mm-dd-yyyy format. Close this browser window to return.','error');
			return FALSE;
		}
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN donation on person.person_id = donation.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id WHERE '.
				"donation.date_pledged BETWEEN '$converted_begin_date_pledged' AND '$converted_end_date_pledged'";
	}
	// Begin amount could be 0
	elseif(FALSE !== $begin_amount)
	{
		$sql = 'SELECT first_name,last_name,tel_day,tel_eve,tel_mobile,person.email,org.email as org_email,'.
				'org.tel,organization,person.notes '.
				'FROM person INNER JOIN donation on person.person_id = donation.person_id '.
				'LEFT JOIN org ON person.org_id = org.org_id WHERE '.
				"donation.amount_received BETWEEN $begin_amount AND $end_amount";
	}

	$result = $mj_user->db->Query($sql);
	$number_of_rows = $mj_user->db->NumberOfRows($result);

	if($number_of_rows == 0)
	{
		$mj_user->display_message('No records match your query. Close this browser window to return.','info');
		return FALSE;
	}
	else
	{
		$mj_user->db->GetColumnNames($result,$column_names);
		$i = 0;
		while($i < $number_of_rows)
		{
			foreach($column_names as $column_name => $column_number)
			{
				$mj_user->template->set_var($column_name,$mj_user->db->FetchResult($result,$i,$column_name));
			}

			$mj_user->template->parse('rows','row',TRUE);
			$i++;
		}	

		$mj_user->template->set_var('number_of_rows',$number_of_rows);
		$mj_user->template->set_var('sql',urlencode($sql));
		$mj_user->template->pparse('out','list_file');
		exit;
	}
}
else
{
	// display query options

	$sql = 'SELECT mj_query_id,friendly_name FROM mj_queries';
	$mj_user->db->QueryAll($sql,$all);
	foreach($all as $row)
	{
		$query_id = $row[0];
		$friendly_name = $row[1];
		$query_id_array[$query_id] = $friendly_name;
	}

	$replace['query_id_options'] = $mj_user->create_options($query_id_array);

	$sql = 'SELECT working_group_id,name FROM working_group';
	$mj_user->db->QueryAll($sql,$all);
	$working_group_id_array['any'] = 'Anyone who is a member of any working group';
	foreach($all as $row)
	{
		$working_group_id = $row[0];
		$name = $row[1];
		$working_group_id_array[$working_group_id] = $name;
	}

	$replace['working_group_id_options'] = $mj_user->create_options($working_group_id_array);

	$sql = 'SELECT event_id,name,date FROM event';
	$mj_user->db->QueryAll($sql,$all);
	$event_id_array['any'] = 'Anyone who has attended any event';
	foreach($all as $row)
	{
		$event_id = $row[0];
		$name = $row[1];
		$date = $mj_user->convert_to_friendly_date($row[2]);
		$event_id_array[$event_id] = $name . ' ' . $date;
	}

	$replace['event_id_options'] = $mj_user->create_options($event_id_array);

	$sql = 'SELECT appeal_id,name,date FROM appeal';
	$mj_user->db->QueryAll($sql,$all);
	$appeal_id_array['any'] = 'Anyone who has given to any appeal';
	foreach($all as $row)
	{
		$appeal_id = $row[0];
		$name = $row[1];
		$date = $mj_user->convert_to_friendly_date($row[2]);
		$appeal_id_array[$appeal_id] = $name . ' ' . $date;
	}

	$replace['appeal_id_options'] = $mj_user->create_options($appeal_id_array);

	$mj_user->template->set_file('options.ihtml','options.ihtml');
	$mj_user->template->set_var($replace);
	$mj_user->template->parse('mj_main_section','options.ihtml');
}


?>
Return current item: Basebuilder