/** * Displays the store lists * * @since 2.4 * * @param array $atts * * @return string */ function store_listing($atts) { global $post; /** * Filter return the number of store listing number per page. * * @since 2.2 * * @param array */ $attr = shortcode_atts(apply_filters('dokan_store_listing_per_page', array('per_page' => 10)), $atts); $paged = max(1, get_query_var('paged')); $limit = $attr['per_page']; $offset = ($paged - 1) * $limit; $sellers = dokan_get_sellers($limit, $offset); ob_start(); if ($sellers['users']) { ?> <ul class="dokan-seller-wrap"> <?php foreach ($sellers['users'] as $seller) { $store_info = dokan_get_store_info($seller->ID); $banner_id = isset($store_info['banner']) ? $store_info['banner'] : 0; $store_name = isset($store_info['store_name']) ? esc_html($store_info['store_name']) : __('N/A', 'dokan'); $store_url = dokan_get_store_url($seller->ID); ?> <li class="dokan-single-seller"> <div class="dokan-store-thumbnail"> <a href="<?php echo $store_url; ?> "> <?php if ($banner_id) { $banner_url = wp_get_attachment_image_src($banner_id, 'medium'); ?> <img class="dokan-store-img" src="<?php echo esc_url($banner_url[0]); ?> " alt="<?php echo esc_attr($store_name); ?> "> <?php } else { ?> <img class="dokan-store-img" src="<?php echo dokan_get_no_seller_image(); ?> " alt="<?php _e('No Image', 'dokan'); ?> "> <?php } ?> </a> <div class="dokan-store-caption"> <h3><a href="<?php echo $store_url; ?> "><?php echo $store_name; ?> </a></h3> <address> <?php if (isset($store_info['address']) && !empty($store_info['address'])) { echo dokan_get_seller_address($seller->ID); } ?> <?php if (isset($store_info['phone']) && !empty($store_info['phone'])) { ?> <br> <abbr title="<?php _e('Phone Number', 'dokan'); ?> "><?php _e('P:', 'dokan'); ?> </abbr> <?php echo esc_html($store_info['phone']); ?> <?php } ?> </address> <p><a class="dokan-btn dokan-btn-theme" href="<?php echo $store_url; ?> "><?php _e('Visit Store', 'dokan'); ?> </a></p> </div> <!-- .caption --> </div> <!-- .thumbnail --> </li> <!-- .single-seller --> <?php } ?> </ul> <!-- .dokan-seller-wrap --> <?php $user_count = $sellers['count']; $num_of_pages = ceil($user_count / $limit); if ($num_of_pages > 1) { echo '<div class="pagination-container clearfix">'; $page_links = paginate_links(array('current' => $paged, 'total' => $num_of_pages, 'base' => str_replace($post->ID, '%#%', esc_url(get_pagenum_link($post->ID))), 'type' => 'array', 'prev_text' => __('← Previous', 'dokan'), 'next_text' => __('Next →', 'dokan'))); if ($page_links) { $pagination_links = '<div class="pagination-wrap">'; $pagination_links .= '<ul class="pagination"><li>'; $pagination_links .= join("</li>\n\t<li>", $page_links); $pagination_links .= "</li>\n</ul>\n"; $pagination_links .= '</div>'; echo $pagination_links; } echo '</div>'; } ?> <?php } else { ?> <p class="dokan-error"><?php _e('No seller found!', 'dokan'); ?> </p> <?php } $content = ob_get_clean(); return apply_filters('dokan_seller_listing', $content, $attr); }
/** * Prints seller info in product single page * * @global WC_Product $product * @param type $val */ function dokan_product_seller_tab($val) { global $product; $author = get_user_by('id', $product->post->post_author); $store_info = dokan_get_store_info($author->ID); dokan_get_template_part('global/product-tab', '', array('author' => $author, 'store_info' => $store_info)); }
/** * Displaying Prodcuts * * Does prepare the data for displaying the products in the table. */ function display_newsletter() { $data = array(); $prefix = FARMTOYOU_META_PREFIX; //if search is call then pass searching value to function for displaying searching values $args = array('post_type' => FARMTOYOU_NEWSLETTER_POST_TYPE, 'post_status' => 'any', 'posts_per_page' => '-1'); //get newsletter data from database $all_newsletter = get_posts($args); foreach ($all_newsletter as $key => $value) { $seller_id = get_post_meta($value->ID, $prefix . 'post_author', true); $store_info = dokan_get_store_info($seller_id); $store_name = isset($store_info['store_name']) ? esc_html($store_info['store_name']) : __('N/A', 'dokan'); $user_id = get_post_meta($value->ID, $prefix . 'curr_user_id', true); $user_info = get_userdata($user_id); $first_name = $user_info->first_name; $last_name = $user_info->last_name; $data[$key]['ID'] = isset($value->ID) ? $value->ID : ''; $data[$key]['post_author'] = $store_name; $data[$key]['post_email'] = get_post_meta($value->ID, $prefix . 'post_title', true); $data[$key]['user_name'] = $first_name . " " . $last_name; $data[$key]['post_status'] = isset($value->post_status) && $value->post_status == 'publish' ? 'Active' : 'Inactive'; $data[$key]['post_date'] = isset($value->post_date) ? $value->post_date : ''; } return $data; }
/** * Upgrade store meta for sellers * and replace old address meta with new address meta * * @since 2.3 * * @return void */ function upgrade_store_meta_23() { $query = new WP_User_Query(array('role' => 'seller')); $sellers = $query->get_results(); $default_settings = array('store_name' => '', 'location' => '', 'find_address' => '', 'banner' => '', 'phone' => '', 'show_email' => '', 'gravatar' => '', 'payment' => array(), 'social' => array()); foreach ($sellers as $seller) { $current_settings = dokan_get_store_info($seller->ID); $current_settings = wp_parse_args($current_settings, $default_settings); $old_address = $current_settings['address']; $new_address = array('street_1' => $old_address, 'street_2' => '', 'city' => '', 'zip' => '', 'country' => '', 'state' => ''); $current_settings['address'] = $new_address; update_user_meta($seller->ID, 'dokan_profile_settings', $current_settings); } }
function add_checkout_options() { global $woocommerce; $vendor_ids = array(); foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) { if (!in_array($cart_item['data']->post->post_author, $vendor_ids)) { $vendor_ids[] = $cart_item['data']->post->post_author; } } ?> <div class="your-order"> <?php foreach ($vendor_ids as $vendor_id) { $store_settings = dokan_get_store_info($vendor_id); $shipping_charge = get_user_meta($vendor_id, 'dokan_enable_seller_shipping', true); $seller_shipping_charge = get_user_meta($vendor_id, 'dokan_seller_shipping_charge', true); $currency_symbol = get_woocommerce_currency_symbol(); ?> <span class="order-title"><?php echo $store_settings['store_name']; ?> </span> <div class="order-raw"> <input type="radio" name="dokan_product_shipping_choice[<?php echo $vendor_id; ?> ]" class="dokan_product_shipping_choice" data-id="<?php echo $vendor_id; ?> " value="dokan_product_pick_at_farm"> <label>Pick up at the farm (<?php echo $store_settings['address']; ?> )</label> <?php if ($shipping_charge == "yes") { ?> <input type="radio" name="dokan_product_shipping_choice[<?php echo $vendor_id; ?> ]" class="dokan_product_shipping_choice" data-id="<?php echo $vendor_id; ?> " value="dokan_product_shipping"> <label>Shipping (<?php echo $currency_symbol . " " . $seller_shipping_charge; ?> )</label> <?php } ?> </div> <?php } ?> </div> <?php }
/** * Injects seller name on checkout page * * @param array $item_data * @param array $cart_item * @return array */ function seller_info_checkout($item_data, $cart_item) { $info = dokan_get_store_info($cart_item['data']->post->post_author); $seller = sprintf(__('<strong>Seller:</strong> %s', 'dokan'), $info['store_name']); $data = $item_data . $seller; return apply_filters('dokan_seller_info_checkout', $data, $info, $item_data, $cart_item); }
/** * Displaying Prodcuts * * Does prepare the data for displaying the products in the table. */ function display_seller_review() { $data = array(); $prefix = FARMTOYOU_META_PREFIX; //if search is call then pass searching value to function for displaying searching values $args = array('post_type' => FARMTOYOU_SELLER_REVIEW_POST_TYPE, 'post_status' => 'any', 'posts_per_page' => '-1'); //get seller_review data from database $all_seller_review = get_posts($args); foreach ($all_seller_review as $key => $value) { $seller_id = get_post_meta($value->ID, $prefix . 'seller_id', true); $store_info = dokan_get_store_info($seller_id); $store_name = isset($store_info['store_name']) ? esc_html($store_info['store_name']) : __('N/A', 'dokan'); $curr_user_id = get_post_meta($value->ID, $prefix . 'current_user_id', true); $user_info = get_userdata($curr_user_id); $first_name = $user_info->first_name; $last_name = $user_info->last_name; $user_email = $user_info->user_email; $data[$key]['ID'] = isset($value->ID) ? $value->ID : ''; $data[$key]['seller_store'] = $store_name; $data[$key]['curr_user_name'] = $first_name . " " . $last_name; $data[$key]['curr_user_email'] = $user_email; $data[$key]['user_rating'] = get_post_meta($value->ID, $prefix . 'seller_rating', true); $data[$key]['user_comment'] = get_post_meta($value->ID, $prefix . 'user_comment', true); $data[$key]['post_status'] = isset($value->post_status) ? $value->post_status : ''; $data[$key]['post_date'] = isset($value->post_date) ? $value->post_date : ''; } return $data; }
/** * Outputs the HTML for this widget. * * @param array An array of standard parameters for widgets in this theme * @param array An array of settings for this widget instance * @return void Echoes it's output **/ function widget($args, $instance) { if (!dokan_is_store_page()) { return; } extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $seller_id = (int) get_query_var('author'); $store_info = dokan_get_store_info($seller_id); echo $before_widget; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } ?> <form id="dokan-form-contact-seller" action="" method="post" class="seller-form clearfix"> <div class="ajax-response"></div> <ul> <li class="form-group"> <input type="text" name="name" value="" placeholder="<?php esc_attr_e('Your Name', 'dokan'); ?> " class="form-control" minlength="5" required="required"> </li> <li class="form-group"> <input type="email" name="email" value="" placeholder="<?php esc_attr_e('*****@*****.**', 'dokan'); ?> " class="form-control" required="required"> </li> <li class="form-group"> <textarea name="message" maxlength="1000" cols="25" rows="6" value="" placeholder="<?php esc_attr_e('Type your messsage...', 'dokan'); ?> " class="form-control" required="required"></textarea> </li> </ul> <?php wp_nonce_field('dokan_contact_seller'); ?> <input type="hidden" name="seller_id" value="<?php echo $seller_id; ?> "> <input type="hidden" name="action" value="dokan_contact_seller"> <input type="submit" name="store_message_send" value="<?php esc_attr_e('Send Message', 'dokan'); ?> " class="dokan-right dokan-btn dokan-btn-theme"> </form> <?php echo $after_widget; }
function seller_info_intro() { $store_info = dokan_get_store_info(get_the_author_meta('ID')); $store_intro = $store_info['phone']; ?> <div><?php echo $store_intro; ?> </div> <?php }
function dokan_get_profile_progressbar() { global $current_user; $profile_info = dokan_get_store_info($current_user->ID); $progress = isset($profile_info['profile_completion']['progress']) ? $profile_info['profile_completion']['progress'] : 0; $next_todo = isset($profile_info['profile_completion']['next_todo']) ? $profile_info['profile_completion']['next_todo'] : __('Start with adding a Banner to gain profile progress', 'dokan'); ob_start(); if (strlen(trim($next_todo)) != 0) { dokan_get_template_part('global/profile-progressbar', '', array('pro' => true, 'progress' => $progress, 'next_todo' => $next_todo)); } $output = ob_get_clean(); return $output; }
/** * Load autometically when class initiate * * @since 2.4 * * @uses actions hook * @uses filter hook * * @return void */ public function __construct() { $this->currentuser = get_current_user_id(); $this->profile_info = dokan_get_store_info(get_current_user_id()); add_filter('dokan_get_dashboard_settings_nav', array($this, 'load_settings_menu'), 10); add_filter('dokan_dashboard_settings_heading_title', array($this, 'load_settings_header'), 10, 2); add_filter('dokan_dashboard_settings_helper_text', array($this, 'load_settings_helper_text'), 10, 2); add_action('dokan_ajax_settings_response', array($this, 'add_progressbar_in_settings_save_response'), 10); add_action('dokan_settings_load_ajax_response', array($this, 'render_pro_settings_load_progressbar'), 25); add_action('dokan_settings_render_profile_progressbar', array($this, 'load_settings_progressbar'), 10, 2); add_action('dokan_settings_content_area_header', array($this, 'render_shipping_status_message'), 25); add_action('dokan_render_settings_content', array($this, 'load_settings_content'), 10); }
/** * Outputs the HTML for this widget. * * @param array An array of standard parameters for widgets in this theme * @param array An array of settings for this widget instance * * @return void Echoes it's output */ function widget($args, $instance) { if (!dokan_is_store_page()) { return; } extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $store_info = dokan_get_store_info(get_query_var('author')); $map_location = isset($store_info['location']) ? esc_attr($store_info['location']) : ''; echo $before_widget; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } dokan_get_template_part('widgets/store-map', '', array('pro' => true, 'store_info' => $store_info, 'map_location' => $map_location)); echo $after_widget; }
/** * Outputs the HTML for this widget. * * @param array An array of standard parameters for widgets in this theme * @param array An array of settings for this widget instance * * @return void Echoes it's output **/ function widget($args, $instance) { if (!dokan_is_store_page()) { return; } extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $seller_id = (int) get_query_var('author'); $store_info = dokan_get_store_info($seller_id); echo $before_widget; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } dokan_get_template_part('widgets/store-contact-form', '', array('pro' => true, 'seller_id' => $seller_id, 'store_info' => $store_info)); echo $after_widget; }
/** * Outputs the HTML for this widget. * * @param array An array of standard parameters for widgets in this theme * @param array An array of settings for this widget instance * @return void Echoes it's output **/ function widget($args, $instance) { extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $limit = absint($instance['count']) ? absint($instance['count']) : 10; $sellers = dokan_get_feature_sellers($limit); echo $before_widget; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } ?> <ul class="dokan-feature-sellers"> <?php if ($sellers) { foreach ($sellers as $key => $seller) { $store_info = dokan_get_store_info($seller->ID); $rating = dokan_get_seller_rating($seller->ID); $display_rating = $rating['rating']; if (!$rating['count']) { $display_rating = __('No ratings found yet!', 'dokan'); } ?> <li> <a href="<?php echo dokan_get_store_url($seller->ID); ?> "> <?php echo esc_html($store_info['store_name']); ?> </a><br /> <i class='fa fa-star'></i> <?php echo $display_rating; ?> </li> <?php } } ?> </ul> <?php echo $after_widget; }
/** * Outputs the HTML for this widget. * * @param array An array of standard parameters for widgets in this theme * @param array An array of settings for this widget instance * @return void Echoes it's output **/ function widget($args, $instance) { if (!dokan_is_store_page()) { return; } extract($args, EXTR_SKIP); $title = apply_filters('widget_title', $instance['title']); $store_info = dokan_get_store_info(get_query_var('author')); $map_location = isset($store_info['location']) ? esc_attr($store_info['location']) : ''; echo $before_widget; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } ?> <div class="location-container"> <?php if (!empty($map_location)) { ?> <div id="dokan-store-location"></div> <script type="text/javascript"> jQuery(function($) { <?php $locations = explode(',', $map_location); $def_lat = isset($locations[0]) ? $locations[0] : 90.40714300000002; $def_long = isset($locations[1]) ? $locations[1] : 23.709921; ?> var def_longval = <?php echo $def_long; ?> ; var def_latval = <?php echo $def_lat; ?> ; var curpoint = new google.maps.LatLng(def_latval, def_longval), $map_area = $('#dokan-store-location'); var gmap = new google.maps.Map( $map_area[0], { center: curpoint, zoom: 15, mapTypeId: window.google.maps.MapTypeId.ROADMAP }); var marker = new window.google.maps.Marker({ position: curpoint, map: gmap }); }) </script> <?php } ?> </div> <?php echo $after_widget; }
/** * Announcement metabox callback function * * @param integer $post_id * * @return void */ function meta_boxes_cb($post_id) { global $post; $user_search = new WP_User_Query(array('role' => 'seller')); $sellers = $user_search->get_results(); $announcement_type = get_post_meta($post->ID, '_announcement_type', true); $announcement_users = get_post_meta($post->ID, '_announcement_selected_user', true); $announcement_sellers = $announcement_users ? $announcement_users : array(); ?> <table class="form-table dokan-announcement-meta-wrap-table"> <tr> <th><?php _e('Send Announcement To', 'dokan'); ?> </th> <td> <select name="dokan_announcement_assign_type" id="dokan_announcement_assign_type" style="width:60%"> <?php foreach ($this->assign_type as $key => $type) { ?> <option value="<?php echo $key; ?> " <?php selected($announcement_type, $key); ?> ><?php echo $type; ?> </option> <?php } ?> </select> </td> </tr> <tr class="selected_seller_field"> <th><?php _e('Select Sellers', 'dokan'); ?> </th> <td> <select name="dokan_announcement_assign_seller[]" data-placeholder= '<?php echo __('Select Sellers...', 'dokan'); ?> ' id="dokan_announcement_assign_seller" multiple="multiple"> <option></option> <?php foreach ($sellers as $user) { $info = dokan_get_store_info($user->ID); if (isset($info['store_name'])) { ?> <option <?php echo in_array($user->ID, $announcement_sellers) ? 'selected="selected"' : ''; ?> value='<?php echo $user->ID; ?> '><?php echo esc_html($info['store_name']); ?> </option> <?php } ?> <?php } ?> </select> </td> </tr> </table> <?php wp_nonce_field('dokan_announcement_meta_action', 'dokan_announcement_meta_action_nonce'); ?> <script> (function($){ $(document).ready( function() { $('#dokan_announcement_assign_seller').chosen( { width: '60%' }); $('table.dokan-announcement-meta-wrap-table').on( 'change', 'select#dokan_announcement_assign_type', function(){ var self = $(this); if ( self.val() == 'selected_seller' ) { $( 'tr.selected_seller_field' ).show(); } else { $( 'tr.selected_seller_field' ).hide(); } }); $('select#dokan_announcement_assign_type').trigger('change') }); })(jQuery); </script> <style> .chosen-choices li.search-field input[type="text"] { height: 23px !important; } tr.selected_seller_field{ display: none; } </style> <?php }
<?php /** * Dokan Featured Seller Widget Content Template * * @since 2.4 * * @package dokan */ ?> <ul class="dokan-feature-sellers"> <?php if ($sellers) { foreach ($sellers as $key => $seller) { $store_info = dokan_get_store_info($seller->ID); $rating = dokan_get_seller_rating($seller->ID); $display_rating = $rating['rating']; if (!$rating['count']) { $display_rating = __('No ratings found yet!', 'dokan'); } ?> <li> <a href="<?php echo dokan_get_store_url($seller->ID); ?> "> <?php echo esc_html($store_info['store_name']); ?> </a><br />
/** * Prints seller info in product single page * * @global WC_Product $product * @param type $val */ function dokan_product_seller_tab($val) { global $product; $author = get_user_by('id', $product->post->post_author); $store_info = dokan_get_store_info($author->ID); ?> <h2><?php _e('Seller Information', 'dokan'); ?> </h2> <ul class="list-unstyled"> <?php if (!empty($store_info['store_name'])) { ?> <li class="store-name"> <span><?php _e('Store Name:', 'dokan'); ?> </span> <span class="details"> <?php echo esc_html($store_info['store_name']); ?> </span> </li> <?php } ?> <li class="seller-name"> <span> <?php _e('Seller:', 'dokan'); ?> </span> <span class="details"> <?php printf('<a href="%s">%s</a>', dokan_get_store_url($author->ID), $author->display_name); ?> </span> </li> <?php if (!empty($store_info['address'])) { ?> <li class="store-address"> <span><?php _e('Address:', 'dokan'); ?> </span> <span class="details"> <?php echo esc_html($store_info['address']); ?> </span> </li> <?php } ?> <li class="clearfix"> <?php dokan_get_readable_seller_rating($author->ID); ?> </li> </ul> <?php }
/** * Withdraw listing for admin * * @param string $status * * @return void */ function admin_withdraw_list($status) { $pagenum = isset($_GET['paged']) ? absint($_GET['paged']) : 1; $limit = 20; $offset = ($pagenum - 1) * $limit; $result = $this->get_withdraw_requests('', $this->get_status_code($status), $limit, $offset); ?> <?php if (isset($_GET['message'])) { $message = ''; switch ($_GET['message']) { case 'trashed': $message = __('Requests deleted!', 'dokan'); break; case 'cancelled': $message = __('Requests cancelled!', 'dokan'); break; case 'approved': $message = __('Requests approved!', 'dokan'); break; } if (!empty($message)) { ?> <div class="updated"> <p><strong><?php echo $message; ?> </strong></p> </div> <?php } } ?> <form method="post" action="" id="dokan-admin-withdraw-action"> <?php wp_nonce_field('dokan_withdraw_admin_bulk_action', 'dokan_withdraw_admin_bulk_action_nonce'); ?> <table class="widefat withdraw-table"> <thead> <tr> <th class="check-column"> <input type="checkbox" class="dokan-withdraw-allcheck"> </th> <th><?php _e('User Name', 'dokan'); ?> </th> <th><?php _e('Amount', 'dokan'); ?> </th> <th><?php _e('Method', 'dokan'); ?> </th> <th><?php _e('Method Details', 'dokan'); ?> </th> <th><?php _e('Note', 'dokan'); ?> </th> <th><?php _e('IP', 'dokan'); ?> </th> <th><?php _e('Date', 'dokan'); ?> </th> </tr> </thead> <tfoot> <tr> <th class="check-column"> <input type="checkbox" class="dokan-withdraw-allcheck"> </th> <th><?php _e('User Name', 'dokan'); ?> </th> <th><?php _e('Amount', 'dokan'); ?> </th> <th><?php _e('Method', 'dokan'); ?> </th> <th><?php _e('Method Details', 'dokan'); ?> </th> <th><?php _e('Note', 'dokan'); ?> </th> <th><?php _e('IP', 'dokan'); ?> </th> <th><?php _e('Date', 'dokan'); ?> </th> </tr> </tfoot> <?php if ($result) { $count = 0; foreach ($result as $key => $row) { $user_data = get_userdata($row->user_id); $store_info = dokan_get_store_info($row->user_id); ?> <tr class="<?php echo $count % 2 == 0 ? 'alternate' : 'odd'; ?> "> <th class="check-column"> <input type="checkbox" name="id[<?php echo $row->id; ?> ]" value="<?php echo $row->id; ?> "> <input type="hidden" name="user_id[<?php echo $row->id; ?> ]" value="<?php echo $row->user_id; ?> "> <input type="hidden" name="method[<?php echo $row->id; ?> ]" value="<?php echo esc_attr($row->method); ?> "> <input type="hidden" name="amount[<?php echo $row->id; ?> ]" value="<?php echo esc_attr($row->amount); ?> "> </th> <td> <strong><a href="<?php echo admin_url('user-edit.php?user_id=' . $user_data->ID); ?> "><?php echo $user_data->user_login; ?> </a></strong> <div class="row-actions"> <?php if ($status == 'pending') { ?> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="approve" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Approve', 'dokan'); ?> </a> | </span> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="cancel" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Cancel', 'dokan'); ?> </a></span> <?php } elseif ($status == 'completed') { ?> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="cancel" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Cancel', 'dokan'); ?> </a> | </span> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="pending" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Pending', 'dokan'); ?> </a></span> <?php } elseif ($status == 'cancelled') { ?> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="approve" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Approve', 'dokan'); ?> </a> | </span> <span class="edit"><a href="#" class="dokan-withdraw-action" data-status="pending" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Pending', 'dokan'); ?> </a></span> <?php } ?> <?php if ($result) { ?> <span class="trash"> | <a href="#" class="dokan-withdraw-action" data-status="delete" data-withdraw_id = "<?php echo $row->id; ?> "><?php _e('Delete', 'dokan'); ?> </a></span> <?php } ?> </div> </td> <td><?php echo wc_price($row->amount); ?> </td> <td><?php echo dokan_withdraw_get_method_title($row->method); ?> </td> <td> <?php if ($row->method != 'bank') { if (isset($store_info['payment'][$row->method])) { echo $store_info['payment'][$row->method]['email']; } } elseif ($row->method == 'bank') { echo dokan_get_seller_bank_details($row->user_id); } ?> </td> <td> <div class="dokan-add-note"> <div class="note-display"> <p class="ajax_note"><?php echo $row->note; ?> </p> <div class="row-actions"> <a href="#" class="dokan-note-field"><?php _e('Add note', 'dokan'); ?> </a> </div> </div> <div class="note-form" style="display: none;"> <p><input type="text" class="dokan-note-text" name="note[<?php echo $row->id; ?> ]" value="<?php echo esc_attr($row->note); ?> "></p> <a class="dokan-note-submit button" data-id=<?php echo $row->id; ?> href="#" ><?php _e('Save', 'dokan'); ?> </a> <a href="#" class="dokan-note-cancel"><?php _e('cancel', 'dokan'); ?> </a> </div> </div> </td> <td><?php echo $row->ip; ?> </td> <td><?php echo date_i18n('M j, Y g:ia', strtotime($row->date)); ?> </td> </tr> <?php $count++; } } else { ?> <tr> <td colspan="8"> <?php _e('No result found', 'dokan'); ?> </td> </tr> <?php } ?> </table> <div class="tablenav bottom"> <div class="alignleft actions bulkactions"> <select name="dokan_withdraw_bulk"> <option value="-1" selected="selected"><?php _e('Bulk Actions', 'dokan'); ?> </option> <?php if ($status == 'pending') { ?> <option value="approve"><?php _e('Approve Requests', 'dokan'); ?> </option> <option value="cancel"><?php _e('Mark as Cancelled', 'dokan'); ?> </option> <?php } elseif ($status == 'completed') { ?> <option value="cancel"><?php _e('Mark as Cancelled', 'dokan'); ?> </option> <option value="pending"><?php _e('Mark Pending', 'dokan'); ?> </option> <?php } elseif ($status == 'cancelled') { ?> <option value="approve"><?php _e('Approve Requests', 'dokan'); ?> </option> <option value="pending"><?php _e('Mark Pending', 'dokan'); ?> </option> <?php } ?> <?php if ($result) { ?> <option value="delete"><?php _e('Delete', 'dokan'); ?> </option> <option value="paypal"><?php _e('Download PayPal mass payment file', 'dokan'); ?> </option> <?php } ?> </select> <input type="hidden" name="status_page" value="<?php echo $status; ?> "> <input type="submit" name="" id="doaction2" class="button button-primary" value="<?php esc_attr_e('Apply', 'dokan'); ?> "> </div> <?php if ($result) { $counts = dokan_get_withdraw_count(); $num_of_pages = ceil($counts[$status] / $limit); $page_links = paginate_links(array('base' => add_query_arg('paged', '%#%'), 'format' => '', 'prev_text' => __('«', 'aag'), 'next_text' => __('»', 'aag'), 'total' => $num_of_pages, 'current' => $pagenum)); if ($page_links) { echo '<div class="tablenav-pages">' . $page_links . '</div>'; } } ?> </div> </form> <?php $ajax_url = admin_url('admin-ajax.php'); ?> <style type="text/css"> .withdraw-table { margin-top: 10px; } .withdraw-table td, .withdraw-table th { vertical-align: top; } .custom-spinner { background: url('images/spinner-2x.gif') no-repeat; background-position: 43% 9px; background-size: 20px 20px; opacity: .4; filter: alpha(opacity=40); width: 20px; height: 20px; } </style> <script> (function($){ $(document).ready(function(){ var url = "<?php echo $ajax_url; ?> "; $('#dokan-admin-withdraw-action').on('click', 'a.dokan-withdraw-action', function(e) { e.preventDefault(); var self = $(this); self.closest( 'tr' ).addClass('custom-spinner'); data = { action: 'dokan_withdraw_form_action', formData : $('#dokan-admin-withdraw-action').serialize(), status: self.data('status') , withdraw_id : self.data( 'withdraw_id' ) } $.post(url, data, function( resp ) { if( resp.success ) { self.closest( 'tr' ).removeClass('custom-spinner'); window.location = resp.data.url; } else { self.closest( 'tr' ).removeClass('custom-spinner'); alert( 'Somthig wrong...!!!' ); } }); }); }); })(jQuery) </script> <?php $this->add_note_script(); }
/** * Create a nicely formatted and more specific title element text for output * in head of document, based on current view. * * @since Dokan 1.0.4 * * @param string $title Default title text for current view. * @param string $sep Optional separator. * * @return string The filtered title. */ function wp_title($title, $sep) { global $paged, $page; if (is_feed()) { return $title; } if (dokan_is_store_page()) { $site_title = get_bloginfo('name'); $store_user = get_userdata(get_query_var('author')); $store_info = dokan_get_store_info($store_user->ID); $store_name = esc_html($store_info['store_name']); $title = "{$store_name} {$sep} {$site_title}"; // Add a page number if necessary. if ($paged >= 2 || $page >= 2) { $title = "{$title} {$sep} " . sprintf(__('Page %s', 'dokan'), max($paged, $page)); } return $title; } return $title; }
function setting_field($validate = '') { global $current_user; if (isset($_GET['message'])) { ?> <div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong><?php _e('Your profile has been updated successfully!', 'dokan'); ?> </strong> </div> <?php } $profile_info = dokan_get_store_info($current_user->ID); $banner = isset($profile_info['banner']) ? absint($profile_info['banner']) : 0; $storename = isset($profile_info['store_name']) ? esc_attr($profile_info['store_name']) : ''; $gravatar = isset($profile_info['gravatar']) ? absint($profile_info['gravatar']) : 0; $fb = isset($profile_info['social']['fb']) ? esc_url($profile_info['social']['fb']) : ''; $twitter = isset($profile_info['social']['twitter']) ? esc_url($profile_info['social']['twitter']) : ''; $gplus = isset($profile_info['social']['gplus']) ? esc_url($profile_info['social']['gplus']) : ''; $linkedin = isset($profile_info['social']['linkedin']) ? esc_url($profile_info['social']['linkedin']) : ''; $youtube = isset($profile_info['social']['youtube']) ? esc_url($profile_info['social']['youtube']) : ''; // bank $phone = isset($profile_info['phone']) ? esc_attr($profile_info['phone']) : ''; $show_email = isset($profile_info['show_email']) ? esc_attr($profile_info['show_email']) : 'no'; $address = isset($profile_info['address']) ? esc_textarea($profile_info['address']) : ''; $map_location = isset($profile_info['location']) ? esc_attr($profile_info['location']) : ''; $map_address = isset($profile_info['find_address']) ? esc_attr($profile_info['find_address']) : ''; $dokan_category = isset($profile_info['dokan_category']) ? $profile_info['dokan_category'] : ''; if (is_wp_error($validate)) { $social = $_POST['settings']['social']; $storename = $_POST['dokan_store_name']; $fb = esc_url($social['fb']); $twitter = esc_url($social['twitter']); $gplus = esc_url($social['gplus']); $linkedin = esc_url($social['linkedin']); $youtube = esc_url($social['youtube']); $phone = $_POST['setting_phone']; $address = $_POST['setting_address']; $map_location = $_POST['location']; $map_address = $_POST['find_address']; } ?> <div class="dokan-ajax-response"></div> <form method="post" id="settings-form" action="" class="form-horizontal"> <?php wp_nonce_field('dokan_settings_nonce'); ?> <div class="dokan-banner"> <div class="image-wrap<?php echo $banner ? '' : ' dokan-hide'; ?> "> <?php $banner_url = $banner ? wp_get_attachment_url($banner) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $banner; ?> " name="dokan_banner"> <img class="dokan-banner-img" src="<?php echo esc_url($banner_url); ?> "> <a class="close dokan-remove-banner-image">×</a> </div> <div class="button-area<?php echo $banner ? ' dokan-hide' : ''; ?> "> <i class="fa fa-cloud-upload"></i> <a href="#" class="dokan-banner-drag btn btn-info"><?php _e('Upload banner', 'dokan'); ?> </a> <p class="help-block"><?php _e('(Upload a banner for your store. Banner size is (825x300) pixel. )', 'dokan'); ?> </p> </div> </div> <!-- .dokan-banner --> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_store_name"><?php _e('Store Name', 'dokan'); ?> </label> <div class="col-md-5"> <input id="dokan_store_name" required value="<?php echo $storename; ?> " name="dokan_store_name" placeholder="store name" class="form-control input-md" type="text"> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_gravatar"><?php _e('Profile Picture', 'dokan'); ?> </label> <div class="col-md-5 dokan-gravatar"> <div class="pull-left gravatar-wrap<?php echo $gravatar ? '' : ' dokan-hide'; ?> "> <?php $gravatar_url = $gravatar ? wp_get_attachment_url($gravatar) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $gravatar; ?> " name="dokan_gravatar"> <img class="dokan-gravatar-img" src="<?php echo esc_url($gravatar_url); ?> "> <a class="close dokan-remove-gravatar-image">×</a> </div> <div class="gravatar-button-area<?php echo $gravatar ? ' dokan-hide' : ''; ?> "> <i class="fa fa-cloud-upload"></i> <a href="#" class="dokan-gravatar-drag btn btn-info"><?php _e('Upload Photo', 'dokan'); ?> </a> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][fb]"><?php _e('Social Profile', 'dokan'); ?> </label> <div class="col-md-5"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-facebook-square"></i></span> <input id="settings[social][fb]" value="<?php echo $fb; ?> " name="settings[social][fb]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][plus]"></label> <div class="col-md-5"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-google-plus"></i></span> <input id="settings[social][gplus]" value="<?php echo $gplus; ?> " name="settings[social][gplus]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][twitter]"></label> <div class="col-md-5"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-twitter"></i></span> <input id="settings[social][twitter]" value="<?php echo $twitter; ?> " name="settings[social][twitter]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][linkedin]"></label> <div class="col-md-5"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-linkedin"></i></span> <input id="settings[social][linkedin]" value="<?php echo $linkedin; ?> " name="settings[social][linkedin]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][youtube]"></label> <div class="col-md-5"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-youtube"></i></span> <input id="settings[social][youtube]" value="<?php echo $youtube; ?> " name="settings[social][youtube]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <!-- payment tab --> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_setting"><?php _e('Payment Method', 'dokan'); ?> </label> <div class="col-md-6"> <?php $methods = dokan_withdraw_get_active_methods(); ?> <ul class="nav nav-tabs" style="margin-bottom: 10px;"> <?php $count = 0; foreach ($methods as $method_key) { $method = dokan_withdraw_get_method($method_key); ?> <li<?php echo $count == 0 ? ' class="active"' : ''; ?> ><a href="#dokan-payment-<?php echo $method_key; ?> " data-toggle="tab"><?php echo $method['title']; ?> </a></li> <?php $count++; } ?> </ul> <!-- Tab panes --> <div class="tab-content"> <?php $count = 0; foreach ($methods as $method_key) { $method = dokan_withdraw_get_method($method_key); ?> <div class="tab-pane<?php echo $count == 0 ? ' active' : ''; ?> " id="dokan-payment-<?php echo $method_key; ?> "> <?php if (is_callable($method['callback'])) { call_user_func($method['callback'], $profile_info); } ?> </div> <?php $count++; } ?> </div> <!-- .tab-content --> </div> <!-- .col-md-4 --> </div> <!-- .form-group --> <div class="form-group"> <label class="col-md-3 control-label" for="setting_phone"><?php _e('Phone No', 'dokan'); ?> </label> <div class="col-md-5"> <input id="setting_phone" value="<?php echo $phone; ?> " name="setting_phone" placeholder="+123456.." class="form-control input-md" type="text"> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="setting_phone"><?php _e('Email', 'dokan'); ?> </label> <div class="col-md-5"> <div class="checkbox"> <label> <input type="hidden" name="setting_show_email" value="no"> <input type="checkbox" name="setting_show_email" value="yes"<?php checked($show_email, 'yes'); ?> > <?php _e('Show email address in store', 'dokan'); ?> </label> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="setting_address"><?php _e('Address', 'dokan'); ?> </label> <div class="col-md-5"> <textarea class="form-control" rows="4" id="setting_address" name="setting_address"><?php echo $address; ?> </textarea> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="setting_map"><?php _e('Map', 'dokan'); ?> </label> <div class="col-md-4"> <input id="dokan-map-lat" type="hidden" name="location" value="<?php echo $map_location; ?> " size="30" /> <div class="input-group"> <span class="input-group-btn"> <input id="dokan-map-add" type="text" class="form-control" value="<?php echo $map_address; ?> " name="find_address" placeholder="<?php _e('Type an address to find', 'dokan'); ?> " size="30" /> <a href="#" class="btn btn-default" id="dokan-location-find-btn" type="button"><?php _e('Find Address', 'dokan'); ?> </a> </span> </div><!-- /input-group --> <div class="dokan-google-map" id="dokan-map"></div> </div> <!-- col.md-4 --> </div> <!-- .form-group --> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_setting"></label> <div class="col-md-4 ajax_prev"> <input type="submit" name="dokan_update_profile" class="btn btn-primary" value="<?php esc_attr_e('Update Settings', 'dokan'); ?> "> </div> </div> </form> <script type="text/javascript"> (function($) { $(function() { <?php $locations = explode(',', $map_location); $def_lat = isset($locations[0]) ? $locations[0] : 90.40714300000002; $def_long = isset($locations[1]) ? $locations[1] : 23.709921; ?> var def_zoomval = 12; var def_longval = '<?php echo $def_long; ?> '; var def_latval = '<?php echo $def_lat; ?> '; var curpoint = new google.maps.LatLng(def_latval, def_longval), geocoder = new window.google.maps.Geocoder(), $map_area = $('#dokan-map'), $input_area = $( '#dokan-map-lat' ), $input_add = $( '#dokan-map-add' ), $find_btn = $( '#dokan-location-find-btn' ); autoCompleteAddress(); $find_btn.on('click', function(e) { e.preventDefault(); geocodeAddress( $input_add.val() ); }); var gmap = new google.maps.Map( $map_area[0], { center: curpoint, zoom: def_zoomval, mapTypeId: window.google.maps.MapTypeId.ROADMAP }); var marker = new window.google.maps.Marker({ position: curpoint, map: gmap, draggable: true }); window.google.maps.event.addListener( gmap, 'click', function ( event ) { marker.setPosition( event.latLng ); updatePositionInput( event.latLng ); } ); window.google.maps.event.addListener( marker, 'drag', function ( event ) { updatePositionInput(event.latLng ); } ); function updatePositionInput( latLng ) { $input_area.val( latLng.lat() + ',' + latLng.lng() ); } function updatePositionMarker() { var coord = $input_area.val(), pos, zoom; if ( coord ) { pos = coord.split( ',' ); marker.setPosition( new window.google.maps.LatLng( pos[0], pos[1] ) ); zoom = pos.length > 2 ? parseInt( pos[2], 10 ) : 12; gmap.setCenter( marker.position ); gmap.setZoom( zoom ); } } function geocodeAddress( address ) { geocoder.geocode( {'address': address}, function ( results, status ) { if ( status == window.google.maps.GeocoderStatus.OK ) { updatePositionInput( results[0].geometry.location ); marker.setPosition( results[0].geometry.location ); gmap.setCenter( marker.position ); gmap.setZoom( 15 ); } } ); } function autoCompleteAddress(){ if (!$input_add) return null; $input_add.autocomplete({ source: function(request, response) { // TODO: add 'region' option, to help bias geocoder. geocoder.geocode( {'address': request.term }, function(results, status) { response(jQuery.map(results, function(item) { return { label : item.formatted_address, value : item.formatted_address, latitude : item.geometry.location.lat(), longitude : item.geometry.location.lng() }; })); }); }, select: function(event, ui) { $input_area.val(ui.item.latitude + ',' + ui.item.longitude ); var location = new window.google.maps.LatLng(ui.item.latitude, ui.item.longitude); gmap.setCenter(location); // Drop the Marker setTimeout( function(){ marker.setValues({ position : location, animation : window.google.maps.Animation.DROP }); }, 1500); } }); } }); })(jQuery); </script> <script type="text/javascript"> jQuery(function($){ // $('#setting_category').chosen({ // width: "95%" // }).change(function() { // $("form#settings-form").validate().element("#setting_category"); // }); }) </script> <?php }
/** * Get seller bank details * * @param int $seller_id * @return string */ function dokan_get_seller_bank_details($seller_id) { $info = dokan_get_store_info($seller_id); $payment = $info['payment']['bank']; $details = array(); if (isset($payment['ac_name'])) { $details[] = sprintf(__('Account Name: %s', 'dokan'), $payment['ac_name']); } if (isset($payment['ac_number'])) { $details[] = sprintf(__('Account Number: %s', 'dokan'), $payment['ac_number']); } if (isset($payment['bank_name'])) { $details[] = sprintf(__('Bank Name: %s', 'dokan'), $payment['bank_name']); } if (isset($payment['bank_addr'])) { $details[] = sprintf(__('Address: %s', 'dokan'), $payment['bank_addr']); } if (isset($payment['swift'])) { $details[] = sprintf(__('SWIFT: %s', 'dokan'), $payment['swift']); } return nl2br(implode("\n", $details)); }
<?php $store_user = get_userdata(get_query_var('author')); $store_info = dokan_get_store_info($store_user->ID); $store_tabs = dokan_get_store_tabs($store_user->ID); $social_fields = dokan_get_social_profile_fields(); ?> <div class="profile-frame"> <?php if (isset($store_info['banner']) && !empty($store_info['banner'])) { ?> <style type="text/css"> .profile-frame { background-image: url('<?php echo wp_get_attachment_url($store_info['banner']); ?> '); } </style> <?php } ?> <div class="profile-info-box"> <div class="profile-img"> <?php echo get_avatar($store_user->ID, 80); ?> </div>
function setting_field($validate = '') { global $current_user; require_once 'template-agreement.php'; if (isset($_GET['message'])) { ?> <div class="dokan-alert dokan-alert-success"> <button type="button" class="dokan-close" data-dismiss="alert">×</button> <strong><?php _e('Your profile has been updated successfully!', 'dokan'); ?> </strong> </div> <?php } $profile_info = dokan_get_store_info($current_user->ID); $legal_stat = isset($profile_info['legal_stat']) ? esc_attr($profile_info['legal_stat']) : esc_attr($profile_info['legal_stat']); $firm_name = isset($profile_info['firm_name']) ? esc_attr($profile_info['firm_name']) : esc_attr($profile_info['firm_name']); //Office Address $add_line_1 = isset($profile_info['add_line_1']) ? esc_textarea($profile_info['add_line_1']) : esc_textarea($profile_info['add_line_1']); $add_line_2 = isset($profile_info['add_line_2']) ? esc_textarea($profile_info['add_line_2']) : esc_textarea($profile_info['add_line_2']); $pin_code = isset($profile_info['pin_code']) ? esc_textarea($profile_info['pin_code']) : esc_textarea($profile_info['pin_code']); $state = isset($profile_info['state']) ? esc_textarea($profile_info['state']) : esc_textarea($profile_info['state']); $city = isset($profile_info['city']) ? esc_textarea($profile_info['city']) : esc_textarea($profile_info['city']); $full_address = $address . ', ' . $add_line_2 . ', ' . $city . '-' . $pin_code . ', ' . $state; //Pickup Address $padd_line_1 = isset($profile_info['padd_line_1']) ? esc_textarea($profile_info['padd_line_1']) : esc_textarea($profile_info['padd_line_1']); $padd_line_2 = isset($profile_info['padd_line_2']) ? esc_textarea($profile_info['padd_line_2']) : esc_textarea($profile_info['padd_line_2']); $ppin_code = isset($profile_info['ppin_code']) ? esc_textarea($profile_info['ppin_code']) : esc_textarea($profile_info['ppin_code']); $pstate = isset($profile_info['pstate']) ? esc_textarea($profile_info['pstate']) : esc_textarea($profile_info['pstate']); $pcity = isset($profile_info['pcity']) ? esc_textarea($profile_info['pcity']) : esc_textarea($profile_info['pcity']); $pfull_address = $paddress . ', ' . $padd_line_2 . ', ' . $pcity . '-' . $ppin_code . ', ' . $pstate; $pan_no = isset($profile_info['pan_no']) ? esc_textarea($profile_info['pan_no']) : esc_textarea($profile_info['pan_no']); $vat_no = isset($profile_info['vat_no']) ? esc_textarea($profile_info['vat_no']) : esc_textarea($profile_info['vat_no']); $setting_phone = isset($profile_info['billing_phone']) ? esc_attr($profile_info['billing_phone']) : esc_attr($profile_info['billing_phone']); $bus_cat = isset($profile_info['bus_cat']) ? esc_textarea($profile_info['bus_cat']) : esc_textarea($profile_info['bus_cat']); $plans = isset($profile_info['plans']) ? esc_textarea($profile_info['plans']) : esc_textarea($profile_info['plans']); $full_name = isset($profile_info['full_name']) ? esc_attr($profile_info['full_name']) : esc_attr($profile_info['full_name']); $agreement1 = isset($profile_info['agreement1']) ? esc_attr($profile_info['agreement1']) : 'no'; $mou = isset($profile_info['mou']) ? esc_attr($profile_info['mou']) : 'no'; $toa = isset($profile_info['toa']) ? esc_attr($profile_info['toa']) : esc_attr($profile_info['toa']); $sfp = isset($profile_info['sfp']) ? esc_attr($profile_info['sfp']) : esc_attr($profile_info['sfp']); if ($agreement1 == 'yes') { $disabled = 'readonly'; } $banner = isset($profile_info['banner']) ? absint($profile_info['banner']) : 0; $storename = isset($profile_info['store_name']) ? esc_attr($profile_info['store_name']) : ''; $gravatar = isset($profile_info['gravatar']) ? absint($profile_info['gravatar']) : 0; $fb = isset($profile_info['social']['fb']) ? esc_url($profile_info['social']['fb']) : ''; $twitter = isset($profile_info['social']['twitter']) ? esc_url($profile_info['social']['twitter']) : ''; $gplus = isset($profile_info['social']['gplus']) ? esc_url($profile_info['social']['gplus']) : ''; $linkedin = isset($profile_info['social']['linkedin']) ? esc_url($profile_info['social']['linkedin']) : ''; $youtube = isset($profile_info['social']['youtube']) ? esc_url($profile_info['social']['youtube']) : ''; // bank $show_email = isset($profile_info['show_email']) ? esc_attr($profile_info['show_email']) : 'no'; $map_location = isset($profile_info['location']) ? esc_attr($profile_info['location']) : ''; $map_address = isset($profile_info['find_address']) ? esc_attr($profile_info['find_address']) : ''; $dokan_category = isset($profile_info['dokan_category']) ? $profile_info['dokan_category'] : ''; if (is_wp_error($validate)) { $social = $_POST['settings']['social']; $storename = $_POST['dokan_store_name']; $fb = esc_url($social['fb']); $twitter = esc_url($social['twitter']); $gplus = esc_url($social['gplus']); $linkedin = esc_url($social['linkedin']); $youtube = esc_url($social['youtube']); $phone = $_POST['billing_phone']; $address = $_POST['setting_address']; $map_location = $_POST['location']; $map_address = $_POST['find_address']; } //Custom query //$shipping_postcode = get_user_meta( $current_user->ID, 'billing_city', true ); /*Custom Shortcode */ $billing_company = get_user_meta(get_current_user_id(), 'billing_company', true); $billing_add1 = get_user_meta(get_current_user_id(), 'billing_address_1', true); $billing_add2 = get_user_meta(get_current_user_id(), 'billing_address_2', true); $billing_postcode = get_user_meta(get_current_user_id(), 'billing_postcode', true); $billing_city = get_user_meta(get_current_user_id(), 'billing_city', true); $billing_state = get_user_meta(get_current_user_id(), 'billing_state', true); $shipping_company = get_user_meta(get_current_user_id(), 'shipping_company', true); $shipping_add1 = get_user_meta(get_current_user_id(), 'shipping_address_1', true); $shipping_add2 = get_user_meta(get_current_user_id(), 'shipping_address_2', true); $shipping_postcode = get_user_meta(get_current_user_id(), 'shipping_postcode', true); $shipping_city = get_user_meta(get_current_user_id(), 'shipping_city', true); $shipping_state = get_user_meta(get_current_user_id(), 'shipping_state', true); function agree_add() { return '<span id="agreement_address"><span id="add_line_1_t">' . get_user_meta(get_current_user_id(), 'billing_address_1', true) . '</span>,<span id="add_line_2_t">' . get_user_meta(get_current_user_id(), 'billing_address_2', true) . '</span>,<span>' . get_user_meta(get_current_user_id(), 'billing_city', true) . ',' . get_user_meta(get_current_user_id(), 'billing_state', true) . '</span><span id="pin_code_t">' . get_user_meta(get_current_user_id(), 'billing_postcode', true) . '</span></span>'; } add_shortcode('agreement_address', 'agree_add'); function agree_firm() { $dokan_info = get_user_meta(get_current_user_id(), 'dokan_profile_settings', true); return '<span id="agreement_name">' . get_user_meta(get_current_user_id(), 'billing_company', true) . ' (PAN:' . $dokan_info['pan_no'] . ')</span>'; } add_shortcode('agreement_name', 'agree_firm'); ?> <div class="dokan-ajax-response"></div> <form method="post" id="settings-form" action="" class="dokan-form-horizontal"> <script> jQuery(function($) { $("#firm_name").keyup(function(){ var text = this.value; document.getElementById('agreement_name').innerHTML= text; }); $("#add_line_1").keyup(function(){ var text = this.value; document.getElementById('add_line_1_t').innerHTML= text; }); $("#add_line_2").keyup(function(){ var text = this.value; document.getElementById('add_line_2_t').innerHTML= text; }); $("#pin_code").keyup(function(){ var text = this.value; document.getElementById('pin_code_t').innerHTML= text; }); $("#state").change(function(){ var text = $("#city").val()+','+this.value; $('#agreement_address span:last-child').text(text); }); $("#city").change(function(){ var text = this.value+','+$("#state").val(); $('#agreement_address span:last-child').text(text); }); $("#pan_no").keyup(function(){ var text = $("#firm_name").val()+' (PAN:'+this.value+')'; $('#agreement_name').text(text); }); }); </script> <?php $disable = "readonly"; wp_nonce_field('dokan_settings_nonce'); ?> <div class="step_form_settings"> <h3>Seller Agreement</h3> <section> <div class="row"> <div class="col-md-6"> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="legal_stat"> <?php _e('Legal Status', 'dokan'); ?> <a type="button" class="btn btn-default cust_tool" data-toggle="tooltip" data-placement="bottom" title="Choose Your Business Type">?</a> </label> <div class="col-md-8"> <?php if (!empty($legal_stat) && $agreement1 == 'yes') { ?> <input id="legal_stat" required value="<?php echo $legal_stat; ?> " <?php echo $disable; ?> name="legal_stat" class="form-control input-md" type="text"> <?php } else { ?> <select id="legal_stat" name="legal_stat" class="form-control input-md" required> <option value="Individual">Individual</option> <option value="Partnership Firm">Partnership Firm</option> <option value="Proprietorship Firm">Proprietorship Firm</option> <option value="A Company">A Company</option> </select> <?php } ?> </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="firm_name"> <?php _e('Individual / Firm Name', 'dokan'); ?> <a type="button" class="btn btn-default cust_tool" data-toggle="tooltip" data-placement="bottom" title="Name of your business or Your Name in case of Individual">?</a> </label> <div class="col-md-8"> <input id="firm_name" required value="<?php echo $billing_company; ?> " name="firm_name" placeholder="Firm Name" class="form-control input-md" type="text" <?php echo $billing_company ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="add_line_1"> <?php _e('Office Address', 'dokan'); ?> <a type="button" class="btn btn-default cust_tool" data-toggle="tooltip" data-placement="bottom" title="This will be you office Address.">?</a> </label> <div class="col-md-8"> <input id="add_line_1" required value="<?php echo $billing_add1; ?> " name="add_line_1" placeholder="Address Line 1" class="form-control input-md" type="text" <?php echo $billing_add1 ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="add_line_2"> <?php _e(' ', 'dokan'); ?> </label> <div class="col-md-8"> <input id="add_line_2" required value="<?php echo $billing_add2; ?> " name="add_line_2" placeholder="Address Line 2" class="form-control input-md" type="text" <?php echo $billing_add2 ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="pin_code"> <?php _e('Pin Code', 'dokan'); ?> </label> <div class="col-md-8"> <input id="pin_code" required value="<?php echo $billing_postcode; ?> " name="pin_code" placeholder="Pin Code" class="form-control input-md" type="text" <?php echo $billing_postcode ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="state"> <?php _e('State', 'dokan'); ?> </label> <div class="col-md-8"> <?php $userpro = get_option('userpro_fields'); $states = implode('","', $userpro['billing_state']['options']); $cities = implode('","', $userpro['billing_city']['options']); ?> <?php if ($billing_state == '') { ?> <select id="state" required class="form-control input-md" name="state"> <script language="javascript"> var states = new Array(<?php echo '"' . $states . '"'; ?> ); document.write("<option value='' selected='selected'>Select State:</option>"); for(var hi=0; hi<states.length; hi++) document.write("<option value=\""+states[hi]+"\">"+states[hi]+"</option>"); </script> </select> <?php } else { ?> <input id="state" value="<?php echo $billing_state; ?> " name="state" placeholder="State" class="form-control input-md" type="text" <?php echo $billing_state ? $disable : ''; ?> > <?php } ?> </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="city"> <?php _e('City', 'dokan'); ?> </label> <div class="col-md-8"> <?php if ($billing_city == '') { ?> <select required id="city" class="form-control input-md" name="city"> <script language="javascript"> var cities = new Array(<?php echo '"' . $cities . '"'; ?> ); document.write("<option value='' selected='selected'>Select City:</option>"); for(var hi=0; hi<cities.length; hi++) document.write("<option value=\""+cities[hi]+"\">"+cities[hi]+"</option>"); </script> </select> <?php } else { ?> <input id="city" value="<?php echo $billing_city; ?> " name="city" placeholder="City" class="form-control input-md" type="text" <?php echo $billing_city ? $disable : ''; ?> > <?php } ?> </div> </div> </div> <div class="col-md-6"> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="firm_name"> <?php _e('PAN Number *', 'dokan'); ?> </label> <div class="col-md-8"> <input id="pan_no" required value="<?php echo $pan_no; ?> " name="pan_no" placeholder="PAN Number" class="form-control input-md" type="text" <?php echo $pan_no ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="firm_name"> <?php _e('VAT Number', 'dokan'); ?> </label> <div class="col-md-8"> <input id="vat_no" value="<?php echo $vat_no; ?> " name="vat_no" placeholder="VAT Number" class="form-control input-md" type="text" <?php echo $vat_no ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="bus_cat"> <?php _e('Business Category', 'dokan'); ?> </label> <div class="col-md-8"> <?php if (!empty($city) && $agreement1 == 'yes') { ?> <?php $theCatId = get_term_by('slug', $bus_cat, 'product_cat'); ?> <input id="bus_cat" value="<?php echo $theCatId->name; ?> " name="bus_cat" class="form-control input-md" type="text" <?php echo $theCatId->name ? $disable : ''; ?> > <?php } else { ?> <select id="bus_cat" name="bus_cat" class="form-control input-md" required> <?php $args = array('orderby' => 'name', 'order' => 'ASC'); $product_categories = get_terms('product_cat', $args); foreach ($product_categories as $cat) { if (0 == $cat->parent) { echo '<option value="' . $cat->slug . '"', $bus_cat == $cat->slug ? ' selected="selected"' : '', '>', $cat->name, '</option>'; } } ?> </select> <?php } ?> </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="add_line_1"> <?php _e('Pickup Address', 'dokan'); ?> <a type="button" class="btn btn-default cust_tool" data-toggle="tooltip" data-placement="bottom" title="This will be you Pickup Address from where the products will be picked up">?</a> </label> <div class="col-md-8"> <input id="add_line_1" required value="<?php echo $shipping_add1; ?> " name="padd_line_1" placeholder="Address Line 1" class="form-control input-md" type="text" <?php echo $shipping_add1 ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="add_line_2"> <?php _e(' ', 'dokan'); ?> </label> <div class="col-md-8"> <input id="add_line_2" required value="<?php echo $shipping_add2; ?> " name="padd_line_2" placeholder="Address Line 2" class="form-control input-md" type="text" <?php echo $shipping_add2 ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="pin_code"> <?php _e('Pin Code', 'dokan'); ?> </label> <div class="col-md-8"> <input id="pin_code" required value="<?php echo $shipping_postcode; ?> " name="ppin_code" placeholder="Pin Code" class="form-control input-md" type="text" <?php echo $shipping_postcode ? $disable : ''; ?> > </div> </div> <div class="form-group" style="text-align:right"> <style>.wpo-wrapper.test-style2_dw > option { display: none !important; }</style> <label class="col-md-4 control-label" for="pstate"> <?php _e('State', 'dokan'); ?> </label> <div class="col-md-8"> <?php if ($shipping_state == '') { ?> <script>var stt = new Array();</script> <?php global $wpdb; $mycity = $wpdb->prefix . "mycity"; $states = $wpdb->get_results("select distinct(state) from `{$mycity}` order by state asc"); foreach ($states as $s) { $citiess = ''; $cities = $wpdb->get_results("select distinct(name) from `{$mycity}` where state='{$s->state}' order by name asc"); $statess .= '"' . $s->state . '",'; foreach ($cities as $c) { $citiess .= $c->name . ','; } $citiess = rtrim($citiess, ','); ?> <script> stt['<?php echo $s->state; ?> ']='<?php echo $citiess; ?> '; </script> <?php } $statess = rtrim($statess, ','); ?> <select id="pstate" class="form-control input-md" name="pstate"> <option value="">Select State:</option> <script language="javascript"> var states = new Array(<?php echo $statess; ?> ); for(var hi=0; hi<states.length; hi++) document.write("<option value=\""+states[hi]+"\">"+states[hi]+"</option>"); </script> </select> <?php } else { ?> <input id="pstate" required value="<?php echo $shipping_state; ?> " name="pstate" placeholder="State" class="form-control input-md" type="text" <?php echo $disable; ?> > <?php } ?> </div> </div> <div class="form-group" style="text-align:right"> <label class="col-md-4 control-label" for="pcity"> <?php _e('City', 'dokan'); ?> </label> <div class="col-md-8"> <?php if ($shipping_city == '') { ?> <select id="pcity" class="form-control input-md" name="pcity"> </select> <script> console.log(stt); jQuery(document).ready(function() { jQuery('#pstate').change(function(){ jQuery('#pcity').html(''); var st = jQuery(this).val(); if(st==''){ jQuery('#pcity').html('<option val="">Select City</option>'); } else { var s = stt[st].split(","); for (var i=0; i<s.length; i++) { jQuery('#pcity').append('<option val="'+s[i]+'">'+s[i]+'</option>'); } } }); }); </script> <?php } else { ?> <input id="pcity" required value="<?php echo $shipping_city; ?> " name="pcity" placeholder="City" class="form-control input-md" type="text" <?php echo $disable; ?> > <?php } ?> </div> </div> </div> </div> <div class="row"> <div class="col-md-12"> <div style="border: 1px solid #ddd;text-align:left;max-height: 300px; overflow-y: scroll;padding: 15px; background:#fff"> <?php $seller_terms_id = get_post(4850); $content = $seller_terms_id->post_content; $content = apply_filters('the_content', $content); echo $content; ?> </div> </div> <?php if ($agreement1 == 'yes') { ?> <div class="form-group" style=""> <div class="col-md-1"> <div class="checkboxFive"> <input type="hidden" name="agreement1" value="no" > <input type="checkbox" name="agreement1" value="yes"<?php checked($agreement1, 'yes'); ?> <?php echo $disabled; ?> required> <label for="checkboxFiveInput"></label> </div> </div> <div class="col-md-7" style="text-align:left"> <p>Agreement Signed by <b style="font-weight:bold"><?php echo $full_name; ?> </b> on <b style="font-weight:bold"><?php echo $toa; ?> </b></p> </div> <div class="col-md-4" > <p style="color:red; text-align:right" >Contact Us for any Important Changes & Updates</p> </div> </div> <input id="full_name" required value="<?php echo $full_name; ?> " name="full_name" class="form-control input-md" type="hidden" <?php echo $disabled; ?> > <input id="agreement1" required value="<?php echo $agreement1; ?> " name="agreement1" class="form-control input-md" type="hidden" <?php echo $disabled; ?> > <input id="toa" value="<?php echo $toa; ?> " name="toa" type="hidden"> <?php } else { ?> <div class="form-group"> <div class="col-md-1"> <div class="checkboxFive"> <input type="hidden" name="agreement1" value="no" > <input id="checkboxFiveInput" type="checkbox" name="agreement1" value="yes"<?php checked($agreement1, 'yes'); ?> <?php echo $disabled; ?> required> <label for="checkboxFiveInput"></label> </div> </div> <label class="col-md-7 control-label" for="setting_phone" style="text-align:left"> <?php _e('I hereby accept the above mentioned terms & conditions', 'dokan'); ?> </label> <div class="col-md-4"> <input id="full_name" required value="<?php echo $full_name; ?> " name="full_name" placeholder="Full Name" class="form-control input-md" type="text" <?php echo $disabled; ?> > <input id="toa" value="<?php echo date('d F Y'); ?> " name="toa" type="hidden"> </div> </div> <?php } ?> </div> </section> <h3>Seller Obligations (MOU)</h3> <section> <div style="border: 1px solid #ddd;text-align:left;max-height: 500px; overflow-y: scroll;padding: 15px; background:#fff"> <?php $seller_mou = get_post(4859); $content_mou = $seller_mou->post_content; $content_mou = apply_filters('the_content', $content_mou); echo $content_mou; ?> </div> <div class="form-group"> <div class="col-md-1"> <div class="checkboxFive"> <input type="hidden" name="mou" value="no" > <input id="checkboxFiveInput2" type="checkbox" name="mou" value="yes"<?php checked($mou, 'yes'); ?> <?php echo $disabled; ?> required> <label for="checkboxFiveInput2"></label> </div> </div> <label class="col-md-11 control-label" for="setting_phone" style="text-align:left"> <?php _e(' By clicking this checkbox, I agree with Shopwow.in Policy & Rules, User Agreement, Privacy Policy, and MOU agreement above.', 'dokan'); ?> </label> </div> </section> <h3>Service Fee Plan</h3> <section> <?php // if(!empty($plans)) { ?> Plan Type : <?php echo $plans; ?> <input id="plans" value="<?php echo $plans; ?> " name="plans" type="hidden" <?php echo $disabled; ?> > <?php //} else { ?> <img src="<?php the_field('seller_table', 4859); ?> " style="width: 95%;position: absolute;left: 0;z-index: 9;background: rgba(0,0,0,0.6);margin: 0 2.5%;"> <div class="row" style="margin-top:85px; margin-bottom: 15px;"> <?php $query = new WP_Query(array('post_type' => 'service_fee_plans')); ?> <?php if ($query->have_posts()) { ?> <?php while ($query->have_posts()) { $query->the_post(); ?> <div class="col-md-4" > <div class="type"> <p><?php the_title(); ?> </p> </div> <div class="plan"> <input id="<?php the_ID(); ?> " name="plans" type="radio" value="<?php the_title(); ?> "> <label for="<?php the_ID(); ?> "> <div class="header"> <span>Rs.</span><?php echo get_post_meta(get_the_ID(), 'fee_price', true); ?> <p class="month"><?php echo get_post_meta(get_the_ID(), 'fee_period', true); ?> </p> </div> <div class="content"> <ul> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_1', true); ?> </li> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_2', true); ?> </li> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_3', true); ?> </li> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_4', true); ?> </li> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_5', true); ?> </li> <li><i class="fa fa-arrow-right"></i><?php echo get_post_meta(get_the_ID(), 'plan_feature_6', true); ?> </li> </ul> </div> <div class="price"> <p class="cart">Select</p> </div> </label> </div> </div> <?php } ?> <?php wp_reset_postdata(); ?> <?php } ?> </div> <div class="row"> <?php $seller_mou = get_post(4910); $content_mou = $seller_mou->post_content; $content_mou = apply_filters('the_content', $content_mou); echo $content_mou; ?> </div> <?php //} ?> <div class="form-group"> <div class="col-md-1"> <div class="checkboxFive"> <input type="hidden" name="sfp" value="no" > <input id="checkboxFiveInput3" type="checkbox" name="sfp" value="yes"<?php checked($sfp, 'yes'); ?> <?php echo $disabled; ?> required> <label for="checkboxFiveInput3"></label> </div> </div> <label class="col-md-11 control-label" for="setting_phone" style="text-align:left"> <?php _e(' By clicking this checkbox, I agree to PAY Service Fee and Shipping Charges as mentioned above.', 'dokan'); ?> </label> </div> </section> <h3>Bank Details</h3> <section> <!-- payment tab --> <div class="form-group"> <div class="col-md-12"> <?php $methods = dokan_withdraw_get_active_methods(); ?> <div class="col-md-12"> <?php $count = 0; foreach ($methods as $method_key) { $method = dokan_withdraw_get_method($method_key); ?> <div class="tab-pane<?php echo $count == 0 ? ' active' : ''; ?> " id="dokan-payment-<?php echo $method_key; ?> "> <?php if (is_callable($method['callback'])) { call_user_func($method['callback'], $profile_info); } ?> </div> <?php $count++; } ?> <?php $binfo = get_user_meta(get_current_user_id(), 'dokan_profile_settings', true); if ($binfo['payment']['bank']['ac_number'] != '') { ?> <script language="javascript"> jQuery("#dokan-payment-bank input").prop("readonly",true); jQuery('#dokan-payment-bank input').attr('readonly', true); jQuery("#dokan-payment-bank textarea").prop("readonly",true); jQuery('#dokan-payment-bank textarea').attr('readonly', true); jQuery('#dokan-payment-bank input').css('background-color' , '#eeeeee'); jQuery('#dokan-payment-bank input').css('cursor' , 'not-allowed'); jQuery('#dokan-payment-bank textarea').css('background-color' , '#eeeeee'); jQuery('#dokan-payment-bank textarea').css('cursor' , 'not-allowed'); </script> <?php } ?> </div> <!-- .tab-content --> </div> </div> <!-- .form-group --> </section> <h3>Store Setting</h3> <section> <div class="dokan-banner"> <div class="image-wrap<?php echo $banner ? '' : ' dokan-hide'; ?> "> <?php $banner_url = $banner ? wp_get_attachment_url($banner) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $banner; ?> " name="dokan_banner"> <img class="dokan-banner-img" src="<?php echo esc_url($banner_url); ?> "> <a class="close dokan-remove-banner-image">×</a> </div> <div class="button-area<?php echo $banner ? ' dokan-hide' : ''; ?> "> <i class="fa fa-cloud-upload"></i> <a href="#" class="dokan-banner-drag btn btn-info"> <?php _e('Upload banner', 'dokan'); ?> </a> <p class="help-block"> <?php _e('(Upload a banner for your store. Banner size is (825x300) pixel. )', 'dokan'); ?> </p> </div> </div> <div class="row"> <div class="col-md-6"> <div class="form-group"> <div class="col-md-9"> <?php _e('Map', 'dokan'); ?> <input id="dokan-map-lat" type="hidden" name="location" value="<?php echo $map_location; ?> " /> <div class="input-group"> <span class="input-group-btn"> <input id="dokan-map-add" type="text" class="form-control" value="<?php echo $map_address; ?> " name="find_address" placeholder="<?php _e('Type an address to find', 'dokan'); ?> " /> <a href="#" class="btn btn-default" id="dokan-location-find-btn" type="button"> <?php _e('Find Address', 'dokan'); ?> </a> </span> </div> <!-- /input-group --> <div class="dokan-google-map" id="dokan-map"></div> </div> <!-- col.md-4 --> </div> </div> <div class="col-md-6"> <!-- .dokan-banner --> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_store_name"> <?php _e('Store Name', 'dokan'); ?> </label> <div class="col-md-9"> <input id="dokan_store_name" required value="<?php echo $storename; ?> " name="dokan_store_name" placeholder="store name" class="form-control input-md" type="text"> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="dokan_gravatar"> <?php _e('Shop Logo', 'dokan'); ?> </label> <div class="col-md-9 dokan-gravatar"> <div class="pull-left gravatar-wrap<?php echo $gravatar ? '' : ' dokan-hide'; ?> "> <?php $gravatar_url = $gravatar ? wp_get_attachment_url($gravatar) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $gravatar; ?> " name="dokan_gravatar"> <img class="dokan-gravatar-img" src="<?php echo esc_url($gravatar_url); ?> "> <a class="close dokan-remove-gravatar-image">×</a> </div> <div class="gravatar-button-area<?php echo $gravatar ? ' dokan-hide' : ''; ?> "> <i class="fa fa-cloud-upload"></i> <a href="#" class="dokan-gravatar-drag btn btn-info"> <?php _e('Upload Photo', 'dokan'); ?> </a> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][fb]"> <?php _e('Social Profile', 'dokan'); ?> </label> <div class="col-md-9"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-facebook-square"></i></span> <input id="settings[social][fb]" value="<?php echo $fb; ?> " name="settings[social][fb]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][plus]"></label> <div class="col-md-9"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-google-plus"></i></span> <input id="settings[social][gplus]" value="<?php echo $gplus; ?> " name="settings[social][gplus]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> <div class="form-group"> <label class="col-md-3 control-label" for="settings[social][youtube]"></label> <div class="col-md-9"> <div class="input-group"> <span class="input-group-addon"><i class="fa fa-youtube"></i></span> <input id="settings[social][youtube]" value="<?php echo $youtube; ?> " name="settings[social][youtube]" class="form-control" placeholder="http://" type="text"> </div> </div> </div> </div> </div> </section> </div> <?php /*wp_nonce_field( 'dokan_settings_nonce' ); ?> <div class="dokan-banner"> <div class="image-wrap<?php echo $banner ? '' : ' dokan-hide'; ?>"> <?php $banner_url = $banner ? wp_get_attachment_url( $banner ) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $banner; ?>" name="dokan_banner"> <img class="dokan-banner-img" src="<?php echo esc_url( $banner_url ); ?>"> <a class="close dokan-remove-banner-image">×</a> </div> <div class="button-area<?php echo $banner ? ' dokan-hide' : ''; ?>"> <i class="fa fa-cloud-upload"></i> <a href="#" class="dokan-banner-drag dokan-btn dokan-btn-info"><?php _e( 'Upload banner', 'dokan' ); ?></a> <p class="help-block"><?php _e( '(Upload a banner for your store. Banner size is (825x300) pixel. )', 'dokan' ); ?></p> </div> </div> <!-- .dokan-banner --> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="dokan_store_name"><?php _e( 'Store Name', 'dokan' ); ?></label> <div class="dokan-w5 dokan-text-left"> <input id="dokan_store_name" required value="<?php echo $storename; ?>" name="dokan_store_name" placeholder="store name" class="dokan-form-control" type="text"> </div> </div> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="dokan_gravatar"><?php _e( 'Profile Picture', 'dokan' ); ?></label> <div class="dokan-w5 dokan-gravatar"> <div class="dokan-left gravatar-wrap<?php echo $gravatar ? '' : ' dokan-hide'; ?>"> <?php $gravatar_url = $gravatar ? wp_get_attachment_url( $gravatar ) : ''; ?> <input type="hidden" class="dokan-file-field" value="<?php echo $gravatar; ?>" name="dokan_gravatar"> <img class="dokan-gravatar-img" src="<?php echo esc_url( $gravatar_url ); ?>"> <a class="dokan-close dokan-remove-gravatar-image">×</a> </div> <div class="gravatar-button-area<?php echo $gravatar ? ' dokan-hide' : ''; ?>"> <a href="#" class="dokan-gravatar-drag dokan-btn dokan-btn-default"><i class="fa fa-cloud-upload"></i> <?php _e( 'Upload Photo', 'dokan' ); ?></a> </div> </div> </div> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="settings[social][fb]"><?php _e( 'Social Profile', 'dokan' ); ?></label> <div class="dokan-w5 dokan-text-left"> <div class="dokan-input-group dokan-form-group"> <span class="dokan-input-group-addon"><i class="fa fa-facebook-square"></i></span> <input id="settings[social][fb]" value="<?php echo $fb; ?>" name="settings[social][fb]" class="dokan-form-control" placeholder="http://" type="text"> </div> <div class="dokan-input-group dokan-form-group"> <span class="dokan-input-group-addon"><i class="fa fa-google-plus"></i></span> <input id="settings[social][gplus]" value="<?php echo $gplus; ?>" name="settings[social][gplus]" class="dokan-form-control" placeholder="http://" type="text"> </div> <div class="dokan-input-group dokan-form-group"> <span class="dokan-input-group-addon"><i class="fa fa-twitter"></i></span> <input id="settings[social][twitter]" value="<?php echo $twitter; ?>" name="settings[social][twitter]" class="dokan-form-control" placeholder="http://" type="text"> </div> <div class="dokan-input-group dokan-form-group"> <span class="dokan-input-group-addon"><i class="fa fa-linkedin"></i></span> <input id="settings[social][linkedin]" value="<?php echo $linkedin; ?>" name="settings[social][linkedin]" class="dokan-form-control" placeholder="http://" type="text"> </div> <div class="dokan-input-group dokan-form-group"> <span class="dokan-input-group-addon"><i class="fa fa-youtube"></i></span> <input id="settings[social][youtube]" value="<?php echo $youtube; ?>" name="settings[social][youtube]" class="dokan-form-control" placeholder="http://" type="text"> </div> </div> </div> <!-- payment tab --> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="dokan_setting"><?php _e( 'Payment Method', 'dokan' ); ?></label> <div class="dokan-w6"> <?php $methods = dokan_withdraw_get_active_methods(); ?> <div id="payment_method_tab"> <ul class="dokan_tabs" style="margin-bottom: 10px; margin-left:0px;"> <?php $count = 0; foreach ($methods as $method_key) { $method = dokan_withdraw_get_method( $method_key ); ?> <li<?php echo ( $count == 0 ) ? ' class="active"' : ''; ?>><a href="#dokan-payment-<?php echo $method_key; ?>" data-toggle="tab"><?php echo $method['title']; ?></a></li> <?php $count++; } ?> </ul> <!-- Tab panes --> <div class="tabs_container"> <?php $count = 0; foreach ($methods as $method_key) { $method = dokan_withdraw_get_method( $method_key ); ?> <div class="tab-pane<?php echo ($count == 0) ? ' active': ''; ?>" id="dokan-payment-<?php echo $method_key; ?>"> <?php if ( is_callable( $method['callback']) ) { call_user_func( $method['callback'], $profile_info ); } ?> </div> <?php $count++; } ?> </div> <!-- .tabs_container --> </div> <!-- .payment method tab --> </div> <!-- .dokan-w4 --> </div> <!-- .dokan-form-group --> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="setting_phone"><?php _e( 'Phone No', 'dokan' ); ?></label> <div class="dokan-w5 dokan-text-left"> <input id="setting_phone" value="<?php echo $phone; ?>" name="setting_phone" placeholder="+123456.." class="dokan-form-control input-md" type="text"> </div> </div> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="setting_phone"><?php _e( 'Email', 'dokan' ); ?></label> <div class="dokan-w5 dokan-text-left"> <div class="checkbox"> <label> <input type="hidden" name="setting_show_email" value="no"> <input type="checkbox" name="setting_show_email" value="yes"<?php checked( $show_email, 'yes' ); ?>> <?php _e( 'Show email address in store', 'dokan' ); ?> </label> </div> </div> </div> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="setting_address"><?php _e( 'Address', 'dokan' ); ?></label> <div class="dokan-w5 dokan-text-left"> <textarea class="dokan-form-control" rows="4" id="setting_address" name="setting_address"><?php echo $address; ?></textarea> </div> </div> <div class="dokan-form-group"> <label class="dokan-w3 dokan-control-label" for="setting_map"><?php _e('Map', 'dokan'); ?></label> <div class="dokan-w4 dokan-text-left"> <input id="dokan-map-lat" type="hidden" name="location" value="<?php echo $map_location; ?>" size="30" /> <div class="dokan-input-group"> <span class=""> <input id="dokan-map-add" type="text" class="dokan-form-control" value="<?php echo $map_address; ?>" name="find_address" placeholder="<?php _e( 'Type an address to find', 'dokan' ); ?>" size="30" /> <a href="#" class="" id="dokan-location-find-btn" type="button"><?php _e( 'Find Address', 'dokan' ); ?></a> </span> </div><!-- /input-group --> <div class="dokan-google-map" id="dokan-map" style="width:400px; height:300px;"></div> </div> <!-- col.md-4 --> </div> <!-- .dokan-form-group --> <div class="dokan-form-group"> <div class="dokan-w4 ajax_prev dokan-text-left" style="margin-left:24%;"> <input type="submit" name="dokan_update_profile" class="btn btn-primary" value="<?php esc_attr_e('Update Settings','dokan'); ?>"> </div> </div> */ ?> </form> <script type="text/javascript"> (function($) { $(function() { <?php $locations = explode(',', $map_location); $def_lat = isset($locations[0]) ? $locations[0] : 90.40714300000002; $def_long = isset($locations[1]) ? $locations[1] : 23.709921; ?> var def_zoomval = 12; var def_longval = '<?php echo $def_long; ?> '; var def_latval = '<?php echo $def_lat; ?> '; var curpoint = new google.maps.LatLng(def_latval, def_longval), geocoder = new window.google.maps.Geocoder(), $map_area = $('#dokan-map'), $input_area = $( '#dokan-map-lat' ), $input_add = $( '#dokan-map-add' ), $find_btn = $( '#dokan-location-find-btn' ); autoCompleteAddress(); $find_btn.on('click', function(e) { e.preventDefault(); geocodeAddress( $input_add.val() ); }); var gmap = new google.maps.Map( $map_area[0], { center: curpoint, zoom: def_zoomval, mapTypeId: window.google.maps.MapTypeId.ROADMAP }); var marker = new window.google.maps.Marker({ position: curpoint, map: gmap, draggable: true }); window.google.maps.event.addListener( gmap, 'click', function ( event ) { marker.setPosition( event.latLng ); updatePositionInput( event.latLng ); } ); window.google.maps.event.addListener( marker, 'drag', function ( event ) { updatePositionInput(event.latLng ); } ); function updatePositionInput( latLng ) { $input_area.val( latLng.lat() + ',' + latLng.lng() ); } function updatePositionMarker() { var coord = $input_area.val(), pos, zoom; if ( coord ) { pos = coord.split( ',' ); marker.setPosition( new window.google.maps.LatLng( pos[0], pos[1] ) ); zoom = pos.length > 2 ? parseInt( pos[2], 10 ) : 12; gmap.setCenter( marker.position ); gmap.setZoom( zoom ); } } function geocodeAddress( address ) { geocoder.geocode( {'address': address}, function ( results, status ) { if ( status == window.google.maps.GeocoderStatus.OK ) { updatePositionInput( results[0].geometry.location ); marker.setPosition( results[0].geometry.location ); gmap.setCenter( marker.position ); gmap.setZoom( 15 ); } } ); } function autoCompleteAddress(){ if (!$input_add) return null; $input_add.autocomplete({ source: function(request, response) { // TODO: add 'region' option, to help bias geocoder. geocoder.geocode( {'address': request.term }, function(results, status) { response(jQuery.map(results, function(item) { return { label : item.formatted_address, value : item.formatted_address, latitude : item.geometry.location.lat(), longitude : item.geometry.location.lng() }; })); }); }, select: function(event, ui) { $input_area.val(ui.item.latitude + ',' + ui.item.longitude ); var location = new window.google.maps.LatLng(ui.item.latitude, ui.item.longitude); gmap.setCenter(location); // Drop the Marker setTimeout( function(){ marker.setValues({ position : location, animation : window.google.maps.Animation.DROP }); }, 1500); } }); } }); })(jQuery); </script> <script> (function($){ $(document).ready(function(){ $('#payment_method_tab').easytabs(); }); })(jQuery) </script> <script type="text/javascript"> jQuery(function($){ // $('#setting_category').chosen({ // width: "95%" // }).change(function() { // $("form#settings-form").validate().element("#setting_category"); // }); }) </script> <?php }
/** * Load Payment Content * * @since 2.4 * * @return void */ public function load_payment_content() { $methods = dokan_withdraw_get_active_methods(); $currentuser = get_current_user_id(); $profile_info = dokan_get_store_info(get_current_user_id()); dokan_get_template_part('settings/payment', '', array('methods' => $methods, 'current_user' => $currentuser, 'profile_info' => $profile_info)); }
/** * Save user data * * @param int $user_id * * @return void */ function save_meta_fields($user_id) { if (!current_user_can('manage_woocommerce')) { return; } if (!isset($_POST['dokan_enable_selling'])) { return; } $selling = sanitize_text_field($_POST['dokan_enable_selling']); $publishing = sanitize_text_field($_POST['dokan_publish']); $percentage = floatval($_POST['dokan_seller_percentage']); $feature_seller = sanitize_text_field($_POST['dokan_feature']); $store_settings = dokan_get_store_info($user_id); $social = $_POST['dokan_social']; $social_fields = dokan_get_social_profile_fields(); $store_settings['banner'] = intval($_POST['dokan_banner']); $store_settings['store_name'] = sanitize_text_field($_POST['dokan_store_name']); $store_settings['address'] = isset($_POST['dokan_store_address']) ? $_POST['dokan_store_address'] : array(); $store_settings['phone'] = sanitize_text_field($_POST['dokan_store_phone']); // social settings if (is_array($social)) { foreach ($social as $key => $value) { if (isset($social_fields[$key])) { $store_settings['social'][$key] = filter_var($social[$key], FILTER_VALIDATE_URL); } } } update_user_meta($user_id, 'dokan_profile_settings', $store_settings); update_user_meta($user_id, 'dokan_enable_selling', $selling); update_user_meta($user_id, 'dokan_publishing', $publishing); update_user_meta($user_id, 'dokan_seller_percentage', $percentage); update_user_meta($user_id, 'dokan_feature_seller', $feature_seller); do_action('dokan_process_seller_meta_fields', $user_id); }
/** * Save user data * * @param int $user_id * @return void */ function save_meta_fields($user_id) { if (!current_user_can('manage_woocommerce')) { return; } if (!isset($_POST['dokan_enable_selling'])) { return; } $selling = sanitize_text_field($_POST['dokan_enable_selling']); $publishing = sanitize_text_field($_POST['dokan_publish']); $percentage = floatval($_POST['dokan_seller_percentage']); $store_settings = dokan_get_store_info($user_id); $social = $_POST['dokan_social']; $store_settings['store_status'] = sanitize_text_field($_POST['dokan_store_status']); $store_settings['banner'] = intval($_POST['dokan_banner']); $store_settings['store_name'] = sanitize_text_field($_POST['dokan_store_name']); $store_settings['address'] = wp_kses_post($_POST['dokan_store_address']); $store_settings['phone'] = sanitize_text_field($_POST['dokan_store_phone']); $store_settings['social'] = array('fb' => filter_var($social['fb'], FILTER_VALIDATE_URL), 'gplus' => filter_var($social['gplus'], FILTER_VALIDATE_URL), 'twitter' => filter_var($social['twitter'], FILTER_VALIDATE_URL), 'linkedin' => filter_var($social['linkedin'], FILTER_VALIDATE_URL), 'youtube' => filter_var($social['youtube'], FILTER_VALIDATE_URL)); //Custom $store_settings['payment']['bank']['ac_name'] = sanitize_text_field($_POST['dokan_account_name']); $store_settings['payment']['bank']['ac_number'] = sanitize_text_field($_POST['dokan_account_number']); $store_settings['payment']['bank']['bank_name'] = sanitize_text_field($_POST['dokan_bank_name']); $store_settings['payment']['bank']['bank_addr'] = sanitize_text_field($_POST['dokan_bank_address']); $store_settings['payment']['bank']['swift'] = sanitize_text_field($_POST['dokan_bank_ifsc']); $store_settings['legal_stat'] = sanitize_text_field($_POST['dokan_legal_status']); $store_settings['pan_no'] = sanitize_text_field($_POST['dokan_pan']); $store_settings['vat_no'] = sanitize_text_field($_POST['dokan_vat']); $store_settings['bus_cat'] = sanitize_text_field($_POST['dokan_bus_cat']); update_user_meta($user_id, 'dokan_profile_settings', $store_settings); update_user_meta($user_id, 'dokan_enable_selling', $selling); update_user_meta($user_id, 'dokan_publishing', $publishing); update_user_meta($user_id, 'dokan_seller_percentage', $percentage); }
/** * Submit handler for settings form * * @return void */ function dokan_seo_form_handler() { parse_str($_POST['data'], $postdata); if (!wp_verify_nonce($postdata['dokan_store_seo_form_nonce'], 'dokan_store_seo_form_action')) { wp_send_json_error(__('Are you cheating?', 'dokan')); } unset($postdata['dokan_store_seo_form_nonce']); unset($postdata['_wp_http_referer']); $default_store_seo = array('dokan-seo-meta-title' => false, 'dokan-seo-meta-desc' => false, 'dokan-seo-meta-keywords' => false, 'dokan-seo-og-title' => false, 'dokan-seo-og-desc' => false, 'dokan-seo-og-image' => false, 'dokan-seo-twitter-title' => false, 'dokan-seo-twitter-desc' => false, 'dokan-seo-twitter-image' => false); $current_user = get_current_user_id(); $seller_profile = dokan_get_store_info($current_user); $seller_profile['store_seo'] = wp_parse_args($postdata, $default_store_seo); //unset( $seller_profile['store_seo'] ); update_user_meta($current_user, 'dokan_profile_settings', $seller_profile); wp_send_json_success(__('Your changes has been updated!', 'dokan')); }
<td class="order-status" style="text-align:left; white-space:nowrap;"> <?php echo isset($statuses[$order->post_status]) ? $statuses[$order->post_status] : $order->post_status; ?> </td> <td class="order-total"> <?php echo sprintf(_n('%s for %s item', '%s for %s items', $item_count, 'dokan'), $order->get_formatted_order_total(), $item_count); ?> </td> <td class="order-total"> <?php $seller_id = dokan_get_seller_id_by_order($order->id); if ($seller_id && $seller_id != 0) { $sellershop = dokan_get_store_info($seller_id); echo '<a href="' . dokan_get_store_url($seller_id) . '">' . $sellershop['store_name'] . '</a>'; } else { _e('Multiple Seller', 'dokan'); } ?> </td> <td class="order-actions"> <?php $actions = array(); if (in_array($order->status, apply_filters('woocommerce_valid_order_statuses_for_payment', array('pending', 'failed'), $order))) { $actions['pay'] = array('url' => $order->get_checkout_payment_url(), 'name' => __('Pay', 'dokan')); } if (in_array($order->status, apply_filters('woocommerce_valid_order_statuses_for_cancel', array('pending', 'failed'), $order))) { $actions['cancel'] = array('url' => $order->get_cancel_order_url(get_permalink(wc_get_page_id('myaccount'))), 'name' => __('Cancel', 'dokan'));
?> <!--settings updated content--> <?php global $current_user; if (isset($_GET['message'])) { ?> <div class="dokan-alert dokan-alert-success"> <button type="button" class="dokan-close" data-dismiss="alert">×</button> <strong><?php _e('Your profile has been updated successfully!', 'dokan'); ?> </strong> </div> <?php } $profile_info = dokan_get_store_info($current_user->ID); if (is_wp_error($validate)) { } ?> <div class="dokan-ajax-response"> <?php echo dokan_get_profile_progressbar(); ?> </div> <?php /** * @since 2.2.2 Insert action before payment settings form */ do_action('dokan_payment_settings_before_form', $current_user, $profile_info);