Exemplo n.º 1
0
 public static function sendAdminUserContractExpiredLetter($userSID, $contractInfo, $productInfo)
 {
     $emailTplSID = SJB_Settings::getSettingByName('notify_on_user_contract_expiration');
     if ($emailTplSID) {
         $user = SJB_UserManager::getObjectBySID($userSID);
         $user = SJB_UserManager::createTemplateStructureForUser($user);
         $productInfo = array_merge($productInfo, SJB_ProductsManager::createTemplateStructureForProductForEmailTpl($productInfo));
         $params = array('user' => $user, 'contract' => $contractInfo, 'product' => $productInfo);
         $admin_email = SJB_Settings::getSettingByName('notification_email');
         $email = SJB_EmailTemplateEditor::getEmail($admin_email, $emailTplSID, $params);
         if ($email) {
             // notify subadmins
             $subAdminsToNotify = self::isSubAdminNotifiedOnUserContractExpiration($user['group']['id']);
             if (is_array($subAdminsToNotify)) {
                 foreach ($subAdminsToNotify as $subAdminEmail) {
                     $email->addCC($subAdminEmail);
                 }
             }
             return $email->send();
         }
     }
     return null;
 }
Exemplo n.º 2
0
 public static function sendRemindSubscriptionExpirationLetter($userSID, $contractInfo, $days)
 {
     $user = SJB_UserManager::getObjectBySID($userSID);
     $userGroupSID = $user->getUserGroupSID();
     $emailTplSID = SJB_UserGroupManager::getEmailTemplateSIDByUserGroupAndField($userGroupSID, 'notify_subscription_expire_date');
     $product = array();
     $productInfo = SJB_ProductsManager::getProductInfoBySID(SJB_Array::get($contractInfo, 'product_sid'));
     if ($productInfo) {
         $productExtraInfo = SJB_ProductsManager::getProductExtraInfoBySID($productInfo['sid']);
         $productInfo = array_merge($productInfo, $productExtraInfo);
         $fields = SJB_ProductsManager::createTemplateStructureForProductForEmailTpl($productInfo);
         $product = array_merge($fields, $productExtraInfo);
     }
     $user_info = SJB_UserManager::createTemplateStructureForUser($user);
     $data = array('type' => 'contract', 'user' => $user_info, 'days' => $days, 'contractInfo' => $contractInfo, 'product' => $product);
     $email = SJB_EmailTemplateEditor::getEmail($user_info['email'], $emailTplSID, $data);
     return $email->send('Remind Subscription Expiration');
 }
Exemplo n.º 3
0
 /**
  * prepare template variables for Product emails
  */
 private function prepareTplVarsForProduct()
 {
     $productTypes = array('post_listings', 'access_listings', 'mixed_product', 'featured_user', 'banners', 'custom_product');
     foreach ($productTypes as $key => &$productType) {
         $products = SJB_ProductsManager::getProductsByProductType($productType);
         if (!empty($products)) {
             $productInfo = array_pop($products);
             $productExtraInfo = SJB_ProductsManager::getProductExtraInfoBySID($productInfo['sid']);
             $productInfo = array_merge($productInfo, $productExtraInfo);
             $productType = array('id' => $productType, 'caption' => SJB_ProductsManager::getProductTypeByID($productType));
             $fields = SJB_ProductsManager::createTemplateStructureForProductForEmailTpl($productInfo);
             $fields = array_merge($fields, $productExtraInfo);
             unset($fields['METADATA']);
             $productType['fields'] = $this->echoVars($fields);
         } else {
             unset($productTypes[$key]);
         }
     }
     $this->tp->assign('productTypes', $productTypes);
 }