function cp_admin_fields($options) { global $cp_options; ?> <div id="tabs-wrap"> <?php // first generate the page tabs $counter = 0; echo '<ul class="tabs">' . "\n"; foreach ($options as $value) { if (in_array('tab', $value)) { echo '<li><a href="#' . $value['type'] . $counter . '">' . $value['tabname'] . '</a></li>' . "\n"; $counter++; } } echo '</ul>' . "\n\n"; // now loop through all the options $counter = 0; $table_width = $cp_options->table_width; foreach ($options as $value) { if (empty($value['tip'])) { $tooltip = ''; } else { $tooltip = html("img", array('class' => 'tip-icon', 'title' => __('Help', APP_TD), 'src' => appthemes_framework_image('help.png'))); $tooltip .= html("div class='tip-content'", $value['tip']); } switch ($value['type']) { case 'tab': echo '<div id="' . $value['type'] . $counter . '">' . "\n\n"; echo '<table class="widefat fixed" style="width:' . $table_width . '; margin-bottom:20px;">' . "\n\n"; break; case 'notab': echo '<table class="widefat fixed" style="width:' . $table_width . '; margin-bottom:20px;">' . "\n\n"; break; case 'title': ?> <thead> <tr> <th scope="col" width="200px"><?php echo esc_html($value['name']); ?> </th> <th class="tip"> </th> <th scope="col"><?php if (isset($value['desc'])) { echo $value['desc']; } ?> </th> </tr> </thead> <?php break; case 'text': // don't show the meta name field used by WP. This is automatically created by CP. if ($value['id'] == 'field_name') { break; } $args = array('name' => $value['id'], 'id' => $value['id'], 'type' => $value['type'], 'class' => array(), 'style' => $value['css'], 'value' => get_option($value['id']) ? get_option($value['id']) : $value['std']); if (!empty($value['req'])) { $args['class'][] = 'required'; } if (!empty($value['altclass'])) { $args['class'][] = $value['altclass']; } $args['class'] = implode(' ', $args['class']); if (!empty($value['min'])) { $args['minlength'] = $value['min']; } ?> <tr <?php if ($value['vis'] == '0') { ?> id="<?php if (!empty($value['visid'])) { echo $value['visid']; } else { echo 'field_values'; } ?> " style="display:none;"<?php } else { ?> id="<?php echo $value['id']; ?> _row"<?php } ?> > <td class="titledesc"><?php echo esc_html($value['name']); ?> :</td> <td class="tip"><?php echo $tooltip; ?> </td> <td class="forminp"><?php echo html('input', $args); ?> <br /><small><?php echo $value['desc']; ?> </small></td> </tr> <?php break; case 'select': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php echo esc_html($value['name']); ?> :</td> <td class="tip"><?php echo $tooltip; ?> </td> <td class="forminp"> <select <?php if (!empty($value['js'])) { echo $value['js']; } ?> name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " style="<?php echo $value['css']; ?> "<?php if ($value['req']) { ?> class="required"<?php } ?> > <?php foreach ($value['options'] as $key => $val) { ?> <option value="<?php echo $key; ?> " <?php selected(get_option($value['id']) == $key); ?> ><?php echo $val; ?> </option> <?php } ?> </select> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'checkbox': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php echo esc_html($value['name']); ?> :</td> <td class="tip"><?php echo $tooltip; ?> </td> <td class="forminp"> <input type="checkbox" name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " value="true" style="<?php echo $value['css']; ?> " <?php checked(get_option($value['id'])); ?> /> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'textarea': ?> <tr id="<?php echo $value['id']; ?> _row"<?php if ($value['id'] == 'field_values') { ?> style="display: none;" <?php } ?> > <td class="titledesc"><?php echo esc_html($value['name']); ?> :</td> <td class="tip"><?php echo $tooltip; ?> </td> <td class="forminp"> <textarea name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " style="<?php echo $value['css']; ?> " <?php if ($value['req']) { ?> class="required" <?php } if ($value['min']) { ?> minlength="<?php echo $value['min']; ?> "<?php } ?> ><?php if (get_option($value['id'])) { echo stripslashes(get_option($value['id'])); } else { echo $value['std']; } ?> </textarea> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'cat_checklist': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php echo esc_html($value['name']); ?> :</td> <td class="tip"><?php echo $tooltip; ?> </td> <td class="forminp"> <div id="form-categorydiv"> <div class="tabs-panel" id="categories-all" style="<?php echo $value['css']; ?> "> <ul class="list:category categorychecklist form-no-clear" id="categorychecklist"> <?php $catcheck = cp_category_checklist(0, cp_exclude_cats()); ?> <?php if ($catcheck) { echo $catcheck; } else { wp_die('<p style="color:red;">' . __('All your categories are currently being used. You must remove at least one category from another form layout before you can continue.', APP_TD) . '</p>'); } ?> </ul> </div> <a href="#" class="checkall"><?php _e('check all', APP_TD); ?> </a> </div> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'logo': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php echo esc_html($value['name']); ?> </td> <td class="tip"> </td> <td class="forminp"> </td> </tr> <?php break; case 'tabend': echo '</table>' . "\n\n"; echo '</div> <!-- #tab' . $counter . ' -->' . "\n\n"; $counter++; break; case 'notabend': echo '</table>' . "\n\n"; break; } // end switch } // end foreach ?> </div> <!-- #tabs-wrap --> <?php }
function cp_admin_fields($options) { global $shortname, $app_abbr; ?> <div id="tabs-wrap"> <?php // first generate the page tabs $counter = 0; echo '<ul class="tabs">' . "\n"; foreach ($options as $value) { if (in_array('tab', $value)) { echo '<li><a href="#' . $value['type'] . $counter . '">' . $value['tabname'] . '</a></li>' . "\n"; $counter = $counter + 1; } } echo '</ul>' . "\n\n"; // now loop through all the options $counter = 0; $table_width = get_option('cp_table_width'); foreach ($options as $value) { switch ($value['type']) { case 'tab': echo '<div id="' . $value['type'] . $counter . '">' . "\n\n"; echo '<table class="widefat fixed" style="width:' . $table_width . '; margin-bottom:20px;">' . "\n\n"; break; case 'notab': echo '<table class="widefat fixed" style="width:' . $table_width . '; margin-bottom:20px;">' . "\n\n"; break; case 'title': ?> <thead><tr><th scope="col" width="200px"><?php echo $value['name']; ?> </th><th scope="col"><?php if (isset($value['desc'])) { echo $value['desc']; } ?> </th></tr></thead> <?php break; case 'text': ?> <?php if ($value['id'] != 'field_name') { // don't show the meta name field used by WP. This is automatically created by CP. ?> <tr <?php if ($value['vis'] == '0') { ?> id="<?php if (!empty($value['visid'])) { echo $value['visid']; } else { echo 'field_values'; } ?> " style="display:none;"<?php } else { ?> id="<?php echo $value['id']; ?> _row"<?php } ?> > <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"><input name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " type="<?php echo $value['type']; ?> " style="<?php echo $value['css']; ?> " value="<?php if (get_option($value['id'])) { echo get_option($value['id']); } else { echo $value['std']; } ?> "<?php if ($value['req']) { ?> class="required <?php if (!empty($value['altclass'])) { echo $value['altclass']; } ?> " <?php } ?> <?php if ($value['min']) { ?> minlength="<?php echo $value['min']; ?> "<?php } ?> /><br /><small><?php echo $value['desc']; ?> </small></td> </tr> <?php } ?> <?php break; case 'select': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"><select <?php if (!empty($value['js'])) { echo $value['js']; } ?> name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " style="<?php echo $value['css']; ?> "<?php if ($value['req']) { ?> class="required"<?php } ?> > <?php foreach ($value['options'] as $key => $val) { ?> <option value="<?php echo $key; ?> " <?php if (get_option($value['id']) == $key) { ?> selected="selected" <?php } ?> ><?php echo ucfirst($val); ?> </option> <?php } ?> </select><br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'checkbox': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"><input type="checkbox" name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " value="true" style="<?php echo $value['css']; ?> " <?php if (get_option($value['id'])) { ?> checked="checked"<?php } ?> /> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'textarea': ?> <tr id="<?php echo $value['id']; ?> _row"<?php if ($value['id'] == 'field_values') { ?> style="display: none;" <?php } ?> > <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"> <textarea name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " style="<?php echo $value['css']; ?> " <?php if ($value['req']) { ?> class="required" <?php } if ($value['min']) { ?> minlength="<?php echo $value['min']; ?> "<?php } ?> ><?php if (get_option($value['id'])) { echo stripslashes(get_option($value['id'])); } else { echo $value['std']; } ?> </textarea> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'cat_checklist': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"> <div id="form-categorydiv"> <div class="tabs-panel" id="categories-all" style="<?php echo $value['css']; ?> "> <ul class="list:category categorychecklist form-no-clear" id="categorychecklist"> <?php $catcheck = cp_category_checklist(0, cp_exclude_cats()); ?> <?php if ($catcheck) { echo $catcheck; } else { wp_die('<p style="color:red;">' . __('All your categories are currently being used. You must remove at least one category from another form layout before you can continue.', APP_TD) . '</p>'); } ?> </ul> </div> </div> <br /><small><?php echo $value['desc']; ?> </small> </td> </tr> <?php break; case 'upload': ?> <tr> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"> <input id="<?php echo $value['id']; ?> " class="upload_image_url" type="text" style="<?php echo $value['css']; ?> " name="<?php echo $value['id']; ?> " value="<?php if (get_option($value['id'])) { echo get_option($value['id']); } else { echo $value['std']; } ?> " /> <input id="upload_image_button" class="upload_button button" rel="<?php echo $value['id']; ?> " type="button" value="<?php _e('Upload Image', APP_TD); ?> " /> <?php if (get_option($value['id'])) { ?> <input name="<?php echo $value['id']; ?> " value="Clear Image" id="delete_image_button" class="delete_button button" rel="<?php echo $value['id']; ?> " type="button" /> <?php } ?> <br /><small><?php echo $value['desc']; ?> </small> <div id="<?php echo $value['id']; ?> _image" class="<?php echo $value['id']; ?> _image upload_image_preview"><?php if (get_option($value['id'])) { echo '<img src="' . get_option($value['id']) . '" />'; } ?> </div> </td> </tr> <?php break; case 'logo': ?> <tr id="<?php echo $value['id']; ?> _row"> <td class="titledesc"><?php echo $value['name']; ?> </td> <td class="forminp"> </td> </tr> <?php break; case 'price_per_cat': ?> <tr id="<?php echo $value['id']; ?> _row" class="cat-row"> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"> <table style="width:100%;"> <?php $categories = get_categories('orderby=name&order=asc&hide_empty=0&taxonomy=' . APP_TAX_CAT); $i = 0; foreach ($categories as $cat) { if ($i % 2 == 0) { ?> <tr> <?php } // if the category price is empty, put a zero in it so it doesn't error out $cat_price = get_option('cp_cat_price_' . $cat->cat_ID); if ($cat_price == '') { $cat_price = '0'; } ?> <td nowrap style="padding-top:15px; text-align: right;"><?php echo $cat->cat_name; ?> :</td> <td nowrap style="color:#bbb;"><input name="catarray[cp_cat_price_<?php echo $cat->cat_ID; ?> ]" type="text" size="10" maxlength="100" value="<?php echo $cat_price; ?> " /> <?php echo get_option($app_abbr . '_curr_pay_type'); ?> </td> <td cellspan="2" width="100"> </td> <?php if ($i % 2 != 0) { ?> </tr> <?php } $i++; } // end foreach ?> </table> </td> </tr> <?php break; case 'required_per_cat': ?> <tr id="<?php echo $value['id']; ?> _row" class="cat-row"> <td class="titledesc"><?php if ($value['tip']) { ?> <a href="#" tip="<?php echo $value['tip']; ?> " tabindex="99"><div class="helpico"></div></a><?php } echo $value['name']; ?> :</td> <td class="forminp"> <table style="width:100%;"> <?php $categories = get_categories('orderby=name&order=asc&hide_empty=0&taxonomy=' . APP_TAX_CAT); $required_categories = get_option('cp_required_categories'); $i = 0; foreach ($categories as $cat) { if ($i % 2 == 0) { ?> <tr> <?php } ?> <td nowrap style="padding-top:15px; text-align: right;"><?php echo $cat->cat_name; ?> :</td> <td nowrap style="color:#bbb;"><input name="catreqarray[cp_cat_req_<?php echo $cat->cat_ID; ?> ]" type="checkbox" value="<?php echo $cat->cat_ID; ?> " <?php if (isset($required_categories[$cat->cat_ID])) { echo 'checked="checked"'; } ?> /></td> <td cellspan="2" width="100"> </td> <?php if ($i % 2 != 0) { ?> </tr> <?php } $i++; } // end foreach ?> </table> </td> </tr> <?php break; case 'tabend': echo '</table>' . "\n\n"; echo '</div> <!-- #tab' . $counter . ' -->' . "\n\n"; $counter = $counter + 1; break; case 'notabend': echo '</table>' . "\n\n"; break; } // end switch } // end foreach ?> </div> <!-- #tabs-wrap --> <?php }
/** * Creates a form for adding/editing form layout or form field. */ function cp_admin_db_fields($options, $cp_table = '', $cp_id = '') { global $wpdb; $action = 'new'; if ($cp_table) { $action = 'edit'; // gat all the admin fields $results = $wpdb->get_row($wpdb->prepare("SELECT * FROM " . $wpdb->prefix . $cp_table . " WHERE " . $cp_id . " = %d", $_GET['id'])); if (!$results) { return; } } $field_type = !empty($results->field_type) ? $results->field_type : ''; $field_perm = !empty($results->field_perm) ? $results->field_perm : ''; ?> <table class="form-table cp-custom"> <tbody> <?php foreach ($options as $value) { if (empty($value['tip'])) { $tooltip = ''; } else { $tooltip = html('i', array('class' => 'dashicons-before tip-icon', 'data-tooltip' => APP_ToolTips::supports_wp_pointer() ? $value['tip'] : __('Click for more info', APP_TD))); if (!APP_ToolTips::supports_wp_pointer()) { $tooltip .= html("div class='tip-content'", $value['tip']); } } switch ($value['type']) { case 'title': ?> <thead> <tr> <th scope="col"><?php echo esc_html($value['name']); ?> </th> <th class="tip"> </th> <th scope="col"><?php if (isset($value['desc'])) { echo $value['desc']; } ?> </th> </tr> </thead> <?php break; case 'text': // don't show the meta name field used by WP. This is automatically created by CP. if ('new' == $action && $value['id'] == 'field_name') { break; } $args = array('name' => $value['id'], 'id' => $value['id'], 'type' => $value['type'], 'class' => array(), 'style' => $value['css']); if ('edit' == $action) { $args['value'] = $results->{$value}['id']; } else { $args['value'] = get_option($value['id']) ? get_option($value['id']) : $value['std']; } if (!empty($value['req'])) { $args['class'][] = 'required'; } if (!empty($value['altclass'])) { $args['class'][] = $value['altclass']; } $args['class'] = implode(' ', $args['class']); if (!empty($value['min'])) { $args['minlength'] = $value['min']; } if ($value['id'] == 'field_name') { $args['readonly'] = 'readonly'; } ?> <tr <?php echo $value['vis'] == '0' ? 'id="' . ('edit' == $action ? esc_attr($value['id']) . '_row"' : (!empty($value['visid']) ? $value['visid'] : 'field_values')) . '" style="display:none;" ' : 'id="' . esc_attr($value['id']) . '_row"'; ?> > <th scope="row app-row"> <label for="<?php esc_attr($value['name']); ?> "><?php echo esc_html($value['name']); ?> </label><?php echo $tooltip; ?> </th> <td> <label> <?php echo html('input', $args); ?> <p class="description"><?php echo $value['desc']; ?> </p> </label> </td> </tr> <?php break; case 'select': ?> <tr id="<?php echo $value['id']; ?> _row"> <th scope="row app-row"> <label for="<?php esc_attr($value['name']); ?> "><?php echo esc_html($value['name']); ?> </label><?php echo $tooltip; ?> </th> <td> <label> <select <?php if ($value['js']) { echo $value['js']; } ?> <?php disabled(in_array($field_perm, array(1, 2))); ?> name="<?php echo esc_attr($value['id']); ?> " id="<?php echo esc_attr($value['id']); ?> " style="<?php echo esc_attr($value['css']); ?> "> <?php foreach ($value['options'] as $key => $val) { ?> <?php if ('edit' == $action) { ?> <option value="<?php echo esc_attr($key); ?> "<?php if (isset($results->{$value}['id']) && $results->{$value}['id'] == $key) { selected(true); $field_type_out = $field_type; } ?> ><?php echo $val; ?> </option> <?php } else { ?> <option value="<?php echo esc_attr($key); ?> " <?php selected(get_option($value['id']) == $key); ?> ><?php echo $val; ?> </option> <?php } ?> <?php } ?> </select> <p class="description"><?php echo $value['desc']; ?> </p> <?php // have to submit this field as a hidden value if perms are 1 or 2 since the DISABLED option won't pass anything into the $_POST if (in_array($field_perm, array(1, 2))) { echo html('input', array('type' => 'hidden', 'name' => esc_attr($value['id']), 'value' => esc_attr($field_type_out))); } ?> </label> </td> </tr> <?php break; case 'textarea': $args = array(); $args['class'] = array(); if (!empty($value['altclass'])) { $args['class'][] = $value['altclass']; } if ('edit' == $action) { $args['value'] = $results->{$value}['id']; } else { $args['value'] = get_option($value['id']); } ?> <tr id="<?php echo esc_attr($value['id']); ?> _row"<?php if ($value['id'] == 'field_values') { ?> style="display: none;" <?php } ?> > <th scope="row app-row"> <label for="<?php esc_attr($value['name']); ?> "><?php echo esc_html($value['name']); ?> </label><?php echo $tooltip; ?> </th> <td> <label> <textarea rows="10" cols="50" class="<?php echo implode(' ', $args['class']); ?> " <?php if (!empty($field_perm) && in_array($field_perm, array(1, 2)) && !in_array($value['id'], array('field_tooltip', 'field_values'))) { ?> readonly="readonly"<?php } ?> name="<?php echo esc_attr($value['id']); ?> " id="<?php echo esc_attr($value['id']); ?> " style="<?php echo esc_attr($value['css']); ?> "><?php echo esc_textarea($args['value']); ?> </textarea> <p class="description"><?php echo $value['desc']; ?> </p> </label> </td> </tr> <?php break; case 'checkbox': if ('edit' == $action) { $args['value'] = $results->{$value}['id']; } else { $args['value'] = get_option($value['id']); } ?> <tr id="<?php echo $value['id']; ?> _row"> <th scope="row app-row"> <label for="<?php esc_attr($value['name']); ?> "><?php echo esc_html($value['name']); ?> </label><?php echo $tooltip; ?> </th> <td> <label> <input type="checkbox" name="<?php echo $value['id']; ?> " id="<?php echo $value['id']; ?> " value="1" style="<?php echo $value['css']; ?> " <?php checked(!empty($args['value'])); ?> /> <p class="description"><?php echo $value['desc']; ?> </p> </label> </tr> <?php break; case 'cat_checklist': ?> <tr id="<?php echo $value['id']; ?> _row"> <th scope="row app-row"> <label for="<?php esc_attr($value['name']); ?> "><?php echo esc_html($value['name']); ?> </label><?php echo $tooltip; ?> </th> <td class="forminp"> <label> <div id="form-categorydiv"> <div class="tabs-panel" id="categories-all" style="<?php echo $value['css']; ?> "> <ul class="list:category categorychecklist form-no-clear" id="categorychecklist"> <?php if ('edit' == $action) { ?> <?php echo cp_category_checklist(unserialize($results->form_cats), cp_exclude_cats($results->id)); ?> <?php } else { ?> <?php $catcheck = cp_category_checklist(0, cp_exclude_cats()); ?> <?php if ($catcheck) { echo $catcheck; } else { wp_die('<p style="color:red;">' . __('All your categories are currently being used. You must remove at least one category from another form layout before you can continue.', APP_TD) . '</p>'); } ?> <?php } ?> </ul> </div> <a href="#" class="checkall"><?php _e('check all', APP_TD); ?> </a> </div> <p class="description"><?php echo $value['desc']; ?> </p> </label> </td> </tr> <?php break; } // end switch } // endforeach ?> </tbody> </table> <?php }