FINAL suepr merge step : added all modules to this super repos

This commit is contained in:
Bachir Soussi Chiadmi
2015-04-19 16:46:59 +02:00
7585 changed files with 1723356 additions and 18 deletions

View File

@@ -0,0 +1,151 @@
<?php
/**
* @file
* Translation table for fields
*/
/**
* Implementation of hook_translation_table_data().
*/
function field_translation_table_data() {
$items['field'] = array(
'title' => 'Field',
'description' => 'Edit field translations',
'form' => 'field_translation_table_form',
'file' => 'modules/field.translation_table.inc',
);
return $items;
}
/**
* Menu callback; Admin form for field translation.
*/
function field_translation_table_form($form, &$form_state) {
$languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
$bundle = isset($_SESSION['translation_table']['bundle']) ? $_SESSION['translation_table']['bundle'] : 0;
$form['filter'] = field_translation_table_filter($languages_selected, $bundle);
$form['filtered_form'] = field_translation_table_filtered_form($languages_selected, $bundle);
$form['#submit'][] = 'field_translation_table_form_submit';
$form['#submit'][] = 'translation_table_submit_translations';
return $form;
}
/**
* Field filter.
*/
function field_translation_table_filter($languages_selected, $bundle) {
$form['languages_selected'] = array(
'#type' => 'select',
'#title' => t('Languages'),
'#description' => t('Select the languages to display.'),
'#options' => locale_language_list('name', TRUE),
'#default_value' => array_keys($languages_selected),
'#multiple' => TRUE,
);
$res = db_query("SELECT DISTINCT objectid FROM {i18n_string} WHERE textgroup = 'field'");
$scope_options = array(0 => t('- All -'));
while ($bundle_opt = $res->fetchField()) {
$scope_options[$bundle_opt] = $bundle_opt;
}
$form['bundle'] = array(
'#type' => 'select',
'#title' => t('Attached to'),
'#description' => t('Select the kind of strings to display.'),
'#options' => $scope_options,
'#default_value' => $bundle,
);
$form['filter'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
);
$form['#theme'] = 'translation_table_filter';
return $form;
}
/**
* Form for field translation.
*
* @param $languages
* languages to translate to
* @param $bundle
*/
function field_translation_table_filtered_form($languages, $bundle) {
$header = _translation_table_get_header($languages);
switch ($bundle) {
case '0':
$query = db_select('locales_source', 'ls');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'field')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
default:
$query = db_select('locales_source', 'ls');
$query->join('i18n_string', 'i18ns', 'ls.lid = i18ns.lid');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'field')
->condition('i18ns.objectid', $bundle);
// $query->orderByHeader($header);
// $query->limit(50);
$result = $query->execute();
break;
}
$form['strings']['#tree'] = TRUE;
$form['#cache'] = FALSE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
while ($source = $result->fetch()) {
if (strlen(trim($source->source)) > 0) {
$form['strings'][$source->lid] = _translation_table_row($source, $languages);
}
}
$form['languages'] = array(
'#type' => 'value',
'#value' => $languages,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['pager'] = array('#markup' => theme('pager'));
$form['#theme'] = 'translation_table';
return $form;
}
/**
* Submit handler for the field translation form.
*/
function field_translation_table_form_submit($form, &$form_state) {
switch ($form_state['clicked_button']['#id']) {
case 'edit-filter--2':
case 'edit-filter':
case 'edit-submit':
$_SESSION['translation_table']['bundle'] = $form_state['values']['bundle'];
$_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
break;
}
}

View File

