Completed
Push — master ( c0e2ef...2173f1 )
by Karsten
07:19
created

SRFUtils   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 70%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 1
dl 0
loc 64
ccs 14
cts 20
cp 0.7
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A addGlobalJSVariables() 0 9 1
A htmlQueryResultLink() 0 12 2
A htmlProcessingElement() 0 13 1
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 1
	public static function htmlProcessingElement( $isHtml = true ) {
0 ignored issues
show
Unused Code introduced by
The parameter $isHtml is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
22 1
		SMWOutputs::requireResource( 'ext.srf' );
23
24 1
		return Html::rawElement(
25 1
			'div',
26 1
			[ 'class' => 'srf-spinner mw-small-spinner' ],
27 1
			Html::element(
28 1
				'span',
29 1
				[ 'class' => 'srf-processing-text' ],
30 1
				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
Coding Style introduced by
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
0 ignored issues
show
Documentation introduced by
The doc-type $link could not be parsed: Unknown type name "$link" at position 0. (view supported doc-types)

This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.

Loading history...
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( '[+]' );
0 ignored issues
show
Bug introduced by
The method setCaption cannot be called on $link (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
67
68
		// Set parameters
69
		$link->setParameter( '' , 'class' );
0 ignored issues
show
Bug introduced by
The method setParameter cannot be called on $link (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
70
		$link->setParameter( '' , 'searchlabel' );
0 ignored issues
show
Bug introduced by
The method setParameter cannot be called on $link (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
71
		return $link->getText( SMW_OUTPUT_HTML, $linker );
0 ignored issues
show
Bug introduced by
The method getText cannot be called on $link (of type string).

Methods can only be called on objects. This check looks for methods being called on variables that have been inferred to never be objects.

Loading history...
72
	}
73
74
}