public function emailReceipt()
 {
     $user = $this->my_purchase->getPurchaserUser();
     $institution = $user->getApp();
     $trial_length = $institution->getMembershipTrialLength();
     $trial_end_date = date('F j, Y', $trial_length * self::DAY + time());
     $params = array('institution_full_name' => $institution->getFullName(), 'institution_short_name' => $institution->getShortName(), 'trial_end_date' => $trial_end_date, 'amountCharged' => number_format($this->amount, 2), 'trial_length' => $trial_length, 'cycle_text' => strtolower($this->my_purchase->getBillCycle()) . 'ly');
     $email = new GcrUserEmailer('purchase_membership', $user, "Thank you for purchasing a membership from " . $institution->getFullName() . "!", $params);
     $email->sendHtmlEmail();
 }
 public function emailReceipt()
 {
     global $CFG;
     // gather important data
     $eschool = Doctrine_Core::getTable('GcrInstitution')->findOneByShortName($this->my_purchase->getUserInstitutionId());
     $current_user = $CFG->current_app->getCurrentUser();
     $user = $current_user->getUserOnInstitution();
     $purchase_item = Doctrine::getTable('GcrPurchaseItem')->find($this->my_purchase->getPurchaseTypeId());
     $params = array('sale_description' => $purchase_item->getDescription(), 'amountCharged' => number_format($this->amount, 2), 'creditCardString' => $this->getCreditCardString());
     $email = new GcrUserEmailer('purchase_sale', $user, "Thank you for your purchase!", $params);
     $email->sendHtmlEmail();
 }
 /**
  * this function executes purchase details in screen
  */
 public function emailReceipt()
 {
     $user = $this->my_purchase->getPurchaserUser();
     $institution = $user->getApp();
     $trial_length = 0;
     $type_id_arr = explode("~", $this->my_purchase->getPurchaseTypeId());
     $product_details = GcrProductsTable::getProductDetails($type_id_arr[0], $type_id_arr[1], $this->my_purchase->getPurchaseTypeEschoolId());
     foreach ($product_details as $product) {
         $trial_length = $product->getExpiryNoOfDays();
     }
     $trial_end_date = date('F j, Y', $trial_length * self::DAY + time());
     $params = array('institution_full_name' => $institution->getFullName(), 'institution_short_name' => $institution->getShortName(), 'trial_end_date' => $trial_end_date, 'amountCharged' => number_format($this->amount, 2), 'trial_length' => $trial_length, 'cycle_text' => strtolower($this->my_purchase->getBillCycle()) . 'ly');
     $email = new GcrUserEmailer('purchase_subscription', $user, "Thank you for purchasing a Subscription from " . $institution->getFullName() . "!", $params);
     $email->sendHtmlEmail();
 }
