namespace Friendica\Core\Console;
use Friendica\Core\L10n;
-use dba;
+use Friendica\Database\DBA;
+use Friendica\Util\Strings;
+use RuntimeException;
/**
* @brief tool to archive a contact on the server
protected function doExecute()
{
- $a = get_app();
+ $a = \Friendica\BaseObject::getApp();
if ($this->getOption('v')) {
$this->out('Class: ' . __CLASS__);
throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments');
}
- require_once '.htconfig.php';
- $result = \dba::connect($db_host, $db_user, $db_pass, $db_data);
- unset($db_host, $db_user, $db_pass, $db_data);
-
- if (!$result) {
- throw new \RuntimeException('Unable to connect to database');
+ if ($a->getMode()->isInstall()) {
+ throw new RuntimeException('Friendica isn\'t properly installed yet.');
}
- $nurl = normalise_link($this->getArgument(0));
- if (!dba::exists('contact', ['nurl' => $nurl, 'archive' => false])) {
- throw new \RuntimeException(L10n::t('Could not find any unarchived contact entry for this URL (%s)', $nurl));
+ $nurl = Strings::normaliseLink($this->getArgument(0));
+ if (!DBA::exists('contact', ['nurl' => $nurl, 'archive' => false])) {
+ throw new RuntimeException(L10n::t('Could not find any unarchived contact entry for this URL (%s)', $nurl));
}
- if (dba::update('contact', ['archive' => true], ['nurl' => $nurl])) {
+ if (DBA::update('contact', ['archive' => true], ['nurl' => $nurl])) {
$condition = ["`cid` IN (SELECT `id` FROM `contact` WHERE `archive`)"];
- dba::delete('queue', $condition);
+ DBA::delete('queue', $condition);
$this->out(L10n::t('The contact entries have been archived'));
} else {
- throw new \RuntimeException('The contact archival failed.');
+ throw new RuntimeException('The contact archival failed.');
}
return 0;