admin_url('admin-ajax.php'),
));
}
add_action('wp_enqueue_scripts', 'aumenu_css_js');
add_action('admin_enqueue_scripts', 'aumenu_css_js');
require_once(dirname( __FILE__ ).'/widget/aumenu_widget.php');
/**
* Register a post type.
*/
function aumenu_custom_init() {
flush_rewrite_rules();
$slug = get_option('aumenu_slug');
load_textdomain('wp_aumenu', dirname( __FILE__ ).'/lang/aumenu-'.aumenu_get_language().'.mo');
$labels = array(
'name' => _x( 'AuMenu', 'post type general name' ),
'singular_name' => _x( 'aumenu', 'post type singular name' ),
'add_new' => _x( 'Add New', 'aumenu' ),
'add_new_item' => __( 'Add New Page' ),
'edit_item' => __( 'Edit Page' ),
'new_item' => __( 'New Page' ),
'all_items' => __( 'All Page' ),
'view_item' => __( 'View Page' ),
'search_items' => __( 'Search Page' ),
'not_found' => __( 'No page found' ),
'not_found_in_trash' => __( 'No page found in the Trash' ),
'parent_item_colon' => '',
'menu_name' => 'AuMenu'
);
$args = array(
'labels' => $labels,
'description' => 'AuMenu page creator',
'public' => true,
'rewrite' => true,
'show_ui' => true,
'_builtin' => false,
'capability_type' => 'post',
'supports' => array('title', 'editor', 'thumbnail'),
'has_archive' => false,
'rewrite' => false//array('slug' => $slug, 'with_front' => true),
);
register_post_type('aumenu', $args);
add_rewrite_tag("%establishment%", '(.*?)', 'establishment=');
add_rewrite_tag("%beer%", '(.*?)', 'beer=');
add_rewrite_rule('^aumenu/(.*?)/(.*?)/(.*?)/?$', 'index.php?aumenu=$matches[1]&establishment=$matches[3]&beer=$matches[2]', 'top');
add_rewrite_rule('^'.$slug.'/(.*?)/(.*?)/(.*?)/?$', 'index.php?aumenu=$matches[1]&establishment=$matches[3]&beer=$matches[2]', 'top');
add_rewrite_rule('^aumenu/(.*?)/(.*?)/?$', 'index.php?aumenu=$matches[1]&beer=$matches[2]', 'top');
add_rewrite_rule('^'.$slug.'/(.*?)/(.*?)/?$', 'index.php?aumenu=$matches[1]&beer=$matches[2]', 'top');
add_rewrite_rule('^aumenu/(.*?)/?$', 'index.php?aumenu=$matches[1]', 'top');
add_rewrite_rule('^'.$slug.'/(.*?)/?$', 'index.php?aumenu=$matches[1]', 'top');
flush_rewrite_rules();
}
add_action('init', 'aumenu_custom_init');
function query_vars($query_vars ) {
$query_vars[] = 'establishment';
$query_vars[] = 'beer';
return $query_vars;
}
add_filter('query_vars', 'query_vars');
function aumenu_post_link($post_link, $post_id, $leavename = false, $sample = false) {
$post = get_post($post_id);
$page_type = get_post_meta($post->ID, '_establishments_type', true);
$slug = get_option('aumenu_slug') !== false && strlen(get_option('aumenu_slug')) > 0 ? get_option('aumenu_slug') : $post->post_type;
if ($post->post_type == 'aumenu') {
return home_url("/".$slug."/".$post->post_name."/");
}
return $post_link;
}
add_filter('post_link', 'aumenu_post_link');
function aumenu_post_type_link($post_link, $post_id, $leavename = false, $sample = false) {
$post = get_post($post_id);
//print_r($post);
//$page_type = get_post_meta($post->ID, '_establishments_type', true);
$slug = get_option('aumenu_slug') !== false && strlen(get_option('aumenu_slug')) > 0 ? get_option('aumenu_slug') : $post->post_type;
if ($post->post_type == 'aumenu') {
return home_url("/".$slug."/".$post->post_name."/");
}
return $post_link;
}
add_filter('post_type_link', /* array($this, */'aumenu_post_type_link'/* ) */, 10, 3);
function add_page_beer_template($single_template) {
global $wp_query, $post;
$page_type = get_post_meta($post->ID, '_establishments_type', true);
$v_establishment = isset($wp_query->query_vars['establishment']) ? $wp_query->query_vars['establishment'] : (isset($_GET['establishment']) ? $_GET['establishment'] : false);
$v_beer = isset($wp_query->query_vars['beer']) ? $wp_query->query_vars['beer'] : (isset($_GET['beer']) ? $_GET['beer'] : false);
if ($page_type == 'taps') {
if ($wp_query->query['post_type'] == 'aumenu' && /* $v_establishment && */$v_beer) {
return dirname( __FILE__ ).'/content.php';
} else if ($wp_query->query['post_type'] == 'aumenu') {
return dirname( __FILE__ ).'/content.php';
}
} else if ($page_type == 'foods') {
return dirname( __FILE__ ).'/content.php';
} else if ($page_type == 'beers') {
if ($wp_query->query['post_type'] == 'aumenu' && /* $v_establishment && */$v_beer) {
return dirname( __FILE__ ).'/content.php';
} else if ($wp_query->query['post_type'] == 'aumenu') {
return dirname( __FILE__ ).'/content.php';
}
} else if ($page_type == 'bottles') {
if ($wp_query->query['post_type'] == 'aumenu' && /* $v_establishment && */$v_beer) {
return dirname( __FILE__ ).'/content.php';
} else if ($wp_query->query['post_type'] == 'aumenu') {
return dirname( __FILE__ ).'/content.php';
}
}
return $single_template;
}
add_filter('single_template', 'add_page_beer_template', 10, 1);
function add_aumenu_metaboxes() {
add_meta_box('aumenu_establishments_id', 'AuMenu', 'aumenu_establishments_id', 'aumenu', 'normal', 'high');
}
add_action( 'add_meta_boxes', 'add_aumenu_metaboxes' );
function aumenu_establishments_id() {
global $post;
$public_key = get_option('aumenu_public_key');
$secret_key = get_option('aumenu_secret_key');
$aumenu = new AuMenuSDK();
$aumenu->setLanguage(aumenu_get_language());
$aumenu->getToken($public_key, $secret_key);
$user = json_decode($aumenu->getUser());
echo '';
$establishments_type = get_post_meta($post->ID, '_establishments_type', true);
$types_array = null;
if (isset($user) && isset($user->data) && isset($user->data->breweries)) {
$types_array['beers'] = __('Beers', 'wp_aumenu');
if (!$establishments_type) { $establishments_type = 'beers'; }
}
if (isset($user) && isset($user->data) && isset($user->data->establishments)) {
$types_array['taps'] = __('Taps', 'wp_aumenu');
$types_array['bottles'] = __('Bottles', 'wp_aumenu');
$types_array['foods'] = __('Foods', 'wp_aumenu');
if (!$establishments_type) { $establishments_type = 'taps'; }
}
?>
ID, '_establishments_id', true);
$datas = null;
if ($establishments_type && $establishments_type == 'beers') {
if (isset($user) && isset($user->data) && isset($user->data->breweries)) {
$datas = $user->data->breweries;
}
} else if ($establishments_type && ($establishments_type == 'taps' || $establishments_type == 'foods' || $establishments_type == 'bottles')) {
if (isset($user) && isset($user->data) && isset($user->data->establishments)) {
$datas = $user->data->establishments;
}
} else {
if (isset($user) && isset($user->data) && isset($user->data->breweries)) {
$datas = $user->data->breweries;
}
}
?>
setLanguage(aumenu_get_language());
$aumenu->getToken($public_key, $secret_key);
$user = json_decode($aumenu->getUser());
$datas = null;
if ($establishments_type && $establishments_type == 'beers') {
if (isset($user) && isset($user->data) && isset($user->data->breweries)) {
$datas = $user->data->breweries;
}
} else if ($establishments_type && ($establishments_type == 'taps' || $establishments_type == 'foods' || $establishments_type == 'bottles')) {
if (isset($user) && isset($user->data) && isset($user->data->establishments)) {
$datas = $user->data->establishments;
}
} else {
if (isset($user) && isset($user->data) && isset($user->data->breweries)) {
$datas = $user->data->breweries;
}
}
echo json_encode($datas);
die();
}
add_action( 'wp_ajax_change', 'aumenu_admin_post_type_change' );
function wpt_save_aumenu_meta($post_id, $post) {
if ( !wp_verify_nonce( $_POST['aumenu_nonce'], plugin_basename(__FILE__) )) {
return $post->ID;
}
if ( !current_user_can( 'edit_post', $post->ID ))
return $post->ID;
$events_meta['_establishments_id'] = $_POST['_establishments_id'];
$events_meta['_establishments_type'] = $_POST['_establishments_type'];
foreach ($events_meta as $key => $value) {
if( $post->post_type == 'revision' ) return;
$value = implode(',', (array)$value);
if(get_post_meta($post->ID, $key, FALSE)) {
update_post_meta($post->ID, $key, $value);
} else {
add_post_meta($post->ID, $key, $value);
}
if(!$value) delete_post_meta($post->ID, $key);
}
}
add_action('save_post', 'wpt_save_aumenu_meta', 1, 2);
?>