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
public function fetch_masterplan_summary() { extract(self::open_masterplan($_REQUEST["filename"])); // build the representation $info = array(); $info["missing_field_types"] = array(); // add some meta info to the representation, for the front-end if (isset($rep->post_types)) { foreach ($rep->post_types as $pt) { $pt->icon_url = MPU::img_url("menu-icon-posts.png"); if ($pt->name == "post") { $pt->icon_url = MPU::img_url("menu-icon-posts.png"); } else if ($pt->name == "page") { $pt->icon_url = MPU::img_url("menu-icon-pages.png"); } else if (!is_null($pt->menu_icon) && trim($pt->menu_icon) != "") { $pt->icon_url = $url.$pt->menu_icon; } if (isset($pt->field_sets)) { self::process_field_sets($pt->field_sets, $ft_dir, $info, $field_types_by_name); } } } if (isset($rep->taxonomies)) { foreach ($rep->taxonomies as $tax) { $tax->icon_url = MPU::img_url("icon-tag.png"); if (!is_null($tax->title_icon) && trim($tax->title_icon) != "") { $tax->icon_url = $url.$tax->title_icon; } if (isset($tax->field_sets)) { self::process_field_sets($tax->field_sets, $ft_dir, $info, $field_types_by_name); } } } if (isset($rep->shared_field_sets)) { self::process_field_sets($rep->shared_field_sets, $ft_dir, $info, $field_types_by_name); } if (isset($rep->site_field_sets)) { self::process_field_sets($rep->site_field_sets, $ft_dir, $info, $field_types_by_name); } if (isset($rep->templates)) { foreach ($rep->templates as $template) { if (isset($template->field_sets)) { self::process_field_sets($template->field_sets, $ft_dir, $info, $field_types_by_name); } } } if (isset($rep->roles)) { foreach ($rep->roles as $role) { if (isset($role->field_sets)) { self::process_field_sets($role->field_sets, $ft_dir, $info, $field_types_by_name); } } } $info["field_types"] = $field_types; $info["rep"] = $rep; self::ajax_success($info); }
public static function menu_icon($file, $fallback = true) { global $wf; if (!is_admin()) { return new WOOF_Image( MPU::img_path("menu-icon-generic.png"), MPU::img_url("menu-icon-generic.png")); } $ret = new WOOF_Silent(__("The icon is not specified, or does not exist", MASTERPRESS_DOMAIN) ); if ($fallback) { $ret = new WOOF_Image( MPU::img_path("menu-icon-generic.png"), MPU::img_url("menu-icon-generic.png")); } if ($file != "") { $file_path = MASTERPRESS_CONTENT_MENU_ICONS_DIR.$file; if (file_exists($file_path)) { $ret = new WOOF_Image($file_path, MASTERPRESS_CONTENT_MENU_ICONS_URL.$file); } else { // check in the plug-in images directory $file_path = MASTERPRESS_IMAGES_DIR.$file; if (file_exists($file_path)) { $ret = new WOOF_Image($file_path, MASTERPRESS_IMAGES_URL.$file); } } } return $ret; }
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 register_post_types() { global $blog_id; global $wp_post_types; // here comes the magic $standard_supports = array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'page-attributes', 'post-formats'); self::$front_page_post_types = array("page"); foreach (MasterPress::$post_types as $post_type) { add_filter( 'views_edit-'.$post_type->name, array("MPC_Post", "manage_posts_views") ); if (in_array("front-page", explode(",", $post_type->supports))) { self::$front_page_post_types[] = $post_type->name; } MPU::create_icon_sprite($post_type->menu_icon, ""); if (!$post_type->_builtin) { if (!$post_type->disabled) { // check for any external post types that are no longer defined here if ($post_type->in_current_site()) { if (!$post_type->_external) { $labels = $post_type->labels; if (!isset($labels["all_items"]) || $labels["all_items"] == "") { $labels["all_items"] = $labels["name"]; } $params = array( "show_ui" => true, "show_in_menu" => (bool) $post_type->show_in_menu, "label" => $post_type->plural_name, "public" => true, "publicly_queryable" => (bool) $post_type->publicly_queryable, "menu_position" => (int) $post_type->menu_position, "show_in_nav_menus" => (bool) $post_type->show_in_nav_menus, "exclude_from_search" => (bool) $post_type->exclude_from_search, "labels" => $labels, "map_meta_cap" => (bool) $post_type->map_meta_cap, "hierarchical" => (bool) $post_type->hierarchical, "supports" => explode(",", $post_type->supports), "taxonomies" => array(), "permalink_epmask" => $post_type->permalink_epmask(), "has_archive" => (bool) $post_type->has_archive, "rewrite" => $post_type->rewrite, "query_var" => (bool) $post_type->query_var, "can_export" => (bool) $post_type->can_export, "capability_type" => $post_type->capability_type, "description" => $post_type->description ); if ($post_type->menu_icon != "") { $menu_icon = MPU::menu_icon($post_type->menu_icon, false); if ($menu_icon->exists()) { $params["menu_icon"] = MPU::img_url("blank.gif"); } } if ($post_type->capabilities && $post_type->capabilities != "") { $params["capabilities"] = $post_type->capabilities; } $register = apply_filters( "mp_can_register_post_type_{$post_type->name}", true ); $register = apply_filters( "mp_can_register_post_type", $register, $post_type->name ); if ( $register ) { $params = apply_filters( "mp_register_post_type_params", $params, $post_type->name ); $params = apply_filters( "mp_register_post_type_params_{$post_type->name}", $params ); register_post_type( $post_type->name, $params ); remove_post_type_support($post_type->name, "custom-fields"); } } } } } else { if ($post_type->disabled) { if (!$post_type->in_current_site()) { self::unregister_post_type($post_type->name); } } else { // add or remove support from the built-in post types $supports = explode(",", $post_type->supports); $remove_supports = array_diff($standard_supports, $supports); $add_supports = array_diff($supports, $standard_supports); foreach ($add_supports as $support) { add_post_type_support($post_type->name, $support); } foreach ($remove_supports as $support) { remove_post_type_support($post_type->name, $support); } } // label overrides $pto = &$wp_post_types[$post_type->name]; foreach ($post_type->labels as $key => $value) { $pto->labels->$key = $value; } } if (self::is_post_editor()) { $supports = explode(",", $post_type->supports); if (in_array("page-attributes", $supports) || $post_type->name == "page") { remove_post_type_support($post_type->name, "page-attributes"); add_post_type_support($post_type->name, "mp-page-attributes"); } } } // endforeach }
public static function icon_select($val, $id, $name, $uploader_id) { global $wf; // check if the value is a library-derived icon $is_lib = false; if (preg_match("/lib-(.+)--(.+)/", $val, $matches)) { $val = $matches[1].WOOF_DIR_SEP.$matches[2]; $is_lib = true; } ?> <style type="text/css"> <?php //if ($is_lib) { // echo '#'.$uploader_id.' { display: none; } '; //} $iterator = new DirectoryIterator(MASTERPRESS_EXTENSIONS_ICONS_DIR); foreach ($iterator as $file) { $file_name = $file->getFileName(); if (substr($file_name, 0, 1) == ".") { continue; } if ($file->isDir()) { $icon_select = true; $sub_iterator = new DirectoryIterator(MASTERPRESS_EXTENSIONS_ICONS_DIR.WOOF_DIR_SEP.$file_name); foreach ($sub_iterator as $sub) { $sub_file_name = $sub->getFileName(); $pi = pathinfo($sub_file_name); $sub_ext = $pi["extension"]; $sub_base_name = $pi["filename"]; if (substr($sub_file_name, 0, 1) == ".") { continue; } $url = $wf->root_relative_url(MASTERPRESS_EXTENSIONS_ICONS_URL."/".$file_name."/".$sub_file_name); echo ".icon-".sanitize_title_with_dashes($file_name."-".$sub_file_name)." { background-image: url(".$url."); }"; } } } ?> </style> <?php if (isset($icon_select)) : ?> <div class="icon-select-wrap"> <select id="<?php echo $id ?>" name="<?php echo $name ?>" data-uploader="<?php echo $uploader_id ?>" data-no_icon="<?php echo MPU::img_url("icon-no-icon.png") ?>" data-base="<?php echo MASTERPRESS_EXTENSIONS_ICONS_URL ?>" data-placeholder="<?php _e("-- OR select an icon --", MASTERPRESS_DOMAIN) ?>" class="select2-source icon-select with-icons"> <option value=""></option> <?php foreach (new DirectoryIterator(MASTERPRESS_EXTENSIONS_ICONS_DIR) as $file) { $file_name = $file->getFileName(); if (substr($file_name, 0, 1) == ".") { continue; } if ($file->isDir()) { ?> <optgroup label="<?php echo WOOF_Inflector::humanize($file_name) ?>"> <?php foreach (new DirectoryIterator(MASTERPRESS_EXTENSIONS_ICONS_DIR.WOOF_DIR_SEP.$file_name) as $sub) { $sub_file_name = $sub->getFileName(); $pi = pathinfo($sub_file_name); $sub_ext = $pi["extension"]; $sub_base_name = $pi["filename"]; $path = $file_name.WOOF_DIR_SEP.$sub_file_name; if (substr($sub_file_name, 0, 1) == ".") { continue; } $selected = WOOF_HTML::selected_attr($val == $path); ?> <option value="<?php echo $path ?>" <?php echo $selected ?> data-icon="mp-icon icon-<?php echo sanitize_title_with_dashes($file_name."-".$sub_file_name) ?>" class=""><?php echo WOOF_Inflector::titleize($sub_base_name) ?></option> <?php } } ?> </optgroup> <?php } ?> </select> </div> <?php endif; }