. * */ namespace Friendica\Worker; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Network\HTTPRequest; /** * Sends updated profile data to the directory */ class Directory { public static function execute($url = '') { $dir = DI::config()->get('system', 'directory'); if (!strlen($dir)) { return; } if ($url == '') { self::updateAll(); return; } $dir .= "/submit"; $arr = ['url' => $url]; Hook::callAll('globaldir_update', $arr); Logger::log('Updating directory: ' . $arr['url'], Logger::DEBUG); if (strlen($arr['url'])) { HTTPRequest::fetchUrl($dir . '?url=' . bin2hex($arr['url'])); } return; } private static function updateAll() { $users = DBA::select('owner-view', ['url'], ['net-publish' => true, 'account_expired' => false, 'verified' => true]); while ($user = DBA::fetch($users)) { Worker::add(PRIORITY_LOW, 'Directory', $user['url']); } DBA::close($users); } }