Subversion Repositories sortobjectsoperators

[/] [autoloads/] [sortobjectstemplateoperators.php] - Blame information for rev 1

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1 akozeka
<?php
2
 
3
/**
4
 * @license Code licensed under the GNU General Public License v2.0
5
 * @author
6
 * @copyright (C) Alex Kozeka 2011
7
 */
8
class SortObjectsTemplateOperators {
9
 
10
    function __construct() {
11
    }
12
 
13
    function operatorList() {
14
        return array(
15
            'get_objects_from_nodes',
16
            'get_sorted_objects',
17
            'get_unique_sorted_objects',
18
        );
19
    }
20
 
21
    function namedParameterPerOperator() {
22
        return true;
23
    }
24
 
25
    function namedParameterList() {
26
        return array(
27
            'get_objects_from_nodes' => array(
28
                'nodes_or_objects' => array(
29
                    'type' => 'array',
30
                    'required' => true,
31
                ),
32
            ),
33
            'get_sorted_objects' => array(
34
                'nodes_or_objects' => array(
35
                    'type' => 'array',
36
                    'required' => true,
37
                ),
38
                'sort_conditions' => array(
39
                    'type' => 'array',
40
                    'required' => false,
41
                    'default' => array(),
42
                ),
43
            ),
44
            'get_unique_sorted_objects' => array(
45
                'nodes_or_objects' => array(
46
                    'type' => 'array',
47
                    'required' => true,
48
                ),
49
                'sort_conditions' => array(
50
                    'type' => 'array',
51
                    'required' => false,
52
                    'default' => array(),
53
                ),
54
            ),
55
        );
56
    }
57
 
58
    function modify(
59
        $tpl,
60
        $operatorName,
61
        $operatorParameters,
62
        $rootNamespace,
63
        $currentNamespace,
64
        &$operatorValue,
65
        $namedParameters
66
    ) {
67
        switch ( $operatorName ) {
68
        case 'get_objects_from_nodes':
69
            $operatorValue = ContentObjectHelper::getObjectsFromNodes(
70
                $namedParameters['nodes_or_objects']
71
            );
72
            break;
73
 
74
        case 'get_sorted_objects':
75
            $operatorValue = ContentObjectHelper::getSortedObjects(
76
                $namedParameters['nodes_or_objects'],
77
                $namedParameters['sort_conditions']
78
            );
79
            break;
80
 
81
        case 'get_unique_sorted_objects':
82
            $operatorValue = ContentObjectHelper::getUniqueSortedObjects(
83
                $namedParameters['nodes_or_objects'],
84
                $namedParameters['sort_conditions']
85
            );
86
            break;
87
        }
88
    }
89
 
90
}
91
 
92
?>