@@ -0,0 +1,118 @@
<?php
/**
* @file
* Translation table for the menu module.
*/
/**
* Implementation of hook_translation_table_data().
*/
function menu_translation_table_data() {
$items['menu'] = array(
'title' => 'Menu',
'description' => 'Edit menu translations',
'form' => 'menu_translation_table_menu_form',
'file' => 'modules/menu.translation_table.inc',
);
return $items;
}
/**
* Menu callback; Admin form for menu translation.
*/
function menu_translation_table_menu_form($form, &$form_state) {
$languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
$form['filter'] = menu_translation_table_menu_filter($languages_selected);
$form['filtered_form'] = menu_translation_table_menu_filtered_form($languages_selected);
$form['#submit'][] = 'menu_translation_table_menu_form_submit';
$form['#submit'][] = 'translation_table_submit_translations';
return $form;
}
/**
* Menu filter.
*/
function menu_translation_table_menu_filter($languages_selected) {
$form['languages_selected'] = array(
'#type' => 'select',
'#title' => t('Languages'),
'#description' => t('Select the languages to display.'),
'#options' => locale_language_list('name', TRUE),
'#default_value' => array_keys($languages_selected),
'#multiple' => TRUE,
);
$form['filter'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
);
$form['#theme'] = 'translation_table_filter';
return $form;
}
/**
* Form for menu translation.
* Note: If the menu string is not in the locales_source table, then it won't be
* displayed.
*
* @param $languages
* languages to translate to
*/
function menu_translation_table_menu_filtered_form($languages) {
$header = _translation_table_get_header($languages);
$query = db_select('locales_source', 'ls');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'menu')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
$form['strings']['#tree'] = TRUE;
$form['#cache'] = FALSE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
while ($source = $result->fetch()) {
if (strlen(trim($source->source)) > 0) {
$form['strings'][$source->lid] = _translation_table_row($source, $languages);
}
}
$form['languages'] = array(
'#type' => 'value',
'#value' => $languages,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['pager'] = array('#markup' => theme('pager'));
$form['#theme'] = 'translation_table';
return $form;
}
/**
* Submit handler for the menu translation form.
*/
function menu_translation_table_menu_form_submit($form, &$form_state) {
switch ($form_state['triggering_element']['#id']) {
case 'edit-filter--2':
case 'edit-filter':
case 'edit-submit':
$_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
break;
}
}

View File

@@ -0,0 +1,144 @@
<?php
/**
* @file
* Provide translation table functionality for the node module.
*/
/**
* Implementation of hook_translation_table_data().
*/
function node_translation_table_data() {
$items['nodetype'] = array(
'title' => 'Content type',
'description' => 'Edit content type translations',
'form' => 'node_translation_table_nodetype_form',
'file' => 'modules/node.translation_table.inc',
);
return $items;
}
/**
* Menu callback; Admin form for node type translation.
*/
function node_translation_table_nodetype_form($form, &$form_state) {
$languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
$nodetype = isset($_SESSION['translation_table']['nodetype']) ? $_SESSION['translation_table']['nodetype'] : 0;
$form['filter'] = node_translation_table_nodetype_filter($languages_selected, $nodetype);
$form['filtered_form'] = node_translation_table_nodetype_filtered_form($languages_selected, $nodetype);
$form['#submit'][] = 'node_translation_table_nodetype_form_submit';
$form['#submit'][] = 'translation_table_submit_translations';
return $form;
}
/**
* Node type filter.
*/
function node_translation_table_nodetype_filter($languages_selected, $nodetype) {
$form['languages_selected'] = array(
'#type' => 'select',
'#title' => t('Languages'),
'#description' => t('Select the languages to display.'),
'#options' => locale_language_list('name', TRUE),
'#default_value' => array_keys($languages_selected),
'#multiple' => TRUE,
);
$form['nodetype'] = array(
'#type' => 'select',
'#title' => t('Content type'),
'#description' => t('Select the content types to display.'),
'#options' => array_merge(array( 0 => t('- All -')), node_type_get_names()),
'#default_value' => $nodetype,
);
$form['filter'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
);
$form['#theme'] = 'translation_table_filter';
return $form;
}
/**
* Form for node type translation.
* Note: If the node type is not in the locales_source table, then it won't be
* displayed.
*
* @param $languages
* languages to translate to
* @param $nodetype
* 0: show all
* else: filter by node type
*/
function node_translation_table_nodetype_filtered_form($languages, $nodetype) {
$header = _translation_table_get_header($languages);
switch ($nodetype) {
case '0':
$query = db_select('locales_source', 'ls');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'node')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
default:
$query = db_select('locales_source', 'ls');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'taxonomy')
->condition('ls.location', 'node:type: ' . check_plain($nodetype) . ' %', 'LIKE')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
}
$form['strings']['#tree'] = TRUE;
$form['#cache'] = FALSE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
while ($source = $result->fetch()) {
if (strlen(trim($source->source)) > 0) {
$form['strings'][$source->lid] = _translation_table_row($source, $languages);
}
}
$form['languages'] = array(
'#type' => 'value',
'#value' => $languages,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['pager'] = array('#markup' => theme('pager'));
$form['#theme'] = 'translation_table';
return $form;
}
/**
* Submit handler for the node type translation form.
*/
function node_translation_table_nodetype_form_submit($form, &$form_state) {
switch ($form_state['clicked_button']['#id']) {
case 'edit-filter':
case 'edit-submit':
$_SESSION['translation_table']['nodetype'] = $form_state['values']['nodetype'];
$_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
break;
}
}

