public function manage($model, $service, $request, $params) { if (!isset($request->req['form_name'])) { Form::clearErrors('rm_form_quick_add'); } $sort_by = isset($request->req['rm_sortby']) ? $request->req['rm_sortby'] : null; $descending = isset($request->req['rm_descending']) ? false : true; $req_page = isset($request->req['rm_reqpage']) && $request->req['rm_reqpage'] > 0 ? $request->req['rm_reqpage'] : 1; $items_per_page = 9; $forms = $service->get_all(null, ($req_page - 1) * $items_per_page, $items_per_page, '*', $sort_by, $descending); $i = 0; $data = array(); if (is_array($forms) || is_object($forms)) { foreach ($forms as $form) { $data[$i] = new stdClass(); $data[$i]->form_id = $form->form_id; $data[$i]->form_name = $form->form_name; $data[$i]->count = $service->count(RM_Submissions::get_identifier(), array('form_id' => $form->form_id)); if ($data[$i]->count > 0) { $data[$i]->submissions = $service->get(RM_Submissions::get_identifier(), array('form_id' => $form->form_id), array('%d'), 'results', 0, 3, '*', 'submitted_on', true); $j = 0; foreach ($data[$i]->submissions as $submission) { $data[$i]->submissions[$j++]->gravatar = get_avatar($submission->user_email); } } $data[$i]->field_count = $service->count(RM_Fields::get_identifier(), array('form_id' => $form->form_id)); $data[$i]->last_sub = $service->get(RM_Submissions::get_identifier(), array('form_id' => $form->form_id), array('%d'), 'var', 0, 1, 'submitted_on', 'submitted_on', true); //$data[$i]->last_sub = date('H',strtotime($this->service->get(RM_Submissions::get_identifier(), array('form_id' => $data_single->form_id), array('%d'), 'var', 0, 1, 'submitted_on', 'submitted_on', true))); $data[$i]->expiry_details = $service->get_form_expiry_stats($form, false); $i++; } } $total_forms = $service->count($model->get_identifier(), 1); //New object to consolidate data for view. $view_data = new stdClass(); $view_data->data = $data; $view_data->curr_page = $req_page; $view_data->total_pages = (int) ($total_forms / $items_per_page) + ($total_forms % $items_per_page == 0 ? 0 : 1); $view_data->rm_slug = $request->req['page']; $view_data->sort_by = $sort_by; $view_data->descending = $descending; $view_data->done_with_review_banner = $service->get_setting('done_with_review_banner') === 'no' ? false : true; $view_data->def_form_id = $service->get_setting('default_form_id'); if (function_exists('is_multisite') && is_multisite()) { $nl_subscribed = get_site_option('rm_option_newsletter_subbed', false); } else { $nl_subscribed = get_site_option('rm_option_newsletter_subbed', false); } if (!$nl_subscribed) { $view_data->newsletter_sub_link = RM_UI_Strings::get('NEWSLETTER_SUB_MSG'); } else { $view_data->newsletter_sub_link = null; } $view = $this->mv_handler->setView('form_manager'); $view->render($view_data); }
public function get_fields($form_id) { $where = array("form_id" => $form_id); $data_specifier = array("%s", "%d"); $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); $fields = array(); foreach ($email_fields as $field) { if ($field->field_type != 'Price' && $field->field_type != 'HTMLH' && $field->field_type != 'File' && $field->field_type != 'HTMLP' && $field->field_type != 'Terms') { $fields[] = $field; } } return $fields; }
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); } }