/** * Get Caldera Forms * * Includes backwards compat for pre-Caldera Forms 1.3.4 * * @since 2.0.5 * * @return array|void */ function cf_custom_fields_get_forms() { if (class_exists('Caldera_Forms_Forms')) { $forms = Caldera_Forms_Forms::get_forms(true); } else { $forms = Caldera_Forms::get_forms(); } return $forms; }
/** * Widget UI form * * @since unknown * * @param array $instance */ function form($instance) { $instance = wp_parse_args((array) $instance, array('title' => '')); $title = strip_tags($instance['title']); do_action('caldera_forms_widget_form_start', $instance); echo "<p><label for=\" " . $this->get_field_id('title') . "\">" . __('Title', 'caldera-forms') . ": <input class=\"widefat\" id=\"" . $this->get_field_id('title') . "\" name=\"" . $this->get_field_name('title') . "\" type=\"text\" value=\"" . esc_attr($title) . "\" /></label></p>\r\n"; // get forms $forms = Caldera_Forms_Forms::get_forms(true); echo "<p><label for=\" " . $this->get_field_id('title') . "\">" . __('Form', 'caldera-forms') . ": </label><select style=\"width:100%;\" name=\"" . $this->get_field_name('form') . "\">\r\n"; echo "<option value=\"\"></option>\r\n"; if (!empty($forms)) { foreach ($forms as $formid => $form) { $sel = ""; if (!empty($instance['form'])) { if ($instance['form'] == $formid) { $sel = ' selected="selected"'; } } echo "<option value=\"" . $formid . "\"" . $sel . ">" . $form['name'] . "</option>\r\n"; } } echo "</select></p>\r\n"; do_action('caldera_forms_widget_form_end', $instance, $this); }
<div class="caldera-backdrop caldera-forms-insert-modal" style="display: none;"></div> <form id="calderaf_forms_shortcode_modal" class="caldera-modal-wrap caldera-forms-insert-modal" style="display: none; width: 700px; max-height: 500px; margin-left: -350px;"> <div class="caldera-modal-title" id="calderaf_forms_shortcode_modalTitle" style="display: block;"> <a href="#close" class="caldera-modal-closer" data-dismiss="modal" aria-hidden="true" id="calderaf_forms_shortcode_modalCloser">×</a> <h3 class="modal-label" id="calderaf_forms_shortcode_modalLable"><?php echo __('Insert Caldera Form', 'caldera-forms'); ?> </h3> </div> <div class="caldera-modal-body none" id="calderaf_forms_shortcode_modalBody" style="width: 70%;"> <div class="modal-body modal-forms-list"> <?php $forms = Caldera_Forms_Forms::get_forms(true); if (!empty($forms)) { foreach ($forms as $form_id => $form) { echo '<div class="modal-list-item"><label><input name="insert_form_id" autocomplete="off" class="selected-form-shortcode" value="' . $form_id . '" type="radio">' . $form['name']; if (!empty($form['description'])) { echo '<p style="margin-left: 20px;" class="description"> ' . $form['description'] . ' </p>'; } echo ' </label></div>'; } } else { echo '<p>' . __('You don\'t have any forms to insert.', 'caldera-forms') . '</p>'; } ?> </div> </div> <div class="caldera-modal-body none" id="calderaf_forms_shortcode_modalBody_options" style="left: 70%;"> <div class="modal-body modal-shortcode-options"> <h4><?php esc_html_e('Options', 'caldera-forms');
/** * Load all forms * * @param bool $internal Optional. If false, the default, all forms are returned. If true, only those saved in DB are returned. * * @return mixed|void */ public static function get_forms($internal = false) { return Caldera_Forms_Forms::get_forms(true, $internal); }
/** * Registers the admin page * */ public function register_admin_page() { global $menu, $submenu; $forms = Caldera_Forms_Forms::get_forms(true); // get current user if (current_user_can(Caldera_Forms::get_manage_cap())) { $this->screen_prefix[] = add_menu_page(__('Caldera Forms', 'caldera-forms'), __('Caldera Forms', 'caldera-forms'), Caldera_Forms::get_manage_cap(), $this->plugin_slug, array($this, 'render_admin'), 'dashicons-cf-logo', 52.81321); add_submenu_page($this->plugin_slug, __('Caldera Forms Admin', 'caldera-forms'), __('Forms', 'caldera-forms'), Caldera_Forms::get_manage_cap(), $this->plugin_slug, array($this, 'render_admin')); if (!empty($forms)) { foreach ($forms as $form_id => $form) { if (!empty($form['pinned'])) { $this->screen_prefix[] = add_submenu_page($this->plugin_slug, __('Caldera Forms', 'caldera-forms') . ' - ' . $form['name'], '- ' . $form['name'], Caldera_Forms::get_manage_cap(), $this->plugin_slug . '-pin-' . $form_id, array($this, 'render_admin')); } } } $this->screen_prefix[] = add_submenu_page($this->plugin_slug, __('Caldera Forms', 'caldera-forms') . ' - ' . __('Community', 'caldera-forms'), __('Community', 'caldera-forms'), Caldera_Forms::get_manage_cap(), $this->plugin_slug . '-community', array($this, 'render_admin')); $this->screen_prefix[] = add_submenu_page($this->plugin_slug, __('Caldera Forms', 'caldera-forms') . ' - ' . __('Extend', 'caldera-forms'), __('Extend', 'caldera-forms'), Caldera_Forms::get_manage_cap(), $this->plugin_slug . '-exend', array($this, 'render_admin')); } else { // not an admin - pin for user if (!empty($forms)) { $user = wp_get_current_user(); if (empty($user->roles)) { // no role - bye bye. return; } foreach ($forms as $form_id => $form) { $capability = null; if (!empty($form['pinned']) && !empty($form['pin_roles'])) { if (!empty($form['pin_roles']['all_roles'])) { $user = wp_get_current_user(); if (empty($user) || empty($user->roles)) { continue; } $capabilities = array_keys($user->allcaps); if (empty($capabilities)) { continue; } $capability = $capabilities[0]; } elseif (!empty($form['pin_roles']['access_role'])) { foreach ($form['pin_roles']['access_role'] as $role => $enabled) { if (in_array($role, $user->roles)) { $role_details = get_role($role); if (empty($role_details->capabilities)) { continue; } $capabilities = array_keys($role_details->capabilities); $capability = $capabilities[0]; break; } } } if (empty($capability)) { // not this one. continue; } if (empty($this->screen_prefix)) { // make top menu $main_slug = $this->plugin_slug . '-pin-' . $form_id; $this->screen_prefix[] = add_menu_page(__('Caldera Forms', 'caldera-forms'), __('Caldera Forms', 'caldera-forms'), $capability, $main_slug, array($this, 'render_admin'), 'dashicons-cf-logo', 52.999); } $this->screen_prefix[] = add_submenu_page($main_slug, __('Caldera Forms', 'caldera-forms') . ' - ' . $form['name'], $form['name'], $capability, $this->plugin_slug . '-pin-' . $form_id, array($this, 'render_admin')); } } } } }