function globallink_menu_dashboard_form in GlobalLink Connect for Drupal 7.5
Same name and namespace in other branches
- 7.7 globallink_menu/globallink_menu_send.inc \globallink_menu_dashboard_form()
- 7.6 globallink_menu/globallink_menu_send.inc \globallink_menu_dashboard_form()
Builds form to create a menu submission.
1 string reference to 'globallink_menu_dashboard_form'
- globallink_menu_dashboard in globallink_menu/
globallink_menu_send.inc - Builds forms on menu send dashboard.
File
- globallink_menu/
globallink_menu_send.inc, line 272
Code
function globallink_menu_dashboard_form() {
module_load_include('inc', 'globallink_menu', 'globallink_menu');
$form = array();
$module_path = drupal_get_path('module', 'globallink');
$languages = globallink_get_mapped_drupal_locales(FALSE);
if (isset($languages) && count($languages) > 1) {
$target_lang_arr = globallink_get_mapped_locales_with_drupal_desc(FALSE);
$source_lang_arr = globallink_get_mapped_locales_with_drupal_desc(FALSE);
$count = 0;
$types = array_keys(menu_get_menus());
if (!empty($_SESSION['globallink_selected_menu_types'])) {
$types = $_SESSION['globallink_selected_menu_types'];
}
$default_language = language_default();
$default = $default_language->language;
if (!empty($_SESSION['globallink_selected_menu_language'])) {
$default = $_SESSION['globallink_selected_menu_language'];
}
$link_title = '';
if (!empty($_SESSION['globallink_selected_menu_title'])) {
$link_title = $_SESSION['globallink_selected_menu_title'];
}
unset($target_lang_arr[globallink_get_locale_code($default)]);
$t_count = 0;
foreach ($target_lang_arr as $key => $value) {
$t_count++;
if ($t_count % 2 === 0) {
$target_lang_arr[$key] = ' ' . $value . '<BR/>';
}
else {
$target_lang_arr[$key] = ' ' . $value . ' ';
}
}
// Menu loading starts here
$menu_names = array_keys(menu_get_menus(TRUE));
$search_menu_types = array();
if ($types != '') {
foreach ($types as $t) {
if ($t != '') {
$search_menu_types[] = $t;
}
else {
$search_menu_types = $menu_names;
break;
}
}
}
else {
$search_menu_types = $menu_names;
}
$menu_types = menu_get_menus(TRUE);
$page_count = TPT_PAGER_LIMIT;
if (isset($_SESSION['globallink_menu_page_count'])) {
$page_count = $_SESSION['globallink_menu_page_count'][0];
}
$header = array(
'menu' => array(
'field' => 'ml.menu_name',
'data' => t('Menu Name'),
),
'link' => array(
'field' => 'ml.link_title',
'data' => t('Link Title'),
),
'lang' => t('Language'),
'active' => t('In Active Submission'),
);
$query = db_select('menu_links', 'ml')
->fields('ml')
->condition('menu_name', $search_menu_types, 'IN')
->condition('language', $default, '=')
->extend('PagerDefault')
->limit($page_count)
->extend('TableSort');
// Sorting Extender
if ($link_title != '') {
$query
->condition('link_title', '%' . $link_title . '%', 'LIKE');
}
$sort_order = isset($_GET['order']) ? $_GET['order'] : '';
if ($sort_order == '') {
$query
->orderBy('mlid', 'DESC');
}
else {
$query
->orderByHeader($header);
}
$results = $query
->execute();
$rows = array();
foreach ($results as $item) {
$count++;
$active = '';
$active_subs = globallink_menu_get_active_submission_rows($item->mlid);
if ($active_subs && array_key_exists($item->mlid, $active_subs)) {
$sub_arr = $active_subs[$item->mlid];
$sub_name = '';
$tgt_arr = array();
foreach ($sub_arr as $sub_name => $tgt_arr) {
$l_title = globallink_format_display_string($sub_name);
$l_href = 'admin/globallink-translations/activeSubmissions/menu';
$l_options = array(
'query' => array(
'submission' => urlencode($sub_name),
),
);
$active .= l($l_title, $l_href, $l_options) . ' - ';
$t_count = 0;
foreach ($tgt_arr as $tgt) {
$t_count++;
$tgt_name = $source_lang_arr[$tgt];
if ($t_count == count($tgt_arr)) {
$active .= $tgt_name . ' <BR/> ';
}
else {
$active .= $tgt_name . ', ';
}
}
}
}
$rows[$item->mlid] = array(
'menu' => $menu_types[$item->menu_name],
'link' => l($item->link_title, $item->link_path),
'lang' => $languages[$item->language],
'active' => $active,
);
}
$form['table'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $rows,
'#empty' => t('No items available'),
);
if ($count > 0) {
$form['pager'] = array(
'#markup' => theme('pager'),
);
}
if (user_access(TPT_ROLE_DO_TRANSLATIONS) || user_access(TPT_ROLE_MANAGE_TRANSLATIONS)) {
if ($count > 0) {
drupal_add_css($module_path . '/css/globallink.css');
$proj_arr = variable_get('globallink_pd_projects', array());
if (count($proj_arr) > 0) {
$projects = variable_get('globallink_pd_projectid');
if (!empty($projects)) {
$arr = explode(',', $projects);
foreach ($arr as $value) {
if (isset($proj_arr[$value])) {
$proj_arr[$value] = $proj_arr[$value];
}
else {
$proj_arr[$value] = $value;
}
}
}
}
$p_key = '';
if (count($proj_arr) == 1) {
$p_key = key($proj_arr);
}
$proj_arr[''] = ' -- Select a Project -- ';
$r_proj_arr = array_reverse($proj_arr);
$submission_priorities = array(
'Low',
'Normal',
'High',
);
$form['send_submission'] = array(
'#type' => 'fieldset',
'#title' => t('Create Submission'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['send_submission']['submission_name'] = array(
'#type' => 'textfield',
'#title' => 'Submission Name',
'#size' => 40,
'#required' => TRUE,
'#default_value' => variable_get('globallink_pd_submissionprefix', 'DRU_') . REQUEST_TIME,
'#prefix' => '<div class="container-inline"><table><tr><td style="text-align: left;width: 20%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Name for this new Submission.') . '</div></td><td>',
);
$default_date = format_date(REQUEST_TIME + 7 * 24 * 60 * 60, 'custom', 'm/d/Y');
drupal_add_library('system', 'ui.datepicker');
drupal_add_js('jQuery(document).ready(function(){
jQuery( ".pickadate1" ).datepicker({
dateFormat: "mm/dd/yy",
defaultDate: "' . $default_date . '",
minDate: 0,
autoSize: true,
showOn: "button",
buttonImage: "' . $GLOBALS['base_url'] . '/' . $module_path . '/css/icon-calendar.png",
buttonImageOnly: true,
buttonText: "Click to select date"
});});', 'inline');
$form['send_submission']['submission_due_date'] = array(
'#type' => 'textfield',
'#title' => 'Submission Due Date',
'#required' => TRUE,
'#attributes' => array(
'class' => array(
'pickadate1',
),
'style' => array(
'padding:0px;',
),
),
'#default_value' => $default_date,
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Expected Completion Date for this Submission.') . '</div></td><td>',
);
$form['send_submission']['submission_pd_project'] = array(
'#type' => 'select',
'#title' => t('Project Name'),
'#required' => TRUE,
'#options' => $r_proj_arr,
'#default_value' => $p_key,
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('GlobalLink Project Name for this Submission') . '</div></td><td>',
);
$form['send_submission']['submission_pd_priority'] = array(
'#type' => 'select',
'#title' => t('Submission priority'),
'#required' => TRUE,
'#options' => $submission_priorities,
'#default_value' => '',
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Select the priority for this Submission') . '</div></td><td>',
);
$form['send_submission']['submission_source_locale'] = array(
'#type' => 'select',
'#title' => t('Source Language'),
'#required' => TRUE,
'#options' => $source_lang_arr,
'#default_value' => globallink_get_locale_code($default),
'#disabled' => TRUE,
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Source language for this Submission.') . '</div></td><td>',
);
$form['send_submission']['submission_target_locale'] = array(
'#type' => 'checkboxes',
'#options' => $target_lang_arr,
'#title' => t('Target Language(s)'),
'#required' => TRUE,
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Target language(s) for this Submission.') . '</div></td><td>',
);
global $user;
$form['send_submission']['submission_submitter'] = array(
'#type' => 'textfield',
'#title' => 'Submitter',
'#size' => 40,
'#required' => TRUE,
'#default_value' => check_plain($user->name),
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr>',
'#field_suffix' => '</td>',
'#field_prefix' => '<BR/><div class="description">' . t('Username for this new Submission.') . '</div></td><td>',
);
$form['send_submission']['submission_instructions'] = array(
'#type' => 'textarea',
'#title' => t('Instructions'),
'#attributes' => array(
'style' => 'width: 275px;resize: none;',
),
'#rows' => 3,
'#resizable' => FALSE,
'#prefix' => '<tr><td style="text-align: left;width: 15%;vertical-align: middle;border: none;">',
'#suffix' => '</tr></table></div>',
'#field_suffix' => '</div></td>',
'#field_prefix' => '<BR/><div class="description">' . t('Other instructions for this Submission.') . '</div></td><td>',
);
$form['send_submission']['submit_pd_send'] = array(
'#type' => 'submit',
'#value' => t('Send for Translation'),
);
}
}
}
return $form;
}