public function add($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')); } if ($this->mv_handler->validateForm("add-field")) { $model->set($request->req); 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 . '&rm_form_id=' . $request->req["rm_form_id"])); //$this->view->render(); } else { // Edit for request if (isset($request->req['rm_field_id'])) { $model->load_from_db($request->req['rm_field_id']); } $data = new stdClass(); $data->model = $model; $data->selected_field = isset($request->req['rm_field_type']) ? $request->req['rm_field_type'] : null; $data->form_id = $request->req['rm_form_id']; $data->paypal_fields = RM_Utilities::get_paypal_field_types($service); $view = $this->mv_handler->setView("field_add"); $view->render($data); } }
public function add($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')); } if (isset($request->req['rm_form_page_no'])) { $form_page_no = $request->req['rm_form_page_no']; } else { $form_page_no = 1; } if ($this->mv_handler->validateForm("add-field")) { $request->req['page_no'] = $form_page_no; $new_field_order = intval($service->get_fields_highest_order($request->req['rm_form_id'], $form_page_no)) + 1; $request->req['field_order'] = $new_field_order; //Setup icon props $f_icon = new stdClass(); $f_icon->codepoint = $request->req['input_selected_icon_codepoint']; $f_icon->fg_color = $request->req['icon_fg_color']; $f_icon->bg_color = $request->req['icon_bg_color']; $f_icon->shape = $request->req['icon_shape']; $request->req['icon'] = $f_icon; ///////////////////// $model->set($request->req); 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 . '&rm_form_id=' . $request->req["rm_form_id"] . '&rm_form_page_no=' . $form_page_no)); //$this->view->render(); } else { // Edit for request if (isset($request->req['rm_field_id'])) { $model->load_from_db($request->req['rm_field_id']); } $data = new stdClass(); $data->model = $model; $data->selected_field = isset($request->req['rm_field_type']) ? $request->req['rm_field_type'] : null; $data->form_id = $request->req['rm_form_id']; $data->paypal_fields = RM_Utilities::get_paypal_field_types($service); $view = $this->mv_handler->setView("field_add"); $view->render($data); } }
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 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 view($model, RM_User_Services $service, $request, $params) { if (isset($request->req['user_id'])) { $curr_user = wp_get_current_user(); if (isset($curr_user->ID)) { $curr_user_id = $curr_user->ID; } else { $curr_user_id = null; } $user = $service->get_user_by('id', $request->req['user_id']); if (!$user instanceof WP_User) { $view = $this->mv_handler->setView('show_notice'); $data = RM_UI_Strings::get('MSG_DO_NOT_HAVE_ACCESS'); $view->render($data); return; } $view_data = new stdClass(); $view_data->user = $user; $view_data->user_meta = get_user_meta($request->req['user_id']); $view_data->custom_fields = $service->get_custom_fields($user->user_email); $view_data->curr_user = $curr_user_id; $view_data->submissions = array(); $view_data->payments = array(); $submissions = $service->get_submissions_by_email($user->user_email, 10); if ($submissions) { $i = 0; foreach ($submissions as $submission) { $form_name = $service->get('FORMS', array('form_id' => $submission->form_id), array('%d'), 'var', 0, 1, 'form_name'); $view_data->submissions[$i] = new stdClass(); $view_data->submissions[$i]->submission_id = $submission->submission_id; $view_data->submissions[$i]->submitted_on = $submission->submitted_on; $view_data->submissions[$i]->form_id = $submission->form_id; $view_data->submissions[$i++]->form_name = $form_name; $result = $service->get('PAYPAL_LOGS', array('submission_id' => $submission->submission_id), array('%d'), 'row', 0, 10, '*', null, true); if ($result) { $view_data->payments[] = array('form_name' => $form_name, 'submission_id' => $submission->submission_id, 'form_id' => $submission->form_id, 'payment' => $result); } } } $view = $this->mv_handler->setView('user_view'); $view->render($view_data); } else { RM_Utilities::redirect('?page=rm_user_manage'); } }
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); }
function mailchimp($model, $service, $request, $params) { if ($this->mv_handler->validateForm("form_sett_mailchimp")) { $options = array(); $options['mailchimp_list'] = $request->req['mailchimp_list']; $options['mailchimp_mapped_email'] = isset($request->req['email']) ? $request->req['email'] : null; $options['mailchimp_relations'] = $service->get_mailchimp_mapping($request->req); $options['form_is_opt_in_checkbox'] = isset($request->req['form_is_opt_in_checkbox']) ? $request->req['form_is_opt_in_checkbox'] : null; $options['form_opt_in_text'] = $request->req['form_opt_in_text']; if (isset($request->req['rm_form_id']) && (int) $request->req['rm_form_id']) { $model->load_from_db($request->req['rm_form_id']); $model->set($options); $model->update_into_db(); RM_Utilities::redirect('?page=rm_form_sett_manage&rm_form_id=' . $request->req['rm_form_id']); return; } else { echo '<div class="rmnotice">' . RM_UI_Strings::get('MSG_FS_NOT_AUTHORIZED') . '</div>'; return; } } if (isset($request->req['rm_form_id']) && (int) $request->req['rm_form_id']) { $data = new stdClass(); $data->form_id = $request->req['rm_form_id']; $model->load_from_db($request->req['rm_form_id']); $data->mc_form_list = $model->form_options->mailchimp_list; if ($data->mc_form_list) { $data->mc_fields = $service->mc_field_mapping($data->form_id, $model->form_options); } else { $data->mc_fields = null; } $data->model = $model; $mclist = $service->get_list(); $data->mailchimp_list[''] = RM_UI_Strings::get('SELECT_LIST'); if ($mclist && isset($mclist['lists'])) { foreach ($mclist['lists'] as $mcl) { $data->mailchimp_list[$mcl['id']] = $mcl['name']; } } $view = $this->mv_handler->setView('form_mc_sett'); } else { $data = RM_UI_Strings::get('MSG_FS_NOT_AUTHORIZED'); $view = $this->mv_handler->setView('show_notice'); } $view->render($data); }
public function remove($model, RM_Services $service, $request, $params) { $selected = isset($request->req['rm_selected']) ? $request->req['rm_selected'] : null; if ($selected != null) { $service->remove_submissions($selected); $service->remove_submission_notes($selected); $service->remove_submission_payment_logs($selected); } RM_Utilities::redirect('?page=rm_submission_manage'); }
public function payment($model, RM_Setting_Service $service, $request, $params) { if ($this->mv_handler->validateForm("options_payment")) { $options = array(); $options['payment_gateway'] = $request->req['payment_gateway']; $options['paypal_test_mode'] = isset($request->req['paypal_test_mode']) ? "yes" : null; $options['paypal_email'] = $request->req['paypal_email']; $options['currency'] = $request->req['currency']; $options['currency_symbol_position'] = $request->req['currency_symbol_position']; $options['paypal_page_style'] = $request->req['paypal_page_style']; $service->set_model($model); $service->save_options($options); RM_Utilities::redirect(admin_url('/admin.php?page=' . $params['xml_loader']->request_tree->success)); } else { $view = $this->mv_handler->setView('options_payment'); $service->set_model($model); $data = $service->get_options(); $view->render($data); } }
public function add($model, $service, $request, $params) { $valid = $is_checked = false; if ($this->mv_handler->validateForm("rm_form_add")) { $model->set($request->req); $valid = $model->validate_model(); $is_checked = true; } if ($valid) { if (isset($request->req['form_id'])) { $valid = $service->update($request->req['form_id']); } else { $service->add_user_form(); } RM_Utilities::redirect(admin_url('/admin.php?page=' . $params['xml_loader']->request_tree->success)); } else { $data = new stdClass(); /* * Loading all fields related this form */ $data->all_fields = array("_0" => RM_UI_Strings::get('SELECT_DEFAULT_OPTION')); $data->email_fields = array("_0" => RM_UI_Strings::get('SELECT_DEFAULT_OPTION')); // Edit for request if (isset($request->req['rm_form_id'])) { if (!$is_checked) { $model->load_from_db($request->req['rm_form_id']); } $all_field_objects = $service->get_all_form_fields($request->req['rm_form_id']); if (is_array($all_field_objects) || is_object($all_field_objects)) { foreach ($all_field_objects as $obj) { $data->all_fields[$obj->field_type . '_' . $obj->field_id] = $obj->field_label; } } $data_specifier = array("%s", "%d"); $where = array("field_type" => "Email", "form_id" => $request->req['rm_form_id']); $email_fields = RM_DBManager::get(RM_Fields::get_identifier(), $where, $data_specifier, $result_type = 'results', $offset = 0, $limit = 1000, $column = '*', $sort_by = null, $descending = false); if (is_array($email_fields) || is_object($email_fields)) { foreach ($email_fields as $field) { $data->email_fields[$field->field_type . '_' . $field->field_id] = $field->field_label; } } } $data->model = $model; //By default make it registration type if (!isset($request->req['rm_form_id'])) { $data->model->set_form_type(1); } $user_roles_dd = RM_Utilities::user_role_dropdown(true); $data->roles = array('subscriber' => $user_roles_dd['subscriber']); $data->wp_pages = RM_Utilities::wp_pages_dropdown(); if ($service->get_setting('enable_mailchimp') == 'yes') { $data->mailchimp_list = $service->get_mailchimp_list(); } else { $data->mailchimp_list = array(); } //echo "<pre>",var_dump($data->model);//die; $view = $this->mv_handler->setView("form_add"); $view->render($data); } }
public function reset_pass_page($model, RM_Front_Service $service, $request) { if (is_user_logged_in()) { if ($this->mv_handler->validateForm("rm_reset_pass_form")) { if ($service->should_reset_password($request->req)) { wp_set_password($request->req['new_pass'], get_current_user_id()); RM_Utilities::redirect(wp_login_url(get_permalink()) . '&is_reset=1', false, 0, 1000); return RM_UI_Strings::get('PASS_RESET_SUCCESSFUL'); } } $view = $this->mv_handler->setView('reset_password', true); return $view->read(); } }
public function after_submission_proc($params) { echo $params['form']->form_options->form_success_message != "" ? $params['form']->form_options->form_success_message : $params['form']->form_name . " Submitted "; if (isset($params['form']->form_redirect) && $params['form']->form_redirect != "none" && $params['form']->form_redirect != "") { echo "<br>", RM_UI_Strings::get("MSG_REDIRECTING_TO") . "<br>"; //echo "<br>", var_dump(),die; if ($params['form']->form_redirect == "page") { $page_id = $params['form']->get_form_redirect_to_page(); $page_title = get_post($page_id)->post_title ?: '#' . $page_id . ' (No title)'; echo $page_title; RM_Utilities::redirect(null, true, $page_id, true); } else { $url = $params['form']->get_form_redirect_to_url(); RM_Utilities::redirect($url, false, 0, true); } } }
public function log_off($model, RM_Front_Service $service, $request, $params) { $user_email = $service->get_user_email(); if (null != $user_email) { $service->log_front_user_off($user_email); RM_Utilities::redirect(get_permalink(get_option('rm_option_front_sub_page_id'))); } }
public function after_submission_proc($params, $prevent_redirection = false) { $form_options = $params->form_options; $msg_str = $form_options->form_success_message != "" ? $form_options->form_success_message : $params->form_name . " Submitted "; if (!$prevent_redirection) { if ($form_options->redirection_type) { $redir_str = "<br>" . RM_UI_Strings::get("MSG_REDIRECTING_TO") . "<br>"; //echo "<br>", var_dump(),die; if ($form_options->redirection_type === "page") { $page_id = $form_options->redirect_page; $page_title = get_post($page_id)->post_title ?: '#' . $page_id . ' (No title)'; $redir_str .= $page_title; RM_Utilities::redirect(null, true, $page_id, true); } else { $url = $form_options->redirect_url; $redir_str .= $url; RM_Utilities::redirect($url, false, 0, true); } return $msg_str . '<br><br>' . $redir_str; } } return $msg_str; }