|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
/* search.twig */ |
|
4
|
|
|
class __TwigTemplate_e70e62093e8f3084819c1df4e93d0e087a2a0e4bc73d6c9e00b07b6a037ff853 extends Twig_Template |
|
|
|
|
|
|
5
|
|
|
{ |
|
6
|
|
|
public function __construct(Twig_Environment $env) |
|
7
|
|
|
{ |
|
8
|
|
|
parent::__construct($env); |
|
9
|
|
|
|
|
10
|
|
|
// line 1 |
|
11
|
|
|
$this->parent = $this->loadTemplate("layout/layout.twig", "search.twig", 1); |
|
12
|
|
|
$this->blocks = array( |
|
13
|
|
|
'title' => array($this, 'block_title'), |
|
14
|
|
|
'body_class' => array($this, 'block_body_class'), |
|
15
|
|
|
'page_content' => array($this, 'block_page_content'), |
|
16
|
|
|
'js_search' => array($this, 'block_js_search'), |
|
17
|
|
|
); |
|
18
|
|
|
} |
|
19
|
|
|
|
|
20
|
|
|
protected function doGetParent(array $context) |
|
21
|
|
|
{ |
|
22
|
|
|
return "layout/layout.twig"; |
|
23
|
|
|
} |
|
24
|
|
|
|
|
25
|
|
|
protected function doDisplay(array $context, array $blocks = array()) |
|
26
|
|
|
{ |
|
27
|
|
|
// line 2 |
|
28
|
|
|
$context["__internal_7d77848fe072a19ce1c194dcd815efc01316d1ff1ac5f5506bbb750580ab41bd"] = $this->loadTemplate("macros.twig", "search.twig", 2); |
|
29
|
|
|
// line 1 |
|
30
|
|
|
$this->parent->display($context, array_merge($this->blocks, $blocks)); |
|
31
|
|
|
} |
|
32
|
|
|
|
|
33
|
|
|
// line 3 |
|
34
|
|
|
public function block_title($context, array $blocks = array()) |
|
|
|
|
|
|
35
|
|
|
{ |
|
36
|
|
|
echo "Search | "; |
|
37
|
|
|
$this->displayParentBlock("title", $context, $blocks); |
|
38
|
|
|
} |
|
39
|
|
|
|
|
40
|
|
|
// line 4 |
|
41
|
|
|
public function block_body_class($context, array $blocks = array()) |
|
|
|
|
|
|
42
|
|
|
{ |
|
43
|
|
|
echo "search-page"; |
|
44
|
|
|
} |
|
45
|
|
|
|
|
46
|
|
|
// line 6 |
|
47
|
|
|
public function block_page_content($context, array $blocks = array()) |
|
|
|
|
|
|
48
|
|
|
{ |
|
49
|
|
|
// line 7 |
|
50
|
|
|
echo " |
|
51
|
|
|
<div class=\"page-header\"> |
|
52
|
|
|
<h1>Search</h1> |
|
53
|
|
|
</div> |
|
54
|
|
|
|
|
55
|
|
|
<p>This page allows you to search through the API documentation for |
|
56
|
|
|
specific terms. Enter your search words into the box below and click |
|
57
|
|
|
\"submit\". The search will be performed on namespaces, clases, interfaces, |
|
58
|
|
|
traits, functions, and methods.</p> |
|
59
|
|
|
|
|
60
|
|
|
<form class=\"form-inline\" role=\"form\" action=\""; |
|
61
|
|
|
// line 17 |
|
62
|
|
|
echo twig_escape_filter($this->env, $this->env->getExtension('sami')->pathForStaticFile($context, "search.html"), "html", null, true); |
|
63
|
|
|
echo "\" method=\"GET\"> |
|
64
|
|
|
<div class=\"form-group\"> |
|
65
|
|
|
<label class=\"sr-only\" for=\"search\">Search</label> |
|
66
|
|
|
<input type=\"search\" class=\"form-control\" name=\"search\" id=\"search\" placeholder=\"Search\"> |
|
67
|
|
|
</div> |
|
68
|
|
|
<button type=\"submit\" class=\"btn btn-default\">submit</button> |
|
69
|
|
|
</form> |
|
70
|
|
|
|
|
71
|
|
|
<h2>Search Results</h2> |
|
72
|
|
|
|
|
73
|
|
|
<div class=\"container-fluid\"> |
|
74
|
|
|
<ul class=\"search-results\"></ul> |
|
75
|
|
|
</div> |
|
76
|
|
|
|
|
77
|
|
|
"; |
|
78
|
|
|
// line 31 |
|
79
|
|
|
$this->displayBlock("js_search", $context, $blocks); |
|
80
|
|
|
echo " |
|
81
|
|
|
|
|
82
|
|
|
"; |
|
83
|
|
|
} |
|
84
|
|
|
|
|
85
|
|
|
// line 35 |
|
86
|
|
|
public function block_js_search($context, array $blocks = array()) |
|
|
|
|
|
|
87
|
|
|
{ |
|
88
|
|
|
// line 36 |
|
89
|
|
|
echo " <script type=\"text/javascript\"> |
|
90
|
|
|
|
|
91
|
|
|
(function() { |
|
92
|
|
|
var term = Sami.cleanSearchTerm(); |
|
93
|
|
|
|
|
94
|
|
|
if (!term) { |
|
95
|
|
|
\$('h2').hide(); |
|
96
|
|
|
return; |
|
97
|
|
|
} |
|
98
|
|
|
|
|
99
|
|
|
\$('#search').val(term); |
|
100
|
|
|
var container = \$('.search-results'); |
|
101
|
|
|
|
|
102
|
|
|
// create the search index |
|
103
|
|
|
"; |
|
104
|
|
|
// line 50 |
|
105
|
|
|
$this->displayBlock("search_index", $context, $blocks); |
|
106
|
|
|
echo " |
|
107
|
|
|
|
|
108
|
|
|
var results = Sami.search(term); |
|
109
|
|
|
var len = results.length; |
|
110
|
|
|
|
|
111
|
|
|
if (len == 0) { |
|
112
|
|
|
container.html('No results were found'); |
|
113
|
|
|
return; |
|
114
|
|
|
} |
|
115
|
|
|
|
|
116
|
|
|
for (var i = 0, text_content = ''; i < len; i++) { |
|
117
|
|
|
|
|
118
|
|
|
var ele = results[i]; |
|
119
|
|
|
var contents = '<li><h2 class=\"clearfix\">'; |
|
120
|
|
|
var class_name = Sami.getSearchClass(ele.type); |
|
121
|
|
|
contents += '<a href=\"' + ele.link + '\">' + ele.name + '</a>'; |
|
122
|
|
|
contents += '<div class=\"search-type type-' + ele.type + '\"><span class=\"pull-right label ' + class_name + '\">' + ele.type + '</span></div>'; |
|
123
|
|
|
contents += '</h2>'; |
|
124
|
|
|
|
|
125
|
|
|
if (ele.fromName && ele.fromLink) { |
|
126
|
|
|
contents += '<div class=\"search-from\">from <a href=\"' + ele.fromLink + '\">' + ele.fromName + '</a></div>'; |
|
127
|
|
|
} |
|
128
|
|
|
|
|
129
|
|
|
contents += '<div class=\"search-description\">'; |
|
130
|
|
|
|
|
131
|
|
|
// Add description, decode entities, and strip wrapping quotes |
|
132
|
|
|
if (ele.doc) { |
|
133
|
|
|
text_content = \$('<p>' + ele.doc + '</p>').text(); |
|
134
|
|
|
if (text_content[0] == '\"') { |
|
135
|
|
|
text_content = text_content.substring(1); |
|
136
|
|
|
} |
|
137
|
|
|
if (text_content[text_content.length - 1] == '\"') { |
|
138
|
|
|
text_content = text_content.substring(0, text_content.length - 1); |
|
139
|
|
|
} |
|
140
|
|
|
contents += text_content; |
|
141
|
|
|
} |
|
142
|
|
|
|
|
143
|
|
|
contents += '</div></li>'; |
|
144
|
|
|
container.append(\$(contents)); |
|
145
|
|
|
} |
|
146
|
|
|
})(); |
|
147
|
|
|
</script> |
|
148
|
|
|
"; |
|
149
|
|
|
} |
|
150
|
|
|
|
|
151
|
|
|
public function getTemplateName() |
|
152
|
|
|
{ |
|
153
|
|
|
return "search.twig"; |
|
154
|
|
|
} |
|
155
|
|
|
|
|
156
|
|
|
public function isTraitable() |
|
157
|
|
|
{ |
|
158
|
|
|
return false; |
|
159
|
|
|
} |
|
160
|
|
|
|
|
161
|
|
|
public function getDebugInfo() |
|
162
|
|
|
{ |
|
163
|
|
|
return array ( 105 => 50, 89 => 36, 86 => 35, 79 => 31, 62 => 17, 50 => 7, 47 => 6, 41 => 4, 34 => 3, 30 => 1, 28 => 2, 11 => 1,); |
|
164
|
|
|
} |
|
165
|
|
|
} |
|
166
|
|
|
/* {% extends "layout/layout.twig" %}*/ |
|
|
|
|
|
|
167
|
|
|
/* {% from "macros.twig" import class_link, namespace_link, method_link, property_link %}*/ |
|
168
|
|
|
/* {% block title %}Search | {{ parent() }}{% endblock %}*/ |
|
|
|
|
|
|
169
|
|
|
/* {% block body_class 'search-page' %}*/ |
|
170
|
|
|
/* */ |
|
171
|
|
|
/* {% block page_content %}*/ |
|
172
|
|
|
/* */ |
|
173
|
|
|
/* <div class="page-header">*/ |
|
174
|
|
|
/* <h1>Search</h1>*/ |
|
175
|
|
|
/* </div>*/ |
|
176
|
|
|
/* */ |
|
177
|
|
|
/* <p>This page allows you to search through the API documentation for*/ |
|
178
|
|
|
/* specific terms. Enter your search words into the box below and click*/ |
|
179
|
|
|
/* "submit". The search will be performed on namespaces, clases, interfaces,*/ |
|
180
|
|
|
/* traits, functions, and methods.</p>*/ |
|
181
|
|
|
/* */ |
|
182
|
|
|
/* <form class="form-inline" role="form" action="{{ path('search.html') }}" method="GET">*/ |
|
183
|
|
|
/* <div class="form-group">*/ |
|
184
|
|
|
/* <label class="sr-only" for="search">Search</label>*/ |
|
185
|
|
|
/* <input type="search" class="form-control" name="search" id="search" placeholder="Search">*/ |
|
186
|
|
|
/* </div>*/ |
|
187
|
|
|
/* <button type="submit" class="btn btn-default">submit</button>*/ |
|
188
|
|
|
/* </form>*/ |
|
189
|
|
|
/* */ |
|
190
|
|
|
/* <h2>Search Results</h2>*/ |
|
191
|
|
|
/* */ |
|
192
|
|
|
/* <div class="container-fluid">*/ |
|
193
|
|
|
/* <ul class="search-results"></ul>*/ |
|
194
|
|
|
/* </div>*/ |
|
195
|
|
|
/* */ |
|
196
|
|
|
/* {{ block('js_search') }}*/ |
|
|
|
|
|
|
197
|
|
|
/* */ |
|
198
|
|
|
/* {% endblock %}*/ |
|
199
|
|
|
/* */ |
|
200
|
|
|
/* {% block js_search %}*/ |
|
201
|
|
|
/* <script type="text/javascript">*/ |
|
202
|
|
|
/* */ |
|
203
|
|
|
/* (function() {*/ |
|
|
|
|
|
|
204
|
|
|
/* var term = Sami.cleanSearchTerm();*/ |
|
205
|
|
|
/* */ |
|
206
|
|
|
/* if (!term) {*/ |
|
|
|
|
|
|
207
|
|
|
/* $('h2').hide();*/ |
|
|
|
|
|
|
208
|
|
|
/* return;*/ |
|
209
|
|
|
/* }*/ |
|
210
|
|
|
/* */ |
|
211
|
|
|
/* $('#search').val(term);*/ |
|
|
|
|
|
|
212
|
|
|
/* var container = $('.search-results');*/ |
|
|
|
|
|
|
213
|
|
|
/* */ |
|
214
|
|
|
/* // create the search index*/ |
|
215
|
|
|
/* {{ block('search_index') }}*/ |
|
|
|
|
|
|
216
|
|
|
/* */ |
|
217
|
|
|
/* var results = Sami.search(term);*/ |
|
218
|
|
|
/* var len = results.length;*/ |
|
219
|
|
|
/* */ |
|
220
|
|
|
/* if (len == 0) {*/ |
|
|
|
|
|
|
221
|
|
|
/* container.html('No results were found');*/ |
|
|
|
|
|
|
222
|
|
|
/* return;*/ |
|
223
|
|
|
/* }*/ |
|
224
|
|
|
/* */ |
|
225
|
|
|
/* for (var i = 0, text_content = ''; i < len; i++) {*/ |
|
226
|
|
|
/* */ |
|
227
|
|
|
/* var ele = results[i];*/ |
|
228
|
|
|
/* var contents = '<li><h2 class="clearfix">';*/ |
|
229
|
|
|
/* var class_name = Sami.getSearchClass(ele.type);*/ |
|
230
|
|
|
/* contents += '<a href="' + ele.link + '">' + ele.name + '</a>';*/ |
|
231
|
|
|
/* contents += '<div class="search-type type-' + ele.type + '"><span class="pull-right label ' + class_name + '">' + ele.type + '</span></div>';*/ |
|
232
|
|
|
/* contents += '</h2>';*/ |
|
233
|
|
|
/* */ |
|
234
|
|
|
/* if (ele.fromName && ele.fromLink) {*/ |
|
235
|
|
|
/* contents += '<div class="search-from">from <a href="' + ele.fromLink + '">' + ele.fromName + '</a></div>';*/ |
|
236
|
|
|
/* }*/ |
|
237
|
|
|
/* */ |
|
238
|
|
|
/* contents += '<div class="search-description">';*/ |
|
239
|
|
|
/* */ |
|
240
|
|
|
/* // Add description, decode entities, and strip wrapping quotes*/ |
|
241
|
|
|
/* if (ele.doc) {*/ |
|
|
|
|
|
|
242
|
|
|
/* text_content = $('<p>' + ele.doc + '</p>').text();*/ |
|
243
|
|
|
/* if (text_content[0] == '"') {*/ |
|
|
|
|
|
|
244
|
|
|
/* text_content = text_content.substring(1);*/ |
|
245
|
|
|
/* }*/ |
|
246
|
|
|
/* if (text_content[text_content.length - 1] == '"') {*/ |
|
|
|
|
|
|
247
|
|
|
/* text_content = text_content.substring(0, text_content.length - 1);*/ |
|
248
|
|
|
/* }*/ |
|
249
|
|
|
/* contents += text_content;*/ |
|
250
|
|
|
/* }*/ |
|
251
|
|
|
/* */ |
|
252
|
|
|
/* contents += '</div></li>';*/ |
|
253
|
|
|
/* container.append($(contents));*/ |
|
|
|
|
|
|
254
|
|
|
/* }*/ |
|
255
|
|
|
/* })();*/ |
|
|
|
|
|
|
256
|
|
|
/* </script>*/ |
|
257
|
|
|
/* {% endblock %}*/ |
|
258
|
|
|
/* */ |
|
259
|
|
|
|
You can fix this by adding a namespace to your class:
When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.