Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
hubzilla
core
Commits
25565bfc
Commit
25565bfc
authored
Dec 01, 2020
by
Mario
Browse files
Ãfix regerssion in updating the primary
parent
77c1c394
Changes
2
Hide whitespace changes
Inline
Side-by-side
Zotlabs/Lib/Libzot.php
View file @
25565bfc
...
...
@@ -871,7 +871,7 @@ class Libzot {
// what we are missing for true hub independence is for any changes in the primary hub to
// get reflected not only in the hublocs, but also to update the URLs and addr in the appropriate xchan
$s
=
Libsync
::
sync_locations
(
$arr
,
$arr
,
true
);
$s
=
Libsync
::
sync_locations
(
$arr
,
$arr
);
if
(
$s
)
{
if
(
$s
[
'change_message'
])
...
...
Zotlabs/Module/Locs.php
View file @
25565bfc
...
...
@@ -8,55 +8,64 @@ use Zotlabs\Daemon\Master;
class
Locs
extends
Controller
{
function
post
()
{
if
(
!
local_channel
())
return
;
$channel
=
App
::
get_channel
();
if
(
$_REQUEST
[
'primary'
])
{
$hubloc_id
=
intval
(
$_REQUEST
[
'primary'
]);
if
(
$hubloc_id
)
{
$r
=
q
(
"select * from hubloc where hubloc_id = %d and hubloc_hash = '%s' limit 1"
,
intval
(
$hubloc_id
),
dbesc
(
$channel
[
'channel_hash'
])
);
if
(
!
$r
)
{
notice
(
t
(
'Location not found.'
)
.
EOL
);
return
;
}
q
(
"UPDATE hubloc SET hubloc_primary = 0 WHERE hubloc_primary = 1 AND (hubloc_hash = '%s' OR hubloc_hash = '%s')"
,
dbesc
(
$channel
[
'channel_hash'
]),
dbesc
(
$channel
[
'channel_portable_id'
])
);
q
(
"UPDATE hubloc SET hubloc_primary = 1 WHERE hubloc_id = %d AND hubloc_hash = '%s'"
,
intval
(
$hubloc_id
),
dbesc
(
$channel
[
'channel_hash'
])
);
$x
=
q
(
"select * from hubloc where hubloc_id = %d and hubloc_hash = '%s' "
,
intval
(
$hubloc_id
),
dbesc
(
$channel
[
'channel_hash'
])
if
(
$x
)
{
hubloc_change_primary
(
$x
[
0
]);
}
Master
::
Summon
(
[
'Notifier'
,
'refresh_all'
,
$channel
[
'channel_id'
]
]
);
return
;
}
}
}
if
(
$_REQUEST
[
'drop'
])
{
$hubloc_id
=
intval
(
$_REQUEST
[
'drop'
]);
if
(
$hubloc_id
)
{
$r
=
q
(
"select * from hubloc where hubloc_id = %d and hubloc_url != '%s' and hubloc_hash = '%s' limit 1"
,
intval
(
$hubloc_id
),
dbesc
(
z_root
()),
dbesc
(
$channel
[
'channel_hash'
])
);
if
(
!
$r
)
{
notice
(
t
(
'Location not found.'
)
.
EOL
);
return
;
}
if
(
intval
(
$r
[
0
][
'hubloc_primary'
]))
{
$x
=
q
(
"select hubloc_id from hubloc where hubloc_primary = 1 and hubloc_hash = '%s'"
,
dbesc
(
$channel
[
'channel_hash'
])
...
...
@@ -70,7 +79,7 @@ class Locs extends Controller {
return
;
}
}
q
(
"UPDATE hubloc SET hubloc_deleted = 1 WHERE hubloc_id_url = '%s' AND (hubloc_hash = '%s' OR hubloc_hash = '%s')"
,
dbesc
(
$r
[
0
][
'hubloc_id_url'
]),
dbesc
(
$channel
[
'channel_hash'
]),
...
...
@@ -78,44 +87,41 @@ class Locs extends Controller {
);
Master
::
Summon
(
[
'Notifier'
,
'refresh_all'
,
$channel
[
'channel_id'
]
]
);
return
;
}
}
}
}
function
get
()
{
if
(
!
local_channel
())
{
notice
(
t
(
'Permission denied.'
)
.
EOL
);
return
;
}
$channel
=
App
::
get_channel
();
if
(
$_REQUEST
[
'sync'
])
{
Master
::
Summon
(
[
'Notifier'
,
'refresh_all'
,
$channel
[
'channel_id'
]
]
);
info
(
t
(
'Syncing locations'
)
.
EOL
);
goaway
(
z_root
()
.
'/locs'
);
}
$r
=
q
(
"select * from hubloc where hubloc_hash = '%s'"
,
dbesc
(
$channel
[
'channel_hash'
])
);
if
(
!
$r
)
{
notice
(
t
(
'No locations found.'
)
.
EOL
);
return
;
}
for
(
$x
=
0
;
$x
<
count
(
$r
);
$x
++
)
{
$r
[
$x
][
'primary'
]
=
(
intval
(
$r
[
$x
][
'hubloc_primary'
])
?
true
:
false
);
$r
[
$x
][
'deleted'
]
=
(
intval
(
$r
[
$x
][
'hubloc_deleted'
])
?
true
:
false
);
}
$o
=
replace_macros
(
get_markup_template
(
'locmanage.tpl'
),
array
(
'$header'
=>
t
(
'Manage Channel Locations'
),
'$loc'
=>
t
(
'Location'
),
...
...
@@ -129,8 +135,8 @@ class Locs extends Controller {
'$last_resort'
=>
t
(
'Use this form to drop the location if the hub is no longer operating.'
),
'$hubs'
=>
$r
));
return
$o
;
}
}
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment