<?php
-use \Friendica\Core\Config;
+
+use Friendica\Core\Config;
+use Friendica\Core\Worker;
function directory_run(&$argv, &$argc){
- if ($argc != 2) {
+ $dir = Config::get('system', 'directory');
+
+ if (!strlen($dir)) {
return;
}
- $dir = get_config('system','directory');
-
- if (!strlen($dir)) {
+ if ($argc < 2) {
+ directory_update_all();
return;
}
if (strlen($arr['url'])) {
fetch_url($dir . '?url=' . bin2hex($arr['url']));
}
+
return;
}
+
+function directory_update_all() {
+ $r = q("SELECT `url` FROM `contact`
+ INNER JOIN `profile` ON `profile`.`uid` = `contact`.`uid`
+ INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
+ WHERE `contact`.`self` AND `profile`.`net-publish` AND `profile`.`is-default` AND
+ NOT `user`.`account_expired` AND `user`.`verified`");
+
+ if (dbm::is_result($r)) {
+ foreach ($r AS $user) {
+ Worker::add(PRIORITY_LOW, 'directory', $user['url']);
+ }
+ }
+}