<?php namespace ManiaControl\Manialinks; /** * Manialink utility class * * @author steeffeen & kremsy */ class ManialinkUtil { /** * Send the given manialink to players * * @param \IXR_ClientMulticall_Gbx $client * @param string $manialink * @param array $logins * @param int $timeout * @param bool $hideOnClick * @return bool */ public static function sendManialinkPage(\IXR_ClientMulticall_Gbx $client, $manialinkText, array $logins = null, $timeout = 0, $hideOnClick = false) { if (!$client || !$manialinkText) { return false; } if (!$logins) { return $client->query('SendDisplayManialinkPage', $manialinkText, $timeout, $hideOnClick); } if (is_string($logins)) { return $client->query('SendDisplayManialinkPageToLogin', $logins, $manialinkText, $timeout, $hideOnClick); } if (is_array($logins)) { $success = true; foreach ($logins as $login) { $subSuccess = $client->query('SendDisplayManialinkPageToLogin', $login, $manialinkText, $timeout, $hideOnClick); if (!$subSuccess) { $success = false; } } return $success; } return false; } /** * Build new simple xml element * * @param string $name * @param string $id * @return \SimpleXMLElement */ public static function newManialinkXml($id = null) { $xml = new \SimpleXMLElement('<?xml version="1.0" encoding="UTF-8" standalone="yes"?><manialink/>'); $xml->addAttribute('version', '1'); if ($id) { $xml->addAttribute('id', $id); } return $xml; } /** * Add alignment attributes to an xml element * * @param \SimpleXMLElement $xml * @param string $halign * @param string $valign */ public static function addAlignment(\SimpleXMLElement $xml, $halign = 'center', $valign = 'center2') { if (!property_exists($xml, 'halign')) { $xml->addAttribute('halign', $halign); } if (!property_exists($xml, 'valign')) { $xml->addAttribute('valign', $valign); } } /** * Add translate attribute to an xml element * * @param \SimpleXMLElement $xml * @param bool $translate */ public static function addTranslate(\SimpleXMLElement $xml, $translate = true) { if (!property_exists($xml, 'translate')) { $xml->addAttribute('translate', ($translate ? 1 : 0)); } } } ?>