public function create_default_fields($identifiers = array()) { $default_fields = array('title' => array('label' => __('Business Name', 'WPBDM'), 'field_type' => 'textfield', 'association' => 'title', 'weight' => 9, 'validators' => array('required'), 'display_flags' => array('excerpt', 'listing', 'search')), 'category' => array('label' => __('Business Genre', 'WPBDM'), 'field_type' => 'select', 'association' => 'category', 'weight' => 8, 'validators' => array('required'), 'display_flags' => array('excerpt', 'listing', 'search')), 'excerpt' => array('label' => __('Short Business Description', 'WPBDM'), 'field_type' => 'textarea', 'association' => 'excerpt', 'weight' => 7, 'display_flags' => array('excerpt', 'listing', 'search')), 'content' => array('label' => __("Long Business Description", "WPBDM"), 'field_type' => 'textarea', 'association' => 'content', 'weight' => 6, 'validators' => array('required'), 'display_flags' => array('excerpt', 'listing', 'search')), 'meta0' => array('label' => __("Business Website Address", "WPBDM"), 'field_type' => 'url', 'association' => 'meta', 'weight' => 5, 'validators' => array('url'), 'display_flags' => array('excerpt', 'listing', 'search')), 'meta1' => array('label' => __("Business Phone Number", "WPBDM"), 'field_type' => 'textfield', 'association' => 'meta', 'weight' => 4, 'display_flags' => array('excerpt', 'listing', 'search')), 'meta2' => array('label' => __("Business Fax", "WPBDM"), 'field_type' => 'textfield', 'association' => 'meta', 'weight' => 3, 'display_flags' => array('excerpt', 'listing', 'search')), 'meta3' => array('label' => __("Business Contact Email", "WPBDM"), 'field_type' => 'textfield', 'association' => 'meta', 'weight' => 2, 'validators' => array('email', 'required'), 'display_flags' => array('excerpt', 'listing')), 'meta4' => array('label' => __("Business Tags", "WPBDM"), 'field_type' => 'textfield', 'association' => 'tags', 'weight' => 1, 'display_flags' => array('excerpt', 'listing', 'search'))); $fields_to_create = $identifiers ? array_intersect_key($default_fields, array_flip($identifiers)) : $default_fields; foreach ($fields_to_create as &$f) { $field = new WPBDP_FormField($f); $field->save(); } }
private function processFieldForm() { $api = WPBDP_FormFields::instance(); if (isset($_POST['field'])) { $field = new WPBDP_FormField(stripslashes_deep($_POST['field'])); $res = $field->save(); if (!is_wp_error($res)) { $this->admin->messages[] = _x('Form fields updated.', 'form-fields admin', 'WPBDM'); return $this->fieldsTable(); } else { $errmsg = ''; foreach ($res->get_error_messages() as $err) { $errmsg .= sprintf('• %s<br />', $err); } $this->admin->messages[] = array($errmsg, 'error'); } } else { $field = isset($_GET['id']) ? WPBDP_FormField::get($_GET['id']) : new WPBDP_FormField(array('display_flags' => array('excerpt', 'search', 'listing'))); } wpbdp_render_page(WPBDP_PATH . 'admin/templates/form-fields-addoredit.tpl.php', array('field' => $field, 'field_associations' => $api->get_associations_with_flags(), 'field_types' => $api->get_field_types(), 'validators' => $api->get_validators(), 'association_field_types' => $api->get_association_field_types()), true); }