X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=util%2Fglobal_community_silence.php;h=2eb76a47f4032d2006e52ee92eed7f826b31eab6;hb=c4d3ab68785122ff070c65a444aaa0833b746b2b;hp=b25c2af2238e50fca3d3843382805ec22158b27e;hpb=8c2b678aaa3811af6b9ab086e5066a4dda6ff984;p=friendica.git diff --git a/util/global_community_silence.php b/util/global_community_silence.php index b25c2af223..2eb76a47f4 100755 --- a/util/global_community_silence.php +++ b/util/global_community_silence.php @@ -5,16 +5,16 @@ * @brief tool to silence accounts on the global community page * * With this tool, you can silence an account on the global community page. - * Postings from silenced accounts will not be displayes on the community + * Postings from silenced accounts will not be displayed on the community * page. This silencing does only affect the display on the community page, * accounts following the silenced accounts will still get their postings. * - * Usage: pass the URL of the to be silenced account as only parameter + * Usage: pass the URL of the profile to be silenced account as only parameter * at the command line when running this tool. E.g. * * $> util/global_community_silence.php http://example.com/profile/bob * - * will silence bob@example.com so that his postings wont appear at + * will silence bob@example.com so that his postings won't appear at * the global community page. * * Author: Tobias Diekershoff @@ -22,23 +22,25 @@ * License: AGPLv3 or later, same as Friendica **/ -if ($argc!=2 || $argv[1]=="-h" || $argv[1]=="--help" || $argv[1]=="-?") { +if ($argc != 2 || $argv[1] == "-h" || $argv[1] == "--help" || $argv[1] == "-?") { echo "Usage: ".$argv[0]." [-h|profile_url]\r\n"; echo " -h, -?, --help ... show this help\r\n"; echo " profile_url ...... The URL of the profile you want to silence\r\n"; echo "\r\n"; echo "Example: Silence bob@example.com\r\n"; - echo "$> ".$argv[0]." https://exaple.com/profiles/bob\r\n"; + echo "$> ".$argv[0]." https://example.com/profiles/bob\r\n"; echo "\r\n"; exit(0); } use Friendica\Database\DBM; -require_once("boot.php"); -require_once('include/dba.php'); -require_once("include/text.php"); +use Friendica\Network\Probe; + +require_once 'boot.php'; +require_once 'include/dba.php'; +require_once 'include/text.php'; $a = get_app(); -require_once ".htconfig.php"; +require_once '.htconfig.php'; dba::connect($db_host, $db_user, $db_pass, $db_data); unset($db_host, $db_user, $db_pass, $db_data); @@ -48,11 +50,16 @@ unset($db_host, $db_user, $db_pass, $db_data); * 2. check DB (contact) if there is a contact with uid=0 and that nurl, get the ID * 3. set the flag hidden=1 for the contact entry with the found ID **/ - -$nurl = normalise_link($argv[1]); -$r = dba::select("contact", array("id"), array("nurl" => $nurl, "uid" => 0), array("limit"=> 1)); -if (DBM::is_result($r)) { - dba::update("contact", array("hidden"=>1), array("id"=>$r["id"])); +$net = Probe::uri($argv[1]); +if (in_array($net['network'], [NETWORK_PHANTOM, NETWORK_MAIL])) { + echo "This account seems not to exist."; + echo "\r\n"; + exit(1); +} +$nurl = normalise_link($net['url']); +$contact = dba::selectFirst("contact", ["id"], ["nurl" => $nurl, "uid" => 0]); +if (DBM::is_result($contact)) { + dba::update("contact", ["hidden" => true], ["id" => $contact["id"]]); echo "NOTICE: The account should be silenced from the global community page\r\n"; } else { echo "NOTICE: Could not find any entry for this URL (".$nurl.")\r\n";