public static function get_instance()
 {
     if (!isset(self::$instance) && !self::$instance instanceof RM_Utilities) {
         self::$instance = new RM_Utilities();
     }
     return self::$instance;
 }
 public function manage($model, $service, $request, $params)
 {
     if (isset($request->req['rm_action']) && $request->req['rm_action'] === 'delete') {
         $this->remove_field($model, $service, $request, $params);
     }
     if (isset($request->req['rm_form_id'])) {
         $fields_data = $service->get_all_form_fields($request->req['rm_form_id']);
     } else {
         die(RM_UI_Strings::get('MSG_NO_FORM_SELECTED'));
     }
     foreach ($fields_data as $index => $field_data) {
         if ($field_data->field_type === 'Price') {
             $price_field = $service->get('PAYPAL_FIELDS', array('field_id' => $field_data->field_value), array('%d'), 'row');
             if ($price_field && isset($price_field->type)) {
                 if ($price_field->type !== 'fixed') {
                     unset($fields_data[$index]);
                 }
             }
         } elseif ($field_data->field_type === 'File' || $field_data->field_type === 'Repeatable' || $field_data->field_type === 'Map' || $field_data->field_type === 'Address') {
             unset($fields_data[$index]);
         }
     }
     $data = new stdClass();
     $data->fields_data = $fields_data;
     $data->forms = RM_Utilities::get_forms_dropdown($service);
     $data->field_types = RM_Utilities::get_field_types();
     $data->form_id = $request->req['rm_form_id'];
     $view = $this->mv_handler->setView("field_manager");
     $view->render($data);
 }
 public function show_form($model, $service, $request, $params)
 {
     $data = new stdClass();
     $data->forms = RM_Utilities::get_forms_dropdown($service);
     if (isset($request->req['rm_form_id'])) {
         $data->current_form_id = $request->req['rm_form_id'];
     } else {
         //Get first form's id in this case
         reset($data->forms);
         $data->current_form_id = (string) key($data->forms);
     }
     $data->analysis = $this->calculate_form_stats($data->current_form_id, $service);
     //For pagination
     $entries_per_page = 10;
     $req_page = isset($request->req['rm_reqpage']) && $request->req['rm_reqpage'] > 0 ? $request->req['rm_reqpage'] : 1;
     $offset = ($req_page - 1) * $entries_per_page;
     $total_entries = $data->analysis->total_entries;
     $data->rm_slug = $request->req['page'];
     $data->stat_data = $service->get_form_stats($data->current_form_id, $offset, $entries_per_page);
     $data->total_pages = (int) ($total_entries / $entries_per_page) + ($total_entries % $entries_per_page == 0 ? 0 : 1);
     $data->curr_page = $req_page;
     $data->starting_serial_number = $offset + 1;
     //Pagination Ends
     $view = $this->mv_handler->setView("form_analytics");
     $view->render($data);
 }
 /**
  * Runs all the actions for plugin activation
  *
  * @since    3.0.0
  */
 public static function activate($network_wide)
 {
     RM_Table_Tech::create_tables($network_wide);
     RM_Utilities::create_submission_page();
     error_log("4xx");
     error_log(self::migrate($network_wide));
 }
 public function __construct($id, $label, $options, $value, $page_no = 1, $is_primary = false, $extra_opts = null)
 {
     if (isset($options['value'])) {
         if (!is_array($options['value'])) {
             $options['value'] = RM_Utilities::trim_array(explode(',', $options['value']));
         } else {
             $options['value'] = $options['value'];
         }
     }
     parent::__construct($id, 'Select', $label, $options, $value, $page_no, $is_primary, $extra_opts);
     if (isset($options['multiple'])) {
         $multiple = $options['multiple'];
     } else {
         $multiple = '';
     }
     $options = array();
     if (!is_array($value)) {
         $tmp_options = RM_Utilities::trim_array(explode(',', $value));
     } else {
         $tmp_options = $value;
     }
     foreach ($tmp_options as $val) {
         $options[$val] = trim($val);
     }
     if ($multiple == 'multiple') {
         $options = array(null => RM_UI_Strings::get('SELECT_FIELD_MULTI_OPTION')) + $options;
     } else {
         $options = array(null => RM_UI_Strings::get('SELECT_FIELD_FIRST_OPTION')) + $options;
     }
     $this->field_value = $options;
 }
 /**
  * Sanitizes the request variable
  *
  * @since    1.0.0
  */
 public static function sanitize_request($req)
 {
     $request = RM_Utilities::trim_array($req);
     if (isset($_GET['page']) && is_array($request) && is_string($_GET['page'])) {
         $request['page'] = trim(filter_var($_GET['page'], FILTER_SANITIZE_STRING));
     }
     return $request;
 }
 public function manage($model, $service, $request, $params)
 {
     $data = new stdClass();
     $data->forms = RM_Utilities::get_forms_dropdown($service);
     if (isset($request->req['rm_form_id'])) {
         $data->current_form_id = $request->req['rm_form_id'];
     } else {
         //Get first form's id in this case
         reset($data->forms);
         $data->current_form_id = (string) key($data->forms);
         //Set request parameter manually so wp-editor hook can use it.
         $_REQUEST['rm_form_id'] = $data->current_form_id;
     }
     $data->queue_view = false;
     if (isset($request->req['rm_queues']) && $request->req['rm_queues'] == 'true') {
         $data->queue_view = true;
         $data->queues = $service->get_queues();
         $data->queue_count = count($data->queues);
     }
     if ($this->mv_handler->validateForm("invitation_mail_content")) {
         //echo "<pre>", var_dump($request->req),die;
         $form_id = $data->current_form_id;
         if (!isset($data->forms[$form_id])) {
             die("Error: INVALID FORM ID, RETRY.");
         }
         $res = $service->add_job($form_id, $request->req["rm_mail_subject"], $request->req["rm_mail_body"]);
         //Always check via isset for this error in template file
         $data->no_mail_error = $res == false;
         // ? true : false;
         rm_start_cron();
         //Some return condition maybe?
     }
     /*$job = new stdClass;
     
             $job->total = RM_Job_Manager::get_job_total($data->current_form_id);
     
             if($job->total === null)
             {
                 $data->is_job_running = false;
                 $job->offset = null;
                 $job->started_on = null;
             }
             else
             {
                 $data->is_job_running = true;
                 $job->offset = RM_Job_Manager::get_job_offset($data->current_form_id);
                 $start_time = RM_Job_Manager::get_job_starting_time($data->current_form_id);
                 $job->started_on = RM_Utilities::localize_time($start_time,'d M Y');
             }*/
     $data->job = $service->get_job_stat($data->current_form_id);
     //$job;
     $data->total_resp = $service->get_resp_count($data->current_form_id);
     $view = $this->mv_handler->setView("invitations");
     $view->render($data);
 }
 public function get_job_stat($form_id)
 {
     $job = new stdClass();
     $job->total = RM_Job_Manager::get_job_total($form_id);
     if ($job->total === null) {
         $job->is_job_running = false;
         $job->offset = null;
         $job->started_on = null;
     } else {
         $job->is_job_running = true;
         $job->offset = RM_Job_Manager::get_job_offset($form_id);
         $start_time = RM_Job_Manager::get_job_starting_time($form_id);
         $job->started_on = RM_Utilities::localize_time($start_time, 'd M Y');
     }
     return $job;
 }
 public function add($model, $service, $request, $params)
 {
     //die("GOT IT!!!!");
     if ($this->mv_handler->validateForm("add-paypal-field")) {
         if (isset($request->req['multisel_name_value'])) {
             $request->req['option_label'] = maybe_serialize($request->req['multisel_name_value']);
             $request->req['option_price'] = maybe_serialize($request->req['multisel_price_value']);
         }
         //die("GOT IT!!!!");
         if (isset($request->req['show_on_form'])) {
             $request->req['extra_options'] = 'yes';
         } else {
             $request->req['extra_options'] = 'no';
         }
         $model->set($request->req);
         //            echo "AND NOW PARAMS:";
         //             var_dump($params);
         //             die;
         if (isset($request->req['field_id'])) {
             $service->update($model, $service, $request, $params);
         } else {
             $service->add($model, $service, $request, $params);
         }
         RM_Utilities::redirect(admin_url('/admin.php?page=' . $params['xml_loader']->request_tree->success));
         //$this->view->render();
     } else {
         $data = new stdClass();
         // Edit for request
         if (isset($request->req['rm_field_id'])) {
             $model->load_from_db($request->req['rm_field_id']);
             if ($model->extra_options != 'yes') {
                 $data->show_on_form = 0;
             } else {
                 $data->show_on_form = 1;
             }
         } else {
             $data->show_on_form = 1;
         }
         $data->model = $model;
         $view = $this->mv_handler->setView("paypal_field_add");
         $data->selected_field = $request->req['rm_field_type'];
         $view->render($data);
     }
 }
 public function manage($model, $service, $request, $params)
 {
     $data = new stdClass();
     if (isset($request->req['rm_field_to_search']) && isset($request->req['rm_value_to_serach']) && (int) $request->req['rm_field_to_search']) {
         $field_id = $request->req['rm_field_to_search'];
         $field_value = $request->req['rm_value_to_serach'];
     } else {
         $field_id = null;
         $field_value = null;
     }
     if (isset($request->req['rm_form_id'])) {
         $form_id = $request->req['rm_form_id'];
     } else {
         $form_id = $service->get('FORMS', 1, array('%d'), 'var', 0, 15, $column = 'form_id', null, true);
     }
     if ((int) $field_id) {
         $data->searched = true;
     } else {
         $data->searched = false;
     }
     $data->to_search = new stdClass();
     $data->to_search->id = $field_id;
     $data->to_search->value = $field_value;
     $data->form_id = $form_id;
     $data->forms = RM_Utilities::get_forms_dropdown($service);
     $data->fields = $service->get_all_form_fields($form_id);
     //$data->submissions = $service->get('SUBMISSIONS', array('form_id' => $form_id), array('%d'), 'results', 0, 100, '*', $sort_by = null, $descending = true);
     $data->interval = isset($request->req['rm_interval']) ? $request->req['rm_interval'] : 'all';
     $data->total_entries = count(RM_DBManager::get_results_for_last($data->interval, $form_id, $field_id, $field_value));
     //echo "<pre>",var_dump($data->x), die;
     $data->rm_slug = $request->req['page'];
     //Pagination
     $entries_per_page = 10;
     $req_page = isset($request->req['rm_reqpage']) && $request->req['rm_reqpage'] > 0 ? $request->req['rm_reqpage'] : 1;
     $offset = ($req_page - 1) * $entries_per_page;
     $total_entries = $data->total_entries;
     $data->total_pages = (int) ($total_entries / $entries_per_page) + ($total_entries % $entries_per_page == 0 ? 0 : 1);
     $data->curr_page = $req_page;
     $data->submissions = RM_DBManager::get_results_for_last($data->interval, $form_id, $field_id, $field_value, $offset, $entries_per_page, 'submission_id', true);
     $view = $this->mv_handler->setView('submissions_manager');
     $view->render($data);
 }
 public function charge($data, $pricing_details)
 {
     $curr_date = RM_Utilities::get_current_time();
     $stripe_api_key = $this->options->get_value_of('stripe_api_key');
     if ($stripe_api_key == null) {
         return false;
     }
     if ($pricing_details->total_price <= 0.0) {
         return true;
     }
     //Zero amount case.
     $global_options = new RM_Options();
     // Get the credit card details submitted by the form
     $error = '';
     $success = '';
     // Create the charge on Stripe's servers - this will charge the user's card
     $items = array();
     foreach ($pricing_details->billing as $detail) {
         $items[] = $detail->label;
     }
     $response = '';
     $items_str = implode(',', $items);
     try {
         \Stripe\Stripe::setApiKey($stripe_api_key);
         //sk_test_GsT4d690JZzbFk48w0GhsrIX
         $charge = \Stripe\Charge::create(array("amount" => $pricing_details->total_price * 100, "currency" => strtolower($this->currency), "source" => $data->stripeToken, "description" => $items_str));
         $response = $charge->getLastResponse();
         $response_body = json_decode($response->body);
     } catch (Stripe_InvalidRequestError $e) {
         return false;
     } catch (\Stripe\Error\Card $e) {
         //echo 'test'; die;
         $log_entry_id = RM_DBManager::insert_row('PAYPAL_LOGS', array('submission_id' => $data->submission_id, 'form_id' => $data->form_id, 'txn_id' => '', 'status' => 'Card Declined', 'total_amount' => $pricing_details->total_price, 'currency' => $this->currency, 'posted_date' => $curr_date), array('%d', '%d', '%s', '%s', '%f', '%s', '%s'));
         return false;
     }
     if ($response->code == "200") {
         $log_entry_id = RM_DBManager::insert_row('PAYPAL_LOGS', array('submission_id' => $data->submission_id, 'form_id' => $data->form_id, 'txn_id' => $response_body->balance_transaction, 'status' => $response_body->status, 'total_amount' => $pricing_details->total_price, 'currency' => $this->currency, 'posted_date' => $curr_date), array('%d', '%d', '%s', '%s', '%f', '%s', '%s'));
         return true;
     }
     return false;
 }
 public function display($model, $service, $request, $params)
 {
     $data = new stdClass();
     $submissions = $service->get('SUBMISSIONS', 1, null, 'results', 0, 10, '*', 'submitted_on', true);
     $sub_data = array();
     $count = 0;
     if ($submissions) {
         foreach ($submissions as $submission) {
             //echo "<br>ID: ".$submission->form_id." : ".RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia')." : ";
             $name = $service->get('FORMS', array('form_id' => $submission->form_id), array('%d'), 'var', 0, 10, 'form_name');
             $date = RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia');
             $payment_status = $service->get('PAYPAL_LOGS', array('submission_id' => $submission->submission_id), array('%d'), 'var', 0, 10, 'status');
             $sub_data[] = (object) array('submission_id' => $submission->submission_id, 'name' => $name, 'date' => $date, 'payment_status' => $payment_status);
             $count++;
         }
     }
     $data->submissions = $sub_data;
     $data->total_sub = $count;
     $view = $this->mv_handler->setView("dashboard_widget");
     $view->render($data);
 }
 public function form($model, $service, $request, $params)
 {
     if (isset($request->req['rm_target'])) {
         if ($request->req['rm_target'] == 'fbcb') {
             $service->facebook_login_callback();
         }
     }
     if ($this->mv_handler->validateForm("rm_login_form")) {
         $user = $service->login($request);
         if (is_wp_error($user)) {
             Form::setError('rm_login_form', $user->get_error_message());
         } else {
             $redirect_to = RM_Utilities::after_login_redirect($user);
             RM_Utilities::redirect($redirect_to);
             die;
         }
     }
     $data = new stdClass();
     //$service->facebook_login_callback();
     $data->facebook_html = $service->facebook_login_html();
     $view = $this->mv_handler->setView('login', true);
     return $view->read($data);
 }
 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);
     }
 }
 private function sanitize_password($val)
 {
     return RM_Utilities::enc_str($val);
 }
                                    <?php 
                $field_names[$j] = isset($data->fields[$i]->field_id) ? $data->fields[$i]->field_id : null;
                $j++;
            }
        }
        ?>

                            <th><?php 
        echo RM_UI_Strings::get("ACTION");
        ?>
