diff options
author | friendica <info@friendica.com> | 2013-09-05 22:00:06 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-09-05 22:00:06 -0700 |
commit | c65ea0b97b2dc6fcefa0d2da489f32bdd7d05b65 (patch) | |
tree | 6b1e2faaa0a85aa9216d674ebecd48e0df049cd3 /mod | |
parent | f8801185588a058a26c7aabd6be22ec27ee91b38 (diff) | |
download | volse-hubzilla-c65ea0b97b2dc6fcefa0d2da489f32bdd7d05b65.tar.gz volse-hubzilla-c65ea0b97b2dc6fcefa0d2da489f32bdd7d05b65.tar.bz2 volse-hubzilla-c65ea0b97b2dc6fcefa0d2da489f32bdd7d05b65.zip |
public site list (will take a few days to populate, assuming folks have updated their site access policy which old sites do not have)
Diffstat (limited to 'mod')
-rw-r--r-- | mod/dirsearch.php | 36 | ||||
-rw-r--r-- | mod/pubsites.php | 37 |
2 files changed, 73 insertions, 0 deletions
diff --git a/mod/dirsearch.php b/mod/dirsearch.php index 524f55cc1..7bf430bec 100644 --- a/mod/dirsearch.php +++ b/mod/dirsearch.php @@ -22,6 +22,12 @@ function dirsearch_content(&$a) { json_return_and_die($ret); } + if(argc > 1 && argv(1) === 'sites') { + $ret = list_public_sites(); + json_return_and_die($ret); + } + + $name = ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''); $hub = ((x($_REQUEST,'hub')) ? $_REQUEST['hub'] : ''); $address = ((x($_REQUEST,'address')) ? $_REQUEST['address'] : ''); @@ -163,3 +169,33 @@ function dirsearch_content(&$a) { json_return_and_die($ret); } + + +function list_public_sites() { + $r = q("select * from site where site_access != 0 order by rand()"); + $ret = array('success' => false); + + if($r) { + $ret['success'] = true; + $ret['sites'] = array(); + foreach($r as $rr) { + + if($rr['site_access'] == ACCESS_FREE) + $access = 'free'; + elseif($rr['site_access'] == ACCESS_PAID) + $access = 'paid'; + else + $access = 'private'; + + if($rr['site_register'] == REGISTER_OPEN) + $register = 'open'; + elseif($rr['site_register'] == REGISTER_APPROVE) + $register = 'approve'; + else + $register = 'closed'; + + $ret['sites'][] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register); + } + } + return $ret; +}
\ No newline at end of file diff --git a/mod/pubsites.php b/mod/pubsites.php new file mode 100644 index 000000000..3e8833a9d --- /dev/null +++ b/mod/pubsites.php @@ -0,0 +1,37 @@ +<?php + +function pubsites_content(&$a) { + + $dirmode = intval(get_config('system','directory_mode')); + + if(($dirmode == DIRECTORY_MODE_PRIMARY) || ($dirmode == DIRECTORY_MODE_STANDALONE)) { + $url = z_root() . '/dirsearch'; + } + if(! $url) { + $directory = find_upstream_directory($dirmode); + + if($directory) { + $url = $directory['url'] . '/dirsearch'; + } + else { + $url = DIRECTORY_FALLBACK_MASTER . '/dirsearch'; + } + } + $url .= '/sites'; + + $o .= '<h1>' . t('Public Sites') . '</h1>'; + + $ret = z_fetch_url($url); + if($ret['success']) { + $j = json_decode($ret['body'],true); + if($j) { + $o .= '<table><tr><td>' . t('Site URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td></tr>'; + foreach($j as $jj) { + $o .= '<tr><td>' . $jj['url'] . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td></tr>'; + } + + $o .= '</table>'; + } + } + return $o; +} |