blob: 7e4bea73cc66c647c023ab407897a466b0a49e18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<?php
if (class_exists('WMobilePack')):
if (is_single() || is_page() || is_category()):
// The mobile web app paths will be set relative to the home url
$mobile_url = home_url();
$is_visible = false;
// Load config json
if (WMobilePack_Options::get_setting('premium_active') == 1 && WMobilePack_Options::get_setting('premium_api_key') != '') {
$premium_manager = new WMobilePack_Premium();
$arr_config_premium = $premium_manager->get_premium_config();
// Check if we have a valid subdomain linked to the Premium theme
if ($arr_config_premium !== null && isset($arr_config_premium['domain_name']) && filter_var('http://' . $arr_config_premium['domain_name'], FILTER_VALIDATE_URL)) {
$mobile_url = "http://" . $arr_config_premium['domain_name'];
}
}
if (is_single()){
// Read inactive categories
$inactive_categories = WMobilePack_Options::get_setting('inactive_categories');
// Read post categories
$post_categories = get_the_category();
// Check if the post belongs to a visible category
$is_visible = false;
$visible_category = null;
foreach ($post_categories as $post_category){
if (!in_array($post_category->cat_ID, $inactive_categories)) {
$is_visible = true;
$mobile_url .= "/#article/".get_the_ID();
break;
}
}
} elseif (is_page()) {
$page_id = get_the_ID();
$inactive_pages = WMobilePack_Options::get_setting('inactive_pages');
if (!in_array($page_id, $inactive_pages)){
$page_ancestors = get_post_ancestors($page_id);
// check if the page's ancestors are all visible
if (count(array_intersect($page_ancestors, $inactive_pages)) == 0){
$is_visible = true;
$mobile_url .= "/#page/".$page_id;
}
}
} elseif (is_category()) {
$category_name = single_cat_title("", false);
if ($category_name){
$category_obj = get_term_by('name', $category_name, 'category');
if ($category_obj && isset($category_obj->slug) && isset($category_obj->term_id) && is_numeric($category_obj->term_id)){
$category_id = $category_obj->term_id;
// check if the category is active / inactive before displaying it
$inactive_categories = WMobilePack_Options::get_setting('inactive_categories');
if (!in_array($category_id, $inactive_categories)){
$is_visible = true;
$mobile_url .= "/#category/".$category_obj->slug.'/'.$category_id;
}
}
}
}
if ($is_visible):
?>
<link rel="alternate" media="only screen and (max-width: 640px)" href="<?php echo $mobile_url;?>" />
<?php
endif;
endif;
endif;
?>
|