</th></tr>

                        <?php 
        if (is_array($data->submissions) || is_object($data->submissions)) {
            foreach ($data->submissions as $submission) {
                $submission->data_us = RM_Utilities::strip_slash_array(maybe_unserialize($submission->data));
                ?>
                                <tr>
                                    <td><input class="rm_checkbox_group" type="checkbox" value="<?php 
                echo $submission->submission_id;
                ?>
" name="rm_selected[]"></td>

                                    <?php 
                for ($i = 0; $i < 4; $i++) {
                    $value = null;
                    foreach ($submission->data_us as $key => $sub_data) {
                        if ($key == $field_names[$i]) {
                            $value = $sub_data->value;
                        }
                    }
 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);
 }
 public function widget($model, RM_User_Services $service, $request, $params)
 {
     if ($params['user'] instanceof WP_User) {
         $data = new stdClass();
         $submissions = $service->get_submissions_by_email($params['user']->user_email, 10);
         $sub_data = array();
         $count = 0;
         if ($submissions) {
             foreach ($submissions as $submission) {
                 //echo "<br>ID: ".$submission->form_id." : ".RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia')." : ";
                 $name = $service->get('FORMS', array('form_id' => $submission->form_id), array('%d'), 'var', 0, 10, 'form_name');
                 $date = RM_Utilities::localize_time($submission->submitted_on, 'M dS Y, h:ia');
                 $payment_status = $service->get('PAYPAL_LOGS', array('submission_id' => $submission->submission_id), array('%d'), 'var', 0, 10, 'status');
                 $sub_data[] = (object) array('submission_id' => $submission->submission_id, 'name' => $name, 'date' => $date, 'payment_status' => $payment_status);
                 $count++;
             }
         }
         $data->submissions = $sub_data;
         $data->total_sub = $count;
         $view = $this->mv_handler->setView('user_edit_widget');
         $view->render($data);
     }
 }
 public function set_field_options($options)
 {
     $field_options = maybe_unserialize($options);
     $this->field_options = RM_Utilities::merge_object($field_options, $this->field_options);
 }
 public function create_user_activation_link($user_id)
 {
     if ((int) $user_id) {
         $pass = wp_generate_password(10, false);
         $activation_code = md5($pass);
         if (!update_user_meta($user_id, 'rm_activation_code', $activation_code)) {
             return false;
         }
         $user_data_obj = new stdClass();
         $user_data_obj->user_id = $user_id;
         $user_data_obj->activation_code = $activation_code;
         $user_data_json = json_encode($user_data_obj);
         $user_data_enc = urlencode(RM_Utilities::enc_str($user_data_json));
         $user_activation_link = admin_url('admin-ajax.php') . '?action=rm_activate_user&user=' . $user_data_enc;
         return $user_activation_link;
     }
     return false;
 }
 function access_control($model, $service, $request, $params)
 {
     if (isset($request->req['rm_form_id'])) {
         $model->load_from_db($request->req['rm_form_id']);
         $data = new stdClass();
         $data->model = $model;
         $data->form_id = $request->req['rm_form_id'];
         $data->all_roles = RM_Utilities::user_role_dropdown();
         $view = $this->mv_handler->setView('form_access_control_sett');
     } else {
         $data = RM_UI_Strings::get('MSG_FS_NOT_AUTHORIZED');
         // $view = $this->mv_handler->setView('show_notice');
     }
     $view->render($data);
 }
 public function update_into_db()
 {
     if (!$this->initialized) {
         return false;
     }
     if (!$this->note_id) {
         return false;
     }
     $data = array('submission_id' => $this->submission_id, 'notes' => $this->notes, 'status' => $this->status, 'last_edit_date' => RM_Utilities::get_current_time(), 'last_edited_by' => get_current_user_id(), 'note_options' => maybe_serialize($this->note_options));
     $data_specifiers = array('%d', '%s', '%s', '%s', '%s', '%s');
     $result = RM_DBManager::update_row('NOTES', $this->note_id, $data, $data_specifiers);
     if (!$result) {
         return false;
     }
     return true;
 }
 public function get_data()
 {
     return RM_Utilities::strip_slash_array(maybe_unserialize($this->data));
 }
 public function rm_user_form_render($attribute)
 {
     if (RM_Utilities::fatal_errors()) {
         ob_start();
         include_once RM_ADMIN_DIR . 'views/template_rm_cant_continue.php';
         $html = ob_get_clean();
         return $html;
     }
     $xml_loader = RM_XML_Loader::getInstance(plugin_dir_path(__FILE__) . 'rm_config.xml');
     $request = new RM_Request($xml_loader);
     $request->setReqSlug('rm_user_form_process', true);
     $params = array('request' => $request, 'xml_loader' => $xml_loader, 'form_id' => isset($attribute['id']) ? $attribute['id'] : null);
     $this->controller = new RM_Main_Controller($params);
     return $this->controller->run();
 }
 public function migrate_submissions($offset = 0, $limit = 9999999)
 {
     global $wpdb;
     $qry = "";
     $fields = array();
     $pfields = array();
     $plogs = array();
     $form_field = array();
     $data_mapping = $this->value_map['submissions'];
     $dst_data = array();
     $dst_data_sub = array();
     $users = array();
     $emails = array();
     $dbcolumns = array('sub_field_id', 'submission_id', 'field_id', 'form_id', 'value');
     $dbcolumns_sub = array('submission_id', 'form_id', 'data', 'user_email', 'submitted_on', 'unique_token');
     //$dbcolumns_sub_ph = array('%d', '%d', '%s', '%s', '%s', '%s');
     //$dbcolumns_ph = array('%d', '%d', '%d', '%d', '%s');
     $dbcolumns_sub_ph = "(%d,%d,%s,%s,%s,%s)";
     $dbcolumns_ph = "(%d,%d,%d,%d,%s)";
     $all_sub = array();
     $all_sub_fields = array();
     $table_name_fields = $wpdb->prefix . 'crf_fields';
     $table_name_pfields = $wpdb->prefix . 'crf_fields';
     $table_name_plogs = $wpdb->prefix . 'crf_paypal_log';
     $table_name_src = $wpdb->prefix . 'crf_submissions';
     $table_name_dst = $wpdb->prefix . 'rm_submission_fields';
     $table_name_dst_sub = $wpdb->prefix . 'rm_submissions';
     $table_name_fields_rm = $wpdb->prefix . 'rm_fields';
     $options = new RM_Options();
     $srcdata = $wpdb->get_results("SELECT * FROM {$table_name_src} WHERE 1 LIMIT {$offset}, {$limit}");
     $fieldsdata = $wpdb->get_results("SELECT * FROM {$table_name_fields} WHERE 1");
     $pfieldsdata = $wpdb->get_results("SELECT * FROM {$table_name_pfields} WHERE 1");
     $plogsdata = $wpdb->get_results("SELECT * FROM {$table_name_plogs} WHERE 1");
     if (is_array($fieldsdata)) {
         foreach ($fieldsdata as $f_data) {
             $fields[$f_data->Id] = $f_data;
             if (!isset($form_field[$f_data->Form_Id])) {
                 $form_field[$f_data->Form_Id] = array();
             }
             if (!isset($form_field[$f_data->Form_Id][$f_data->Type])) {
                 $form_field[$f_data->Form_Id][$f_data->Type] = $f_data->Id;
             }
         }
         unset($fieldsdata);
         if (is_array($plogsdata)) {
             foreach ($plogsdata as $p_data) {
                 $log = maybe_unserialize($p_data->log);
                 $plogs[$log['custom']] = $log['mc_currency'];
             }
         }
         unset($plogsdata);
         if (is_array($pfieldsdata)) {
             foreach ($pfieldsdata as $p_data) {
                 $pfields[$p_data->Id] = $p_data;
             }
         }
         unset($pfieldsdata);
         $i = 0;
         if ($srcdata && is_array($srcdata)) {
             foreach ($srcdata as $s) {
                 $dst_data[$i] = array();
                 $is_row_valid = true;
                 if (isset($form_field[$s->form_id]['email'])) {
                     $ef_id = $form_field[$s->form_id]['email'];
                 } else {
                     $ef_id = 0;
                 }
                 if (!isset($dst_data_sub[$s->submission_id])) {
                     $dst_data_sub[$s->submission_id] = array();
                     foreach ($dbcolumns_sub as $index) {
                         $dst_data_sub[$s->submission_id][$index] = null;
                     }
                     $dst_data_sub[$s->submission_id]['submission_id'] = $s->submission_id;
                     $dst_data_sub[$s->submission_id]['form_id'] = $s->form_id;
                     $dst_data_sub[$s->submission_id]['data'] = array();
                 }
                 foreach ($data_mapping as $a => $b) {
                     $value = $s->{$a};
                     if ($a === 'field') {
                         switch ($s->{$a}) {
                             case 'first_name':
                                 if (isset($form_field[$s->form_id]['first_name'])) {
                                     $f_id = $form_field[$s->form_id]['first_name'];
                                     $value = $fields[$f_id]->Id;
                                     $dst_data_sub[$s->submission_id]['data'][$value] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data'][$value]->label = stripslashes($fields[$f_id]->Name);
                                     $dst_data_sub[$s->submission_id]['data'][$value]->value = stripslashes($s->value);
                                 } else {
                                     $dst_data_sub[$s->submission_id]['data']['first_name'] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data']['first_name']->label = 'first_name';
                                     $dst_data_sub[$s->submission_id]['data']['first_name']->value = stripslashes($s->value);
                                 }
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['first_name'] = $s->value;
                                 break;
                             case 'last_name':
                                 if (isset($form_field[$s->form_id]['last_name'])) {
                                     $f_id = $form_field[$s->form_id]['last_name'];
                                     $value = $fields[$f_id]->Id;
                                     $dst_data_sub[$s->submission_id]['data'][$value] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data'][$value]->label = stripslashes($fields[$f_id]->Name);
                                     $dst_data_sub[$s->submission_id]['data'][$value]->value = stripslashes($s->value);
                                 } else {
                                     $dst_data_sub[$s->submission_id]['data']['last_name'] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data']['last_name']->label = 'last_name';
                                     $dst_data_sub[$s->submission_id]['data']['last_name']->value = stripslashes($s->value);
                                 }
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['last_name'] = $s->value;
                                 break;
                             case 'description':
                                 if (isset($form_field[$s->form_id]['description'])) {
                                     $f_id = $form_field[$s->form_id]['description'];
                                     $value = $fields[$f_id]->Id;
                                     $dst_data_sub[$s->submission_id]['data'][$value] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data'][$value]->label = stripslashes($fields[$f_id]->Name);
                                     $dst_data_sub[$s->submission_id]['data'][$value]->value = stripslashes($s->value);
                                 } else {
                                     $dst_data_sub[$s->submission_id]['data']['description'] = new stdClass();
                                     $dst_data_sub[$s->submission_id]['data']['description']->label = 'description';
                                     $dst_data_sub[$s->submission_id]['data']['description']->value = stripslashes($s->value);
                                 }
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['bio'] = $s->value;
                                 break;
                             case 'token':
                                 $dst_data_sub[$s->submission_id]['unique_token'] = $s->value;
                                 $is_row_valid = false;
                                 break;
                             case 'entry_time':
                                 $dst_data_sub[$s->submission_id]['submitted_on'] = RM_Utilities::get_current_time($s->value);
                                 $is_row_valid = false;
                                 break;
                             case 'user_email':
                                 $dst_data_sub[$s->submission_id]['user_email'] = $s->value;
                                 $dst_data_sub[$s->submission_id]['data']['user_email'] = new stdClass();
                                 $dst_data_sub[$s->submission_id]['data']['user_email']->label = 'user_email';
                                 $dst_data_sub[$s->submission_id]['data']['user_email']->value = stripslashes($s->value);
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['user_email'] = $s->value;
                                 break;
                             case 'form_type':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['form_type'] = $s->value;
                                 break;
                             case 'user_approval':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['user_approval'] = $s->value;
                                 break;
                             case 'role':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['role'] = $s->value;
                                 break;
                             case 'payment_status':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['payment_status'] = $s->value;
                                 break;
                             case 'user_name':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['user_name'] = $s->value;
                                 break;
                             case 'user_pass':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['user_pass'] = $s->value;
                                 break;
                             case 'pass_encrypt':
                                 $is_row_valid = false;
                                 if (!isset($users[$s->submission_id])) {
                                     $users[$s->submission_id] = array();
                                 }
                                 $users[$s->submission_id]['pass_encrypt'] = $s->value;
                                 break;
                             default:
                                 $tmp = explode('_', $s->{$a});
                                 $f_id = array_pop($tmp);
                                 if (is_numeric($f_id)) {
                                     $label = implode('_', $tmp);
                                     $value = $f_id;
                                     if (isset($fields[$f_id]) && $fields[$f_id]->Name === $label) {
                                         switch ($fields[$f_id]->Type) {
                                             case 'checkbox':
                                             case 'repeatable_text':
                                                 $s->value = maybe_serialize(explode(',', $s->value));
                                                 break;
                                             case 'DatePicker':
                                                 $x = explode('-', $s->value);
                                                 $s->value = $x[1] . '/' . $x[2] . '/' . $x[0];
                                                 break;
                                             case 'file':
                                                 $x = explode(',', $s->value);
                                                 $x['rm_field_type'] = 'File';
                                                 $s->value = maybe_serialize($x);
                                                 break;
                                             case 'pricing':
                                                 if (isset($plogs[$s->submission_id])) {
                                                     $curr = $plogs[$s->submission_id];
                                                 } else {
                                                     $curr = get_option('crf_currency');
                                                 }
                                                 if (!$curr) {
                                                     $curr = 'USD';
                                                 }
                                                 if ($pfields[$fields[$f_id]->Value]->Type === 'checkbox') {
                                                     $v = array();
                                                     $ab = explode(',', $s->value);
                                                     foreach ($ab as $ba) {
                                                         $ac = explode('_', $ba);
                                                         $pr = array_pop($ac);
                                                         $pr_name = implode('_', $ac);
                                                         $v[] = $pr_name . '(' . $options->get_formatted_amount($pr, $curr) . ')';
                                                     }
                                                     $s->value = maybe_serialize($v);
                                                 } elseif ($pfields[$fields[$f_id]->Value]->Type === 'checkbox') {
                                                     $ac = explode('_', $ba);
                                                     $pr = array_pop($ac);
                                                     $pr_name = implode('_', $ac);
                                                     $s->value = $pr_name . '(' . $options->get_formatted_amount($pr, $curr) . ')';
                                                 } else {
                                                     $s->value = $options->get_formatted_amount($s->value, $curr);
                                                 }
                                                 break;
                                         }
                                         if ($ef_id === $f_id && !isset($emails[$s->submission_id])) {
                                             $emails[$s->submission_id] = new stdClass();
                                             $emails[$s->submission_id]->id = $ef_id;
                                             $emails[$s->submission_id]->value = $s->value;
                                         }
                                         $dst_data_sub[$s->submission_id]['data'][$f_id] = new stdClass();
                                         $dst_data_sub[$s->submission_id]['data'][$f_id]->label = stripslashes($fields[$f_id]->Name);
                                         $dst_data_sub[$s->submission_id]['data'][$f_id]->value = maybe_unserialize($s->value);
                                     } else {
                                         $dst_data_sub[$s->submission_id]['data'][$f_id] = new stdClass();
                                         $dst_data_sub[$s->submission_id]['data'][$f_id]->label = stripslashes($label);
                                         $dst_data_sub[$s->submission_id]['data'][$f_id]->value = maybe_unserialize($s->value);
                                     }
                                 } else {
                                     $is_row_valid = false;
                                 }
                                 break;
                         }
                     }
                     if ($is_row_valid) {
                         if (isset($s->{$a}) && $value !== null) {
                             $dst_data[$i][$b] = $value;
                         } else {
                             $dst_data[$i][$b] = null;
                         }
                     }
                 }
                 if ($is_row_valid) {
                     $i++;
                 } else {
                     $dst_data[$i] = array();
                 }
             }
             if ($dst_data && count($dst_data) !== 0) {
                 $qry .= "INSERT INTO {$table_name_dst} (`" . implode('`,`', $dbcolumns) . "`) values ";
                 $i = 0;
                 foreach ($dst_data as $d) {
                     if (is_array($d) && count($d) !== 0) {
                         foreach ($d as $d_single) {
                             $all_sub_fields[] = $d_single;
                         }
                         if ($i === 0) {
                             $qry .= $dbcolumns_ph;
                         } else {
                             $qry .= ", " . $dbcolumns_ph;
                         }
                         $i++;
                     }
                 }
                 $qry_sub = "INSERT INTO {$table_name_dst_sub} (`" . implode('`,`', $dbcolumns_sub) . "`) values ";
                 $i = 0;
                 foreach ($dst_data_sub as $sub_id => $d_sub) {
                     if (!isset($d_sub['user_email'])) {
                         if (isset($emails[$sub_id])) {
                             $dst_data_sub[$sub_id] = $emails[$sub_id]->value;
                             $this->created[] = $d_sub['form_id'];
                             $wpdb->update($table_name_fields_rm, array('is_field_primary' => 1), array('field_id' => $emails[$sub_id]->id), '%d', '%d');
                         } else {
                             $dst_data_sub[$sub_id] = null;
                         }
                     }
                     if (isset($d_sub['data'])) {
                         $d_sub['data'] = maybe_serialize($d_sub['data']);
                     }
                     if (is_array($d_sub) && count($d_sub) !== 0) {
                         foreach ($d_sub as $d_sub_single) {
                             $all_sub[] = $d_sub_single;
                         }
                         if ($i === 0) {
                             $qry_sub .= $dbcolumns_sub_ph;
                         } else {
                             $qry_sub .= ", " . $dbcolumns_sub_ph;
                         }
                         $i++;
                     }
                 }
             } else {
                 error_log('no_data_sub_fields');
             }
             if (count($users) !== 0) {
                 foreach ($users as $user) {
                     if ($user['form_type'] === 'reg_form' && (isset($user['user_approval']) && $user['user_approval'] != 'yes' || isset($user['payment_status']) && $user['payment_status'] === 'pending') && isset($user['user_email']) && is_email($user['user_email']) && !email_exists($user['user_email']) && isset($user['user_pass']) && isset($user['user_name'])) {
                         $password = null;
                         if (isset($user['pass_encrypt']) && $user['pass_encrypt'] == 1) {
                             $password = $this->crf_encrypt_decrypt_pass('decrypt', $user['user_pass']);
                             $password = $this->enc_str($password);
                         } else {
                             $password = $user['user_pass'];
                         }
                         $user_id = wp_create_user($user['user_name'], $password, $user['user_email']);
                         update_user_meta($user_id, 'rm_user_status', 1);
                         if (isset($user['first_name']) && $user['first_name']) {
                             update_user_meta($user_id, 'first_name', 1);
                         }
                         if (isset($user['last_name']) && $user['last_name']) {
                             update_user_meta($user_id, 'last_name', 1);
                         }
                         if (isset($user['bio']) && $user['bio']) {
                             update_user_meta($user_id, 'description', 1);
                         }
                     }
                 }
             }
             //$qry = esc_sql($qry);
             //error_log("Query: ".$qry);
             $result = $wpdb->query($wpdb->prepare($qry, $all_sub_fields));
             if (!$result) {
                 error_log('submission_fields_not_migrated');
             }
             $result_sub = $wpdb->query($wpdb->prepare($qry_sub, $all_sub));
             if (!$result_sub) {
                 error_log('submissions_not_migrated');
             }
             return;
         }
     }
     return false;
 }
 public static function update_last_activity()
 {
     global $wpdb;
     $table_name = RM_Table_Tech::get_table_name_for('FRONT_USERS');
     return $wpdb->query("UPDATE {$table_name} set `last_activity_time`= '" . RM_Utilities::get_current_time() . "'");
 }
 public function charge($data, $pricing_details)
 {
     $form_id = $data->form_id;
     $this_script = get_permalink();
     if (false == $this_script) {
         $this_script = admin_url('admin-ajax.php?action=registrationmagic_embedform&form_id=' . $data->form_id);
     }
     $sign = strpos($this_script, '?') ? '&' : '?';
     $i = 1;
     foreach ($pricing_details->billing as $item) {
         $this->paypal->add_field('item_name_' . $i, $item->label);
         $i++;
     }
     $i = 1;
     $total_amount = 0.0;
     foreach ($pricing_details->billing as $item) {
         $this->paypal->add_field('amount_' . $i, $item->price);
         $total_amount += floatval($item->price);
         $i++;
     }
     $invoice = (string) date("His") . rand(1234, 9632);
     $this->paypal->add_field('business', $this->paypal_email);
     // Call the facilitator eaccount
     $this->paypal->add_field('cmd', '_cart');
     // cmd should be _cart for cart checkout
     $this->paypal->add_field('upload', '1');
     $this->paypal->add_field('return', $this_script . $sign . 'rm_pproc=success&rm_pproc_id=0');
     // return URL after the transaction got over
     $this->paypal->add_field('cancel_return', $this_script . $sign . 'rm_pproc=cancel&rm_pproc_id=0');
     // cancel URL if the trasaction was cancelled during half of the transaction
     $this->paypal->add_field('notify_url', $this_script . $sign . 'rm_pproc=ipn&rm_pproc_id=0');
     // Notify URL which received IPN (Instant Payment Notification)
     $this->paypal->add_field('currency_code', $this->currency);
     $this->paypal->add_field('invoice', $invoice);
     $this->paypal->add_field('page_style', $this->paypal_page_style);
     //Insert into PayPal log table
     $curr_date = RM_Utilities::get_current_time();
     //date_i18n(get_option('date_format'));
     if ($total_amount <= 0.0) {
         $log_entry_id = RM_DBManager::insert_row('PAYPAL_LOGS', array('submission_id' => $data->submission_id, 'form_id' => $form_id, 'invoice' => $invoice, 'status' => 'Completed', 'total_amount' => $total_amount, 'currency' => $this->currency, 'posted_date' => $curr_date), array('%d', '%d', '%s', '%s', '%f', '%s', '%s'));
         return true;
     } else {
         $log_entry_id = RM_DBManager::insert_row('PAYPAL_LOGS', array('submission_id' => $data->submission_id, 'form_id' => $form_id, 'invoice' => $invoice, 'status' => 'Pending', 'total_amount' => $total_amount, 'currency' => $this->currency, 'posted_date' => $curr_date), array('%d', '%d', '%s', '%s', '%f', '%s', '%s'));
     }
     if (isset($data->user_id)) {
         $cstm_data = $log_entry_id . "|" . $data->user_id;
     } else {
         $cstm_data = $log_entry_id . "|0";
     }
     $this->paypal->add_field('custom', $cstm_data);
     $this->paypal->add_field('return', $this_script . $sign . 'rm_pproc=success&rm_pproc_id=' . $log_entry_id);
     // return URL after the transaction got over
     $this->paypal->add_field('cancel_return', $this_script . $sign . 'rm_pproc=cancel&rm_pproc_id=' . $log_entry_id);
     // cancel URL if the trasaction was cancelled during half of the transaction
     $this->paypal->add_field('notify_url', $this_script . $sign . 'rm_pproc=ipn&rm_pproc_id=' . $log_entry_id);
     // Notify URL which received IPN (Instant Payment Notification)
     $this->paypal->submit_paypal_post();
     // POST it to paypal
     return 'do_not_redirect';
     //We do not want form redirect to work in case paypal processing is going on.
 }
 public function update_into_db()
 {
     if (!$this->initialized) {
         return false;
     }
     if (!$this->id) {
         return false;
     }
     $data = array('email' => $this->email, 'otp_code' => $this->otp_code, 'last_activity_time' => RM_Utilities::get_current_time());
     $data_specifiers = array('%s', '%s', '%s');
     $result = RM_DBManager::update_row('FRONT_USERS', $this->field_id, $data, $data_specifiers);
     if (!$result) {
         return false;
     }
     return true;
 }
     }
     require_once __DIR__ . '/template_rm_register.php';
 }
 foreach ($data->fields_data as $field_data) {
     if ($field_data->field_type !== 'Password' || !$data->is_auto_generate) {
         $element_class = "Element_" . $field_data->field_type;
         $label = $field_data->field_label;
         if ($field_data->field_type == 'Price') {
             $name = $field_data->field_type . "_" . $field_data->field_id . "_" . $field_data->field_value;
         } else {
             $name = $field_data->field_type . "_" . $field_data->field_id;
         }
         if (isset($field_data->field_value)) {
             if ($field_data->field_type == 'Select') {
                 $options = array();
                 $tmp_options = RM_Utilities::trim_array(explode(',', $field_data->field_value));
                 foreach ($tmp_options as $val) {
                     $options[$val] = $val;
                 }
             } elseif ($field_data->field_type == 'Radio' || $field_data->field_type == 'Checkbox' || $field_data->field_type == 'Terms') {
                 $options = maybe_unserialize($field_data->field_value);
             } else {
                 $options = $field_data->field_value;
             }
         } else {
             $options = null;
         }
         if (isset($field_data->field_options)) {
             $field_data->field_options = maybe_unserialize($field_data->field_options);
         }
         //var_dump($data->form->form_options);die;
    }
}
$layout_radio_button_html_string = '<div class="rmrow"><div class="rmfield" for="layout_radio"><label>' . RM_UI_Strings::get('LABEL_LAYOUT') . '</label></div><div class="rminput"><ul class="rmradio">' . '<li><div id="layout_left_container"><div class="rmlayoutimage"><img src="' . $image_dir . '/label-left.png" /></div><input id="layout_radio-1" type="radio" name="form_layout" value="label_left" ' . $layout_checked_state['label_left'] . '>' . RM_UI_Strings::get('LABEL_LAYOUT_LABEL_LEFT') . '</div></li><li><div id="layout_top_container"><div class="rmlayoutimage"><img src="' . $image_dir . '/label-top.png" /></div><input id="layout_radio-2" type="radio" name="form_layout" value="label_top" ' . $layout_checked_state['label_top'] . '>' . RM_UI_Strings::get('LABEL_LAYOUT_LABEL_TOP') . '</div></li><li><div id="layout_two_columns_container"' . $two_col_class . '><div class="rmlayoutimage"><img src="' . $image_dir . '/two-column.png" /></div><input id="layout_radio-3" type="radio" name="form_layout" value="two_columns" ' . $layout_checked_state['two_columns'] . '>' . RM_UI_Strings::get('LABEL_LAYOUT_TWO_COLUMNS') . '</div></li></ul></div><div class="rmnote">' . RM_UI_Strings::get('HELP_OPTIONS_GEN_LAYOUT') . '</div></div>';
//echo $layout_radio_button_html_string;
?>