View File

@@ -0,0 +1,135 @@
<?php
/**
* @file
* Translation table for the quicktabs module.
*/
/**
* Implementation of hook_translation_table_data().
*/
function quicktabs_translation_table_data() {
$items['quicktabs'] = array(
'title' => 'Quick Tabs',
'description' => 'Edit quick tabs translations',
'form' => 'quicktabs_translation_table_quicktabs_form',
'file' => 'modules/quicktabs.translation_table.inc',
);
return $items;
}
/**
* Menu callback; Admin form for quicktabs translation.
*/
function quicktabs_translation_table_quicktabs_form(&$form_state) {
$languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
$qtid = isset($_SESSION['translation_table']['qtid']) ? $_SESSION['translation_table']['qtid'] : 0;
$form['filter'] = quicktabs_translation_table_quicktabs_filter($languages_selected, $qtid);
$form['filtered_form'] = quicktabs_translation_table_quicktabs_filtered_form($languages_selected, $qtid);
$form['#submit'][] = 'quicktabs_translation_table_quicktabs_form_submit';
$form['#submit'][] = 'translation_table_submit_translations';
return $form;
}
/**
* Quicktabs filter.
*/
function quicktabs_translation_table_quicktabs_filter($languages_selected, $qtid) {
$form['languages_selected'] = array(
'#type' => 'select',
'#title' => t('Languages'),
'#description' => t('Select the languages to display.'),
'#options' => locale_language_list('name', TRUE),
'#default_value' => array_keys($languages_selected),
'#multiple' => TRUE,
);
$options[0] = t('- Display all quicktabs -');
$result = db_query('SELECT qtid, title FROM {quicktabs} ORDER BY title');
while ($row = db_fetch_object($result)) {
$options[$row->qtid] = check_plain($row->title);
}
$form['qtid'] = array(
'#type' => 'select',
'#title' => t('Quicktab'),
'#description' => t('Select a quicktab.'),
'#options' => $options,
'#default_value' => $qtid,
);
$form['filter'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
);
$form['#theme'] = 'translation_table_filter';
return $form;
}
/**
* Form for quicktabs translation.
*
* @param $languages
* languages to translate to
*/
function quicktabs_translation_table_quicktabs_filtered_form($languages, $qtid) {
$header = _translation_table_get_header($languages);
switch ($qtid) {
case 0:
$sql = "SELECT ls.lid, ls.source, ls.location FROM {locales_source} ls WHERE ls.textgroup = 'quicktabs'";
$sql .= tablesort_sql($header);
$result = pager_query($sql, 50, 0);
break;
default:
$sql = "SELECT ls.lid, ls.source, ls.location FROM {locales_source} ls WHERE ls.textgroup = 'quicktabs' AND ls.location LIKE 'tab:%s--%'";
$sql .= tablesort_sql($header);
$result = pager_query($sql, 50, 0, NULL, $qtid);
break;
}
$form['strings']['#tree'] = TRUE;
$form['#cache'] = TRUE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
while ($source = db_fetch_object($result)) {
if (strlen(trim($source->source)) > 0) {
$form['strings'][$source->lid] = _translation_table_row($source, $languages);
}
}
$form['languages'] = array(
'#type' => 'value',
'#value' => $languages,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['pager'] = array('#value' => theme('pager', NULL, 50, 0));
$form['#theme'] = 'translation_table';
return $form;
}
/**
* Submit handler for the quicktabs translation form.
*/
function quicktabs_translation_table_quicktabs_form_submit($form, &$form_state) {
switch ($form_state['clicked_button']['#id']) {
case 'edit-filter':
case 'edit-submit':
$_SESSION['translation_table']['qtid'] = $form_state['values']['qtid'];
$_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
break;
}
}

View File

@@ -0,0 +1,178 @@
<?php
/**
* @file
* Translation table for the taxonomy module.
*/
/**
* Implementation of hook_translation_table_data().
*/
function taxonomy_translation_table_data() {
$items['taxonomy'] = array(
'title' => 'Taxonomy',
'description' => 'Edit taxonomy translations',
'form' => 'taxonomy_translation_table_taxonomy_form',
'file' => 'modules/taxonomy.translation_table.inc',
);
return $items;
}
/**
* Menu callback; Admin form for taxonomy translation.
*/
function taxonomy_translation_table_taxonomy_form($form, &$form_state) {
$languages_selected = isset($_SESSION['translation_table']['languages_selected']) ? $_SESSION['translation_table']['languages_selected'] : locale_language_list('name', FALSE);
$vid = isset($_SESSION['translation_table']['vid']) ? $_SESSION['translation_table']['vid'] : -1;
$form['filter'] = taxonomy_translation_table_taxonomy_filter($languages_selected, $vid);
$form['filtered_form'] = taxonomy_translation_table_taxonomy_filtered_form($languages_selected, $vid);
$form['#submit'][] = 'taxonomy_translation_table_taxonomy_form_submit';
$form['#submit'][] = 'translation_table_submit_translations';
return $form;
}
/**
* Taxonomy filter.
*/
function taxonomy_translation_table_taxonomy_filter($languages_selected, $vid) {
$form['languages_selected'] = array(
'#type' => 'select',
'#title' => t('Languages'),
'#description' => t('Select the languages to display.'),
'#options' => locale_language_list('name', TRUE),
'#default_value' => array_keys($languages_selected),
'#multiple' => TRUE,
);
$vocabulary_options[0] = t('- Display all taxonomy strings -');
$vocabulary_options[-1] = t('- Display vocabulary strings -');
if (module_exists('taxonomy')) {
if ($vocabularies = taxonomy_get_vocabularies()) {
foreach ($vocabularies as $key => $vocabulary) {
$vocabulary_options[$key] = $vocabulary->name;
}
}
}
$form['vid'] = array(
'#type' => 'select',
'#title' => t('Vocabulary'),
'#description' => t('Select the vocabulary.'),
'#options' => $vocabulary_options,
'#default_value' => $vid,
);
$form['filter'] = array(
'#type' => 'submit',
'#value' => t('Filter'),
);
// $form['#theme'] = 'translation_table_filter';
return $form;
}
/**
* Form for taxonomy translation.
* Note: If term and vocabulary strings are not in the locales_source table,
* then they won't be displayed.
*
* @param $languages
* languages to translate to
* @param $vid
* -1: show vocabulary names only
* 0: show all
* else: filter by vocabulary ID
*/
function taxonomy_translation_table_taxonomy_filtered_form($languages, $vid) {
$header = _translation_table_get_header($languages);
switch ($vid) {
case 0:
$query = db_select('locales_source', 'ls');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('ls.textgroup', 'taxonomy')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
case -1:
$query = db_select('locales_source', 'ls');
$query->join('i18n_string', 's', 'ls.lid = s.lid');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('s.type', 'vocabulary')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
default:
// FIXME: D7
// $subselect = db_query("SELECT td.tid FROM {taxonomy_term_data} td WHERE td.vid = :vid", array("vid" => $vid));
$subselect = db_select('taxonomy_term_data', 'td')
->fields('td', array('tid'))
->condition('td.vid', $vid);
$query = db_select('locales_source', 'ls');
$query->join('i18n_string', 's', 'ls.lid = s.lid');
$query->fields('ls', array('lid', 'source', 'location'))
->extend('PagerDefault')
->extend('TableSort')
->condition('s.type', 'term')
->condition('s.objectid', $subselect, 'IN')
->orderByHeader($header)
->limit(50);
$result = $query->execute();
break;
}
$form['strings']['#tree'] = TRUE;
// $form['#cache'] = TRUE;
$form['#cache'] = FALSE;
$form['header'] = array(
'#type' => 'value',
'#value' => $header,
);
while ($source = $result->fetch()) {
if (strlen(trim($source->source)) > 0) {
$form['strings'][$source->lid] = _translation_table_row($source, $languages);
}
}
$form['languages'] = array(
'#type' => 'value',
'#value' => $languages,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
);
$form['pager'] = array('#markup' => theme('pager'));
$form['#theme'] = 'translation_table';
return $form;
}
/**
* Submit handler for the taxonomy translation form.
*/
function taxonomy_translation_table_taxonomy_form_submit($form, &$form_state) {
switch ($form_state['triggering_element']['#id']) {
case 'edit-filter--2':
case 'edit-filter':
case 'edit-submit':
$_SESSION['translation_table']['vid'] = $form_state['values']['vid'];
$_SESSION['translation_table']['languages_selected'] = array_intersect_key(locale_language_list('name', TRUE), $form_state['values']['languages_selected']);
break;
}
}