<?php
-require_once("boot.php");
+
+use Friendica\Core\Config;
+use Friendica\Core\Worker;
function directory_run(&$argv, &$argc){
- global $a, $db;
+ $dir = Config::get('system', 'directory');
- if(is_null($a)) {
- $a = new App;
+ if (!strlen($dir)) {
+ return;
}
-
- if(is_null($db)) {
- @include(".htconfig.php");
- require_once("include/dba.php");
- $db = new dba($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
- };
-
- load_config('config');
- load_config('system');
-
- if($argc != 2)
+ if ($argc < 2) {
+ directory_update_all();
return;
+ }
- load_config('system');
-
- load_hooks();
-
-
- $a->set_baseurl(get_config('system','url'));
-
- $dir = get_config('system','directory_submit_url');
-
- if(! strlen($dir))
- return;
+ $dir .= "/submit";
$arr = array('url' => $argv[1]);
call_hooks('globaldir_update', $arr);
logger('Updating directory: ' . $arr['url'], LOGGER_DEBUG);
- if(strlen($arr['url']))
+ if (strlen($arr['url'])) {
fetch_url($dir . '?url=' . bin2hex($arr['url']));
+ }
return;
}
-if (array_search(__file__,get_included_files())===0){
- directory_run($_SERVER["argv"],$_SERVER["argc"]);
- killme();
+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']);
+ }
+ }
}