<div class="rmagic">

    <!--Dialogue Box Starts-->
    <div class="rmcontent">


        <?php 
$pages = get_pages();
$wp_pages = RM_Utilities::wp_pages_dropdown();
$form = new Form("options_general");
$form->configure(array("prevent" => array("bootstrap", "jQuery"), "action" => ""));
$form->addElement(new Element_HTML('<div class="rmheader">' . RM_UI_Strings::get('GLOBAL_SETTINGS_GENERAL') . '</div>'));
$form->addElement(new Element_Select(RM_UI_Strings::get('LABEL_FORM_STYLE'), "theme", array("classic" => "Classic", "matchmytheme" => "Match my theme"), array("value" => $data['theme'], "id" => "theme_dropdown", "onchange" => "rm_toggle_visiblity_layouts(this)", "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_THEME'))));
$form->addElement(new Element_HTML($layout_radio_button_html_string));
//Disabled for now, IP capture is needed to limit submissions from a given IP address. Unnecessary setting.
//$form->addElement(new Element_Checkbox(RM_UI_Strings::get('LABEL_CAPTURE_INFO'), "user_ip", array("yes" => ''), $data['user_ip'] == 'yes' ? array("value" => "yes") : array()));
$form->addElement(new Element_Textarea(RM_UI_Strings::get('LABEL_ALLOWED_FILE_TYPES'), "buy_pro", array("value" => $data['allowed_file_types'], 'disabled' => 1, "longDesc" => RM_UI_Strings::get('ALLOWED_FILE_TYPES_HELP'), "validation" => new Validation_RegExp("/[a-zA-Z0-9| ]*/", RM_UI_Strings::get('MSG_INVALID_CHAR')), "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_FILETYPES') . '<br><br>' . RM_UI_Strings::get('MSG_BUY_PRO_INLINE'))));
$form->addElement(new Element_Checkbox(RM_UI_Strings::get('LABEL_ALLOWED_MULTI_FILES'), "buy_pro_2", array("yes" => ''), array("value" => "no", 'disabled' => 1, "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_FILE_MULTIPLE') . "<br><br>" . RM_UI_Strings::get('MSG_BUY_PRO_INLINE'))));
$form->addElement(new Element_Checkbox(RM_UI_Strings::get('LABEL_SHOW_PROG_BAR'), "display_progress_bar", array("yes" => ''), $data['display_progress_bar'] == 'yes' ? array("value" => "yes", "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_PROGRESS_BAR')) : array("longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_PROGRESS_BAR'))));
$selected = $data['default_registration_url'] !== null ? $data['default_registration_url'] : 0;
$form->addElement(new Element_Select(RM_UI_Strings::get('LABEL_DEFAULT_REGISTER_URL'), "default_registration_url", $wp_pages, array("value" => $selected, "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_GEN_REG_URL'))));
$selected = $data['post_submission_redirection_url'] !== null ? $data['post_submission_redirection_url'] : 0;
$form->addElement(new Element_Select(RM_UI_Strings::get('LABEL_AFTER_LOGIN_URL'), "post_submission_redirection_url", $wp_pages, array("value" => $selected, "longDesc" => RM_UI_Strings::get('HELP_OPTIONS_POST_SUB_REDIR'))));
$form->addElement(new Element_Checkbox(RM_UI_Strings::get('LABEL_SHOW_FLOATING_ICON'), "display_floating_action_btn", array("yes" => ''), $data['display_floating_action_btn'] == 'yes' ? array("value" => "yes", "longDesc" => RM_UI_Strings::get('HELP_SHOW_FLOATING_ICON')) : array("longDesc" => RM_UI_Strings::get('HELP_SHOW_FLOATING_ICON'))));