]> git.mxchange.org Git - friendica-addons.git/blobdiff - membersince/membersince.php
membersince: fix utf-8 encoding issues
[friendica-addons.git] / membersince / membersince.php
index b8bbca49af21fe84a544e7ddf06bca7a11ad20ad..01de8fd428e9f79ddc10ea60fc5a5298cbe37a1a 100644 (file)
@@ -2,16 +2,14 @@
 /**
  * Name: MemberSince
  * Description: Display membership date in profile
- * Version: 1.0
+ * Version: 1.1
  * Author: Mike Macgirvin <http://macgirvin.com/profile/mike>
  *
  */
 
 use Friendica\Core\Addon;
 use Friendica\Core\L10n;
-use Friendica\Util\Temporal;
-
-require_once 'include/datetime.php';
+use Friendica\Util\DateTimeFormat;
 
 function membersince_install()
 {
@@ -25,9 +23,37 @@ function membersince_uninstall()
 
 function membersince_display(&$a, &$b)
 {
-       // Works in Vier
-       $b = preg_replace('/<\/dl>/', "</dl>\n\n\n<dl id=\"aprofile-membersince\" class=\"aprofile\">\n<dt>" . L10n::t('Member since:') . "</dt>\n<dd>" . Temporal::convert($a->profile['register_date'], date_default_timezone_get()) . "</dd>\n</dl>", $b, 1);
+       if (current_theme() == 'frio') {
+               // Works in Frio.
+               $doc = new DOMDocument();
+               $doc->loadHTML(mb_convert_encoding($b, 'HTML-ENTITIES', 'UTF-8'));
+
+               $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', L10n::t('Member since:'));
+               $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.
+               $entry = $doc->createElement('div', DateTimeFormat::local($a->profile['register_date']));
+               $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);
 
-       // Trying for Frio
-       //$b = preg_replace('/<\/div>/', "<div id=\"aprofile-membersince\" class=\"aprofile\"><hr class=\"profile-separator\"><div class=\"profile-label-name\">" . L10n::t('Member since:') . "</div><div class=\"profile-entry\">" . Temporal::convert($a->profile['register_date'], date_default_timezone_get()) . "</div></div>", $b, 1);
+               $b = $doc->saveHTML();
+       } else {
+               // Works in Vier.
+               $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);
+       }
 }