/**
  * Retreives the user interface of this object.
  *
  * Anything that overrides this method should call the parent method with
  * it's output at the END of processing.
  * @return string The HTML fragment for this interface
  */
 public function getUserUI()
 {
     // Init values
     $current_node = Node::getCurrentNode();
     $smarty = SmartyWifidog::getObject();
     $html = null;
     $user = User::getCurrentUser();
     if ($user) {
         if ($current_node) {
             $abuseControlReport = User::getAbuseControlConnectionHistory($user, null, $current_node);
             if ($abuseControlReport) {
                 //pretty_print_r($abuseControlReport);
                 $db = AbstractDb::getObject();
                 $html .= sprintf(_("During the last %s period, you transfered %s / %s and were connected %s / %s at this node.  Throughout the network, you transfered %s / %s and were connected %s / %s"), $abuseControlReport['connection_limit_window'] ? $db->GetIntervalStrFromDurationArray($db->GetDurationArrayFromIntervalStr($abuseControlReport['connection_limit_window'])) : _("Unknown"), self::formatSize($abuseControlReport['node_total_bytes']), $abuseControlReport['connection_limit_node_max_total_bytes'] ? self::formatSize($abuseControlReport['connection_limit_node_max_total_bytes']) : _("Unlimited"), $abuseControlReport['node_duration'] ? $db->GetIntervalStrFromDurationArray($db->GetDurationArrayFromIntervalStr($abuseControlReport['node_duration'])) : _("None"), $abuseControlReport['connection_limit_node_max_usage_duration'] ? $abuseControlReport['connection_limit_node_max_usage_duration'] : _("Unlimited"), self::formatSize($abuseControlReport['network_total_bytes']), $abuseControlReport['connection_limit_network_max_total_bytes'] ? self::formatSize($abuseControlReport['connection_limit_network_max_total_bytes']) : _("Unlimited"), $abuseControlReport['network_duration'] ? $db->GetIntervalStrFromDurationArray($db->GetDurationArrayFromIntervalStr($abuseControlReport['network_duration'])) : _("None"), $abuseControlReport['connection_limit_network_max_usage_duration'] ? $abuseControlReport['connection_limit_network_max_usage_duration'] : _("Unlimited"));
             } else {
                 $html .= _("Abuse control is currently disabled");
             }
         } else {
             $html .= _("Unable to retrieve node specific restrictions (you are not at a node)");
         }
         $this->setUserUIMainDisplayContent($html);
         return Content::getUserUI();
     }
 }