Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function formModifications_menu() {
- $items['translate/bulk'] = array(
- 'title' => t('Send Multiple Contents'),
- 'description' => t('Translate multiple nodes'),
- 'page callback' => 'drupal_get_form',
- 'page arguments' => array('formModifications_translate_bulk'),
- 'access arguments' => array('access translator'),
- );
- return $items;
- }
- function formModifications_translate_bulk(){
- $arrayForSendTranslation = array();
- $arrayForSendTranslation = formModCredentialProvider();
- /*
- for($u=0;$u<count($arrayForSendTranslation);$u+=1){
- echo ($arrayForSendTranslation[$u]);
- echo ('<br>');
- }
- */
- $finalFunctionUserName = $arrayForSendTranslation[0];
- $finalFunctionPassword = $arrayForSendTranslation[1];
- drupal_add_js(drupal_get_path('module', 'formModifications') .'/js/script.js');
- // Get the nodes.
- $chosenContents = "Contents Chosen :";
- $nodes_ser = trim($_GET['nodes']);
- $nodes = explode("-",$nodes_ser);
- $form = array();
- $tarLangId = "Langs:";
- foreach( $nodes as $key => $value){
- $node = node_load($value);
- $chosenContents .= $node->title." , ";
- }
- $finalString = rtrim($chosenContents, ' , ');
- $form['content_information'] = array(
- '#value' => variable_get('content_form_information', $finalString),
- );
- $LoginClient = new SoapClient("https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl", array("trace"=>1));
- $ServicesLink = new SoapClient("https://freeway.demo.lionbridge.com/vojo/Service.asmx?wsdl", array("trace"=>1));
- try{
- $arrResponse = $LoginClient->Logon(array ('Username'=>$finalFunctionUserName,'Password'=>$finalFunctionPassword));
- $ticket = ($arrResponse->LogonResult);
- $getSrcLang = $ServicesLink->GetSourceLanguages(array('Ticket'=>$ticket));
- $getDraftProjectIds = $ServicesLink->GetProjectSummariesList(array('Ticket'=>$ticket,'NumberOfProjects'=>100,'SortOrder'=>MostRecent,'ProjectStatusCode'=>'Draft'));
- $array = array();
- $arrayT = array();
- $forTarLang = array();
- $listOfProjects = array();
- $hopeArray = array();
- foreach($getSrcLang->GetSourceLanguagesResult->Languages->Language as $language)
- {
- $array[$language->ID] = $language->Description."_".$language->ID;
- $forTarLang[] = $language->ID;
- }
- foreach($getDraftProjectIds->GetProjectSummariesListResult->ProjectSummaries->ProjectSummary as $projectSummary)
- {
- $listOfProjects[$projectSummary->ID] = $projectSummary-> ID;
- }
- }
- catch (SoapFault $exception){
- drupal_set_message("The following exception took place.".$exception."Kindly check Freeway mapping");
- drupal_goto("user");
- // return $exception;
- }
- try{
- if (count($forTarLang)!=0){
- $getTarLang = $ServicesLink->GetTargetLanguages(array('Ticket'=>$ticket,'SourceLanguageID'=>$forTarLang[0]));
- foreach($getTarLang->GetTargetLanguagesResult->Languages->Language as $languageT)
- {
- //$arrayT[$languageT->ID] = $languageT->Description;
- $arrayT[$languageT->ID] = $languageT->Description."_".$languageT->ID;
- }
- }
- }
- catch (Exception $exception1){
- drupal_set_message("The following exception took place.".$exception1);
- drupal_goto("user");
- // return $exception1;
- }
- $form['folks_list']=array(
- '#type'=>'select',
- '#title' => t('Freeway Source Languages'),
- '#options' => $array,
- '#default_value' => ('English (Canada)_en-ca'),
- '#attributes'=> array('onselect' => "populateTargetlangs();"),
- '#weight'=>7,
- );
- // listbox for target language.
- $form['targetLang_list']=array(
- '#type'=>'select',
- '#title' => t('Freeway Target Languages'),
- '#options' => $arrayT,
- '#multiple' => true,
- '#default_value' => $arrayT,
- '#attributes'=>array('size'=>4, 'class' => 'select_folks_list'),
- '#weight'=>8,
- );
- $form['projectId'] = array(
- '#type' => 'select',
- '#title' => t('List of Draft projects created by you.'),
- '#weight'=>9,
- '#options' => $listOfProjects,
- );
- $form['translate_node'] = array(
- '#type' => 'submit',
- '#value' => 'Send To Freeway',
- '#weight'=>10,
- );
- return $form;
- }
- function formModifications_translate_bulk_submit($form, &$form_state){
- global $base_root;
- $arrayForSendTranslation = array();
- $arrayForSendTranslation = formModCredentialProvider();
- /*
- for($u=0;$u<count($arrayForSendTranslation);$u+=1){
- echo ($arrayForSendTranslation[$u]);
- echo ('<br>');
- }
- */
- $finalFunctionUserName = $arrayForSendTranslation[0];
- $finalFunctionPassword = $arrayForSendTranslation[1];
- $targetLangs = array();
- $finalTarArray = array();
- $zipName = "Content";
- $targetLangNames ='';
- // Obtain Src Lang,TargetLanguage(s) and Project ID inside this function.
- $projectID = isset($form_state['values']['projectId']) ? $form_state['values']['projectId'] : key($options_first);
- $srcLang = isset($form_state['values']['folks_list']) ? $form_state['values']['folks_list'] : key($options_first);
- $targetLangs = isset($form_state['values']['targetLang_list']) ? $form_state['values']['targetLang_list'] : key($options_first);
- /*
- echo ('#EEE>>'.($base_root . request_uri()));
- echo('TARLANGS >>'.count($targetLangs));
- echo ('<br>');
- for($t=0;$t<count($targetLangs);$t+=1)
- {
- echo('TarLangs'.$targetLangs[$t]);
- }
- echo ('<br>');
- if (isset($srcLang)){
- echo('SRCLANG ISSET>'.$srcLang);
- }
- */
- if (count($targetLangs)==0){
- drupal_get_messages();
- drupal_set_message("Please select appropriate Freeway Target Languages.");
- drupal_goto($base_root . request_uri());
- }
- foreach ($targetLangs as $langs) {
- list($name,$tarId) = split('[_]', $langs);
- $finalTarArray[] = $tarId;
- }
- /*
- for($t=0;$t<count($finalTarArray);$t+=1)
- {
- echo('TarLangs>'.$finalTarArray[$t]);
- }
- */
- // Block to Add task:// Add task to he project - can be hardcoded,Add File and submit.
- $LoginClient = new SoapClient("https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl", array("trace"=>1));
- $ServicesLink = new SoapClient("https://freeway.demo.lionbridge.com/vojo/Service.asmx?wsdl", array("trace"=>1));
- if ($handle = opendir('./')) {
- while (false !== ($entry = readdir($handle))) {
- if(substr($entry, -3)== "zip")
- {
- $fileName = $entry;
- }
- }
- //echo("FileName > ".$fileName);
- //echo('<br>');
- closedir($handle);
- }
- try
- {
- $arrResponse = $LoginClient->Logon(array ('Username'=>$finalFunctionUserName,'Password'=>$finalFunctionPassword));
- $ticket = ($arrResponse->LogonResult);
- for($j=0;$j<count($finalTarArray);$j+=1){
- $addTask = $ServicesLink->AddTaskToProject(array('Ticket'=>$ticket,'ProjectID'=>$projectID ,'SourceLanguageID'=> $srcLang, 'TargetLanguageID'=> $finalTarArray[$j],'ComponentID'=> '','SubjectID'=>'','TaskID'=>'LP','SubTaskID'=>'New Words','Volume'=>'1','UOMID'=>'Word'));
- }
- for($t=0;$t<count($finalTarArray);$t+=1){
- $targetLangNames = $targetLangNames.$finalTarArray[$t].',';
- }
- $interString = rtrim($targetLangNames,',');
- $finalString = rtrim($interString,',');
- $structureTemp = './sites/all/tempfolder/';
- $listInTemp = getFileList($structureTemp);
- for($v=0;$v<count($listInTemp);$v+=1)
- {
- $content=simplexml_load_file($listInTemp[$v]);
- $content->TarLang = $finalString;
- $content->SrcLang = $srcLang;
- $content->asXML($listInTemp[$v]);
- }
- $finalZipName = "DrupalContent.zip";
- Zip('./sites/all/tempfolder','./'.$finalZipName);
- $handle = fopen("./".$finalZipName, "r");
- $contents = fread($handle, filesize("./".$finalZipName));
- fclose($handle);
- $addFile = $ServicesLink->AddFileToProject(array('Ticket'=>$ticket,'ProjectID'=>$projectID,'Filename'=>$finalZipName,'FileData'=> $contents, 'SourceLanguageID'=> $srcLang, 'TargetLanguageIDs'=> $finalTarArray,'Metadata'=> null,'IsReferenceMaterial'=>false));
- $fileinfoArray = array();
- foreach($addFile->AddFileToProjectResult->FileInfoItems->FileInfo as $fileInfo)
- {
- $fileinfoArray[] = $fileInfo;
- }
- $bottomFileId = $fileinfoArray[0];
- $topFileId = ($bottomFileId - (count($finalTarArray)-1));
- for($e=0;$e<count($finalTarArray);$e+=1){
- db_query("INSERT INTO {freeway_fileid} (freeway_file_id, freeway_tar_lang) VALUES ('$topFileId','$finalTarArray[$e]')");
- $topFileId +=1;
- }
- $topFileId = 0;
- $submitProject = $ServicesLink->SubmitProject(array('Ticket'=>$ticket,'ProjectID'=>$projectID));
- }
- catch(SoapFault $exception)
- {
- drupal_set_message("The following exception took place.".$exception."Kindly check Freeway mapping");
- drupal_goto("user");
- // return $exception;
- }
- // End of Block to add task.
- //Block for deletion of zip and tempfolder.
- unlink('./'.$finalZipName);
- rrmdir('./sites/all/tempfolder');
- // End of Block for Deletions.
- drupal_set_message("Project with project ID ".$projectID." submitted to Freeway");
- drupal_goto("user");
- // drupal_goto("admin/settings/freeway");
- }
- function formModifications_form_alter(&$form,&$form_state,$form_id){
- if ($form_id == 'node_admin_content') {
- $form['admin']['options']['operation']['#options']['send_for_translation'] = t('Send For Translation');
- $form['admin']['options']['submit']['#submit'][] = 'custom_send_for_translation_submit_admin';
- }
- }
- function custom_send_for_translation_submit_admin($form, &$form_state) {
- $zipName = "Content";
- $nodes = array();
- $structurePreClean = './sites/all/tempfolder/';
- if(is_dir($structurePreClean)) {
- rrmdir('./sites/all/tempfolder');
- }
- foreach ($form_state['values']['nodes'] as $key => $value)
- {
- if ($value != 0) {
- $selected[] = node_load($key);
- }
- }
- if (count($selected)==0){
- drupal_get_messages();
- drupal_set_message("No contents selected!");
- drupal_goto('admin/content/node');
- }
- foreach ($selected as $key => $value ){
- $structure = './sites/all/tempfolder/';
- if(!is_dir($structure))
- {
- mkdir($structure, 0, true);
- }
- //Added jan19,2012
- /*
- else{
- rrmdir('./sites/all/tempfolder');
- }
- */
- $fileName = $value->title;
- $sPattern = '/\s*/m';
- $sReplace = '';
- $refinedFileName = preg_replace( $sPattern, $sReplace, $fileName ).".xml";
- $finalRefinedFileName = $structure.$refinedFileName;
- $ourFileHandle = fopen($finalRefinedFileName, 'w') or die("can't open file");
- $stringXmlHead = '<?xml version="1.0"?>'."\r\n";
- fwrite($ourFileHandle, $stringXmlHead);
- $rootNode = "<DrupalConnector>"."\r\n";
- fwrite($ourFileHandle, $rootNode);
- $nodeIdTagStart = "<NodeId>";
- fwrite($ourFileHandle, $nodeIdTagStart);
- $nodeId = $value->nid;
- fwrite($ourFileHandle, $nodeId);
- $nodeIdTagEnd = "</NodeId>"."\r\n";
- fwrite($ourFileHandle, $nodeIdTagEnd);
- $drupalVerTagStart = "<DrupalVer>";
- fwrite($ourFileHandle, $drupalVerTagStart);
- $drupalVer= '6.0';
- fwrite($ourFileHandle, $drupalVer);
- $drupalVerTagEnd = "</DrupalVer>"."\r\n";
- fwrite($ourFileHandle, $drupalVerTagEnd);
- $connectorVerTagStart = "<ConnectorVer>";
- fwrite($ourFileHandle, $connectorVerTagStart);
- $conectorVer= '1.0';
- fwrite($ourFileHandle, $conectorVer);
- $connectorVerTagEnd = "</ConnectorVer>"."\r\n";
- fwrite($ourFileHandle, $connectorVerTagEnd);
- $srcLangTagStart = "<SrcLang>";
- fwrite($ourFileHandle, $srcLangTagStart);
- $srcLang= '';
- fwrite($ourFileHandle, $srcLang);
- $srcLangTagEnd = "</SrcLang>"."\r\n";
- fwrite($ourFileHandle, $srcLangTagEnd);
- $tarLangTagStart = "<TarLang>";
- fwrite($ourFileHandle, $tarLangTagStart);
- $tarLang= '';
- fwrite($ourFileHandle, $tarLang);
- $tarLangTagEnd = "</TarLang>"."\r\n";
- fwrite($ourFileHandle, $tarLangTagEnd);
- $timeTagStart = "<TimeOfSend>";
- fwrite($ourFileHandle, $timeTagStart);
- $time= date("Y-m-d H:i:s");
- fwrite($ourFileHandle, $time);
- $timeTagEnd = "</TimeOfSend>"."\r\n";
- fwrite($ourFileHandle, $timeTagEnd);
- $nodeTitleTagStart = "<NodeTitle>";
- fwrite($ourFileHandle, $nodeTitleTagStart);
- $nodeTitle = "<![CDATA[".$value->title."]]>";
- fwrite($ourFileHandle, $nodeTitle);
- $nodeTitleTagEnd = "</NodeTitle>"."\r\n";
- fwrite($ourFileHandle, $nodeTitleTagEnd);
- $nodeBodyTagStart = "<NodeBody>";
- fwrite($ourFileHandle, $nodeBodyTagStart);
- $nodeBody = "<![CDATA[".$value->body."]]>";
- fwrite($ourFileHandle, $nodeBody);
- $nodeBodyTagEnd = "</NodeBody>"."\r\n";
- fwrite($ourFileHandle, $nodeBodyTagEnd);
- $rootNodeEnd = "</DrupalConnector>"."\r\n";
- fwrite($ourFileHandle, $rootNodeEnd);
- $zipName.= "_".$nodeId;
- $nodes []= $value->nid;
- }
- fclose($ourFileHandle);
- $finalZipName = $zipName.".zip";
- // Zip('./sites/all/tempfolder','./'.$finalZipName);
- //zipping done
- $nodes_ser = implode('-', $nodes);
- drupal_goto('translate/bulk', 'nodes='. $nodes_ser);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement