92 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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));
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| ?>
 |