HEX
Server: Apache/2.2.15 (CentOS)
System: Linux ip-10-0-2-146.eu-west-1.compute.internal 2.6.32-754.35.1.el6.centos.plus.x86_64 #1 SMP Sat Nov 7 11:33:42 UTC 2020 x86_64
User: root (0)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /www/exchange2/exchange/custom_actions/split_pdf.php
<?php
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error-split-pdf.log");
  class Split_pdf
  {
      private $query;
      
      function __construct()
      {
          include_once('../Bin/constants.php');
          include_once('../Bin/init.php');
          require_once(ROOT_FOLDER.'Bin/Security.php');
          require_once ROOT_FOLDER.'/classes/Storage.php';
          
          $this->query = new Bin_Query();
      }
      
      function split($type,$file_name,$data)
      {
          @rmdir(pathinfo($file_name,PATHINFO_FILENAME));
          @mkdir(pathinfo($file_name,PATHINFO_FILENAME),0777);
          
          include_once(ROOT_FOLDER.'classes/Lib/PDF/fpdf.php');
          include_once(ROOT_FOLDER.'classes/Lib/PDF/fpdi.php');
          
          
          $storage = Storage_Repository::get($type);
          
          $total=count($data);
          
          foreach($data as $index=>$item)
          {
              echo $item[2].' - '.number_format(($index+1)/$total*100,2)."%\r\n";
              
              $PDF = new FPDI();
              $PDF->setSourceFile($file_name);
              
              for($pageId=1;$pageId<=3;$pageId++)
              {
                  $originalPage=$PDF->importPage($index*3+$pageId);
                  $PDF->AddPage();
                  $PDF->useTemplate($originalPage,1,1,0,0,TRUE);    
              }
              
              $PDF->output(pathinfo($file_name,PATHINFO_FILENAME).DIRECTORY_SEPARATOR.str_replace(array('/','\\'),' ',implode(' - ',$item)).'.pdf','F');
              $PDF->_enddoc();
              
              $storageFileName='';
              switch($type)
              {
                  case Storage_Repository::INV_DOCS:{
                      
                      $this->query->executeQuery('SELECT temp_registration.first_name, temp_registration.temp_reg_id
                                                   FROM temp_registration
                                                   WHERE temp_registration.ref_id='.$item[2]);
                      $investor=$this->query->records[0];
                      
                      $storageFileName='/documents/retail_investor/'.str_replace(array("'",' ','&'),'_',$investor['first_name']).'_'.$investor['temp_reg_id'].'/'.str_replace(array("'",' ','&'),'_',$investor['first_name']).'_'.$investor['temp_reg_id'].'_identity_'.time().'_'.uniqid().'.pdf';
                      
                      $this->query->updateQuery("UPDATE `temp_retailer` SET 
                                                    `personal_identity` = '".$storageFileName."' 
                                                 WHERE `temp_reg_id` = '".$investor['temp_reg_id']."' ");
                      
                      break;
                  }
                  case Storage_Repository::INT_DOCS:{
                      
                      $this->query->executeQuery('SELECT organisation_details.organisation_id
                                                  FROM temp_registration
                                                  LEFT JOIN organisation_details ON organisation_details.user_id = temp_registration.user_id
                                                  WHERE temp_registration.ref_id='.$item[2]);
                      $intermediary=$this->query->records[0];
                      
                      
                      $storageFileName='/documents/org/'.$intermediary['organisation_id'].'/'.$intermediary['organisation_id'].'_PersonalIdentity_'.time().'_'.uniqid().'.pdf';
                      
                      $this->query->updateQuery("UPDATE `organisation_documents` SET 
                                                    `personal_identity` = '".$storageFileName."' 
                                                 WHERE `organisation_id` = '".$intermediary['organisation_id']."' ");
                      
                      break;
                  }
                  case Storage_Repository::ORG_DOCS:{
                      
                      $this->query->executeQuery('SELECT organisation_details.organisation_id, organisation_details.user_id
                                                   FROM organisation_details
                                                   WHERE organisation_details.organisation_reference_id='.$item[2]);
                      $originator=$this->query->records[0];
                      
                      
                      $storageFileName='/documents/org/'.$originator['organisation_id'].'_'.$originator['user_id'].'/'.$originator['organisation_id'].'_'.$originator['user_id'].'_PersonalIdentity_'.time().'_'.uniqid().'.pdf';
                      
                      
                      $this->query->updateQuery("UPDATE `organisation_documents` SET 
                                                    `personal_identity` = '".$storageFileName."' 
                                                 WHERE `organisation_id` = '".$originator['organisation_id']."' ");
                      break;
                  }
              }
              
              $storage->setFromUpload($storageFileName,array('tmp_name'=>pathinfo($file_name,PATHINFO_FILENAME).DIRECTORY_SEPARATOR.str_replace(array('/','\\'),' ',implode(' - ',$item)).'.pdf'));
              
          }
      }
  }
  
  $splitPDF = new Split_pdf();
  $splitPDF->split(Storage_Repository::INT_DOCS,'Intermediary Identity Record Form-Merged.pdf',array(
      array('ACE Life  Pension Consultants','-','20131127000101'),
array('Bartle Landy Financial Services','-','20130304000001'),
array('Bartley Phelan Financial Services','-','20131108000089'),
array('Better Finances','-','20150121000256'),
array('Better Finances','-','20150121000256'),
array('Blue Sky Financial','-','20151008000424'),
array('Carey Corbett Financial Solutions','-','20131120000097'),
array('Carey Corbett Financial Solutions','-','20131120000097'),
array('Carty Cullen Limited','-','20150306000286'),
array('Cathedral Financial Consultants Ltd','-','20130520000008'),
array('Complete Financial Planning Ltd','-','20160118000506'),
array('Conor Crossan Financial Service','-','20160302000601'),
array('Costello Tarpey Financial Services','-','20130703000032'),
array('Credebt Exchange','-','20141211000239'),
array('Curran Financial Services Ltd','-','20131218000113'),
array('Declan Maher Financial Services Ltd','-','20151106000447'),
array('Donegan Financial Services','-','20140206000126'),
array('Fahey Wealth Management','-','20151125000466'),
array('Fitzsimons Life  Pensions Ltd','-','20151218000488'),
array('Gallivan Financial','-','20160923000896'),
array('Gerry OMahony Insurances Ltd','-','20140604000175'),
array('GMAC Property  Finance Ltd','-','20150715000365'),
array('Gogan Insurances','-','20150706000354'),
array('Harry Crummy','-','20130618000009'),
array('Heritage Wealth Ltd','-','20151218000489'),
array('Infinity Financial Planning','-','20151204000471'),
array('Integrated Financial Services','-','20130508000010'),
array('Irish Pension Solutions','-','20130418000009'),
array('Lawlor financial Planning','-','20150423000319'),
array('Mulcahy Insurance','-','20131206000107'),
array('Rockwell Financial Management Ltd','-','20140620000181'),
array('Talk Financial Ltd','-','20150109000250'),
array('U Consulting','-','20150122000258'),
array('Vista Financial Services Ltd','-','20130514000007'),
array('Wealthwise Financial Planning','-','20141027000217'),
array('Whelan Life  Pensions','-','20150706000356')
  ));
  
  $splitPDF->split(Storage_Repository::ORG_DOCS,'Originator Identity Record Form-Merged.pdf',array(
    array('A Rockin Bobbin','-','11604000590'),
array('A.S.A. Merchandising Limited','-','11502000244'),
array('Abbey Digital Limited','-','11610000761'),
array('AG Environmental Solutions Limited','-','11610000750'),
array('Alana Creations Limited','-','11510000386'),
array('Aldar Tissues Limited','-','11601000461'),
array('All Weather Industries','-','11608000707'),
array('Aluset Limited','-','11607000676'),
array('Ambisense Limited','-','11606000664'),
array('Arcon Heating & Plumbing Supplies Limited','-','11509000364'),
array('Asba Meats Limited','-','11406000143'),
array('Ashdown Controls Limited','-','11510000382'),
array('Ashdown HVAC Controls Limited','-','11504000282'),
array('Ashdown Integrated Systems','-','11509000370'),
array('Atlas Forklifts Limited','-','11605000634'),
array('Autobar Ireland Limited','-','11511000413'),
array('Barbary Construction Limited','-','11602000497'),
array('BC Security & Training Solutions Limited','-','11503000261'),
array('BD Property & Enterprise Limited','-','11508000342'),
array('BDS Structureform Limited','-','11510000384'),
array('Beauty Results Limited','-','11606000660'),
array('Best of Breed B.V.','-','11411000184'),
array('Betapond Limited t/a StitcherAds','-','11610000745'),
array('Bio Observations Limited T/A PixAlert','-','11606000667'),
array('Blueprint Wireless Limited','-','11506000307'),
array('Bluestone Personnel Limited','-','11606000650'),
array('Boxmount Limited','-','11503000250'),
array('Britannica Commercial Finance Limited','-','11504000271'),
array('C & G Spratt Limited','-','11602000472'),
array('CAFCO Limited','-','11512000425'),
array('Caffreys Confectionery Limited','-','11608000712'),
array('Carysfort Healthcare Limited','-','11507000325'),
array('Catalytic Burners Limited','-','11603000557'),
array('Cathy\'s Spelt for Health','-','11504000278'),
array('CDHC Clothing Limited','-','11510000377'),
array('CELGENTEK LIMITED','-','11512000430'),
array('CeMac Office Solutions Limited','-','11605000648'),
array('Central Technology Supplies Limited','-','11602000475'),
array('Change of Scandinavia Pavillions','-','11602000487'),
array('Channelforge Limited','-','11605000641'),
array('Chevron training & Recruitment Ltd','-','11610000754'),
array('Chimneysafe','-','11607000690'),
array('Clada Medical Limited','-','11605000617'),
array('Cleanway Facilities Services Limited','-','11405000128'),
array('Clonliffe Healthcare Products Limited','-','11407000153'),
array('Cloudbrook Water Company','-','11605000607'),
array('Cocalero Production Limited','-','11605000639'),
array('Commprove Limited','-','11607000697'),
array('Dataflow Learning Limited','-','11609000726'),
array('Daysha Consulting Limited','-','11603000518'),
array('DCH Partners Limited','-','11402000107'),
array('Denis Moriarty The Kerries Limited','-','11609000735'),
array('DEv team','-','11607000693'),
array('DG Asset Management IRE Ltd','-','11610000752'),
array('Digital Reach Group t/a Adforce','-','11607000675'),
array('DJ Clean Fuels Limited','-','11609000744'),
array('Driveforce Limited','-','11606000652'),
array('Drumbo Mushrooms','-','11605000632'),
array('Duiker Limited','-','11511000395'),
array('DWSD Limited','-','11609000731'),
array('E Kavanagh & Sons Electrical Limited','-','11309000063'),
array('Earls Wire','-','11606000663'),
array('Efficienc Health Technology Limited','-','11609000732'),
array('EireChrom Limited','-','11609000725'),
array('Electronic Product Services Limited','-','11606000656'),
array('Eliza Lodge Limited','-','11512000421'),
array('Elltide Limited','-','11512000429'),
array('Ember Mats Limited','-','11608000719'),
array('Emmerald Polymers Limited','-','11610000762'),
array('Enterprise Solutions','-','11606000653'),
array('Envirotech Innovative Products Limited','-','11502000237'),
array('Eucu Trading','-','11603000562'),
array('Floraville Home And Gift Limited','-','11606000655'),
array('Foca Organics Limited','-','11606000661'),
array('Food-360','-','11607000699'),
array('Forrest Decorators Limited','-','11605000642'),
array('Fresh Flowers Imports Limited','-','11610000759'),
array('Galway Pallets Limited','-','11609000738'),
array('Global Security Devices Limited','-','11605000620'),
array('Graham Anthony Distribution Limited','-','11609000736'),
array('Great Gas Filling Station Turners Cross','-','11501000212'),
array('Greenspan System Sales Ireland Limited','-','11501000221'),
array('Greenspan UK Limited','-','11609000729'),
array('H&G Midas Techology Solutions Limited','-','11505000293'),
array('Harmony Residential Care Ltd','-','11610000757'),
array('Harrington\'s Bakery Ltd.','-','11604000582'),
array('Helicon Process Development Solutions Limited','-','11609000737'),
array('Hose Doctor Limited','-','11412000206'),
array('HSK Limited','-','11609000741'),
array('Iman Casings Ireland Limited','-','11503000258'),
array('In Hand Guides','-','11605000635'),
array('Innalabs Limited','-','11603000527'),
array('Irish Pneumatic Services','-','11602000488'),
array('iSkill Training','-','11609000730'),
array('J C Bakery Limited','-','11507000330'),
array('JC Imports T/a Homeworld','-','11602000482'),
array('Jermyn St. Limited','-','11409000171'),
array('John O Neill Transport','-','11502000241'),
array('JTM Power Limited','-','11505000294'),
array('Junk Kouture Limited','-','11610000753'),
array('JV Communications Limited','-','11607000680'),
array('K.B. Combustion Limited','-','11509000371'),
array('Keane Wholesale Limited','-','11608000715'),
array('Key Logistics Limited','-','11602000486'),
array('Keyhole Utilities Limited','-','11503000262'),
array('KH Engineering Limited','-','11607000687'),
array('Leaves Ventures Limited','-','11602000504'),
array('Living Colours Wholesale Flowers Limited','-','11507000321'),
array('Longford Architectural Metalwork UK Limited','-','11604000587'),
array('Lucas Luxury Packaging Limited','-','11605000618'),
array('Lucey Technology Limited','-','11603000551'),
array('Lynx Metmast Service Limited','-','11406000142'),
array('Maestro Ireland Limited','-','11610000758'),
array('Manor Brewing Company Limited','-','11610000748'),
array('Martin O Brien Engineering','-','11608000716'),
array('Martinsen Mayer','-','11405000126'),
array('MBPRO Limited','-','11408000158'),
array('Midland Web Printing Heat Set','-','11604000596'),
array('Midland Web Printing Limited','-','11409000165'),
array('Mobavend Limited','-','11510000387'),
array('Mobeo Limited','-','11504000289'),
array('Moran CCTV Limited','-','11601000447'),
array('Munster Polymers Limited','-','11605000619'),
array('Netthings Limited','-','11608000713'),
array('Newtown Business Support Services Limited','-','11504000284'),
array('Nine One One Manufacturing Limited t/a Rustic Foods','-','11511000400'),
array('Nostra Technologies Limited','-','11310000068'),
array('NU-TECH P.B.S. Limited','-','11401000106'),
array('O Neill Communications Limited','-','11604000595'),
array('O\'Reilly Footwear','-','11602000485'),
array('Ovenfeast Limited','-','11403000111'),
array('Pat Woods Window Cleaning Services Limited','-','11307000040'),
array('Patrick Cahill (Graighnamanagh) Limited','-','11605000608'),
array('PCI Glossmax Limited','-','11607000692'),
array('Pekaar Technologies T/A P3','-','11604000581'),
array('Pieco International Limited','-','11310000073'),
array('Plant Connector Limited','-','11607000677'),
array('PMD Device Solutions Limited','-','11506000310'),
array('Porters Christmas Trees Farms','-','11411000191'),
array('Portobello School Limited','-','11608000704'),
array('Prior PLM Medical Limited','-','11608000721'),
array('Process Facilities International','-','11505000299'),
array('Professional Recruitment Consultants','-','11310000071'),
array('PSE Power','-','11602000469'),
array('Purple Acorn Limited','-','11510000381'),
array('PVC Coating International Limited','-','11604000597'),
array('Rap Fast Limited - Duplicate','-','11508000337'),
array('Rapfast Limited','-','11605000616'),
array('Raytoon Limited','-','11310000066'),
array('RD Marketing and Media','-','11602000476'),
array('REL Facility Management Limited','-','11608000708'),
array('Retrofit Design Limited','-','11603000556'),
array('Ross Maguire','-','11503000263'),
array('RPDL Limited','-','11602000471'),
array('Sandyford Taxis Limited','-','11308000053'),
array('Sattal Print & Promotional Solutions Limited','-','11605000622'),
array('Scope Technology Solutions Limited','-','11601000452'),
array('Seabrook Research Limited','-','11602000473'),
array('Service Solutions','-','11610000760'),
array('Shamrock Communications Limited','-','11604000589'),
array('Shanette Sheds Limited','-','11503000267'),
array('Shanghai Asia Pacific','-','11602000478'),
array('Skylads Limited','-','11607000673'),
array('Software Placements Limited','-','11405000135'),
array('Softwash Launderette Limited','-','11603000528'),
array('Sound & Vision Communications Limited','-','11601000438'),
array('Source Civil Limited','-','11604000591'),
array('Surg Equip Limited','-','11610000749'),
array('Tacketdale Limited','-','11401000099'),
array('Target Logistics','-','11610000747'),
array('Target Talent Limited','-','11511000397'),
array('TF Recruitment Limited','-','11607000685'),
array('The Columba Book Service Limited','-','11504000272'),
array('The One/PURE-JEANIUS','-','11607000681'),
array('The Outdoor Concept Company Limited','-','11307000043'),
array('The Project Foundry Limited','-','11509000350'),
array('The Tipperary Cheese Company Limited','-','11307000041'),
array('This is Productivity','-','11608000706'),
array('Tierney Capital Finance Ltd','-','11607000679'),
array('Tipperary Crystal Designs Limited','-','11309000064'),
array('Titan Technology Solutions Ltd','-','11607000686'),
array('Top Beam Limited','-','11503000259'),
array('Top Telecoms Limited','-','11508000343'),
array('Top TV Tech Limited','-','11603000517'),
array('Topline Windows Limited','-','11607000688'),
array('Torc Solicitors','-','11604000574'),
array('TOS Ireland Limited','-','11512000432'),
array('Transport Services (Ballyvolane) Limited','-','11605000623'),
array('Truck Contracts Limited','-','11504000275'),
array('Twelve Horses Limited','-','11310000070'),
array('Tyco Wholesale Distribution Limited','-','11508000333'),
array('Tysafe Limited','-','11602000493'),
array('Umit Kutluk Limited','-','11607000691'),
array('Virgate Limited','-','11603000521'),
array('War Management Limited','-','11503000266'),
array('WatchOvers Limited','-','11608000701'),
array('Westire Technology Limited','-','11603000554'),
array('White & Green','-','11604000577'),
array('Woodland Products Limited','-','11608000720'),
array('Xs Direct Insurance Brokers Limited','-','11309000065'),
array('Yvolve Sports Limited','-','11608000711'),
  ));
?>