Project

General

Profile

« Previous | Next » 

Revision dd0767b6

Added by Andreas Kohlbecker over 3 years ago

ref #8543 moving footnote functions to separate inc file

View differences:

modules/cdm_dataportal/theme/cdm_dataportal.common.theme
178 178
  return $out;
179 179
}
180 180

  
181
/**
182
 * Create markup for the footnotes mapped to the $footnoteListKey.
183
 *
184
 * @param null $footnote_list_key
185
 *  The footnote list key, see RenderHints::getFootnoteListKey()
186
 * @param $element_tag
187
 *  The tag for the footnote element
188
 *
189
 * @return string
190
 * @throws \Exception
191
 */
192
function cdm_annotation_footnotes($footnote_list_key = null, $element_tag = 'span') {
193
  if (variable_get('cdm_dataportal_annotations_footnotes', CDM_DATAPORTAL_ALL_FOOTNOTES)) {
194
    return '';
195
  }
196
  return cdm_footnotes($footnote_list_key . '-annotations', $element_tag);
197
}
198

  
199
/* ============================ footnotes ============================= */
200
/**
201
 * Creates markup for a foot note key
202
 *
203
 * @param null $footnoteKey
204
 * @param string $separator
205
 * @param bool $separator_off
206
 *
207
 * @return string
208
 *   The footnote key markup
209
 */
210
function cdm_footnote_key($footnoteKey = null, $separator = '', $separator_off = false) {
211

  
212
  if (!is_object($footnoteKey) or !isset($footnoteKey->footnoteListKey)) {
213
    return '';
214
  }
215
  if (variable_get('cdm_dataportal_all_footnotes', CDM_DATAPORTAL_ALL_FOOTNOTES)) {
216
    return '';
217
  }
218

  
219
  if ($separator_off) {
220
    $separator = '';
221
  }
222
  $out = '<span class="footnote-key footnote-key-' . $footnoteKey->keyStr . ' member-of-footnotes-' . $footnoteKey->footnoteListKey . '">'
223
    . $separator . '<a href="#footnote-' . $footnoteKey->keyStr . '">' . $footnoteKey->keyStr . '</a>' . '</span>';
224
  return $out;
225
}
226

  
227
/**
228
 * @param null $footnoteKey
229
 * @param null $footnoteText
230
 * @param string $enclosing_tag
231
 *   default is 'span'
232
 *
233
 * @return string
234
 */
235
function footnote_markup($footnoteKey = null, $footnoteText = null, $enclosing_tag = 'span') {
236
  _add_js_footnotes();
237
  if($enclosing_tag == null){
238
    $enclosing_tag = 'span';
239
  }
240
  return '<' . $enclosing_tag . ' class="footnote footnote-' . $footnoteKey . '">'
241
    . '<a name="footnote-' . $footnoteKey . '"></a>'
242
    . '<span class="footnote-anchor">' . $footnoteKey . '.</span>&nbsp;' . $footnoteText
243
    . '</' . $enclosing_tag . '>';
244
}
245

  
246
/**
247
 * Create markup for the footnotes mapped to the $footnoteListKey.
248
 *
249
 * @param null $footnote_list_key
250
 *  The footnote list key, see RenderHints::getFootnoteListKey()
251
 * @param $element_tag
252
 *  The tag for the footnote element
253
 *
254
 * @return string
255
 */
256
function cdm_footnotes($footnote_list_key = null, $element_tag = 'span') {
257

  
258
  if (variable_get('cdm_dataportal_all_footnotes', CDM_DATAPORTAL_ALL_FOOTNOTES)) {
259
    return '';
260
  }
261

  
262
  $out = '<' . $element_tag . ' class="footnotes footnotes-' . $footnote_list_key . ' ">'
263
    . FootnoteManager::renderFootnoteList($footnote_list_key)
264
    . '</' . $element_tag . '>';
265

  
266
  FootnoteManager::removeFootnoteList($footnote_list_key);
267
  return $out;
268
}
269

  
270
/**
271
 * Renders the footnotes for annotations and sources, etc.
272
 *
273
 * @param string $footnote_list_key
274
 *    RenderHints::getFootnoteListKey() will be used if this parameter is undefined.
275
 * @param string $enclosingTag
276
 *    Default tag is 'span'
277
 *
278
 * @return string
279
 *    The markup string
280
 *
281
 */
282
function render_cdm_footnotes($footnote_list_key = NULL, $enclosingTag = 'span'){
283

  
284
  if (variable_get('cdm_dataportal_all_footnotes', CDM_DATAPORTAL_ALL_FOOTNOTES)) {
285
    return '';
286
  }
287
  if(!$footnote_list_key){
288
    $footnote_list_key = RenderHints::getFootnoteListKey();
289
  }
290

  
291
  $out = '<' . $enclosingTag . ' class="footnotes footnotes-' . $footnote_list_key . ' ">'
292
    . FootnoteManager::renderFootnoteList($footnote_list_key . '-annotations') . ' ' . FootnoteManager::renderFootnoteList($footnote_list_key)
293
    . '</' . $enclosingTag . '>';
294
  FootnoteManager::removeFootnoteList($footnote_list_key . '-annotations');
295
  FootnoteManager::removeFootnoteList($footnote_list_key);
296
  return $out;
297
}
298

  
299 181
/**
300 182
 * Created markup for the annotations
301 183
 * @param null $annotations
......
318 200
  return $out;
319 201
}
320 202

  
321
/**
322
 * @todo Please document this function.
323
 * @see http://drupal.org/node/1354
324
 */
325
function cdm_exist_footnote($footnote_list, $footnote) {
326
  $result = FALSE;
327
  if (is_array($footnote_list)) {
328
    foreach ($footnote_list as $element) {
329
      if ($element == $footnote) {
330
        $result = TRUE;
331
      }
332
    }
333
  }
334
  return $result;
335
}
336 203

  
337
/**
338
 * @todo Please document this function.
339
 * @see http://drupal.org/node/1354
340
 */
341
function cdm_add_footnote_to_array(&$footnote_list, $footnote) {
342
  if (!cdm_exist_footnote($footnote_list, $footnote)) {
343
    $footnote_list[] = $footnote;
344
  }
345
}
346 204

  
347 205
/**
348 206
 * Theme function for CDM marker instances

Also available in: Unified diff