function invite_submit(Pieform $form, $values)
{
    global $CFG;
    $mhr_user = $CFG->current_app->getCurrentUser();
    $eschool = Doctrine::getTable('GcrEschool')->findOneById($values['eschoolid']);
    $mdl_course = $eschool->getCourse($values['courseid']);
    $to = array();
    foreach ($values['invitees'] as $id) {
        array_push($to, $CFG->current_app->getMhrUserById($id));
    }
    $from = "*****@*****.**";
    $replyto = "*****@*****.**";
    $params = array('courseid' => $mdl_course->getObject()->id, 'fullname' => $mdl_course->getObject()->fullname, 'shortname' => $mdl_course->getObject()->shortname, 'password' => $mdl_course->getObject()->password, 'eschoolid' => $values['eschoolid']);
    $email = new GcrUserEmailer('mahara_invite', $to, 'You\'ve been Invited!', $params, $from, $replyto);
    $email->sendHtmlEmail();
    redirect('/artefact/courses/invite.php?eschoolid=' . $values['eschoolid'] . '&courseid=' . $values['courseid']);
}
 public function executeCreatePaymentInfo(sfWebRequest $request)
 {
     global $CFG;
     $CFG->current_app->requireLogin();
     $this->current_user = $CFG->current_app->getCurrentUser();
     $role_manager = $this->current_user->getRoleManager();
     $form = $request->getPostParameters();
     if ($form['id'] != '') {
         if (!$role_manager->hasPrivilege('GCUser')) {
             $CFG->current_app->gcError('Non-privileged attempted access to edit ' . $form['user_eschool_id'] . ' createPaymentInfo with user ID ' . $form['user_id'], 'gcpageaccessdenied');
         }
         if (!($credentials = Doctrine::getTable('GcrPayoffCredentials')->find($form['id']))) {
             $CFG->current_app->gcError('Credentials with ID ' . $form['id'] . ' does not exist.', 'gcdatabaseerror');
         }
         $this->payoff_credentials_form = new GcrPayoffCredentialsForm($credentials);
     } else {
         $this->payoff_credentials_form = new GcrPayoffCredentialsForm();
     }
     $institution = GcrInstitutionTable::getInstitution($form['user_eschool_id']);
     if (!($user = $institution->getUserById($form['user_id']))) {
         $CFG->current_app->gcError('Local User with ID ' . $form['user_id'] . ' on eschool ' . $institution->getShortName() . ' does not exist', 'gcdatabaseerror');
     }
     $account_manager = $user->getAccountManager();
     // If this isn't a gc admin, we need to check that they aren't trying to change someone else's credentials
     if (!$role_manager->hasPrivilege('GCUser')) {
         if (!$this->current_user->isSameUser($user)) {
             $CFG->current_app->gcError('Non-privileged attempted access to ' . $form['user_eschool_id'] . ' createPaymentInfo with user ID ' . $form['user_id'], 'gcpageaccessdenied');
         }
         if ($account_manager->usesChainedPayments()) {
             $CFG->current_app->gcError('User cannot change payoff credentials with chained payments enabled.', 'gcchainedpaymentcredentials');
         }
         $form['verify_status'] = 'unverified';
     } else {
         $form['verify_status'] = 'verified';
     }
     $form['verify_hash'] = GcrEschoolTable::generateRandomString();
     $this->payoff_credentials_form->bind($form);
     if ($this->payoff_credentials_form->isValid()) {
         $old_credentials = $account_manager->getPayoffCredentials();
         $payoff_credentials = $this->payoff_credentials_form->save();
         if ($old_credentials && $form['id'] == '') {
             $old_credentials->setVerifyStatus('expired');
             $old_credentials->save();
         }
         if ($form['verify_status'] == 'unverified') {
             $subject = 'Verification of Global Classroom Payment Information';
             $params = array('institution' => $institution, 'credentials' => $payoff_credentials);
             $email = new GcrUserEmailer('verify_payoff_credentials', $user, $subject, $params);
             $email->sendHtmlEmail();
         }
         $this->redirect($CFG->current_app->getUrl() . '/account/newPaymentInfo?id=' . $payoff_credentials->getId());
     }
     $this->setTemplate('paymentInfo');
 }
 public function emailReceipt()
 {
     $user = $this->my_purchase->getPurchaserUser();
     $email = new GcrUserEmailer('purchase_eschool', $user, "Thank you for purchasing your eSchool!");
     $email->sendHtmlEmail();
 }
 public static function executeTrialCron()
 {
     $q = Doctrine_Query::create()->from('GcrTrial t')->where('t.end_date != ?', 0)->addWhere('t.end_date > ?', time());
     $activetrials = $q->execute();
     $day = 24 * 60 * 60;
     define("DAY", $day);
     foreach ($activetrials as $trial) {
         $start_date = $trial->getStartDate();
         $exp_time = $trial->getExpirationTime();
         $days_remaining = $trial->getDaysRemaining();
         $total_time = $exp_time - $start_date;
         $total_days = floor($total_time / DAY);
         $halfway_days = floor($total_time / DAY / 2);
         $institution = $trial->getInstitution();
         $eschool = $institution->getDefaultEschool();
         if ($mhr_user = $institution->getOwnerUser()) {
             $user_email = trim($mhr_user->getObject()->email);
         } else {
             continue;
         }
         $params = array('eschool_short_name' => $institution->getShortName(), 'eschool_full_name' => $institution->getFullName(), 'default_eschool_url' => $eschool->getAppUrl(), 'trial_length' => $total_days);
         switch ($days_remaining) {
             case $halfway_days:
                 $params['time_left_text'] = 'has 15 days left.';
                 $params['directions_text'] = 'If you would like to extend your trial or would like to have a tour of a fully built eSchool';
                 $email = new GcrUserEmailer('trial_update', $mhr_user, "Your {$total_days}-day eSchool trial is now half over.", $params);
                 $email->sendHtmlEmail();
                 print "\n" . $user_email . " was sent 'trial halfway point' email.";
                 break;
                 /*case 14:
                       $params['time_left_text'] = 'almost over -- you have two weeks left!';
                       $params['directions_text'] = 'If you would like to extend your trial for a short period or need any assistance in moving forward';
                       $email = new GcrUserEmailer('trial_update', $mhr_user, "Your $total_days-day eSchool trial has two weeks left!", $params);
                       $email->sendHtmlEmail();
                       print "\n" . $user_email . " was sent 'trial two-week warning' email.";
                   break;
                   case 7:
                       $params['time_left_text'] = 'almost over -- you have one week left!';
                       $params['directions_text'] = 'If you would like to extend your trial for a short period or need any assistance in moving forward';
                       $email = new GcrUserEmailer('trial_update', $mhr_user, "Your $total_days-day eSchool trial has one week left!", $params);
                       $email->sendHtmlEmail();
                       print "\n" . $user_email . " was sent 'trial one-week warning' email.";
                   break;*/
             /*case 14:
                   $params['time_left_text'] = 'almost over -- you have two weeks left!';
                   $params['directions_text'] = 'If you would like to extend your trial for a short period or need any assistance in moving forward';
                   $email = new GcrUserEmailer('trial_update', $mhr_user, "Your $total_days-day eSchool trial has two weeks left!", $params);
                   $email->sendHtmlEmail();
                   print "\n" . $user_email . " was sent 'trial two-week warning' email.";
               break;
               case 7:
                   $params['time_left_text'] = 'almost over -- you have one week left!';
                   $params['directions_text'] = 'If you would like to extend your trial for a short period or need any assistance in moving forward';
                   $email = new GcrUserEmailer('trial_update', $mhr_user, "Your $total_days-day eSchool trial has one week left!", $params);
                   $email->sendHtmlEmail();
                   print "\n" . $user_email . " was sent 'trial one-week warning' email.";
               break;*/
             case 1:
                 $params['time_left_text'] = 'will expire tomorrow!';
                 $params['directions_text'] = 'If you would like to extend your trial or would like to have a tour of a fully built eSchool';
                 $email = new GcrUserEmailer('trial_update', $mhr_user, "Your {$total_days}-day eSchool trial expires tomorrow!", $params);
                 $email->sendHtmlEmail();
                 print "\n" . $user_email . " was sent 'trial expires tomorrow' email.";
                 break;
             case -2:
                 //case -7:
                 //case -14:
                 //case -21:
                 //case -28:
                 $email = new GcrUserEmailer('trial_expired', $mhr_user, "Your {$total_days}-day eSchool trial has expired!", $params);
                 $email->sendHtmlEmail();
                 print "\n" . $user_email . " was sent 'trial expired' email.";
                 break;
         }
     }
 }
 public function emailReceipt()
 {
     global $CFG;
     // gather important data
     $eschool = Doctrine_Core::getTable('GcrEschool')->findOneByShortName($this->my_purchase->getPurchaseTypeEschoolId());
     $current_user = $CFG->current_app->getCurrentUser();
     $user = $current_user->getUserOnInstitution();
     $course = $eschool->getCourse($this->my_purchase->getPurchaseTypeId());
     $mdl_course = $course->getObject();
     $params = array('eschool_full_name' => $eschool->getFullName(), 'eschool_short_name' => $eschool->getShortName(), 'course' => $course->fullname . " (" . $mdl_course->shortname . ")", 'amountCharged' => number_format($this->amount, 2), 'creditCardString' => $this->getCreditCardString());
     $email = new GcrUserEmailer('purchase_course', $user, "Thank you for purchasing a course from " . $eschool->getFullName() . "!", $params);
     $email->sendHtmlEmail();
 }