FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
latepoint
/
lib
/
helpers
Edit File: sms_helper.php
<?php class OsSmsHelper { /** * @param $to * @param $content * * @return array [ * 'status' => string, * 'message' => string, * 'to' => string, * 'content' => string, * 'processor_code' => string, * 'processor_name' => string, * 'processed_datetime' => string, * 'extra_data' => array * ] */ public static function send_sms( $to, $content, $activity_data = [] ): array { $result = [ 'status' => LATEPOINT_STATUS_ERROR, 'message' => __( 'No SMS processor is selected.', 'latepoint' ), 'to' => $to, 'content' => $content, 'processor_code' => '', 'processor_name' => '', 'processed_datetime' => '', 'extra_data' => [ 'activity_data' => $activity_data, ], 'errors' => [], ]; if ( OsSettingsHelper::is_sms_allowed() && OsNotificationsHelper::is_notification_type_enabled( 'sms' ) ) { /** * Result of sending an SMS message to a recipient's phone number * * @param {array} $result The array of data describing the send operation * @param {string} $to The recipient's phone number * @param {string} $content The message to send to the recipient * * @since 4.7.0 * @hook latepoint_notifications_send_sms * @returns {array} The array of descriptive data, possibly transformed by hooked SMS processor(s) */ $result = apply_filters( 'latepoint_notifications_send_sms', $result, $to, $content ); } else { $result['message'] = __( 'SMS notifications are disabled', 'latepoint' ); $result['errors'][] = __( 'SMS notifications are disabled', 'latepoint' ); } self::log_sms( $result ); return $result; } /** * @param $enabled_only * * @return array [ * 'code' => [ * 'code' => string, * 'label' => string, * 'image_url' => string * ] * ] */ public static function get_sms_processors( $enabled_only = false ) { $sms_processors = []; /** * Get the list of SMS processors registered in the LatePoint ecosystem * * @since 1.2.3 * @hook latepoint_sms_processors * * @param {array} $sms_processors The list of SMS processors being filtered * @param {bool} $enabled_only True when filtering only enabled SMS processors, false otherwise * @returns {array} The filtered list of SMS processors */ return apply_filters( 'latepoint_sms_processors', $sms_processors, $enabled_only ); } public static function is_sms_processor_enabled( string $sms_processor_code ): bool { return ( OsNotificationsHelper::get_selected_processor_code_by_type( 'sms' ) == $sms_processor_code ); } /** * @param array $result * * @return OsActivityModel */ public static function log_sms( array $result ) { if ( empty( $result['processed_datetime'] ) ) { $result['processed_datetime'] = OsTimeHelper::now_datetime_in_db_format(); } $data = [ 'code' => 'sms_sent', 'description' => wp_json_encode( $result ), ]; if ( ! empty( $result['extra_data']['activity_data'] ) ) { $data = array_merge( $data, $result['extra_data']['activity_data'] ); } $activity = OsActivitiesHelper::create_activity( $data ); return $activity; } }
Save
Back