diff options
author | Mario <mario@mariovavti.com> | 2020-12-01 08:27:18 +0000 |
---|---|---|
committer | Mario <mario@mariovavti.com> | 2020-12-01 09:38:48 +0100 |
commit | 508b3ce730a6f84858d1c69114c5b70730950e47 (patch) | |
tree | 014b7eb54689a99e747f463df625767fbe649947 /Zotlabs/Module/Locs.php | |
parent | 87ecc61fb4f61eecbff1a33bf34d02a5d74eccce (diff) | |
download | volse-hubzilla-508b3ce730a6f84858d1c69114c5b70730950e47.tar.gz volse-hubzilla-508b3ce730a6f84858d1c69114c5b70730950e47.tar.bz2 volse-hubzilla-508b3ce730a6f84858d1c69114c5b70730950e47.zip |
Ãfix regerssion in updating the primary
(cherry picked from commit c47434634d89e1db37a791d1c4243950a74d906d)
Diffstat (limited to 'Zotlabs/Module/Locs.php')
-rw-r--r-- | Zotlabs/Module/Locs.php | 62 |
1 files changed, 34 insertions, 28 deletions
diff --git a/Zotlabs/Module/Locs.php b/Zotlabs/Module/Locs.php index 4c935a6a2..7273c108c 100644 --- a/Zotlabs/Module/Locs.php +++ b/Zotlabs/Module/Locs.php @@ -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; } - + } |