HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /home/unimil/public_html/wp-content/plugins/qode-listing/modules/dashboard/dashboard-functions.php
<?php

if(!function_exists('qode_listing_set_listing_dashboard_navigation_pages')){

	/**
	 * Create listing dashboard navigation items
	 *
	 * @param array items - dashboard navigation items
	 * @param string dashboard_url - dashboard page url
	 *
	 * @return array
	 * see qode_membership_dashboard_navigation_pages in qode-membership plugin
	 */

	function qode_listing_set_listing_dashboard_navigation_pages( $items, $dashboard_url){

		$items['add-new-listing'] = array(
			'url'			=> esc_url( add_query_arg( array( 'user-action' => 'add-new-listing' ), $dashboard_url ) ),
			'text'			=> esc_html__( 'Add Listing', 'qode-listing' ),
			'user_action'	=> 'add-new-listing',
			'icon'			=> '<span class="icon dripicons-document-edit"></span>'
		);

		$items['my-listings'] = array(
			'url'			=> esc_url( add_query_arg( array( 'user-action' => 'my-listings' ), $dashboard_url ) ),
			'text'			=> esc_html__( 'My Listings', 'qode-listing' ),
			'user_action'	=> 'my-listings',
			'icon'			=> '<span class="icon dripicons-document-remove"></span>'
		);
		if(qode_listing_is_wc_paid_listings_installed()){
			$items['my-packages'] = array(
				'url'			=> esc_url( add_query_arg( array( 'user-action' => 'my-packages' ), $dashboard_url ) ),
				'text'			=> esc_html__( 'My Packages', 'qode-listing' ),
				'user_action'	=> 'my-packages',
				'icon'			=> '<span class="icon dripicons-briefcase"></span>'
			);
		}

		return $items;
	}

	add_filter('qode_membership_dashboard_navigation_pages' , 'qode_listing_set_listing_dashboard_navigation_pages', 10 , 2);
}

if(!function_exists('qode_listing_get_listing_dashboard_pages')){

	/**
	 * Create listing dashboard pages
	 *
	 * @param array $pages - dashboard navigation pages
	 *
	 * @return array
	 * see qode_membership_dashboard_pages in qode-membership plugin
	 */


	function qode_listing_get_listing_dashboard_pages($pages){

		$pages['add-new-listing'] = qode_listing_get_listing_module_template_part('modules/dashboard', 'add-new-listing');
		$pages['my-listings'] = qode_listing_get_listing_module_template_part('modules/dashboard', 'my-listings');
		if(qode_listing_is_wc_paid_listings_installed()){
			$pages['my-packages'] = qode_listing_get_listing_module_template_part('modules/dashboard', 'my-packages');
		}
		return $pages;
	}
	add_filter('qode_membership_dashboard_pages', 'qode_listing_get_listing_dashboard_pages', 10, 1);
}


if(!function_exists('qode_listing_set_user_dashboard_template_params')){
	/**
	 * Set post content for user dashboard pages
	 *
	 * User Dashboard Template need to have [job_dashboard] as post content in order to user wp_job_manager actions(Edit, Mark Filled, Duplicate, Delete)
	 *
	 * see shortcode_action_handler in wp_job_manager plugin
	 */
	function qode_listing_set_user_dashboard_template_params(){

		$page_args = array(
			'post_type' => 'page',
			'post_status' => 'publish',
			'meta_key' => '_wp_page_template',
			'meta_value' => 'user-dashboard.php'
		);
		$user_dashboard_page = get_pages($page_args);

		if(is_array($user_dashboard_page) && count($user_dashboard_page)){
			foreach($user_dashboard_page as $page) {
				$current_page['ID'] = $page->ID;
				$current_page['post_content'] = '[job_dashboard]';
				wp_update_post( $current_page );
			}
		}

	}
	add_action('init', 'qode_listing_set_user_dashboard_template_params');
}