12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- <?php
- /**
- * @file
- * The functions.
- */
- /**
- * Theme function for the translation table.
- *
- * @ingroup themeable
- */
- function theme_translation_table($variables) {
- $form = $variables['form'];
- $rows = array();
- $header = $form['header']['#value'];
- $languages = $form['languages']['#value'];
- foreach (element_children($form['strings']) as $key) {
- // Build the table row.
- $row = array();
- $row['data'][] = array('data' => drupal_render($form['strings'][$key]['source']), 'class' => 'translation-source');
- foreach ($languages as $lang_code => $lang_name) {
- $row['data'][] = array('data' => drupal_render($form['strings'][$key][$lang_code]), 'class' => 'translation-'. $lang_code);
- };
- $location = explode(':', $form['strings'][$key]['location']['#value']);
- if (count($location) == 4) {
- switch ($location[1]) {
- case 'term':
- $row['data'][] = l(t('Edit source'), 'admin/content/taxonomy/edit/term/'. $location[1], array('attributes' => array('title' => t('Edit term (@property)', array('@property' => t($location[2]))))));
- break;
- case 'vocabulary':
- $row['data'][] = l(t('Edit source'), 'admin/content/taxonomy/edit/vocabulary/'. $location[1], array('attributes' => array('title' => t('Edit vocabulary (@property)', array('@property' => t($location[2]))))));
- break;
- case 'item':
- $row['data'][] = l(t('Edit source'), 'admin/build/menu/item/'. $location[1] .'/edit', array('attributes' => array('title' => t('Edit menu item (@property)', array('@property' => t($location[2]))))));
- break;
- case 'type':
- $node_types = node_type_get_names();
- $node_type = isset($node_types[$location[1]]) ? $node_types[$location[1]] : $location[1];
- $row['data'][] = l(t('Edit source'), 'admin/content/node-type/'. $location[1], array('attributes' => array('title' => t('Edit @node_type (@property)', array('@node_type' => $node_type, '@property' => t($location[2]))))));
- break;
- default:
- $row['data'][] = '';
- }
- }
- else {
- $row['data'][] = '';
- }
- $row['data'][] = l(t('Translate'), 'admin/config/regional/translate/edit/'. $key);
- $row['data'][] = l(t('Delete string'), 'admin/config/regional/translate/delete/'. $key);
- $rows[] = $row;
- }
-
- $output = theme('table', array(
- 'header' => $header,
- 'rows' => $rows,
- 'attributes' => array('id' => 'translation-table')
- ));
-
- if ($form['pager']['#markup']) {
- $output .= drupal_render($form['pager']);
- }
- $output .= drupal_render_children($form);
- drupal_add_css(drupal_get_path('module', 'translation_table') .'/css/translation-table-admin.css');
- return $output;
- }
- /**
- * Theme function for the basic filter form.
- *
- * @ingroup themeable
- */
- function theme_translation_table_filter($variables) {
- $form = $variables['form'];
- $output = '<div id="translation-table-filter">';
- foreach (element_children($form) as $key) {
- $attributes = drupal_attributes(array(
- 'id' => 'translation-table-'. str_replace('_', '-', $key) .'-filter',
- 'class' => 'translation-table-filter',
- ));
- $output .= "<div $attributes>";
- $output .= drupal_render($form[$key]);
- $output .= '</div>';
- }
- $output .= '</div>';
- return $output;
- }
|