' . "\r\n"; $res = wp_mail($notifyemail, __('Asterisk Web Callback plugin notification', 'z_asteriskcallback'), __('Callback unsuccessful! Tel number: ', 'z_asteriskcallback') . ' ' . $telnum . PHP_EOL . __('Error code: ', 'z_asteriskcallback') . $errcode, $headers); return $res; } class zacw_Widget extends WP_Widget { function zacw_Widget() { $widget_ops = array( 'classname' => 'z_asteriskcallback', 'description' => __('A widget that make call back to visitor via Asterisk (Freepbx)', 'z_asteriskcallback') ); $control_ops = array( 'width' => 300, 'height' => 350, 'id_base' => 'z_asteriskcallback-widget' ); $this->WP_Widget( 'z_asteriskcallback-widget', __('Asterisk Web Callback', 'z_asteriskcallback'), $widget_ops, $control_ops ); wp_enqueue_style( 'z_asteriskcallback', plugins_url('css/z_asteriskcallback.css', __FILE__) ); } function widget( $args, $instance ) { extract( $args ); //Our variables from the widget settings. $title = apply_filters('widget_title', $instance['title'] ); //Asterix connection settings $strHost = $instance['host']; $strPort = $instance['port']; $strUser = $instance['user']; $strSecret = $instance['secret']; $strCallerIdPrefix = $instance['calleridprefix']; $strNumLenght = $instance['telnumlen']; $strRegionCode = $instance['regioncode']; $strChannel = $instance['channel']; $strContext = $instance['context']; $strWaitTime = $instance['waittime']; $strPriority = $instance['priority']; $strNotifyEmail = $instance['notifyemail']; // for tel number value $strExten = 0; echo $before_widget; // echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; // // echo ''; echo '
'; // echo $after_widget; } //Update the widget function update( $new_instance, $old_instance ) { $instance = $old_instance; //Strip tags from title and name to remove HTML // title $title = sanitize_text_field( $new_instance['title'] ); if ( isset($title) ) $instance['title'] = $title; // host $host = sanitize_text_field( $new_instance['host'] ); if ( isset($host) ) $instance['host'] = $host; // port $port = sanitize_text_field( $new_instance['port'] ); if ( isset($port) && is_numeric($port) ) $instance['port'] = $port; // user $user = sanitize_text_field( $new_instance['user'] ); if ( isset($user) ) $instance['user'] = $user; // secret $secret = sanitize_text_field( $new_instance['secret'] ); if ( isset($secret) ) $instance['secret'] = $secret; // calleridprefix $calleridprefix = sanitize_text_field( $new_instance['calleridprefix'] ); if (isset($calleridprefix)) $instance['calleridprefix'] = $calleridprefix; // telnumlen $telnumlen = sanitize_text_field( $new_instance['telnumlen'] ); if ( isset($telnumlen) && is_numeric($telnumlen) ) $instance['telnumlen'] = $telnumlen; // regioncode $regioncode = sanitize_text_field( $new_instance['regioncode'] ); if ( isset($regioncode) && is_numeric($regioncode) ) $instance['regioncode'] = $regioncode; // channel $channel = sanitize_text_field( $new_instance['channel'] ); if ( isset($channel) ) $instance['channel'] = $channel; // context $context = sanitize_text_field( $new_instance['context'] ); if ( isset($context) ) $instance['context'] = $context; // waittime $waittime = sanitize_text_field( $new_instance['waittime'] ); if ( isset($waittime) && is_numeric($waittime) ) $instance['waittime'] = $waittime; // priority $priority = sanitize_text_field( $new_instance['priority'] ); if ( isset($priority) && is_numeric($priority) ) $instance['priority'] = $priority; // notifyemail $notifyemail = sanitize_email( $new_instance['notifyemail'] ); if ( isset($notifyemail) ) $instance['notifyemail'] = $notifyemail; return $instance; } function form( $instance ) { //Set up some default widget settings. $defaults = array( 'title' => __('Callback', 'z_asteriskcallback'), 'host' => 'XXX.XXX.XXX.XXX', 'port' => 'XXXX', 'user' => '', 'secret' => '', 'calleridprefix' => 'web', 'telnumlen' => 12, 'regioncode' => '+7', 'channel' => __('Local SIP channel', 'z_asteriskcallback'), 'context' => __('Webcall SIP context', 'z_asteriskcallback'), 'waittime' => 60000, 'priority' => 1, 'notifyemail' => __('E-mail for notification, or blank for disable', 'z_asteriskcallback'), ); $instance = wp_parse_args( (array) $instance, $defaults ); ?>