aboutsummaryrefslogtreecommitdiffstats
path: root/mod/siteinfo.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/siteinfo.php')
-rw-r--r--mod/siteinfo.php100
1 files changed, 100 insertions, 0 deletions
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
new file mode 100644
index 000000000..671f7110d
--- /dev/null
+++ b/mod/siteinfo.php
@@ -0,0 +1,100 @@
+<?php
+
+function friendica_init(&$a) {
+
+ if ($a->argv[1]=="json"){
+ $register_policy = Array('REGISTER_CLOSED', 'REGISTER_APPROVE', 'REGISTER_OPEN');
+
+ $sql_extra = '';
+ if(x($a->config,'admin_nickname')) {
+ $sql_extra = sprintf(" AND nickname = '%s' ",dbesc($a->config['admin_nickname']));
+ }
+ if (isset($a->config['admin_email']) && $a->config['admin_email']!=''){
+ $r = q("SELECT username, nickname FROM user WHERE email='%s' $sql_extra", dbesc($a->config['admin_email']));
+ $admin = array(
+ 'name' => $r[0]['username'],
+ 'profile'=> $a->get_baseurl().'/channel/'.$r[0]['nickname'],
+ );
+ } else {
+ $admin = false;
+ }
+
+ $visible_plugins = array();
+ if(is_array($a->plugins) && count($a->plugins)) {
+ $r = q("select * from addon where hidden = 0");
+ if(count($r))
+ foreach($r as $rr)
+ $visible_plugins[] = $rr['name'];
+ }
+
+ $data = Array(
+ 'version' => FRIENDICA_VERSION,
+ 'url' => z_root(),
+ 'plugins' => $visible_plugins,
+ 'register_policy' => $register_policy[$a->config['register_policy']],
+ 'admin' => $admin,
+ 'site_name' => $a->config['sitename'],
+ 'platform' => FRIENDICA_PLATFORM,
+ 'info' => ((x($a->config,'info')) ? $a->config['info'] : '')
+ );
+
+ echo json_encode($data);
+ killme();
+ }
+}
+
+
+
+function siteinfo_content(&$a) {
+
+ // FIXME Gak - this needs to be a template.
+
+ $o = '';
+ $o .= '<h3>' . t('Red') . '</h3>';
+
+
+ $o .= '<p></p><p>';
+
+ $o .= t('This is Red - another decentralized, distributed communications project by the folks at Friendica.');
+ if(! get_config('system','hidden_version_siteinfo'))
+ $o .= '</p><p>' . sprintf( t('Version %s'), FRIENDICA_VERSION ) . '</p><p>';
+ $o .= '</p><p>';
+ $o .= t('Running at web location') . ' ' . z_root() . '</p><p>';
+
+ $o .= t('Please visit <a href="http://friendica.com">Friendica.com</a> to learn more about the Friendica and/or Red project.') . '</p><p>';
+
+ $o .= t('Bug reports and issues: please visit') . ' ' . '<a href="http://bugs.friendica.com">Bugs.Friendica.com</a></p><p>';
+ $o .= t('Suggestions, praise, donations, etc. - please email "Info" at Friendica - dot com') . '</p>';
+
+ $o .= '<p></p>';
+
+ $visible_plugins = array();
+ if(is_array($a->plugins) && count($a->plugins)) {
+ $r = q("select * from addon where hidden = 0");
+ if(count($r))
+ foreach($r as $rr)
+ $visible_plugins[] = $rr['name'];
+ }
+
+
+ if(count($visible_plugins)) {
+ $o .= '<p>' . t('Installed plugins/addons/apps:') . '</p>';
+ $sorted = $visible_plugins;
+ $s = '';
+ sort($sorted);
+ foreach($sorted as $p) {
+ if(strlen($p)) {
+ if(strlen($s)) $s .= ', ';
+ $s .= $p;
+ }
+ }
+ $o .= '<div style="margin-left: 25px; margin-right: 25px;">' . $s . '</div>';
+ }
+ else
+ $o .= '<p>' . t('No installed plugins/addons/apps') . '</p>';
+
+ call_hooks('about_hook', $o);
+
+ return $o;
+
+}