diff --git a/common/framework/drivers/sms/iwinv.php b/common/framework/drivers/sms/iwinv.php index 88ddfae82..d40481098 100644 --- a/common/framework/drivers/sms/iwinv.php +++ b/common/framework/drivers/sms/iwinv.php @@ -8,9 +8,9 @@ namespace Rhymix\Framework\Drivers\SMS; class iwinv extends Base implements \Rhymix\Framework\Drivers\SMSInterface { /** - * API endpoint URL. + * API endpoint URL (fallback if URL is not explicitly configured) */ - const API_URL = 'https://sms.service.iwinv.kr/send/'; + const LEGACY_API_URL = 'https://sms.service.iwinv.kr/send/'; /** * API specifications. @@ -40,7 +40,7 @@ class iwinv extends Base implements \Rhymix\Framework\Drivers\SMSInterface /** * Config keys used by this driver are stored here. */ - protected static $_required_config = array('api_key', 'api_secret'); + protected static $_required_config = array('api_url', 'api_key', 'api_secret'); protected static $_optional_config = array(); /** @@ -54,6 +54,19 @@ class iwinv extends Base implements \Rhymix\Framework\Drivers\SMSInterface { return true; } + + /** + * Get the list of API URLs supported by this driver. + * + * @return array + */ + public static function getApiUrls() + { + return array( + 'https://sms.bizservice.iwinv.kr/api/send/' => 'sms.bizservice.iwinv.kr', + 'https://sms.service.iwinv.kr/send/' => 'sms.service.iwinv.kr', + ); + } /** * Send a message. @@ -107,12 +120,22 @@ class iwinv extends Base implements \Rhymix\Framework\Drivers\SMSInterface $data['date'] = gmdate('Y-m-d H:i:s', $message->delay + (3600 * 9)); } + // Set API URL + if (!empty($this->_config['api_url'])) + { + $api_url = $this->_config['api_url']; + } + else + { + $api_url = self::LEGACY_API_URL; + } + // We need to use curl because Filehandler::getRemoteResource() doesn't work with this API for some reason. if (!$curl) { $curl = curl_init(); } - curl_setopt($curl, \CURLOPT_URL, self::API_URL); + curl_setopt($curl, \CURLOPT_URL, $api_url); curl_setopt($curl, \CURLOPT_TIMEOUT, 5); curl_setopt($curl, \CURLOPT_POST, 1); curl_setopt($curl, \CURLOPT_RETURNTRANSFER, 1); diff --git a/common/framework/sms.php b/common/framework/sms.php index 2df841fc7..37b8f7b96 100644 --- a/common/framework/sms.php +++ b/common/framework/sms.php @@ -92,6 +92,7 @@ class SMS 'name' => $class_name::getName(), 'required' => $class_name::getRequiredConfig(), 'optional' => $class_name::getOptionalConfig(), + 'api_urls' => method_exists($class_name, 'getApiUrls') ? $class_name::getApiUrls() : [], 'api_types' => $class_name::getAPITypes(), 'api_spec' => $class_name::getAPISpec(), ); diff --git a/modules/admin/tpl/config_notification.html b/modules/admin/tpl/config_notification.html index c9f854615..8443dab06 100644 --- a/modules/admin/tpl/config_notification.html +++ b/modules/admin/tpl/config_notification.html @@ -245,6 +245,20 @@ {@ $conf_value = escape(config("sms.$driver_name.$conf_name"))} + +
+ +
+ {@ $conf_exists = config("sms.$driver_name.api_key")} + +
+
+ +
diff --git a/modules/advanced_mailer/lang/en.php b/modules/advanced_mailer/lang/en.php index 59fde231a..3664f13c5 100644 --- a/modules/advanced_mailer/lang/en.php +++ b/modules/advanced_mailer/lang/en.php @@ -28,6 +28,7 @@ $lang->cmd_advanced_mailer_smtp_security_tls = 'TLS (STARTTLS)'; $lang->cmd_advanced_mailer_smtp_security_none = 'None'; $lang->cmd_advanced_mailer_smtp_user = 'Username'; $lang->cmd_advanced_mailer_smtp_pass = 'Password'; +$lang->cmd_advanced_mailer_api_url = 'API URL'; $lang->cmd_advanced_mailer_api_key = 'API key'; $lang->cmd_advanced_mailer_api_secret = 'API secret'; $lang->cmd_advanced_mailer_api_domain = 'Domain'; diff --git a/modules/advanced_mailer/lang/ko.php b/modules/advanced_mailer/lang/ko.php index 0dd70bd62..23ff9e821 100644 --- a/modules/advanced_mailer/lang/ko.php +++ b/modules/advanced_mailer/lang/ko.php @@ -28,6 +28,7 @@ $lang->cmd_advanced_mailer_smtp_security_tls = 'TLS (STARTTLS)'; $lang->cmd_advanced_mailer_smtp_security_none = '사용하지 않음'; $lang->cmd_advanced_mailer_smtp_user = '아이디'; $lang->cmd_advanced_mailer_smtp_pass = '비밀번호'; +$lang->cmd_advanced_mailer_api_url = 'API URL'; $lang->cmd_advanced_mailer_api_key = 'API 키'; $lang->cmd_advanced_mailer_api_secret = 'API 비밀'; $lang->cmd_advanced_mailer_api_domain = '도메인';