Advertisement
vishnu3006

Prinjt

Dec 1st, 2011
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.90 KB | None | 0 0
  1. <?php
  2.  
  3. function formModifications_menu() {
  4.  
  5.   $items['translate/bulk'] = array(
  6.     'title' => t('Send Multiple Contents'),
  7.     'description' => t('Translate multiple nodes'),
  8.     'page callback' => 'drupal_get_form',
  9.     'page arguments' => array('formModifications_translate_bulk'),
  10.     'access arguments' => array('access translator'),
  11.   );
  12.    
  13.    return $items;
  14. }
  15.  
  16.  
  17. function formModifications_translate_bulk(){
  18.       // Get the nodes.
  19.       $chosenContents = "Contents Chosen :";
  20.       $nodes_ser = trim($_GET['nodes']);
  21.       $nodes = explode("-",$nodes_ser);
  22.       $form = array();
  23.       $tarLangId = "Langs:";
  24.  
  25.          
  26.      foreach( $nodes as $key => $value){
  27.             $node = node_load($value); 
  28.             //print_r($node->title);
  29.             $chosenContents .= $node->title." , ";
  30.             }
  31.                        
  32.            
  33.     $form['content_information'] = array(
  34.         '#value' => variable_get('content_form_information', $chosenContents),
  35.         );
  36.  
  37.        
  38.   $LoginClient = new SoapClient("https://freeway.demo.lionbridge.com/vojo/FreewayAuth.asmx?wsdl", array("trace"=>1));
  39.   $ServicesLink = new SoapClient("https://freeway.demo.lionbridge.com/vojo/Service.asmx?wsdl", array("trace"=>1));
  40.  
  41.  
  42.               try{
  43.               $arrResponse = $LoginClient->Logon(array ('Username'=>'username','Password'=>'password'));
  44.               $ticket = ($arrResponse->LogonResult);
  45.               $getSrcLang = $ServicesLink->GetSourceLanguages(array('Ticket'=>$ticket));
  46.               $getDraftProjectIds = $ServicesLink->GetProjectSummariesList(array('Ticket'=>$ticket,'NumberOfProjects'=>100,'SortOrder'=>MostRecent,'ProjectStatusCode'=>'Draft'));
  47.                      
  48.                             $array = array();
  49.                             $arrayT = array();
  50.                             $forTarLang = array();
  51.                             $listOfProjects = array();
  52.                            
  53.                             foreach($getSrcLang->GetSourceLanguagesResult->Languages->Language as $language)               
  54.                             {                                      
  55.                                 $array[$language->ID] = $language->Description;                            
  56.                                 $forTarLang[] = $language->ID;
  57.                             }
  58.                                        
  59.  
  60.                                            
  61.                                     /*      for($i =0; $i <count($forTarLang);$i+=1)
  62.                                             {
  63.                                             $tarLangId .= $forTarLang[i];
  64.                                            
  65.                                             /*
  66.                                             $getTarLang = $ServicesLink->GetTargetLanguages(array('Ticket'=>$ticket,'SourceLanguageID'=>$forTarLang[i]));
  67.                                            
  68.                                             foreach($getTarLang->GetTargetLanguagesResult->Languages->Language as $languageT)  
  69.                                                 {
  70.                                                 $arrayT[$languageT->ID] = $languageT->Description; 
  71.                                            
  72.                                                 }
  73.                                            
  74.                                             }
  75.                                 */
  76.                                        
  77.                                        
  78.                                             foreach($getDraftProjectIds->GetProjectSummariesListResult->ProjectSummaries->ProjectSummary as $projectSummary)
  79.                                             {
  80.                                             $listOfProjects[$projectSummary->ID] = $projectSummary-> ID;
  81.                                             }
  82.                                            
  83.                                         $tarLang = array();                    
  84.                                                  
  85.               }
  86.                   catch (SoapFault $exception){
  87.                   return $exception;
  88.                   }
  89.  
  90.                           try{
  91.                          
  92.                             for($j =0; $j <count($forTarLang);$j+=1)
  93.                                                 {
  94.                                                 //$tarLangId .= $forTarLang[j];
  95.                                                
  96.                                             print_r($forTarLang[j]);
  97.  
  98.                                                 //$getTarLang = $ServicesLink->GetTargetLanguages(array('Ticket'=>$ticket,'SourceLanguageID'=>$forTarLang[j]));
  99.                                                
  100.                                                 /*foreach($getTarLang->GetTargetLanguagesResult->Languages->Language as $languageT)    
  101.                                                     {
  102.                                                     $arrayT[$languageT->ID] = $languageT->Description; 
  103.                                                                            
  104.                                                     }
  105.                                                 */
  106.                                                 }
  107.                           }
  108.                           catch (SoapFault $exception1){
  109.                            return $exception1;
  110.                           }
  111.  
  112.  
  113.  
  114.  
  115.         $form['folks_list']=array(
  116.                 '#type'=>'select',
  117.                 '#title' => t('Freeway Source Languages'),
  118.                 '#options' => $array,
  119.                 '#weight'=>7,
  120.             );
  121.            
  122.  
  123. // listbox for target language.
  124.    
  125.             $form['targetLang_list']=array(
  126.                 '#type'=>'select',
  127.                 '#title' => t('Freeway Target Languages'),
  128.                 '#options' => $array,
  129.                 '#multiple' => false,
  130.                 '#attributes'=>array('size'=>4, 'class' => 'select_folks_list'),
  131.                 '#weight'=>8,
  132.             );
  133.    
  134.     /*          $form['major_test']=array(
  135.                 '#type'=>'select',
  136.                 '#title' => t('Freeway Target Target'),
  137.                 '#options' => $arrayT,
  138.                 '#multiple' => false,
  139.                 '#attributes'=>array('size'=>4, 'class' => 'select_folks_list'),
  140.                 '#weight'=>9,
  141.             );
  142.     */    
  143.    
  144.               $form['projectId'] = array(
  145.               '#type' => 'select',
  146.               '#title' => t('List of Draft projects created by you.'),
  147.                '#weight'=>10,
  148.               '#options' => $listOfProjects,
  149.             ); 
  150.                    
  151.               $form['translate_node'] = array(
  152.               '#type' => 'submit',
  153.               '#value' => 'Translate',
  154.               '#weight'=>11,
  155.               );   
  156.                    
  157.                    
  158.                        
  159.              return $form;
  160.    
  161. }
  162.  
  163.  
  164.  
  165.  
  166. function formModifications_translate_bulk_submit($form, &$form_state){
  167.  
  168.  
  169. }
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176. function formModifications_form_alter(&$form,&$form_state,$form_id){
  177.  
  178.                 if ($form_id == 'node_admin_content') {
  179.                     $form['admin']['options']['operation']['#options']['send_for_translation'] = t('Send For Translation');
  180.                     $form['admin']['options']['submit']['#submit'][] = 'custom_send_for_translation_submit_admin';
  181.                 }
  182. }
  183.  
  184. function custom_send_for_translation_submit_admin($form, &$form_state) {
  185. $zipName = "Content";  
  186. $nodes = array();                                                                                                                                            
  187.               foreach ($form_state['values']['nodes'] as $key => $value)
  188.               {
  189.                      if ($value != 0) {
  190.                               $selected[] = node_load($key);
  191.                        }
  192.               }
  193.              
  194.  
  195.                  
  196.        foreach ($selected as $key => $value ){
  197.              $structure = './sites/all/tempfolder/';
  198.                                                                        
  199.                                                                                    
  200.               if(!is_dir($structure))
  201.               {
  202.                  mkdir($structure, 0, true);
  203.             }
  204.                                                                                                                                                                      
  205.           $fileName = $value->title;                                          
  206.           $sPattern = '/\s*/m';
  207.           $sReplace = '';
  208.           $refinedFileName = preg_replace( $sPattern, $sReplace, $fileName ).".xml";
  209.           $finalRefinedFileName = $structure.$refinedFileName;                                                                                    
  210.           $ourFileHandle = fopen($finalRefinedFileName, 'w') or die("can't open file");
  211.           $stringXmlHead = '<?xml version="1.0"?>'."\r\n";
  212.           fwrite($ourFileHandle, $stringXmlHead);
  213.           $rootNode = "<DrupalConnector>"."\r\n";  
  214.           fwrite($ourFileHandle, $rootNode);
  215.           $nodeIdTagStart = "<NodeId>";
  216.           fwrite($ourFileHandle, $nodeIdTagStart);
  217.           $nodeId = $value->nid;
  218.           fwrite($ourFileHandle, $nodeId);
  219.           $nodeIdTagEnd = "</NodeId>"."\r\n";
  220.           fwrite($ourFileHandle, $nodeIdTagEnd);
  221.           $nodeTitleTagStart = "<NodeTitle>";
  222.           fwrite($ourFileHandle, $nodeTitleTagStart);
  223.           $nodeTitle = "<![CDATA[".$value->title."]]>";
  224.           fwrite($ourFileHandle, $nodeTitle);
  225.           $nodeTitleTagEnd = "</NodeTitle>"."\r\n";
  226.           fwrite($ourFileHandle, $nodeTitleTagEnd);
  227.           $nodeBodyTagStart = "<NodeBody>";
  228.           fwrite($ourFileHandle, $nodeBodyTagStart);
  229.           $nodeBody = "<![CDATA[".$value->body."]]>";
  230.           fwrite($ourFileHandle, $nodeBody);
  231.           $nodeBodyTagEnd = "</NodeBody>"."\r\n";
  232.           fwrite($ourFileHandle, $nodeBodyTagEnd);
  233.           $rootNodeEnd = "</DrupalConnector>"."\r\n";
  234.           fwrite($ourFileHandle, $rootNodeEnd);
  235.          
  236.           $zipName.= "_".$nodeId;
  237.          
  238.          
  239.           $nodes []= $value->nid;
  240.    }
  241.    fclose($ourFileHandle);
  242.    
  243.   $finalZipName = $zipName.".zip";
  244.    
  245.    Zip('./sites/all/tempfolder','./'.$finalZipName);
  246.     //zipping done
  247.     $nodes_ser = implode('-', $nodes); 
  248.     drupal_goto('translate/bulk', 'nodes='. $nodes_ser);
  249.  
  250. }
  251.  
  252.  
  253. function Zip($source, $destination)
  254.  {  
  255.  if (!extension_loaded('zip') || !file_exists($source))
  256.      {      
  257.      return false;  
  258.      }  
  259.  
  260.  $zip = new ZipArchive();  
  261.  if (!$zip->open($destination, ZIPARCHIVE::CREATE))
  262.      {      
  263.      return false;
  264.      }    
  265.  
  266.  $source = str_replace('\\', '/', realpath($source));  
  267.  if (is_dir($source) === true)  
  268.  {    
  269.          $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
  270.          foreach ($files as $file)
  271.          {          
  272.              $file = str_replace('\\', '/', realpath($file));
  273.              if (is_dir($file) === true)  
  274.              {              
  275.              $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));  
  276.              }          
  277.              else if (is_file($file) === true)    
  278.              {        
  279.              $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));  
  280.              }  
  281.          }    
  282.  }
  283.  
  284.  else if (is_file($source) === true)  
  285.          {    
  286.          $zip->addFromString(basename($source), file_get_contents($source));
  287.          }  
  288.  return $zip->close();
  289.  }
  290.  
  291.  
  292.  
  293.  
  294.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement