aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/roadmapv4.bb27
-rw-r--r--include/identity.php11
-rw-r--r--mod/profile_photo.php3
-rw-r--r--mod/profiles.php16
4 files changed, 53 insertions, 4 deletions
diff --git a/doc/roadmapv4.bb b/doc/roadmapv4.bb
new file mode 100644
index 000000000..4670c73b3
--- /dev/null
+++ b/doc/roadmapv4.bb
@@ -0,0 +1,27 @@
+[h1]Project Roadmap V4[/h1]
+
+[h2]Hubzilla 2.0 - code name "Universal Thunder"[/h2]
+
+[h3]Project Core Development[/h3]
+
+Goals/Highlights:
+
+
+Focus on visual website design tools, widgets, and sharing mechanisms
+
+App organisation.
+
+Conversion of core application to a composer format living under the namespace "Zotlabs"
+
+Conversion of Modules to a more general purpose Controllers layout with DB/memory based
+controller routing as opposed to filesystem routing.
+
+Conversion of core Zot Protocol to a class library
+
+Abstraction of nomadic identity so that sending/receiving to/from singleton networks to/from any clone works flawlessly - [b]provided[/b] the clone physically connected to that singleton identity is up.
+
+[h3]Community Development[/h3]
+
+CalDAV/CardDAV
+
+E-Commerce \ No newline at end of file
diff --git a/include/identity.php b/include/identity.php
index 21d919508..4682cf624 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -1689,3 +1689,14 @@ function get_channel_default_perms($uid) {
return 0;
}
+
+
+function profiles_build_sync($channel_id) {
+
+ $r = q("select * from profile where uid = %d",
+ intval($channel_id)
+ );
+ if($r) {
+ build_sync_packet($channel_id,array('profile' => $r));
+ }
+}
diff --git a/mod/profile_photo.php b/mod/profile_photo.php
index 7067a9f76..2884505f0 100644
--- a/mod/profile_photo.php
+++ b/mod/profile_photo.php
@@ -6,6 +6,7 @@
*/
require_once('include/photo/photo_driver.php');
+require_once('include/identity.php');
/* @brief Function for sync'ing permissions of profile-photos and their profile
*
@@ -195,6 +196,8 @@ function profile_photo_post(&$a) {
);
}
+ profiles_build_sync(local_channel());
+
// We'll set the updated profile-photo timestamp even if it isn't the default profile,
// so that browsers will do a cache update unconditionally
diff --git a/mod/profiles.php b/mod/profiles.php
index 19e5ffc50..282d741ac 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -1,5 +1,6 @@
<?php
+require_once('include/identity.php');
function profiles_init(&$a) {
@@ -37,6 +38,12 @@ function profiles_init(&$a) {
if($r)
info( t('Profile deleted.') . EOL);
+ // @fixme this is a much more complicated sync - add any changed abook entries and
+ // also add deleted flag to profile structure
+ // profiles_build_sync is just here as a placeholder - it doesn't work at all here
+
+ // profiles_build_sync(local_channel());
+
goaway($a->get_baseurl(true) . '/profiles');
return; // NOTREACHED
}
@@ -118,7 +125,10 @@ function profiles_init(&$a) {
dbesc($name)
);
info( t('New profile created.') . EOL);
- if(count($r3) == 1)
+
+ profiles_build_sync(local_channel());
+
+ if(($r3) && (count($r3) == 1))
goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']);
goaway($a->get_baseurl(true) . '/profiles');
@@ -193,7 +203,6 @@ function profiles_post(&$a) {
$namechanged = false;
- call_hooks('profile_post', $_POST);
// import from json export file.
// Only import fields that are allowed on this hub
@@ -220,6 +229,7 @@ function profiles_post(&$a) {
}
}
+ call_hooks('profile_post', $_POST);
if((argc() > 1) && (argv(1) !== "new") && intval(argv(1))) {
@@ -564,8 +574,6 @@ function profiles_post(&$a) {
}
-
-
function profiles_content(&$a) {
$o = '';