mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-23 20:15:11 +00:00
65 lines
1.4 KiB
Text
65 lines
1.4 KiB
Text
|
#!/usr/bin/env php
|
||
|
<?php
|
||
|
|
||
|
// connect utility
|
||
|
|
||
|
if(! file_exists('include/cli_startup.php')) {
|
||
|
echo t('Run from the top level $Projectname web directory, as util/connect <args>') . PHP_EOL;
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
require_once('include/cli_startup.php');
|
||
|
require_once('include/follow.php');
|
||
|
|
||
|
cli_startup();
|
||
|
|
||
|
|
||
|
if($argc != 3) {
|
||
|
echo t('Usage: util/connect channel_id|channel_address channel[@hub]');
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
if(ctype_digit($argv[1])) {
|
||
|
$c = channelx_by_n($argv[1]);
|
||
|
}
|
||
|
else {
|
||
|
$c = channelx_by_nick($argv[1]);
|
||
|
}
|
||
|
|
||
|
if(! $c) {
|
||
|
echo t('Source channel not found.');
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
$result = new_contact($c['channel_id'],$argv[2],$c,false,false);
|
||
|
|
||
|
if($result['success'] == false) {
|
||
|
echo $result['message'];
|
||
|
exit(1);
|
||
|
}
|
||
|
|
||
|
$clone = array();
|
||
|
foreach($result['abook'] as $k => $v) {
|
||
|
if(strpos($k,'abook_') === 0) {
|
||
|
$clone[$k] = $v;
|
||
|
}
|
||
|
}
|
||
|
unset($clone['abook_id']);
|
||
|
unset($clone['abook_account']);
|
||
|
unset($clone['abook_channel']);
|
||
|
|
||
|
$abconfig = load_abconfig($c['channel_id'],$clone['abook_xchan']);
|
||
|
if($abconfig)
|
||
|
$clone['abconfig'] = $abconfig;
|
||
|
build_sync_packet($c['channel_id'], array('abook' => array($clone)), true);
|
||
|
|
||
|
$can_view_stream = intval(get_abconfig($c['channel_id'],$clone['abook_xchan'],'their_perms','view_stream'));
|
||
|
|
||
|
// If we can view their stream, pull in some posts
|
||
|
|
||
|
if(($can_view_stream) || ($result['abook']['xchan_network'] === 'rss'))
|
||
|
\Zotlabs\Daemon\Master::Summon(array('Onepoll',$result['abook']['abook_id']));
|
||
|
|
||
|
|
||
|
exit(0);
|