Completed
Push — master ( 9b2ed5...981814 )
by Jeroen De
76:07
created

SemanticResultFormats.utils.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

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
	public static function htmlProcessingElement( $isHtml = true ) {
22
		SMWOutputs::requireResource( 'ext.srf' );
23
24
		return Html::rawElement(
25
			'div',
26
			[ 'class' => 'srf-spinner mw-small-spinner' ],
27
			Html::element(
28
				'span',
29
				[ 'class' => 'srf-processing-text' ],
30
				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 1
	public static function addGlobalJSVariables(){
0 ignored issues
show
addGlobalJSVariables uses the super-global variable $GLOBALS which is generally not recommended.

Instead of super-globals, we recommend to explicitly inject the dependencies of your class. This makes your code less dependent on global state and it becomes generally more testable:

// Bad
class Router
{
    public function generate($path)
    {
        return $_SERVER['HOST'].$path;
    }
}

// Better
class Router
{
    private $host;

    public function __construct($host)
    {
        $this->host = $host;
    }

    public function generate($path)
    {
        return $this->host.$path;
    }
}

class Controller
{
    public function myAction(Request $request)
    {
        // Instead of
        $page = isset($_GET['page']) ? intval($_GET['page']) : 1;

        // Better (assuming you use the Symfony2 request)
        $page = $request->query->get('page', 1);
    }
}
Loading history...
41
		$options =  [
42 1
			'srfgScriptPath' => $GLOBALS['srfgScriptPath'],
43
			'srfVersion' => SRF_VERSION
44
		];
45
46 1
		$requireHeadItem =  [ 'srf.options' => $options ];
47 1
		SMWOutputs::requireHeadItem( 'srf.options', Skin::makeVariablesScript( $requireHeadItem, false ) );
48 1
	}
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
}