public static function do_job() { //error_log("******* in the chronos ********"); $job_batch = get_option("rm_option_jobman_job", null); if ($job_batch == null) { return; } //echo "<br>Batch:<br>"; //return; //self::log_var_dump($job_batch); $gopts = new RM_Options(); $from_email = $gopts->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; foreach ($job_batch as $key => $job) { $results = RM_DBManager::get_submissions_for_form($job->form_id, $job->job_size, $job->offset); //echo "<br>in foreach:<br>"; //var_dump($results); if ($results != false) { foreach ($results as $result) { //error_log("Doing a job, email: " . $result->user_email); $sub_values = maybe_unserialize($result->data); $processed_msg = $job->mail_packet['message']; foreach ($job->form_fields as $field_placeholder) { $abab = explode("_", $field_placeholder); $field_id = $abab[1]; if (isset($sub_values[$field_id])) { if (is_array($sub_values[$field_id]->value)) { $sub_values[$field_id]->value = implode(",", $sub_values[$field_id]->value); } $processed_msg = str_replace("{{" . $field_placeholder . "}}", $sub_values[$field_id]->value, $processed_msg); } } $cron_mail = new stdClass(); $cron_mail->to = $result->user_email; $cron_mail->header = $header; $cron_mail->message = wpautop($processed_msg); $cron_mail->subject = $job->mail_packet['subject']; $cron_mail->attachments = array(); RM_Utilities::send_mail($cron_mail); //wp_mail($result->user_email, //$job->mail_packet['subject'] , //$processed_msg, //$header); } $job_batch[$key]->offset += count($results); //$job->job_size; if ($job->callback !== null) { $job->callback(true); } } if ($job_batch[$key]->offset >= $job_batch[$key]->total) { unset($job_batch[$key]); } } update_option("rm_option_jobman_job", $job_batch); }
/** * Register the stylesheets for the public-facing side of the site. * * @since 1.0.0 * */ public function enqueue_styles() { $settings = new RM_Options(); $theme = $settings->get_value_of('theme'); $layout = $settings->get_value_of('form_layout'); switch ($theme) { case 'classic': if ($layout == 'label_top') { wp_enqueue_style('rm_theme_classic_label_top', plugin_dir_url(__FILE__) . 'css/theme_rm_classic_label_top.css', array(), $this->version, 'all'); } elseif ($layout == 'two_columns') { wp_enqueue_style('rm_theme_classic_two_columns', plugin_dir_url(__FILE__) . 'css/theme_rm_classic_two_columns.css', array(), $this->version, 'all'); } else { wp_enqueue_style('rm_theme_classic', plugin_dir_url(__FILE__) . 'css/theme_rm_classic.css', array(), $this->version, 'all'); } break; /*case 'blue' : if ($layout == 'label_top') wp_enqueue_style('rm_theme_blue_label_top', plugin_dir_url(__FILE__) . 'css/theme_rm_blue_label_top.css', array(), $this->version, 'all'); elseif ($layout == 'two_columns') wp_enqueue_style('rm_theme_blue_two_columns', plugin_dir_url(__FILE__) . 'css/theme_rm_blue_two_columns.css', array(), $this->version, 'all'); else wp_enqueue_style('rm_theme_blue', plugin_dir_url(__FILE__) . 'css/theme_rm_blue.css', array(), $this->version, 'all'); break; */ /*case 'blue' : if ($layout == 'label_top') wp_enqueue_style('rm_theme_blue_label_top', plugin_dir_url(__FILE__) . 'css/theme_rm_blue_label_top.css', array(), $this->version, 'all'); elseif ($layout == 'two_columns') wp_enqueue_style('rm_theme_blue_two_columns', plugin_dir_url(__FILE__) . 'css/theme_rm_blue_two_columns.css', array(), $this->version, 'all'); else wp_enqueue_style('rm_theme_blue', plugin_dir_url(__FILE__) . 'css/theme_rm_blue.css', array(), $this->version, 'all'); break; */ default: if ($layout == 'label_top') { wp_enqueue_style('rm_theme_matchmytheme_label_top', plugin_dir_url(__FILE__) . 'css/theme_rm_matchmytheme_label_top.css', array(), $this->version, 'all'); } else { wp_enqueue_style('rm_theme_matchmytheme', plugin_dir_url(__FILE__) . 'css/theme_rm_matchmytheme.css', array(), $this->version, 'all'); } break; } //wp_enqueue_style('rm-jquery-ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/smoothness/jquery-ui.css', false, $this->version, 'all'); wp_enqueue_style($this->plugin_name, plugin_dir_url(__FILE__) . 'css/style_rm_front_end.css', array(), $this->version, 'all'); }
public function notify_users($note) { $gopt = new RM_Options(); if ($gopt->get_value_of('user_notification_for_notes') == "yes") { if ($note->get_status() != 'publish') { return; } $submission = new RM_Submissions(); $submission->load_from_db($note->get_submission_id()); $email = new stdClass(); //echo '<pre>'; //print_r($submission); die; $email->to = $submission->get_user_email(); $from_email = $gopt->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "MIME-Version: 1.0\r\n"; $header .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; $email->subject = get_bloginfo('name', 'display') . " Notification from Admin "; $email->message = RM_UI_Strings::get('MSG_NOTE_FROM_ADMIN') . $note->get_notes(); $email->header = $header; $email->attachments = array(); RM_Utilities::send_mail($email); } }
public function callback($payment_status, $rm_pproc_id) { switch ($payment_status) { case 'success': if ($rm_pproc_id) { $log_id = $rm_pproc_id; $log = RM_DBManager::get_row('PAYPAL_LOGS', $log_id); if ($log) { if ($log->log) { $paypal_log = maybe_unserialize($log->log); $payment_status = $paypal_log['payment_status']; if ($payment_status == 'Completed') { echo '<div id="rmform">'; echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_SUCCESS") . "</br>"; echo '</div></div>'; return 'success'; } else { if ($payment_status == 'Denied' || $payment_status == 'Failed' || $payment_status == 'Refunded' || $payment_status == 'Reversed' || $payment_status == 'Voided') { echo '<div id="rmform">'; echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_FAILED") . "</br>"; echo '</div></div>'; return 'failed'; } else { if ($payment_status == 'In-Progress' || $payment_status == 'Pending' || $payment_status == 'Processed') { echo '<div id="rmform">'; echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_PENDING") . "</br>"; echo '</div></div>'; return 'pending'; } else { if ($payment_status == 'Canceled_Reversal') { return 'canceled_reversal'; } } } } } } } return false; case 'cancel': echo '<div id="rmform">'; echo "<div class='rminfotextfront'>" . RM_UI_Strings::get("MSG_PAYMENT_CANCEL") . "</br>"; echo '</div></div>'; return; case 'ipn': $trasaction_id = $_POST["txn_id"]; $payment_status = $_POST["payment_status"]; $cstm = $_POST["custom"]; $abcd = explode("|", $cstm); $user_id = (int) $abcd[1]; $acbd = explode("|", $cstm); $log_entry_id = (int) $acbd[0]; //$_POST["custom"]; $log_array = maybe_serialize($_POST); $curr_date = RM_Utilities::get_current_time(); // date_i18n(get_option('date_format')); RM_DBManager::update_row('PAYPAL_LOGS', $log_entry_id, array('status' => $payment_status, 'txn_id' => $trasaction_id, 'posted_date' => $curr_date, 'log' => $log_array), array('%s', '%s', '%s', '%s')); if ($this->paypal->validate_ipn()) { //IPN is valid, check payment status and process logic if ($payment_status == 'Completed') { if ($user_id) { $gopt = new RM_Options(); if ($gopt->get_value_of('user_auto_approval') == "yes") { $user_service = new RM_User_Services(); $user_service->activate_user_by_id($user_id); } } return 'success'; } else { if ($payment_status == 'Denied' || $payment_status == 'Failed' || $payment_status == 'Refunded' || $payment_status == 'Reversed' || $payment_status == 'Voided') { return 'failed'; } else { if ($payment_status == 'In-Progress' || $payment_status == 'Pending' || $payment_status == 'Processed') { return 'pending'; } else { if ($payment_status == 'Canceled_Reversal') { return 'canceled_reversal'; } } } } return 'unknown'; } return 'invalid_ipn'; } }
public function facebook_login_callback() { global $rm_env_requirements; if (!($rm_env_requirements & RM_REQ_EXT_CURL)) { return; } global $rm_fb_sdk_req; $gopts = new RM_Options(); $fb_app_id = $gopts->get_value_of('facebook_app_id'); $fb_app_secret = $gopts->get_value_of('facebook_app_secret'); if (!$fb_app_id || !$fb_app_secret) { return; } if ($rm_fb_sdk_req === RM_FB_SDK_REQ_OK) { $fb = new Facebook\Facebook(array('app_id' => $fb_app_id, 'app_secret' => $fb_app_secret, 'default_graph_version' => 'v2.2')); $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch (Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (!isset($accessToken)) { if ($helper->getError()) { header('HTTP/1.0 401 Unauthorized'); echo "Error: " . $helper->getError() . "\n"; echo "Error Code: " . $helper->getErrorCode() . "\n"; echo "Error Reason: " . $helper->getErrorReason() . "\n"; echo "Error Description: " . $helper->getErrorDescription() . "\n"; } else { header('HTTP/1.0 400 Bad Request'); echo 'Bad request'; } exit; } // Logged in // echo '<h3>Access Token</h3>'; //var_dump($accessToken->getValue()); // The OAuth 2.0 client handler helps us manage access tokens $oAuth2Client = $fb->getOAuth2Client(); // Get the access token metadata from /debug_token $tokenMetadata = $oAuth2Client->debugToken($accessToken); //echo '<h3>Metadata</h3>'; //var_dump($tokenMetadata); // Validation (these will throw FacebookSDKException's when they fail) $tokenMetadata->validateAppId($fb_app_id); // Replace {app-id} with your app id // If you know the user ID this access token belongs to, you can validate it here //$tokenMetadata->validateUserId('123'); $tokenMetadata->validateExpiration(); if (!$accessToken->isLongLived()) { // Exchanges a short-lived access token for a long-lived one try { $accessToken2 = $oAuth2Client->getLongLivedAccessToken($accessToken); } catch (Facebook\Exceptions\FacebookSDKException $e) { echo "<p>Error getting long-lived access token: " . $helper->getMessage() . "</p>\n\n"; exit; } //echo '<h3>Long-lived</h3>'; //var_dump($accessToken2->getValue()); } //$_SESSION['fb_access_token'] = (string) $accessToken; try { // Returns a `Facebook\FacebookResponse` object $response = $fb->get('/me?fields=id,name,email,first_name,last_name', (string) $accessToken); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } $user = $response->getGraphUser(); //var_dump($user->getFirstName()); $user_name = $user->getName(); $user_email = $user->getEmail(); $user_name = $user->getName(); $user_fname = $user->getFirstName(); $user_lname = $user->getLastName(); $redirection_post = $gopts->get_value_of('post_submission_redirection_url'); if (email_exists($user_email)) { // user is a member $user = get_user_by('email', $user_email); $user_id = $user->ID; wp_set_auth_cookie($user_id, true); } else { // this user is a guest $random_password = wp_generate_password(10, false); $user_id = wp_create_user($user_email, $random_password, $user_email); if (!is_wp_error($user_id)) { if (function_exists('is_multisite') && is_multisite()) { add_user_to_blog(get_current_blog_id(), $user_id, 'subscriber'); } update_user_meta($user_id, 'avatar_image', 'https://graph.facebook.com/' . $user->getId() . '/picture?type=large'); wp_update_user(array('ID' => $user_id, 'display_name' => $user_name, 'first_name' => $user_fname, 'last_name' => $user_lname)); wp_set_auth_cookie($user_id, true); } } } else { $fb = new Facebook(array('appId' => $fb_app_id, 'secret' => $fb_app_secret)); $user = $fb->getUser(); if ($user) { $user_profile = $fb->api('/me?fields=id,name,email,first_name,last_name'); if (isset($user_profile['email'])) { $user_email = $user_profile['email']; $redirection_post = $gopts->get_value_of('post_submission_redirection_url'); if (email_exists($user_email)) { // user is a member $user = get_user_by('email', $user_email); $user_id = $user->ID; wp_set_auth_cookie($user_id, true); } else { // this user is a guest $random_password = wp_generate_password(10, false); $user_id = wp_create_user($user_email, $random_password, $user_email); if (!is_wp_error($user_id)) { if (function_exists('is_multisite') && is_multisite()) { add_user_to_blog(get_current_blog_id(), $user_id, 'subscriber'); } update_user_meta($user_id, 'avatar_image', 'https://graph.facebook.com/' . $user_profile['id'] . '/picture?type=large'); wp_update_user(array('ID' => $user_id, 'display_name' => $user_profile['name'], 'first_name' => $user_profile['first_name'], 'last_name' => $user_profile['last_name'])); wp_set_auth_cookie($user_id, true); } } } else { die('Error: Unable to fetch email address from Facebbok.'); } } } if ($redirection_post > 0) { $after_login_url = get_permalink($redirection_post); } else { $after_login_url = home_url(); } RM_Utilities::redirect($after_login_url); }
public function include_scripts() { $options = new RM_Options(); $fab_color = $options->get_value_of('fab_color'); $fab_theme = $options->get_value_of('fab_theme'); ?> <link rel="stylesheet" href="<?php echo RM_BASE_URL; ?> public/css/floating-button.css" type="text/css"> <script type="text/javascript"> var rm_fab_theme = '<?php echo $fab_theme; ?> '; var rm_fab_color = '<?php echo $fab_color; ?> '; var ajaxurl = '<?php echo admin_url('admin-ajax.php'); ?> '; </script> <script src="<?php echo RM_BASE_URL; ?> public/js/modernizr-custom.min.js" type="text/javascript"></script> <script src="<?php echo RM_BASE_URL; ?> admin/js/jscolor.min.js" type="text/javascript"></script> <script src="<?php echo RM_BASE_URL; ?> public/js/floating-button.js" type="text/javascript"></script> <?php }
public function get_setting($name) { $global_settings = new RM_Options(); $result = $global_settings->get_value_of($name); return $result; }
public static function config_phpmailer($phpmailer) { $options = new RM_Options(); if ($options->get_value_of('enable_smtp') == 'yes') { $phpmailer->isSMTP(); $phpmailer->SMTPDebug = 0; $phpmailer->Host = $options->get_value_of('smtp_host'); $phpmailer->SMTPAuth = $options->get_value_of('smtp_auth') == 'yes' ? true : false; $phpmailer->Port = $options->get_value_of('smtp_port'); $phpmailer->Username = $options->get_value_of('smtp_user_name'); $phpmailer->Password = $options->get_value_of('smtp_password'); $phpmailer->SMTPSecure = $options->get_value_of('smtp_encryption_type') == 'enc_tls' ? 'tls' : ($options->get_value_of('smtp_encryption_type') == 'enc_ssl' ? 'ssl' : ''); } $phpmailer->From = $options->get_value_of('senders_email'); $phpmailer->FromName = $options->get_value_of('senders_display_name'); if (empty($phpmailer->AltBody)) { $phpmailer->AltBody = self::html_to_text_email($phpmailer->Body); } return; }
public function fab($model, $service, $request) { $setting = new RM_Options(); if ($setting->get_value_of('display_floating_action_btn') === 'yes') { $param = new stdClass(); $param->action_btn_style = 'background-color:#' . $setting->get_value_of('floating_icon_bck_color'); $param->default_form = (int) $setting->get_value_of('default_form_id'); $floating_widget = new RM_Floating_Widget($param); $floating_widget->show_widget(); } }
public function isValid($value) { $valid = true; $name_explode = explode("_", $this->name); $field_id = $name_explode[1]; $field = new RM_Fields(); $gopts = new RM_Options(); $field->load_from_db($field_id); //Sanitize value before use, remove white space, trim extra pipes. $fv = explode("|", trim(preg_replace('/\\s+/', '', $field->get_field_value()), '|')); $allowed_types = array(); $multiple = $gopts->get_value_of('allow_multiple_file_uploads'); if (!$fv || count($fv) === 1 && $fv[0] == "") { $allowed_types = explode("|", $gopts->get_value_of('allowed_file_types')); } else { foreach ($fv as $key => $value) { $fv[$key] = strtolower($value); } $allowed_types = $fv; } //die; if ($multiple == "yes") { if (isset($_FILES[$this->name]) && !empty($_FILES[$this->name])) { foreach ($_FILES[$this->name]['name'] as $filename) { if ($filename == "") { if (!$this->isRequiredFileField) { return true; } else { $this->message = " %element% " . RM_UI_Strings::get('ERROR_REQUIRED'); return false; } } elseif (strpos($filename, '.') === 0) { return false; } elseif (strpos($filename, '.') === false) { return false; } else { $arrx = explode('.', $filename); $ext = $arrx[count($arrx) - 1]; if ($ext == "") { return false; } $ext = strtolower($ext); if (!in_array($ext, $allowed_types)) { return false; } } } return true; } return true; } else { if (isset($_FILES[$this->name]) && !empty($_FILES[$this->name])) { $filename = $_FILES[$this->name]['name']; if ($filename == "") { if (!$this->isRequiredFileField) { return true; } else { $this->message = " %element% " . RM_UI_Strings::get('ERROR_REQUIRED'); return false; } } elseif (strpos($filename, '.') === 0) { return false; } elseif (strpos($filename, '.') === false) { return false; } else { $arrx = explode('.', $filename); $ext = $arrx[count($arrx) - 1]; if ($ext == "") { return false; } if (!in_array($ext, $allowed_types)) { return false; } } return true; } return true; } return false; }
public function prepare_email($type, $submissions, $form, $request = '') { $email = new stdClass(); $email_content = '<div class="mail-wrapper">'; if ($submissions != null) { $data = $submissions->get_data(); } $gopt = new RM_Options(); $values = ''; if ($type == "to_admin") { /* * Loop through serialized data for submission */ foreach ($data as $val) { $email_content .= '<div class="row"> <span class="key">' . $val->label . ':</span>'; if (is_array($val->value)) { $values = ''; // Check attachment type field if (isset($val->value['rm_field_type']) && $val->value['rm_field_type'] == 'File') { unset($val->value['rm_field_type']); /* * Grab all the attachments as links */ foreach ($val->value as $attachment_id) { $values .= wp_get_attachment_link($attachment_id) . ' '; } $email_content .= '<span class="key-val">' . $values . '</span><br/>'; } else { $email_content .= '<span class="key-val">' . implode(', ', $val->value) . '</span><br/>'; } } else { $email_content .= '<span class="key-val">' . $val->value . '</span><br/>'; } } $email->message = $email_content . "</div>"; // Prepare recipients $to = array(); $header = ''; if ($gopt->get_value_of('admin_notification') == "yes") { $to = explode(',', $gopt->get_value_of('admin_email')); } else { $to = null; } $subject = $form->form_name . " " . RM_UI_Strings::get('LABEL_NEWFORM_NOTIFICATION') . " "; $from_email = $gopt->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; $email->to = $to; $email->header = $header; $email->subject = $subject; $email->attachments = array(); } if ($type == "to_registrar") { /* Preparing content for front end notification */ $email_content .= wpautop($form->form_options->form_email_content) . '<br><br>'; foreach ($request->req as $key => $val) { //echo "<pre", var_dump($request->req),die; if (!is_array($val)) { $email_content = str_replace('{{' . $key . '}}', $val, $email_content); } else { $email_content = str_replace('{{' . $key . '}}', implode(',', $val), $email_content); } } $out = array(); $preg_result = preg_match_all('/{{(.*?)}}/', $email_content, $out); if ($preg_result) { $id_vals = array(); foreach ($request->req as $key => $val) { //$val would be like '{field_type}_{field_id}' $key_parts = explode('_', $key); $k_c = count($key_parts); if ($k_c >= 2 && is_numeric($key_parts[$k_c - 1])) { if (is_array($val)) { $val = implode(",", $val); } if ($key_parts[0] === 'Fname' || $key_parts[0] === 'Lname' || $key_parts[0] === 'BInfo') { $id_vals[$key_parts[0]] = $val; } else { $id_vals[$key_parts[1]] = $val; } } } foreach ($out[1] as $caught) { //echo "<br>".$caught; $x = explode("_", $caught); $id = $x[count($x) - 1]; if (is_numeric($id)) { if (isset($id_vals[(int) $id])) { $email_content = str_replace('{{' . $caught . '}}', $id_vals[(int) $id], $email_content); } } else { switch ($caught) { case 'first_name': if (isset($id_vals['Fname'])) { $email_content = str_replace('{{' . $caught . '}}', $id_vals['Fname'], $email_content); } break; case 'last_name': if (isset($id_vals['Lname'])) { $email_content = str_replace('{{' . $caught . '}}', $id_vals['Lname'], $email_content); } break; case 'description': if (isset($id_vals['BInfo'])) { $email_content = str_replace('{{' . $caught . '}}', $id_vals['BInfo'], $email_content); } break; } } //Blank the placeholder if still any remaining. $email_content = str_replace('{{' . $caught . '}}', '', $email_content); } } $email->message = $email_content . "</div>"; $email->subject = $form->form_options->form_email_subject ?: RM_UI_Strings::get('MAIL_REGISTRAR_DEF_SUB'); $email->to = $submissions->get_user_email(); $email->attachments = array(); $from_email = $gopt->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; $email->header = $header; } if ($type == "new_user") { //$email->message = "Your account has been successfully created on ".get_bloginfo( 'name', 'display' ).". You can now login using following credentials:<br>Username : $request->username<br>Password : $request->password"; $msg = RM_UI_Strings::get('MAIL_BODY_NEW_USER_NOTIF'); $msg = str_replace('%SITE_NAME%', get_bloginfo('name', 'display'), $msg); $msg = str_replace('%USER_NAME%', $request->username, $msg); $msg = str_replace('%USER_PASS%', $request->password, $msg); $email->message = $email_content . $msg . "</div>"; $email->subject = RM_UI_Strings::get('MAIL_NEW_USER_DEF_SUB'); $email->to = $request->email; $email->attachments = array(); $from_email = $gopt->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; $email->header = $header; } elseif ($type === 'user_activation') { $user_email = $request->email; /* $boundary = uniqid('rm'); $header_html = "Content-type: text/html;charset=utf-8\r\n\r\n"; $header_text = "Content-type: text/plain;charset=utf-8\r\n\r\n"; */ /* $msg_text = 'A new user has been regitered on %SITE_NAME%. \r\n User Name : %USER_NAME% \r\n User Email : %USER_EMAIL% \r\n\r\n Please click on the link below to activate the user.'; $msg_text = str_replace('%SITE_NAME%', get_bloginfo('name', 'display'), $msg_text); $msg_text = str_replace('%USER_NAME%', $params->username, $msg_text); $msg_text = str_replace('%USER_EMAIL%', $user_email, $msg_text); */ //$msg_css = '<style type=text/css> .mail-wrapper{ border: 1px solid black; padding: 20px; background-color: #fdfdfd; box-shadow: .1px .1px 8px .1px grey; font-size: 14px; font-family: monospace; } a.rm_btn{ border: 1px solid; padding: 4px; background-color: powderblue; box-shadow: 1px 1px 3px .1px; } a.rm_btn:hover{ box-shadow: 1px 1px 3px .1px inset; } a.rm-link{ color: blue; font-size: 11px; } div.rm-btn-link{ width: 100%; text-align: center; margin-top: 10px; margin-bottom: 15px; } div.link-div{ border: 1px dotted; padding: 13px; background-color: ivory; margin-top: 4px; width: 100%; } div.mail_body{ background-color: floralwhite; padding: 20px; } </style>'; $html_pre = '<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title></title> <meta name="Generator" content="Cocoa HTML Writer"> <meta name="CocoaVersion" content="1404.34"> <link rel="stylesheet" type="text/css" href="matchmytheme.css"> </head> <body style="font-size:14px">'; $html_post = '</body></html>'; $msg_html = '<div class="mail-wrapper" style="border: 1px solid black; padding: 20px; box-shadow: .1px .1px 8px .1px grey; font-size: 14px; font-family: monospace;"> <div class="mail_body" style="padding: 20px;">' . RM_UI_Strings::get('MAIL_NEW_USER1') . '.<br/> ' . RM_UI_Strings::get('LABEL_USER_NAME') . ' : %USER_NAME% <br/> ' . RM_UI_Strings::get('LABEL_USEREMAIL') . ' : %USER_EMAIL% <br/> <br/>' . RM_UI_Strings::get('MAIL_NEW_USER2') . '<br/> <div class="rm-btn-link" style="width: 100%; text-align: center; margin-top: 10px; margin-bottom: 15px;"><a class="rm_btn" href="%ACTIVATION_LINk%" style="border: 1px solid; padding: 4px; background-color: powderblue; box-shadow: 1px 1px 3px .1px;">Activate</a></div> <div class="link-div" style="border: 1px dotted; padding: 13px; background-color: white; margin-top: 4px; width: 100%;"> ' . RM_UI_Strings::get('MAIL_NEW_USER3') . '.<br/> <a class="rm-link" href="%ACTIVATION_LINk%" style="color: blue; font-size: 11px;">%ACTIVATION_LINk%</a> </div> </div> </div>'; $msg_html = str_replace('%SITE_NAME%', get_bloginfo('name', 'display'), $msg_html); $msg_html = str_replace('%USER_NAME%', $request->username, $msg_html); $msg_html = str_replace('%USER_EMAIL%', $user_email, $msg_html); $msg_html = str_replace('%ACTIVATION_LINk%', $request->link, $msg_html); //$email->message = "msg \r\n\r\n--" . $boundary . "\r\n" . $header_text . $msg_text . "\r\n\r\n--" . $boundary . "\r\n" . $header_html . $html_pre .$msg_css . $msg_html . $html_post . "\r\n\r\n--" . $boundary . "--\r\n"; $email->message = $html_pre . $msg_html . $html_post; $email->subject = RM_UI_Strings::get('MAIL_ACTIVATE_USER_DEF_SUB'); $email->to = get_option('admin_email'); $email->attachments = array(); $from_email = $gopt->get_value_of('senders_email_formatted'); $header = "From: {$from_email}\r\n"; $header .= "Content-Type: text/html; charset=utf-8\r\n"; $email->header = $header; } return $email; }
public function create_form($form_id) { //Load form from database $this->backend_form = new RM_Forms(); $this->backend_form->load_from_db($form_id); //Update form diary global $rm_form_diary; if (isset($rm_form_diary[$form_id])) { $rm_form_diary[$form_id]++; } else { $rm_form_diary[$form_id] = 1; } $primary_field_req_names = array(); //Load corresponding fields from db $fields = array(); $db_fields = $this->service->get_all_form_fields($form_id); if ($db_fields) { foreach ($db_fields as $db_field) { $field_options = maybe_unserialize($db_field->field_options); $form_options = $this->backend_form->get_form_options(); if (isset($form_options->style_textfield)) { $field_options->style_textfield = $form_options->style_textfield; } if (isset($form_options->style_label)) { $field_options->style_label = $form_options->style_label; } $opts = $this->service->set_properties($field_options); $db_field->field_value = maybe_unserialize($db_field->field_value); $field_name = $db_field->field_type . "_" . $db_field->field_id; $db_field->field_label = $db_field->field_label; if (isset($field_options->icon)) { $x_opts = (object) array('icon' => $field_options->icon); } else { $x_opts = null; } switch ($db_field->field_type) { case 'Price': $gopts = new RM_Options(); $currency_pos = $gopts->get_value_of('currency_symbol_position'); $currency_symbol = $gopts->get_currency_symbol(); $fields[$field_name] = new RM_Frontend_Field_Price($db_field->field_id, $db_field->field_label, $opts, $db_field->field_value, $currency_pos, $currency_symbol, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'File': $fields[$field_name] = new RM_Frontend_Field_File($db_field->field_id, $db_field->field_label, $opts, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Select': $fields[$field_name] = new RM_Frontend_Field_Select($db_field->field_id, $db_field->field_label, $opts, $db_field->field_value, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Multi-Dropdown': break; case 'Phone': break; case 'Mobile': break; case 'Nickname': $fields[$field_name] = new RM_Frontend_Field_Base($db_field->field_id, 'Nickname', $db_field->field_label, $opts, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Image': break; case 'Facebook': break; case 'Website': $opts['Pattern'] = "((?:https?\\:\\/\\/|www\\.)(?:[-a-z0-9]+\\.)*[-a-z0-9]+.*)"; //$opts['Title'] = RM_UI_Strings::get("WEBSITE_ERROR"); $fields[$field_name] = new RM_Frontend_Field_Base($db_field->field_id, 'Website', $db_field->field_label, $opts, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Twitter': break; case 'Google': break; case 'Instagram': break; case 'Linked': break; case 'SoundCloud': break; case 'Youtube': break; case 'VKontacte': break; case 'Skype': break; case 'Bdate': break; case 'SecEmail': break; case 'Gender': break; case 'Language': break; case 'Terms': $opts['cb_label'] = isset($field_options->tnc_cb_label) ? $field_options->tnc_cb_label : null; case 'Radio': case 'Checkbox': $classname = "RM_Frontend_Field_" . $db_field->field_type; $fields[$field_name] = new $classname($db_field->field_id, $db_field->field_label, $opts, $db_field->field_value, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Shortcode': $classname = "RM_Frontend_Field_Visible_Only"; $db_field->field_value = do_shortcode($db_field->field_value); $fields[$field_name] = new $classname($db_field->field_id, 'HTMLCustomized', $field_name, $db_field->field_label, $opts, $db_field->field_value, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Divider': $classname = "RM_Frontend_Field_Visible_Only"; $fields[$field_name] = new $classname($db_field->field_id, 'HTMLCustomized', $field_name, $db_field->field_label, $opts, ' <hr class="rm_divider" width="100%" size="8" align="center">', $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Spacing': $classname = "RM_Frontend_Field_Visible_Only"; $fields[$field_name] = new $classname($db_field->field_id, 'HTMLCustomized', $field_name, $db_field->field_label, $opts, '<div class="rm_spacing"></div>', $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'HTMLH': case 'HTMLP': $classname = "RM_Frontend_Field_Visible_Only"; $fields[$field_name] = new $classname($db_field->field_id, $db_field->field_type, $db_field->field_label, $opts, $db_field->field_value, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Time': break; case 'Rating': break; case 'Email': // in this case pre-populate the primary email field with logged-in user's email. if ($db_field->is_field_primary) { $primary_field_req_names['user_email'] = $db_field->field_type . "_" . $db_field->field_id; if (is_user_logged_in()) { $current_user = wp_get_current_user(); $opts['value'] = $current_user->user_email; } } $fields[$field_name] = new RM_Frontend_Field_Base($db_field->field_id, $db_field->field_type, $db_field->field_label, $opts, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; case 'Address': case 'Map': break; default: $fields[$field_name] = new RM_Frontend_Field_Base($db_field->field_id, $db_field->field_type, $db_field->field_label, $opts, $db_field->page_no, $db_field->is_field_primary, $x_opts); break; } } } switch ($this->backend_form->get_form_type()) { case RM_REG_FORM: $this->frontend_form = new RM_Frontend_Form_Reg($this->backend_form); $primary_field_req_names['username'] = '******'; $primary_field_req_names['password'] = '******'; $this->frontend_form->set_primary_field_index($primary_field_req_names); break; //Contact form is default case to keep compatibility with previous code //Contact form is default case to keep compatibility with previous code default: //$this->frontend_form = new RM_Frontend_Form_Multipage($this->backend_form); $this->frontend_form = new RM_Frontend_Form_Contact($this->backend_form); $this->frontend_form->set_primary_field_index($primary_field_req_names); break; } $this->frontend_form->add_fields_array($fields); $this->frontend_form->set_form_number($rm_form_diary[$form_id]); //Set up FE form object //Return new FE form return $this->frontend_form; }