Jump to content

Pirep accepted email[SOLVED]


Virtualei

Recommended Posts

Hi,

Has anyone ever produced something that sends an email to the pilot when their pirep has been accepted. I have looked in the forums and have found similar like email pireps data but have been unable to find what I am after. Maybe even an email to say Pirep accepted or if rejected and the reason ??

Looking forward to hearing from someone :)

Link to comment
Share on other sites

  • Moderators

I have something that sends an email of the submitted PIREP to the pilot. Maybe you can change its code to send the email when PIREP is accepted. It's actually pretty easy to do. ;)

Here, try this but I haven't tested it:

# Send an email to the pilot who submitted that PIREP
//PILOT INFO
 $pilotfirstname = $pilotinfo->firstname;
 $pilotlastname= $pilotinfo->lastname;
 $email = $pilotinfo->email;
 //PIREP INFO (This all goes into the email, we will need to add those into the TPL
 $code = $pirepdata['code'];
 $flightnum = $pirepdata['flightnum'];
 Template::Set('pilotinfo', $pilotinfo);
 Template::Set('flight', $pirepdata);
 $sub = 'Flight Report for: '.$code.''.$flightnum;
 $message = Template::Get('email_pirep_accep.tpl', true);
 $pireps = self::getLastReports($pilotinfo->pilotid, 1);
 if($pireps->accepted == "1")
  {
   Util::SendEmail($email, $sub, $message);
  }

Now you need to make a file named "email_pirep_accep.tpl" and write in there whatever you want to tell your pilots about their PIREP and you need to add this to your PIREPData.class.php inside the function filePIREP() around line 800. Mine is at line 842

Let me know if it works or not ;)

Salamaty :D

Link to comment
Share on other sites

Hi Parko mate,

Ok here is my email_pirep_accep.tpl which I placed in my skins folder

Dear <?php echo $firstname. ' ' .$lastname?>,
Your pirep has been accepted.
To view it, visit:
<?php echo SITE_URL;?>/index.php/pireps/view/<?php echo $pirepid;?>
Thanks!
The <?php echo SITE_NAME;?> Team

now I have added the code you supplied from line 800. but i dont think I have it in the right place

* Update a specific PIREP
 *
 * @param int $pirepid ID of PIREP to update
 * @param array $pirepdata Dictionary array of fields to update
 * @param bool $recalc_finances Recalculate finances or not (fields must be passed!)
 * @return
 */
