8c42c1359b1e036c70c0a740f41b8706c51854a9
[friendica-addons.git] / membersince / membersince.php
1 <?php
2 /**
3  * Name: MemberSince
4  * Description: Display membership date in profile
5  * Version: 1.1
6  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
7  *
8  */
9
10 use Friendica\Core\Addon;
11 use Friendica\Core\L10n;
12 use Friendica\Util\DateTimeFormat;
13
14 function membersince_install()
15 {
16         Addon::registerHook('profile_advanced', 'addon/membersince/membersince.php', 'membersince_display');
17 }
18
19 function membersince_uninstall()
20 {
21         Addon::unregisterHook('profile_advanced', 'addon/membersince/membersince.php', 'membersince_display');
22 }
23
24 function membersince_display(&$a, &$b)
25 {
26         if (current_theme() == 'frio') {
27                 // Works in Frio.
28                 $doc = new DOMDocument();
29                 $doc->loadHTML($b);
30
31                 $elm = $doc->getElementById('aprofile-fullname');
32
33                 $div = $doc->createElement('div');
34                 $div->setAttribute('id','aprofile-membersince');
35                 $div->setAttribute('class','col-lg-12 col-md-12 col-sm-12 col-xs-12 aprofile');
36
37                 // The seperator line.
38                 $hr = $doc->createElement('hr','');
39                 $hr->setAttribute('class','profile-separator');
40
41                 // The label div.
42                 $label = $doc->createElement('div', L10n::t('Member since:'));
43                 $label->setAttribute('class', 'col-lg-4 col-md-4 col-sm-4 col-xs-12 profile-label-name text-muted');
44
45                 // The div for the register date of the profile owner.
46                 $entry = $doc->createElement('div', DateTimeFormat::local($a->profile['register_date']));
47                 $entry->setAttribute('class', 'col-lg-8 col-md-8 col-sm-8 col-xs-12 profile-entry');
48
49                 $div->appendChild($hr);
50                 $div->appendChild($label);
51                 $div->appendChild($entry);
52                 $elm->parentNode->insertBefore($div, $elm->nextSibling);
53
54                 $b = $doc->saveHTML();
55         } else {
56                 // Works in Vier.
57                 $b = preg_replace('/<\/dl>/', "</dl>\n\n\n<dl id=\"aprofile-membersince\" class=\"aprofile\">\n<dt>" . L10n::t('Member since:') . "</dt>\n<dd>" . DateTimeFormat::local($a->profile['register_date']) . "</dd>\n</dl>", $b, 1);
58         }
59 }