friendica-addons/membersince/membersince.php

68 lines
2.0 KiB
PHP
Raw Normal View History

2011-10-18 06:36:14 +00:00
<?php
/**
* Name: MemberSince
* Description: Display membership date in profile
* Version: 1.1
2011-10-18 06:36:14 +00:00
* Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
* Status: Unsupported
2011-10-18 06:36:14 +00:00
*/
use Friendica\Core\Hook;
2020-01-18 21:07:06 +00:00
use Friendica\DI;
2024-12-08 22:49:23 +00:00
use Friendica\Model\User;
use Friendica\Util\DateTimeFormat;
2011-10-18 06:36:14 +00:00
function membersince_install()
{
Hook::register('profile_advanced', 'addon/membersince/membersince.php', 'membersince_display');
}
2011-10-18 06:36:14 +00:00
function membersince_display(array &$b)
{
2024-12-08 22:49:23 +00:00
$uid = DI::userSession()->getLocalUserId();
if ($uid === false) {
return;
}
$user = User::getById($uid, ['register_date']);
if ($user === false || !array_key_exists('register_date', $user)) {
return;
}
2024-12-07 22:08:59 +00:00
if (DI::appHelper()->getCurrentTheme() == 'frio') {
2018-02-06 17:24:03 +00:00
// Works in Frio.
$doc = new DOMDocument();
2018-02-07 16:01:27 +00:00
$doc->loadHTML(mb_convert_encoding($b, 'HTML-ENTITIES', 'UTF-8'));
2011-10-18 06:36:14 +00:00
2018-02-06 17:24:03 +00:00
$elm = $doc->getElementById('aprofile-fullname');
$div = $doc->createElement('div');
$div->setAttribute('id','aprofile-membersince');
$div->setAttribute('class','col-lg-12 col-md-12 col-sm-12 col-xs-12 aprofile');
// The seperator line.
$hr = $doc->createElement('hr','');
$hr->setAttribute('class','profile-separator');
// The label div.
$label = $doc->createElement('div', DI::l10n()->t('Member since:'));
2018-02-06 17:24:03 +00:00
$label->setAttribute('class', 'col-lg-4 col-md-4 col-sm-4 col-xs-12 profile-label-name text-muted');
// The div for the register date of the profile owner.
2024-12-08 22:49:23 +00:00
$entry = $doc->createElement('div', DateTimeFormat::local($user['register_date']));
2018-02-06 17:24:03 +00:00
$entry->setAttribute('class', 'col-lg-8 col-md-8 col-sm-8 col-xs-12 profile-entry');
$div->appendChild($hr);
$div->appendChild($label);
$div->appendChild($entry);
$elm->parentNode->insertBefore($div, $elm->nextSibling);
2018-02-06 17:24:03 +00:00
$b = $doc->saveHTML();
} else {
// Works in Vier.
2024-12-08 22:49:23 +00:00
$b = preg_replace('/<\/dl>/', "</dl>\n\n\n<dl id=\"aprofile-membersince\" class=\"aprofile\">\n<dt>" . DI::l10n()->t('Member since:') . "</dt>\n<dd>" . DateTimeFormat::local($user['register_date']) . "</dd>\n</dl>", $b, 1);
2018-02-06 17:24:03 +00:00
}
}