]> git.mxchange.org Git - friendica.git/blob - mod/admin.php
Initial admin page
[friendica.git] / mod / admin.php
1 <?php
2  /**
3   * Friendika admin
4   */
5   
6  
7 function admin_init(&$a) {
8         if(!is_site_admin()) {
9                 notice( t('Permission denied.') . EOL);
10                 return;
11         }
12 }
13
14
15 function admin_content(&$a) {
16
17         if(!is_site_admin()) {
18                 return login(false);
19         }
20
21         /**
22          * Side bar links
23          */
24
25         // array( url, name, extra css classes )
26         $aside = Array(
27                 'site'   =>     Array($a->get_baseurl()."/admin/site/", t("Site") , "site"),
28                 'users'  =>     Array($a->get_baseurl()."/admin/users/", t("Users") , "users"),
29                 'plugins'=>     Array($a->get_baseurl()."/admin/plugins/", t("Plugins") , "plugins")
30         );
31         
32         /* get plugins admin page */
33         
34         $r = q("SELECT * FROM `hook` WHERE `hook`='plugin_admin'");
35         $aside['plugins_admin']=Array();
36         foreach ($r as $h){
37                 $plugin = explode("/",$h['file']); $plugin = $plugin[1];
38                 $aside['plugins_admin'][] = Array($a->get_baseurl()."/admin/plugins/".$plugin, $plugin, "plugin");
39         }
40                 
41         $aside['logs'] = Array($a->get_baseurl()."/admin/logs/", t("Logs"), "logs");
42
43         $t = get_markup_template("admin_aside.tpl");
44         $a->page['aside'] = replace_macros( $t, array('$admin' => $aside) );
45
46
47
48         /**
49          * Page content
50          */
51         $o = '';
52         
53         // urls
54         if ($a->argc > 1){
55                 switch ($a->argv[1]){
56                         case 'site': {
57                                 $o = admin_page_site($a);
58                                 break;
59                         }
60                         default:
61                                 notice( t("Item not found.") );
62                 }
63         } else {
64                 $o = admin_page_summary($a);
65         }
66         return $o;
67
68
69
70 /**
71  * Admin Summary Page
72  */
73 function admin_page_summary(&$a) {
74         $r = q("SELECT `page-flags`, COUNT(uid) as `count` FROM `user` GROUP BY `page-flags`");
75         $accounts = Array(
76                 Array( t('Normal Account'), 0),
77                 Array( t('Soapbox Account'), 0),
78                 Array( t('Community/Celebrity Account'), 0),
79                 Array( t('Automatic Friend Account'), 0)
80         );
81         $users=0;
82         foreach ($r as $u){ $accounts[$u['page-flags']][1] = $u['count']; $users+=$u['count']; }
83
84         //echo "<pre>"; var_dump($a->plugins); die("</pre>");
85
86         
87         $r = q("SELECT COUNT(id) as `count` FROM `register`");
88         $pending = $r[0]['count'];
89         
90         
91         
92         
93         
94         $t = get_markup_template("admin_summary.tpl");
95         return replace_macros($t, array(
96                 '$title' => t('Administration'),
97                 '$page' => t('Summary'),
98                 '$users' => Array( t('Registered users'), $users),
99                 '$accounts' => $accounts,
100                 '$pending' => Array( t('Pending registrations'), $pending),
101                 '$version' => Array( t('Version'), FRIENDIKA_VERSION),
102                 '$build' =>  get_config('system','build'),
103                 '$plugins' => Array( t('Active plugins'), $a->plugins )
104         ));
105 }