]> git.mxchange.org Git - friendica.git/commitdiff
Add public_contact() function
authorHypolite Petovan <ben.lort@gmail.com>
Mon, 6 Mar 2017 10:06:05 +0000 (05:06 -0500)
committerHypolite Petovan <ben.lort@gmail.com>
Mon, 6 Mar 2017 10:06:05 +0000 (05:06 -0500)
- Add function to retrieve the public contact id (uid = 0) of the
current logged-in user

boot.php

index b8e92670708836c6d5b9c376185120031e914161..a5774aaad8f35fd3e69eee5ed89b3df7973aaa7e 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -1889,11 +1889,35 @@ function goaway($s) {
  * @return int|bool user id or false
  */
 function local_user() {
-       if((x($_SESSION,'authenticated')) && (x($_SESSION,'uid')))
+       if (x($_SESSION, 'authenticated') && x($_SESSION, 'uid')) {
                return intval($_SESSION['uid']);
+       }
        return false;
 }
 
+/**
+ * @brief Returns the public contact id of logged in user or false.
+ *
+ * @return int|bool public contact id or false
+ */
+function public_contact() {
+       static $public_contact_id = false;
+
+       if (!$public_contact_id && x($_SESSION, 'authenticated')) {
+               if (x($_SESSION, 'my_address')) {
+                       // Local user
+                       $public_contact_id = intval(get_contact($_SESSION['my_address'], 0));
+               } else if (x($_SESSION, 'visitor_home')) {
+                       // Remote user
+                       $public_contact_id = intval(get_contact($_SESSION['visitor_home'], 0));
+               }
+       } else if (!x($_SESSION, 'authenticated')) {
+               $public_contact_id = false;
+       }
+
+       return $public_contact_id;
+}
+
 /**
  * @brief Returns contact id of authenticated site visitor or false
  *