function nl_box_builder() { require_once NB_DIR . '/functions.php'; if (!isset($_POST['box_id'])) { die('data is missing'); } $box_id = addslashes($_POST['box_id']); // get term and unserialize contents $box = get_term($box_id, 'nb_boxes'); $data = empty($box->description) ? '' : unserialize(nb_fix_serialization($box->description)); // eventually fix serialization errors if (!is_array($data)) { $data = array('src' => array(), 'settings' => array()); } ?> <form class="form-wrap" id="nb_box_opts"> <div class="postbox"> <h3 class="hndle"><?php _e('News Sources', 'nb_ml'); ?> </h3> <div class="inside"> <div class="lcwp_mainbox_meta"> <div class="nb_add_src"> <?php _e('Add new source', 'nb_ml'); ?> <select class="lcweb-chosen" data-placeholder="Select a source" tabindex="2"> <?php foreach (nb_news_sources() as $k => $v) { echo '<option value="' . $k . '">' . $v . '</option>'; } ?> </select> <input type="button" class="button-secondary" value="<?php _e('Add', 'nb_ml'); ?> " /><span></span> </div> <div class="nb_sources"> <?php // saved sources foreach ($data['src'] as $src) { $cpt_src = strpos($src['src_type'], '|||') !== false ? 'nb_cpt_src' : ''; echo ' <div class="nb_type_block nb_' . $src['src_type'] . '_src ' . $cpt_src . '"> <h4> ' . nb_news_sources($src['src_type']) . ' <div class="nb_cmd"><span class="lcwp_del_row"></span></div> </h4>'; echo nb_src_form_block($src) . '<div class="mgom_btm_border_fix"></div></div>'; } ?> </div> </div> </div> </div> <br/> <div class="postbox" id="nb_box_settings"> <h3 class="hndle"><?php _e('Settings', 'nb_ml'); ?> </h3> <div class="inside"> <div class="lcwp_mainbox_meta"> <div class="nb_type_block"> <h4><?php _e('Initial mode', 'nb_ml'); ?> </h4> <?php $fields = array('max_news', 'news_per_time', 'height', 'layout', 'boxed_news', 'horiz_img_mode', 'buttons_position', 'btn_over_img', 'show_src_logo', 'hide_elements', 'horiz_img_h', 'vert_img_w', 'title_behavior', 'img_behavior', 'date_format', 'elapsed_time', 'read_more_btn', 'read_more_btn_txt'); foreach ($fields as $field) { $val = isset($data['settings'][$field]) ? $data['settings'][$field] : ''; echo nb_fields_builder($field, $val); } ?> <div class="mgom_btm_border_fix"></div> </div> <div class="nb_type_block"> <h4><?php _e('Expanded mode', 'nb_ml'); ?> </h4> <?php //$fields = array('expandable_news', 'scroll_exp_elem', 'exp_main_img_pos', 'manage_exp_images', 'exp_img_w', 'exp_img_h'); $fields = array('expandable_news', 'scroll_exp_elem', 'manage_exp_images'); foreach ($fields as $field) { $val = isset($data['settings'][$field]) ? $data['settings'][$field] : ''; echo nb_fields_builder($field, $val); } ?> <div class="mgom_btm_border_fix"></div> </div> <div class="nb_type_block"> <h4><?php _e('Navigation / slideshow', 'nb_ml'); ?> </h4> <?php $fields = array('nav_arrows', 'carousel', 'autoplay', 'animation_time', 'slideshow_time', 'pause_on_hover', 'slide_all', 'autop_after_exp'); foreach ($fields as $field) { $val = isset($data['settings'][$field]) ? $data['settings'][$field] : ''; echo nb_fields_builder($field, $val); } ?> <div class="mgom_btm_border_fix"></div> </div> </div> </div> </div> </form> <?php die; }
function nb_src_form_block($data) { $vals = array('src_val' => '', 'author' => '', 'hide_elements' => '', 'link_target' => '', 'exp_img_pos' => '', 'exp_img_w' => '', 'exp_img_h' => 250, 'self_s_link' => '', 'strip_tags' => '', 'remove_tags' => ''); // override defaults foreach ($data as $i => $v) { $vals[$i] = $v; } // source value if ($data['src_type'] == 'wp_cat') { $src_val = ' <label>' . __('Posts category', 'nb_ml') . '</label> <select name="src_val" class="lcweb-chosen" data-placeholder="' . __('Select a category', 'nb_ml') . '" style="width: 90%; max-width: 400px;"> <option value="">' . __('All', 'nb_ml') . '</option>'; foreach (get_categories() as $cat) { $cat->term_id == $vals['src_val'] ? $sel = 'selected="selected"' : ($sel = ''); $src_val .= '<option value="' . $cat->term_id . '" ' . $sel . '>' . $cat->name . '</option>'; } $src_val .= '</select>'; } else { if ($data['src_type'] == 'qn_cat') { $src_val = ' <label>' . __('News category', 'nb_ml') . '</label> <select name="src_val" class="lcweb-chosen" data-placeholder="' . __('Select a category', 'nb_ml') . '" style="width: 90%; max-width: 400px;"> <option value="">' . __('All', 'nb_ml') . '</option>'; $cats = get_terms('nb_news_cat', 'orderby=name&hide_empty=0'); foreach ($cats as $cat) { $sel = $cat->term_id == $vals['src_val'] ? 'selected="selected"' : ''; $src_val .= '<option value="' . $cat->term_id . '" ' . $sel . '>' . $cat->name . '</option>'; } $src_val .= '</select>'; } else { if ($data['src_type'] == 'woo_cat') { $src_val = ' <label>' . __('Products category', 'nb_ml') . '</label> <select name="src_val" class="lcweb-chosen" data-placeholder="' . __('Select a category', 'nb_ml') . '" style="width: 90%; max-width: 400px;"> <option value="">' . __('All', 'nb_ml') . '</option>'; if (nb_woocomm_active()) { $cats = get_terms('product_cat', 'orderby=name&hide_empty=0'); foreach ($cats as $cat) { $sel = $cat->term_id == $vals['src_val'] ? 'selected="selected"' : ''; $src_val .= '<option value="' . $cat->term_id . '" ' . $sel . '>' . $cat->name . '</option>'; } } $src_val .= '</select>'; } else { if (strpos($data['src_type'], '|||') !== false) { // custom post type + taxonomy $arr = explode('|||', $data['src_type']); $src_val = ' <label>' . nb_cptTax_to_cpt_name($data['src_type']) . '</label> <select name="src_val" class="lcweb-chosen" data-placeholder="' . __('Select a term', 'nb_ml') . '" style="width: 90%; max-width: 400px;"> <option value="">' . __('All', 'nb_ml') . '</option>'; $cats = get_terms($arr[1], 'orderby=name&hide_empty=0'); foreach ($cats as $cat) { $sel = $cat->term_id == $vals['src_val'] ? 'selected="selected"' : ''; $src_val .= '<option value="' . $cat->term_id . '" ' . $sel . '>' . $cat->name . '</option>'; } $src_val .= '</select>'; } else { // source helper switch ($data['src_type']) { case 'rss': $label = __("RSS feed URL", 'nb_ml'); break; case 'facebook': $label = __('Facebook page ID', 'nb_ml') . ' <a href="http://findmyfacebookid.com/" target="_blank">(' . __('get it', 'nb_ml') . ')</a>'; break; case 'google': $label = __('Profile URL', 'nb_ml'); break; case 'twitter': $label = __('Profile ID (without "@")', 'nb_ml'); break; case 'youtube': $label = __('Profile ID (contained in profile URL)', 'nb_ml'); break; case 'pinterest': $label = __("User's board URL", 'nb_ml'); break; case 'soundcloud': $label = __("User's page URL", 'nb_ml'); break; case 'tumblr': $label = __("Tumblr's blog URL", 'nb_ml'); break; } $src_val = ' <label>' . $label . '</label> <input name="src_val" type="text" value="' . nb_sanitize_input($vals['src_val']) . '" />'; } } } } $code = ' <div class="nb_full_field">' . $src_val . '</div> <input name="src_type" type="hidden" value="' . $data['src_type'] . '" />'; $common_fields = array('news_offset', 'author', 'src_hide_elements', 'link_target', 'exp_img_pos', 'exp_img_w', 'exp_img_h', 'self_s_link', 'strip_tags', 'remove_tags'); foreach ($common_fields as $field) { $val = isset($vals[$field]) ? $vals[$field] : ''; $code .= nb_fields_builder($field, $val); } return $code; }