/** * @param $requestName * @param callable $callback * @return mixed */ public function send($requestName, \Closure $callback = null) { $request = $this->requestFactory->create($requestName); if ($callback) { $callback($request); } // validate request $request->validateRequest(); $cacertUrl = __DIR__ . '/../cacert/' . $this->cacertFileName; $apiResponse = $this->sender->send($request, $cacertUrl); return $request->handleResponse($apiResponse); }
/** * Create a new instance and populate its properties with JSON data * @param array $jsonData * @return \moosend\Models\Campaign */ public static function withJSON(array $jsonData) { $instance = new self(); $instance->ID = $jsonData['ID']; $instance->Name = $jsonData['Name']; $instance->Subject = $jsonData['Subject']; $instance->WebLocation = $jsonData['WebLocation']; $instance->HTMLContent = $jsonData['HTMLContent']; $instance->PlainContent = $jsonData['PlainContent']; $instance->Sender = Sender::withJSON($jsonData['Sender']); $instance->DeliveredOn = $jsonData['DeliveredOn']; $instance->ReplyToEmail = Sender::withJSON($jsonData['ReplyToEmail']); $instance->CreatedOn = $jsonData['CreatedOn']; $instance->UpdatedOn = $jsonData['UpdatedOn']; $instance->ScheduledFor = $jsonData['ScheduledFor']; $instance->Timezone = $jsonData['Timezone']; $instance->FormatType = $jsonData['FormatType']; $instance->ABCampaignData = ABCampaignData::withJSON($jsonData['ABCampaignData']); $instance->MailingList = MailingList::withJSON($jsonData['MailingList']); $instance->ConfirmationTo = $jsonData['ConfirmationTo']; $instance->Status = $jsonData['Status']; if (isset($jsonData['Segment'])) { $instance->Segment = Segment::withJSON($jsonData['Segment']); } $instance->IsTransactional = $jsonData['IsTransactional']; return $instance; }
public function send() { $sender = new Sender($this->apiKey); $responseBody = $sender->send($this->message); $response = new Response($this->message, $responseBody); foreach ($response->getUpdate() as $oldId => $newId) { $this->updateRegistrationIds($oldId, $newId); } foreach ($response->getRemove() as $id) { $this->removeInvalidRegistrationId($id); } foreach ($response->getUnavailable() as $id) { $this->unavailableRegistration($id); } return $responseBody; }
/** * Create a new instance and populate its properties with JSON data * @param array $jsonData * @return \moosend\Models\ABCampaignData */ public static function withJSON($jsonData) { $instance = new self(); $instance->ID = $jsonData['ID']; $instance->SubjectB = $jsonData['SubjectB']; $instance->PlainContentB = $jsonData['PlainContentB']; $instance->HTMLContentB = $jsonData['HTMLContentB']; $instance->WebLocationB = $jsonData['WebLocationB']; $instance->SenderB = Sender::withJSON($jsonData['SenderB']); $instance->HoursToTest = $jsonData['HoursToTest']; $instance->ListPercentage = $jsonData['ListPercentage']; $instance->ABCampaignType = $jsonData['ABCampaignType']; $instance->ABWinnerSelectionType = $jsonData['ABWinnerSelectionType']; $instance->DeliveredOnA = $jsonData['DeliveredOnA']; $instance->DeliveredOnB = $jsonData['DeliveredOnB']; return $instance; }
function do_add_new($f3, $args) { $req = f3()->get('POST'); //parent::getReq(); if (empty($req['name'])) { return parent::_return(8002, array('msg' => '姓名未填寫!!')); } if (empty($req['email'])) { return parent::_return(8002, array('msg' => 'Email 未填寫!!')); } if (empty($req['message'])) { return parent::_return(8002, array('msg' => '訊息未填寫!!')); } fContact::insert($req); f3()->set('name', $req['name']); f3()->set('email', $req['email']); f3()->set('message', nl2br($req['message'])); $tp = \Template::instance(); $content = $tp->render('mail/contact.html'); $sent = Sender::sendmail($req['type'] . '通知', $content, f3()->get('webmaster')); return parent::_return(1, array('pid' => $obj->id, 'msg' => '感謝您~~')); }
include_once 'Sender.php'; /** * 接口测试类 * * 正式调用时订单、商品信息必须要严格填写。 * @var */ // $service = new Service(); $config = new Config(); $order = new OrderStatus(); //$order -> setOrderNo($_POST["orderNo"]); // 设置订单编号 //$order -> setOrderNo($_GET["orderNo"]); $a = rand(0, 999999); $b = rand(1, 100000); $c = rand(0, 999999); $orderno = $a + $b . $c; $order->setOrderNo($orderno); $order->setUpdateTime("2012-04-06 20:09:09"); // 设置订单更新时间,如果没有下单时间,要提前对接人提前说明 $order->setFeedback("NDgwMDB8dGVzdA=="); // 测试时使用"101",正式上线之后活动id必须要从cookie中获取 $order->setOrderStatus("active"); // 设置订单状态 $order->setPaymentStatus("1"); // 设置支付状态 $order->setPaymentType("支付宝"); // 支付方式 //var_dump(get_object_vars($order)); $sender = new Sender(); $sender->setOrderStatus($order); $sender->sendorderStatus();
public function ProcessSMS() { require_once "Twilio.php"; $sms_sender_id = Yii::app()->functions->getOptionAdmin('sms_sender_id'); $sms_account_id = Yii::app()->functions->getOptionAdmin('sms_account_id'); $sms_token = Yii::app()->functions->getOptionAdmin('sms_token'); $nexmo_sender_id = Yii::app()->functions->getOptionAdmin('nexmo_sender_id'); $nexmo_key = Yii::app()->functions->getOptionAdmin('nexmo_key'); $nexmo_secret = Yii::app()->functions->getOptionAdmin('nexmo_secret'); $nexmo_use_curl = Yii::app()->functions->getOptionAdmin('nexmo_use_curl'); $sms_provider = Yii::app()->functions->getOptionAdmin('sms_provider'); $clickatel_user = Yii::app()->functions->getOptionAdmin('clickatel_user'); $clickatel_password = Yii::app()->functions->getOptionAdmin('clickatel_password'); $clickatel_api_id = Yii::app()->functions->getOptionAdmin('clickatel_api_id'); $clickatel_use_curl = Yii::app()->functions->getOptionAdmin('clickatel_use_curl'); $nexmo_use_unicode = Yii::app()->functions->getOptionAdmin('nexmo_use_unicode'); $clickatel_use_unicode = Yii::app()->functions->getOptionAdmin('clickatel_use_unicode'); $clickatel_sender = Yii::app()->functions->getOptionAdmin('clickatel_sender'); $privatesms_username = Yii::app()->functions->getOptionAdmin('privatesms_username'); $privatesms_password = Yii::app()->functions->getOptionAdmin('privatesms_password'); $privatesms_sender = Yii::app()->functions->getOptionAdmin('privatesms_sender'); /*dump($sms_sender_id); dump($sms_account_id); dump($sms_token);*/ $db_ext = new DbExt(); $stmt = "\n\t\tSELECT * FROM\n\t\t{{sms_broadcast_details}}\n\t\tWHERE\n\t\tstatus IN ('pending')\n\t\tORDER BY id ASC\n\t\tLIMIT 0,50\n\t\t"; if ($res = $db_ext->rst($stmt)) { foreach ($res as $val) { dump($val); //$available_credit=Yii::app()->functions->getMerchantSMSCredit(Yii::app()->functions->getMerchantID()); $available_credit = Yii::app()->functions->getMerchantSMSCredit($val['merchant_id']); dump($available_credit); if ($available_credit >= 1) { //if ( !empty($sms_sender_id) && !empty($sms_account_id) && !empty($sms_token)){ $raw = ''; $msg = ''; if ($sms_provider == "nexmo") { $Nexmo = new Nexmo(); $Nexmo->key = $nexmo_key; $Nexmo->secret = $nexmo_secret; $Nexmo->sender = $nexmo_sender_id; $Nexmo->to = $val['contact_phone']; $Nexmo->message = $val['sms_message']; $Nexmo->is_curl = $nexmo_use_curl; if ($nexmo_use_unicode == 1) { $Nexmo->unicode = true; } try { $raw = $resp = $Nexmo->sendSMS(); $msg = "process"; } catch (Exception $e) { $msg = $e->getMessage(); } } elseif ($sms_provider == "clickatell") { $Clickatell = new Clickatell(); $Clickatell->user = $clickatel_user; $Clickatell->password = $clickatel_password; $Clickatell->api_id = $clickatel_api_id; $Clickatell->is_curl = $clickatel_use_curl; $Clickatell->to = $val['contact_phone']; $Clickatell->message = $val['sms_message']; if ($clickatel_use_unicode == 1) { $Clickatell->unicode = true; } $Clickatell->sender = $clickatel_sender; try { $raw = $resp = $Clickatell->sendSMS(); $msg = "process"; } catch (Exception $e) { $msg = $e->getMessage(); } } elseif ($sms_provider == "private") { $obj = new Sender("103.16.101.52", "80", $privatesms_username, $privatesms_password, $privatesms_sender, $val['sms_message'], $val['contact_phone'], "0", "1"); $resp = $obj->Submit(); if (preg_match("/1701/i", $resp)) { $raw = $resp; $msg = "process"; } else { $errors['1702'] = "Invalid URL Error, This means that one of the parameters was not\n\t\t\tprovided or left blank"; $errors['1703'] = "Invalid value in username or password field"; $errors['1704'] = 'Invalid value in "type" field'; $errors['1705'] = "Invalid Message"; $errors['1706'] = "Invalid Destination"; $errors['1707'] = "Invalid Source (Sender)"; $errors['1708'] = 'Invalid value for "dlr" field'; $errors['1709'] = "User validation failed"; $errors['1710'] = "Internal Error"; $errors['1025'] = "Insufficient Credit"; $resp_temp = explode("|", $resp); if (is_array($resp_temp) && count($resp_temp) >= 1) { $code_error = $resp_temp[0]; } else { $code_error = $resp; } $raw = $resp; if (array_key_exists($code_error, $errors)) { $msg = $errors[$code_error]; } else { $msg = "Undefined response from api."; } } } else { $twilio = new Twilio(); $twilio->_debug = false; $twilio->sid = $sms_account_id; $twilio->auth = $sms_token; $twilio->data['From'] = $sms_sender_id; $twilio->data['To'] = $val['contact_phone']; $twilio->data['Body'] = $val['sms_message']; if ($resp = $twilio->sendSMS()) { $raw = $twilio->getSuccessXML(); $msg = "process"; } else { $msg = $twilio->getError(); } } //} else $msg=Yii::t("default","Admin SMS Settings Invalid"); } else { $msg = Yii::t("default", "No SMS Credit"); } $params = array('status' => $msg, 'gateway_response' => $raw, 'date_executed' => date('c'), 'gateway' => $sms_provider); $db_ext->updateData("{{sms_broadcast_details}}", $params, 'id', $val['id']); } } else { echo "<p>No records to process</p>"; } }
public static function readTransaction($str_xml) { // Parser $parser = new xmlParser($str_xml); // <transaction> $data = $parser->getResult('transaction'); $transaction = new Transaction(); // <transaction> <lastEventDate> if (isset($data["lastEventDate"])) { $transaction->setLastEventDate($data["lastEventDate"]); } // <transaction> <date> if (isset($data["date"])) { $transaction->setDate($data["date"]); } // <transaction> <code> if (isset($data["code"])) { $transaction->setCode($data["code"]); } // <transaction> <reference> if (isset($data["reference"])) { $transaction->setReference($data["reference"]); } // <transaction> <type> if (isset($data["type"])) { $transaction->setType(new TransactionType($data["type"])); } // <transaction> <status> if (isset($data["status"])) { $transaction->setStatus(new TransactionStatus($data["status"])); } if (isset($data["paymentMethod"]) && is_array($data["paymentMethod"])) { // <transaction> <paymentMethod> $paymentMethod = new PaymentMethod(); // <transaction> <paymentMethod> <type> if (isset($data["paymentMethod"]['type'])) { $paymentMethod->setType(new PaymentMethodType($data["paymentMethod"]['type'])); } // <transaction> <paymentMethod> <code> if (isset($data["paymentMethod"]['code'])) { $paymentMethod->setCode(new PaymentMethodCode($data["paymentMethod"]['code'])); } $transaction->setPaymentMethod($paymentMethod); } // <transaction> <grossAmount> if (isset($data["grossAmount"])) { $transaction->setGrossAmount($data["grossAmount"]); } // <transaction> <discountAmount> if (isset($data["discountAmount"])) { $transaction->setDiscountAmount($data["discountAmount"]); } // <transaction> <feeAmount> if (isset($data["feeAmount"])) { $transaction->setFeeAmount($data["feeAmount"]); } // <transaction> <netAmount> if (isset($data["netAmount"])) { $transaction->setNetAmount($data["netAmount"]); } // <transaction> <extraAmount> if (isset($data["extraAmount"])) { $transaction->setExtraAmount($data["extraAmount"]); } // <transaction> <installmentCount> if (isset($data["installmentCount"])) { $transaction->setInstallmentCount($data["installmentCount"]); } if (isset($data["items"]['item']) && is_array($data["items"]['item'])) { $items = array(); $i = 0; if (isset($data["items"]['item'][0])) { foreach ($data["items"]['item'] as $key => $value) { $item = self::parseTransactionItem($value); $items[$i] = $item; $i++; } } else { $items[0] = self::parseTransactionItem($data["items"]['item']); } // <transaction> <items> $transaction->setItems($items); } if (isset($data["sender"])) { // <transaction> <sender> $sender = new Sender(); // <transaction> <sender> <name> if (isset($data["sender"]["name"])) { $sender->setName($data["sender"]["name"]); } // <transaction> <sender> <email> if (isset($data["sender"]["email"])) { $sender->setEmail($data["sender"]["email"]); } if (isset($data["sender"]["phone"])) { // <transaction> <sender> <phone> $phone = new Phone(); // <transaction> <sender> <phone> <areaCode> if (isset($data["sender"]["phone"]["areaCode"])) { $phone->setAreaCode($data["sender"]["phone"]["areaCode"]); } // <transaction> <sender> <phone> <number> if (isset($data["sender"]["phone"]["number"])) { $phone->setNumber($data["sender"]["phone"]["number"]); } $sender->setPhone($phone); } $transaction->setSender($sender); } if (isset($data["shipping"]) && is_array($data["shipping"])) { // <transaction> <shipping> $shipping = new Shipping(); // <transaction> <shipping> <type> if (isset($data["shipping"]["type"])) { $shipping->setType(new ShippingType($data["shipping"]["type"])); } // <transaction> <shipping> <cost> if (isset($data["shipping"]["cost"])) { $shipping->setCost($data["shipping"]["cost"]); } if (isset($data["shipping"]["address"]) && is_array($data["shipping"]["address"])) { // <transaction> <shipping> <address> $address = new Address(); // <transaction> <shipping> <address> <street> if (isset($data["shipping"]["address"]["street"])) { $address->setStreet($data["shipping"]["address"]["street"]); } // <transaction> <shipping> <address> <number> if (isset($data["shipping"]["address"]["number"])) { $address->setNumber($data["shipping"]["address"]["number"]); } // <transaction> <shipping> <address> <complement> if (isset($data["shipping"]["address"]["complement"])) { $address->setComplement($data["shipping"]["address"]["complement"]); } // <transaction> <shipping> <address> <city> if (isset($data["shipping"]["address"]["city"])) { $address->setCity($data["shipping"]["address"]["city"]); } // <transaction> <shipping> <address> <state> if (isset($data["shipping"]["address"]["state"])) { $address->setState($data["shipping"]["address"]["state"]); } // <transaction> <shipping> <address> <district> if (isset($data["shipping"]["address"]["district"])) { $address->setDistrict($data["shipping"]["address"]["district"]); } // <transaction> <shipping> <address> <postalCode> if (isset($data["shipping"]["address"]["postalCode"])) { $address->setPostalCode($data["shipping"]["address"]["postalCode"]); } // <transaction> <shipping> <address> <country> if (isset($data["shipping"]["address"]["country"])) { $address->setCountry($data["shipping"]["address"]["country"]); } $shipping->setAddress($address); } // <transaction> <shipping> $transaction->setShipping($shipping); } return $transaction; }
$pro->setCategory("asdf"); // 设置商品类型 $pro->setCommissionType("A"); // 设置佣金类型,如:普通商品 佣金比例是10%、佣金编号(可自行定义然后通知双方商务)A $pro->setAmount("1"); // 设置商品数量 $pro->setPrice("3000"); // 设置商品价格 $pro1 = new Product(); // $pro1 -> setOrderNo($order -> getOrderNo()); $pro1->setProductNo("1002"); $pro1->setName("测试商品5"); $pro1->setCategory("a"); $pro1->setCommissionType("B"); $pro1->setAmount("3"); $pro1->setPrice("100"); $pro2 = new Product(); // $pro2 -> setOrderNo($order -> getOrderNo()); $pro2->setProductNo("1003"); $pro2->setName("测试商品4"); $pro2->setCategory("2"); $pro2->setCommissionType("B"); $pro2->setAmount("5"); $pro2->setPrice("500"); $products = array($pro, $pro1, $pro2); // 实现商品信息集合 $order->setProducts($products); //var_dump(get_object_vars($order)); $sender = new Sender(); $sender->setOrder($order); $sender->sendOrder();
* so if you have any question -> ask me on m.anzawi2013@gmail.com * or visit my blog on http://www.phptricks.org * * */ if (isset($_POST['addNewUser'])) { $post_ = escape($_POST); $errors = array(); if (!preg_match("/^[a-zA-Z_\\-.0-9]/", $post_['UserName'])) { $errors[] = "the username must be Latin characters , Numbers and ( . , - , _ ) charcters ONLY "; } if (!filter_var($post_['UserEmail'], FILTER_VALIDATE_EMAIL)) { $errors[] = "invalid email address"; } if (!count($errors)) { $send = new Sender(); if ($send->sendThanksTemplateAndActivationKey($post_['UserName'], $post_['UserEmail'])) { echo "Added Successfuly ... See your Email ...."; } else { echo implode('<br>', $send->getErrors()); } } else { echo implode('<br>', $errors); } } ?> <form method="POST"> User Name: <input name="UserName" type="text"> <br><br> User Email: <input name="UserEmail" type="text">
public function perform() { if (isset($this->args['delay'])) { $now = new \DateTime(); $delay = \DateTime::createFromFormat('U', $this->args['delay']); if ($delay > $now) { Client::enqueueFromJobArgs($this->args); return; } } $response = Sender::send(Message::fromArray($this->args['message']), $this->args['serverApiKey'], $this->args['gcmUrl'], isset($this->args['nextDelay']) ? $this->args['nextDelay'] : 1); /** * Response can be: * - DateTime: When to next retry sending the message. * - Response: Valid response that must be processed. * - Integer: Exponential Back off. */ if ($response instanceof \DateTime) { $this->args['delay'] = $response->format('U'); Client::enqueueFromJobArgs($this->args); } elseif ($response instanceof Response) { $failed = $response->getFailedIds(); foreach ($failed as $error => $group) { switch ($error) { case 'Unavailable': $message = $this->args['message']; $message['registration_ids'] = []; foreach ($group as $id => $item) { $message['registration_ids'][] = $id; } Client::enqueueFromJobArgs(['serverApiKey' => $this->args['serverApiKey'], 'gcmUrl' => $this->args['gcmUrl'], 'message' => $message]); break; case 'InternalServerError': foreach ($group as $item) { throw new PhpGcmQueueException('GCM\\DefaultSendJob->perform - Unknown Error: ' . $item, PhpGcmQueueException::UNKNOWN_ERROR); } break; default: /** * The following error messages should remove the Registration IDs from records. * - InvalidRegistration * - NotRegistered */ /** * The following error messages are malformed requests: * - MissingRegistration * - InvalidPackageName * - MismatchSenderId * - InvalidDataKey */ /** * The follow error messages are throttling (immediately stop sending, do not retry): * - DeviceMessageRate Exceeded * - TopicsMessageRate Exceeded */ /** * The follow error messages should never occur since they are explicitly tested for: * - MessageTooBig * - InvalidTtl */ break; } } $this->response = $response; } elseif (is_numeric($response)) { $this->args['delay'] = \DateTime::createFromFormat('U', strtotime('now +' . (int) $response . ' seconds'))->format('U'); $this->args['nextDelay'] = $response * 2; Client::enqueueFromJobArgs($this->args); } }
public function index() { $this->load->language('module/smsapi'); $this->document->setTitle($this->language->get('heading_title')); $this->load->model('setting/setting'); $this->load->model('catalog/smsapi'); $this->load->model('localisation/order_status'); $this->load->model('sale/customer'); $data['logged_in'] = false; $data['smsapi_username'] = $this->model_catalog_smsapi->get_settings()[0]['smsapi_username']; $data['smsapi_password'] = $this->model_catalog_smsapi->get_settings()[0]['smsapi_password']; $data['sender'] = $this->model_catalog_smsapi->get_settings()[0]['sender']; $data['new_order'] = $this->model_catalog_smsapi->get_settings()[0]['new_order']; $data['new_order_message'] = $this->model_catalog_smsapi->get_settings()[0]['new_order_message']; $data['special_chars'] = $this->model_catalog_smsapi->get_settings()[0]['special_chars']; $data['fast'] = $this->model_catalog_smsapi->get_settings()[0]['fast']; $data['change_order_status'] = $this->model_catalog_smsapi->get_settings()[0]['change_order_status']; $data['admin_phone'] = $this->model_catalog_smsapi->get_settings()[0]['admin_phone']; $data['customers'] = $this->model_sale_customer->getCustomers(); $data['history'] = $this->model_catalog_smsapi->get_history(); if (!empty($data['smsapi_username'])) { $login = new Login($data['smsapi_username'], $data['smsapi_password']); $sender = new Sender($data['smsapi_username'], $data['smsapi_password'], NULL, $this->model_catalog_smsapi->get_settings()[0], $this->language->get('--DEFAULT--')); $balance = new Balance($data['smsapi_username'], $data['smsapi_password']); $data['logged_in'] = $login->logged_in(); $this->error['warning'] = $this->language->get($balance->get_error()); if ($data['logged_in']) { $data['senders'] = $sender->select_sender(); $data['balance'] = $balance->get_balance(); $data['ecoCount'] = $balance->getEcoCount(); $data['proCount'] = $balance->getProCount(); $data['mmsCount'] = $balance->getMmsCount(); $data['vmsGsmCount'] = $balance->getVmsGsmCount(); $data['vmsLandCount'] = $balance->getVmsLandCount(); } } $statuses = $this->model_localisation_order_status->getOrderStatuses(); $localStatusList = $this->model_catalog_smsapi->get_statuses(); $sharedStatuses = []; foreach ($statuses as $status) { if (isset($localStatusList[$status['order_status_id']])) { $sharedStatuses[$status['order_status_id']] = $localStatusList[$status['order_status_id']]; if ($localStatusList[$status['order_status_id']]['description'] != $status['name']) { $localStatusList[$status['order_status_id']]['description'] = $status['name']; $this->model_catalog_smsapi->update_status_name($status); } } } $statusToRemoveList = array_diff_key($localStatusList, $sharedStatuses); $this->model_catalog_smsapi->remove_statuses($statusToRemoveList); $this->model_catalog_smsapi->save_statuses($statuses, $this->language->get('order_status')); $data['statuses'] = $this->model_catalog_smsapi->get_statuses_simple(); if (isset($this->request->post['save'])) { $this->model_setting_setting->editSetting('smsapi', $this->request->post); $this->session->data['success'] = $this->language->get('text_success'); $settings['sender'] = $this->request->post['sender']; $settings['new_order'] = $this->request->post['newOrder']; $settings['new_order_message'] = $this->request->post['newOrderMessage']; $settings['special_chars'] = $this->request->post['specialChars']; $settings['fast'] = $this->request->post['fast']; $settings['payment'] = $this->request->post['payment']; $settings['posting_payment'] = $this->request->post['postingPayment']; $settings['change_order_status'] = $this->request->post['changeOrderStatus']; $settings['check_list'] = $this->request->post['check_list']; $settings['status_descriptions'] = $this->request->post['status_descriptions']; $settings['admin_phone'] = $this->request->post['admin_phone']; foreach ($settings['status_descriptions'] as $status_id => $description) { $checked = isset($settings['check_list'][$status_id]) ? true : false; $this->model_catalog_smsapi->update_status($status_id, $description, $checked); } $this->model_catalog_smsapi->update_settings($settings); // $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); $this->response->redirect(HTTP_SERVER . 'index.php?route=module/smsapi&token=' . $this->session->data['token']); } if (isset($this->request->post['change'])) { $settings['smsapi_username'] = $this->request->post['username']; $settings['smsapi_password'] = $this->request->post['password']; $login = new Login($settings['smsapi_username'], $settings['smsapi_password']); if ($login->logged_in()) { $this->model_catalog_smsapi->update_api($settings); $this->response->redirect(HTTP_SERVER . 'index.php?route=module/smsapi&token=' . $this->session->data['token']); } else { $this->error['warning'] = $this->language->get($login->get_error()); } } if (isset($this->request->post['send'])) { $data['sender'] = $this->request->post['sender']; $data['definedRecipient'] = $this->request->post['definedRecipient']; $data['message'] = $this->request->post['message']; $data['recipient'] = $this->request->post['recipient']; $options = array('special_chars' => $data['special_chars'], 'fast' => $data['fast']); $sms = new Sms($options, $data['sender'], $data['smsapi_username'], $data['smsapi_password']); if (!empty($data['recipient'])) { $result = $sms->send($data['recipient'], $data['message'], $data['sender']); } else { $result = $sms->send($data['definedRecipient'], $data['message'], $data['sender']); } if (is_string($result)) { $this->error['warning'] = $result; } else { $this->session->data['success'] = $this->language->get('sent'); } } // Assign the language data for parsing it to view $data['heading_title'] = $this->language->get('heading_title'); $data['general_settings'] = $this->language->get('general_settings'); $data['account_settings'] = $this->language->get('account_settings'); $data['account_in_smsapi'] = $this->language->get('account_in_smsapi'); $data['username'] = $this->language->get('username'); $data['password'] = $this->language->get('password'); $data['change'] = $this->language->get('change'); $data['broadcaster'] = $this->language->get('broadcaster'); $data['sms_options'] = $this->language->get('sms_options'); $data['replace_special_chars'] = $this->language->get('replace_special_chars'); $data['send_fast'] = $this->language->get('send_fast'); $data['owner_number'] = $this->language->get('owner_number'); $data['insert_owner_number'] = $this->language->get('insert_owner_number'); $data['inform_owner'] = $this->language->get('inform_owner'); $data['sms_message'] = $this->language->get('sms_message'); $data['inform_client'] = $this->language->get('inform_client'); $data['yes'] = $this->language->get('yes'); $data['no'] = $this->language->get('no'); $data['service'] = $this->language->get('service'); $data['smsapi_balance'] = $this->language->get('smsapi_balance'); $data['smsapi_history'] = $this->language->get('smsapi_history'); $data['smsapi_send'] = $this->language->get('smsapi_send'); $data['smsapi_settings'] = $this->language->get('smsapi_settings'); $data['messages'] = $this->language->get('messages'); $data['Land.'] = $this->language->get('Land.'); $data['api_history'] = $this->language->get('api_history'); $data['no_history'] = $this->language->get('no_history'); $data['send_sms_message'] = $this->language->get('send_sms_message'); $data['defined_recipient'] = $this->language->get('defined_recipient'); $data['number'] = $this->language->get('number'); $data['client'] = $this->language->get('client'); $data['sms_recipient'] = $this->language->get('recipient'); $data['commas_information'] = $this->language->get('commas_information'); $data['not_logged_in'] = $this->language->get('not_logged_in'); $data['connect'] = $this->language->get('connect'); $data['not_connected'] = $this->language->get('not_connected'); $data['change_save'] = $this->language->get('change_save'); $data['var_customer'] = $this->language->get('var_customer'); $data['var_number'] = $this->language->get('var_number'); $data['var_total_price'] = $this->language->get('var_total_price'); $data['var_status'] = $this->language->get('var_status'); $data['var_phone'] = $this->language->get('var_phone'); $data['text_edit'] = $this->language->get('text_edit'); $data['text_enabled'] = $this->language->get('text_enabled'); $data['text_disabled'] = $this->language->get('text_disabled'); $data['text_content_top'] = $this->language->get('text_content_top'); $data['text_content_bottom'] = $this->language->get('text_content_bottom'); $data['text_column_left'] = $this->language->get('text_column_left'); $data['text_column_right'] = $this->language->get('text_column_right'); $data['entry_code'] = $this->language->get('entry_code'); $data['entry_layout'] = $this->language->get('entry_layout'); $data['entry_position'] = $this->language->get('entry_position'); $data['entry_status'] = $this->language->get('entry_status'); $data['entry_sort_order'] = $this->language->get('entry_sort_order'); $data['save_changes'] = $this->language->get('save_changes'); $data['button_save'] = $this->language->get('button_save'); $data['button_cancel'] = $this->language->get('button_cancel'); $data['button_add_module'] = $this->language->get('button_add_module'); $data['button_remove'] = $this->language->get('button_remove'); // This Block returns the warning if any if (isset($this->error['warning'])) { $data['error_warning'] = $this->error['warning']; } else { $data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $data['success'] = ''; } // This Block returns the error code if any if (isset($this->error['code'])) { $data['error_code'] = $this->error['code']; } else { $data['error_code'] = ''; } // Making of Breadcrumbs to be displayed on site $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array('text' => $this->language->get('text_home'), 'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'), 'separator' => false); $data['breadcrumbs'][] = array('text' => $this->language->get('text_module'), 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'), 'separator' => ' :: '); $data['breadcrumbs'][] = array('text' => $this->language->get('heading_title'), 'href' => $this->url->link('module/smsapi', 'token=' . $this->session->data['token'], 'SSL'), 'separator' => ' :: '); $data['action'] = $this->url->link('module/smsapi', 'token=' . $this->session->data['token'], 'SSL'); // URL to be directed when the save button is pressed $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'); // URL to be redirected when cancel button is pressed if (isset($this->request->post['smsapi_text_field'])) { $data['smsapi_text_field'] = $this->request->post['smsapi_text_field']; } else { $data['smsapi_text_field'] = $this->config->get('smsapi_text_field'); } if (isset($this->request->post['smsapi_status'])) { $data['smsapi_status'] = $this->request->post['smsapi_status']; } else { $data['smsapi_status'] = $this->config->get('smsapi_status'); } $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('module/smsapi.tpl', $data)); }
/** * Sets the Sender, party that will be sending the money * @param String $name * @param String $email * @param String $areaCode * @param String $number */ public function setSender($name, $email = null, $areaCode = null, $number = null) { $param = $name; if (is_array($param)) { $this->sender = new Sender($param); } elseif ($param instanceof Sender) { $this->sender = $param; } else { $sender = new Sender(); $sender->setName($param); $sender->setEmail($email); $sender->setPhone(new Phone($areaCode, $number)); $this->sender = $sender; } }
public function testReportSender() { $this->assertEquals('test', Sender::currentContext()); }
{ $notification =& $this->_dispatcher->post($this, 'onFoo', 'Some Info...'); echo "notification::foo is {$notification->foo}\n"; } } /** * example observer */ class Receiver { public $foo; function notify(&$notification) { echo "Received notification\n"; echo "Receiver::foo is {$this->foo}\n"; $notification->foo = 'bar'; } } $dispatcher = Event_Dispatcher::getInstance(); $sender = new Sender($dispatcher); $receiver = new Receiver(); $receiver->foo = 42; $lambda = function (&$notification) use($receiver) { echo "Function callback called!\n"; $receiver->notify(&$notification); }; // make sure you are using an ampersand here! $dispatcher->addObserver($lambda); $receiver->foo = 'bar'; echo "Sender->foo()\n"; $sender->foo();
/** * Tests creating an email with only Bcc recipients. */ public function testUndisclosedRecipients() { $email = new Email(); $email->setSubject('Test')->setFrom(new Email\Address('*****@*****.**', 'Blog.cz'))->setBody(new Email\Body('Test'))->addBcc(new Email\Address('*****@*****.**', 'Test Test')); $sender = new Sender(); $sender->setEmail($email); $result = $sender->send(Sender::MODE_NONE); $this->assertResult('sender-undisclosed-recipients.eml', $result); }
public function createSender() { return Sender::create("user", "pass", "from")->setHttpClient($this->createHttpClient()); }
if ($v['goods_price'] > 0) { $pro = new Product(); // $pro2 -> setOrderNo($order -> getOrderNo()); $pro->setProductNo($v['goods_sn']); $pro->setName($v['goods_name']); $pro->setCategory("蛋糕"); $pro->setCommissionType(""); $pro->setAmount($v['goods_number']); $a = number_format($v['goods_price'] * (1 - ($order['bonus'] + $order['surplus']) / ($order['bonus'] + $order['surplus'] + $order['order_amount'])), 2, ".", ""); $pro->setPrice($a); $products[] = $pro; } } $cps->setProducts($products); //var_dump(get_object_vars($cps)); $sender = new Sender(); $sender->setOrder($cps); $sender->sendOrder(); $ordertime = $order['add_time'] + 8 * 3600; $sql = "INSERT INTO cps ( " . "order_id,src,channel,cid,wi,order_time)" . " values('{$new_order_id}','emar','cps'," . $arr[2] . ",'" . $arr[3] . "','" . $ordertime . "') "; $db->query($sql); } /* 修改拍卖活动状态 if ($order['extension_code']=='auction') { $sql = "UPDATE ". $ecs->table('goods_activity') ." SET is_finished='2' WHERE act_id=".$order['extension_id']; $db->query($sql); } */ /* 处理余额、积分、红包 */ if ($order['user_id'] > 0 && $order['surplus'] > 0) {
# # # This project is intended for beginners and learners # # The main objective of this project is to see the way do something similar,# # such as sending messages via e-mail, files Read the content and create # # templates or other # # and saved on the server within a specific folder. # # Can anyone who want to modify or development (add some functions, styles),# # and use it in his dite, or commercially. # # # # so if you have any question -> ask me on m.anzawi2013@gmail.com # # or visit my blog on http://www.phptricks.org # #---------------------------------------------------------------------------# $temp = new Template(); $subsc = new Subscribe(); if (isset($_POST['send'])) { $send = new Sender(); $tempName = str_replace('.html', '', $_POST['tempName']); $templ['content'] = $temp->getContent($tempName); $templ['title'] = $_POST['title']; $emails = $_POST['subsc']; if ($send->sendNewsLitter($emails, $templ)) { echo "Send Succcessfuly"; } else { echo "Unabl to Send"; } } ?> <form method="POST"> <div style="width:20%; float: left;"> Message Title : <input type="text" name="title"><br><br> <h3>Choice Template</h3>
public function testAcceptsCertificatePath() { $sender = new Sender('api-key'); $sender->certificatePath('/my/cert/path'); $this->assertNotNull($sender); }
/** * @expectedException Exception * @covers Taxi\Sender::send */ public function testEmptyMessage() { $this->object->send("89129064863", ""); }
public function sendSMS($to = '', $message = '') { $to = trim($to); $message = trim($message); $msg = ''; $raw = ''; $sms_provider = Yii::app()->functions->getOptionAdmin('sms_provider'); //if ($sms_provider=="nexmo"){ $sms_provider = strtolower($sms_provider); //dump($sms_provider); switch ($sms_provider) { case "clickatell": $Clickatell = new Clickatell(); $Clickatell->user = Yii::app()->functions->getOptionAdmin('clickatel_user'); $Clickatell->password = Yii::app()->functions->getOptionAdmin('clickatel_password'); $Clickatell->api_id = Yii::app()->functions->getOptionAdmin('clickatel_api_id'); $Clickatell->is_curl = Yii::app()->functions->getOptionAdmin('clickatel_use_curl'); $Clickatell->to = $to; $Clickatell->message = $message; $clickatel_use_unicode = Yii::app()->functions->getOptionAdmin('clickatel_use_unicode'); if ($clickatel_use_unicode == 1) { $Clickatell->unicode = true; } $clickatel_sender = Yii::app()->functions->getOptionAdmin('clickatel_sender'); $Clickatell->sender = $clickatel_sender; try { $raw = $Clickatell->sendSMS(); $msg = "process"; } catch (Exception $e) { $msg = $e->getMessage(); $raw = $e->getMessage(); } break; case "nexmo": $nexmo_sender_id = Yii::app()->functions->getOptionAdmin('nexmo_sender_id'); $nexmo_key = Yii::app()->functions->getOptionAdmin('nexmo_key'); $nexmo_secret = Yii::app()->functions->getOptionAdmin('nexmo_secret'); $nexmo_use_curl = Yii::app()->functions->getOptionAdmin('nexmo_use_curl'); $Nexmo = new Nexmo(); $Nexmo->key = $nexmo_key; $Nexmo->secret = $nexmo_secret; $Nexmo->sender = $nexmo_sender_id; $Nexmo->to = $to; $Nexmo->message = $message; $Nexmo->is_curl = $nexmo_use_curl; $nexmo_use_unicode = Yii::app()->functions->getOptionAdmin('nexmo_use_unicode'); if ($nexmo_use_unicode == 1) { $Nexmo->unicode = true; } try { $raw = $Nexmo->sendSMS(); $msg = "process"; } catch (Exception $e) { $msg = $e->getMessage(); } break; case "private": $privatesms_username = Yii::app()->functions->getOptionAdmin('privatesms_username'); $privatesms_password = Yii::app()->functions->getOptionAdmin('privatesms_password'); $privatesms_sender = Yii::app()->functions->getOptionAdmin('privatesms_sender'); /*dump($privatesms_username); dump($privatesms_password); dump($privatesms_sender);*/ $obj = new Sender("103.16.101.52", "80", $privatesms_username, $privatesms_password, $privatesms_sender, $message, $to, "0", "1"); $resp = $obj->Submit(); if (preg_match("/1701/i", $resp)) { $raw = $resp; $msg = "process"; } else { $errors['1702'] = "Invalid URL Error, This means that one of the parameters was not\r\n\t\t\tprovided or left blank"; $errors['1703'] = "Invalid value in username or password field"; $errors['1704'] = 'Invalid value in "type" field'; $errors['1705'] = "Invalid Message"; $errors['1706'] = "Invalid Destination"; $errors['1707'] = "Invalid Source (Sender)"; $errors['1708'] = 'Invalid value for "dlr" field'; $errors['1709'] = "User validation failed"; $errors['1710'] = "Internal Error"; $errors['1025'] = "Insufficient Credit"; $resp_temp = explode("|", $resp); if (is_array($resp_temp) && count($resp_temp) >= 1) { $code_error = $resp_temp[0]; } else { $code_error = $resp; } if (array_key_exists($code_error, $errors)) { $msg = $errors[$code_error]; } else { $msg = "Undefined response from api."; } } break; case "bhashsms": $bhashsms_user = Yii::app()->functions->getOptionAdmin('bhashsms_user'); $bhashsms_pass = Yii::app()->functions->getOptionAdmin('bhashsms_pass'); $bhashsms_senderid = Yii::app()->functions->getOptionAdmin('bhashsms_senderid'); $bhashsms_smstype = Yii::app()->functions->getOptionAdmin('bhashsms_smstype'); $bhashsms_priority = Yii::app()->functions->getOptionAdmin('bhashsms_priority'); $bhashsms_use_curl = Yii::app()->functions->getOptionAdmin('bhashsms_use_curl'); $Bhashsms = new Bhashsms(); $Bhashsms->user = $bhashsms_user; $Bhashsms->password = $bhashsms_pass; $Bhashsms->sender = $bhashsms_senderid; $Bhashsms->sms_type = $bhashsms_smstype; $Bhashsms->priority = $bhashsms_priority; $Bhashsms->to = $to; $Bhashsms->message = $message; $Bhashsms->is_curl = $bhashsms_use_curl == 1 ? true : false; try { $raw = $Bhashsms->sendSMS(); $msg = "process"; } catch (Exception $e) { $msg = $e->getMessage(); } break; default: require_once "Twilio.php"; $sms_sender_id = Yii::app()->functions->getOptionAdmin('sms_sender_id'); $sms_account_id = Yii::app()->functions->getOptionAdmin('sms_account_id'); $sms_token = Yii::app()->functions->getOptionAdmin('sms_token'); $twilio = new Twilio(); $twilio->_debug = false; $twilio->sid = $sms_account_id; $twilio->auth = $sms_token; $twilio->data['From'] = $sms_sender_id; $twilio->data['To'] = $to; $twilio->data['Body'] = $message; if ($resp = $twilio->sendSMS()) { $raw = $twilio->getSuccessXML(); $msg = "process"; } else { $msg = $twilio->getError(); } break; } return array('msg' => $msg, 'raw' => $raw, 'sms_provider' => $sms_provider); }