2011-10-30 22:12:07 +00:00
< ? php
2012-11-16 22:13:03 +00:00
function siteinfo_init ( & $a ) {
2012-11-16 22:12:01 +00:00
2011-10-30 22:12:07 +00:00
if ( $a -> argv [ 1 ] == " json " ){
$register_policy = Array ( 'REGISTER_CLOSED' , 'REGISTER_APPROVE' , 'REGISTER_OPEN' );
2014-09-30 11:30:04 +00:00
$directory_mode = Array ( 'DIRECTORY_MODE_NORMAL' , 'DIRECTORY_MODE_SECONDARY' , 'DIRECTORY_MODE_PRIMARY' , 'DIRECTORY_MODE_STANDALONE' );
2012-03-30 01:22:20 +00:00
$sql_extra = '' ;
2014-09-12 05:41:45 +00:00
$r = q ( " select * from channel left join account on account_id = channel_account_id where ( account_roles & 4096 ) and account_default_channel = channel_id " );
if ( $r ) {
$admin = array ();
foreach ( $r as $rr ) {
2014-09-15 05:43:56 +00:00
if ( $rr [ 'channel_pageflags' ] & PAGE_HUBADMIN )
$admin [] = array ( 'name' => $rr [ 'channel_name' ], 'address' => $rr [ 'channel_address' ] . '@' . get_app () -> get_hostname (), 'channel' => z_root () . '/channel/' . $rr [ 'channel_address' ]);
}
if ( ! $admin ) {
foreach ( $r as $rr ) {
$admin [] = array ( 'name' => $rr [ 'channel_name' ], 'address' => $rr [ 'channel_address' ] . '@' . get_app () -> get_hostname (), 'channel' => z_root () . '/channel/' . $rr [ 'channel_address' ]);
}
2014-09-12 05:41:45 +00:00
}
2012-03-30 01:22:20 +00:00
}
2014-09-12 05:41:45 +00:00
else {
2011-10-30 22:12:07 +00:00
$admin = false ;
}
2014-09-12 05:52:32 +00:00
$def_service_class = get_config ( 'system' , 'default_service_class' );
if ( $def_service_class )
$service_class = get_config ( 'service_class' , $def_service_class );
else
$service_class = false ;
2012-05-01 06:07:52 +00:00
$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' ];
}
2014-09-12 05:56:01 +00:00
sort ( $visible_plugins );
2012-05-01 06:07:52 +00:00
2013-12-19 02:29:53 +00:00
if ( @ is_dir ( '.git' ) && function_exists ( 'shell_exec' ))
2014-09-12 05:41:45 +00:00
$commit = trim ( @ shell_exec ( 'git log -1 --format="%h"' ));
2013-12-19 02:29:53 +00:00
if ( ! isset ( $commit ) || strlen ( $commit ) > 16 )
$commit = '' ;
2014-09-12 05:41:45 +00:00
$site_info = get_config ( 'system' , 'info' );
$site_name = get_config ( 'system' , 'sitename' );
2014-09-28 17:31:04 +00:00
2014-10-02 11:43:48 +00:00
//Statistics
$channels_total_stat = intval ( get_config ( 'system' , 'channels_total_stat' ));
$channels_active_halfyear_stat = intval ( get_config ( 'system' , 'channels_active_halfyear_stat' ));
$channels_active_monthly_stat = intval ( get_config ( 'system' , 'channels_active_monthly_stat' ));
$local_posts_stat = intval ( get_config ( 'system' , 'local_posts_stat' ));
2014-09-28 17:31:04 +00:00
2011-10-30 22:12:07 +00:00
$data = Array (
2013-04-15 05:24:47 +00:00
'version' => RED_VERSION ,
2013-12-19 02:29:53 +00:00
'commit' => $commit ,
2011-10-30 22:12:07 +00:00
'url' => z_root (),
2012-05-01 06:07:52 +00:00
'plugins' => $visible_plugins ,
2013-01-03 21:50:23 +00:00
'register_policy' => $register_policy [ $a -> config [ 'system' ][ 'register_policy' ]],
2014-09-30 11:30:04 +00:00
'directory_mode' => $directory_mode [ $a -> config [ 'system' ][ 'directory_mode' ]],
2014-10-02 14:25:34 +00:00
'language' => get_config ( 'system' , 'language' ),
2014-09-12 05:41:45 +00:00
'diaspora_emulation' => get_config ( 'system' , 'diaspora_enabled' ),
'rss_connections' => get_config ( 'system' , 'feed_contacts' ),
2014-09-12 05:52:32 +00:00
'default_service_restrictions' => $service_class ,
2011-10-30 22:12:07 +00:00
'admin' => $admin ,
2014-09-12 05:41:45 +00:00
'site_name' => (( $site_name ) ? $site_name : '' ),
2013-04-15 05:24:47 +00:00
'platform' => RED_PLATFORM ,
2014-09-28 17:31:04 +00:00
'info' => (( $site_info ) ? $site_info : '' ),
2014-10-02 11:43:48 +00:00
'channels_total' => $channels_total_stat ,
'channels_active_halfyear' => $channels_active_halfyear_stat ,
'channels_active_monthly' => $channels_active_monthly_stat ,
'local_posts' => $local_posts_stat
2011-10-30 22:12:07 +00:00
);
2014-09-12 05:41:45 +00:00
json_return_and_die ( $data );
2011-10-30 22:12:07 +00:00
}
}
2012-11-16 22:12:01 +00:00
function siteinfo_content ( & $a ) {
2013-12-19 02:29:53 +00:00
if ( ! get_config ( 'system' , 'hidden_version_siteinfo' )) {
2013-04-15 05:24:47 +00:00
$version = sprintf ( t ( 'Version %s' ), RED_VERSION );
2013-12-19 02:29:53 +00:00
if ( @ is_dir ( '.git' ) && function_exists ( 'shell_exec' ))
$commit = @ shell_exec ( 'git log -1 --format="%h"' );
if ( ! isset ( $commit ) || strlen ( $commit ) > 16 )
$commit = '' ;
}
else {
$version = $commit = '' ;
}
2012-05-01 06:07:52 +00:00
$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' ];
}
2013-02-21 02:56:59 +00:00
$plugins_list = '' ;
2012-05-01 06:07:52 +00:00
if ( count ( $visible_plugins )) {
2013-02-21 02:56:59 +00:00
$plugins_text = t ( 'Installed plugins/addons/apps:' );
2012-05-01 06:07:52 +00:00
$sorted = $visible_plugins ;
2012-03-25 04:50:04 +00:00
$s = '' ;
sort ( $sorted );
foreach ( $sorted as $p ) {
if ( strlen ( $p )) {
if ( strlen ( $s )) $s .= ', ' ;
$s .= $p ;
}
}
2013-02-21 02:56:59 +00:00
$plugins_list .= $s ;
2011-10-30 22:12:07 +00:00
}
else
2013-02-21 02:56:59 +00:00
$plugins_text = t ( 'No installed plugins/addons/apps' );
2014-02-10 04:08:29 +00:00
$admininfo = bbcode ( get_config ( 'system' , 'admininfo' ));
2014-01-24 23:58:41 +00:00
2014-02-10 04:08:29 +00:00
if ( file_exists ( 'doc/site_donate.html' ))
$donate .= file_get_contents ( 'doc/site_donate.html' );
2014-02-02 05:03:21 +00:00
2013-02-21 02:56:59 +00:00
$o = replace_macros ( get_markup_template ( 'siteinfo.tpl' ), array (
'$title' => t ( 'Red' ),
2014-07-31 09:33:34 +00:00
'$description' => t ( 'This is a hub of the Red Matrix - a global cooperative network of decentralized privacy enhanced websites.' ),
2013-02-21 02:56:59 +00:00
'$version' => $version ,
2013-12-19 02:29:53 +00:00
'$commit' => $commit ,
2013-02-21 02:56:59 +00:00
'$web_location' => t ( 'Running at web location' ) . ' ' . z_root (),
2013-11-13 02:47:55 +00:00
'$visit' => t ( 'Please visit <a href="http://getzot.com">GetZot.com</a> to learn more about the Red Matrix.' ),
2013-02-21 02:56:59 +00:00
'$bug_text' => t ( 'Bug reports and issues: please visit' ),
2013-11-13 02:47:55 +00:00
'$bug_link_url' => 'https://github.com/friendica/red/issues' ,
'$bug_link_text' => 'redmatrix issues' ,
2014-02-02 05:03:21 +00:00
'$contact' => t ( 'Suggestions, praise, etc. - please email "redmatrix" at librelist - dot com' ),
'$donate' => $donate ,
2014-01-24 23:58:41 +00:00
'$adminlabel' => t ( 'Site Administrators' ),
'$admininfo' => $admininfo ,
2013-02-21 02:56:59 +00:00
'$plugins_text' => $plugins_text ,
'$plugins_list' => $plugins_list
));
2011-10-30 22:12:07 +00:00
call_hooks ( 'about_hook' , $o );
return $o ;
}