aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Locs.php62
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;
}
-
+
}