Advertisement
vishnu3006

errorInArray

Dec 1st, 2011
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 8.26 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.                                             echo($tarLangId);
  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.  
  91.  
  92.  
  93.  
  94.         $form['folks_list']=array(
  95.                 '#type'=>'select',
  96.                 '#title' => t('Freeway Source Languages'),
  97.                 '#options' => $array,
  98.                 '#weight'=>7,
  99.             );
  100.            
  101.  
  102. // listbox for target language.
  103.    
  104.             $form['targetLang_list']=array(
  105.                 '#type'=>'select',
  106.                 '#title' => t('Freeway Target Languages'),
  107.                 '#options' => $array,
  108.                 '#multiple' => false,
  109.                 '#attributes'=>array('size'=>4, 'class' => 'select_folks_list'),
  110.                 '#weight'=>8,
  111.             );
  112.    
  113.                 $form['major_test']=array(
  114.                 '#type'=>'select',
  115.                 '#title' => t('Freeway Target Target'),
  116.                 '#options' => $forTarLang,
  117.                 '#multiple' => false,
  118.                 '#attributes'=>array('size'=>4, 'class' => 'select_folks_list'),
  119.                 '#weight'=>9,
  120.             );
  121.        
  122.    
  123.               $form['projectId'] = array(
  124.               '#type' => 'select',
  125.               '#title' => t('List of Draft projects created by you.'),
  126.                '#weight'=>10,
  127.               '#options' => $listOfProjects,
  128.             ); 
  129.                    
  130.               $form['translate_node'] = array(
  131.               '#type' => 'submit',
  132.               '#value' => 'Translate',
  133.               '#weight'=>11,
  134.               );   
  135.                    
  136.                    
  137.                        
  138.              return $form;
  139.    
  140. }
  141.  
  142.  
  143.  
  144.  
  145. function formModifications_translate_bulk_submit($form, &$form_state){
  146.  
  147.  
  148. }
  149.  
  150.  
  151.  
  152.  
  153.  
  154.  
  155. function formModifications_form_alter(&$form,&$form_state,$form_id){
  156.  
  157.                 if ($form_id == 'node_admin_content') {
  158.                     $form['admin']['options']['operation']['#options']['send_for_translation'] = t('Send For Translation');
  159.                     $form['admin']['options']['submit']['#submit'][] = 'custom_send_for_translation_submit_admin';
  160.                 }
  161. }
  162.  
  163. function custom_send_for_translation_submit_admin($form, &$form_state) {
  164. $zipName = "Content";  
  165. $nodes = array();                                                                                                                                            
  166.               foreach ($form_state['values']['nodes'] as $key => $value)
  167.               {
  168.                      if ($value != 0) {
  169.                               $selected[] = node_load($key);
  170.                        }
  171.               }
  172.              
  173.  
  174.                  
  175.        foreach ($selected as $key => $value ){
  176.              $structure = './sites/all/tempfolder/';
  177.                                                                        
  178.                                                                                    
  179.               if(!is_dir($structure))
  180.               {
  181.                  mkdir($structure, 0, true);
  182.             }
  183.                                                                                                                                                                      
  184.           $fileName = $value->title;                                          
  185.           $sPattern = '/\s*/m';
  186.           $sReplace = '';
  187.           $refinedFileName = preg_replace( $sPattern, $sReplace, $fileName ).".xml";
  188.           $finalRefinedFileName = $structure.$refinedFileName;                                                                                    
  189.           $ourFileHandle = fopen($finalRefinedFileName, 'w') or die("can't open file");
  190.           $stringXmlHead = '<?xml version="1.0"?>'."\r\n";
  191.           fwrite($ourFileHandle, $stringXmlHead);
  192.           $rootNode = "<DrupalConnector>"."\r\n";  
  193.           fwrite($ourFileHandle, $rootNode);
  194.           $nodeIdTagStart = "<NodeId>";
  195.           fwrite($ourFileHandle, $nodeIdTagStart);
  196.           $nodeId = $value->nid;
  197.           fwrite($ourFileHandle, $nodeId);
  198.           $nodeIdTagEnd = "</NodeId>"."\r\n";
  199.           fwrite($ourFileHandle, $nodeIdTagEnd);
  200.           $nodeTitleTagStart = "<NodeTitle>";
  201.           fwrite($ourFileHandle, $nodeTitleTagStart);
  202.           $nodeTitle = "<![CDATA[".$value->title."]]>";
  203.           fwrite($ourFileHandle, $nodeTitle);
  204.           $nodeTitleTagEnd = "</NodeTitle>"."\r\n";
  205.           fwrite($ourFileHandle, $nodeTitleTagEnd);
  206.           $nodeBodyTagStart = "<NodeBody>";
  207.           fwrite($ourFileHandle, $nodeBodyTagStart);
  208.           $nodeBody = "<![CDATA[".$value->body."]]>";
  209.           fwrite($ourFileHandle, $nodeBody);
  210.           $nodeBodyTagEnd = "</NodeBody>"."\r\n";
  211.           fwrite($ourFileHandle, $nodeBodyTagEnd);
  212.           $rootNodeEnd = "</DrupalConnector>"."\r\n";
  213.           fwrite($ourFileHandle, $rootNodeEnd);
  214.          
  215.           $zipName.= "_".$nodeId;
  216.          
  217.          
  218.           $nodes []= $value->nid;
  219.    }
  220.    fclose($ourFileHandle);
  221.    
  222.   $finalZipName = $zipName.".zip";
  223.    
  224.    Zip('./sites/all/tempfolder','./'.$finalZipName);
  225.     //zipping done
  226.     $nodes_ser = implode('-', $nodes); 
  227.     drupal_goto('translate/bulk', 'nodes='. $nodes_ser);
  228.  
  229. }
  230.  
  231.  
  232. function Zip($source, $destination)
  233.  {  
  234.  if (!extension_loaded('zip') || !file_exists($source))
  235.      {      
  236.      return false;  
  237.      }  
  238.  
  239.  $zip = new ZipArchive();  
  240.  if (!$zip->open($destination, ZIPARCHIVE::CREATE))
  241.      {      
  242.      return false;
  243.      }    
  244.  
  245.  $source = str_replace('\\', '/', realpath($source));  
  246.  if (is_dir($source) === true)  
  247.  {    
  248.          $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST);
  249.          foreach ($files as $file)
  250.          {          
  251.              $file = str_replace('\\', '/', realpath($file));
  252.              if (is_dir($file) === true)  
  253.              {              
  254.              $zip->addEmptyDir(str_replace($source . '/', '', $file . '/'));  
  255.              }          
  256.              else if (is_file($file) === true)    
  257.              {        
  258.              $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file));  
  259.              }  
  260.          }    
  261.  }
  262.  
  263.  else if (is_file($source) === true)  
  264.          {    
  265.          $zip->addFromString(basename($source), file_get_contents($source));
  266.          }  
  267.  return $zip->close();
  268.  }
  269.  
  270.  
  271.  
  272.  
  273.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement