/** * @package MegaMain * @subpackage MegaMain * @since mm 1.0 */ function mmpm_menu_options_array() { /* Additional styles */ $additional_styles_presets = mmpm_get_option('additional_styles_presets'); unset($additional_styles_presets['0']); $additional_styles[__('Default', MMPM_TEXTDOMAIN_ADMIN)] = 'default_style'; if (is_array($additional_styles_presets)) { foreach ($additional_styles_presets as $key => $value) { $additional_styles[$key . '. ' . $value['style_name']] = 'additional_style_' . $key; } } /* Submenu types */ $number_of_widgets = mmpm_get_option('number_of_widgets', '1'); if (is_numeric($number_of_widgets)) { for ($i = 1; $i <= $number_of_widgets; $i++) { $submenu_widgets[__('Widgets area ', MMPM_TEXTDOMAIN_ADMIN) . $i] = MMPM_PREFIX . '_menu_widgets_area_' . $i; } } $submenu_types = array(__('Standard Dropdown', MMPM_TEXTDOMAIN_ADMIN) => 'default_dropdown', __('Multicolumn Dropdown', MMPM_TEXTDOMAIN_ADMIN) => 'multicolumn_dropdown'); /* options */ $options = array(array('descr' => __('Icon of This item', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'item_icon', 'type' => 'icons'), array('key' => 'disable_icon', 'type' => 'checkbox', 'values' => array(__('Hide Icon of This Item', MMPM_TEXTDOMAIN_ADMIN) => 'true')), array('key' => 'disable_text', 'type' => 'checkbox', 'values' => array(__('Hide Text of This Item', MMPM_TEXTDOMAIN_ADMIN) => 'true')), array('key' => 'disable_link', 'type' => 'checkbox', 'values' => array(__('Disable Link', MMPM_TEXTDOMAIN_ADMIN) => 'true')), array('name' => __('Options of Dropdown', MMPM_TEXTDOMAIN_ADMIN), 'descr' => __('Submenu Type', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'submenu_type', 'type' => 'select', 'values' => $submenu_types, 'dependency' => array('element' => array('submenu_post_type'), 'value' => 'post_type_dropdown')), array('key' => 'submenu_post_type', 'descr' => __('Post Type For Display In Dropdown', MMPM_TEXTDOMAIN_ADMIN), 'type' => 'select', 'values' => mmpm_get_all_taxonomies()), array('key' => 'submenu_drops_side', 'descr' => __('Side of dropdown elements', MMPM_TEXTDOMAIN_ADMIN), 'type' => 'select', 'values' => array(__('Drop To Right Side', MMPM_TEXTDOMAIN_ADMIN) => 'drop_to_right')), array('descr' => __('Submenu Columns (Not For Standard Drops)', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'submenu_columns', 'type' => 'select', 'values' => range(1, 5)), array('descr' => __('Additional Right Padding', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'submenu_additional_right_margin', 'type' => 'number', 'min' => 10, 'max' => 200, 'units' => 'px', 'default' => 10), array('descr' => __('Additional Bottom Padding', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'submenu_additional_bottom_margin', 'type' => 'number', 'min' => 10, 'max' => 200, 'units' => 'px', 'default' => 10), array('name' => __('Dropdown Background Image', MMPM_TEXTDOMAIN_ADMIN), 'descr' => __('', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'submenu_bg_image', 'type' => 'background_image', 'default' => '')); if (count($additional_styles) > 1) { array_unshift($options, array('descr' => __('Style of This Item', MMPM_TEXTDOMAIN_ADMIN), 'key' => 'item_style', 'type' => 'select', 'values' => $additional_styles, 'default' => 'default')); } return $options; }
/** * Build option row. * @return $out */ function mmpm_options_generator($option, $mmpm_saved_value = false) { /* Check and set all most variables */ $option['name'] = isset($option['name']) ? $option['name'] : ''; $option['descr'] = isset($option['descr']) ? $option['descr'] : ''; $option['key'] = isset($option['key']) ? $option['key'] : 'key_no_set'; $option['type'] = isset($option['type']) ? $option['type'] : ''; $option['values'] = isset($option['values']) ? $option['values'] : ''; $tmp_key_var = explode('[', $option['key']); $clear_key = str_replace(array(MMPM_OPTIONS_NAME, '[', ']'), '', end($tmp_key_var)); $clear_full_key = str_replace(array(MMPM_OPTIONS_NAME, '[', ']'), '', $option['key']); $out = ''; /* check field "type" and return actual sting */ switch ($option['type']) { case 'just_html': $out .= isset($option['default']) ? $option['default'] : (isset($option['values']) ? $option['values'] : ''); break; case 'textarea': $out .= mmpm_ntab(9) . '<textarea class="textarea" name="' . MMPM_PREFIX . '_' . $option['key'] . '" rows="6">' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? esc_textarea($mmpm_saved_value) : (isset($option['default']) ? esc_textarea($option['default']) : (isset($option['values']) ? esc_textarea($option['values']) : ''))) . '</textarea>'; break; case 'checkbox': $col_width = isset($option['col_width']) ? $option['col_width'] : 4; $out .= mmpm_ntab(9) . '<input type="hidden" name="' . MMPM_PREFIX . '_' . $option['key'] . '[]" value="is_checkbox" />'; $out .= mmpm_ntab(9) . '<div class="row no_left_margin">'; if (is_array($option['values'])) { foreach ($option['values'] as $key => $value) { $out .= mmpm_ntab(10) . '<div class="checkbox col-xs-' . $col_width . '">'; $out .= mmpm_ntab(11) . '<label><input type="checkbox" name="' . MMPM_PREFIX . '_' . $option['key'] . '[]" value="' . $value . '" ' . (isset($mmpm_saved_value) && is_array($mmpm_saved_value) ? in_array($value, $mmpm_saved_value) ? 'checked="checked" ' : '' : (isset($option['default']) && (in_array($value, $option['default']) || $value == $option['default']) ? 'checked="checked" ' : '')) . '/>' . (is_string($key) ? $key : $value) . '</label>'; $out .= mmpm_ntab(10) . '</div>'; } } $out .= mmpm_ntab(9) . '</div>'; break; case 'radio': $col_width = isset($option['col_width']) ? $option['col_width'] : 6; $out .= mmpm_ntab(9) . '<div class="row no_left_margin">'; if (is_array($option['values'])) { foreach ($option['values'] as $key => $value) { $out .= mmpm_ntab(10) . '<div class="radio col-xs-' . $col_width . '">'; $out .= mmpm_ntab(11) . '<label><input type="radio" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . $value . '" ' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $value == $mmpm_saved_value ? 'checked="checked" ' : '' : (isset($option['default']) && (in_array($value, $option['default']) || $value == $option['default']) ? 'checked="checked" ' : '')) . '/>' . (is_string($key) ? $key : $value) . '</label>'; $out .= mmpm_ntab(10) . '</div>'; } } $out .= mmpm_ntab(9) . '</div>'; break; case 'select': $out .= mmpm_ntab(9) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '">'; if (is_array($option['values'])) { foreach ($option['values'] as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $value == $mmpm_saved_value ? 'selected="selected" ' : '' : (isset($option['default']) && (is_array($option['default']) && in_array($value, $option['default']) || $value == $option['default']) ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } } $out .= mmpm_ntab(9) . '</select>'; break; case 'number': $col_width = isset($option['col_width']) ? $option['col_width'] : 6; $step = isset($option['step']) ? $option['step'] : 1; $min = isset($option['min']) ? $option['min'] : 1; $max = isset($option['max']) ? $option['max'] : 100; $input = '<input class="form-control input-sm col-xs-12" type="number" step="' . $step . '" min="' . $min . '" max="' . $max . '" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? esc_attr($mmpm_saved_value) : (isset($option['default']) ? esc_attr($option['default']) : (isset($option['values']) ? $option['values'] : ''))) . '" />'; if (isset($option['units']) && !empty($option['units'])) { $out .= mmpm_ntab(9) . '<div class="row">'; $out .= mmpm_ntab(10) . '<div class="input-group input-group-sm col-xs-' . $col_width . '">'; $out .= mmpm_ntab(11) . $input; $out .= mmpm_ntab(11) . '<span class="input-group-addon">' . $option['units'] . '</span>'; $out .= mmpm_ntab(10) . '</div><!-- class="input-group input-group-sm" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="row" -->'; } else { $out .= mmpm_ntab(9) . $input; } break; case 'radio_html': $col_width = isset($option['col_width']) ? $option['col_width'] : 4; $out .= mmpm_ntab(9) . '<div class="row no_left_margin">'; if (is_array($option['values'])) { foreach ($option['values'] as $key => $value) { $out .= mmpm_ntab(10) . '<div class="radio col-xs-' . $col_width . '">'; $out .= mmpm_ntab(11) . '<label><input type="radio" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . $value . '" ' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $value == $mmpm_saved_value ? 'checked="checked" ' : '' : (isset($option['default']) && (in_array($value, $option['default']) || $value == $option['default']) ? 'checked="checked" ' : '')) . '/>' . (is_string($key) ? $key : $value) . '</label>'; $out .= mmpm_ntab(10) . '</div>'; } } $out .= mmpm_ntab(9) . '</div>'; break; case 'checkbox_html': $col_width = isset($option['col_width']) ? $option['col_width'] : 4; $out .= mmpm_ntab(9) . '<input type="hidden" name="' . MMPM_PREFIX . '_' . $option['key'] . '[]" value="is_checkbox" />'; $out .= mmpm_ntab(9) . '<div class="row no_left_margin">'; if (is_array($option['values'])) { foreach ($option['values'] as $key => $value) { $out .= mmpm_ntab(10) . '<div class="checkbox col-xs-' . $col_width . '">'; $out .= mmpm_ntab(11) . '<label><input type="checkbox" name="' . MMPM_PREFIX . '_' . $option['key'] . '[]" value="' . $value . '" ' . (isset($mmpm_saved_value) && is_array($mmpm_saved_value) ? in_array($value, $mmpm_saved_value) ? 'checked="checked" ' : '' : (isset($option['default']) && (in_array($value, $option['default']) || $value == $option['default']) ? 'checked="checked" ' : '')) . '/>' . (is_string($key) ? $key : $value) . '</label>'; $out .= mmpm_ntab(10) . '</div>'; } } $out .= mmpm_ntab(9) . '</div>'; break; case 'file': // below calls scripts and styles for media library uploader. if (!isset($theme_option_file)) { static $theme_option_file = 1; wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_enqueue_script('jquery'); wp_enqueue_style('thickbox'); } $out .= mmpm_ntab(9) . '<div class="row">'; $out .= mmpm_ntab(10) . '<div class="input-group input-group-sm col-xs-9">'; $out .= mmpm_ntab(10) . '<input class="upload form-control col-xs-8" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $mmpm_saved_value : (isset($option['default']) ? esc_attr($option['default']) : (isset($option['values']) ? $option['values'] : ''))) . '" />'; /* name="' . $option['key'] . '" */ $out .= mmpm_ntab(11) . '<span class="input-group-btn">'; $out .= mmpm_ntab(12) . '<input class="' . $clear_full_key . ' select_file_button btn btn-primary" type="button" value="' . __('Select Image', MMPM_TEXTDOMAIN_ADMIN) . '" />'; $out .= mmpm_ntab(11) . '</span><!-- class="input-group-btn" -->'; $out .= mmpm_ntab(10) . '</div><!-- class="input-group" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(11) . '<img class="img_preview" data-imgprev="' . $clear_full_key . '" src="' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $mmpm_saved_value : (isset($option['default']) ? esc_attr($option['default']) : (isset($option['values']) ? $option['values'] : ''))) . '" />'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= '<script language="JavaScript"> mmpm_file_upload( \'' . MMPM_PREFIX . '_' . $option['key'] . '\', \'' . $clear_full_key . '\' ); </script>'; $out .= mmpm_ntab(9) . '</div><!-- class="row" -->'; break; case 'multiplier': $multiplier_value = isset($mmpm_saved_value[0]) && $mmpm_saved_value[0] !== false ? esc_attr($mmpm_saved_value[0]) : (isset($option['default']) ? esc_attr($option['default']) : '1'); $out .= mmpm_ntab(9) . '<div class="input-group input-group-sm multipler_pieces">'; $out .= mmpm_ntab(10) . '<input class="form-control input-sm" type="number" min="0" max="100" name="' . MMPM_PREFIX . '_' . $option['key'] . '[0]" value="' . $multiplier_value . '" />'; $out .= mmpm_ntab(10) . '<span class="input-group-addon">' . __('Pieces', MMPM_TEXTDOMAIN_ADMIN) . '</span>'; $out .= mmpm_ntab(9) . '</div><!-- class="input-group input-group-sm" -->'; $out .= mmpm_ntab(9) . '<div class="hidden multiplied_example ' . $clear_full_key . '">'; foreach ($option['values'] as $key => $subvalue) { $subvalue['key'] = $option['key'] . '[999][' . $subvalue['key'] . ']'; $subvalue['name'] = str_replace('1', '999', $subvalue['name']); $out .= mmpm_options_generator($subvalue, false); } $out .= mmpm_ntab(9) . '</div><!-- class="multiplied_content" -->'; $out .= mmpm_ntab(9) . '<div class="multiplied_content ' . $clear_full_key . '">'; $counter = 1; while ($multiplier_value >= $counter) { foreach ($option['values'] as $key => $subvalue) { $mmpm_saved_subvalue = isset($mmpm_saved_value[$counter][$subvalue['key']]) ? $mmpm_saved_value[$counter][$subvalue['key']] : false; $subvalue['key'] = $option['key'] . '[' . $counter . '][' . $subvalue['key'] . ']'; $subvalue['name'] = str_replace('1', $counter, $subvalue['name']); $out .= mmpm_options_generator($subvalue, $mmpm_saved_subvalue); } $counter++; } $out .= mmpm_ntab(9) . '</div><!-- class="multiplied_content" -->'; $out .= ' <script language="JavaScript"> mmpm_multiplier( \'input[name*="' . MMPM_PREFIX . '_' . $option['key'] . '[0]"]\', \'.multiplied_example.' . $clear_full_key . '\', \'.multiplied_content.' . $clear_full_key . '\' ); </script>'; break; case 'wpeditor': $content = isset($mmpm_saved_value) && $mmpm_saved_value !== false ? $mmpm_saved_value : (isset($option['default']) ? $option['default'] : (isset($option['values']) ? $option['values'] : '')); ob_start(); $args = array('textarea_name' => MMPM_PREFIX . '_' . $option['key'], 'wpautop' => false, 'media_buttons' => false, 'textarea_rows' => 5); wp_editor($content, MMPM_PREFIX . '_' . $clear_full_key, $args); $editor = ob_get_contents(); ob_end_clean(); $out .= mmpm_ntab(9) . '<div class="no_bootstrap">'; $out .= $editor; $out .= mmpm_ntab(9) . '</div><!-- class="no_bootstrap" -->'; break; case 'icons': $icon = isset($mmpm_saved_value) && $mmpm_saved_value !== false && $mmpm_saved_value != '' ? esc_attr($mmpm_saved_value) : (isset($option['default']) ? esc_attr($option['default']) : array_rand(array_flip(mmpm_get_all_icons()))); $out .= mmpm_ntab(9) . '<div class="row">'; $out .= mmpm_ntab(10) . '<div class="input-group input-group-sm col-xs-9">'; $out .= mmpm_ntab(11) . '<input class="form-control input-sm" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . $icon . '" data-icon="icons_list_' . $clear_full_key . '" />'; $out .= mmpm_ntab(11) . '<span class="input-group-btn">'; $out .= mmpm_ntab(12) . '<a data-toggle="mmpm_modal" href="' . admin_url() . '?mmpm_page=icons_list&input_name=' . MMPM_PREFIX . '_' . $option['key'] . '&modal_id=icons_list_' . $clear_full_key . '" data-target="#icons_list_' . $clear_full_key . '" class="btn btn-primary">' . __('Show Icons', MMPM_TEXTDOMAIN_ADMIN) . '</a>'; $out .= mmpm_ntab(11) . '</span><!-- class="input-group-btn" -->'; $out .= mmpm_ntab(10) . '</div><!-- class="input-group input-group-sm col-xs-9" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3 icon_preview">'; $out .= mmpm_ntab(11) . '<i class="' . $icon . '" data-icon="icons_list_' . $clear_full_key . '"></i>'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(9) . '<div id="icons_list_' . $clear_full_key . '" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="icons_listLabel" aria-hidden="true"></div><!-- class="modal" -->'; break; case 'caption': preg_match("/\\[(.*)\\]/", $option['key'], $matches); $out .= mmpm_ntab(7) . '<div class="bootstrap">'; $out .= mmpm_ntab(8) . '<div id="' . $matches[1] . '" class="option bootstrap row ' . $option['key'] . ' ' . $option['type'] . '">'; $out .= mmpm_ntab(9) . '<div class="col-xs-12">'; $out .= mmpm_ntab(10) . '<div class="h_separator">'; $out .= mmpm_ntab(10) . '</div><!-- class="h_separator" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(9) . '<div class="col-xs-12">'; $out .= mmpm_ntab(10) . '<div class="section_caption">'; $out .= mmpm_ntab(11) . $option['name']; $out .= mmpm_ntab(10) . '</div><!-- class="section_caption" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(8) . '</div><!-- class="option row ' . $option['key'] . ' ' . $option['type'] . '" -->'; $out .= mmpm_ntab(7) . '</div><!-- class="bootstrap" -->'; break; case 'collapse_start': $out .= mmpm_ntab(5) . '<div class="panel bootstrap ' . str_replace(array('[', ']'), array('', ''), $option['key']) . '">'; $out .= mmpm_ntab(6) . '<div class="panel-heading">'; $out .= mmpm_ntab(7) . '<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent=".tab-pane" href="#' . str_replace(array('[', ']', ' '), array('', '', '-'), $option['key']) . '">' . $option['name'] . '</a>'; $out .= mmpm_ntab(6) . '</div>'; $out .= mmpm_ntab(6) . '<div id="' . str_replace(array('[', ']', ' '), array('', '', '-'), $option['key']) . '" class="panel-collapse collapse col-xs-12">'; break; case 'collapse_end': $out .= mmpm_ntab(6) . '</div><!-- class="panel-collapse collapse col-xs-12" -->'; $out .= mmpm_ntab(5) . '</div><!-- class="panel" -->'; break; case 'devider': $out .= mmpm_ntab(7) . '<div class="option row devider ' . $option['key'] . ' ' . $option['type'] . '">'; $out .= mmpm_ntab(8) . '<div class="col-xs-12">'; $out .= mmpm_ntab(9) . '<div class="h_separator">'; $out .= mmpm_ntab(9) . '</div><!-- class="h_separator" -->'; $out .= mmpm_ntab(9) . '<div class="h_separator">'; $out .= mmpm_ntab(9) . '</div><!-- class="h_separator" -->'; $out .= mmpm_ntab(9) . '<div class="h_separator">'; $out .= mmpm_ntab(9) . '</div><!-- class="h_separator" -->'; $out .= mmpm_ntab(8) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(7) . '</div><!-- class="option row devider ' . $option['key'] . ' ' . $option['type'] . '" -->'; break; case 'skin_options_generator': $out .= mmpm_skin_options_generator(); break; case 'color': $value = isset($mmpm_saved_value) && $mmpm_saved_value !== false ? esc_attr($mmpm_saved_value) : (isset($option['default']) ? esc_attr($option['default']) : (isset($option['values']) ? esc_attr($option['values']) : '#808080')); $out .= mmpm_ntab(7) . '<div class="color_picker">'; $out .= mmpm_ntab(8) . '<div class="row">'; $out .= mmpm_ntab(9) . '<div class="input-append color input-group input-group-sm col-xs-3" data-color="' . $value . '" data-color-format="rgba" id="' . $clear_full_key . '_colorpicker">'; $out .= mmpm_ntab(10) . '<input class="form-control col-xs-12" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . $value . '">'; $out .= mmpm_ntab(10) . '<span class="input-group-addon add-on"><i style="background-color: ' . $value . ';"> </i></span>'; $out .= mmpm_ntab(9) . '</div>'; $out .= mmpm_ntab(8) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(7) . '</div><!-- class="color_picker" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'#' . $clear_full_key . '_colorpicker\').colorpicker(); }); </script>'; break; case 'font': $out .= mmpm_ntab(7) . '<div class="font_selector row">'; if ($option['values'] == '' || is_array($option['values']) && in_array('font_family', $option['values'])) { $out .= mmpm_ntab(8) . '<div class="col-md-3 col-sm-6 col-xs-3 family">'; $out .= mmpm_ntab(9) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_family]">'; $set_of_google_fonts = mmpm_get_option('set_of_google_fonts') ? mmpm_get_option('set_of_google_fonts') : array(); unset($set_of_google_fonts['0']); $set_of_google_fonts[] = array('family' => 'Arial'); $set_of_google_fonts[] = array('family' => 'Courier New'); $set_of_google_fonts[] = array('family' => 'Tahoma'); $set_of_google_fonts[] = array('family' => 'Times New Roman'); $set_of_google_fonts[] = array('family' => 'Verdana'); $out .= mmpm_ntab(10) . '<optgroup label="' . __('Installed Google Fonts', MMPM_TEXTDOMAIN_ADMIN) . '">'; foreach ($set_of_google_fonts as $key => $value) { if ($value['family'] == 'Arial') { $out .= mmpm_ntab(10) . '</optgroup>'; $out .= mmpm_ntab(10) . '<optgroup label="' . __('Safe Web Fonts (Recommended)', MMPM_TEXTDOMAIN_ADMIN) . '">'; } $out .= mmpm_ntab(10) . '<option value="' . $value['family'] . '" ' . (isset($mmpm_saved_value['font_family']) && $mmpm_saved_value['font_family'] !== false ? $value['family'] == $mmpm_saved_value['font_family'] ? 'selected="selected" ' : '' : (isset($option['default']['font_family']) && $value['family'] == $option['default']['font_family'] ? 'selected="selected" ' : '')) . '>' . $value['family'] . '</option>'; } $out .= mmpm_ntab(10) . '</optgroup>'; $out .= mmpm_ntab(9) . '</select>'; $out .= mmpm_ntab(8) . '</div><!-- class="col-md-3 col-sm-6 col-xs-3 family" -->'; } if ($option['values'] == '' || is_array($option['values']) && in_array('font_color', $option['values'])) { $out .= mmpm_ntab(8) . '<div class="col-md-3 col-sm-6 col-xs-3 color">'; $value = isset($mmpm_saved_value['font_color']) && $mmpm_saved_value['font_color'] !== false ? esc_attr($mmpm_saved_value['font_color']) : (isset($option['default']['font_color']) ? esc_attr($option['default']['font_color']) : (isset($option['values']['font_color']) ? esc_attr($option['values']['font_color']) : '#808080')); $out .= mmpm_ntab(9) . '<div class="color_picker">'; $out .= mmpm_ntab(10) . '<div class="row">'; $out .= mmpm_ntab(11) . '<div class="input-append color input-group input-group-sm col-xs-12" data-color="' . $value . '" data-color-format="rgba" id="' . $clear_key . '_colorpicker">'; $out .= mmpm_ntab(12) . '<input class="form-control col-xs-12" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_color]" value="' . $value . '">'; $out .= mmpm_ntab(12) . '<span class="input-group-addon add-on"><i style="background-color: ' . $value . ';"> </i></span>'; $out .= mmpm_ntab(11) . '</div>'; $out .= mmpm_ntab(10) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="color_picker" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'#' . $clear_key . '_colorpicker\').colorpicker(); }); </script>'; /* $out .= mmpm_ntab(9) . '<div class="color_picker no_bootstrap">'; $out .= mmpm_ntab(10) . '<input type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_color]" value="' . ( ( isset( $mmpm_saved_value['font_color'] ) && $mmpm_saved_value['font_color'] !== false ) ? esc_attr( $mmpm_saved_value['font_color'] ) : ( isset( $option['default']['font_color'] ) ? esc_attr( $option['default']['font_color'] ) : ( isset( $option['values']['font_color'] ) ? esc_attr( $option['values']['font_color'] ) : '#808080' ) ) ) . '" />'; $out .= mmpm_ntab(9) . '</div><!-- class="color_picker no_bootstrap" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'input[name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_color]"]\').wpColorPicker({ palettes: mmpm_theme_palettes }); }); </script>'; */ $out .= mmpm_ntab(8) . '</div><!-- class="col-md-3 col-sm-6 col-xs-3 color" -->'; } if ($option['values'] == '' || is_array($option['values']) && in_array('font_size', $option['values'])) { $out .= mmpm_ntab(8) . '<div class="input-group input-group-sm col-lg-3 col-md-4 col-sm-6 col-xs-3 size">'; $out .= mmpm_ntab(9) . '<input class="form-control col-xs-12" type="number" step="1" min="4" max="120" name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_size]" value="' . (isset($mmpm_saved_value['font_size']) && $mmpm_saved_value['font_size'] !== false ? esc_attr($mmpm_saved_value['font_size']) : (isset($option['default']['font_size']) ? esc_attr($option['default']['font_size']) : (isset($option['values']['font_size']) ? $option['values']['font_size'] : '14'))) . '" />'; $out .= mmpm_ntab(9) . '<span class="input-group-addon">px</span>'; $out .= mmpm_ntab(8) . '</div><!-- class="input-group input-group-sm col-lg-3 col-md-4 col-sm-6 col-xs-3 size" -->'; } if ($option['values'] == '' || is_array($option['values']) && in_array('font_weight', $option['values'])) { $out .= mmpm_ntab(8) . '<div class="col-lg-3 col-md-2 col-sm-6 col-xs-3 weight">'; $out .= mmpm_ntab(9) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[font_weight]">'; foreach (range(300, 900, 100) as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['font_weight']) && $mmpm_saved_value['font_weight'] !== false ? $value == $mmpm_saved_value['font_weight'] ? 'selected="selected" ' : '' : (isset($option['default']['font_weight']) && $value == $option['default']['font_weight'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(9) . '</select>'; $out .= mmpm_ntab(8) . '</div><!-- class="col-lg-3 col-md-2 col-sm-6 col-xs-3 weight" -->'; } $out .= mmpm_ntab(7) . '</div><!-- class="font_selector row" -->'; break; case 'background_image': // below calls scripts and styles for media library uploader. if (!isset($theme_option_file)) { static $theme_option_file = 1; wp_enqueue_script('media-upload'); wp_enqueue_script('thickbox'); wp_enqueue_script('jquery'); wp_enqueue_media(); } $out .= mmpm_ntab(9) . '<div class="row background_image_selcetor">'; $out .= mmpm_ntab(10) . '<div class="input-group input-group-sm col-xs-9">'; $out .= mmpm_ntab(10) . '<input class="upload form-control col-xs-8" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[background_image]" value="' . (isset($mmpm_saved_value['background_image']) && $mmpm_saved_value['background_image'] !== false ? $mmpm_saved_value['background_image'] : (isset($option['default']['background_image']) ? esc_attr($option['default']['background_image']) : (isset($option['values']['background_image']) ? $option['values']['background_image'] : ''))) . '" />'; /* name="' . $option['key'] . '" */ $out .= mmpm_ntab(11) . '<span class="input-group-btn">'; $out .= mmpm_ntab(12) . '<input class="' . $clear_full_key . ' select_file_button btn btn-primary" type="button" value="' . __('Select Image', MMPM_TEXTDOMAIN_ADMIN) . '" />'; $out .= mmpm_ntab(11) . '</span><!-- class="input-group-btn" -->'; $out .= mmpm_ntab(10) . '</div><!-- class="input-group" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(11) . '<img class="img_preview" data-imgprev="' . $clear_full_key . '" src="' . (isset($mmpm_saved_value['background_image']) ? $mmpm_saved_value['background_image'] : (isset($option['default']['background_image']) ? esc_attr($option['default']['background_image']) : (isset($option['values']['background_image']) ? $option['values']['background_image'] : ''))) . '" />'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-12 pull-left"> '; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(11) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[background_repeat]">'; foreach (array('repeat', 'no-repeat', 'repeat-x', 'repeat-y') as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['background_repeat']) && $mmpm_saved_value['background_repeat'] !== false ? $value == $mmpm_saved_value['background_repeat'] ? 'selected="selected" ' : '' : (isset($option['default']['background_repeat']) && $value == $option['default']['background_repeat'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(1) . '</select>'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(1) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[background_attachment]">'; foreach (array('scroll', 'fixed') as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['background_attachment']) && $mmpm_saved_value['background_attachment'] !== false ? $value == $mmpm_saved_value['background_attachment'] ? 'selected="selected" ' : '' : (isset($option['default']['background_attachment']) && $value == $option['default']['background_attachment'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(1) . '</select>'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(1) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[background_position]">'; foreach (array('center', 'center left', 'center right', 'top left', 'top center', 'top right', 'bottom left', 'bottom center', 'bottom right') as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['background_position']) && $mmpm_saved_value['background_position'] !== false ? $value == $mmpm_saved_value['background_position'] ? 'selected="selected" ' : '' : (isset($option['default']['background_position']) && $value == $option['default']['background_position'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(1) . '</select>'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-3">'; $out .= mmpm_ntab(1) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[background_size]">'; foreach (array(__('Keep original', MMPM_TEXTDOMAIN_ADMIN) => 'auto', __('Stretch to width', MMPM_TEXTDOMAIN_ADMIN) => '100% auto', __('Stretch to height', MMPM_TEXTDOMAIN_ADMIN) => 'auto 100%', 'cover', 'contain') as $key => $value) { $out .= mmpm_ntab(10) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['background_size']) && $mmpm_saved_value['background_size'] !== false ? $value == $mmpm_saved_value['background_size'] ? 'selected="selected" ' : '' : (isset($option['default']['background_size']) && $value == $option['default']['background_size'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(1) . '</select>'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-3" -->'; $out .= '<script language="JavaScript"> mmpm_file_upload( \'' . MMPM_PREFIX . '_' . $option['key'] . '[background_image]\', \'' . $clear_full_key . '\' ); </script>'; $out .= mmpm_ntab(9) . '</div><!-- class="row" -->'; break; case 'gradient': if (!isset($theme_option_color)) { static $theme_option_color = 1; wp_enqueue_style('wp-color-picker'); wp_enqueue_script('wp-color-picker'); } $out .= mmpm_ntab(9) . '<div class="row gradient_selcetor">'; $out .= mmpm_ntab(10) . '<div class="col-xs-8">'; $out .= mmpm_ntab(11) . '<div class="row">'; $out .= mmpm_ntab(12) . '<div class="col-xs-5">'; $value = isset($mmpm_saved_value['color1']) && $mmpm_saved_value['color1'] !== false ? esc_attr($mmpm_saved_value['color1']) : (isset($option['default']['color1']) ? esc_attr($option['default']['color1']) : (isset($option['values']['color1']) ? esc_attr($option['values']['color1']) : '#808080')); $out .= mmpm_ntab(9) . '<div class="color_picker">'; $out .= mmpm_ntab(10) . '<div class="row">'; $out .= mmpm_ntab(11) . '<div class="input-append color input-group input-group-sm col-xs-11" data-color="' . $value . '" data-color-format="rgba" id="' . $clear_full_key . '_1_colorpicker">'; $out .= mmpm_ntab(12) . '<input class="form-control col-xs-12" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[color1]" value="' . $value . '">'; $out .= mmpm_ntab(12) . '<span class="input-group-addon add-on"><i style="background-color: ' . $value . ';"> </i></span>'; $out .= mmpm_ntab(11) . '</div>'; $out .= mmpm_ntab(10) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="color_picker" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'#' . $clear_full_key . '_1_colorpicker\').colorpicker(); }); </script>'; /* $out .= mmpm_ntab(13) . '<div class="color_picker no_bootstrap">'; $out .= mmpm_ntab(14) . '<input type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[color1]" value="' . ( ( isset( $mmpm_saved_value['color1'] ) && $mmpm_saved_value['color1'] !== false ) ? esc_attr( $mmpm_saved_value['color1'] ) : ( isset( $option['default']['color1'] ) ? esc_attr( $option['default']['color1'] ) : ( isset( $option['values']['color1'] ) ? esc_attr( $option['values']['color1'] ) : '#808080' ) ) ) . '" />'; $out .= mmpm_ntab(13) . '</div><!-- class="color_picker no_bootstrap" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'input[name="' . MMPM_PREFIX . '_' . $option['key'] . '[color1]"]\').wpColorPicker({ palettes: mmpm_theme_palettes }); }); </script>'; */ $out .= mmpm_ntab(12) . '</div><!-- class="col-xs-5" -->'; $out .= mmpm_ntab(12) . '<div class="col-xs-2 start_end">'; $out .= mmpm_ntab(13) . __('Start', MMPM_TEXTDOMAIN_ADMIN); $out .= mmpm_ntab(12) . '</div><!-- class="col-xs-2" -->'; $out .= mmpm_ntab(12) . '<div class="input-group input-group-sm col-xs-5">'; $out .= mmpm_ntab(13) . '<input class="form-control col-xs-12" type="number" step="1" min="0" max="100" name="' . MMPM_PREFIX . '_' . $option['key'] . '[start]" value="' . (isset($mmpm_saved_value['start']) && $mmpm_saved_value['start'] !== false ? esc_attr($mmpm_saved_value['start']) : (isset($option['default']['start']) ? esc_attr($option['default']['start']) : (isset($option['values']['start']) ? $option['values']['start'] : '0'))) . '" />'; $out .= mmpm_ntab(13) . '<span class="input-group-addon">%</span>'; $out .= mmpm_ntab(12) . '</div><!-- class="input-group input-group-sm col-xs-5" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-12 vertical_padding pull-left">'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(12) . '<div class="col-xs-5">'; $value = isset($mmpm_saved_value['color2']) && $mmpm_saved_value['color2'] !== false ? esc_attr($mmpm_saved_value['color2']) : (isset($option['default']['color2']) ? esc_attr($option['default']['color2']) : (isset($option['values']['color2']) ? esc_attr($option['values']['color2']) : '#808080')); $out .= mmpm_ntab(9) . '<div class="color_picker">'; $out .= mmpm_ntab(10) . '<div class="row">'; $out .= mmpm_ntab(11) . '<div class="input-append color input-group input-group-sm col-xs-11" data-color="' . $value . '" data-color-format="rgba" id="' . $clear_full_key . '_2_colorpicker">'; $out .= mmpm_ntab(12) . '<input class="form-control col-xs-12" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[color2]" value="' . $value . '">'; $out .= mmpm_ntab(12) . '<span class="input-group-addon add-on"><i style="background-color: ' . $value . ';"> </i></span>'; $out .= mmpm_ntab(11) . '</div>'; $out .= mmpm_ntab(10) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(9) . '</div><!-- class="color_picker" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'#' . $clear_full_key . '_2_colorpicker\').colorpicker(); }); </script>'; /* $out .= mmpm_ntab(13) . '<div class="color_picker no_bootstrap">'; $out .= mmpm_ntab(14) . '<input type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '[color2]" value="' . ( ( isset( $mmpm_saved_value['color2'] ) && $mmpm_saved_value['color2'] !== false ) ? esc_attr( $mmpm_saved_value['color2'] ) : ( isset( $option['default']['color2'] ) ? esc_attr( $option['default']['color2'] ) : ( isset( $option['values']['color2'] ) ? esc_attr( $option['values']['color2'] ) : '#808080' ) ) ) . '" />'; $out .= mmpm_ntab(13) . '</div><!-- class="color_picker no_bootstrap" -->'; $out .= ' <script language="JavaScript"> jQuery(document).ready(function($){ jQuery(\'input[name="' . MMPM_PREFIX . '_' . $option['key'] . '[color2]"]\').wpColorPicker({ palettes: mmpm_theme_palettes }); }); </script>'; */ $out .= mmpm_ntab(12) . '</div><!-- class="col-xs-5" -->'; $out .= mmpm_ntab(12) . '<div class="col-xs-2 start_end">'; $out .= mmpm_ntab(13) . __('End', MMPM_TEXTDOMAIN_ADMIN); $out .= mmpm_ntab(12) . '</div><!-- class="col-xs-2" -->'; $out .= mmpm_ntab(12) . '<div class="input-group input-group-sm col-xs-5">'; $out .= mmpm_ntab(13) . '<input class="form-control col-xs-12" type="number" step="1" min="0" max="100" name="' . MMPM_PREFIX . '_' . $option['key'] . '[end]" value="' . (isset($mmpm_saved_value['end']) && $mmpm_saved_value['end'] !== false ? esc_attr($mmpm_saved_value['end']) : (isset($option['default']['end']) ? esc_attr($option['default']['end']) : (isset($option['values']['end']) ? $option['values']['end'] : '100'))) . '" />'; $out .= mmpm_ntab(13) . '<span class="input-group-addon">%</span>'; $out .= mmpm_ntab(12) . '</div><!-- class="input-group input-group-sm col-xs-5" -->'; $out .= mmpm_ntab(11) . '</div><!-- class="row" -->'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-8" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-4">'; $out .= mmpm_ntab(11) . '<select class="col-xs-12 form-control input-sm" name="' . MMPM_PREFIX . '_' . $option['key'] . '[orientation]">'; foreach (array(__('Vertical', MMPM_TEXTDOMAIN_ADMIN) => 'top', __('Horizontal', MMPM_TEXTDOMAIN_ADMIN) => 'left', __('Radial', MMPM_TEXTDOMAIN_ADMIN) => 'radial') as $key => $value) { $out .= mmpm_ntab(12) . '<option value="' . $value . '" ' . (isset($mmpm_saved_value['orientation']) && $mmpm_saved_value['orientation'] !== false ? $value == $mmpm_saved_value['orientation'] ? 'selected="selected" ' : '' : (isset($option['default']['orientation']) && $value == $option['default']['orientation'] ? 'selected="selected" ' : '')) . '>' . (is_string($key) ? $key : $value) . '</option>'; } $out .= mmpm_ntab(11) . '</select>'; $out .= mmpm_ntab(10) . '<div class="col-xs-12 vertical_padding pull-left">'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-12" -->'; $out .= mmpm_ntab(10) . '<div class="col-xs-12 gradient_example pull-left">'; $out .= mmpm_ntab(11) . __('Click Here For View Result', MMPM_TEXTDOMAIN_ADMIN); $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-12 gradient_example" -->'; $out .= mmpm_ntab(10) . '</div><!-- class="col-xs-4" -->'; $out .= ' <script language="JavaScript"> mmpm_gradient_example( \'' . $clear_full_key . '\' ); </script>'; $out .= mmpm_ntab(9) . '</div><!-- class="row" -->'; break; default: $out .= mmpm_ntab(9) . '<input class="col-xs-12 form-control input-sm" type="text" name="' . MMPM_PREFIX . '_' . $option['key'] . '" value="' . (isset($mmpm_saved_value) && $mmpm_saved_value !== false ? esc_attr($mmpm_saved_value) : (isset($option['default']) ? esc_attr($option['default']) : (isset($option['values']) ? esc_attr($option['values']) : ''))) . '" />'; break; } if (isset($option['dependency']) && is_array($option['dependency']) && isset($option['dependency']['element']) && isset($option['dependency']['value'])) { static $dependency_id = -1; $dependency_id++; $GLOBALS['dependency_element'] = $option['dependency']['element']; $GLOBALS['dependency_id'] = $dependency_id; $out .= mmpm_ntab(8) . '<script language="JavaScript">'; $out .= mmpm_ntab(8) . 'dependency_selector_' . $dependency_id . ' = \'*[name*="' . MMPM_PREFIX . '_' . $option['key'] . '"]\';'; if (is_array($option['dependency']['value'])) { $out .= mmpm_ntab(8) . 'dependency_value_' . $dependency_id . ' = [\'' . implode('\',\'', $option['dependency']['value']) . '\'];'; } else { $out .= mmpm_ntab(8) . 'dependency_value_' . $dependency_id . ' = \'' . $option['dependency']['value'] . '\';'; } if (is_array($option['dependency']['element'])) { $out .= mmpm_ntab(8) . 'childrens_selector_' . $dependency_id . ' = [\'' . implode($dependency_id . '\',\'', $option['dependency']['element']) . $dependency_id . '\'];'; } else { $out .= mmpm_ntab(8) . 'childrens_selector_' . $dependency_id . ' = \'' . $option['dependency']['element'] . $dependency_id . '\';'; } $out .= mmpm_ntab(8) . 'mmpm_dependency( dependency_selector_' . $dependency_id . ', dependency_value_' . $dependency_id . ', childrens_selector_' . $dependency_id . ' );'; $out .= mmpm_ntab(8) . '</script>'; } if ($option['type'] != 'collapse_start' && $option['type'] != 'collapse_end' && $option['type'] != 'skin_options_generator' && $option['type'] != 'caption') { $section = ''; $section .= mmpm_ntab(6) . '<div class="bootstrap">'; $section .= mmpm_ntab(7) . '<div class="option row ' . str_replace(array(MMPM_OPTIONS_NAME, '[', ']'), '', $option['key']) . ' ' . $option['type'] . '_type" id="' . $clear_key . (isset($GLOBALS['dependency_element']) && ($GLOBALS['dependency_element'] == $clear_key || is_array($GLOBALS['dependency_element']) && in_array($clear_key, $GLOBALS['dependency_element'])) ? $GLOBALS['dependency_id'] : '') . '">'; $section .= mmpm_ntab(8) . '<div class="col-xs-12">'; $section .= mmpm_ntab(9) . '<div class="h_separator">'; $section .= mmpm_ntab(9) . '</div><!-- class="h_separator" -->'; $section .= mmpm_ntab(8) . '</div><!-- class="col-xs-12" -->'; $section .= mmpm_ntab(8) . '<div class="option_header col-md-3 col-sm-12">'; $section .= mmpm_ntab(9) . '<div class="caption">'; $section .= mmpm_ntab(10) . $option['name']; $section .= mmpm_ntab(9) . '</div><!-- class="caption" -->'; $section .= mmpm_ntab(9) . '<div class="descr">'; $section .= mmpm_ntab(10) . $option['descr']; $section .= mmpm_ntab(9) . '</div><!-- class="descr" -->'; $section .= mmpm_ntab(8) . '</div><!-- class="option_header col-3" -->'; $section .= mmpm_ntab(8) . '<div class="option_field col-md-9 col-sm-12">'; $section .= $out; $section .= mmpm_ntab(8) . '</div><!-- class="option_field col-9" -->'; $section .= mmpm_ntab(7) . '</div><!-- class="option row ' . str_replace(array(MMPM_OPTIONS_NAME, '[', ']'), '', $option['key']) . '" -->'; $section .= mmpm_ntab(6) . '</div><!-- class="bootstrap" -->'; $out = $section; } return $out; }
/** * @see Walker::start_el() * @since 3.0.0 * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param object $args */ function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { global $_wp_nav_menu_max_depth; $_wp_nav_menu_max_depth = $depth > $_wp_nav_menu_max_depth ? $depth : $_wp_nav_menu_max_depth; $indent = $depth ? str_repeat("\t", $depth) : ''; ob_start(); $item_id = esc_attr($item->ID); $removed_args = array('action', 'customlink-tab', 'edit-menu-item', 'menu-item', 'page-tab', '_wpnonce'); $original_title = ''; if ('taxonomy' == $item->type) { $original_title = get_term_field('name', $item->object_id, $item->object, 'raw'); if (is_wp_error($original_title)) { $original_title = false; } } elseif ('post_type' == $item->type) { $original_object = get_post($item->object_id); $original_title = $original_object->post_title; } $classes = array('menu-item menu-item-depth-' . $depth, 'menu-item-' . esc_attr($item->object), 'menu-item-edit-' . (isset($_GET['edit-menu-item']) && $item_id == $_GET['edit-menu-item'] ? 'active' : 'inactive')); $title = $item->title; if (!empty($item->_invalid)) { $classes[] = 'menu-item-invalid'; /* translators: %s: title of menu item which is invalid */ $title = sprintf(__('%s (Invalid)'), $item->title); } elseif (isset($item->post_status) && 'draft' == $item->post_status) { $classes[] = 'pending'; /* translators: %s: title of menu item in draft status */ $title = sprintf(__('%s (Pending)'), $item->title); } $title = !isset($item->label) || '' == $item->label ? $title : $item->label; $submenu_text = ''; if (0 == $depth) { $submenu_text = 'style="display: none;"'; } ?> <li id="menu-item-<?php echo $item_id; ?> " class="<?php echo implode(' ', $classes); ?> "> <dl class="menu-item-bar"> <dt class="menu-item-handle"> <span class="item-title"><span class="menu-item-title"><?php echo esc_html($title); ?> </span> <span class="is-submenu" <?php echo $submenu_text; ?> ><?php _e('sub item'); ?> </span></span> <span class="item-controls"> <span class="item-type"><?php echo esc_html($item->type_label); ?> </span> <span class="item-order hide-if-js"> <a href="<?php echo wp_nonce_url(add_query_arg(array('action' => 'move-up-menu-item', 'menu-item' => $item_id), remove_query_arg($removed_args, admin_url('nav-menus.php'))), 'move-menu_item'); ?> " class="item-move-up"><abbr title="<?php esc_attr_e('Move up'); ?> ">↑</abbr></a> | <a href="<?php echo wp_nonce_url(add_query_arg(array('action' => 'move-down-menu-item', 'menu-item' => $item_id), remove_query_arg($removed_args, admin_url('nav-menus.php'))), 'move-menu_item'); ?> " class="item-move-down"><abbr title="<?php esc_attr_e('Move down'); ?> ">↓</abbr></a> </span> <a class="item-edit" id="edit-<?php echo $item_id; ?> " title="<?php esc_attr_e('Edit Menu Item'); ?> " href="<?php echo isset($_GET['edit-menu-item']) && $item_id == $_GET['edit-menu-item'] ? admin_url('nav-menus.php') : add_query_arg('edit-menu-item', $item_id, remove_query_arg($removed_args, admin_url('nav-menus.php#menu-item-settings-' . $item_id))); ?> "><?php _e('Edit Menu Item'); ?> </a> </span> </dt> </dl> <div class="menu-item-settings" id="menu-item-settings-<?php echo $item_id; ?> "> <?php if ('custom' == $item->type) { ?> <p class="field-url description description-wide"> <label for="edit-menu-item-url-<?php echo $item_id; ?> "> <?php _e('URL'); ?> <br /> <input type="text" id="edit-menu-item-url-<?php echo $item_id; ?> " class="widefat code edit-menu-item-url" name="menu-item-url[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->url); ?> " /> </label> </p> <?php } ?> <p class="description description-thin"> <label for="edit-menu-item-title-<?php echo $item_id; ?> "> <?php _e('Navigation Label'); ?> <br /> <input type="text" id="edit-menu-item-title-<?php echo $item_id; ?> " class="widefat edit-menu-item-title" name="menu-item-title[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->title); ?> " /> </label> </p> <p class="description description-thin"> <label for="edit-menu-item-attr-title-<?php echo $item_id; ?> "> <?php _e('Title Attribute'); ?> <br /> <input type="text" id="edit-menu-item-attr-title-<?php echo $item_id; ?> " class="widefat edit-menu-item-attr-title" name="menu-item-attr-title[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->post_excerpt); ?> " /> </label> </p> <p class="field-link-target description"> <label for="edit-menu-item-target-<?php echo $item_id; ?> "> <input type="checkbox" id="edit-menu-item-target-<?php echo $item_id; ?> " value="_blank" name="menu-item-target[<?php echo $item_id; ?> ]"<?php checked($item->target, '_blank'); ?> /> <?php _e('Open link in a new window/tab'); ?> </label> </p> <p class="field-css-classes description description-thin"> <label for="edit-menu-item-classes-<?php echo $item_id; ?> "> <?php _e('CSS Classes (optional)'); ?> <br /> <input type="text" id="edit-menu-item-classes-<?php echo $item_id; ?> " class="widefat code edit-menu-item-classes" name="menu-item-classes[<?php echo $item_id; ?> ]" value="<?php echo esc_attr(implode(' ', $item->classes)); ?> " /> </label> </p> <?php /* <p class="field-xfn description description-thin"> <label for="edit-menu-item-xfn-<?php echo $item_id; ?>"> <?php _e( 'Link Relationship (XFN)' ); ?><br /> <input type="text" id="edit-menu-item-xfn-<?php echo $item_id; ?>" class="widefat code edit-menu-item-xfn" name="menu-item-xfn[<?php echo $item_id; ?>]" value="<?php echo esc_attr( $item->xfn ); ?>" /> </label> </p> */ ?> <p class="field-description description description-wide"> <label for="edit-menu-item-description-<?php echo $item_id; ?> "> <?php _e('Description'); ?> <br /> <textarea id="edit-menu-item-description-<?php echo $item_id; ?> " class="widefat edit-menu-item-description" rows="3" cols="20" name="menu-item-description[<?php echo $item_id; ?> ]"><?php echo esc_html($item->description); // textarea_escaped ?> </textarea> <span class="description"><?php _e('The description will be displayed in the menu if the current theme supports it.'); ?> </span> </label> </p> <?php /* START build extended menu options */ $out = ''; $out .= '<div class="clearboth"></div>'; foreach (mmpm_menu_options_array() as $option) { $option_status = mmpm_get_option($option['key'], array()); if ($option['key'] == 'submenu_type' && in_array('disable', $option_status)) { $submenu_type_status = 'disable'; } if (!in_array('disable', $option_status) || !isset($submenu_type_status) && $option['key'] == 'submenu_post_type') { $mmpm_saved_value = get_post_meta($item->ID, MMPM_PREFIX . '_' . $option['key'], true); $option['key'] = 'menu-item-' . $item->ID . '[' . $option['key'] . ']'; $out .= mmpm_options_generator($option, $mmpm_saved_value); } } echo $out; /* END build extended menu options */ ?> <p class="field-move hide-if-no-js description description-wide"> <label> <span><?php _e('Move'); ?> </span> <a href="#" class="menus-move-up"><?php _e('Up one'); ?> </a> <a href="#" class="menus-move-down"><?php _e('Down one'); ?> </a> <a href="#" class="menus-move-left"></a> <a href="#" class="menus-move-right"></a> <a href="#" class="menus-move-top"><?php _e('To the top'); ?> </a> </label> </p> <div class="menu-item-actions description-wide submitbox"> <?php if ('custom' != $item->type && $original_title !== false) { ?> <p class="link-to-original"> <?php printf(__('Original: %s'), '<a href="' . esc_attr($item->url) . '">' . esc_html($original_title) . '</a>'); ?> </p> <?php } ?> <a class="item-delete submitdelete deletion" id="delete-<?php echo $item_id; ?> " href="<?php echo wp_nonce_url(add_query_arg(array('action' => 'delete-menu-item', 'menu-item' => $item_id), admin_url('nav-menus.php')), 'delete-menu_item_' . $item_id); ?> "><?php _e('Remove'); ?> </a> <span class="meta-sep hide-if-no-js"> | </span> <a class="item-cancel submitcancel hide-if-no-js" id="cancel-<?php echo $item_id; ?> " href="<?php echo esc_url(add_query_arg(array('edit-menu-item' => $item_id, 'cancel' => time()), admin_url('nav-menus.php'))); ?> #menu-item-settings-<?php echo $item_id; ?> "><?php _e('Cancel'); ?> </a> </div> <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?> ]" value="<?php echo $item_id; ?> " /> <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->object_id); ?> " /> <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->object); ?> " /> <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->menu_item_parent); ?> " /> <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->menu_order); ?> " /> <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->type); ?> " /> </div><!-- .menu-item-settings--> <ul class="menu-item-transport"></ul> <?php $output .= ob_get_clean(); }
} }, 1200 ); }); }); </script>'; echo mmpm_ntab(0) . '<div class="bootstrap">'; echo mmpm_ntab(1) . '<div class="modal-dialog">'; echo mmpm_ntab(2) . '<div class="modal-content">'; echo mmpm_ntab(3) . '<div class="modal-body">'; echo mmpm_ntab(4) . '<div class="holder">'; echo mmpm_ntab(5) . '<div class="all_icons_control_panel">'; echo mmpm_ntab(6) . '<input type="text" class="all_icons_search_input ' . $modal_id . '" placeholder="' . __('Search icon', MMPM_TEXTDOMAIN_ADMIN) . '">'; echo mmpm_ntab(6) . '<span class="ok_button btn-primary" onclick="mmpm_icon_selector(\'' . $input_name . '\', \'' . (isset($_GET['modal_id']) ? $_GET['modal_id'] : '') . '\' );">' . __('OK', MMPM_TEXTDOMAIN_ADMIN) . '</span>'; echo mmpm_ntab(5) . '</div><!-- class="all_icons_control_panel" -->'; echo mmpm_ntab(5) . '<div class="all_icons_container">'; $set_of_custom_icons = mmpm_get_option('set_of_custom_icons', array()); if (is_array($set_of_custom_icons) && count($set_of_custom_icons) > 1) { unset($set_of_custom_icons[0]); foreach ($set_of_custom_icons as $value) { $icon_name = str_replace(array('/', strrchr($value['custom_icon'], '.')), '', strrchr($value['custom_icon'], '/')); echo '<label for="ci-icon-' . $icon_name . '-' . $input_name . '"><input name="icon" id="ci-icon-' . $icon_name . '-' . $input_name . '" type="radio" value="ci-icon-' . $icon_name . '"><i class="ci-icon-' . $icon_name . '"></i></label>'; } } foreach (mmpm_get_all_icons() as $key => $value) { echo '<label for="' . $value . '-' . $input_name . '"><input name="icon" id="' . $value . '-' . $input_name . '" type="radio" value="' . $value . '"><i class="' . $value . '"></i></label>'; // echo '<label for="' . $value . '"><input name="icon" id="' . $value . '" type="radio" value="' . $value . '"><i class="' . $value . '"></i><div class="drop">' . $key . '<br />' . htmlentities('<i class="' . $value . '"></i>') . '</div></label>'; } echo mmpm_ntab(5) . '</div><!-- class="all_icons_container" -->'; echo mmpm_ntab(4) . '</div><!-- class="holder" -->'; echo mmpm_ntab(3) . '</div><!-- class="modal-body" -->'; echo mmpm_ntab(2) . '</div><!-- class="modal-content" -->';
/** * Include woo_cart in menu. * @return $items */ function mmpm_nav_woo_cart($items, $args) { $args = (object) $args; if (isset($args->theme_location)) { $args->theme_location = str_replace(' ', '-', $args->theme_location); $mega_menu_locations = is_array(mmpm_get_option('mega_menu_locations')) ? mmpm_get_option('mega_menu_locations') : array(); if (in_array($args->theme_location, $mega_menu_locations) && is_array(mmpm_get_option($args->theme_location . '_included_components')) && in_array('woo_cart', mmpm_get_option($args->theme_location . '_included_components'))) { if (class_exists('Woocommerce')) { $woo_cart_item = mmpm_ntab(1) . '<li class="nav_woo_cart grid_dropdown drop_to_left submenu_default_width">'; $woo_cart_item .= mmpm_ntab(2) . '<span class="item_link">'; $woo_cart_item .= mmpm_ntab(3) . '<i class="im-icon-cart"></i>'; $woo_cart_item .= mmpm_ntab(2) . '</span><!-- class="item_link" -->'; $woo_cart_item .= mmpm_ntab(2) . '<ul class="mega_dropdown">'; $woo_cart_item .= mmpm_ntab(3) . '<div class="widget_shopping_cart_content"></div>'; $woo_cart_item .= mmpm_ntab(2) . '</ul><!-- class="mega_dropdown" -->'; $woo_cart_item .= mmpm_ntab(1) . '</li><!-- class="nav_woo_cart" -->'; $items = $woo_cart_item . $items; } } } return $items; }
function mmpm_enqueue_styles() { // remove later include_once MMPM_EXTENSIONS_DIR . '/common_tools/init.php'; if (function_exists('is_multisite') && is_multisite()) { $cache_file_name = 'cache.skin.b' . get_current_blog_id(); } else { $cache_file_name = 'cache.skin'; } /* check cache or dynamic file enqueue */ $options_last_modified = mmpm_get_option('last_modified'); if (file_exists(MMPM_CSS_DIR . '/' . $cache_file_name . '.css')) { $cache_status[] = 'exist'; if ($options_last_modified > filemtime(MMPM_CSS_DIR . '/' . $cache_file_name . '.css')) { $cache_status[] = 'old'; } else { $cache_status[] = 'actual'; } } else { $cache_status[] = 'no-exist'; } if (in_array('actual', $cache_status)) { $skin_css[] = array('name' => MMPM_PREFIX . '_mega_main_menu', 'path' => MMPM_CSS_URI . '/' . $cache_file_name . '.css'); } else { if (mmpm_get_uri_content(MMPM_CSS_DIR . '/frontend/mega_main_menu.css') && ($cache_file = @fopen(MMPM_CSS_DIR . '/' . $cache_file_name . '.css', 'w'))) { include 'skin.php'; $static_css = mmpm_get_uri_content(MMPM_CSS_DIR . '/frontend/mega_main_menu.css'); $out = $static_css . $out; if (in_array('true', mmpm_get_option('coercive_styles', array()))) { $out = str_replace(array(";\r\n", ";\n", " !important !important"), array(" !important;", " !important;", " !important"), $out); } $out = str_replace(array("\t", "\r\n"), array("", " "), $out) . ' /*' . date("Y-m-d H:i") . '*/'; if (@fwrite($cache_file, $out)) { $skin_css = array(array('name' => MMPM_PREFIX . '_' . $cache_file_name, 'path' => MMPM_CSS_URI . '/' . $cache_file_name . '.css')); @touch(MMPM_CSS_DIR . '/' . $cache_file_name . '.css', time(), time()); } } else { $skin_css[] = array('name' => MMPM_PREFIX . '_common_styles', 'path' => MMPM_CSS_URI . '/frontend/mega_main_menu.css'); $skin_css[] = array('name' => MMPM_PREFIX . '_dynamic.skin', 'path' => '/?mega_main_menu_style=skin'); } } /* check and enqueue google fonts */ /* register and enqueue styles */ foreach ($skin_css as $single_css) { wp_register_style($single_css['name'], $single_css['path'], false, $options_last_modified); wp_enqueue_style($single_css['name']); } if (isset($_GET['mega_main_menu_style']) && !empty($_GET['mega_main_menu_style'])) { header("Content-type: text/css", true); //echo '/* CSS Generator */'; $generated = microtime(true); $style = $_GET['mega_main_menu_style']; if (file_exists(dirname(__FILE__) . '/' . $style . '.php')) { include $style . '.php'; if (in_array('true', mmpm_get_option('coercive_styles', array()))) { $out = str_replace(array(";\r\n", ";\n", " !important !important"), array(" !important;", " !important;", " !important"), $out); } echo $out; } else { echo '/* Not have called CSS */'; } die('/* CSS Generator Execution Time: ' . floatval(microtime(true) - $generated) . ' seconds */'); } }
#mega_main_menu' . $location_class . ' { min-height:' . mmpm_get_option($location_name . '_first_level_item_height') . 'px; } #mega_main_menu' . $location_class . ' > .menu_holder > .menu_inner > .nav_logo > .logo_link, #mega_main_menu' . $location_class . ' > .menu_holder > .menu_inner > .nav_logo > .mobile_toggle, #mega_main_menu' . $location_class . ' > .menu_holder > .menu_inner > ul > li > .item_link, #mega_main_menu' . $location_class . ' > .menu_holder > .menu_inner > ul > li > .item_link > span, #mega_main_menu' . $location_class . ' > .menu_holder > .menu_inner > ul > li.nav_search_box, #mega_main_menu' . $location_class . '.icons-left > .menu_holder > .menu_inner > ul > li > .item_link > i, #mega_main_menu' . $location_class . '.icons-right > .menu_holder > .menu_inner > ul > li > .item_link > i, #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link.disable_icon > span, #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link.menu_item_without_text > i { height:' . mmpm_get_option($location_name . '_first_level_item_height') . 'px; line-height:' . mmpm_get_option($location_name . '_first_level_item_height') . 'px; } #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link > i, #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link > span { height:' . $mmpm_theme_options[$location_name . '_first_level_item_height'] / 2 . 'px; line-height:' . $mmpm_theme_options[$location_name . '_first_level_item_height'] / 3 . 'px; } #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link > i { padding-top:' . $mmpm_theme_options[$location_name . '_first_level_item_height'] / 3 / 2 . 'px; } #mega_main_menu' . $location_class . '.icons-top > .menu_holder > .menu_inner > ul > li > .item_link > span { padding-bottom:' . $mmpm_theme_options[$location_name . '_first_level_item_height'] / 3 / 2 . 'px; }
<?php /** * @package MegaMain * @subpackage MegaMain * @since mm 1.0 */ if (is_admin()) { $menu_locations = get_nav_menu_locations(); $nav_menu_selected_id = isset($_REQUEST['menu']) ? (int) $_REQUEST['menu'] : (get_user_option('nav_menu_recently_edited') != false ? absint(get_user_option('nav_menu_recently_edited')) : 0); $current_menu_location = array_search($nav_menu_selected_id, $menu_locations); $self_current_menu_location = str_replace(' ', '-', $current_menu_location); $mega_menu_locations = mmpm_get_option('mega_menu_locations'); if (is_array($mega_menu_locations) && (in_array($self_current_menu_location, $mega_menu_locations) || in_array('mega_main_sidebar_menu', $mega_menu_locations)) || is_array(mmpm_get_option('indefinite_location_mode')) && in_array('true', mmpm_get_option('indefinite_location_mode'))) { include_once 'menu_options_array.php'; include_once 'backend_walker.php'; } } else { include_once 'frontend_walker.php'; include_once 'handler.php'; }