Code

< 40 %
40-60 %
> 60 %
1
<?php
2
3
/**
4
 * Common libray of independent functions that are shared among different printers
5
 * @licence GNU GPL v2 or later
6
 *
7
 * @since 1.8
8
 *
9
 * @author mwjames
10
 */
11
final class SRFUtils {
12
13
	/**
14
	 * Helper function that generates a html element, representing a
15
	 * processing/loading image as long as jquery is inactive
16
	 *
17
	 * @param boolean $isHtml
18
	 *
19
	 * @since 1.8
20
	 */
21 3
	public static function htmlProcessingElement( $isHtml = true ) {
22 3
		SMWOutputs::requireResource( 'ext.srf' );
23
24 3
		return Html::rawElement(
25 3
			'div',
26 3
			[ 'class' => 'srf-spinner mw-small-spinner' ],
27 3
			Html::element(
28 3
				'span',
29 3
				[ 'class' => 'srf-processing-text' ],
30 3
				wfMessage( 'srf-module-loading' )->inContentLanguage()->text()
31
			)
32
		);
33
	}
34
35
	/**
36
	 * Add JavaScript variables to the output
37
	 *
38
	 * @since 1.8
39
	 */
40 3
	public static function addGlobalJSVariables(){
41
		$options =  [
42 3
			'srfgScriptPath' => $GLOBALS['srfgScriptPath'],
43
			'srfVersion' => SRF_VERSION
44
		];
45
46 3
		$requireHeadItem =  [ 'srf.options' => $options ];
47 3
		SMWOutputs::requireHeadItem( 'srf.options', self::makeVariablesScript( $requireHeadItem, false ) );
48 3
	}
49
50
	/**
51
	 * @brief Returns semantic search link for the current query
52
	 *
53
	 * Generate a link to access the current ask query
54
	 *
55
	 * @since 1.8
56
	 *
57
	 * @param string $link
58
	 *
59
	 * @return $link
60
	 */
61
	public static function htmlQueryResultLink( $link ) {
62
		// Get linker instance
63
		$linker = class_exists( 'DummyLinker' ) ? new DummyLinker : new Linker;
64
65
		// Set caption
66
		$link->setCaption( '[+]' );
67
68
		// Set parameters
69
		$link->setParameter( '' , 'class' );
70
		$link->setParameter( '' , 'searchlabel' );
71
		return $link->getText( SMW_OUTPUT_HTML, $linker );
72
	}
73
74
	/**
75
	 * @since 3.2.0
76
	 *
77
	 * @param array $data
78
	 *
79
	 * @param string|null|bool $nonce
80
	 *
81
	 * @return string|WrappedString HTML
82
	 */
83 4
	public static function makeVariablesScript( $data, $nonce = null ) {
84 4
		$script = ResourceLoader::makeConfigSetScript( $data );
85
86 4
		return ResourceLoader::makeInlineScript( $script, $nonce );
87
	}
88
89
}
90