Example #1
0
/**
 * Adds meta box with additional advert information
 * 
 * @uses Adverts
 * @uses Adverts_Form
 * @see add_meta_box()
 * 
 * @param WP_Post $post
 * @since 0.1
 * @return void
 */
function adverts_data_box_content($post)
{
    wp_nonce_field(plugin_basename(__FILE__), 'product_price_box_content_nonce');
    $exclude = array("_adverts_account", "advert_category", "post_title", "gallery", "post_content");
    // Load form data
    $form = new Adverts_Form();
    $form->load(Adverts::instance()->get("form"));
    // Get list of fields from post meta table
    $bind = array();
    foreach ($form->get_fields(array("exclude" => $exclude)) as $f) {
        $bind[$f["name"]] = get_post_meta($post->ID, $f["name"], true);
    }
    // Bind data
    $form->bind($bind);
    // Validate if message 21 will be displayed, that is if form already failed
    // validation in adverts_save_post_validator() function
    if (isset($_GET['message']) && $_GET['message'] == 21) {
        $form->validate();
    }
    ?>

    <style type="text/css">
        .adverts-data-table th.adverts-data-header {
            font-size:1.4em; 
            font-weight: normal; 
            font-variant: small-caps; 
            padding: 20px 10px 0px 0px
        }
        
        .adverts-data-table input[type="text"],
        .adverts-data-table textarea {
            width: 99%;
        }
    </style>
    
    <table class="form-table adverts-data-table">
	<tbody>
        <?php 
    foreach ($form->get_fields(array("exclude" => $exclude)) as $field) {
        ?>
            <tr class="<?php 
        if (isset($field["error"]) && !empty($field["error"])) {
            ?>
form-invalid<?php 
        }
        ?>
">
            <?php 
        if ($field["type"] == "adverts_field_header") {
            ?>
                <th scope="row" colspan="2" class="adverts-data-header">
                    <?php 
            esc_html_e($field["label"]);
            ?>
                </th>
            <?php 
        } else {
            ?>
                <th scope="row">
                    <label for="<?php 
            esc_attr_e($field["name"]);
            ?>
"><?php 
            esc_html_e($field["label"]);
            ?>
</label></th>
                <td>
                    <?php 
            call_user_func(adverts_field_get_renderer($field), $field);
            ?>
                    <?php 
            if (isset($field["error"]) && !empty($field["error"])) {
                ?>
                    <ul>
                        <?php 
                foreach ($field["error"] as $error) {
                    ?>
                        <li><?php 
                    esc_html_e($error);
                    ?>
</li>
                        <?php 
                }
                ?>
                    </ul>
                    <?php 
            }
            ?>
                </td>
            <?php 
        }
        ?>
            </tr>
        <?php 
    }
    ?>
			
        </tbody>
    </table>
  
  <?php 
}
Example #2
0
        ?>
">
                <?php 
        esc_html_e($field["label"]);
        ?>
                <?php 
        if (adverts_field_has_validator($field, "is_required")) {
            ?>
                <span class="adverts-form-required">*</span>
                <?php 
        }
        ?>
            </label>
            
            <?php 
        call_user_func(adverts_field_get_renderer($field), $field);
        ?>

            <?php 
    }
    ?>
            
            <?php 
    if (adverts_field_has_errors($field)) {
        ?>
            <ul class="adverts-field-error-list">
                <?php 
        foreach ($field["error"] as $k => $v) {
            ?>
                <li><?php 
            esc_html_e($v);
Example #3
0
/**
 * Layout for forms generated by Adverts in wp-admin panel.
 * 
 * @param Adverts_Form $form
 * @param array $options
 * @since 0.1
 * @return void
 */
function adverts_form_layout_config(Adverts_Form $form, $options = array())
{
    $a = array();
    ?>

    <?php 
    foreach ($form->get_fields(array("type" => array("adverts_field_hidden"))) as $field) {
        ?>
    <?php 
        call_user_func(adverts_field_get_renderer($field), $field);
        ?>
    <?php 
    }
    ?>
    
    <?php 
    foreach ($form->get_fields($options) as $field) {
        ?>
        <?php 
        if ($field["type"] == "adverts_field_header") {
            ?>
        <tr valign="top">
            <th colspan="2" style="padding-bottom:0px">
                <h3 style="border-bottom:1px solid #dfdfdf; line-height:1.4em; font-size:15px"><?php 
            esc_html_e($field["title"]);
            ?>
</h3>
            </th>
        </tr>
        <?php 
        } else {
            ?>
        <tr valign="top" class="<?php 
            if (adverts_field_has_errors($field)) {
                ?>
adverts-field-error<?php 
            }
            ?>
">
            <th scope="row">
                <label <?php 
            if (!in_array($field['type'], $a)) {
                ?>
for="<?php 
                esc_attr_e($field["name"]);
                ?>
"<?php 
            }
            ?>
>
                    <?php 
            esc_html_e($field["label"]);
            ?>
                    <?php 
            if (adverts_field_has_validator($field, "is_required")) {
                ?>
<span class="adverts-red">&nbsp;*</span><?php 
            }
            ?>
                </label>
            </th>
            <td class="">
                
                <?php 
            switch ($field["type"]) {
                case "adverts_field_text":
                    $field["class"] = (isset($field["class"]) ? $field["class"] : '') . ' regular-text';
                    break;
            }
            ?>
                
                <?php 
            call_user_func(adverts_field_get_renderer($field), $field);
            ?>

                <?php 
            if (isset($field['hint']) && !empty($field['hint'])) {
                ?>
                <br/><span class="description"><?php 
                echo $field['hint'];
                ?>
</span>
                <?php 
            }
            ?>

                <?php 
            if (adverts_field_has_errors($field)) {
                ?>
                <ul class="updated adverts-error-list">
                    <?php 
                foreach ($field["error"] as $k => $v) {
                    ?>
                    <li><?php 
                    esc_html_e($v);
                    ?>
</li>
                    <?php 
                }
                ?>
                </ul>
                <?php 
            }
            ?>
            </td>
        </tr>
        <?php 
        }
        ?>
    <?php 
    }
    ?>

<?php 
}