Newer
Older
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
<?php
/**
* Get domains the node is currently published to
*
* @param $node
* node object
* @return array
* array('$gid' => $gid)
*/
function expire_get_domains(&$node) {
$domains = array();
if ($node->nid) {
$result = db_query("SELECT gid FROM {domain_access} WHERE nid = :nid", array(':nid' => $node->nid));
while ($row = db_fetch_array($result)) {
$gid = $row['gid'];
$domains[$gid] = $gid;
}
}
elseif ($node->mail && $node->name) {
$result = db_query("SELECT domain_id FROM {domain_editor} WHERE uid = :uid", array(':uid' => $node->uid));
while ($row = db_fetch_array($result)) {
$gid = $row['domain_id'];
$domains[$gid] = $gid;
}
}
return $domains;
}
/**
* Get all base url's where this node can appear.
*
* @param $node
* node object
* @return array
* array(0 => array($base_url . '/'))
*/
function expire_get_base_urls($node) {
global $base_url, $base_path;
// Get list of URL's if using domain access
$base_urls = array();
$domains = array();
// Get domains from node/user object
foreach ($node->domains as $key => $domain_id) {
if ($key != $domain_id) {
continue;
}
$domains[$domain_id] = $domain_id;
}
// Get domains from database
foreach (expire_get_domains($node) as $domain_id) {
$domains[$domain_id] = $domain_id;
}
// Get aliases and set base url
foreach ($domains as $domain_id) {
$domain = domain_lookup($domain_id);
if ($domain['valid'] == 1) {
if (isset($domain['path'])) {
$base_urls[$domain_id][] = $domain['path'];
}
if (is_array($domain['aliases'])) {
foreach ($domain['aliases'] as $alias) {
if ($alias['redirect'] != 1) {
$temp_domain = array('scheme' => $domain['scheme'], 'subdomain' => $alias['pattern']);
$base_urls[$domain_id][] = domain_get_path($temp_domain);
}
}
}
}
}
return $base_urls;
}