public static function updateFlightReport($pirepid, $pirepdata, $recalc_finances = true) {
 if (!is_array($pirepdata)) {
	 return false;
 }
 if ($pirepdata['depicao'] == '' || $pirepdata['arricao'] == '') {
	 return false;
 }
 $pirepinfo = self::getReportDetails($pirepid);
 if(isset($pirepdata['fuelused']) && isset($pirepdata['fuelunitcost'])) {
	 $pirepdata['fuelprice'] = $pirepdata['fuelused'] * $pirepdata['fuelunitcost'];
 }
 if(isset($pirepdata['flighttime'])) {
	 $flighttime_stamp = str_replace('.', ':', $pirepdata['flighttime']) . ':00';
	 $pirepdata['flighttime'] = str_replace(':', ',', $pirepdata['flighttime']);
 }
 # Send an email to the pilot who submitted that PIREP
	 //PILOT INFO
	 $pilotfirstname = $pilotinfo->firstname;
	 $pilotlastname= $pilotinfo->lastname;
	 $email = $pilotinfo->email;
	 //PIREP INFO (This all goes into the email, we will need to add those into the TPL
		 $code = $pirepdata['code'];
	 $flightnum = $pirepdata['flightnum'];
		 Template::Set('pilotinfo', $pilotinfo);
	 Template::Set('flight', $pirepdata);
	 $sub = 'Flight Report for: '.$code.''.$flightnum;
 $message = Template::Get('email_pirep_accep.tpl', true);
	 $pireps = self::getLastReports($pilotinfo->pilotid, 1);
	 if($pireps->accepted == "1")
 {
		 Util::SendEmail($email, $sub, $message);
 }
 # Recalculate finances if these fields are set...
 if($recalc_finances === true) {

	 $data = array(
		 'price' => $pirepdata['price'],
		 'load' => $pirepdata['load'],
		 'expenses' => $pirepdata['expenses'],
		 'fuelprice' => $pirepdata['fuelprice'],
		 'pilotpay' => $pirepdata['pilotpay'],
		 'flighttime' => $pirepdata['flighttime'],
	 );

	 $gross = floatval($pirepdata['load']) * floatval($pirepdata['price']);
	 $revenue = self::getPIREPRevenue($data, $pirepinfo->paytype);
	 $pirepdata = array_merge($pirepdata, array(
		 'flighttime_stamp' => $flighttime_stamp,
		 'gross' => $gross,
		 'revenue' => $revenue,
		 )
	 );

Am I in the correct file core/common/PIREPData.class.php

Salamaty :)

Link to comment
Share on other sites

  • Moderators

You also need to change what's in your .tpl to the following: :D

Dear <?php echo $pilotinfo->firstname. ' ' .$pilotinfo->lastname?>,
Your pirep has been accepted.
To view it, visit:
<?php echo SITE_URL;?>/index.php/pireps/view/<?php echo $pirepdata->pirepid;?>
Thanks!
The <?php echo SITE_NAME;?> Team

Link to comment
Share on other sites

  • Moderators

Don't forget to change this:

Dear <?php echo $pilotinfo->firstname. ' ' .$pilotinfo->lastname?>,
Your pirep has been accepted.
To view it, visit:
<?php echo SITE_URL;?>/index.php/pireps/view/<?php echo $pirepdata->pirepid;?>
Thanks!
The <?php echo SITE_NAME;?> Team

Link to comment
Share on other sites

  • Moderators

Okay try this:

# Send an email to the pilot who submitted that PIREP
//PILOT INFO
 $pilotfirstname = $pilotinfo->firstname;
 $pilotlastname= $pilotinfo->lastname;
 $email = $pilotinfo->email;
 //PIREP INFO (This all goes into the email, we will need to add those into the TPL
 $code = $pirepdata['code'];
 $flightnum = $pirepdata['flightnum'];
 Template::Set('pilotinfo', $pilotinfo);
 Template::Set('flight', $pirepdata);
 $sub = 'Flight Report for: '.$code.''.$flightnum;
 $message = Template::Get('email_pirep_accep.tpl', true);
  if($pirepdata['accepted'] == "1")
  {
    Util::SendEmail($email, $sub, $message);
  }

Link to comment
Share on other sites

  • Moderators

Okay, open admin/module/PIREPAdmin and paste the following in the approve_pirep_post() function at the very end. I think it should go through:

# Send an email to the pilot who submitted that PIREP
//PILOT INFO
 $pilotfirstname = $pilotinfo->firstname;
 $pilotlastname= $pilotinfo->lastname;
 $email = $pilotinfo->email;
 //PIREP INFO (This all goes into the email, we will need to add those into the TPL
 $code = $pirepdata['code'];
 $flightnum = $pirepdata['flightnum'];
 Template::Set('pilotinfo', $pilotinfo);
 Template::Set('flight', $pirepdata);
 $sub = 'Flight Report for: '.$code.''.$flightnum;
 $message = Template::Get('email_pirep_accep.tpl', true);

Util::SendEmail($email, $sub, $message);

Link to comment
Share on other sites

  • Moderators

Okay here is my last shot :( :

# Send an email to the pilot who submitted that PIREP
//PILOT INFO

 $pilotfirstname = Auth::$userinfo->firstname;
 $pilotlastname= Auth::$userinfo->lastname;
 $email = Auth::$userinfo->email;
 //PIREP INFO (This all goes into the email, we will need to add those into the TPL
 $code = $pirep_details->code;
 $flightnum = $pirep_details->flightnum;
 Template::Set('pilotinfo', Auth::$userinfo);
 Template::Set('flight', $pirep_details);
 $sub = 'Flight Report for: '.$code.''.$flightnum;
 $message = Template::Get('email_pirep_accep.tpl', true);
Util::SendEmail($email, $sub, $message);

Link to comment
Share on other sites

Hi Parko,

I have had a look at this today with a fresh head. The last code sends out multiple emails[all the same email] even before the pirep has been accepted by admin. I tried moving the code from the Admin/modules to core/modules but the same thing happened. I tried adding

if($pirepdata['accepted'] == "1")

but then nothing was emailed.

Are we at a loose end mate :(

Alan

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...