public static function select( $attr, $options, $val = "", $options_attr = array() ) { $html = self::open( "select", $attr ); $html .= WOOF_HTML::options( $options, $val, $options_attr ); $html .= self::close("select"); return $html; }
public function init() { global $wf; // check if we're in a child theme $template_dir = get_template_directory(); $stylesheet_dir = get_stylesheet_directory(); // check if there are any templates that have the same name, which can cause confusion $names = array(); $dupes = array(); self::get_names($template_dir, $names, $dupes); if ($stylesheet_dir != $template_dir) { self::get_names($stylesheet_dir, $names, $dupes); } if (count($dupes)) { $msg = WOOF_HTML::tag("p", array(), __("<strong>Warning:</strong> your theme appears to contain multiple template files with the same <b>Template Name</b>.<br />This may cause some templates to become invisible to both WordPress and MasterPress.<br />Please verify the following, and make changes to your template files as necessary:", MASTERPRESS_DOMAIN)); $msg .= WOOF_HTML::open("ul"); foreach ($dupes as $template_name => $file_name) { $msg .= WOOF_HTML::tag("li", array(), sprintf( __('<span class="tt">%s</span> is called <b>%s</b>, which is already used by <span class="tt">%s</span>', MASTEPRESS_DOMAIN), $file_name, $template_name, $names[$template_name]) ); } $msg .= WOOF_HTML::close("ul"); MPV::warn($msg); } $action = MasterPress::$action; // inform the view what to render in the info panel MasterPress::$view->is_template_set = true; if ($action == "edit-field" || $action == "create-field") { // inform the view what to render in the info panel MasterPress::$view->parent = MPM_FieldSet::find_by_id(MasterPress::$parent); // enqueue the field type CSS $type = MasterPress::$model->type; MPFT::options_admin_head($type); // enqueue dependent scripts for all field types (could improve this in the future) foreach (MPFT::type_keys() as $type) { if ($ftc = MPFT::type_class($type)) { call_user_func( array($ftc, "enqueue") ); } } } if ($action == "create-field") { MasterPress::$model->field_set_id = MasterPress::$parent; MasterPress::$model->infer_position(); } }
function text() { if (!isset($this->_tv)) { $options = $this->field()->info->type_options; if (isset($options, $options["values"])) { $this->_tv = WOOF_HTML::option_values($options["values"]); if (is_array($this->_tv)) { $this->_vt = array_flip($this->_tv); } else { $this->_tv = array(); $this->_vt = array(); } } else { $this->_tv = array(); $this->_vt = array(); } } $val = $this->value(); if (isset($this->_vt[$val])) { return $this->_vt[$val]; } return ""; }
public static function ui( MEOW_Field $field ) { // $field here is a MEOW_Field, which is a class that encapsulates the value of a field AND the info associated with it $options = $field->info->type_options; $readonly = WOOF_HTML::readonly_attr( !$field->is_editable() ); $tabs_class = ""; if ($readonly) { $tabs_class = " readonly"; } $visual_current = "current"; $html_current = ""; $default_tab = self::option_value($options, "default_tab"); if ($default_tab == "html" ) { $visual_current = ""; $html_current = "current"; } $style = ""; if (isset($options["height"]) && is_numeric($options["height"])) { $style .= "height: ".$options["height"]."px;"; } $value = ""; if (!$field->blank()) { $value = htmlspecialchars($field->clean()); } $html = <<<HTML <div id="wp-{{id}}-wrap" class="wp-content-wrap editor-ui"> <ul class="editor-tabs $tabs_class"> <li><div class="tab-button visual {$visual_current}">Visual</div></li> <li><div class="tab-button html {$html_current}">HTML</div></li> </ul> <textarea id="{{id}}" name="{{name}}" $readonly class="mce">{$value}</textarea> </div> HTML; return $html; }
public function grid() { MPC::incl("post-types"); MPV::incl("fields"); MPV::incl("post-types"); $info = MasterPress::$view; ?> <?php MPV::messages(); ?> <div class="grid-set"> <?php $field_sets = MPM_SharedFieldSet::find( array("orderby" => "name ASC" ) ); ?> <?php MPV::field_set_icon_styles($field_sets); ?> <?php $has_actions = MasterPress::current_user_can("edit_shared_field_sets,delete_shared_field_sets,edit_shared_fields,delete_shared_fields"); $can_edit = MasterPress::current_user_can("edit_shared_field_sets"); $can_delete = MasterPress::current_user_can("delete_shared_field_sets"); $can_create = MasterPress::current_user_can("create_shared_field_sets"); $can_edit_fields = MasterPress::current_user_can("edit_shared_fields"); $can_delete_fields = MasterPress::current_user_can("delete_shared_fields"); $can_create_fields = MasterPress::current_user_can("create_shared_fields"); $less = ($can_create_fields) ? 1 : 0; $colspan = ( $has_actions ? 7 : 6 ) - $less; foreach ($field_sets as $field_set) { if (MPC::is_deleting($field_set->id, "delete")) { $this->confirm_delete($field_set); } else { foreach ($field_set->fields() as $field) { if (MPC::is_deleting($field->id, "delete-field")) { $this->confirm_delete_field($field); } } } } ?> <?php if (count($field_sets)) : ?> <table cellspacing="0" class="grid grid-field-sets grid-shared-field-sets"> <thead> <tr> <th class="first type"><i class="types"></i><span><?php _e("Type", MASTERPRESS_DOMAIN) ?></span></th> <th class="label"><i class="label-string"></i><span><?php _e("Label", MASTERPRESS_DOMAIN) ?></span></th> <th class="front-end-name"><i class="script-php"></i><span><?php _e("Front End Name", MASTERPRESS_DOMAIN) ?></span></th> <th class="post-types"><i class="pins"></i><span><?php _e("Post Types", MASTERPRESS_DOMAIN) ?></span></th> <th class="taxonomies"><i class="tags"></i><span><?php _e("Taxonomies", MASTERPRESS_DOMAIN) ?></span></th> <th class="roles <?php echo $has_actions ? "" : "last" ?>"><i class="user-role"></i><span><?php _e("User Roles", MASTERPRESS_DOMAIN) ?></span></th> <?php if ($has_actions) : ?> <th class="actions last"><i class="buttons"></i><span><?php _e("Actions", MASTERPRESS_DOMAIN) ?></span></th> <?php endif; ?> </tr> </thead> <tbody> <?php $fg_count = 0; ?> <?php foreach ($field_sets as $field_set) : $fg_count++; ?> <?php $display = $field_set->display_label(); ?> <?php $display_td = $display; if ($field_set->icon != "") { $display_td = WOOF_HTML::tag("span", array("class" => "with-icon field-set-".$field_set->id), $display); } ?> <?php $deleting_class = MPC::is_deleting($field_set->id, "delete") ? 'deleting' : ''; $editable_class = $can_edit ? " editable " : ""; $meta = $can_edit ? "{ href: '".MasterPress::admin_url("shared-field-sets", "edit", array("id" => $field_set->id) )."' }" : ""; ?> <?php $disabled = $field_set->disabled ? "disabled" : ""; $title = $field_set->disabled ? ' title="'.__("this field set is disabled", MASTERPRESS_DOMAIN).'" ' : ""; ?> <?php if (!$field_set->in_current_site()) { $disabled = "disabled"; $title = ' title="'.__("field set is not currently available in this site (multi-site setting)", MASTERPRESS_DOMAIN).'" '; } ?> <tr id="field_set_<?php echo $field_set->name ?>" <?php echo $title ?> class="<?php echo $disabled ?> <?php echo $editable_class ?> <?php echo $deleting_class ?> <?php echo MPV::updated_class("edit,create", $field_set->id) ?> <?php echo $meta ?>"> <?php if ($field_set->allow_multiple) : ?> <th class="first type icon"><i class="metabox-add-remove-large" title="<?php _e("Field Set (Multiple Items)", MASTERPRESS_DOMAIN) ?>"></i></th> <?php else : ?> <th class="first type icon"><i class="metabox-large" title="<?php _e("Field Set", MASTERPRESS_DOMAIN) ?>"></i></th> <?php endif; ?> <th class="label"><strong><?php echo $display_td ?></strong></th> <th class="front-end-name"><span class="tt"><?php echo $field_set->display_name() ?></span></th> <th class="post-types"> <?php $post_types = $field_set->post_types(); $vis = $field_set->visibility; $vis_post_types = ""; if (isset($vis["post_types"])) { $vis_post_types = $vis["post_types"]; } if ($vis_post_types == "*") { $post_type_display = __("( All )", MASTERPRESS_DOMAIN); } else { $post_type_display = __("( None )", MASTERPRESS_DOMAIN); if (count($post_types)) { $post_type_links = array(); foreach ($post_types as $post_type) { $post_type_links[] = $post_type->labels["name"]; } $post_type_display = implode($post_type_links, ", "); } } echo $post_type_display; ?> </th> <th class="taxonomies"> <?php $vis = $field_set->visibility; $vis_tax = ""; if (isset($vis["taxonomies"])) { $vis_tax = $vis["taxonomies"]; } if ($vis_tax == "*") { $taxonomy_display = __("( All )", MASTERPRESS_DOMAIN); } else { $taxonomy_display = __("( None )", MASTERPRESS_DOMAIN); if ($vis_tax != "") { $tax_models = MPM_Taxonomy::find_by_name_in(explode(",", $vis_tax)); $td = array(); foreach ($tax_models as $tax) { $td[] = $tax->display_label(); } $taxonomy_display = implode(", ", $td); } } echo $taxonomy_display; ?> </th> <th class="roles <?php echo $has_actions ? "" : "last" ?>"> <?php $vis = $field_set->visibility; $vis_roles = ""; if (isset($vis["roles"])) { $vis_roles = $vis["roles"]; } if ($vis_roles == "*") { $role_display = __("( All )", MASTERPRESS_DOMAIN); } else { if (is_null($vis_roles) || $vis_roles == "") { $role_display = __("( None )", MASTERPRESS_DOMAIN); } else { $role_display = implode(", ", explode(",", $vis_roles)); } } echo $role_display; ?> </th> <?php if ($has_actions) : ?> <th class="actions last"> <?php if (MPC::is_deleting($field_set->id, "delete")) : ?> <span class="confirm-action"> </span> <?php else: ?> <div> <?php if ($can_edit) : ?> <?php echo MPV::action_button("shared-field-sets", "edit", self::__edit(), array("id" => $field_set->id), array("class" => "button button-edit") ); ?> <?php endif; ?> <?php if ($can_delete) : ?> <?php echo MPV::action_button("shared-field-sets", "delete", self::__delete(), array("id" => $field_set->id), array("class" => "button button-delete") ); ?> <?php endif; ?> </div> <?php endif; ?> </th> <?php endif; // has_actions ?> </tr> <?php $count = 0; $fields = $field_set->fields(); ?> <?php foreach ($fields as $field) : $count++; $first = $count == 1 ? 'first' : ''; $disabled = $field_set->disabled || $field->disabled ? "disabled" : ""; $title = $field_set->disabled || $field->disabled ? ' title="'.__("this field is disabled", MASTERPRESS_DOMAIN).'" ' : ""; ?> <?php if (!$field_set->in_current_site() || !$field->in_current_site()) { $disabled = "disabled"; $title = ' title="'.__("field is not currently available in this site (multi-site setting)", MASTERPRESS_DOMAIN).'" '; } ?> <?php $deleting_class = MPC::is_deleting($field_set->id, "delete") || MPC::is_deleting($field->id, "delete-field") ? 'deleting' : ''; $editable_class = $can_edit_fields ? " editable " : ""; $meta = $can_edit ? "{ href: '".MasterPress::admin_url("shared-field-sets", "edit-field", array("id" => $field->id, "parent" => $field_set->id) )."' }" : ""; ?> <?php if ($type_class = MPFT::type_class($field->type)) : ?> <tr <?php echo $title ?> class="sub <?php echo $editable_class.$deleting_class ?> <?php echo $first ?> <?php echo $disabled ?> <?php echo $count % 2 == 0 ? "even" : "" ?> <?php echo MPV::updated_class("edit-field,create-field", $field->id) ?> <?php echo $meta ?>"> <td class="type icon first" title="<?php echo call_user_func( array($type_class, "__s") ) ?>"><span class="mp-icon mp-icon-field-type-<?php echo $field->type ?>"></span></td> <td class="label"><strong><?php echo $field->display_label() ?></strong></td> <td class="front-end-name"><span class="tt"><span class="arrow">-> </span><?php echo $field->display_name() ?></span></td> <td class="post-types"> <?php $vis = $field->visibility; $vis_post_types = ""; if (isset($vis["post_types"])) { $vis_post_types = $vis["post_types"]; } if ($vis_post_types == "*") { $post_type_display = '<span class="inherit">( '.__("same as set", MASTERPRESS_DOMAIN).' )</span>'; } else { $post_types = $field->post_types(); $post_type_display = MPV::note_none(); if (count($post_types)) { $post_type_links = array(); foreach ($post_types as $post_type) { $post_type_links[] = $post_type->labels["name"]; } $post_type_display = implode($post_type_links, ", "); } } echo $post_type_display; ?> </td> <td class="taxonomies"> <?php $vis = $field->visibility; $vis_tax = ""; if (isset($vis["taxonomies"])) { $vis_tax = $vis["taxonomies"]; } if ($vis_tax == "*") { $tax_display = '<span class="inherit">( '.__("same as set", MASTERPRESS_DOMAIN).' )</span>'; } else { $tax_display = MPV::note_none(); if ($vis_tax != "") { $tax_models = MPM_Taxonomy::find_by_name_in(explode(",", $vis_taxonomies)); $td = array(); foreach ($tax_models as $tax) { $td[] = $tax->display_label(); } $tax_display = implode(", ", $td); } } echo $tax_display; ?> </td> <td class="roles <?php echo $has_actions ? "" : "last" ?>"> <?php $vis = $field->visibility; $vis_roles = ""; if (isset($vis["roles"])) { $vis_roles = $vis["roles"]; } if ($vis_roles == "*") { $role_display = '<span class="inherit">( '.__("same as set", MASTERPRESS_DOMAIN).' )</span>'; } else { $role_display = MPV::note_none(); if ($vis_roles != "") { $role_display = implode(", ", explode(",", $vis_roles)); } } echo $role_display; ?> </td> <?php if ($has_actions) : ?> <td class="actions last"> <?php if (MPC::is_deleting($field->id, "delete-field")) : ?> <span class="confirm-action"> </span> <?php else: ?> <div> <?php if ($can_edit_fields) : ?> <?php echo MPV::action_button("shared-field-sets", "edit-field", self::__edit(), array("id" => $field->id, "parent" => $field_set->id), array("class" => "button button-edit") ); ?> <?php endif; ?> <?php if ($can_delete_fields) : ?> <?php echo MPV::action_button("shared-field-sets", "delete-field", self::__delete(), array("id" => $field->id, "parent" => $field_set->id), array("class" => "button button-delete") ); ?> <?php endif; ?> </div> <?php endif; ?> </td> <?php endif; // has_actions ?> </tr> <?php endif; ?> <?php endforeach; ?> <tr class="summary <?php echo $can_create_fields ? "editable" : "" ?>"> <?php if (count($fields)) : ?> <td colspan="<?php echo $colspan ?>" class="first <?php echo $can_create_fields ? "" : "last" ?>"><?php printf( __( "%s contains %s", MASTERPRESS_DOMAIN ), $display, MPU::__items( $field_set->field_count(), __("%d custom field", MASTERPRESS_DOMAIN), __("%d custom fields", MASTERPRESS_DOMAIN) ) ) ?></td> <?php else: ?> <?php if ($can_create_fields) : ?> <td colspan="<?php echo $colspan ?>" class="hl first last"><span><?php printf( __( "<strong>%s</strong> is not yet active as it contains <em>no custom fields</em>. Click here to create one", MASTERPRESS_DOMAIN ), $display ); ?></span></td> <?php endif; ?> <?php endif; ?> <?php if ($can_create_fields) : ?> <td class="last actions <?php echo count($fields) ? "" : "hl" ?>"> <?php echo MPV::action_button("shared-field-sets", "create-field", self::__create(MPV_Fields::__s()), array("parent" => $field_set->id), array("class" => "button create-field") ); ?> </td> <?php endif; ?> </tr> <tr class="gap <?php if ($fg_count == count($field_sets)) { echo "gap-last"; } ?>"> <td colspan="7"> </td> </tr> <?php endforeach; ?> </tbody> </table> <?php if ($can_create) : ?> <div class="grid-foot-controls"> <?php echo MPV::action_button("shared-field-sets", "create", MPV::__create( MPV_SharedFieldSets::__s() ), array() ); ?> </div> <?php endif; ?> <?php else: ?> <?php if ($can_create) : ?> <a href="<?php echo MasterPress::admin_url("shared-field-sets", "create") ?>" class="no-items-create"> <i class="plus-circle"></i> <span><?php _e( "There are currently no Shared Field Sets. Click here to create one." ) ?></span> </a> <?php endif; ?> <?php endif; ?> </div> <?php } // end grid()
function manage() { global $wf; ?> <?php MPV::messages() ?> <?php MPV::form_open() ?> <div id="settings"> <button id="bt-save-changes-top" type="submit" class="simple-primary"><?php _e("Save Settings", MASTERPRESS_DOMAIN) ?></button> <div class="fs fs-licence fs-with-tabs"> <div class="fst"> <div class="fstb"> <h3><i class="certificate"></i><strong><?php _e("Licence", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("your registration info", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="licence_key" class="icon"><i class="key"></i><?php _e("Key", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="licence_key" name="licence_key" type="text" value="<?php echo get_site_option("mp_licence_key") ?>" class="text mono" /> <div id="licence-progress"></div> <?php // check the transient $current_key = MasterPress::licence_key(); $cache_key = MPC_Settings::cache_key($current_key); $info = array("valid" => false, "reason" => ""); $valid = $wf->cache($cache_key); if ($valid != "yes") { // if it's not valid, let's check again $info = MPC_Settings::do_validate_licence_key($current_key); } else { $info["valid"] = true; } $valid_style = ( $current_key && $info["valid"] ) ? 'display: block;" ' : 'display: none;'; $invalid_style = ( $current_key != "" && !$info["valid"] ) ? 'display: block;" ' : 'display: none;'; $empty_style = ( $current_key == "" ) ? 'display: block;" ' : 'display: none;'; if ($info["reason"] != "") { $info["reason"] = " - ".$info["reason"]; } ?> <p id="licence-empty" class="note" style="<?php echo $empty_style ?>"> <?php _e("A valid licence key is required for access to automatic updates and support.", MASTERPRESS_DOMAIN); ?> </p> <p id="licence-valid" class="note" style="<?php echo $valid_style ?>"> <i class="tick-circle"></i> <?php _e("Your licence key is valid", MASTERPRESS_DOMAIN); ?> </p> <p id="licence-invalid" class="note" style="<?php echo $invalid_style ?>"> <i class="error-circle"></i> <?php _e("Key not valid", MASTERPRESS_DOMAIN); ?> <span class="reason"><?php echo $info["reason"] ?></span> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-capabilities fs-with-tabs"> <div class="fst"> <div class="fstb"> <h3><i class="masterpress"></i><strong><?php _e("MasterPress Capabilities", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("the keys used to control access to features of MasterPress", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <?php $cap = get_site_option("mp_cap", "standard") ?> <div class="fw fwl"> <input id="mp_cap_standard" name="mp_cap" value="standard" <?php echo WOOF_HTML::checked_attr( $cap == "standard" ) ?> type="radio" class="radio" /> <label for="mp_cap_standard" class="radio"><?php _e('<em>Standard</em> - all features are allowed for user roles with the <span class="tt">manage_options</span> capability (typical plug-in setup)', MASTERPRESS_DOMAIN) ?></label> </div> <!-- /.fw --> <div class="fw fwl"> <input id="mp_cap_specific" name="mp_cap" value="specific" <?php echo WOOF_HTML::checked_attr( $cap == "specific" ) ?> type="radio" class="radio" /> <label for="mp_cap_specific" class="radio"><?php _e('<em>Specific</em> - allows fine-grained control over MasterPress', MASTERPRESS_DOMAIN) ?></label> <?php $style = ""; if ($cap == "standard") { $style = ' style="display: none;"'; } ?> <div id="specific-keys" <?php echo $style ?> class="eg"> <p><strong><?php _e("Section Access", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">manage_masterplan, manage_post_types, manage_taxonomies, manage_templates, manage_user_roles, manage_site_field_sets, manage_shared_field_sets, manage_mp_settings, manage_mp_tools</span></p> <p><strong><?php _e("Masterplans", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">export_masterplan, import_masterplan, backup_masterplan, restore_masterplan</span></p> <p><strong><?php _e("Post Types", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">create_post_types, edit_post_types, delete_post_types, manage_post_type_field_sets, create_post_type_field_sets, edit_post_type_field_sets, delete_post_type_field_sets, create_post_type_fields, edit_post_type_fields, delete_post_type_fields</span></p> <p><strong><?php _e("Taxonomies", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">create_taxonomies, edit_taxonomies, delete_taxonomies, manage_taxonomy_field_sets, create_taxonomy_field_sets, edit_taxonomy_field_sets, delete_taxonomy_field_sets, create_taxonomy_fields, edit_taxonomy_fields, delete_taxonomy_fields</span></p> <p><strong><?php _e("Templates", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_templates, manage_template_field_sets, create_template_field_sets, edit_template_field_sets, delete_template_field_sets, create_template_fields, edit_template_fields, delete_template_fields</span></p> <p><strong><?php _e("User Roles", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">create_user_roles, edit_user_roles, manage_user_role_field_sets, create_user_role_field_sets, edit_user_role_field_sets, delete_user_role_field_sets, create_user_role_fields, edit_user_role_fields, delete_user_role_fields</span></p> <p><strong><?php _e("Site Field Sets", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">create_site_field_sets, edit_site_field_sets, delete_site_field_sets, create_site_fields, edit_site_fields, delete_site_fields</span></p> <p><strong><?php _e("Shared Field Sets", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">create_shared_field_sets, edit_shared_field_sets, delete_shared_field_sets, create_shared_fields, edit_shared_fields, delete_shared_fields</span></p> </div> <div id="mp-grant" <?php echo $style ?> class="mp-grant"> <input id="mp_cap_grant" name="mp_cap_grant" value="true" type="checkbox" <?php echo WOOF_HTML::checked_attr($cap == "standard") ?> class="checkbox" /> <label for="mp_cap_grant" class="radio"><?php _e('On save, add all capabilities above to roles with the <span class="tt">manage_options</span> capability.', MASTERPRESS_DOMAIN) ?></label> <p class="note"> <?php _e("Note: you can also add these capabilities at a later time in the <em>User Roles</em> section, under the <b>Masterpress</b> tab when creating or editing a user role."); ?> </p> </div> </div> <!-- /.fw --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-server-info"> <div class="fst"> <div class="fstb"> <h3><i class="server"></i><strong><?php _e("Support Info", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("useful information for support requests", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button id="select-all-server-info" class="button button-small button-select-all" type="button"><?php _e('Select <strong>All</strong>', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <?php global $wp_version, $wpdb; $active_plugin_list = array(); $inactive_plugin_list = array(); $plugins = get_plugins(); foreach( $plugins as $plugin_file => $data ) { $pi = $data["Name"] . " v" . $data["Version"] . " - ".$data["PluginURI"]; if ( is_plugin_active( $plugin_file ) ) { $active_plugin_list[] = $pi; } else { $inactive_plugin_list[] = $pi; } } ?> <textarea id="server-info" readonly="readonly"><?php printf( __( "MasterPress Version: %s", MASTERPRESS_DOMAIN), MASTERPRESS_VERSION ) ?> <?php printf( __( "WordPress Version: %s", MASTERPRESS_DOMAIN), $wp_version ) ?> <?php printf( __( "Multi-site: %s", MASTERPRESS_DOMAIN), is_multisite() ? __("yes") : __("no") ) ?> <?php printf( __( "Host: %s", MASTERPRESS_DOMAIN), $_SERVER["HTTP_HOST"] ) ?> # PHP ENVIRONMENT <?php printf( __( "PHP Version: %s", MASTERPRESS_DOMAIN), phpversion() ) ?> <?php printf( __( "MySQL Version: %s", MASTERPRESS_DOMAIN), $wpdb->db_version() ) ?> <?php printf( __( "Operating System: %s", MASTERPRESS_DOMAIN), PHP_OS ) ?> <?php printf( __( "Memory Limit: %s", MASTERPRESS_DOMAIN), ini_get( 'memory_limit' ) ) ?> <?php printf( __( "Max Execution Time: %ss", MASTERPRESS_DOMAIN), ini_get( 'max_execution_time' ) ) ?> <?php printf( __( "File Uploads: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_off_on( 'file_uploads' ) ) ?> <?php printf( __( "Post Max Size: %s", MASTERPRESS_DOMAIN), ini_get( 'post_max_size' ) ) ?> <?php printf( __( "Upload Max File Size: %s", MASTERPRESS_DOMAIN), ini_get( 'upload_max_filesize' ) ) ?> <?php printf( __( "Allow URL fopen: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_off_on( 'allow_url_fopen' ) ) ?> <?php printf( __( "Short Open Tag: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_off_on( 'short_open_tag' ) ) ?> <?php printf( __( "Display Errors: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_off_on( 'register_globals' ) ) ?> <?php printf( __( "Register Globals: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_setting( 'register_globals' ) ) ?> <?php printf( __( "Magic Quotes GPC: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_setting( 'magic_quotes_gpc' ) ) ?> <?php printf( __( "Magic Quotes Runtime: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_setting( 'magic_quotes_runtime' ) ) ?> <?php printf( __( "Safe Mode: %s", MASTERPRESS_DOMAIN), MasterPress::ini_get_setting( 'safe_mode' ) ) ?> # ACTIVE WORDPRESS PLUGINS <?php echo implode("\n", $active_plugin_list); ?> # INACTIVE WORDPRESS PLUGINS <?php echo implode("\n", $inactive_plugin_list); ?> # SERVER SOFTWARE <?php echo $_SERVER["SERVER_SOFTWARE"] ?> </textarea> </div> </div> </div> <!-- /.fs --> </div> <!-- /#settings --> <?php }
function enclosure($attr = array()) { $a = wp_parse_args($attr); $a["length"] = $this->bytes(); $a["type"] = $this->mime(); $a["url"] = $this->permalink(); return WOOF_HTML::tag("enclosure", $a); }
public static function set_item_template_data(MEOW_FieldSet &$set, $args = array()) { $r = wp_parse_args( $args, array("preview" => false, "readonly" => !$set->is_editable(), "id_base" => "mp_meta_", "name_base" => "mp_meta", "order_base" => "mp_meta_order", "summary_preview_base" => "mp_summary_preview_", "summary_base" => "mp_summary_" ) ); $d = array(); $set_item_classes = array(); $set_fields_classes = array(); $set_summary_classes = array(); $d["allow_remove"] = true; if ($r["preview"]) { $d["preview"] = true; $d["allow_remove"] = false; } if ($r["readonly"]) { $d["readonly"] = true; $d["allow_remove"] = false; } $info = $set->info(); if ($info->expanded) { $d["toggle_class"] = "collapse"; $set_item_classes[] = "expanded"; $set_summary_classes[] = "hidden"; } else { $d["toggle_class"] = "expand"; $set_item_classes[] = "collapsed"; $set_fields_classes[] = "hidden"; } if (isset($args["versions_select"])) { $d["versions_select"] = $args["versions_select"]; } $d["lang_are_you_sure"] = esc_js(__("Are you sure?", MASTERPRESS_DOMAIN)); $d["label_collapse"] = __("Collapse", MASTERPRESS_DOMAIN); $d["set_item_classes"] = implode(" ", $set_item_classes); $d["set_fields_classes"] = implode(" ", $set_fields_classes); $d["description"] = trim( $info->label("description") ); $d["allow_multiple"] = $info->allow_multiple; $d["labels_toggle"] = __("Toggle", MASTERPRESS_DOMAIN); $d["set_labels_remove_plain"] = strip_tags($info->label("remove")); $d["set_labels_remove"] = $info->label("remove"); $d["fields"] = array(); if ( WOOF::is_true_arg($args, "creator") ) { $i = "!!set_index!!"; } else if ($set->creator) { // leave a placeholder for Handlebars to render into $i = "{{set_index}}"; } else { $i = $set->index(); } $d["set_index"] = $i; $set_id = $r["id_base"]."{$info->name}_$i"; $set_name = $r["name_base"]."[{$info->name}][$i]"; if (WOOF::is_true_arg($r, "nested")) { $d["order_name"] = $r["order_base"]."[$i]"; } else { $d["order_name"] = $r["order_base"]."[{$info->name}][$i]"; } $d["fields"] = array(); $fields = $info->fields(); $fi = 0; $fc = 0; foreach ($fields as $field) { if ($type_class = MPFT::type_class($field->type)) { $fc++; } } foreach ($fields as $field) { if ($field->current_user_can_see()) { $field_id = "{$set_id}_{$field->name}"; $field_name = "{$set_name}[{$field->name}]"; if ($r["preview"]) { $field_summary_id = $r["summary_preview_base"]."{$info->name}_{$field->name}"; } else { $field_summary_id = $r["summary_base"]."{$info->name}_{$field->name}"; } $fd = array(); // the field data if ($ftc = MPFT::type_class($field->type)) { $fi++; $fd["model_id"] = $field->id; $fd["readonly"] = false; // reset $fd["label_is_header"] = call_user_func_array( array($ftc, "label_is_header"), array($field->type_options)); $fd["type"] = $field->type; $fd["type_widget"] = "mpft_".str_replace("-", "_", $field->type); $fd["label"] = $field->display_label(); $fd["esc_label"] = esc_attr($field->display_label()); $fd["label_suffix"] = call_user_func( array($ftc, "label_suffix") ); $fd["field_path"] = $info->name."-".$field->name; $fd["prop_list"] = implode(",", MPFT::type_properties($field->type)); $fd["description"] = trim( $field->label("description") ); $fd["pos_class"] = WOOF_HTML::pos_class_1($fi, $fc, " mp-field-"); if ($field->current_user_can_manage()) { $mu = $field->manage_url($info); $mu .= "&mp_redirect=".urlencode($_SERVER["REQUEST_URI"]); if ($mu) { $fd["go"] = '<a href="'.$mu.'" class="mp-go with-mptt" data-tooltip="'.__("Edit Field Definition", MASTERPRESS_DOMAIN).'">'.__("Edit Field Definition").'</a>'; } } $field_classes = array("mpft-".$field->type); if ($fi == $fc) { $field_classes[] = "mp-field-last"; } $field_summary_classes = array(); if ($field->required) { $field_classes[] = "required"; $field_summary_classes[] = "required"; } if (isset($field->summary_options["emphasise"])) { $field_summary_classes[] = "em"; } $fd["name"] = $field->name; $fd["template_id"] = "{$info->name}_{$field->name}"; $fd["summary_id"] = $field_summary_id."_".$i; $fd["field_id"] = $field_id; $fd["id_first"] = $field_id; $opts = call_user_func( array($ftc, "ui_options") ); $ui = array(); if (count($opts) ) { $ui = call_user_func_array( array($ftc, "extract_options"), array($field->type_options, $opts) ); $ui = call_user_func_array( array($ftc, "normalize_options"), array($ui) ); } $ui_parts = array(); if (count($ui)) { foreach( $ui as $key => $value ) { $ui_parts[] = "'$key':'".esc_attr(esc_js($value))."'"; } } // $fd["lang"] = "{".implode(",", $lang_parts)."}"; $fd["ui"] = "{".implode(",", $ui_parts)."}"; if (isset($field->labels["tooltip_help"])) { $tooltip_help = trim($field->label("tooltip_help")); if ($tooltip_help != "") { $fd["label_tooltip"] = "#mptt_".$info->id."_".$field->id; } } if (!$field->current_user_can_edit($set->is_editable()) && !$r["preview"]) { $fd["readonly"] = true; } $strip_whitespace = !call_user_func( array($ftc, "ui_preserve_whitespace") ); $ftd_args = $r; if ($set->creator) { $meow_field = new MEOW_FieldCreator($field->name, null, $field); call_user_func_array( array($ftc, "apply_default"), array($meow_field, $set, $ftc) ); $field_ui_data = self::field_ui_template_data($set, $meow_field, $ftd_args); $field_ui = WOOF::render_template( self::field_ui_template(), $field_ui_data, $strip_whitespace ); } else { // here we regard the actual field value, and build the UI from that $meow_field = $set->field($field->name); $action = ""; if (isset($_GET["action"])) { $action = $_GET["action"]; } if (!$info->allow_multiple && $action != "edit") { call_user_func_array( array($ftc, "apply_default"), array($meow_field, $set, $ftc) ); } $field_ui_data = self::field_ui_template_data($set, $meow_field, $ftd_args); $field_ui = WOOF::render_template( self::field_ui_template(), $field_ui_data, $strip_whitespace ); } if ($fi == $fc) { if ($meow_field->blank()) { $set_summary_classes[] = "last-empty"; } } $fd["field_ui"] = $field_ui; // now build out the summary info $fd["summary_width"] = call_user_func( array($ftc, "summary_width") ); if (isset($field->summary_options["width"])) { $sw = (int) $field->summary_options["width"]; if ($sw >= 1 && $sw <= 5) { $fd["summary_width"] = $sw; } } $max_length = ( $fd["summary_width"] * 138 ) / 10; $fd["label_truncated"] = WOOF::truncate_basic( $fd["label"], $max_length, "<span>…</span>" ); if ($fd["label"] != $fd["label_truncated"]) { $fd["label_title"] = strip_tags($fd["label"]); } $label_classes = array(); if (method_exists($ftc, "summary_label_classes")) { $label_classes = call_user_func_array( array($ftc, "summary_label_classes"), array($meow_field) ); } $fd["label_classes"] = implode(" ", $label_classes); $empty = $meow_field->blank(); $fd["empty_summary"] = call_user_func_array( array($ftc, "empty_summary"), array($meow_field) ); $fd["summary"] = call_user_func_array( array($ftc, "summary"), array($meow_field) ); if ($empty) { $field_summary_classes[] = "empty"; } else { $fd["is_edit"] = "is-edit"; } $fd["classes"] = implode(" ", $field_classes); $fd["summary_classes"] = implode(" ", $field_summary_classes); // add the field data to the main data array $d["fields"][] = $fd; } // endif class_exists($ftc) } // current user can see } // endforeach $d["set_summary_classes"] = implode(" ", $set_summary_classes); return $d; }
public static function create_directories() { MPU::incl("view/mpv.php"); global $wf; global $blog_id; $main_exists = true; $global_exists = true; $try_content = true; self::$is_masterplan = ( isset($_GET["page"] ) && $_GET["page"] == "masterpress" ); if (!file_exists(MASTERPRESS_CONTENT_DIR)) { if ($try_content) { // if the base uploads directory doesn't exist, try to create it if (!wp_mkdir_p(MASTERPRESS_CONTENT_DIR)) { $main_exists = FALSE; // check that the base blogs.dir actually exists! $bd_base_dir = WP_CONTENT_DIR.WOOF_DIR_SEP."blogs.dir"; if (is_multisite()) { MPV::warn(sprintf(__('<strong>Note: the MasterPress content folder %s for this site does not yet exist and cannot be automatically created</strong>, which will cause problems when using MasterPress.<br /><br />Using your FTP client, server admin panel, or operating system (for local installations), please give the %s folder permission <strong>777</strong> so that MasterPress can create the necessary folders.<br /><br />Alternatively, use the following command if you have shell or terminal access: %s<br /><a href=%s>Click here</a> once this is complete, to verify this problem has been solved.', MASTERPRESS_DOMAIN), '<span class="tt">'.MASTERPRESS_CONTENT_DIR.'</span>', '<span class="tt">wp-content/blogs.dir/'.$blog_id.'/</span>', self::dir_cmd(WP_CONTENT_DIR.WOOF_DIR_SEP."blogs.dir".WOOF_DIR_SEP.$blog_id.WOOF_DIR_SEP), '"'.MPU::current_url().'"')); } else { MPV::warn(sprintf(__('<strong>Note: the MasterPress content folder %s does not yet exist and cannot be automatically created</strong>, which will cause problems when using MasterPress.<br /><br />Using your FTP client, server admin panel, or operating system (for local installations), please give the %s folder the permission <strong>777</strong> so that MasterPress can create the necessary folders.<br /><br />Alternatively, use the following command if you have shell or terminal access: %s<br /><a href=%s>Click here</a> once this is complete, to verify this problem has been solved.', MASTERPRESS_DOMAIN), '<span class="tt">'.MASTERPRESS_CONTENT_DIR.'</span>', '<span class="tt">wp-content</span>', self::dir_cmd(WP_CONTENT_DIR), '"'.MPU::current_url().'"')); } update_site_option("mp_dir_problem", true); } else { chmod(MASTERPRESS_CONTENT_DIR, 0755); } } } if (!file_exists(MASTERPRESS_GLOBAL_CONTENT_DIR)) { // if the global content directory doesn't exist, try to create it if (MASTERPRESS_GLOBAL_CONTENT_DIR != MASTERPRESS_CONTENT_DIR) { if (!wp_mkdir_p(MASTERPRESS_GLOBAL_CONTENT_DIR)) { $global_exists = FALSE; MPV::warn(sprintf(__('<strong>Note: the MasterPress shared content folder %s for your multi-site network does not yet exist and cannot be automatically created</strong>, which will cause problems when using MasterPress.<br /><br />Using your FTP client, server admin panel, or operating system (for local installations), please give the %s folder the permission <strong>777</strong> so that MasterPress can create the necessary folders.<br /><br />Alternatively, use the following command if you have shell or terminal access: %s<br /><a href=%s>Click here</a> once this is complete, to verify this problem has been solved', MASTERPRESS_DOMAIN), '<span class="tt">'.MASTERPRESS_GLOBAL_CONTENT_DIR.'</span>', '<span class="tt">wp-content</span>', self::dir_cmd(WP_CONTENT_DIR), '"'.MPU::current_url().'"')); update_site_option("mp_dir_problem", true); } else { chmod(MASTERPRESS_GLOBAL_CONTENT_DIR, 0755); } } } $warning_777 = __('Please change the permissions of your <span class="tt">wp-content</span> directory to <span class="tt">755</span>. <br />'); $stop_trying_global = false; $stop_trying = false; if ($main_exists && $global_exists) { $stop_trying = false; $stop_trying_global = false; // test if the standard sub-directories exist $not_writable_warning = sprintf(__('<strong>Note: the MasterPress folder %s does not seem to be writable</strong>, which will cause problems when using MasterPress.<br /><br />Using your FTP client, server admin panel, or operating system (for local installations), please give this folder the permission 777.<br /><br />Alternatively, use the following command if you have shell or terminal access: %s<br /><a href=%s>Click here</a> once this is complete, to verify this problem has been solved', MASTERPRESS_DOMAIN), '<span class="tt">'.MASTERPRESS_CONTENT_DIR.'.</span>', self::chmod_cmd(MASTERPRESS_CONTENT_DIR), '"'.MPU::current_url().'"'); if (is_multisite()) { $not_writable_global_warning = sprintf(__('<strong>Note: the MasterPress shared folder %s for your multi-site network does not seem to be writable</strong>, which will cause problems when using MasterPress.<br /><br />Using your FTP client, server admin panel, or operating system (for local installations), please give this folder the permission 777.<br /><br />Alternatively, use the following command if you have shell or terminal access: %s<br /><a href=%s>Click here</a> once this is complete, to verify this problem has been solved', MASTERPRESS_DOMAIN), '<span class="tt">'.MASTERPRESS_GLOBAL_CONTENT_DIR.'</span>', self::chmod_cmd(MASTERPRESS_GLOBAL_CONTENT_DIR), '"'.MPU::current_url().'"'); } else { $not_writable_global_warning = $not_writable_warning; } if (!$stop_trying) { if (!file_exists(MASTERPRESS_CONTENT_IMAGE_CACHE_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_IMAGE_CACHE_DIR)) { $stop_trying = TRUE; MPV::warn($not_writable_warning); } } } if (!$stop_trying) { if (!file_exists(MASTERPRESS_CONTENT_IMAGE_FROM_URL_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_IMAGE_FROM_URL_DIR)) { $stop_trying = TRUE; MPV::warn($not_writable_warning); } } } if (!$stop_trying) { if (!file_exists(MASTERPRESS_CONTENT_FILE_FROM_URL_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_FILE_FROM_URL_DIR)) { $stop_trying = TRUE; MPV::warn($not_writable_warning); } } } if (!$stop_trying) { if (!file_exists(MASTERPRESS_CONTENT_UPLOADS_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_UPLOADS_DIR)) { $stop_trying = TRUE; MPV::warn($not_writable_warning); } } } if (!is_multisite() && $stop_trying) { // global and site are the same path $stop_trying_global = true; } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_CONTENT_MENU_ICONS_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_MENU_ICONS_DIR)) { $stop_trying_global = true; MPV::warn($not_writable_global_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_CONTENT_MASTERPLANS_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_MASTERPLANS_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_global_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_CONTENT_MPFT_CACHE_DIR)) { if (!wp_mkdir_p(MASTERPRESS_CONTENT_MPFT_CACHE_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_global_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_TMP_DIR)) { if (!wp_mkdir_p(MASTERPRESS_TMP_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_EXTENSIONS_DIR)) { if (!wp_mkdir_p(MASTERPRESS_EXTENSIONS_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_global_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_EXTENSIONS_FIELD_TYPES_DIR)) { if (!wp_mkdir_p(MASTERPRESS_EXTENSIONS_FIELD_TYPES_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_extensions_warning); } } } if (!$stop_trying_global) { if (!file_exists(MASTERPRESS_EXTENSIONS_ICONS_DIR)) { if (!wp_mkdir_p(MASTERPRESS_EXTENSIONS_ICONS_DIR)) { $stop_trying_global = TRUE; MPV::warn($not_writable_extensions_warning); } } } if (!$stop_trying) { // check the writable status of MasterPress directories $not_writables = self::check_writable( array( MASTERPRESS_CONTENT_MENU_ICONS_DIR, MASTERPRESS_CONTENT_IMAGE_CACHE_DIR, MASTERPRESS_CONTENT_IMAGE_FROM_URL_DIR, MASTERPRESS_CONTENT_FILE_FROM_URL_DIR, MASTERPRESS_CONTENT_MPFT_CACHE_DIR, MASTERPRESS_TMP_DIR, MASTERPRESS_CONTENT_MASTERPLANS_DIR, MASTERPRESS_EXTENSIONS_DIR, MASTERPRESS_EXTENSIONS_FIELD_TYPES_DIR, MASTERPRESS_EXTENSIONS_ICONS_DIR, MASTERPRESS_CONTENT_UPLOADS_DIR )); if (count($not_writables)) { $content_paths = WOOF_HTML::open("p"); $chmods = WOOF_HTML::open("code"); foreach ($not_writables as $nw) { $content_paths .= WOOF_HTML::tag("span", "class=tt", $nw["content_path"]."<br />"); $chmods .= $nw["chmod"]; } $content_paths .= WOOF_HTML::close("p"); $chmods .= WOOF_HTML::close("code"); MPV::warn(sprintf(__('<p><strong>Note:</strong> these MasterPress folders in <span class="tt">wp-content</span> are not writable which will cause problems using WordPress:%s<br /></p><p>Using your FTP client, server admin panel, or operating system (for local installations), please give these folders permission 777.<br /><br />Alternatively, use the following commands if you have shell or terminal access:<br />%s', MASTERPRESS_DOMAIN), $content_paths, $chmods)); } } } }
public function debug($args = array()) { global $wf; $r = array(); $parse = true; if (is_string($args)) { $check = explode("&", $args); $check_2 = explode("=", $check[0]); if (count($check_2) == 1) { $parse = false; // simple label $r["l"] = $check_2[0]; $r["pre"] = true; } } if ($parse) { $r = wp_parse_args( $args, array( "pre" => "1" ) ); } if (isset($r["l"])) { echo '<h2 class="debug-label">'.$r["l"].'</h2>'; } if (WOOF::is_true_arg($r, "pre")) { echo "<pre>"; } $data = $this->debug_data(); $class = get_class( $this ); $my_class = $class; $parents = array(); if (is_object($data)) { $data = (array) $data; } else if (!is_array($data)) { $data = array("value" => $data); } while ($class = get_parent_class($class)) { $parents[] = WOOF_HTML::tag("a", "target=_blank&href=" . $wf->woof_docs_base . WOOF_Inflector::dasherize($class), $class); } $data = array( "EXTENDS" => implode(", ", $parents), "site_id" => $this->_site_id ) + $data; // TODO - add support for displaying collection items in this new format $out = preg_replace("/^Array/", WOOF_HTML::tag("a", "target=_blank&href=" . $wf->woof_docs_base . WOOF_Inflector::dasherize($my_class) , $my_class), print_r($data, true)); echo $out; if (WOOF::is_true_arg($r, "pre")) { echo "</pre>"; } return false; }
public function form($type) { global $wf; $model = MasterPress::$model; ?> <?php MPV::messages(); ?> <div class="f"> <label for="file-name" class="icon"><i class="script-php"></i><?php _e("File Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="file-name" name="file_name" type="text" readonly="readonly" class="readonly text mono key" maxlength="20" value="<?php echo $model->id ?>" /> </div> </div> <!-- /.f --> <div class="fs fs-supports"> <div class="fst"> <div class="fstb"> <h3><i class="gear"></i><strong><?php _e("Supports", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("controls the user interface for creating and editing posts based on this template", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button class="button button-small button-select-all" type="button"><?php _e('Select <strong class="all">All</strong>', MASTERPRESS_DOMAIN) ?></button> <button class="button button-small button-select-none" type="button"><?php _e('Select <strong class="none">None</strong>', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <input id="supports_pb" name="supports_pb" type="hidden" value="true" /> <div class="f f-supports_type"> <?php $checked = WOOF_HTML::checked_attr($model->supports == "*"); ?> <div class="fw"> <input id="supports_type_inherit" name="supports_type" value="inherit" type="radio" <?php echo $checked ?> class="radio" /> <label for="supports_type_inherit" class="radio"><?php _e("Use the same features as the associated post type(s)", MASTERPRESS_DOMAIN) ?></label> </div> <?php $checked = WOOF_HTML::checked_attr($model->supports != "*"); ?> <div class="fw"> <input id="supports_type_custom" name="supports_type" value="custom" type="radio" <?php echo $checked ?> class="radio" /> <label for="supports_type_custom" class="radio"><?php _e("Use custom features", MASTERPRESS_DOMAIN) ?></label> </div> </div> <!-- /.f --> <div id="fs-supports-custom"> <div id="fs-supports-1"> <div class="fw"> <input id="supports_title" name="supports[]" value="title" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("title", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['title'] }" /> <label for="supports_title" class="checkbox"><?php _e("Title", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a text input to edit the post title", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_editor" name="supports[]" value="editor" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("editor", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['auto_excerpt'] }" /> <label for="supports_editor" class="checkbox"><?php _e("Editor", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show the main content box", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_comments" name="supports[]" value="comments" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("comments", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['comment_count'] }" /> <label for="supports_comments" class="checkbox"><?php _e("Comments", MASTERPRESS_DOMAIN); ?><span> - <?php _e("the <em>ability</em> to allow / disallow comments on posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_trackbacks" name="supports[]" value="trackbacks" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("trackbacks", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['trackback_count'] }" /> <label for="supports_trackbacks" class="checkbox"><?php _e("Trackbacks", MASTERPRESS_DOMAIN); ?><span> - <?php _e("the <em>ability</em> to allow / disallow trackbacks to posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_post_formats" name="supports[]" value="post-formats" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("post-formats", $model->supports)) ?> type="checkbox" class="checkbox { tags: ['post_format'] }" /> <label for="supports_post_formats" class="checkbox"><?php _e("Post Formats", MASTERPRESS_DOMAIN); ?><span> - <?php _e("used by themes to change the display of posts of this type", MASTERPRESS_DOMAIN); ?></span></label> </div> <!-- /.fw --> </div> <!-- /.fs-supports-1 --> <div id="fs-supports-2"> <div class="fw"> <input id="supports_revisions" name="supports[]" value="revisions" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("revisions", $model->supports)) ?> type="checkbox" class="checkbox" /> <label for="supports_revisions" class="checkbox"><?php _e("Revisions", MASTERPRESS_DOMAIN); ?><span> - <?php _e("allow revisions for posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_author" name="supports[]" value="author" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("author", $model->supports)) ?> class="checkbox" /> <label for="supports_author" class="checkbox"><?php _e("Author", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a select box for changing the author", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_excerpt" name="supports[]" value="excerpt" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("excerpt", $model->supports)) ?> class="checkbox { tags: ['excerpt'] }" /> <label for="supports_excerpt" class="checkbox"><?php _e("Excerpt", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a text area for writing a custom excerpt", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_page_attributes" name="supports[]" value="page-attributes" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("page-attributes", $model->supports) ) ?> class="checkbox" /> <label for="supports_page_attributes" class="checkbox"><?php _e("Type Attributes", MASTERPRESS_DOMAIN); ?><span> - <?php _e("Show the UI for editing the Template, Menu Order and Parent", MASTERPRESS_DOMAIN); ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_thumbnail" name="supports[]" value="thumbnail" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("thumbnail", $model->supports) ) ?> class="checkbox { tags: ['thumbnail'] }" /> <label for="supports_thumbnail" class="checkbox"><?php _e("Thumbnail", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show the <em>standard</em> thumbnail upload for posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> </div> <!-- /.fs-supports-2 --> </div> <!-- /#fs-supports-custom --> </div> </div> </div> <!-- /.fs --> <?php $args = array(); $args["supports"] = array(); $args["supports"] = array("multisite"); $args["supports"][] = "post_types"; $args["labels"] = array( "title" => __("control the visibility of this template in WordPress", MASTERPRESS_DOMAIN), "title_multisite" => __("specify the sites in the multisite network that this template is available in", MASTERPRESS_DOMAIN), "title_post_types" => __("specify the post types that this template can be used by", MASTERPRESS_DOMAIN) ); $args["defaults"] = array( "post_types" => "page" ); MPV::fs_visibility( $model, $args ); } // end form
public static function ui( MEOW_Field $field ) { // $field here is a MEOW_Field, which is a class that encapsulates the value of a field AND the info associated with it $options = $field->info->type_options; $select_none_label = __("Select None", MASTERPRESS_DOMAIN); $select_all_label = __("Select All", MASTERPRESS_DOMAIN); $disabled = WOOF_HTML::disabled_attr(!$field->is_editable()); $field_value = $field->value(); if (!is_array($field_value)) { $field_value = array(); } $selected_values = $field_value; $values = WOOF_HTML::option_values($options["values"]); self::$values_keys = array(); if (!$field->blank()) { // populate the values $selected_values = array(); foreach ($values as $key => $value) { if (in_array($value, $field_value)) { self::$values_keys[] = $key; // cache the keys for the summary, so we don't have to look them up again! $selected_values[] = $value; } } } $hidden = ""; $buttons = ""; $checkbox_name = "{{name}}[]"; $checkbox_id = "{{id}}"; if (!$field->is_editable()) { $hidden_name = $checkbox_name; $hidden_id = $checkbox_id; $checkbox_name = "display_".$checkbox_name; $checkbox_id = "display_".$checkbox_id; foreach ($selected_values as $value) { $hidden .= '<input id="'.$hidden_id.'" name="'.$hidden_name.'" value="'.$value.'" type="hidden" />'; } } else { $buttons = <<<HTML <div class="buttons"> <button type="button" class="button button-small check-all">{$select_all_label}</button> <button type="button" class="button button-small uncheck-all">{$select_none_label}</button> </div> HTML; } $checkboxes = WOOF_HTML::input_checkbox_group( "{{name}}[]", "{{id}}", $values, $selected_values, WOOF_HTML::open("div", "class=fwi"), WOOF_HTML::close("div"), !$field->is_editable()); $html = <<<HTML <div class="f"> <div class="fw"> {$checkboxes} {$hidden} </div> {$buttons} </div> HTML; return $html; }
public function form($type) { $model = MasterPress::$model; global $meow_provider; ?> <?php MPV::messages(); ?> <input type="hidden" name="_builtin" value="<?php echo $model->_builtin ? "true" : "false" ?>" /> <input type="hidden" name="_external" value="<?php echo $model->_external ? "true" : "false" ?>" /> <div class="f"> <label for="name" class="icon"><i class="script-php"></i><?php _e("<strong>Singular</strong> Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="name_original" name="name_original" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name_last" name="name_last" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name" name="name" <?php MPV::read_only_attr($model->_builtin || $model->_external || MPC::is_edit()) ?> type="text" class="text mono key <?php echo MPV::read_only_class($model->_builtin || $model->_external) ?>" maxlength="20" value="<?php echo $model->name ?>" /><?php if (!$model->_builtin && !$model->_external) { ?><em class="required">(required)</em><?php } ?> <p> <?php _e("This is a unique identifier for the taxonomy in the WordPress API. It is not displayed, and by convention it <strong>must</strong> be a singular form, lowercase string with underscores to separate words.", MASTERPRESS_DOMAIN); ?> </p> </div> <p id="name_warning" class="warning"> <i class="error-circle"></i> <?php _e("Note: check that you have definitely entered a <strong>singular word</strong> here, as the singular form of <em>Plural Name</em> is currently different to this value.", MASTERPRESS_DOMAIN) ?> </p> </div> <!-- /.f --> <div class="f"> <label for="plural_name" class="icon"><i class="script-php"></i><?php _e("<strong>Plural</strong> Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="plural_name" name="plural_name" <?php MPV::read_only_attr($model->_builtin || $model->_external || MPC::is_edit()) ?> type="text" value="<?php echo $model->plural_name ?>" class="text mono key <?php echo MPV::read_only_class($model->_builtin || $model->_external) ?>" /><?php if (!$model->_builtin && !$model->_external) { ?><em class="required">(required)</em><?php } ?> <p> <?php _e("The plural form of <em>Singular Name</em>, following the same naming conventions", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f clearfix"> <label id="label-title_icon" for="title_icon" class="icon"><i class="image-small"></i><?php _e("Icon", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <div id="icon-file-uploader" class="icon-uploader file-uploader { ids: { drop: 'menu_icon_drop_area' }, input: '#title_icon', inputName: 'title_icon_ul', base_url: '<?php echo MASTERPRESS_GLOBAL_CONTENT_URL ?>', params: { dir: 'menu-icons/' }, limit: 1, lang: { buttonChoose: '<?php _e("Choose From Computer…", MASTERPRESS_DOMAIN) ?>', buttonReplace: '<?php _e("Replace file…", MASTERPRESS_DOMAIN) ?>' } }"> <div id="menu_icon_drop_area" class="drop-area"><?php _e("Drop file here to upload", MASTERPRESS_DOMAIN) ?></div> <?php $file_name = $model->title_icon; $file_class = ""; $clear_class = ""; if ($file_name == "") { $file_name = __("( None )", MASTERPRESS_DOMAIN); $file_class = "name-none"; $clear_class = "hidden"; } ?> <div class="file"> <span class="preview" style="background-image: url('<?php echo MPU::menu_icon_url($model->title_icon, true, "taxonomy") ?>');"></span><span data-none="<?php echo __("( None )", MASTERPRESS_DOMAIN) ?>" class="name <?php echo $file_class ?>"><?php echo $file_name ?></span> <button type="button" class="<?php echo $clear_class ?> clear ir" title="<?php _e("Clear", MASTERPRESS_DOMAIN) ?>">Clear</button> </div> <input id="title_icon" name="title_icon" value="<?php echo $model->title_icon ?>" type="hidden" /> <div class="uploader-ui"></div> </div> <!-- /.file-uploader --> <?php MPV::icon_select($model->title_icon, "title-icon-select", "title_icon_select", "icon-file-uploader"); ?> </div> </div> <!-- /.f --> <?php if (!$model->_external) : ?> <div class="f"> <label for="disabled" class="icon"><i class="slash"></i><?php _e("Disabled", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="disabled" name="disabled" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->disabled ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#disabled' }"> <?php _e("disabling a taxonomy will keep its definition in the database but it will not be registered in WordPress, which will often be <strong>preferable to deleting it</strong> entirely.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php endif; ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="f"> <label for="hierarchical" class="icon"><i class="hierarchy"></i><?php _e("Hierarchical", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="hierarchical" name="hierarchical" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->hierarchical ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#hierarchical' }"> <?php _e("hierarchical taxonomies are like WordPress <em>Categories</em>, whereas non-hierarchical taxonomies are like WordPress <em>Tags</em>.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_ui" class="icon"><i class="metabox-menu"></i><?php _e("Show UI", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_ui" name="show_ui" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_ui ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_ui' }"> <?php _e("unchecking this will internalize this taxonomy, hiding it from both the admin menus and the edit post interface", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="hide_term_ui" class="icon"><i class="metabox-tags-small"></i><?php _e("Hide Standard Terms UI", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="hide_term_ui" name="hide_term_ui" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->hide_term_ui ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#hide_term_ui' }"> <?php _e("hides the standard interface for assigning terms from this taxonomy to posts.<br>This may be useful if you are solely using this taxonomy to provide the values<br>for a <em>Related Terms</em> field.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_in_nav_menus" class="icon"><i class="menu-gray"></i><?php _e("Show in Nav Menus", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_in_nav_menus" name="show_in_nav_menus" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_in_nav_menus ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_in_nav_menus' }"> <?php _e("allows this taxonomy to be selected in navigation menus", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_tagcloud" class="icon"><i class="tag-cloud size-20"></i><?php _e("Show Tag Cloud", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_tagcloud" name="show_tagcloud" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_tagcloud ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_tagcloud' }"> <?php _e("check to allow the Tag Cloud widget to use this taxonomy", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_manage_filter" class="icon"><i class="funnel"></i><?php _e("Show Manage Filter", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_manage_filter" name="show_manage_filter" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_manage_filter ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_manage_filter' }"> <?php _e("show a drop-down filter list of terms above post listings attached to this taxonomy", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php endif; // !$model->_builtin ?> <?php if (!$model->_external) : ?> <div class="fs fs-post-types"> <div class="fst"> <div class="fstb"> <h3><i class="pins"></i><strong><?php _e("Post Types", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("associate post types with this taxonomy", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button class="button button-small button-select-all" type="button"><?php _e('Select <strong class="all">All</strong>', MASTERPRESS_DOMAIN) ?></button> <button class="button button-small button-select-none" type="button"><?php _e('Select <strong class="none">None</strong>', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <?php $post_types = MPM_PostType::find(array("orderby" => "name ASC")); ?> <?php foreach ($post_types as $post_type) : $disabled = $post_type->disabled ? ' disabled' : ''; $disabled_title = $post_type->disabled ? __("This post type is disabled", MASTERPRESS_DOMAIN) : ''; $builtin = $post_type->_builtin ? ' '.__('(Built-in)', MASTERPRESS_DOMAIN) : ''; ?> <div class="fw"> <input id="post_types_<?php echo $post_type->name ?>" name="post_types[]" value="<?php echo $post_type->name ?>" type="checkbox" <?php echo WOOF_HTML::checked_attr( $model->linked_to_post_type($post_type) || MPV::in_post_array("post_types", $post_type->name) ) ?> class="checkbox" /> <label for="post_types_<?php echo $post_type->name ?>" class="checkbox <?php echo $disabled ?>" title="<?php echo $disabled_title ?>"><?php echo $post_type->labels["name"] ?><span><?php echo $builtin ?></span></label> </div> <!-- /.fw --> <?php endforeach; ?> </div> </div> </div> <!-- /.fs --> <?php endif; ?> <script id="custom-column-template" type="text/html"> <li class="column clearfix"> <div class="head"> <input name="columns[{{index}}][title]" value="Column" type="text" class="text" /> <input name="columns[{{index}}][disabled]" value="" type="hidden" class="disabled" /> <span class="handle"></span> </div> <div class="body"> <textarea name="columns[{{index}}][content]" class="column-content mono editable"></textarea> </div> <div class="foot"> <div> <button class="text remove"><i></i><?php _e("Remove") ?></button> </div> </div> </li> </script> <div class="fs fs-column-builder"> <div class="fst"> <div class="fstb"> <h3><i class="grid"></i><strong><?php _e("Columns") ?></strong> - <?php _e("specify the columns shown in the manage listing for terms in this taxonomy") ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="columns-clip"> <div class="columns-wrap clearfix"> <ul class="columns clearfix"> <?php $count = 0; $core_enabled = array(); ?> <?php foreach ($model->columns() as $column) : ?> <?php $class = array("column clearfix"); $disabled = ""; $core = ""; $title = ""; $title_readonly = ""; if (isset($column["title"])) { $title = $column["title"]; } $content = ""; if (isset($column["title_readonly"])) { $title_readonly = ' readonly="true" title="'.__("This title cannot be changed, as it dynamically displays the active post type").'" '; } if (isset($column["content"])) { $content = stripslashes($column["content"]); } if (isset($column["core"])) { $core = $column["core"]; $content = "{{col.".$core."}}"; } if (isset($column["disabled"])) { $disabled = $column["disabled"]; } if ($core != "") { $class[] = "core"; $class[] = $core; $data_core = ' data-core="'.$core.'" '; } if ($core == "cb") { $class[] = "checkbox nosort"; } if ($disabled == "yes") { $class[] = "disabled"; } else { if ($core != "") { $core_enabled[] = $core; } } ?> <li <?php echo $data_core ?> class="<?php echo implode(" ", $class) ?>"> <div class="head"> <?php if ($core == "cb") : ?> <input type="checkbox" /> <input name="columns[<?php echo $count ?>][core]" value="cb" type="hidden" /> <?php else: ?> <input name="columns[<?php echo $count ?>][title]" <?php echo $title_readonly ?> value="<?php echo $title ?>" type="text" class="text" /> <?php if ($core != "") : ?> <input name="columns[<?php echo $count ?>][core]" value="<?php echo $core ?>" type="hidden" /> <?php endif; ?> <input name="columns[<?php echo $count ?>][disabled]" value="<?php echo $disabled ?>" type="hidden" class="disabled" /> <span class="handle"></span> <?php endif; ?> </div> <!-- /.head --> <div class="body clearfix"> <?php if ($core == "cb") : ?> <input type="checkbox" /> <?php else: ?> <?php if ($core == "comments") : ?> <span class="icon"></span> <textarea name="columns[<?php echo $count ?>][content]" readonly="true" class="content mono readonly hidden"></textarea> <?php elseif ($core != "") : ?> <textarea name="columns[<?php echo $count ?>][content]" title="<?php _e("Content cannot be changed as this is a built-in column") ?>" readonly="true" class="content mono readonly"><?php echo $content ?></textarea> <?php else : ?> <textarea name="columns[<?php echo $count ?>][content]" class="content mono editable" style="z-index: <?php echo 200 - $count ?>"><?php echo $content ?></textarea> <?php endif; ?> <?php endif; ?> </div> <div class="foot"> <div> <?php if ($core != "cb" && $core != "title") : ?> <button type="button" class="text remove"><i></i><?php _e("Remove") ?></button> <?php endif; ?> </div> </div> </li> <?php $count++; ?> <?php endforeach; ?> </ul> </div> <!-- /.columns-wrap --> <div class="core-columns"> <div class="f"> <p class="label"><i class="wall"></i><?php _e("Built-in columns:", MASTERPRESS_DOMAIN) ?></p> <?php $core_columns = array( "Name" => "name", "Description" => "description", "Slug" => "slug", "[Post Type]" => "posts", ); ?> <?php foreach ($core_columns as $label => $key) : ?> <?php $checked_attr = WOOF_HTML::checked_attr(in_array($key, $core_enabled)); $style = ""; $supports = explode(",", $model->supports); if ($key == "categories" && !$model->linked_to_taxonomy_name("category")) { $style = 'style="display: none" '; } else if ($key == "tags" && !$model->linked_to_taxonomy_name("post_tag")) { $style = 'style="display: none" '; } else if ($key == "author" && !in_array("author", $supports)) { $style = 'style="display: none" '; } else if ($key == "comments" && !in_array("comments", $supports)) { $style = 'style="display: none" '; } ?> <div <?php echo $style ?> id="fw-core-column-<?php echo $key ?>" class="fw"> <input id="core-column-<?php echo $key ?>" <?php echo $checked_attr ?> value="<?php echo $key ?>" type="checkbox" class="checkbox" /> <label for="core-column-<?php echo $key ?>" class="checkbox"><?php echo $label ?></label> </div> <!-- /.fw --> <?php endforeach; ?> </div> </div> <!-- /.core-columns --> <?php if (MPC::is_edit()) : ?> <style type="text/css"> <?php foreach (MPFT::type_keys() as $key) : ?> .select2-results .field-type-<?php echo $key ?>, .select2-container .field-type-<?php echo $key ?> { background-repeat: no-repeat; background-image: url(<?php echo MPU::type_icon_url($key) ?>); } <?php endforeach; ?> </style> <div id="dialog-fields" data-title="<?php _e("Select a Field to Display in the Column", MASTERPRESS_DOMAIN) ?>"> <?php $fs = $meow_provider->taxonomy_field_sets($model->name); $field_options = array(); $field_options[""] = ""; $field_options_attr = array(""); foreach ($fs as $set) { $fo = array(); $fo_attr = array(); foreach ($set->fields() as $field) { $fo[$field->display_label()] = $set->name.".".$field->name; $fo_attr[] = $field_options_attr[] = array("data-icon" => "mp-icon field-type-".$field->type); } $field_options[$set->display_label()] = array("options" => $fo, "options_attr" => $fo_attr); } echo WOOF_HTML::select(array("id" => "add-field-column-field-sets", "name" => "add-field-column-field-sets", "class" => "with-icons select2-source", "data-placeholder" => __("-- Select a Field --", MASTERPRESS_DOMAIN)), $field_options, "", $field_options_attr); ?> </div> <!-- /#dialog-fields --> <?php endif; ?> <div class="custom-columns"> <?php if (MPC::is_edit() && count($field_options) > 1) : ?> <div class="control"> <button id="add-field-column" type="button" class="text add field"><i></i><?php _e('<em class="create">Add</em> <b>Field</b> Column', MASTERPRESS_DOMAIN) ?></button> </div> <?php endif; ?> <div class="control"> <button id="add-custom-column" type="button" class="text add"><i></i><?php _e('<em class="create">Add</em> Custom Column', MASTERPRESS_DOMAIN) ?></button> </div> </div> <!-- /.custom-columns --> </div> <!-- /.columns-clip --> </div> </div> </div> <!-- /.fs --> <?php if (is_multisite() && MASTERPRESS_MULTISITE_SHARING) { $args["supports"] = array("multisite"); $args["labels"] = array( "title" => __("control the visibility of this Taxonomy within WordPress", MASTERPRESS_DOMAIN), "title_multisite" => __("specify the sites in the multisite network that this Taxonomy is available in", MASTERPRESS_DOMAIN), "multisite_all" => __( "All Sites" ) ); MPV::fs_visibility( $model, $args ); } ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="fs fs-url-options"> <div class="fst"> <div class="fstb"> <h3><i class="globe"></i><strong><?php _e("URL Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("controls how your taxonomy is accessible via URLs in your site", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="rewrite_slug" class="text"><?php _e("Rewrite Slug", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="rewrite_slug" name="rewrite[slug]" type="text" value="<?php echo $model->rewrite["slug"] ?>" class="text mono" /> <p> <?php _e("The slug prepended to posts attached to this taxonomy in the URL structure.", MASTERPRESS_DOMAIN); ?><br /> <?php _e("The default value follows the WordPress of using the lowercase sanitized version of <em>Singular Name</em>.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="fw"> <input id="rewrite_with_front" name="rewrite[with_front]" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->rewrite["with_front"] ) ?> class="checkbox" /> <label for="rewrite_with_front" class="checkbox"><?php _e("With Front? - <span>Append the above slug to the top level URL set in your permalink settings.</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="fw hierarchical-only"> <input id="rewrite_hierarchical" name="rewrite[hierarchical]" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->rewrite["hierarchical"] ) ?> class="checkbox" /> <label for="rewrite_hierarchical" class="checkbox"><?php _e("Hierarchical? - <span>Allow hierarchical urls, mirroring the hierarchy of the taxonomy.</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-query-data-options"> <div class="fst"> <div class="fstb"> <h3><i class="database"></i><strong><?php _e("Query & Data Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e(" controls API access to this taxonomy in database queries and site searches", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="fw"> <input id="query_allowed" name="query_allowed" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->meta("query_allowed") ) ?> class="checkbox" /> <label for="query_allowed" class="checkbox"><?php _e("Allow Queries? - <span>Allow this taxonomy to be queried in the database.</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="f"> <label for="query_var" class="text"><?php _e("Query Variable", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="query_var" name="query_var" type="text" value="<?php echo $model->query_var ?>" class="text mono" /> <p> <?php _e('Enter the query variable used to query this taxonomy with <span class="tt">query_posts</span> or <span class="tt">WP_Query</span>. Generally this should simply be the default value of the <em>Singular Name</em>, unless you have a good reason to change it.', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="update_count_callback" class="text"><?php _e("Update Count Callback", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="update_count_callback" name="update_count_callback" type="text" value="<?php echo $model->update_count_callback ?>" class="text mono" /> <p> <?php _e("The name of a function that will be called to update the count of an associated post type.", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-labels"> <div class="fst"> <div class="fstb"> <h3><i class="label-string"></i><strong><?php _e("Labels", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("displayed throughout the WordPress administration UI", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button id="autofill-labels" class="button button-autofill" type="button"><?php _e('<strong>Auto-Fill</strong> Labels', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="label_singular_name"><?php _e("<em>Singular</em> Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_singular_name" name="labels[singular_name]" value="<?php echo $model->labels["singular_name"] ?>" type="text" class="text { tmpl: '{{singular_name}}' }" /> <em class="recommended">(<?php _e("recommended", MASTERPRESS_DOMAIN) ?>)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_name"><?php _e("<em>Plural</em> Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_name" name="labels[name]" value="<?php echo $model->labels["name"] ?>" type="text" class="text { tmpl: '{{plural_name}}' }" /> <em class="recommended">(<?php _e("recommended", MASTERPRESS_DOMAIN) ?>)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_menu_name"><?php _e("Menu Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_menu_name" name="labels[menu_name]" value="<?php echo $model->labels["menu_name"] ?>" type="text" class="text { tmpl: '<?php _e("{{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_add_new"><?php _e("Search Items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_search_items" name="labels[search_items]" value="<?php echo $model->labels["search_items"] ?>" type="text" class="text { tmpl: '<?php _e("Search {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_popular_items"><?php _e("Popular Items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_popular_items" name="labels[popular_items]" value="<?php echo $model->labels["popular_items"] ?>" type="text" class="text { tmpl: '<?php _e("Popular {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_all_items"><?php _e("All Items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_all_items" name="labels[all_items]" value="<?php echo $model->labels["all_items"] ?>" type="text" class="text { tmpl: '<?php _e("All {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f hierarchical-only"> <label for="label_parent_item"><?php _e("Parent Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_parent_item" name="labels[parent_item]" value="<?php echo $model->labels["parent_item"] ?>" type="text" class="text { tmpl: '<?php _e("Parent {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f hierarchical-only"> <label for="label_parent_item_colon"><?php _e("Parent Item Colon:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_parent_item_colon" name="labels[parent_item_colon]" value="<?php echo $model->labels["parent_item_colon"] ?>" type="text" class="text { tmpl: '<?php _e("Parent {{singular_name}}:", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_edit_item"><?php _e("Edit Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_edit_item" name="labels[edit_item]" value="<?php echo $model->labels["edit_item"] ?>" type="text" class="text { tmpl: '<?php _e("Edit {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_update_item"><?php _e("Update Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_update_item" name="labels[update_item]" value="<?php echo $model->labels["update_item"] ?>" type="text" class="text { tmpl: '<?php _e("Update {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_add_new_item"><?php _e("Add New Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_add_new_item" name="labels[add_new_item]" value="<?php echo $model->labels["add_new_item"] ?>" type="text" class="text { tmpl: '<?php _e("Add New {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_new_item_name"><?php _e("New Item Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_new_item_name" name="labels[new_item_name]" value="<?php echo $model->labels["new_item_name"] ?>" type="text" class="text { tmpl: '<?php _e("New {{singular_name}} Name", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_separate_items_with_commas"><?php _e("Separate Items With Commas:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_separate_items_with_commas" name="labels[separate_items_with_commas]" value="<?php echo $model->labels["separate_items_with_commas"] ?>" type="text" class="text { tmpl: '<?php _e("Separate {{plural_name}} with commas", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_add_or_remove_items"><?php _e("Add or remove items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_add_or_remove_items" name="labels[add_or_remove_items]" value="<?php echo $model->labels["add_or_remove_items"] ?>" type="text" class="text { tmpl: '<?php _e("Add or remove {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f"> <label for="label_choose_from_most_used"><?php _e("Choose from most used:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_choose_from_most_used" name="labels[choose_from_most_used]" value="<?php echo $model->labels["choose_from_most_used"] ?>" type="text" class="text { tmpl: '<?php _e("Choose from most used {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-capability-keys"> <div class="fst"> <div class="fstb"> <h3><i class="key"></i><strong><?php _e("Capabilities", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("the keys used to control access to this taxonomy", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="capability_manage_terms"><?php _e("Manage Terms:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="capability_manage_terms" name="capabilities[manage_terms]" value="<?php echo $model->capabilities["manage_terms"] ?>" type="text" class="text mono" /> <p class="note"> <?php _e('<span class="tt">manage_categories</span> is the typical value', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="capability_edit_terms"><?php _e("Edit Terms:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="capability_edit_terms" name="capabilities[edit_terms]" value="<?php echo $model->capabilities["edit_terms"] ?>" type="text" class="text mono" /> <p class="note"> <?php _e('<span class="tt">manage_categories</span> is the typical value', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="capability_delete_terms"><?php _e("Delete Terms:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="capability_delete_terms" name="capabilities[delete_terms]" value="<?php echo $model->capabilities["delete_terms"] ?>" type="text" class="text mono" /> <p class="note"> <?php _e('<span class="tt">manage_categories</span> is the typical value', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="capability_assign_terms"><?php _e("Assign Terms:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="capability_assign_terms" name="capabilities[assign_terms]" value="<?php echo $model->capabilities["assign_terms"] ?>" type="text" class="text mono" /> <p class="note"> <?php _e('<span class="tt">edit_posts</span> is the typical value', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <?php endif; // !$model->_builtin ?> <?php } // end form
public static function attributes_meta_box_content($post, $r) { // custom attributes metabox that mimics the core box, // but allows templates to be assigned to other post types global $wf, $meow_provider, $wpdb; $the = $wf->the(); $type = $the->type(); $type_name = $type->name; $type_model = MPM_PostType::find_by_name($type_name); $my_templates = array(); // prime the templates $models = array(); foreach (get_page_templates() as $template => $file) { $models[$file] = MPM_Template::find_by_id($file); } foreach ($type_model->templates() as $template) { $my_templates[] = $template->id; } $children = $the->children->extract("id"); if (is_array($children) && count($children)) { $post__not_in = array_unshift($children, $the->id); } else { $post__not_in = array($the->id); } $meta_template = $the->meta("_wp_page_template", true); if (!is_array($post__not_in)) { $post__not_in = array($post__not_in); } if (count($post__not_in)) { $posts = $type->top_posts(array("cache_results" => false, "orderby" => "menu_order", "order" => "asc", "post__not_in" => $post__not_in)); } else { $posts = $type->top_posts(array("cache_results" => false, "orderby" => "menu_order", "order" => "asc")); } $parent = apply_filters("mp_edit_post_parent", $the->post_parent, $the); if ($parent == 0) { $parent = apply_filters("mp_edit_post_default_parent", $parent, $the->id, $the); } $menu_order = $the->menu_order; ?> <?php if ($type->hierarchical() && count($posts)) : ?> <p><strong><?php _e("Parent") ?></strong></p> <select name="parent_id" id="parent_id"> <option><?php _e("(no parent)") ?></option> <?php self::post_options($posts, $parent, $post__not_in ); ?> </select> <?php endif; ?> <?php if (count($my_templates)) : ?> <?php // get the fields for the current template $default_template = $the->default_template(); $tm = MPM_Template::find_by_id($default_template); $data_sets = self::flatten_assigned($meow_provider->post_type_field_sets($type_name, $default_template)); $supports = $tm->supports; $templates = get_page_templates(); ksort($templates); ?> <p class="label_page_template"><strong><?php _e("Template") ?></strong></p> <select name="page_template" id="page_template" autocomplete="off"> <option value="default" data-supports="<?php echo $supports ?>" data-sets="<?php echo $data_sets ?>"><?php _e( "( Default Template )", MASTERPRESS_DOMAIN) ?></option> <?php foreach ($templates as $template => $file) : $selected_attr = WOOF_HTML::selected_attr($meta_template == $file); ?> <?php if (in_array($file, $my_templates)) : ?> <?php $tm = $models[$file]; $data_sets = self::flatten_assigned($meow_provider->post_type_field_sets($type_name, $file)); $supports = $tm->supports; ?> <option <?php echo $selected_attr ?> data-supports="<?php echo $supports ?>" data-sets="<?php echo $data_sets ?>" value="<?php echo $file ?>"><?php echo $template ?></option> <?php endif; ?> <?php endforeach; ?> </select> <p id="mp-templates-loading-fields"><?php _e("Loading additional fields. Please wait…"); ?></p> <?php endif; ?> <p><strong><?php _e("Order") ?></strong></p> <p><label class="screen-reader-text" for="mp_menu_order"><?php _e("Order") ?></label> <input name="menu_order" type="text" size="4" id="menu_order" value="<?php echo $menu_order ?>"></p> <?php }
public static function ui( MEOW_Field $field ) { // $field here is a MEOW_Field, which is a class that encapsulates the value of a field AND the info associated with it $options = $field->info->type_options; $maxlength = ""; $font = ""; $maxwidth = ""; $default = ""; $readonly = WOOF_HTML::readonly_attr( !$field->is_editable() ); $maxwidth = self::option_value($options, "maxwidth"); if (isset($options["maxlength"])) { $maxlength = $options["maxlength"]; } if (isset($options["font"])) { $font = $options["font"]; } if (isset($options["default"])) { $default = $options["default"]; } if (is_numeric($maxwidth)) { $maxwidth = "{$maxwidth}px"; } else { $maxwidth = "auto"; } $maxlength_attr = ""; $status = ""; if ($maxlength && is_numeric($maxlength)) { $maxlength_attr = WOOF_HTML::attr("maxlength=$maxlength"); if (trim($maxwidth) == "") { // if the maxlength is set, roughly match the width of the input to the number of characters $maxwidth = ($maxlength + 12)."ex"; } } $value = $field->value(); if ($field->blank()) { $value = self::option_value($options, "default"); } $html = <<<HTML <div class="f"> <div class="input-spinner"> <input id="{{id}}" name="{{name}}" type="text" $readonly value="{$value}" autocomplete="off" class="text" {$maxlength_attr} style="max-width: {$maxwidth};" /> <div class="buttons"> <button tabindex="-1" type="button" class="ir up"><span>Up</span></button> <button tabindex="-1" type="button" class="ir down"><span>Down</span></button> </div> </div> </div> HTML; return $html; }
public function form() { $model = MasterPress::$model; $info = MasterPress::$view; $parent = $info->parent; global $wf; $prefix = ""; $default_key = "edit_posts"; $keys = array(); ?> <div class="mpv-field-sets-form"> <?php if (isset(MasterPress::$parent)) : ?> <div class="title-info-panel"> <div class="title-info-panel-lt"> <?php if (get_class($parent) == "MPM_PostType") : ?> <?php $post_type = $parent; $prefix = $post_type->name."_"; $default_key = "edit_".$post_type->capability_type."s"; $keys = array($default_key); ?> <h3 class="post-type"><i class="mp-icon mp-icon-post-type mp-icon-post-type-<?php echo $post_type->name ?>"></i><span class="label"><?php _e("Post Type:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $parent->labels["name"] ?></span></h3> <input id="post_type_name" type="hidden" value="<?php echo $parent->name ?>" /> <?php elseif ($model->template) : ?> <?php $file = MasterPress::$parent; $page_templates = array_flip(get_page_templates()); $template_name = $page_templates[$file]; ?> <input id="templates" name="templates" type="hidden" value="<?php echo $file ?>" /> <h3><i class="template"></i><span class="label"><?php _e("Template:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $template_name ?></span></h3> <?php elseif ($model->role) : ?> <?php $role_name = MasterPress::$parent; $prefix = $role_name."_"; ?> <input id="roles" name="roles" type="hidden" value="<?php echo $role_name ?>" /> <h3><i class="user-role"></i><span class="label"><?php _e("User Role:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $role_name ?></span></h3> <?php elseif ($model->taxonomy) : ?> <?php $taxonomy_id = MasterPress::$parent; $tax = MPM_Taxonomy::find_by_id($taxonomy_id); $prefix = $tax->name."_"; $default_key = $tax->capabilities["edit_terms"]; $keys = array( $tax->capabilities["manage_terms"], $tax->capabilities["edit_terms"], $tax->capabilities["assign_terms"] ); ?> <input id="taxonomies" name="taxonomies" type="hidden" value="<?php echo $tax->name ?>" /> <h3><i class="mp-icon mp-icon-taxonomy mp-icon-taxonomy-<?php echo $tax->name ?>"></i><span class="label"><?php _e("Taxonomy:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $tax->display_label() ?></span></h3> <?php endif; ?> </div> </div> <?php endif; ?> <?php MPV::messages(); ?> <div class="mpv-field-sets-form"> <div class="f"> <label for="name" class="icon"><i class="script-php"></i><?php _e("Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="name_original" name="name_original" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name_last" name="name_last" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name" name="name" type="text" class="text mono key" maxlength="255" value="<?php echo $model->name ?>" /><em class="required">(required)</em> <p> <?php _e("This is a unique identifier for the field set used in the MasterPress API. Since it can be used as a PHP variable name, it is restricted to being a lowercase string with words separated by underscores.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div id="f-singular_name" class="f"> <label for="singular_name" class="icon" maxlength="255"><i class="script-php"></i><?php _e("<strong>Singular</strong> Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="singular_name" name="singular_name" type="text" value="<?php echo $model->singular_name ?>" class="text mono key" /><em class="required">(required)</em> <p> <?php _e("The singular form of <em>Name</em>, following the same naming conventions", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="allow_multiple" class="icon"><i class="add-remove"></i><?php _e("Allow Multiple Items", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="allow_multiple" name="allow_multiple" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->allow_multiple ) ?> class="checkbox" /> <p id="name_warning" class="warning"> <i class="error-circle"></i> <?php _e("For multiple-item field sets, <em>Name</em> should be specified in <strong>plural form</strong>. Please verify that this is correct above.", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f clearfix"> <label id="label-icon" for="icon" class="icon"><i class="image-small"></i><?php _e("Title Icon (16 x 16)", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <div id="icon-file-uploader" class="icon-uploader file-uploader { ids: { drop: 'icon_drop_area' }, input: '#icon', inputName: 'icon_ul', base_url: '<?php echo MASTERPRESS_GLOBAL_CONTENT_URL ?>', params: { dir: 'menu-icons/' }, limit: 1, lang: { buttonChoose: '<?php _e("Choose from Computer…", MASTERPRESS_DOMAIN) ?>', buttonReplace: '<?php _e("Replace file…", MASTERPRESS_DOMAIN) ?>' } }"> <div id="icon_drop_area" class="drop-area"><?php _e("Drop file here to upload", MASTERPRESS_DOMAIN) ?></div> <?php $file_name = $model->icon; $file_class = ""; $clear_class = ""; $preview_class = ""; if ($file_name == "") { $file_name = __("( None )", MASTERPRESS_DOMAIN); $file_class = "name-none"; $preview_class = "preview-none"; $style = ""; $clear_class = "hidden"; } else { $style = ' style="background-image: url('.MPU::field_set_icon_url($model->icon).')" '; } ?> <div class="file"> <span class="preview <?php echo $preview_class ?>" <?php echo $style ?>></span><span data-none="<?php echo __("( None )", MASTERPRESS_DOMAIN) ?>" class="name <?php echo $file_class ?>"><?php echo $file_name ?></span> <button type="button" class="<?php echo $clear_class ?> clear ir" title="<?php _e("Clear", MASTERPRESS_DOMAIN) ?>">Clear</button> </div> <input id="icon" name="icon" value="<?php echo $model->icon ?>" type="hidden" /> <div class="uploader-ui"></div> </div> <!-- /.file-uploader --> <?php MPV::icon_select($model->icon, "menu-icon-select", "icon_select", "icon-file-uploader"); ?> </div> </div> <!-- /.f --> <div class="f"> <label for="expanded" class="icon"><i class="expand"></i><?php _e("Expanded", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="expanded" name="expanded" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->expanded ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#expanded' }"> <?php _e("this field set will be expanded (not summarised) by default in the edit post screen, but can still be collapsed. It is recommended that this is <strong>unchecked if <em>Allow Multiple Items</em> is checked.</strong>", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php if (!$model->role) : ?> <div class="f"> <label for="sidebar" class="icon"><i class="sidebar"></i><?php _e("Show in Sidebar", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="sidebar" name="sidebar" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->sidebar ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#sidebar' }"> <?php _e("this field set will be positioned in the sidebar of the edit post screen by default (but may still be dragged across to the main content area by users)", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php endif; ?> <div class="f"> <label for="disabled" class="icon"><i class="slash"></i><?php _e("Disabled", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="disabled" name="disabled" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->disabled ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#disabled' }"> <?php _e("disabling a field set will keep its definition in the database but it will not be available in any post editing screens in WordPress, which may be <strong>preferable to deleting it</strong> completely.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="versions_store" class="icon"><i class="metabox-versions size-20"></i><?php _e("Version Limit", MASTERPRESS_DOMAIN) ?></label> <div class="fw"> <input id="versions" name="versions" type="text" value="<?php echo $model->versions ?>" class="text" /> <p class="note"> <?php _e("Set a <b>maximum number of versions</b> of content based on this field set to retain.<br />Versions can be used to restore previous revisions of content at a later time.<br />Set this value to 0 if you do not wish to retain previous versions.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="fs fs-labels"> <div class="fst"> <div class="fstb"> <h3><i class="label-string"></i><strong><?php _e("Labels", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("displayed in the <em>Edit Post</em> and MasterPress admin screens", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button id="autofill-labels" class="button button-autofill" type="button"><?php _e('<strong>Auto-Fill</strong> Labels', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc fscs"> <div class="fscb"> <div class="scroll"> <div class="f"> <label for="label_name"><?php _e("Set Label", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_name" name="labels[name]" value="<?php echo $model->labels["name"] ?>" type="text" class="text { tmpl: '{{plural_name}}' }" /> <em class="recommended">(recommended)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_description"><?php _e("Description", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <textarea id="label_description" name="labels[description]"><?php echo $model->label("description") ?></textarea> <p> <?php _e("Displayed on the Create / Edit Post screen in the info area above the fields in this set.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php if ($model->shared) : ?> <div class="f"> <label for="label_description_user"><?php _e("Description (User)", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <textarea id="label_description_user" name="labels[description_user]"><?php echo $model->label("description_user") ?></textarea> <p> <?php _e("Displayed on the Create / Edit User and Profile screen in the info area above the fields in this set.<br />If not specified, the standard <em>Description</em> label will be used (if available)", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="label_description_term"><?php _e("Description (Term)", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <textarea id="label_description_term" name="labels[description_term]"><?php echo $model->label("description_term") ?></textarea> <p> <?php _e("Displayed on the Edit (Taxonomy) Term in the info area above the fields in this set.<br />If not specified, the standard <em>Description</em> label will be used (if available)", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php endif; ?> <div class="f f-allow-multiple"> <label for="label_singular_name"><?php _e("<em>Singular</em> Name", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_singular_name" name="labels[singular_name]" value="<?php echo $model->label("singular_name") ?>" type="text" class="text { tmpl: '{{singular_name}}' }" /> <em class="recommended">(recommended)</em> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_add"><?php _e("Add", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_add" name="labels[add]" value="<?php echo $model->label("add") ?>" type="text" class="text { tmpl: '<?php _e("Add {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_add_another"><?php _e("Add Another", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_add_another" name="labels[add_another]" value="<?php echo $model->label("add_another") ?>" type="text" class="text { tmpl: '<?php _e("Add Another {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_remove"><?php _e("Remove", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_remove" name="labels[remove]" value="<?php echo $model->label("remove") ?>" type="text" class="text { tmpl: '<?php _e("Remove {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_click_to_add"><?php _e("Click to Add", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_click_to_add" name="labels[click_to_add]" value="<?php echo $model->label("click_to_add") ?>" type="text" class="text { tmpl: '<?php _e("Click to add {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_one_item"><?php _e("1 Item", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_one_item" name="labels[one_item]" value="<?php echo $model->label("one_item") ?>" type="text" class="text { tmpl: '<?php _e("1 {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_n_items"><?php _e("n Items", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_n_items" name="labels[n_items]" value="<?php echo $model->label("n_items") ?>" type="text" class="text { tmpl: '<?php _e("%d {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> <div class="f f-allow-multiple"> <label for="label_no_items"><?php _e("No Items", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_no_items" name="labels[no_items]" value="<?php echo $model->label("no_items") ?>" type="text" class="text { tmpl: '<?php _e("No {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> </div> </div> <!-- /.f --> </div> </div> </div> </div> <!-- /.fs --> <div class="fs fs-capability-keys clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="key"></i><strong><?php _e("Capabilities", MASTERPRESS_DOMAIN) ?></strong> - <?php _e('the keys used to control access to this field set', MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb clearfix"> <div class="f f-capabilities f-capabilities-editable clearfix"> <label for="label-capabilities-editable"><?php _e("Editable", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php $val = $model->capability("editable", false); $caps = array_unique(array_merge($keys, array("edit_posts", "edit_pages"))); $caps = array( __("-- None (Always Editable) --", MASTERPRESS_DOMAIN) => "" ) + $caps; if (MPC::is_edit()) { $caps[] = "edit_".$prefix.$model->name; } $custom_val = ""; if (!in_array($val, $caps)) { $custom_val = $val; } echo WOOF_HTML::select( array("id" => "capabilities-editable", "name" => "capabilities[editable]", "class" => "capabilities" ), $caps, $val ); ?> <label for="capabilities-editable-custom" class="capabilities-custom"><?php _e("OR custom value") ?></label> <input id="capabilities-editable-custom" name="capabilities_custom[editable]" value="<?php echo $custom_val ?>" type="text" class="text mono capabilities-custom" /> <p class="note"> <?php _e("All fields in this set will be read-only for users without this capability.<br />Individual fields may override this with their own capabilities.", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f f-capabilities f-capabilities-visible clearfix"> <label for="label-capabilities-visible"><?php _e("Visible", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php $val = $model->capability("visible", false); $caps = array_unique(array_merge($keys, array("edit_posts", "edit_pages"))); $caps = array( __("-- None (Always Visible) --", MASTERPRESS_DOMAIN) => "" ) + $caps; if (MPC::is_edit()) { $caps[] = "view_".$prefix.$model->name; } $custom_val = ""; if (!in_array($val, $caps)) { $custom_val = $val; } echo WOOF_HTML::select( array("id" => "capabilities-visible", "name" => "capabilities[visible]", "class" => "capabilities" ), $caps, $val ); ?> <label for="capabilities-visible-custom" class="capabilities-custom"><?php _e("OR custom value") ?></label> <input id="capabilities-visible-custom" name="capabilities_custom[visible]" value="<?php echo $custom_val ?>" type="text" class="text mono capabilities-custom" /> <p class="note"> <?php _e("This field set will be invisible for users without this capability", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <?php $args = array(); $args["supports"] = array(); if (is_multisite() && MASTERPRESS_MULTISITE_SHARING) { $args["supports"] = array("multisite"); } if ($model->is_shared()) { $args["supports"][] = "post_types"; } if (!isset($info->is_template_set) && $model->is_shared() ) { $args["supports"][] = "templates"; } if (!isset($info->is_role_set) && $model->is_shared() ) { $args["supports"][] = "roles"; } if (!isset($info->is_taxonomy_set) && $model->is_shared() ) { $args["supports"][] = "taxonomies"; } $args["labels"] = array( "title" => __("control the visibility of this field set within WordPress", MASTERPRESS_DOMAIN), "title_multisite" => __("specify the sites in the multisite network that this field set is available in", MASTERPRESS_DOMAIN), "title_post_types" => __("specify the post types that this field set is available in", MASTERPRESS_DOMAIN), "title_templates" => __("specify the templates that this field set is available in", MASTERPRESS_DOMAIN), "title_roles" => __("specify the roles that users must have for this field set to be available in their profile edit screen", MASTERPRESS_DOMAIN), "multisite_all" => __( "All Sites" ), "post_types_all" => __( "All Post Types" ), "templates_all" => __( "All Templates" ) ); $args["defaults"] = array( "post_types" => "all" ); if ($model->type == "p") { $post_type = $parent; $templates = $post_type->templates(); if (count($templates)) { $args["supports"][] = "templates"; $args["templates"] = array(); $all = array_flip(get_page_templates()); foreach ($templates as $t) { $name = $all[$t->id]; $args["templates"][$name] = $t->id; } } } if (isset($parent) && is_multisite()) { $site_options = array(); foreach ($parent->sites() as $site) { $site_options[$site->full_path()] = $site->id(); } $args["sites"] = $site_options; }; MPV::fs_visibility( $model, $args ); ?> <?php if ($info->is_template_set) : ?> <input id="visibility-templates" name="visibility[templates]" type="hidden" value="<?php echo $file ?>" /> <?php endif; ?> <?php if ($info->is_role_set) : ?> <input id="visibility-roles" name="visibility[roles]" type="hidden" value="<?php echo $role_name ?>" /> <?php endif; ?> <?php if ($info->is_taxonomy_set) : ?> <input id="visibility-taxonomies" name="visibility[taxonomies]" type="hidden" value="<?php echo $tax->name ?>" /> <?php endif; ?> <?php if ($model->is_post_type() && isset($parent)) : ?> <input id="visibility-post-types" name="visibility[post_types]" type="hidden" value="<?php echo $parent->name ?>" /> <?php endif; ?> <div id="f-position" class="f clearfix"> <label for="position" class="icon"><i class="sort"></i><?php _e("Set Position", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <div class="sortable-list sortable-list-fields"> <span class="arrow"></span> <?php // build a field list $field_sets = array(); if ($model->shared) { $field_sets = MPM_SharedFieldSet::find( array( "orderby" => "position ASC" ) ); } else if ($model->template) { $field_sets = MPM_TemplateFieldSet::find_by_template( MasterPress::$parent ); } else if ($model->role) { $field_sets = MPM_RoleFieldSet::find_by_role( MasterPress::$parent ); } else if ($model->taxonomy) { $field_sets = MPM_TaxonomyFieldSet::find_by_taxonomy( $tax ); } else if ($model->site) { $field_sets = MPM_SiteFieldSet::find( array( "orderby" => "position ASC" ) ); } else { $sql = "SELECT * FROM ".MPU::table("field-sets")." WHERE ( type = 'p' ) AND ".MPM::visibility_rlike("post_types", $parent->name)." ORDER BY position"; $field_sets = MPM::get_models("field-set", $sql); } $sort_field_sets = array(); // now build a representable list of field_sets $icon = $model->shared ? MPU::img_url("icon-shared-field-set.png") : MPU::img_url("icon-field-set-small.png"); $icon_class = $model->shared ? "metabox-share" : "metabox"; foreach ($field_sets as $field_set) { $position = $field_set->position; if (isset($_POST["other_position"]) && $_POST["other_position"][$field_set->id]) { $position = $_POST["other_position"][$field_set->id]; } $sort_field_sets[] = array( "position" => $position, "disabled" => $field_set->disabled, "current" => $field_set->id == $model->id, "label" => $field_set->display_label(), "icon_class" => $icon_class, "icon" => $icon, "id" => $field_set->id ); } if (MPC::is_create()) { $label = $model->display_label(); if (!$label || $label == "") { $label = "?"; } $sort_field_sets[] = array( "position" => $model->position, "disabled" => $model->disabled, "current" => true, "label" => $model->display_label(), "icon" => $icon, "icon_class" => $icon_class ); } $count = 0; ?> <ul> <?php foreach ($sort_field_sets as $f) : $count++; $first = $count == 1 ? "first " : ""; $current = $f["current"] ? 'current ' : ''; ?> <?php $disabled = $f["disabled"] ? 'disabled' : ''; $disabled_title = $f["disabled"] ? __("This field set is disabled", MASTERPRESS_DOMAIN) : ''; ?> <li class="<?php echo $first.$current ?> <?php echo $disabled ?>" title="<?php echo $disabled_title ?>"> <i class="<?php echo $icon_class ?>"></i> <?php if ($f["current"]) : ?> <span class="inline fill { src: '#label_name,#label_singular_name'}"><?php echo $f["label"] ?></span> <input id="position" name="position" value="<?php echo $f["position"] ?>" type="hidden" class="text" /> <?php else: ?> <span class="inline"><?php echo $f["label"] ?></span> <input id="other_position" name="other_position[<?php echo $f["id"] ?>]" value="<?php echo $f["position"] ?>" type="hidden" /> <?php endif; ?> </li> <?php endforeach; ?> </ul> </div> <!-- /.sortable-list --> <p> <?php _e("Drag set to the desired <em>default</em> position in the WordPress <em>Create / Edit Post</em> screen.<br />Note: Field sets are displayed in a standard WordPress UI panel (metabox), which can be dragged around by the user to also influence the order.", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> </div> <!-- /.mpv-field-sets-form --> <?php }
public static function select($options, $value, $blank = false, $editable = true) { global $wf; $control_style = self::option_value($options, "control_style", "drop_down_list"); if ($control_style == "dual_list_box") { // legacy patch for dual list box - it had bad performance for a large number of items $control_style = "list_box_multiple"; } $exclude_current = self::option_value($options, "exclude_current") == "yes"; $current_site_id = $wf->site()->id(); $blank = false; $selected_values = array(); $options_attr = array(); $values_select = ""; $values_options = array_flip($value); $values_options_attr = array_flip($value); $count = -1; $items = array(); $height = self::option_value($options, "height"); $maxwidth = self::option_value($options, "maxwidth"); // build a list of sites self::$values_keys = array(); foreach ($wf->sites() as $site) { $count++; $title = $site->name(); $sid = $site->id(); $attr = array(); if (!($exclude_current && $sid == $current_site_id)) { if (!$blank && in_array($sid, $value)) { $values_options[$sid] = $title; $values_options_attr[$sid] = $attr; $selected_values[] = $sid; } $items[$title] = $sid; } } self::$values_keys = array_values($values_options); $select_style = ""; $select_attr = array("id" => "{{id}}", "name" => "{{name}}"); if (is_numeric($maxwidth)) { $select_style .= "width: 99%; max-width: ".$maxwidth."px;"; } else { if ($control_style == "dual_list_box") { $select_style .= "width: 580px;"; } } if ($control_style == "list_box_multiple") { if (is_numeric($height)) { $select_style .= "height: ".$options["height"]."px;"; } else { $select_style .= "height: 250px;"; } } if ($control_style == "list_box_multiple") { $select_attr["multiple"] = "multiple"; $select_attr["name"] = "{{name}}[]"; } if ($select_style != "") { $select_attr["style"] = $select_style; } $basic = self::option_value($options, "basic") == "yes"; if ($control_style == "drop_down_list") { $placeholder = self::option_value($options, "placeholder", __("-- Select a Site --", MASTERPRESS_DOMAIN)); if ($basic) { $items = array($placeholder => "") + $items; array_unshift($options_attr, array()); } else { $items = array("" => "") + $items; array_unshift($options_attr, array()); $select_attr["data-placeholder"] = $placeholder; } } else { $placeholder = self::option_value($options, "placeholder", __("-- Select Sites --", MASTERPRESS_DOMAIN)); $select_attr["data-placeholder"] = $placeholder; $select_attr["data-value-input"] = "{{id}}-value-input"; if (!$basic) { // ensure the select control does not affect the values posted, the hidden input is responsible for this $select_attr["name"] = "src_".$select_attr["name"]; } } if (!$editable) { $select_attr["data-placeholder"] = __("-- None Selected --", MASTERPRESS_DOMAIN); $select_attr["disabled"] = "disabled"; } return WOOF_HTML::select( $select_attr, $items, $selected_values, $options_attr ); }
public function grid() { MPC::incl("post-types"); MPV::incl("fields"); MPV::incl("post-types"); $info = MasterPress::$view; $role_name = MasterPress::$parent; ?> <div class="title-info-panel"> <div class="title-info-panel-lt"> <h3><i class="user-role"></i><span class="label"><?php _e("User Role:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $role_name ?></span></h3> </div> </div> <?php MPV::messages(); ?> <div class="grid-set"> <?php $field_sets = MPM_RoleFieldSet::find_by_role( $role_name, "name" ); ?> <?php MPV::field_set_icon_styles($field_sets); ?> <?php $has_actions = MasterPress::current_user_can("edit_user_role_field_sets,delete_user_role_field_sets,edit_user_role_fields,delete_user_role_fields"); $can_edit = MasterPress::current_user_can("edit_user_role_field_sets"); $can_delete = MasterPress::current_user_can("delete_user_role_field_sets"); $can_create = MasterPress::current_user_can("create_user_role_field_sets"); $can_edit_fields = MasterPress::current_user_can("edit_user_role_fields"); $can_delete_fields = MasterPress::current_user_can("delete_user_role_fields"); $can_create_fields = MasterPress::current_user_can("create_user_role_fields"); $less = ($can_create_fields) ? 1 : 0; $colspan = ( $has_actions ? 4 : 3 ) - $less; foreach ($field_sets as $field_set) { if (MPC::is_deleting($field_set->id, "delete-field-set")) { $this->confirm_delete($field_set); } else { foreach ($field_set->fields() as $field) { if (MPC::is_deleting($field->id, "delete-field")) { $this->confirm_delete_field($field); } } } } ?> <?php $fg_count = 0; ?> <?php if (count($field_sets)) : ?> <table cellspacing="0" class="grid grid-field-sets"> <thead> <tr> <th class="first type"><i class="types"></i><span><?php _e("Type", MASTERPRESS_DOMAIN) ?></span></th> <th class="label"><i class="label-string"></i><span><?php _e("Label", MASTERPRESS_DOMAIN) ?></span></th> <th class="front-end-name <?php echo $has_actions ? "" : "last" ?>"><i class="script-php"></i><span><?php _e("Front End Name", MASTERPRESS_DOMAIN) ?></span></th> <?php if ($has_actions) : ?> <th class="actions last"><i class="buttons"></i><span><?php _e("Actions", MASTERPRESS_DOMAIN) ?></span></th> <?php endif; ?> </tr> </thead> <tbody> <?php foreach ($field_sets as $field_set) : $fg_count++; ?> <?php $display = $field_set->display_label(); $display_td = $display; if ($field_set->icon != "") { $display_td = WOOF_HTML::tag("span", array("class" => "with-icon field-set-".$field_set->id), $display); } $deleting_class = MPC::is_deleting($field_set->id, "delete-field-set") ? 'deleting' : ''; $editable_class = $can_edit ? " editable " : ""; $meta = $can_edit ? "{ href: '".MasterPress::admin_url("roles", "edit-field-set", array("id" => $field_set->id, "parent" => $role_name) )."' }" : ""; ?> <?php $disabled = $field_set->disabled ? "disabled" : ""; $title = $field_set->disabled ? ' title="'.__("this field set is disabled", MASTERPRESS_DOMAIN).'" ' : ""; ?> <?php if (!$field_set->in_current_site()) { $disabled = "disabled"; $title = ' title="'.__("this field set is not currently available in this site (multi-site setting)", MASTERPRESS_DOMAIN).'" '; } ?> <tr <?php echo $title ?> class="<?php echo $disabled ?> <?php echo $editable_class.$deleting_class ?> <?php echo MPV::updated_class("edit-field-set,create-field-set", $field_set->id) ?> <?php echo $meta ?>"> <?php if ($field_set->allow_multiple) : ?> <th class="first type icon"><i class="metabox-add-remove-large" title="<?php _e("Field Set (Multiple Items)", MASTERPRESS_DOMAIN) ?>"></i></th> <?php else : ?> <th class="first type icon"><i class="metabox-large" title="<?php _e("Field Set", MASTERPRESS_DOMAIN) ?>"></i></th> <?php endif; ?> <th class="label"><strong><?php echo $display_td ?></strong></th> <th class="front-end-name <?php echo $has_actions ? "" : "last" ?>"><span class="tt"><?php echo $field_set->display_name() ?></span></th> <?php if ($has_actions) : ?> <th class="actions last"> <div> <?php if (MPC::is_deleting($field_set->id, "delete-field-set")) : ?> <span class="confirm-action"> </span> <?php else: ?> <?php if ($can_edit) : ?> <?php echo MPV::action_button("roles", "edit-field-set", self::__edit(), array("id" => $field_set->id, "parent" => $role_name), array("class" => "button button-edit") ); ?> <?php endif; ?> <?php if ($can_delete) : ?> <?php echo MPV::action_button("roles", "delete-field-set", self::__delete(), array("id" => $field_set->id, "parent" => $role_name), array("class" => "button button-delete") ); ?> <?php endif; ?> <?php endif; ?> </div> </th> <?php endif; // has_actions ?> </tr> <?php $count = 0; $fields = $field_set->fields(); ?> <?php foreach ($fields as $field) : $count++; $first = $count == 1 ? 'first' : ''; $disabled = $field_set->disabled || $field->disabled ? "disabled" : ""; $title = $field_set->disabled ? ' title="'.__("this field is disabled", MASTERPRESS_DOMAIN).'" ' : ""; ?> <?php if (!$field_set->in_current_site() || !$field->in_current_site()) { $disabled = "disabled"; $title = ' title="'.__("this field is not currenty available in this site (multi-site setting)", MASTERPRESS_DOMAIN).'" '; } ?> <?php $deleting_class = MPC::is_deleting($field_set->id, "delete-field-set") || MPC::is_deleting($field->id, "delete-field") ? 'deleting' : ''; $editable_class = $can_edit_fields ? " editable " : ""; $meta = $can_edit ? "{ href: '".MasterPress::admin_url("roles", "edit-field", array("id" => $field->id, "gparent" => $_GET["parent"], "parent" => $field_set->id) )."' }" : ""; ?> <?php if ($type_class = MPFT::type_class($field->type)) : ?> <tr <?php echo $title ?> class="sub <?php echo $editable_class.$deleting_class ?> <?php echo $disabled ?> <?php echo $first ?> <?php echo $count % 2 == 0 ? "even" : "" ?> <?php echo MPV::updated_class("edit-field,create-field", $field->id) ?> <?php echo $meta ?>"> <td class="type icon first" title="<?php echo call_user_func( array($type_class, "__s") ) ?>"><span class="mp-icon mp-icon-field-type-<?php echo $field->type ?>"></span></td> <td class="label"><strong><?php echo $field->display_label() ?></strong></td> <td class="front-end-name <?php echo $has_actions ? "" : "last" ?>"><span class="tt"><span class="arrow">-> </span><?php echo $field->display_name() ?></span></td> <?php if ($has_actions) : ?> <td class="actions last"> <?php if (MPC::is_deleting($field->id, "delete-field")) : ?> <span class="confirm-action"> </span> <?php else: ?> <div> <?php if ($can_edit_fields) : ?> <?php echo MPV::action_button("roles", "edit-field", self::__edit(), array("id" => $field->id, "gparent" => $_GET["parent"], "parent" => $field_set->id), array("class" => "button button-edit") ); ?> <?php endif; ?> <?php if ($can_delete_fields) : ?> <?php echo MPV::action_button("roles", "delete-field", self::__delete(), array("id" => $field->id, "gparent" => $_GET["parent"], "parent" => $role_name), array("class" => "button button-delete") ); ?> <?php endif; ?> </div> <?php endif; ?> </td> <?php endif; // has_actions ?> </tr> <?php endif; ?> <?php endforeach; ?> <tr class="summary <?php echo $can_create_fields ? "editable" : "" ?>"> <?php if (count($fields)) : ?> <td colspan="<?php echo $colspan ?>" class="first <?php echo $can_create_fields ? "" : "last" ?>"><?php printf( __( "%s contains %s", MASTERPRESS_DOMAIN ), $display, MPU::__items( $field_set->field_count(), __("%d custom field", MASTERPRESS_DOMAIN), __("%d custom fields", MASTERPRESS_DOMAIN) ) ) ?></td> <?php else: ?> <td colspan="<?php echo $colspan ?>" class="hl first last"><span><?php printf( __( "<strong>%s</strong> is not yet active as it contains <em>no custom fields</em>. Click here to create one", MASTERPRESS_DOMAIN ), $field_set->display_label() ); ?></span></td> <?php endif; ?> <?php if ($can_create_fields) : ?> <td class="last actions <?php echo count($fields) ? "" : "hl" ?>"> <?php echo MPV::action_button("roles", "create-field", self::__create(MPV_Fields::__s()), array("gparent" => $_GET["parent"], "parent" => $field_set->id), array("class" => "button create-field") ); ?> </td> <?php endif; // can_create_fields ?> </tr> <tr class="gap <?php if ($fg_count == count($field_sets)) { echo "gap-last"; } ?>"> <td colspan="4"> </td> </tr> <?php endforeach; ?> </tbody> </table> <?php if ($can_create) : ?> <div class="grid-foot-controls"> <?php echo MPV::action_button("roles", "create-field-set", MPV::__create( MPV_RoleFieldSets::__s() ), array( "parent" => $role_name ) ); ?> </div> <?php endif; ?> <?php else: ?> <?php if ($can_create) : ?> <a href="<?php echo MasterPress::admin_url("roles", "create-field-set", array("parent" => MasterPress::$parent ) ) ?>" class="no-items-create"> <i class="plus-circle"></i> <span><?php printf( __( "The '<em>%s</em>' role currently has <em>no field sets</em>. Click here to create one.", MASTERPRESS_DOMAIN ), $role_name ) ?></span> </a> <?php endif; ?> <?php endif; ?> </div> <?php } // end grid()
public static function ui( MEOW_Field $field ) { global $wf; $prop_inputs = self::prop_inputs($field, "attachment_id"); $fileurl = ""; $thumb = ""; $width = ""; $height = ""; $filesize = ""; $summary_thumb = ""; $filename = ""; $filetype = ""; $empty = ""; $orientation = ""; $no_image = __("( no image )", MASTERPRESS_DOMAIN); $view_image = __("View Image", MASTERPRESS_DOMAIN); // setup defaults for an empty image list($tw, $th) = array(120, 90); list($stw, $sth) = array(82, 39); $empty = "empty"; $orientation = "square"; $thumb = WOOF_Image::empty_mp_thumb(array("w" => $tw, "h" => $th, "no_image" => $no_image, "class" => "managed thumb") ); $summary_thumb = WOOF_Image::empty_mp_thumb(array("w" => $stw, "h" => $sth, "no_image" => $no_image, "class" => "managed summary-thumb" ) ); if (!$field->blank()) { $image = $field->file(); if ($image->exists()) { $empty = ""; $width = $image->width(); $height = $image->height(); $orientation = $height == $width ? "square" : ( $height > $width ? "portrait" : "landscape" ); list($tw, $th) = self::thumb_wh($width, $height); list($stw, $sth) = self::summary_thumb_wh($width, $height); $filesize = $image->filesize(); $filename = $image->basename(); $filetype = $image->filetype(); if ($image->is_external()) { $fileurl = $field->value(); $source_url = $fileurl; } else { $fileurl = $image->permalink(); } $thumb = $image->mp_thumb(array("w" => $tw, "h" => $th, "no_image" => $no_image, "class" => "thumb managed", "href" => $fileurl)); $summary_thumb = $image->mp_thumb(array("w" => $stw, "h" => $sth, "no_image" => $no_image, "class" => "managed summary-thumb", "thumb_only" => true ) ); } } else { $empty = "empty"; $orientation = "square"; } if (isset($source_url)) { $prop_source_url = $source_url; } else { $prop_source_url = $field->prop("source_url"); } $prop_alt = esc_attr( $field->prop("alt") ); $prop_title = esc_attr( $field->prop("title") ); $replace_image_label = __("Replace Image:", MASTERPRESS_DOMAIN); $choose_image_label = __("Choose Image:", MASTERPRESS_DOMAIN); $attributes_label = __("Attributes", MASTERPRESS_DOMAIN); $attributes_title = __("Edit HTML attributes (alternate text / title)", MASTERPRESS_DOMAIN); $url_label = __("Enter Image URL:", MASTERPRESS_DOMAIN); $alt_label = __("Alternate Text:", MASTERPRESS_DOMAIN); $title_label = __("Title:", MASTERPRESS_DOMAIN); $attributes_title = __("Image Tag Attributes", MASTERPRESS_DOMAIN); $button_replace_label = __("Replace Image…", MASTERPRESS_DOMAIN); $button_from_computer_label = __("From Computer…", MASTERPRESS_DOMAIN); $button_from_media_library_label = __("From Media Library…", MASTERPRESS_DOMAIN); $button_from_url_label = __("From URL…", MASTERPRESS_DOMAIN); $button_from_existing_uploads_label = __("From Existing Uploads…", MASTERPRESS_DOMAIN); $button_from_media_library_data_library = MasterPress::use_new_media() ? "new" : "legacy"; $button_clear_label = __("Clear", MASTERPRESS_DOMAIN); $button_delete_label = __("Delete", MASTERPRESS_DOMAIN); $button_download_label = __("Download", MASTERPRESS_DOMAIN); $button_cancel_label = __("Cancel", MASTERPRESS_DOMAIN); $button_clear_title = __("Clear field without deleting the image file", MASTERPRESS_DOMAIN); $button_delete_title = __("Clear field AND delete the image file", MASTERPRESS_DOMAIN); $w_times_h = __("width × height", MASTERPRESS_DOMAIN); $drop_label = __("Drop image<br />file here<br />to upload", MASTERPRESS_DOMAIN); $base_url = MASTERPRESS_CONTENT_URL; $dir = 'uploads/'; $media_library_progress_message = __("Fetching URL from Media Library...", MASTERPRESS_DOMAIN); $upload_progress_message = __("Uploading...", MASTERPRESS_DOMAIN); $fetching_info_message = __("Fetching Image Information...", MASTERPRESS_DOMAIN); $dowloading_progress_message = __("Downloading Image...", MASTERPRESS_DOMAIN); $href = ' href="'.$fileurl.'" '; if ($fileurl == "") { $href = ""; } // populate the media library dialog // $media_library_dialog $upload_html = ""; $download_html = ""; $clear_html = ""; $labels_html = ""; $ml_html = ""; $choose_html = ""; $readonly = WOOF_HTML::readonly_attr( !$field->is_editable() ); if ($wf->the_user->can("upload_files") && $field->is_editable()) { $choose_html = <<<HTML <div class="choose-controls"> <h5 class="replace-label">{$replace_image_label}</h5> <h5 class="choose-label">{$choose_image_label}</h5> <div class="buttons"> <div class="file-uploader { input: '#{{id}}', inputName: '{{id}}_file', ids: { drop: '{{id}}_drop_area' }, base_url: '{$base_url}', params: { dir: '{$dir}' }, limit: 1, lang: { buttonChoose: '{$button_from_computer_label}', buttonReplace: '{$button_from_computer_label}' } }"> <input id="{{id}}" name="{{name}}" value="{$fileurl}" type="hidden" class="value" autocomplete="off" /> <div class="uploader-ui"></div> </div> <!-- /.file-uploader --> <button type="button" class="button button-small button-from-url">{$button_from_url_label}</button> <button type="button" class="button button-small button-from-media-library" data-library="{$button_from_media_library_data_library}">{$button_from_media_library_label}</button> </div> </div> <!-- /.choose-controls --> HTML; $clear_html = <<<HTML <ul class="controls"> <li><button title="{$button_clear_title}" type="button" class="text with-icon clear">{$button_clear_label}</button></li> </ul> HTML; } else { $choose_html = <<<HTML <input id="{{id}}" name="{{name}}" value="{$fileurl}" type="hidden" class="value" autocomplete="off" /> HTML; } $html = <<<HTML <div class="ui-state {$empty}"> {$prop_inputs} <div class="thumbs {$orientation}"> <div id="{{id}}_drop_area" class="drop-area">{$drop_label}</div> {$summary_thumb} {$thumb} </div> <!-- /.thumbs --> <div class="info-controls"> <div class="name-controls"> <h5><a target="_blank" href="{$fileurl}" tabindex="-1" title="{$filename}" class="fancybox file-link with-icon"><span class="filename">{$view_image}</span></a></h5> {$clear_html} </div> <ul class="prop"> <li class="filetype">{$filetype}</li> <li class="dimensions" title="{$w_times_h}"><span class="width">{$width}</span> × <span class="height">{$height}</span></li> <li class="filesize">{$filesize}</li> <li class="attributes"><button type="button" class="text with-icon attributes" title="{$attributes_title}">{$attributes_label}</button></li> </ul> {$choose_html} <div class="media-library-progress"> <span class="fetching-message progress-message">{$media_library_progress_message}</span> <span class="fetching-info-message progress-message">{$fetching_info_message}</span> </div> <!-- /.media-library-progress --> <div class="upload-progress"> <span class="name"></span> <div class="progress-bar-with-val"> <div class="progress-bar"><div class="border"><div><span class="bar"> </span></div></div></div> <div class="val">0%</div> </div> <span class="uploading-message progress-message">{$upload_progress_message}</span> <span class="fetching-info-message progress-message">{$fetching_info_message}</span> </div> <!-- /.upload-progress --> <div class="from-url-ui"> <label for="{{id}}-url">{$url_label}</label> <input id="{{prop_id}}-source_url" name="{{prop_name}}[source_url]" type="text" value="{$prop_source_url}" class="text url" /> <div class="buttons"> <button type="button" class="button button-small download">{$button_download_label}</button> <button type="button" class="button button-small cancel">{$button_cancel_label}</button> </div> </div> <!-- /.from-url --> <div class="download-progress"> <span class="downloading-message progress-message">{$dowloading_progress_message}</span> <span class="fetching-info-message progress-message">{$fetching_info_message}</span> </div> <!-- /.download-progress --> </div> <!-- /.info-controls --> <div class="dialogs"> <div class="mpft-image-attributes-dialog mp-dialog mpv" data-title="{$attributes_title}"> <div class="pad"> <div class="f"> <label for="{{prop_id}}-alt">{$alt_label}</label> <div class="fw"> <input id="{{prop_id}}-alt" $readonly name="{{prop_name}}[alt]" value="{$prop_alt}" type="text" class="text alt" /> </div> <!-- /.fw --> </div> <!-- /.f --> <div class="f"> <label for="{{prop_id}}-title">{$title_label}</label> <div class="fw"> <input id="{{prop_id}}-title" $readonly name="{{prop_name}}[title]" value="{$prop_title}" type="text" class="text title" /> </div> <!-- /.fw --> </div> <!-- /.f --> </div> <!-- /.pad --> </div> </div> <!-- /.dialogs --> </div> <!-- /.ui-state --> HTML; return $html; }
function col() { global $wf; $p = $this->post(); if ($this->is_multi_select()) { $posts = $this->posts("post_status=any"); if (count($posts)) { if (count($posts) == 1) { return $posts->first()->edit_link(); } else { $links = array(); $pbt = $posts->group_by("type_name"); foreach ($pbt as $type => $items) { $ids = $items->flatten("id", "sep=,"); $attr = array( "href" => admin_url("edit.php?post_type=".$type."&mp_post__in=".$ids."&mp_view=".urlencode( sprintf( __("Related to '%s'", MASTERPRESS_DOMAIN), $wf->the->title() ) )) ); $pt = $wf->type($type); $text = WOOF::items_number(count($items), sprintf( __("No %s", MASTERPRESS_DOMAIN), $pt->plural_label()), sprintf( __("1 %s", MASTERPRESS_DOMAIN), $pt->singular_label()), sprintf( __("%d %s", MASTERPRESS_DOMAIN), count($items), $pt->plural_label() ) ); $links[] = WOOF_HTML::tag("a", $attr, $text); } return WOOF_HTML::tag("div", "class=mp-col", implode("<br />", $links)); } } else { return ""; } } else { if (!is_null($p) && $p->exists()) { return $p->edit_link(); } } }
public function form($type) { global $wf, $meow_provider; $model = MasterPress::$model; ?> <?php MPV::messages(); ?> <input type="hidden" name="_builtin" value="<?php echo $model->_builtin ? "true" : "false" ?>" /> <input type="hidden" name="_external" value="<?php echo $model->_external ? "true" : "false" ?>" /> <div class="f"> <label for="name" class="icon"><i class="script-php"></i><?php _e("<strong>Singular</strong> Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="name_original" name="name_original" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name_last" name="name_last" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name" name="name" type="text" <?php echo MPV::read_only_attr($model->_builtin || MPC::is_edit()) ?> class="<?php echo MPV::read_only_class($model->_builtin || $model->_external) ?> text mono key" maxlength="20" value="<?php echo $model->name ?>" /><?php if (!$model->_builtin && !$model->_external) { ?><em class="required"><?php _e("(required)", MASTERPRESS_DOMAIN) ?></em><?php } ?> <p> <?php _e("This is a unique identifier for the custom post type in the WordPress and MasterPress APIs. It is not displayed, and by convention it <strong>must</strong> be a singular form, lowercase string with underscores to separate words.", MASTERPRESS_DOMAIN); ?> </p> </div> <p id="name_warning" class="warning"> <i class="error-circle"></i><?php _e("Note: check that you have definitely entered a <strong>singular word</strong> here, as the singular form of <em>Plural Name</em> is currently different to this value.", MASTERPRESS_DOMAIN) ?> </p> </div> <!-- /.f --> <div class="f"> <label for="plural_name" class="icon"><i class="script-php"></i><?php _e("<strong>Plural</strong> Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="plural_name" name="plural_name" <?php echo MPV::read_only_attr($model->_builtin || MPC::is_edit()) ?> type="text" value="<?php echo $model->plural_name ?>" class="<?php echo MPV::read_only_class($model->_builtin || $model->_external) ?> text mono key" /> <?php if (!$model->_builtin && !$model->_external) { ?><em class="required">(required)</em><?php } ?> <?php if (MPC::is_edit() && !$model->_builtin && !$model->_external) : ?> <button id="plural_name_suggest" type="button" class="button button-small"><?php _e("Suggest", MASTERPRESS_DOMAIN) ?></button> <?php endif; ?> <p> <?php _e("The plural form of <em>Singular Name</em>, following the same naming conventions", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f clearfix"> <label id="label-menu_icon" for="menu_icon" class="icon"><i class="image-small"></i><?php _e("Icon (16 x 16)", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <div id="icon-file-uploader" class="icon-uploader file-uploader { ids: { drop: 'menu_icon_drop_area' }, input: '#menu_icon', inputName: 'menu_icon_ul', base_url: '<?php echo MASTERPRESS_GLOBAL_CONTENT_URL ?>', params: { dir: 'menu-icons/' }, limit: 1, lang: { buttonChoose: '<?php _e("Choose from Computer…", MASTERPRESS_DOMAIN) ?>', buttonReplace: '<?php _e("Replace file…", MASTERPRESS_DOMAIN) ?>' } }"> <div id="menu_icon_drop_area" class="drop-area"><?php _e("Drop file here to upload", MASTERPRESS_DOMAIN) ?></div> <?php $file_name = $model->menu_icon; $file_class = ""; $clear_class = ""; if ($file_name == "") { $file_name = __("( None )", MASTERPRESS_DOMAIN); $file_class = "name-none"; $clear_class = "hidden"; } ?> <div class="file"> <span class="preview" style="background-image: url('<?php echo MPU::menu_icon_url($model->menu_icon, true, "post_type", true) ?>');"></span><span data-none="<?php echo __("( None )", MASTERPRESS_DOMAIN) ?>" class="name <?php echo $file_class ?>"><?php echo $file_name ?></span> <button type="button" class="<?php echo $clear_class ?> clear ir" title="<?php _e("Clear", MASTERPRESS_DOMAIN) ?>">Clear</button> </div> <input id="menu_icon" name="menu_icon" value="<?php echo $model->menu_icon ?>" type="hidden" /> <div class="uploader-ui"></div> </div> <!-- /.file-uploader --> <?php MPV::icon_select($model->menu_icon, "menu-icon-select", "menu_icon_select", "icon-file-uploader"); ?> </div> </div> <!-- /.f --> <?php if (!$model->_external) : ?> <div class="f"> <label for="disabled" class="icon"><i class="slash"></i><?php _e("Disabled", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="disabled" name="disabled" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->disabled ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#disabled' }"> <?php if ($model->_builtin) : _e("Since this post type is built-in, disabling it may render some WordPress themes unusable.<br />This is only recommended for sites that are highly customised.", MASTERPRESS_DOMAIN); else: _e("disabling a post type will keep its definition in the database but it will not be registered in WordPress, which will often be <strong>preferable to deleting it</strong> entirely.", MASTERPRESS_DOMAIN); endif; ?> </p> </div> </div> <!-- /.f --> <?php endif; ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="f"> <label for="description" class="icon"><i class="metabox-text"></i><?php _e("Description", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <textarea id="description" name="description" rows="4" cols="100"><?php echo $model->description ?></textarea> </div> </div> <!-- /.f --> <div class="f"> <label for="hierarchical" class="icon"><i class="hierarchy"></i><?php _e("Hierarchical", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="hierarchical" name="hierarchical" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->hierarchical ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#hierarchical' }"> <?php _e("hierarchical post types behave like <strong>pages</strong> in WordPress, where each post can have parent and child posts", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_ui" class="icon"><i class="metabox-menu"></i><?php _e("Show UI", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_ui" name="show_ui" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_ui ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_ui' }"> <?php _e("uncheck this to internalize this post type, which will cause many other features to be unsupported", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_in_nav_menus" class="icon"><i class="menu-gray"></i><?php _e("Show in Nav Menus", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_in_nav_menus" name="show_in_nav_menus" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->show_in_nav_menus ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_in_nav_menus' }"> <?php _e("allow selection of posts of this type in WordPress custom menus", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="show_in_menu" class="icon"><i class="menu-icon"></i><?php _e("Show in Admin Menu", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="show_in_menu" name="show_in_menu" type="checkbox" <?php echo WOOF_HTML::checked_attr( $model->show_in_menu ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#show_in_menu' }"> <?php _e("show this post type in the WordPress admin menu", MASTERPRESS_DOMAIN); ?> </p> </div> <!-- /.fw --> </div> <div class="f"> <label for="manage_sort_order" class="icon"><i class="sort-a-z"></i><?php _e("Default Manage Order", MASTERPRESS_DOMAIN) ?></label> <div class="fw"> <?php $options = array( "post_date|desc" => "Post Date, Descending", "title|asc" => "Title, Ascending", "menu_order|asc" => "Menu Order, Ascending", "post_date|asc" => "Post Date, Ascending", "title|desc" => "Title, Descending", "menu_order|desc" => "Menu Order, Descending" ); ?> <select id="manage_sort_order" name="manage_sort_order"> <?php foreach ($options as $value => $text) : ?> <option <?php echo WOOF_HTML::selected_attr($value == $model->manage_sort_order) ?> value="<?php echo $value ?>"><?php echo $text ?></option> <?php endforeach; ?> </select> <p class="note"> <?php _e("Specify the default sort order in the manage post screen (for when the user hasn't yet clicked on a table header to manually sort). For chronological types (such as blog posts) a descending date order is appropriate, but for other post types a title or menu order (user-defined) sort might be better.", MASTERPRESS_DOMAIN); ?> </p> </div> <!-- /.fw --> </div> <?php endif; ?> <?php if (is_multisite() && MASTERPRESS_MULTISITE_SHARING) { $args["supports"] = array("multisite"); $args["labels"] = array( "title" => __("control the visibility of this Post Type within WordPress", MASTERPRESS_DOMAIN), "title_multisite" => __("specify the sites in the multisite network that this Post Type is available in", MASTERPRESS_DOMAIN), "multisite_all" => __( "All Sites" ) ); MPV::fs_visibility( $model, $args ); } ?> <?php if (!$model->_external) : ?> <div class="fs fs-taxonomies"> <div class="fst"> <div class="fstb"> <h3><i class="tags"></i><strong><?php _e("Taxonomies", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("attach taxonomies to this post type", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button class="button button-small button-select-all" type="button"><?php _e('Select <strong class="all">All</strong>', MASTERPRESS_DOMAIN) ?></button> <button class="button button-small button-select-none" type="button"><?php _e('Select <strong class="none">None</strong>', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <?php $taxonomies = MPM_Taxonomy::find(array("orderby" => "name ASC")); ?> <?php foreach ($taxonomies as $tax) : $disabled = $tax->disabled ? ' disabled' : ''; $disabled_title = $tax->disabled ? __("This taxonomy is disabled", MASTERPRESS_DOMAIN) : ''; $builtin = $tax->_builtin ? ' '.__('(Built-in)', MASTERPRESS_DOMAIN) : ''; ?> <?php if ($tax->still_registered()) : ?> <div class="fw"> <input id="taxonomies_<?php echo $tax->name ?>" data-builtin="<?php echo $tax->_builtin ?>" data-title="<?php echo $tax->display_label() ?>" name="taxonomies[]" value="<?php echo $tax->name ?>" type="checkbox" <?php echo WOOF_HTML::checked_attr( $tax->linked_to_post_type($model) || MPV::in_post_array("taxonomies", $tax->name) ) ?> class="checkbox" /> <label for="taxonomies_<?php echo $tax->name ?>" class="checkbox <?php echo $disabled ?>" title="<?php echo $disabled_title ?>"><?php echo $tax->labels["name"] ?><span><?php echo $builtin ?></span></label> </div> <!-- /.fw --> <?php endif; ?> <?php endforeach; ?> </div> </div> </div> <!-- /.fs --> <div class="fs fs-supports"> <div class="fst"> <div class="fstb"> <h3><i class="gear"></i><strong><?php _e("Supports", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("controls the user interface for creating and editing posts of this type", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button class="button button-small button-select-all" type="button"><?php _e('Select <strong class="all">All</strong>', MASTERPRESS_DOMAIN) ?></button> <button class="button button-small button-select-none" type="button"><?php _e('Select <strong class="none">None</strong>', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <input id="supports_pb" name="supports_pb" type="hidden" value="true" /> <div id="fs-supports-1"> <?php $title_disabled = !($model->_builtin || $model->_external); $title_title = ""; $title_suffix = ""; if ($title_disabled) { $title_title = ' title="'.__("The title feature must be enabled", MASTERPRESS_DOMAIN).'" '; } $dis = WOOF_HTML::disabled_attr($title_disabled); if (!($model->_builtin || $model->_external)) { $checked = WOOF_HTML::checked_attr( true ); } else { $checked = WOOF_HTML::checked_attr( MPV::in_csv("title", $model->supports) ); } ?> <div class="fw"> <input id="supports_title" name="supports[]" value="title" <?php echo $dis ?> <?php echo $title_title ?> <?php echo $checked ?> type="checkbox" class="checkbox { tags: ['title'] }" /> <?php if ($title_disabled) : ?> <input id="supports_title_val" name="supports[]" value="title" type="hidden" /> <?php endif; ?> <label for="supports_title" class="checkbox"><?php _e("Title", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a text input to edit the post title", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_editor" name="supports[]" value="editor" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("editor", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['auto_excerpt'] }" /> <label for="supports_editor" class="checkbox"><?php _e("Editor", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show the main content box", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_comments" name="supports[]" value="comments" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("comments", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['comment_count'] }" /> <label for="supports_comments" class="checkbox"><?php _e("Comments", MASTERPRESS_DOMAIN); ?><span> - <?php _e("the <em>ability</em> to allow / disallow comments on posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_trackbacks" name="supports[]" value="trackbacks" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("trackbacks", $model->supports) ) ?> type="checkbox" class="checkbox { tags: ['trackback_count'] }" /> <label for="supports_trackbacks" class="checkbox"><?php _e("Trackbacks", MASTERPRESS_DOMAIN); ?><span> - <?php _e("the <em>ability</em> to allow / disallow trackbacks to posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_post_formats" name="supports[]" value="post-formats" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("post-formats", $model->supports)) ?> type="checkbox" class="checkbox { tags: ['post_format'] }" /> <label for="supports_post_formats" class="checkbox"><?php _e("Post Formats", MASTERPRESS_DOMAIN); ?><span> - <?php _e("used by themes to change the display of posts of this type", MASTERPRESS_DOMAIN); ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_front_page" name="supports[]" value="front-page" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("front-page", $model->supports)) ?> type="checkbox" class="checkbox { tags: ['front_page'] }" /> <label for="supports_front_page" class="checkbox"><?php _e("Front Page", MASTERPRESS_DOMAIN); ?><span> - <?php _e("allow posts of this type to be selected as the front page", MASTERPRESS_DOMAIN); ?></span></label> </div> <!-- /.fw --> </div> <!-- /.fs-supports-1 --> <div id="fs-supports-2"> <div class="fw"> <input id="supports_revisions" name="supports[]" value="revisions" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("revisions", $model->supports)) ?> type="checkbox" class="checkbox" /> <label for="supports_revisions" class="checkbox"><?php _e("Revisions", MASTERPRESS_DOMAIN); ?><span> - <?php _e("allow revisions for posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_author" name="supports[]" value="author" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("author", $model->supports)) ?> class="checkbox" /> <label for="supports_author" class="checkbox"><?php _e("Author", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a select box for changing the author", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_excerpt" name="supports[]" value="excerpt" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("excerpt", $model->supports)) ?> class="checkbox { tags: ['excerpt'] }" /> <label for="supports_excerpt" class="checkbox"><?php _e("Excerpt", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show a text area for writing a custom excerpt", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_page_attributes" name="supports[]" value="page-attributes" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("page-attributes", $model->supports) ) ?> class="checkbox" /> <label for="supports_page_attributes" class="checkbox"><?php _e("Type Attributes", MASTERPRESS_DOMAIN); ?><span> - <?php _e("Show the UI for editing Template, Menu Order and Parent", MASTERPRESS_DOMAIN); ?></span></label> </div> <!-- /.fw --> <div class="fw"> <input id="supports_thumbnail" name="supports[]" value="thumbnail" type="checkbox" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("thumbnail", $model->supports) ) ?> class="checkbox { tags: ['thumbnail'] }" /> <label for="supports_thumbnail" class="checkbox"><?php _e("Thumbnail", MASTERPRESS_DOMAIN); ?><span> - <?php _e("show the <em>standard</em> thumbnail upload for posts of this type", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> </div> <!-- /.fs-supports-2 --> </div> </div> </div> <!-- /.fs --> <?php else : ?> <?php endif; ?> <script id="custom-column-template" type="text/html"> <li class="column clearfix"> <div class="head"> <input name="columns[{{index}}][title]" value="Column" type="text" class="text" /> <input name="columns[{{index}}][disabled]" value="" type="hidden" class="disabled" /> <span class="handle"></span> </div> <div class="body"> <textarea name="columns[{{index}}][content]" class="column-content mono editable"></textarea> </div> <div class="foot"> <div> <button class="text remove"><i></i><?php _e("Remove") ?></button> </div> </div> </li> </script> <script id="tax-add-button-template" type="text/html"> <div class="control taxonomy-control {{taxonomy}}"> <button data-taxonomy="{{taxonomy}}" data-title="{{title}}" type="button" class="text add taxonomy taxonomy-{{taxonomy}}"><?php printf( __('<em class="create">Add</em> <b>%s</b> Column', MASTERPRESS_DOMAIN ), "{{title}}" ) ?></button> </div> </script> <?php if ($model->show_ui) : ?> <div class="fs fs-column-builder clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="grid"></i><strong><?php _e("Columns") ?></strong> - <?php _e("specify the columns shown in the manage listing for posts of this type") ?></h3> </div> </div> <div class="fsc clearfix"> <div class="fscb clearfix"> <div class="columns-clip"> <div class="columns-wrap clearfix"> <ul class="columns clearfix"> <?php $count = 0; $core_enabled = array(); ?> <?php foreach ($model->columns() as $column) : ?> <?php $class = array("column clearfix"); $disabled = ""; $core = ""; $title = isset($column["title"]) ? $column["title"] : ""; $content = ""; if (isset($column["content"])) { $content = stripslashes($column["content"]); } if (isset($column["core"])) { $core = $column["core"]; $content = "{{col.".$core."}}"; } if (isset($column["disabled"])) { $disabled = $column["disabled"]; } if ($core != "") { $class[] = "core"; $class[] = $core; $data_core = ' data-core="'.$core.'" '; } if ($core == "cb") { $class[] = "checkbox nosort"; } if ($disabled == "yes") { $class[] = "disabled"; } else { if ($core != "") { $core_enabled[] = $core; } } ?> <li <?php echo $data_core ?> class="<?php echo implode(" ", $class) ?>"> <div class="head"> <?php if ($core == "cb") : ?> <input type="checkbox" /> <input name="columns[<?php echo $count ?>][core]" value="cb" type="hidden" /> <?php else: ?> <?php if ($core == "comments") : ?> <span class="icon"></span> <input name="columns[<?php echo $count ?>][title]" value="<?php echo $title ?>" type="text" class="text hidden" /> <?php else: ?> <input name="columns[<?php echo $count ?>][title]" value="<?php echo $title ?>" type="text" class="text" /> <?php endif; ?> <?php if ($core != "") : ?> <input name="columns[<?php echo $count ?>][core]" value="<?php echo $core ?>" type="hidden" /> <?php endif; ?> <input name="columns[<?php echo $count ?>][disabled]" value="<?php echo $disabled ?>" type="hidden" class="disabled" /> <span class="handle"></span> <?php endif; ?> </div> <!-- /.head --> <div class="body clearfix"> <?php if ($core == "cb") : ?> <input type="checkbox" /> <?php else: ?> <?php if ($core == "comments") : ?> <span class="icon"></span> <textarea name="columns[<?php echo $count ?>][content]" readonly="true" class="content mono readonly hidden"></textarea> <?php elseif ($core != "") : ?> <textarea name="columns[<?php echo $count ?>][content]" title="<?php _e("Content cannot be changed as this is a built-in column") ?>" readonly="true" class="content mono readonly"><?php echo $content ?></textarea> <?php else : ?> <textarea name="columns[<?php echo $count ?>][content]" class="content mono editable" style="z-index: <?php echo 200 - $count ?>"><?php echo $content ?></textarea> <?php endif; ?> <?php endif; ?> </div> <div class="foot"> <div> <?php if ($core != "cb" && $core != "title") : ?> <button type="button" class="text remove"><i></i><?php _e("Remove") ?></button> <?php endif; ?> </div> </div> </li> <?php $count++; ?> <?php endforeach; ?> </ul> </div> <!-- /.columns-wrap --> <div class="core-columns"> <div class="f"> <p class="label"><i class="wall"></i><?php _e("Built-in columns:", MASTERPRESS_DOMAIN) ?></p> <?php $core_columns = array( "Author" => "author", "Categories" => "categories", "Tags" => "tags", "Comments" => "comments", "Date" => "date" ); ?> <?php foreach ($core_columns as $label => $key) : ?> <?php $checked_attr = WOOF_HTML::checked_attr(in_array($key, $core_enabled)); $style = ""; $supports = explode(",", $model->supports); if ($key == "categories" && !$model->linked_to_taxonomy_name("category")) { $style = 'style="display: none" '; } else if ($key == "tags" && !$model->linked_to_taxonomy_name("post_tag")) { $style = 'style="display: none" '; } else if ($key == "author" && !in_array("author", $supports)) { $style = 'style="display: none" '; } else if ($key == "comments" && !in_array("comments", $supports)) { $style = 'style="display: none" '; } ?> <div <?php echo $style ?> id="fw-core-column-<?php echo $key ?>" class="fw"> <input id="core-column-<?php echo $key ?>" <?php echo $checked_attr ?> value="<?php echo $key ?>" type="checkbox" class="checkbox" /> <label for="core-column-<?php echo $key ?>" class="checkbox"><?php echo $label ?></label> </div> <!-- /.fw --> <?php endforeach; ?> </div> </div> <!-- /.core-columns --> <?php if (MPC::is_edit()) : ?> <style type="text/css"> <?php foreach (MPFT::type_keys() as $key) : ?> .select2-results .field-type-<?php echo $key ?>, .select2-container .field-type-<?php echo $key ?> { background-repeat: no-repeat; background-image: url(<?php echo MPU::type_icon_url($key) ?>); } <?php endforeach; ?> </style> <div id="dialog-fields" data-title="<?php _e("Select a Field to Display in the Column", MASTERPRESS_DOMAIN) ?>"> <?php $fs = $meow_provider->post_type_field_sets($model->name); $field_options = array(); $field_options[""] = ""; $field_options_attr = array(""); foreach ($fs as $set) { $fo = array(); $fo_attr = array(); foreach ($set->fields() as $field) { $fo[$field->display_label()] = $set->name.".".$field->name; $fo_attr[] = $field_options_attr[] = array("data-icon" => "mp-icon field-type-".$field->type); } $field_options[$set->display_label()] = array("options" => $fo, "options_attr" => $fo_attr); } echo WOOF_HTML::select(array("id" => "add-field-column-field-sets", "name" => "add-field-column-field-sets", "class" => "with-icons select2-source", "data-placeholder" => __("-- Select a Field --", MASTERPRESS_DOMAIN)), $field_options, "", $field_options_attr); ?> </div> <!-- /#dialog-fields --> <?php endif; ?> <div class="custom-columns"> <?php if (MPC::is_edit() && count($field_options) > 1) : ?> <div class="control"> <button id="add-field-column" type="button" class="text add field"><i></i><?php _e('<em class="create">Add</em> <b>Field</b> Column', MASTERPRESS_DOMAIN) ?></button> </div> <?php endif; ?> <div class="control"> <button id="add-custom-column" type="button" class="text add"><i></i><?php _e('<em class="create">Add</em> <b>Custom</b> Column', MASTERPRESS_DOMAIN) ?></button> </div> <?php $taxonomies = $model->taxonomies(); ?> <?php foreach ($model->taxonomies() as $tax) : ?> <div class="control taxonomy-control <?php echo $tax->name ?>"> <button data-taxonomy="<?php echo $tax->name ?>" data-title="<?php echo $tax->display_label() ?>" type="button" class="text add taxonomy taxonomy-<?php echo $tax->name ?>"><i></i><?php printf( __('<em class="create">Add</em> <b>%s</b> Column', MASTERPRESS_DOMAIN ), $tax->display_label() ) ?></button> </div> <?php endforeach; ?> </div> <!-- /.custom-columns --> </div> <!-- /.columns-clip --> </div> </div> </div> <!-- /.fs --> <?php endif; ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="fs fs-menu-options clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="menu-icon"></i><strong><?php _e("Admin Menu", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("controls where your post type appears in the WordPress administration menu", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc clearfix"> <div class="fscb clearfix"> <div class="f clearfix"> <label for="menu_position" class="label-sortable-list"><?php _e("Position", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php // Build a menu, which we'll co-populate with info from the post types and then sort by menu position and sub position $post_post_type = MPM_PostType::find_by_name("post"); $page_post_type = MPM_PostType::find_by_name("page"); $menus = array( array( "label" => __("Posts", MASTERPRESS_DOMAIN), "class" => "icon16 icon-post", "disabled" => ( (bool) $post_post_type->disabled ), "built_in" => true, "position" => 5, "sub_position" => 0 ), array( "label" => __("Media", MASTERPRESS_DOMAIN), "class" => "icon16 icon-media", "built_in" => true, "position" => 10, "sub_position" => 0 ), array( "label" => __("Links", MASTERPRESS_DOMAIN), "class" => "icon16 icon-links", "built_in" => true, "position" => 15, "sub_position" => 0 ), array( "label" => __("Pages", MASTERPRESS_DOMAIN), "class" => "icon16 icon-page", "disabled" => ( (bool) $page_post_type->disabled ), "built_in" => true, "position" => 20, "sub_position" => 0 ), array( "label" => __("Comments", MASTERPRESS_DOMAIN), "class" => "icon16 icon-comments", "built_in" => true, "position" => 25, "sub_position" => 0 ), array( "divider" => true, "position" => 64, "sub_position" => 0 ), array( "label" => __("Plugins", MASTERPRESS_DOMAIN), "class" => "icon16 icon-plugins", "built_in" => true, "position" => 65, "sub_position" => 0 ), array( "label" => __("Users", MASTERPRESS_DOMAIN), "class" => "icon16 icon-users", "built_in" => true, "position" => 70, "sub_position" => 0 ), array( "label" => __("Tools", MASTERPRESS_DOMAIN), "class" => "icon16 icon-tools", "built_in" => true, "position" => 75, "sub_position" => 0 ), array( "label" => __("Settings", MASTERPRESS_DOMAIN), "class" => "icon16 icon-settings", "built_in" => true, "position" => 80, "sub_position" => 0 ), array( "divider" => true, "position" => 100, "sub_position" => 0 ) ); // Splice with post-types data (non built-in) $post_types = MPM_PostType::find( array( "where" => "_builtin = 0 AND name <> '{$model->name}'", "orderby" => "menu_position,menu_sub_position") ); foreach ($post_types as $post_type) { if ($post_type->show_in_menu) { if (!$post_type->_external) { // if post variables are set for these positions, use those instead of the DB values --> $position = $post_type->menu_position; $sub_position = $post_type->menu_sub_position; if (isset($_POST["other_menu_position"]) && isset($_POST["other_menu_position"][$post_type->name])) { $position = $_POST["other_menu_position"][$post_type->name]; } if (isset($_POST["other_menu_sub_position"]) && isset($_POST["other_menu_sub_position"][$post_type->name])) { $sub_position = $_POST["other_menu_sub_position"][$post_type->name]; } $bi = false; $menus[] = array( "name" => $post_type->name, "label" => $post_type->labels["menu_name"], "disabled" => $post_type->disabled, "icon" => MPU::menu_icon_url($post_type->menu_icon, true, "post_type", true), "built_in" => $bi, "position" => (int) $position, "sub_position" => (int) $sub_position ); } } } // Finally, add the post type currently being created / edited $menus[] = array( "disabled" => $model->disabled, "current" => true, "name" => $model->name == "" ? "?" : $model->name, "label" => $model->labels["menu_name"], "icon" => $model->menu_icon == "" ? MPU::img_url("icon-no-icon.png") : MPU::menu_icon_url($model->menu_icon), "built_in" => false, "position" => (int) $model->menu_position, "sub_position" => (int) $model->menu_sub_position ); // MPU::img_url("icon-no-icon.png") function mp_menu_sort($a, $b) { if ($a["position"] == $b["position"]) { if ($a["sub_position"] == $b["sub_position"]) { return 0; } else { return $a["sub_position"] > $b["sub_position"] ? 1 : -1; } } else if ($a["position"] > $b["position"]) { return 1; } else { return -1; } return 0; } usort($menus, "mp_menu_sort"); // MPV::dump($menus); $count = 0; ?> <div class="sortable-list sortable-list-menu"> <span class="arrow"></span> <div class="lists clearfix"> <ul> <?php foreach ($menus as $menu) : $count++; $first = $count == 1 ? "first " : ""; ?> <?php $disabled = ''; $disabled_title = ''; if (isset($menu["disabled"]) && $menu["disabled"]) { $disabled = 'disabled'; $disabled_title = __("This post type is disabled", MASTERPRESS_DOMAIN); } ?> <?php if (isset($menu["divider"])) : ?> <li class="divide nomove"></li> <?php elseif (isset($menu["built_in"]) && $menu["built_in"]) : ?> <li class="<?php echo $first ?> <?php echo $disabled ?> bi nomove { base_pos: <?php echo $menu["position"] ?>}" title="<?php echo $disabled_title ?>"> <span class="icon <?php echo $menu["class"] ?>"></span> <span><?php echo $menu["label"] ?></span> </li> <?php elseif (isset($menu["current"])) : ?> <li class="current <?php echo $disabled ?>" title="<?php echo $disabled_title ?>"> <input id="menu_position" name="menu_position" value="<?php echo $menu["position"] ?>" type="hidden" class="pos" /> <input id="menu_sub_position" name="menu_sub_position" value="<?php echo $menu["sub_position"] ?>" type="hidden" class="sub_pos" /> <span class="icon mp-icon mp-icon-post-type mp-icon-post-type-<?php echo $menu["name"] ?>"></span> <span class="fill { src: '#label_menu_name' }">?</span> </li> <?php else: ?> <li class="<?php echo $disabled ?>" title="<?php echo $disabled_title ?>"> <input id="other_menu_position_<?php echo $menu["name"] ?>" name="other_menu_position[<?php echo $menu["name"] ?>]" value="<?php echo $menu["position"] ?>" type="hidden" class="pos" /> <input id="other_menu_sub_position_<?php echo $menu["name"] ?>" name="other_menu_sub_position[<?php echo $menu["name"] ?>]" value="<?php echo $menu["sub_position"] ?>" type="hidden" class="sub_pos" /> <span class="icon mp-icon mp-icon-post-type mp-icon-post-type-<?php echo $menu["name"] ?>"></span> <span><?php echo $menu["label"] ?></span> </li> <?php endif; ?> <?php endforeach; ?> <li class="nomove holder"></li> </ul> </div> <!-- /.lists --> <div class="help"> <p> <?php _e("Drag post type to the desired position in the admin menu.", MASTERPRESS_DOMAIN) ?> </p> <p> <?php _e("Note: You cannot adjust the positions of the built-in menus, but you can position items before and after them (with the exception that items must be positioned after <em>Posts</em>).", MASTERPRESS_DOMAIN); ?> </p> <p> <em><?php _e("The menu presented here is a representation only, and does not include other menus registered by your theme and other plug-ins.", MASTERPRESS_DOMAIN); ?></em> </p> </div> </div> <!-- /.sortable-list --> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <?php endif; ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="fs fs-url-options clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="globe"></i><strong><?php _e("URL Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("controls how your post type is accessible via URLs in your site", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc clearfix"> <div class="fscb clearfix"> <div class="f"> <label for="rewrite_slug" class="text"><?php _e("Rewrite Slug", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="rewrite_slug" name="rewrite[slug]" type="text" value="<?php echo $model->rewrite["slug"] ?>" class="text mono" /> <p> <?php _e("The slug your post types will sit underneath in the URL structure.", MASTERPRESS_DOMAIN); ?><br /> <?php _e("The default value follows the popular convention of using the lowercase sanitized version of <em>Plural Name</em>.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="fw clearfix"> <input id="has_archive" name="has_archive" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->has_archive ) ?> class="checkbox" /> <label for="has_archive" class="checkbox"><?php printf( __("Has Archive Page? - <span>allows an archive page for this post type, using the template named %s", MASTERPRESS_DOMAIN ), 'archive-<em class="post-type-name fill { src: \'#name\', format: \'dasherize\' }\">'.$model->name.'</em>.php</span>') ?></label> </div> <div class="fw clearfix"> <input id="rewrite_with_front" name="rewrite[with_front]" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->rewrite["with_front"] ) ?> class="checkbox" /> <label for="rewrite_with_front" class="checkbox"><?php _e("With Front? - <span>Append the above slug to the top level URL set in your permalink settings.</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="fw"> <input id="rewrite_feeds" name="rewrite[feeds]" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->rewrite["feeds"] ) ?> class="checkbox" /> <label for="rewrite_feeds" class="checkbox"><?php _e("Has Feeds? - <span>Create RSS / ATOM feeds for this post type.</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="f clearfix"> <label for="permalink_epmask" class="text"><?php _e("Permalink End-Point Mask", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php //$options = array("EP_PERMALINK", "EP_ATTACHMENT", "EP_DATE", "EP_YEAR", "EP_MONTH", "EP_DAY", "EP_ROOT", "EP_COMMENTS", "EP_SEARCH", "EP_CATEGORIES", "EP_TAGS", "EP_AUTHORS", "EP_PAGES", "EP_ALL"); //echo WOOF_HTML::select( array("multiple" => "multiple", "id" => "permalink_epmask", "name" => "permalink_epmask"), $options, $model->permalink_epmask ); ?> <input id="permalink_epmask" name="permalink_epmask" type="text" value="<?php echo $model->permalink_epmask ?>" class="text mono" /> <p> <?php _e('Separate multiple end-point constants with a pipe. e.g. <span class="tt">EP_PAGES | EP_TAGS</span>', MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="fw clearfix"> <input id="supports_top_level_slugs" name="supports[]" value="top-level-slugs" <?php echo WOOF_HTML::checked_attr( MPV::in_csv("top-level-slugs", $model->supports) ) ?> type="checkbox" class="checkbox" /> <label for="supports_top_level_slugs" class="checkbox"><?php _e("Allow Rewrite Slug to be ommitted?", MASTERPRESS_DOMAIN); ?><span> - <?php _e("allows you to also access posts of this type <em>without</em> the rewrite slug in the URL.<br/>Be careful with this setting - it may affect site performance, and pages with the same slug as a post of this type will no longer be accessible.", MASTERPRESS_DOMAIN) ?></span></label> </div> <!-- /.fw --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-query-data-options"> <div class="fst"> <div class="fstb"> <h3><i class="database"></i><strong><?php _e("Query & Data Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e(" controls the visibility of this post type in database queries and site searches, and exportability", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="fw fw"> <input id="publicly_queryable" name="publicly_queryable" value="true" <?php echo WOOF_HTML::checked_attr( $model->publicly_queryable ) ?> type="checkbox" class="checkbox" /> <label for="publicly_queryable" class="checkbox"><?php _e("Publicly Queryable? - <span>Allow queries on this post type from the front-end WordPress API</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="f"> <label for="query_var" class="text"><?php _e("Query Variable", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="query_var" name="query_var" type="text" value="<?php echo $model->query_var ?>" class="text mono" /> <p> <?php _e('Enter the query variable used to query posts of this type with <span class="tt">query_posts</span> or <span class="tt">WP_Query</span>. Generally this should simply be the default value of the <em>Singular Name</em>, unless you have a good reason to change it.', MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="fw"> <input id="exclude_from_search" name="exclude_from_search" value="true" <?php echo WOOF_HTML::checked_attr( $model->exclude_from_search ) ?> type="checkbox" class="checkbox" /> <label for="exclude_from_search" class="checkbox"><?php _e("Exclude from Search? - <span>Hide items of this post type in site search results</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> <div class="fw"> <input id="can_export" name="can_export" value="true" <?php echo WOOF_HTML::checked_attr( $model->can_export ) ?> type="checkbox" class="checkbox" /> <label for="can_export" class="checkbox"><?php _e("Exportable? - <span>Allow this post type to be exported via the WordPress Export Tool</span>", MASTERPRESS_DOMAIN); ?></label> </div> <!-- /.fw --> </div> </div> </div> <!-- /.fs --> <?php endif; ?> <?php if (!$model->_external) : ?> <div class="fs fs-labels"> <div class="fst"> <div class="fstb"> <h3><i class="label-string"></i><strong><?php _e("Labels", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("displayed throughout the WordPress administration UI", MASTERPRESS_DOMAIN) ?></h3> <div class="buttons"> <button id="autofill-labels" class="button button-autofill" type="button"><?php _e('<strong>Auto-Fill</strong> Labels', MASTERPRESS_DOMAIN) ?></button> </div> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="label_singular_name"><?php _e("<em>Singular</em> Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_singular_name" name="labels[singular_name]" value="<?php echo $model->labels["singular_name"] ?>" type="text" class="text { tmpl: '{{singular_name}}' }" /> <em class="recommended">(<?php _e("recommended", MASTERPRESS_DOMAIN) ?>)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_name"><?php _e("<em>Plural</em> Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_name" name="labels[name]" value="<?php echo $model->labels["name"] ?>" type="text" class="text { tmpl: '{{plural_name}}' }" /> <em class="recommended">(<?php _e("recommended", MASTERPRESS_DOMAIN) ?>)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_menu_name"><?php _e("Menu Name:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_menu_name" name="labels[menu_name]" value="<?php echo $model->labels["menu_name"] ?>" type="text" class="text { tmpl: '<?php _e("{{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("The name to give menu items", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_add_new"><?php _e("Add New:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_add_new" name="labels[add_new]" value="<?php echo $model->labels["add_new"] ?>" type="text" class="text { tmpl: '<?php _e("Add New", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Menu label for creating a post of this type", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_all_items"><?php _e("All Items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_all_items" name="labels[all_items]" value="<?php echo $model->label("all_items") ?>" type="text" class="text { tmpl: '<?php _e("All {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("The all items text used in the menu", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_add_new_item"><?php _e("Add New Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_add_new_item" name="labels[add_new_item]" value="<?php echo $model->labels["add_new_item"] ?>" type="text" class="text { tmpl: '<?php _e("Add New {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Header shown when creating a new item of this type", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_edit"><?php _e("Edit:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_edit" name="labels[edit]" value="<?php echo $model->labels["edit"] ?>" type="text" class="text { tmpl: '<?php _e("Edit", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Menu label for editing posts of this type", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_edit_item"><?php _e("Edit Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_edit_item" name="labels[edit_item]" value="<?php echo $model->labels["edit_item"] ?>" type="text" class="text { tmpl: '<?php _e("Edit {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Header shown when editing posts of this type", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_new_item"><?php _e("New Item Label:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_new_item" name="labels[new_item]" value="<?php echo $model->labels["new_item"] ?>" type="text" class="text { tmpl: '<?php _e("New {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Shown in the favorites menu in the admin header", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_view"><?php _e("View:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_view" name="labels[view]" value="<?php echo $model->labels["view"] ?>" type="text" class="text { tmpl: '<?php _e("View {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Used as text in links to view posts of this type", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_view_item"><?php _e("View Item:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_view_item" name="labels[view_item]" value="<?php echo $model->labels["view_item"] ?>" type="text" class="text { tmpl: '<?php _e("View {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Text for the button alongside the permalink on the edit post screen", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_search_items"><?php _e("Search Items:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_search_items" name="labels[search_items]" value="<?php echo $model->labels["search_items"] ?>" type="text" class="text { tmpl: '<?php _e("Search {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Button text for the search box on the edit post screen", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_not_found"><?php _e("Not Found:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_not_found" name="labels[not_found]" value="<?php echo $model->labels["not_found"] ?>" type="text" class="text { lowercase: true, tmpl: '<?php _e("No {{plural_name}} found", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Text to display when no posts of this type are found through search in the admin", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_not_found_in_trash"><?php _e("Not Found In Trash:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_not_found_in_trash" name="labels[not_found_in_trash]" value="<?php echo $model->labels["not_found_in_trash"] ?>" type="text" class="text { lowercase: true, tmpl: '<?php _e("No {{plural_name}} found in Trash", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Text to display when no posts of this type are in the trash", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f hierarchical-only"> <label for="label_parent_item_colon"><?php _e("Parent Item (Colon):", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_parent_item_colon" name="labels[parent_item_colon]" value="<?php echo $model->labels["parent_item_colon"] ?>" type="text" class="text { tmpl: '<?php _e("Parent {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("The label for the parent selector on the edit posts screen (hierarchical only)", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_no_posts"><?php _e("No Posts:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_no_posts" name="labels[no_posts]" value="<?php echo $model->label("no_posts") ?>" type="text" class="text { tmpl: '<?php _e("No {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Used when listing posts in a master-detail relationship", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_one_post"><?php _e("One Post:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_one_post" name="labels[one_post]" value="<?php echo $model->label("one_post") ?>" type="text" class="text { tmpl: '<?php _e("1 {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Used when listing posts in a master-detail relationship", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_n_posts"><?php _e("n Posts:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_n_posts" name="labels[n_posts]" value="<?php echo $model->label("n_posts") ?>" type="text" class="text { tmpl: '<?php _e("%d {{plural_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Used when listing posts in a master-detail relationship", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> <div class="f"> <label for="label_remove_post"><?php _e("Remove Post:", MASTERPRESS_DOMAIN); ?></label> <div class="fw"> <input id="label_remove_post" name="labels[remove_post]" value="<?php echo $model->label("remove_post") ?>" type="text" class="text { tmpl: '<?php _e("Remove {{singular_name}}", MASTERPRESS_DOMAIN) ?>' }" /> <span class="fdesc"><?php _e("Used when listing posts in a master-detail relationship", MASTERPRESS_DOMAIN); ?></span> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <?php endif; ?> <?php if (!$model->_builtin && !$model->_external) : ?> <div class="fs fs-capability-keys"> <div class="fst"> <div class="fstb"> <h3><i class="key"></i><strong><?php _e("Capabilities", MASTERPRESS_DOMAIN) ?></strong> - <?php _e('the keys used to control access to this post type.', MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="fw fwl"> <input id="capability_type_post" name="capability_type" value="post" <?php echo WOOF_HTML::checked_attr( $model->capability_type == "post" ) ?> type="radio" class="radio" /> <label for="capability_type_post" class="radio"><?php _e('<em>Post</em> style, based on the partial key <span class="tt">post</span>', MASTERPRESS_DOMAIN) ?></label> <div class="eg"> <p><strong><?php _e("primitive capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_posts, edit_others_posts, publish_posts, read_private_posts</span></p> <p><strong><?php _e("meta capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_post, read_post, delete_post, read, delete_posts, delete_private_posts, delete_published_posts, delete_others_posts, edit_private_posts, edit_published_posts</span></p> </div> </div> <!-- /.fw --> <div class="fw fwl"> <input id="capability_type_page" name="capability_type" value="page" <?php echo WOOF_HTML::checked_attr( $model->capability_type == "page" ) ?> type="radio" class="radio" /> <label for="capability_type_page" class="radio"><?php _e('<em>Page</em> style, based on the partial key <span class="tt">page</span>', MASTERPRESS_DOMAIN) ?></label> <div class="eg"> <p><strong><?php _e("primitive capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_pages, edit_others_pages, publish_pages, read_private_pages</span></p> <p><strong><?php _e("meta capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_page, read_page, delete_page, read, delete_pages, delete_private_pages, delete_published_pages, delete_others_pages, edit_private_pages, edit_published_pages</span></p> </div> </div> <!-- /.fw --> <div class="fw fwl"> <input id="capability_type_specific" name="capability_type" value="specific" <?php echo WOOF_HTML::checked_attr( $model->capability_type == "specific" || $model->capability_type == $model->name ) ?> type="radio" class="radio" /> <label for="capability_type_specific" class="radio"><?php _e("<em>Specific</em>, based on <em>Singular Name</em>", MASTERPRESS_DOMAIN) ?></label> <div class="eg"> <p><strong><?php _e("primitive capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_<span class="fill { src: '#name' }">?</span>s, edit_others_<span class="fill { src: '#name' }">?</span>s, publish_<span class="fill { src: '#name' }">?</span>s, read_private_<span class="fill { src: '#name' }">?</span>s</span></p> <p><strong><?php _e("meta capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_<span class="fill { src: '#name' }">?</span>, read_<span class="fill { src: '#name' }">?</span>, delete_<span class="fill { src: '#name' }">?</span>, read, delete_<span class="fill { src: '#name' }">?</span>s, delete_private_<span class="fill { src: '#name' }">?</span>s, delete_published_<span class="fill { src: '#name' }">?</span>s, delete_others_<span class="fill { src: '#name' }">?</span>s, edit_private_<span class="fill { src: '#name' }">?</span>s, edit_published_<span class="fill { src: '#name' }">?</span>s</span></p> </div> </div> <!-- /.fw --> <div id="fw_capability_type_custom" class="fw fwl"> <?php $custom_value = ""; $custom_checked = false; if ($model->capability_type != $model->name && $model->capability_type != "post" && $model->capability_type != "page") { $custom_checked = true; $custom_value = $model->capability_type; } ?> <input id="capability_type_custom" name="capability_type" value="custom" <?php echo WOOF_HTML::checked_attr( $custom_checked ) ?> type="radio" class="radio" /> <label id="label-capability_custom_value" for="capability_type_custom" class="radio"><?php _e("<em>Custom</em>, based on the partial key (singular)", MASTERPRESS_DOMAIN) ?>:</label> <input id="capability_type_custom_value" name="capability_type_custom_value" value="<?php echo $custom_value ?>" type="text" class="text mono" /> <div class="eg"> <p><strong><?php _e("primitive capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, edit_others_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, publish_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, read_private_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span></span></p> <p><strong><?php _e("meta capabilities", MASTERPRESS_DOMAIN) ?>:</strong> <span class="tt">edit_<span class="custom-fill { src: '#capability_type_custom_value' }">?</span>, read_<span class="custom-fill { src: '#capability_type_custom_value' }">?</span>, delete_<span class="custom-fill { src: '#capability_type_custom_value' }">?</span>, read, delete_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, delete_private_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, delete_published_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, delete_others_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, edit_private_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span>, edit_published_<span class="custom-fill { src: '#capability_type_custom_value', format: 'pluralize' }">?</span></span></p> </div> </div> <!-- /.fw --> <div class="fw"> <input id="map_meta_cap" name="map_meta_cap" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->map_meta_cap ) ?> class="checkbox" /> <label for="map_meta_cap" class="checkbox"><?php printf( __('Map Meta Capabilities? - <span>whether to use the internal default meta capability handling. See the section on the <span class="tt">capabilities</span> argument %s</span>', MASTERPRESS_DOMAIN ), '<a href="http://codex.wordpress.org/Function_Reference/register_post_type#Arguments" target="_blank">'.__(" here", MASTERPRESS_DOMAIN).'</a>') ?></label> </div> </div> </div> </div> <!-- /.fs --> <?php endif; // !$model->_builtin ?> <?php } // end form
function pagination($args = array()) { /* Based on code from Sparklette studios http://design.sparklette.net/teaches/how-to-add-wordpress-pagination-without-a-plugin/# */ $html = ""; global $wp_query; $r = wp_parse_args( $args, array( "pages" => '', "page_var" => "paged", "range" => 5, "link_callback" => "get_pagenum_link", "class_page" => "page", "class_current" => "current", "class_inactive" => "inactive", "class_wrap" => "pagination", "tag_wrap" => "nav", "tag_wrap_pages" => "div", "class_pages" => "pages", "show_page_count" => true, "tag_page_count" => "span", "class_page_count" => "page-count", "t_page_count" => __("Page %d of %d", WOOF_DOMAIN), "show_first" => true, "class_first" => "first", "title_first" => __("First Page", WOOF_DOMAIN), "t_first" => __("« First", WOOF_DOMAIN), "show_previous" => true, "class_previous" => "previous", "title_previous" => __("Previous Page", WOOF_DOMAIN), "t_previous" => __("‹ Previous", WOOF_DOMAIN), "show_next" => true, "class_next" => "next", "title_next" => __("Next Page", WOOF_DOMAIN), "t_next" => __("Next ›", WOOF_DOMAIN), "show_last" => true, "class_last" => "last", "title_last" => __("Last Page", WOOF_DOMAIN), "t_last" => __("Last »", WOOF_DOMAIN) ) ); extract($r); $showitems = ($range * 2) + 1; $paged = get_query_var($r["page_var"]); if (!$paged) $paged = 1; if ($pages == '') { $pages = $wp_query->max_num_pages; if (!$pages) { $pages = 1; } } if (1 != $pages) { if ($show_page_count) { $html .= WOOF_HTML::tag($tag_page_count, array("class" => $class_page_count), sprintf($t_page_count, $paged, $pages)); } $limit = !($paged > 2 && $paged > $range + 1 && $showitems < $pages); if ($show_first && ($show_first == "always" || !$limit)) { if ($paged == 1) { $html .= WOOF_HTML::tag("span", array("class" => $class_first), $t_first); } else { $href = call_user_func( $r["link_callback"], 1 ); $html .= WOOF_HTML::tag("a", array("href" => $href, "title" => $title_first, "class" => $class_first), $t_first); } } $limit = !($paged > 1 && $showitems < $pages); if ($show_previous && ($show_previous == "always" || !$limit)) { if ($paged == 1) { $html .= WOOF_HTML::tag("span", array("class" => $class_previous), $t_previous); } else { $href = call_user_func( $r["link_callback"], $paged - 1 ); $html .= WOOF_HTML::tag("a", array("href" => $href, "title" => $title_previous, "class" => $class_previous), $t_previous); } } $html .= WOOF_HTML::open($tag_wrap_pages, array("class" => $class_pages)); $pc = 0; for ($i=1; $i <= $pages; $i++) { if (1 != $pages && ( !($i >= $paged + $range + 1 || $i <= $paged - $range - 1) || $pages <= $showitems )) { $pc++; $class = array($class_page); if ($paged == $i) { $class[] = $class_current; $html .= WOOF_HTML::tag("span", array("class" => implode(" ", $class)), $i); } else { $class[] = $class_inactive; $href = call_user_func( $r["link_callback"], $i ); $html .= WOOF_HTML::tag("a", array("href" => $href, "class" => implode(" ", $class)), $i); } } } $html = WOOF_HTML::open($tag_wrap, array("class" => $class_wrap." with-$pc-pages $class_wrap-with-$pc-pages")).$html; $html .= WOOF_HTML::close($tag_wrap_pages); $limit = !( $paged < $pages && $showitems < $pages ); if ($show_next && ($show_next == "always" || !$limit)) { if ($pages == $paged) { $html .= WOOF_HTML::tag("span", array("class" => $class_next), $t_next); } else { $href = call_user_func( $r["link_callback"], $paged + 1 ); $html .= WOOF_HTML::tag("a", array("href" => $href, "title" => $title_next, "class" => $class_next), $t_next); } } $limit = !($pages - 1 && $paged + $range - 1 < $pages && $showitems < $pages); if ($show_last && ($show_last == "always" || !$limit)) { if ($pages == $paged) { $html .= WOOF_HTML::tag("span", array("class" => $class_last), $t_last); } else { $href = call_user_func( $r["link_callback"], $pages ); $html .= WOOF_HTML::tag("a", array("href" => $href, "title" => $title_last, "class" => $class_last), $t_last); } } $html .= WOOF_HTML::close($tag_wrap); } return $html; }
public static function options_form( $options ) { $html = ""; $limit = self::get_filesize_limit(); $limit_mb = WOOF_File::format_filesize($limit, "MB", false); $defaults = array( "filename_case" => "lowercase", "filename_sanitize" => "dashes", "allowed_types" => array("csv","doc","docx","gz","m4a", "md", "pdf","pps","ppt","pptx","psd","rar","rtf","swf","txt","vcf","xls","xlsx","xml","zip") ); $options = wp_parse_args( $options, $defaults ); $p = self::type_prefix(__CLASS__); $allowed_maxsize = self::option_value($options, "allowed_maxsize"); $allowed_types = self::option_value($options, "allowed_types"); $allowed_field = implode(",", $allowed_types); $allowed_types_label = __("Allowed File Types:", MASTERPRESS_DOMAIN); $allowed_maxsize_label = __("Maximum Size:", MASTERPRESS_DOMAIN); $allowed_field_label = __("More Allowed Types:", MASTERPRESS_DOMAIN); $allowed_field_note = __("Separate file extensions that you would like to allow with commas.<br /><strong>Important:</strong> in the interests of security, take care to avoid file types that are executable on your server that may be exploitable by malicious users.<br /><br />Alternatively, you can populate the list by selecting from the list of typical field types below:", MASTERPRESS_DOMAIN); $filename_label = __("File Name Handling", MASTERPRESS_DOMAIN); $filename_label_note = __("specify how file names should be sanitized on upload", MASTERPRESS_DOMAIN); $filename_sanitize_label = __("Sanitize file name:", MASTERPRESS_DOMAIN); $filename_sanitize_note = __("Sanitization removes special characters and replaces word boundaries with the specified character", MASTERPRESS_DOMAIN); $filename_case_label = __("Change case to:", MASTERPRESS_DOMAIN); $filename_case_select = WOOF_HTML::select( array("id" => $p."filename_case", "name" => "type_options[filename_case]"), array( "lower-case" => "lowercase", "Title-Case" => "titlecase", "UPPER-CASE" => "uppercase", "Preserve (No Change)" => "none" ), $options["filename_case"] ); $filename_sanitize_select = WOOF_HTML::select( array("id" => $p."filename_sanitize", "name" => "type_options[filename_sanitize]"), array( __("With Dashes ( - )", MASTERPRESS_DOMAIN) => "dashes", __("With Underscores ( _ )", MASTERPRESS_DOMAIN) => "underscores", __("None (Don't Sanitize)", MASTERPRESS_DOMAIN) => "none" ), $options["filename_sanitize"] ); $allowed_maxsize_note = __("( MB )", MASTERPRESS_DOMAIN); $allowed_maxsize_blank_note = sprintf(__("This value <strong>cannot exceed</strong> the maximum upload size<br />for your server, which is currently set to <strong>%s</strong>.", MASTERPRESS_DOMAIN), WOOF_File::format_filesize($limit, "MB", true, " ")); $allowed_label = __("File Restrictions", MASTERPRESS_DOMAIN); $allowed_label_note = __("restrict allowable files by type and file size", MASTERPRESS_DOMAIN); // setup variables to insert into the heredoc string // (this is required where we cannot call functions within heredoc strings) $html .= <<<HTML <div class="filename-handling-wrap"> <h4><i class="highlighter"></i>{$filename_label}<span> - {$filename_label_note}</span></h4> <div class="f"> <label for="{$p}filename_sanitize">{$filename_sanitize_label}</label> <div id="fw-{$p}filename_sanitize" class="fw"> {$filename_sanitize_select} <p class="note">{$filename_sanitize_note}</p> </div> </div> <!-- /.f --> <div class="f"> <label for="{$p}filename_case">{$filename_case_label}</label> <div id="fw-{$p}filename_case" class="fw"> {$filename_case_select} </div> </div> <!-- /.f --> </div> <div class="allowed-wrap divider"> <h4><i class="warning-shield"></i>{$allowed_label}<span> - {$allowed_label_note}</span></h4> <div class="f"> <label for="{$p}allowed_maxsize">{$allowed_maxsize_label}</label> <div id="fw-{$p}allowed_maxsize" class="fw"> <input id="{$p}allowed_maxsize" name="type_options[allowed_maxsize]" type="text" maxlength="4" value="{$allowed_maxsize}" class="text" /><span class="note">{$allowed_maxsize_note}</span> <p class="note">{$allowed_maxsize_blank_note}</p> </div> </div> <!-- /.f --> <div class="f f-allowed-types"> <p class="label">{$allowed_types_label}</p> <div class="fw"> <div class="clearfix"> <textarea id="{$p}allowed_field" class="mono" name="allowed_field">{$allowed_field}</textarea> <p id="allowed-field-note" class="note">{$allowed_field_note}</p> </div> <div id="{$p}allowed-types-wrap"> HTML; foreach (WOOF_File::file_type_categories() as $header => $exts) { $html .= '<div class="file-category">'; $html .= "<h5>".$header."</h5>"; $file_types_items = array(); $proxy = ""; if ($header == "Camera RAW Files") { $proxy = "file-type-raw"; } foreach ($exts as $ext) { $file_types_items[ self::file_type_label($ext, $proxy) ] = $ext; } $html .= WOOF_HTML::input_checkbox_group( "type_options[allowed_types][]", $p."allowed-types-", $file_types_items, $allowed_types, WOOF_HTML::open("div", "class=fwi"), WOOF_HTML::close("div")); $html .= '<div class="controls"><button type="button" class="button button-small select-all">Select All</button><button type="button" class="button button-small select-none">Select None</button></div>'; $html .= '</div>'; } $html .= <<<HTML </div> <div id="{$p}allowed-types-custom"> </div> </div> </div> <!-- /.f --> </div> HTML; return $html; }
public function dump_item($key, $value) { $html = ''; $html .= WOOF_HTML::open("tr"); $html .= WOOF_HTML::tag("th", array("scope" => "row"), $key); if (is_array($value)) { $html .= WOOF_HTML::open("td"); $html .= WOOF_HTML::open("table"); foreach ($value as $sub_key => $sub_value) { $html .= $this->dump_item($sub_key, $sub_value); } $html .= WOOF_HTML::close("table"); $html .= WOOF_HTML::close("td"); } else { $html .= WOOF_HTML::tag("td", array(), $value); } $html .= WOOF_HTML::close("tr"); return $html; }
function col() { global $wf; $links = array(); $terms = $this->terms(); $tbt = $terms->group_by("taxonomy_name"); $use_labels = false; if (count($tbt) > 1) { $use_labels = true; } foreach ($tbt as $tax_name => $items) { $tax = $wf->taxonomy($tax_name); $label = trim( $tax->singular_label() ); foreach ($items as $term) { $text = $term->name(); $title = ""; if ($use_labels && $label != "") { $title = $label.": ".$text; } $attr = array( "href" => admin_url("edit-tags.php?action=edit&taxonomy=".$tax_name."&tag_ID=".$term->id()), "title" => $title ); $links[] = WOOF_HTML::tag("a", $attr, $text); } } return WOOF_HTML::tag("div", "class=mp-col", implode(", ", $links)); }
public static function options_select_results_row_style( $p, $options, $labels = array() ) { $l = wp_parse_args( $labels, array( "title" => __("Title", MASTERPRESS_DOMAIN), "excerpt" => __("Excerpt", MASTERPRESS_DOMAIN) ) ); $row_style_label = __("Row Style:", MASTERPRESS_DOMAIN); $row_style_icon_title_label = __("Icon, ".$l["title"], MASTERPRESS_DOMAIN); $row_style_icon_title_excerpt_label = __("Icon, ".$l["title"].", ".$l["excerpt"], MASTERPRESS_DOMAIN); $row_style_image_title_excerpt_label = __("Image, ".$l["title"].", ".$l["excerpt"], MASTERPRESS_DOMAIN); $row_style_image_title_label = __("Image, ".$l["title"], MASTERPRESS_DOMAIN); $style = self::option_value($options, "row_style", "icon_title"); $checked_icon_title = WOOF_HTML::checked_attr($style == "icon_title"); $checked_icon_title_excerpt = WOOF_HTML::checked_attr($style == "icon_title_excerpt"); $checked_image_title_excerpt = WOOF_HTML::checked_attr($style == "image_title_excerpt"); $checked_image_title = WOOF_HTML::checked_attr($style == "image_title"); $html = <<<HTML <div id="{$p}results-row-style-f" class="f results-row-style-f"> <p class="label">{$row_style_label}</label> <div id="fw-{$p}results-row-style-f" class="fw"> <div class="row-style-icon-title row-style"> <input id="{$p}row_style_icon_title" type="radio" name="type_options[row_style]" {$checked_icon_title} value="icon_title" class="radio" /> <label for="{$p}row_style_icon_title" class="radio">{$row_style_icon_title_label}</label> </div> <div class="row-style-icon-title-excerpt row-style"> <input id="{$p}row_style_icon_title_excerpt" type="radio" name="type_options[row_style]" {$checked_icon_title_excerpt} value="icon_title_excerpt" class="radio" /> <label for="{$p}row_style_icon_title_excerpt" class="radio">{$row_style_icon_title_excerpt_label}</label> </div> <div class="row-style-image-title row-style"> <input id="{$p}row_style_image_title" type="radio" name="type_options[row_style]" {$checked_image_title} value="image_title" class="radio" /> <label for="{$p}row_style_image_title" class="radio">{$row_style_image_title_label}</label> </div> <div class="row-style-image-title-excerpt row-style"> <input id="{$p}row_style_image_title_excerpt" type="radio" name="type_options[row_style]" {$checked_image_title_excerpt} value="image_title_excerpt" class="radio" /> <label for="{$p}row_style_image_title_excerpt" class="radio">{$row_style_image_title_excerpt_label}</label> </div> </div> </div> <!-- /.f --> HTML; return $html; }
public function embed($attr = array(), $params = array()) { if ($this->blank()) { return new WOOF_Silent( __( "Cannot show an image - the location for this map field has not been set", MASTERPRESS_DOMAIN ) ); } else { $r = wp_parse_args( $attr, array( "width" => "100%", "height" => "300", "frameborder" => "0", "scrolling" => "no", "marginheight" => "0", "marginwidth" => "0" ) ); $p = wp_parse_args( $params, array( "oe" => "UTF-8", "ie" => "UTF8", "t" => "m", "output" => "embed" ) ); $zoom = $this->prop("zoom"); if (!$zoom) { $zoom = 7; } else { $zoom = max(1, $zoom - 1); } $p["z"] = $zoom; $p["ll"] = $this->value(); $r["src"] = "http://maps.google.com/maps?" . build_query($p); return WOOF_HTML::tag("iframe", $r, ""); } }
public function manage() { global $wf, $blog_id; $this->setup_view( array( "title_args" => array( "text" => sprintf( __("Masterplan - <small>Powered by %s</small>", MASTERPRESS_DOMAIN), '<a href="http://masterpressplugin.com" target="_blank">MasterPress</a>' ) ) ) ); if (defined("MASTERPRESS_LEGACY_DIR_MIGRATE")) { if (defined("MASTERPRESS_LEGACY_DIR") && MasterPress::$action != "legacy_dir_migrate") { update_option("mp_legacy_dir", "1"); $ud = wp_upload_dir(); $steps = WOOF_HTML::open("ul"); $new_ul_base = str_replace($wf->site->url, "", $ud["baseurl"]) . "/mp/files/$1"; $rules = <<<HTML <IfModule mod_rewrite.c><br> RewriteEngine On<br> RewriteBase /<br> <br> RewriteCond %{REQUEST_FILENAME} !-f<br> RewriteRule ^wp-content/mp/uploads/(.+) $new_ul_base [PT]<br> <br> RewriteCond %{REQUEST_FILENAME} !-f<br> RewriteRule ^wp-content/blogs.dir/([0-9]+)/mp/uploads/(.+) wp-content/blogs.dir/$1/mp/files/$2 [PT]<br> <br> RewriteCond %{REQUEST_FILENAME} !-f<br> RewriteRule ^wp-content/mp/(.+) wp-content/uploads/mp/$1 [PT,L]<br> </IfModule> HTML; $step = 1; $steps .= WOOF_HTML::tag("li", "", __("<b>".$step++.".</b> Backup your WordPress database."), MASTERPRESS_DOMAIN ); $steps .= WOOF_HTML::tag("li", "", sprintf( __("<b>(Optional)</b>. To avoid 404s from existing links to your files, you may wish to place the following lines just above in your .htaccess file (at the root of your site).<code>%s</code><br><b>IMPORTANT:</b> These rules should be <b>placed just above the line # BEGIN WordPress </b> in your .htaccess file, as placing it above rules from caching plugins may cause issues.", MASTERPRESS_DOMAIN ), $rules ) ); if (MASTERPRESS_MULTI) { if (WOOF_MS_FILES) { if (is_main_site()) { $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Move the masterpress content folder currently at:<br> <span class="tt">%s/mp</span><br>to:<br> <span class="tt">%s/mp</span>', MASTERPRESS_DOMAIN ), $step++, WP_CONTENT_DIR, $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Rename the folder:<br> <span class="tt">%s/mp/uploads</span><br>to:<br> <span class="tt">%s/mp/files</span>', MASTERPRESS_DOMAIN ), $step++, WP_CONTENT_DIR, WP_CONTENT_DIR ) ); } $base = WP_CONTENT_DIR . WOOF_DIR_SEP . "blogs.dir" . WOOF_DIR_SEP . $blog_id; $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d</b> Rename the folder:<br> <span class="tt">%s/mp/uploads</span><br>to:<br> <span class="tt">%s/mp/files</span>', MASTERPRESS_DOMAIN ), $step++, $base , $base ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d</b> Click the migrate links button below to update your custom field database entries to point to the new location:<br>%s', MASTERPRESS_DOMAIN ), $step++, WOOF_HTML::tag("a", array("href" => MasterPress::admin_url( "masterplan", "legacy_dir_migrate", "", false ), "class" => "button button-small" ), "Migrate Links" ) ) ); } else { if (is_main_site()) { $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Move the masterpress content folder currently at:<br> <span class="tt">%s/mp</span><br>to:<br> <span class="tt">%s/mp</span>', MASTERPRESS_DOMAIN ), $step++, WP_CONTENT_DIR, $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Rename the folder:<br> <span class="tt">%s/mp/uploads</span><br>to:<br> <span class="tt">%s/mp/files</span>', MASTERPRESS_DOMAIN ), $step++, $ud["basedir"], $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Click the migrate links button below to update your custom field database entries to point to the new location:<br>%s', MASTERPRESS_DOMAIN ), $step++, WOOF_HTML::tag("a", array("href" => MasterPress::admin_url( "masterplan", "legacy_dir_migrate", "", false ), "class" => "button button-small" ), "Migrate Links" ) ) ); } else { $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Rename the folder:<br> <span class="tt">%s/mp/uploads</span><br>to:<br> <span class="tt">%s/mp/files</span>', MASTERPRESS_DOMAIN ), $step++, $ud["basedir"], $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Click the migrate links button below to update your custom field database entries to point to the new location:<br>%s', MASTERPRESS_DOMAIN ), $step++, WOOF_HTML::tag("a", array("href" => MasterPress::admin_url( "masterplan", "legacy_dir_migrate", "", false ), "class" => "button button-small" ), "Migrate Links" ) ) ); } } } else { $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Move the masterpress content folder currently at:<br> <span class="tt">%s/mp</span><br>to:<br> <span class="tt">%s/mp</span>', MASTERPRESS_DOMAIN ), $step++, WP_CONTENT_DIR, $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Rename the folder:<br> <span class="tt">%s/mp/uploads</span><br>to:<br> <span class="tt">%s/mp/files</span>', MASTERPRESS_DOMAIN ), $step++, $ud["basedir"], $ud["basedir"] ) ); $steps .= WOOF_HTML::tag("li", "", sprintf( __('<b>%d.</b> Click the migrate links button below to update your custom field database entries to point to the new location:<br>%s', MASTERPRESS_DOMAIN ), $step++, WOOF_HTML::tag("a", array("href" => MasterPress::admin_url( "masterplan", "legacy_dir_migrate", "", false ), "class" => "button button-small" ), "Migrate Links" ) ) ); } $steps .= WOOF_HTML::close("ul"); MPV::warn( sprintf( __('Your MasterPress installation is storing certain content in folders which are <a href="%s">no longer the default locations in version 1.0.1.</a><br><br>To migrate to the new location: %s', MASTERPRESS_DOMAIN ), "http://masterpressplugin.com/blog/content-in-101/", $steps ) ); } else if (get_option("mp_legacy_dir")) { $migrate = sprintf( __('Click the migrate links button below to update your custom field database entries to point to the new location:<br>%s', MASTERPRESS_DOMAIN ), WOOF_HTML::tag("a", array("href" => MasterPress::admin_url( "masterplan", "legacy_dir_migrate", "", false ), "class" => "button button-small" ), "Migrate Links" ) ); MPV::warn( sprintf( __('It appears you\'ve moved your MasterPress content folder from the old <span class="tt">wp-content/mp</span> location without running the necessary database migration.<br><br>%s', MASTERPRESS_DOMAIN ), $migrate ) ); } } if (isset($_POST["import_masterplan"]) || isset($_POST["restore_masterplan"])) { self::import(); } }
public static function ui( MEOW_Field $field ) { $readonly = WOOF_HTML::readonly_attr(!$field->is_editable()); $options = $field->info->type_options; $maxlength = self::option_value($options, "maxlength"); $font = self::option_value($options, "font"); $status = self::option_value($options, "status"); $maxwidth = self::option_value($options, "maxwidth"); $maxlength_attr = ""; if (is_numeric($maxwidth)) { $maxwidth = "{$maxwidth}px"; } else { $maxwidth = "auto"; } $status = ""; if ($maxlength && is_numeric($maxlength)) { $maxlength_attr = WOOF_HTML::attr("maxlength=$maxlength"); if ($status == "yes") { $status = '<div class="status"> </div>'; } if (trim($maxwidth) == "") { // if the maxlength is set, roughly match the width of the input to the number of characters $maxwidth = ($maxlength + 12)."ex"; } } $value = htmlspecialchars($field->value()); $html = <<<HTML <div class="f"> <input id="{{id}}" name="{{name}}" type="text" $readonly value="{$value}" class="text" {$maxlength_attr} style="max-width: {$maxwidth}; font-family: {$font}" /> $status </div> HTML; return $html; }
public function form() { global $wf; $model = MasterPress::$model; $info = MasterPress::$view; $parent = $info->parent; $post_type = null; $post_type = $info->post_type; $prefix = ""; $default_key = ""; $keys = array(); ?> <?php if (is_object($parent)) : ?> <div class="title-info-panel"> <div class="title-info-panel-lt"> <?php if ($parent->type == 's') : ?> <h3><i class="metabox-share"></i><span class="label"><?php _e("Shared Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php elseif ($parent->type == 'w') : ?> <h3><i class="metabox-sitemap-large"></i><span class="label"><?php _e("Site Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php elseif ($parent->type == "p") : ?> <?php $prefix = $post_type->name."_"; $keys = array("edit_".$post_type->capability_type."s"); ?> <h3><i class="mp-icon mp-icon-post-type mp-icon-post-type-<?php echo $post_type->name ?>"></i><span class="label"><?php _e("Post Type", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $post_type->display_label() ?></span></h3> <h3><i class="divide"></i><i class="metabox"></i><span class="label"><?php _e("Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php elseif ($parent->type == 't') : ?> <?php $file = $parent->visibility["templates"]; $page_templates = array_flip(get_page_templates()); $template_name = $page_templates[$file]; ?> <input id="templates" name="templates" type="hidden" value="<?php echo $file ?>" /> <h3><i class="template"></i><span class="label"><?php _e("Template:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $template_name ?></span></h3> <h3><i class="divide"></i><i class="metabox"></i><span class="label"><?php _e("Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php elseif ($parent->type == 'r') : ?> <?php $role_name = $parent->visibility["roles"]; $prefix = $role_name."_"; ?> <input id="templates" name="templates" type="hidden" value="<?php echo $role_name ?>" /> <h3><i class="user-role"></i><span class="label"><?php _e("User Role:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $role_name ?></span></h3> <h3><i class="divide"></i><i class="metabox"></i><span class="label"><?php _e("Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php elseif ($parent->type == 'x') : ?> <?php $taxonomy_name = $parent->visibility["taxonomies"]; $prefix = $taxonomy_name."_"; $tax = MPM_Taxonomy::find_by_name($taxonomy_name); $keys = array( $tax->capabilities["manage_terms"], $tax->capabilities["edit_terms"], $tax->capabilities["assign_terms"] ); ?> <input id="taxonomies" name="taxonomies" type="hidden" value="<?php echo $taxonomy_name ?>" /> <h3><i class="mp-icon mp-icon-taxonomy-<?php echo $taxonomy_name ?>"></i><span class="label"><?php _e("Taxonomy:", MASTERPRESS_DOMAIN) ?></span><span class="value"> <?php echo $tax->display_label() ?></span></h3> <h3><i class="divide"></i><i class="metabox"></i><span class="label"><?php _e("Field Set", MASTERPRESS_DOMAIN) ?>:</span><span class="value"> <?php echo $parent->display_label() ?></span></h3> <?php endif; ?> </div> </div> <?php endif; ?> <?php MPV::messages(); ?> <div class="mpv-fields-form"> <div class="f"> <label for="name" class="icon"><i class="script-php"></i><?php _e("Name", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="name_original" name="name_original" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name_last" name="name_last" type="hidden" class="text mono key" maxlength="20" value="<?php echo $model->name ?>" /> <input id="name" name="name" type="text" class="text mono key" maxlength="255" value="<?php echo $model->name ?>" /><em class="required">(required)</em> <p> <?php _e("This is a unique identifier for the field in the MasterPress API. Since it can be used as a PHP variable name, it is restricted to being a lowercase string with words separated by underscores.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div id="f-type" class="f clearfix"> <label for="type" class="icon"><i class="types"></i><?php _e("Field Type", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <select id="type" name="type" class="with-icons select2-source" data-icon="mp-icon mp-icon-field-type-<?php echo $model->type ?>"> <?php foreach (MPFT::types_by_category() as $category => $types) : ?> <?php if (count($types)) : ?> <optgroup label="<?php echo $category ?>"> <?php foreach ($types as $type) : ?> <?php $type_class = MPFT::type_class($type); ?> <option data-icon="mp-icon mp-icon-field-type-<?php echo $type ?>" <?php echo WOOF_HTML::selected_attr($type == $model->type) ?> data-description="<?php echo addslashes(call_user_func( array($type_class, "__description") ) ) ?>" value="<?php echo $type ?>"><?php echo call_user_func( array($type_class, "__s") ) ?></option> <?php endforeach; ?> </optgroup> <?php endif; ?> <?php endforeach; ?> </select> <p id="field-type-description"></p> </div> </div> <!-- /.f --> <div class="f"> <label for="required" class="icon"><i class="warning-octagon"></i><?php _e("Required", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="required" name="required" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->required ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#required' }"> <?php _e("A field value must be specified by the user, or the content editing form will not submit.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div id="f-disabled" class="f"> <label for="disabled" class="icon"><i class="slash"></i><?php _e("Disabled", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="disabled" name="disabled" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( $model->disabled ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#disabled' }"> <?php _e("disabling a field will hide it from all content editing screens in WordPress, which may be <strong>preferable to deleting it</strong> completely.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <?php $options_form = ""; $type_options = $model->type_options; if (isset($_POST["type_options"])) { $type_options = $_POST["type_options"]; } if ($type_class = MPFT::type_class($model->type)) { $options_form = call_user_func_array( array($type_class, "options_form"), array(MPM::array_stripslashes($type_options)) ); } ?> <div class="fs fs-field-type-options" <?php echo $options_form == "" ? ' style="display:none;"' : '' ?>> <div class="fst"> <div class="fstb"> <h3><i class="switch"></i><strong><?php _e("Field Type Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("defines the user-interface for this field", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div id="field-type-loading" class="fs-loading">Please wait…</div> <div id="field-type-options-content"> <?php if ($type_class = MPFT::type_class($model->type)): ?> <div id="mpft-<?php echo $model->type ?>-options" class="mpft-options"> <?php echo $options_form ?> </div> <?php endif; ?> </div> <!-- /#field-type-options-content --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-labels"> <div class="fst"> <div class="fstb"> <h3><i class="label-string"></i><strong><?php _e("Labels", MASTERPRESS_DOMAIN) ?></strong> - <?php _e("displayed throughout the WordPress administration UI", MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb"> <div class="f"> <label for="label_name"><?php _e("Field Label", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <input id="label_name" name="labels[name]" value="<?php echo stripslashes($model->labels["name"]) ?>" type="text" class="text { tmpl: '{{name}}' }" /> <em class="recommended">(recommended)</em> </div> </div> <!-- /.f --> <div class="f"> <label for="label_description"><?php _e("Description", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <input id="label_description" name="labels[description]" type="text" maxlength="50" value="<?php echo stripslashes($model->label("description")) ?>" class="text" /> <p> <?php _e("Appears adjacent to the label in brackets to provide a little extra information about the field.<br />For more extensive information, use <em>Tooltip Help</em>.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f"> <label for="label_tooltip_help"><?php _e("Tooltip Help", MASTERPRESS_DOMAIN)?>:</label> <div class="fw"> <textarea id="label_tooltip_help" name="labels[tooltip_help]"><?php echo stripslashes($model->label("tooltip_help")) ?></textarea> <p> <?php _e("Provides more extensive help for this field through a tooltip, revealed by mousing over a question-mark badge adjacent to the field label", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs .fs-labels --> <?php $args = array(); $args["supports"] = array(); // $args["supports"][] = "fields"; COMING SOON $fields = $parent->fields(); $fields_to_use = array(); foreach ($fields as $field) { if ($field->id != $model->id) { $fields_to_use[] = $field; } } $args["fields"] = $fields_to_use; if (is_multisite()) { $args["supports"][] = "multisite"; } if ($parent->is_shared()) { $args["supports"][] = "post_types"; $args["supports"][] = "roles"; $args["supports"][] = "taxonomies"; $args["supports"][] = "templates"; } $args["labels"] = array( "title" => __("control the visibility of this field within WordPress", MASTERPRESS_DOMAIN), "title_multisite" => __("specify the sites in the multisite network that this field is available in", MASTERPRESS_DOMAIN), "title_post_types" => __("specify the post types that this field is available in", MASTERPRESS_DOMAIN), "templates_all" => sprintf( __( "All Templates <span>( that the <em>%s</em> field set is available in )</span>" ), $parent->display_label() ), "multisite_all" => sprintf( __( "All Sites <span>( that the <em>%s</em> field set is available in )</span>" ), $parent->display_label() ), "post_types_all" => sprintf( __( "All Post Types <span>( that the <em>%s</em> field set is available in )</span>" ), $parent->display_label() ), "roles_all" => sprintf( __( "All User Roles <span>( that the <em>%s</em> field set is available in )</span>" ), $parent->display_label() ), "taxonomies_all" => sprintf( __( "All Taxonomies <span>( that the <em>%s</em> field set is available in )</span>" ), $parent->display_label() ) ); $args["defaults"] = array( "taxonomies" => "all", "roles" => "all", "post_types" => "all", "multisite" => "all" ); $args["post_types"] = $parent->post_types(); if (isset($parent) && is_multisite()) { $site_options = array(); foreach ($parent->sites() as $site) { $site_options[$site->full_path()] = $site->id(); } $args["sites"] = $site_options; }; // filter the available roles $roles = $parent->vis("roles"); if ($roles != "" && $roles != "*") { $role_names = explode(",", $roles); $rc = array(); foreach ($role_names as $role_name) { $rc[] = $wf->role($role_name); } $args["roles"] = new WOOF_Collection($rc); } MPV::fs_visibility( $model, $args ); ?> <div class="fs fs-capability-keys clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="key"></i><strong><?php _e("Capabilities", MASTERPRESS_DOMAIN) ?></strong> - <?php _e('the keys used to control access to this field', MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb clearfix"> <div class="f f-capabilities f-capabilities-editable clearfix"> <label for="label-capabilities-editable"><?php _e("Editable", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php $val = $model->capability("editable", false); $custom_val = ""; $caps = array_unique(array_merge($keys, array("edit_posts", "edit_pages", "edit_".$prefix.$parent->name))); $caps = array( __("-- None (Same as Field Set) --", MASTERPRESS_DOMAIN) => "" ) + $caps; if (MPC::is_edit()) { $caps[] = "edit_".$prefix.$parent->name."_".$model->name; } if (!in_array($val, $caps)) { $custom_val = $val; } echo WOOF_HTML::select( array("id" => "capabilities-editable", "name" => "capabilities[editable]", "class" => "capabilities" ), $caps, $val ); ?> <label for="capabilities-editable-custom" class="capabilities-custom"><?php _e("OR custom value") ?></label> <input id="capabilities-editable-custom" name="capabilities_custom[editable]" value="<?php echo $custom_val ?>" type="text" class="text mono capabilities-custom" /> <p class="note"> <?php _e("This field will be read-only for users without this capability", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> <div class="f f-capabilities f-capabilities-visible clearfix"> <label for="label-capabilities-visible"><?php _e("Visible", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <?php $val = $model->capability("visible", false); $caps = array_unique(array_merge($keys, array("edit_posts", "edit_pages", "view_".$prefix.$parent->name))); $caps = array( __("-- None (Same as Field Set) --", MASTERPRESS_DOMAIN) => "" ) + $caps; if (MPC::is_edit()) { $caps[] = "view_".$prefix.$parent->name."_".$model->name; } $custom_val = ""; if (!in_array($val, $caps)) { $custom_val = $val; } echo WOOF_HTML::select( array("id" => "capabilities-visible", "name" => "capabilities[visible]", "class" => "capabilities" ), $caps, $val ); ?> <label for="capabilities-visible-custom" class="capabilities-custom"><?php _e("OR custom value") ?></label> <input id="capabilities-visible-custom" name="capabilities_custom[visible]" value="<?php echo $custom_val ?>" type="text" class="text mono capabilities-custom" /> <p class="note"> <?php _e("This field will be invisible for users without this capability", MASTERPRESS_DOMAIN) ?> </p> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <div class="fs fs-summary-options clearfix"> <div class="fst"> <div class="fstb"> <h3><i class="set-summary"></i><strong><?php _e("Summary Options", MASTERPRESS_DOMAIN) ?></strong> - <?php _e('settings for the collapsed summary display', MASTERPRESS_DOMAIN) ?></h3> </div> </div> <div class="fsc"> <div class="fscb clearfix"> <div class="f"> <label for="summary_options_emphasise"><?php _e("Emphasise", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="summary_options_emphasise" name="summary_options[emphasise]" type="checkbox" value="true" <?php echo WOOF_HTML::checked_attr( isset($model->summary_options["emphasise"]) && $model->summary_options["emphasise"] ) ?> class="checkbox" /> <p class="checkbox-alt-label { for_el: '#summary_options_emphasise' }"> <?php _e("Show the summary for this field in <strong>bold text</strong>, which may often be appropriate for the first field in a set, or for other important fields in your content.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f f-summary_width"> <label for="summary_options_width"><?php _e("Block Width", MASTERPRESS_DOMAIN) ?>?</label> <div class="fw"> <input id="summary_options_width" name="summary_options[width]" type="text" maxlength="1" value="<?php echo isset($model->summary_options["width"]) ? $model->summary_options["width"] : "" ?>" class="text" /> <p class="note"> <?php _e("Override block width of the summary, when the field's set is collapsed (min value 1, max value 5)<br />Leave this value empty to use the block width recommended by the field type<br />The pixel width of the summary will be the value here x 150.", MASTERPRESS_DOMAIN); ?> </p> </div> </div> <!-- /.f --> <div class="f clearfix"> <label id="label-icon" for="icon"><?php _e("Icon (16 x 16)", MASTERPRESS_DOMAIN) ?>:</label> <div class="fw"> <div id="icon-file-uploader" class="icon-uploader file-uploader { ids: { drop: 'icon_drop_area' }, input: '#icon', inputName: 'icon_ul', base_url: '<?php echo MASTERPRESS_GLOBAL_CONTENT_URL ?>', params: { dir: 'menu-icons/' }, limit: 1, lang: { buttonChoose: '<?php _e("Choose from Computer…", MASTERPRESS_DOMAIN) ?>', buttonReplace: '<?php _e("Replace file…", MASTERPRESS_DOMAIN) ?>' } }"> <div id="icon_drop_area" class="drop-area"><?php _e("Drop file here to upload", MASTERPRESS_DOMAIN) ?></div> <?php $file_name = $model->icon; $file_class = ""; $preview_class = ""; $clear_class = ""; if ($file_name == "") { $file_name = __("( None )", MASTERPRESS_DOMAIN); $file_class = "name-none"; $preview_class = "preview-none"; $clear_class = "hidden"; $style = ""; } else { $style = ' style="background-image: url('.MPU::field_set_icon_url($model->icon).')" '; } ?> <div class="file"> <span class="preview <?php echo $preview_class ?>" <?php echo $style ?>></span><span data-none="<?php echo __("( None )", MASTERPRESS_DOMAIN) ?>" class="name <?php echo $file_class ?>"><?php echo $file_name ?></span> <button type="button" class="<?php echo $clear_class ?> clear ir" title="<?php _e("Clear", MASTERPRESS_DOMAIN) ?>">Clear</button> </div> <input id="icon" name="icon" value="<?php echo $model->icon ?>" type="hidden" /> <div class="uploader-ui"></div> </div> <!-- /.file-uploader --> <?php MPV::icon_select($model->icon, "menu-icon-select", "icon_select", "icon-file-uploader"); ?> </div> </div> <!-- /.f --> </div> </div> </div> <!-- /.fs --> <?php // build a field list $fields = $parent->fields(); ?> <?php if ( ( MPC::is_edit() && count($fields) > 1) || (MPC::is_create() && count($fields) > 0) ) : ?> <div id="f-position" class="f clearfix"> <p class="label label-icon icon position"><?php _e("Position in set", MASTERPRESS_DOMAIN)?>:</p> <div class="fw"> <div class="sortable-list sortable-list-fields"> <span class="arrow"></span> <?php // build a field list $sort_fields = array(); // now build a representable list of fields foreach ($fields as $field) { $position = $field->position; if (isset($_POST["other_position"]) && isset($_POST["other_position"][$field->id])) { $position = $_POST["other_position"][$field->id]; } if ($ftc = MPFT::type_class($field->type)) { $sort_fields[] = array( "position" => $position, "disabled" => (bool) $field->disabled, "current" => $field->id == $model->id, "label" => $field->display_label(), "type" => $field->type, "id" => $field->id ); } } if (MPC::is_create()) { $label = $model->display_label(); if (!$label || $label == "") { $label = "?"; } $sort_fields[] = array( "position" => $model->position, "disabled" => (bool) $field->disabled, "current" => true, "label" => $model->display_label(), "type" => $model->type ); } $count = 0; ?> <ul> <?php foreach ($sort_fields as $f) : $count++; $first = $count == 1 ? "first " : ""; $current = $f["current"] ? 'current ' : ''; ?> <?php $disabled = $f["disabled"] ? 'disabled' : ''; $disabled_title = $f["disabled"] ? __("This field is disabled", MASTERPRESS_DOMAIN) : ''; ?> <li class="<?php echo $first.$current ?> <?php echo $disabled ?>" title="<?php echo $disabled_title ?>"> <span class="icon mp-icon mp-icon-field-type-<?php echo $f["type"] ?>"></span> <?php if ($f["current"]) : ?> <span class="fill { src: '#label_name'}"><?php echo $f["label"] ?></span> <input id="position" name="position" value="<?php echo $f["position"] ?>" type="hidden" /> <?php else: ?> <span><?php echo $f["label"] ?></span> <input id="other_position_<?php echo $f["id"] ?>" name="other_position[<?php echo $f["id"] ?>]" value="<?php echo $f["position"] ?>" type="hidden" /> <?php endif; ?> </li> <?php endforeach; ?> </ul> </div> <!-- /.sortable-list --> <p> <?php printf(__("Drag field to the desired position in the %s set.<br />Note: changes to the positions of other fields will also be saved.", MASTERPRESS_DOMAIN), '<em>'.$parent->display_label().'</em>') ?> </p> </div> </div> <!-- /.f --> <?php else: ?> <input id="position" name="position" value="1" type="hidden" /> <?php endif; ?> </div> <!-- /.mpv-fields-form --> <?php } // end form()