' . t('About') . ''; $output .= '

' . t('Google Transliterate module allows transliteration for Indian languages - Arabic, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi, Nepali, Punjabi, Tamil, Telugu, Urdu') . '

'; return $output; } } /** * Implements hook_menu(). */ function googleLanguageApi_menu() { $items['admin/config/content/input'] = array( 'title' => 'Input Methods', 'description' => 'Configure Input Methods', 'position' => 'right', 'weight' => -5, 'page callback' => 'system_admin_menu_block_page', 'access arguments' => array('administer site configuration'), 'file' => 'system.admin.inc', 'file path' => drupal_get_path('module', 'system'), ); $items['admin/config/content/input/googlelanguageapi'] = array( 'title' => 'Google Language API', 'page callback' => 'drupal_get_form', 'page arguments' => array('googleLanguageApi_admin_settings'), 'access arguments' => array('administer nodes'), 'type' => MENU_NORMAL_ITEM, ); return $items; } /** * Settings page */ function googleLanguageApi_admin_settings() { $status = '

'. t('Google Language API modules allows writing content into indic languages. You can control as which node type you want to sho the ability to type in indic languages. For more help, please check http://www.google.com/transliterate/') .'

'; $form['access']['status'] = array('#value' => $status); $types = node_type_get_types(); foreach ($types as $node_type) { $options[$node_type->type] = $node_type->name; } $form['googleLanguageApi_node_type'] = array( '#type' => 'checkboxes', '#title' => t('Content types'), '#default_value' => variable_get('googleLanguageApi_node_type', ''), '#options' => $options, '#description' => t('Choose content types for which this editor should be seen.'), ); $languages = googleLanguageApi_getLanguages(); $form['googleLanguageApi_languages'] = array( '#type' => 'checkboxes', '#title' => t('Languages'), '#default_value' => variable_get('googleLanguageApi_languages', ''), '#options' => array_map('check_plain', $languages), '#description' => t('Choose language support'), ); $form['#submit'][] = 'googleLanguageApi_admin_settings_submit'; return system_settings_form($form); } function googleLanguageApi_admin_settings_submit() { } /** * List of available languages for Transliteration */ function googleLanguageApi_getLanguages() { $languages = array( 'hi'=>'Hindi', 'ar'=>'Arabic', 'bn'=>'Bengali', 'gu'=>'Gujarati', 'kn'=>'Kannada', 'ml'=>'Malayalam', 'mr'=>'Marathi', 'ne'=>'Nepali', 'pa'=>'Punjabi', 'ta'=>'Tamil', 'te'=>'Telugu', 'ur'=>'Urdu' ); return $languages; } /** * Implementation of hook_form_alter */ function googleLanguageApi_form_alter(&$form, &$form_state, $form_id) { dpm($form); dpm($form_state); dpm($form_id); // show only on node forms if(!substr($form_id,-10) == "node_form") { dpm("Not a node form."); return; } dpm("Is a node form."); // check if in allowed node type $node_types = variable_get("googleLanguageApi_node_type",""); if(is_array($node_types)) { if(!in_array(substr($form_id,0,-10),array_filter($node_types))) { dpm("Not an allowed node type."); return; } } dpm("Is an allowed node type."); /* $enabledLangs = variable_get("googleLanguageApi_languages",""); dpm($enabledLangs); if(!$enabledLangs) $enabledLangs = array("en"=>"English"); $langs = array_filter($enabledLangs); */ $indicControl = "
".'
Type in
"; $form["body"]["#prefix"] = $indicControl; $settings['googleLanguageApi'] =array("element"=>"edit-body"); drupal_add_js($settings,"setting"); drupal_add_html_head(''); drupal_add_js(drupal_get_path('module', 'googleLanguageApi').'/googleLanguageApi.js'); }