]> git.mxchange.org Git - friendica.git/blobdiff - index.php
Merge pull request #1 from zered/solve_741
[friendica.git] / index.php
index 49e6fccb05c0b09868f721e4f4fab456a6c95985..6b6e873ea6b1987a20206b5bdcbabd2cdda9bccc 100644 (file)
--- a/index.php
+++ b/index.php
@@ -32,9 +32,7 @@ $install = ((file_exists('.htconfig.php') && filesize('.htconfig.php')) ? false
 
 
 
-$lang = get_browser_language();
 
-load_translation_table($lang);
 
 /**
  *
@@ -58,10 +56,13 @@ if(!$install) {
        require_once("include/session.php");
        load_hooks();
        call_hooks('init_1');
+
+       $maintenance = get_config('system', 'maintenance');
 }
 
-$maintenance = get_config('system', 'maintenance');
+$lang = get_browser_language();
 
+load_translation_table($lang);
 
 /**
  *
@@ -141,17 +142,23 @@ if($install)
 elseif($maintenance)
        $a->module = 'maintenance';
 else {
-       proc_run('php', 'include/dbupdate.php');
+       check_url($a);
+       check_db();
        check_plugins($a);
 }
 
 nav_set_selected('nothing');
 
-$arr = array('app_menu' => $a->apps);
+//Don't populate apps_menu if apps are private
+$privateapps = get_config('config','private_addons');
+if((local_user()) || (! $privateapps === "1"))
+{
+       $arr = array('app_menu' => $a->apps);
 
-call_hooks('app_menu', $arr);
+       call_hooks('app_menu', $arr);
 
-$a->apps = $arr['app_menu'];
+       $a->apps = $arr['app_menu'];
+}
 
 /**
  *
@@ -181,10 +188,22 @@ if(strlen($a->module)) {
         *
         */
 
+       // Compatibility with the Android Diaspora client
+       if ($a->module == "stream")
+               $a->module = "network";
+       
+       $privateapps = get_config('config','private_addons');
+
        if(is_array($a->plugins) && in_array($a->module,$a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
-               include_once("addon/{$a->module}/{$a->module}.php");
-               if(function_exists($a->module . '_module'))
-                       $a->module_loaded = true;
+               //Check if module is an app and if public access to apps is allowed or not
+               if((!local_user()) && plugin_is_app($a->module) && $privateapps === "1") {
+                       info( t("You must be logged in to use addons. "));
+               }
+               else {
+                       include_once("addon/{$a->module}/{$a->module}.php");
+                       if(function_exists($a->module . '_module'))
+                               $a->module_loaded = true;
+               }
        }
 
        /**
@@ -408,7 +427,9 @@ if(!$a->theme['stylesheet'])
        $stylesheet = current_theme_url();
 else
        $stylesheet = $a->theme['stylesheet'];
-$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array('$stylesheet' => $stylesheet));
+
+$a->page['htmlhead'] = str_replace('{{$stylesheet}}',$stylesheet,$a->page['htmlhead']);
+//$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array('$stylesheet' => $stylesheet));
 
 $page    = $a->page;
 $profile = $a->profile;