<?php
/*
Plugin Name: Alert Record Saved
Plugin URI:
Description: Send an email notification when a record is added or modified.
Version: 1.02
Requires at least: 2.16
Author: Djulia
Author URI: http://www.interactivetools.com/iforum/
License : Freeware
*/

addAction('record_postsave', '_plugin_alertRecordSaved', null, 4);
addAction('record_posterase', '_plugin_alertRecordErased', null, 4);


// send email on save
function _plugin_alertRecordSaved() { 
	global $SETTINGS, $CURRENT_USER, $tableName, $isNewRecord, $oldRecord;

	// for subject
	if ($isNewRecord == 1) {
		$subject = '[CMSB :: Alert New Record Is Saved]'; }
	else {
		$subject = '[CMSB :: Alert New Record Is Mofified]'; 

		// for old title on multi-table
		if(isset($oldRecord['title']))			{ $oldTitle = htmlspecialchars(@$oldRecord['title']); }
		else if	(isset($oldRecord['name']))		{ $oldTitle = htmlspecialchars(@$oldRecord['name']); }
		else if	(isset($oldRecord['fullname']))	{ $oldTitle = htmlspecialchars(@$oldRecord['fullname']); }	
	}
	
	// for title on multi-table
	$title = 'no title';
	if(isset($_REQUEST['title']))			{ $title = htmlspecialchars(@$_REQUEST['title']); }
	else if	(isset($_REQUEST['name']))		{ $title = htmlspecialchars(@$_REQUEST['name']); }
	else if	(isset($_REQUEST['fullname']))	{ $title = htmlspecialchars(@$_REQUEST['fullname']); }


	//
	$emailTemplate = "alert-record-saved.mel.php";
	$emailHeaders  = emailTemplate_load(array(
		'template'			=> $emailTemplate,
		'template'			=> saved_sendAlertMessage_pluginDir() . "/$emailTemplate",
		'subject'			=> $subject,
		'from'				=> $SETTINGS['adminEmail'],
		'to'				=> $SETTINGS['adminEmail'],
		'placeholders'		=> array(
			'username'		=> $CURRENT_USER['username'],
			'email'			=> $CURRENT_USER['email'],
			'tableName'		=> $tableName,
			'isNewRecord'	=> $isNewRecord,
			'recordNum'		=> intval(@$_REQUEST['num']),
			'title'			=> @$title,
			'oldTitle'		=> @$oldTitle,
		),
		'disabled'			=> false,
		'logging'			=> false,
	));
	$mailErrors   = sendMessage($emailHeaders);
	if ($mailErrors) { die("Mail Error: $mailErrors"); }
}


// send email on erase
function _plugin_alertRecordErased() { 
	global $SETTINGS, $CURRENT_USER, $tableName;

	//
	$emailTemplate = "alert-record-erased.mel.php";
	$emailHeaders  = emailTemplate_load(array(
		'template'			=> $emailTemplate,
		'template'			=> saved_sendAlertMessage_pluginDir() . "/$emailTemplate",
		'subject'			=> '[CMSB :: Alert Record Erased]',
		'from'				=> $SETTINGS['adminEmail'],
		'to'				=> $SETTINGS['adminEmail'],
		'placeholders'		=> array(
			'username'		=> $CURRENT_USER['username'],
			'email'			=> $CURRENT_USER['email'],
			'tableName'		=> $tableName,
			'recordNum'		=> intval(@$_REQUEST['selectedRecords'][0]),
		),
		'disabled'			=> false,
		'logging'			=> false,
	));
	$mailErrors   = sendMessage($emailHeaders);
	if ($mailErrors) { die("Mail Error: $mailErrors"); }
}


//
function saved_sendAlertMessage_pluginDir() {
	return dirname(__FILE__);
}


?>
