function addComment() { global $wpdb; $Validation = new ThemeValidation(); $response = array('error' => 0, 'info' => null, 'changeURL' => ''); $data = array('author' => null, 'email' => null, 'url' => null, 'comment' => null, 'comment_post_ID' => 0, 'comment_parent' => 0); foreach ($data as $index => $value) { if (array_key_exists($index, $_POST)) { $data[$index] = $_POST[$index]; } } if (!is_user_logged_in()) { if ($Validation->isEmpty($data['author']) && get_option('require_name_email') == 1) { $response['error'] = 1; $response['info'][] = array('fieldId' => 'author', 'message' => esc_html__('Please enter your name.', THEME_DOMAIN)); } if (!$Validation->isEmailAddress($data['email']) && get_option('require_name_email') == 1) { $response['error'] = 1; $response['info'][] = array('fieldId' => 'email', 'message' => esc_html__('Please enter valid e-mail address.', THEME_DOMAIN)); } if (!$Validation->isURL($data['url'], true)) { $response['error'] = 1; $response['info'][] = array('fieldId' => 'url', 'message' => esc_html__('Please enter valid URL address.', THEME_DOMAIN)); } } if ($Validation->isEmpty($data['comment'])) { $response['error'] = 1; $response['info'][] = array('fieldId' => 'comment', 'message' => esc_html__('Please enter your message.', THEME_DOMAIN)); } if ($response['error'] == 1) { $this->createResponse($response); } $data = ThemeHelper::stripslashesPOST($data); $insertData = array('comment_post_ID' => (int) $data['comment_post_ID'], 'comment_content' => $data['comment'], 'comment_parent' => (int) $data['comment_parent'], 'comment_date' => current_time('mysql'), 'comment_approved' => $this->comment_moderation); if (!is_user_logged_in()) { $insertData['comment_author'] = $data['author']; $insertData['comment_author_url'] = ThemeHelper::addProtocolName($data['url']); $insertData['comment_author_email'] = $data['email']; } else { $user = wp_get_current_user(); $insertData['comment_author'] = $user->display_name; $insertData['comment_author_email'] = $user->user_email; } $commentId = wp_insert_comment($insertData); if ($commentId) { query_posts('p=' . (int) $data['comment_post_ID'] . '&post_type=post'); if (have_posts()) { the_post(); if ((int) $data['comment_parent'] == 0 || $this->thread_comments == 0) { $query = 'select count(*) as count from ' . $wpdb->comments . ' where comment_approved=1 and comment_post_ID=' . (int) get_the_ID() . ($this->thread_comments == 1 ? ' and comment_parent=0' : null); $parent = $wpdb->get_row($query); if ($this->comments_per_page > 0) { $_GET['cpage'] = ceil($parent->count / $this->comments_per_page); } else { $_GET['cpage'] = 1; } $response['changeURL'] = '#cpage-' . $_GET['cpage']; } else { $_GET['cpage'] = (int) $_POST['cpage']; } $response['cpage'] = (int) $_GET['cpage']; $response['commentId'] = (int) $commentId; ob_start(); comments_template(); $response['html'] = ob_get_contents(); ob_end_clean(); } $response['comment_id'] = $commentId; $response['error'] = 0; $response['info'][] = array('fieldId' => 'submit', 'message' => esc_html__('Your comment has been added.', THEME_DOMAIN)); } else { $response['error'] = 1; $response['info'][] = array('fieldId' => 'submit', 'message' => esc_html__('Your comment could not be added.', THEME_DOMAIN)); } $this->createResponse($response); }
function create() { global $fable_parentPost; $attribute = array(); $attribute['menu_id'] = 0; $menu = wp_get_nav_menus(); $menuLocation = get_nav_menu_locations(); $locationId = 'menu_top'; $Validation = new ThemeValidation(); if (isset($menuLocation[$locationId])) { foreach ($menu as $m) { if ($m->term_id == $menuLocation[$locationId]) { $attribute['menu_id'] = $m->term_id; } } } if ($attribute['menu_id'] == 0) { if (ThemeOption::getGlobalOption($fable_parentPost->post, 'menu_top') == 0) { return; } } if ($attribute['menu_id'] == 0) { $attribute['menu_id'] = ThemeOption::getGlobalOption($fable_parentPost->post, 'menu_top'); } $attribute['logo_src'] = ThemeOption::getOption('menu_logo_src'); $attribute['responsive_mode'] = ThemeOption::getOption('menu_responsive_mode'); $attribute['sticky_enable'] = ThemeOption::getOption('menu_sticky_enable'); $attribute['hide_scroll_enable'] = ThemeOption::getOption('menu_hide_scroll_enable'); $attribute['menu_animation_enable'] = ThemeOption::getOption('menu_animation_enable'); $attribute['menu_animation_speed_open'] = ThemeOption::getOption('menu_animation_speed_open'); $attribute['menu_animation_speed_close'] = ThemeOption::getOption('menu_animation_speed_close'); $attribute['menu_animation_delay'] = ThemeOption::getOption('menu_animation_delay'); $attribute['scroll_animation_enable'] = ThemeOption::getOption('menu_scroll_animation_enable'); $attribute['scroll_animation_speed'] = ThemeOption::getOption('menu_scroll_animation_speed'); $attribute['scroll_animation_easing'] = ThemeOption::getOption('menu_scroll_animation_easing'); $attribute['css_class'] = 'pb'; if (!class_exists('PBComponentMenu')) { $html = null; $logoHTML = null; $option = array(); $key = array('responsive_mode', 'sticky_enable', 'hide_scroll_enable', 'menu_animation_enable', 'menu_animation_speed_open', 'menu_animation_speed_close', 'menu_animation_delay', 'scroll_animation_enable', 'scroll_animation_speed', 'scroll_animation_easing'); foreach ($key as $value) { $option[$value] = $attribute[$value]; } $option['responsive_menu_id'] = ThemeHelper::createId('pb_menu_responsive'); $option['responsive_menu_label'] = __('Menu'); $id = ThemeHelper::createId('pb_menu'); $classLogo = array('pb-logo'); $classMenu = array('pb-menu-default'); $classMenuResponsive = array('pb-menu-responsive'); $class = array('pb-menu', $attribute['css_class']); $menuAttribute = array('menu' => $attribute['menu_id'], 'walker' => new ThemeMenuWalker(), 'menu_class' => 'sf-menu pb-reset-list pb-clear-fix', 'container' => '', 'container_class' => '', 'echo' => 0); $menuResponsiveAttribute = array('id' => $option['responsive_menu_id'], 'menu' => $attribute['menu_id'], 'walker' => new ThemeMenuResponsiveWalker(), 'menu_class' => 'pb-clear-fix', 'container' => '', 'container_class' => '', 'echo' => 0, 'items_wrap' => '<div id="%1$s" class="%2$s"><div id="' . $option['responsive_menu_id'] . '"><ul>%3$s</ul></div></div>'); if ($Validation->isURL($attribute['logo_src'])) { $logoHTML = ' <a href="' . get_home_url() . '"> <img src="' . esc_attr($attribute['logo_src']) . '" alt=""/> </a> '; } $html = ' <div' . ThemeHelper::createClassAttribute($class) . ' id="' . $id . '"> <div class="pb-main pb-clear-fix"> <div' . ThemeHelper::createClassAttribute($classLogo) . '> ' . $logoHTML . ' </div> <div' . ThemeHelper::createClassAttribute($classMenu) . '> ' . wp_nav_menu($menuAttribute) . ' </div> <div' . ThemeHelper::createClassAttribute($classMenuResponsive) . '> ' . wp_nav_menu($menuResponsiveAttribute) . ' </div> </div> </div> <div class="pb-script-tag"> <script type="text/javascript"> jQuery(document).ready(function($) { $(\'#' . $id . '\').menu(' . json_encode($option) . '); }); </script> </div> '; return $html; } else { $attributeString = null; foreach ($attribute as $index => $value) { $attributeString .= ' ' . $index . '="' . $value . '"'; } $shortcode = '[' . PLUGIN_PAGE_BUILDER_SHORTCODE_PREFIX . 'menu' . $attributeString . ']'; echo do_shortcode($shortcode); } }