<?php
/**
 * Zend Framework Utitlity extension
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://framework.zend.com/license/new-bsd
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@zend.com so we can send you a copy immediately.
 *
 * @category   Zend
 * @package    Zend_Form_Decorator | Zend_Form_Error
 * @copyright  Copyright (c) 2005-2015 Zama Syed
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @version    $1.0 Zama Syed $
 * @author	   Zama Syed
 */

/**
 * @category   Zend
 * @package    Zend_Form
 * @copyright  Copyright (c) 2005-2015 Zama Syed
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 * @author	   Zama Syed
 */
class ZS_Utils_CreatePdf extends Zend_Form {
	
protected $_db;
protected $x;
protected $y;
	
	public function __construct() {
		$this->_db = new Application_Model_DbTable_Selectseattemp();
		
					
	}
	
	public function createpdfdoc($orderarrnew,$pdfpath,$barcodepath,$fontregular,$fontbold,$eventimage,$all='')
    {
		
		$pdfarr = array();
		
		
		
		foreach($orderarrnew as $key=>$value){
			if(count($value)>0){
				foreach($value as $key1=>$value1){
					$pdfarr[] = $value1;
				}
			}
		}	
		
		$barcodeconvert 				= new ZS_Utils_Barcode();	
	
		
			
         $argv[1] = $pdfpath;
        
        if(file_exists($argv[1])){
				unlink($argv[1]);
		}
        
				if (!isset($argv[1])) {
					echo "USAGE: php demo.php <pdf_file> [<output_pdf_file>]\n";
					exit;
				}

				try {
					$pdf = Zend_Pdf::load($argv[1]);
				}
				
				catch (Zend_Pdf_Exception $e) {
					if ($e->getMessage() == 'Can not open \'' . $argv[1] .
											'\' file for reading.') {
						// Create new PDF if file doesn't exist
						$pdf = new Zend_Pdf();

						if (!isset($argv[2])) {
							// force complete file rewriting (instead of updating)
							$argv[2] = $argv[1];
						}
					} else {
						// Throw an exception if it's not the "Can't open file
						// exception
						throw $e;
					}
				}

			// Reverse page order
				$pdf->pages = array_reverse($pdf->pages);

			// Create new Style
				$style = new Zend_Pdf_Style();
				$style->setFillColor(new Zend_Pdf_Color_Rgb(0, 0, 0.9));
				$style->setLineColor(new Zend_Pdf_Color_GrayScale(0.2));
				$style->setLineWidth(3);
				$style->setLineDashingPattern(array(3, 2, 3, 4), 1.6);
			//	$style->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD), 32);
				
				try {
			// Create new image object
					$stampImage = null;//Zend_Pdf_Image::imageWithPath(dirname(__FILE__) .'/stamp.jpg');
				} catch (Zend_Pdf_Exception $e) {
			// Example of operating with image loading exceptions. 
					if ($e->getMessage() != 'Image extension is not installed.' &&
						$e->getMessage() != 'JPG support is not configured properly.') {
						throw $e;
					}
					$stampImage = null;
				}


			// Mark page as modified
				foreach ($pdf->pages as $page){
					$page->saveGS();
					$page->setAlpha(0.25);
					$page->setStyle($style);
				//	$page->rotate(0, 0, M_PI_2/3);

					$page->saveGS();
					$page->clipCircle(550, -10, 50);
					if ($stampImage != null) {
						$page->drawImage($stampImage, 500, -60, 600, 40);
					}
					$page->restoreGS();

					//$page->drawText('Modified by Zend Framework!', 150, 0);
					$page->restoreGS();
				}
				$i= 1; 
				$outrecx1 = 0;
				$outrecy1 = 0;
				$outrecx2 = 570;
				$outrecy2 = 280;
				//$pdf->pages[] = ($page1 = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4_LANDSCAPE));
				
				$i = 1;$z =0;
				$temp = 0;
		
		foreach($pdfarr as $key=>$value){
				
				if($key%3==0){				
					$pdf->pages[] = ( ${"page".$i} = new Zend_Pdf_Page('570:840') );					
					$pageno = ${"page".$i};
					$i++;
					$z =0;
					
				}
			
				
				$y = 280;
				
			
				
				$innerx1 = 11;
				$innery1 = 840-($y*$z);
				$innerx2 = 320;
				$innery2 = 565-($y*$z);
			
			
				$innerimgx1 = 10;
				$innerimgy1 = 831-($y*$z);
				$innerimgx2 = 316;
				$innerimgy2 = 575-($y*$z);
				
				
				$barcodesecx1 = 649-($y*$z); 	//down vertical
				$barcodesecy1 = 563;
				$barcodesecx2 = 265;	//up vertical
				$barcodesecy2 = 1172-($y*$z);
				
				
				$innerbarcodey1 = 590-($y*$z);
				$innerbarcodey2 = 613-($y*$z);
				
				$x = 326;
				$y = 819-($y*$z);
				
				$showImage = $this->getShowImage($value['zsselectseat_show_id'],'zs_eventimages','zs_show_id' );
				$imgdestination = $eventimage."/".$showImage;
				$imagePath=  $imgdestination; 
				
				
				if($showImage!='' && file_exists($imagePath) && $key==0){
					$image = Zend_Pdf_Image::imageWithPath($imagePath);
					$imgWidthPts  = $image->getPixelWidth() * 72 / 96;
					$imgHeightPts = $image->getPixelHeight() * 72 / 96;
					$temp = 1;
				}
				
			// Add new page generated by Zend_Pdf_Page object
			// (page is not attached to the document)
			//	$pdf->pages[] = ($page1 = $pdf->newPage('A4'));
				
					
				$pageno->setFillColor(new Zend_Pdf_Color_Html('#CCCCCC')); 
				$pageno->setLineColor(new Zend_Pdf_Color_Html('#FFFFFF'));
				//${"page".($key+1)}->drawRectangle($outrecx1, $outrecy1, $outrecx2, $outrecy2); 
				
				
				$pageno->setFillColor(new Zend_Pdf_Color_Html('#FFFFFF')); 
				$pageno->setLineColor(new Zend_Pdf_Color_Html('#FFFFFF'));
				$pageno->drawRectangle($innerx1, $innery1,$innerx2+324, $innery2); 
				
				$pageno->setFillColor(new Zend_Pdf_Color_Html('#FFFFFF')); 
				$pageno->setLineColor(new Zend_Pdf_Color_Html('#FFFFFF')); 
				$pageno->setLineDashingPattern(array(1, 1, 1, 1), 3.6); 
				$pageno->drawRectangle($innerx1, $innery1, $innerx2, $innery2); 
			
				$pageno->setFillColor(new Zend_Pdf_Color_Html('#FFFFFF'));  //F6EFF0
				$pageno->setLineColor(new Zend_Pdf_Color_Html('#FFFFFF')); 
				$pageno->setLineDashingPattern(array(1, 1, 1, 1), 3.6); 
				$pageno->drawRectangle($innerx2-5, $innery1-9, $innerx2+240, $innery2+10); 

				$eventname 		= $value['zshtl_event_name'];
				$showStartDate	= $value['zsshow_date'];
				$ShowStartTime	= 'Start :'.$value['zsshow_time'];
				$Showduration	= 'Show Duration :'.$value['zsshow_event_duration'];
				$Showenddate	= 'End :'.$value['zsshow_end_date'];
				$ShowTitle		= $value['zsshow_subtitles'];
				$venuedetail		= $value['zsshow_venue'];
				$Seattype		= $value['zsarea_title'];
				
				// Create new font
				//	$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
				// Use font object for another page
				//${"page".($key+1)}->setFont($font, 12);
				
				$pageno->setFillColor(Zend_Pdf_Color_Html::color('#000000'));
				$pageno->setLineColor(new Zend_Pdf_Color_Html('#000000'));
			//	${"page".($key+1)}->drawLine(($x-10),($y+14), ($x+160),($y+14));
					
					 	
				//$font = Zend_Pdf_Font::fontWithPath($fontbold);
				
				
				$font = Zend_Pdf_Font::fontWithPath($fontbold);
				   
		
				$pageno->setFont($font, 8);	
				$pageno->drawText($_SERVER['HTTP_HOST'], $x, $y);
				//$y = $y-15; 
				
				$pageno->setFont($font, 14);
				$this->lengthtext($eventname, $x, $y,23,$pageno,0);
			//	${"page".($key+1)}->drawText($eventname, $x,$y);
				$y = $y-15;
				$pageno->setFont($font, 8);
				$pageno->drawText($_SERVER['HTTP_HOST'], $x, $y);
			
				$y = $y-20;
				$pageno->drawLine($x,($y+15), ($x+140),($y+15));
				$pageno->setFont($font, 14);
				$y = $y-2;
				$pageno->drawText($showStartDate, $x, $y);
				
				$y = $y-15;
				$pageno->setFont($font, 10);
				$pageno->drawText($ShowStartTime, $x, $y);
				
				$pageno->setFont($font, 14);
				$y = $y-15;
				$this->lengthtext($ShowTitle, $x, $y,23,$pageno,1);
									
					// Use another font
				
				$y = $y-20;
				$pageno->drawLine($x,($y+15), ($x+140),($y+15));
				$y = $y-2;
				$pageno->setFont($font, 14);
				$pageno->drawText($Seattype, $x, $y);
				
				$y = $y-15;
				$pageno->setFont($font, 10);
				$y = $y-1;
				$pageno->drawText($Showduration, $x, $y);
				
					
				$y = $y-20;
				$pageno->drawLine($x,($y+15), ($x+140),($y+15));
			//	$pageno->setFont($font, 14);
			//	$pageno->drawText('Seat Detail ', $x, $y);
				
				$pageno->setFont($font, 10);
				$y = $y-2;
			//	$pageno->drawText('Block ', $x, $y);
				
				
				$pageno->setFont($font, 14);
			//	$pageno->drawText($value['zsselectseat_block_id'], ($x+30), $y);
				$pageno->drawText($value['blockname'], $x, $y);
				$y = $y-10;
				
				
				$pageno->setFont($font, 10);
				$y = $y-5;
				$pageno->drawText('Row ', $x, $y);
				
				$pageno->setFont($font, 14);
				$pageno->drawText($value['zsselectseat_row_number'], ($x+30), $y);
				
				
				$pageno->setFont($font, 10);
				$pageno->drawText('Seat ', ($x+60), $y);
				
				$pageno->setFont($font, 14);
				$pageno->drawText($value['zsselectseat_seatid'], ($x+90), $y);
				
			//	$pageno->setFont($font, 12);
			//	$y = $y-15;
			//	$seatrowdetail ="Block : Row : Seat No = ".$value['zsselectseat_block_id']." : ".$value['zsselectseat_row_number']." : ".$value['zsselectseat_seatid'];
			//	$pageno->drawText($seatrowdetail, $x, $y );
								
				$y = $y-15;
				$pageno->setFont($font, 10);
				$this->lengthtext($venuedetail, $x, $y,23,$pageno,1);
					
			//	$pageno->drawText($barcodecreate, 460,($lastval-90));
					
					/*
				$barcodevalue = 'Transaction id = '.$value['oid'].' '.'
								 Block id 		= '.$value['zsselectseat_block_id'].' '.'
								 Row id 		= '.$value['zsselectseat_row_number'].' '.'
								 Seat id 		= '.$value['zsselectseat_seatid'];
				*/
				$barcodevalue = $value['oid'];
				
								 			 
				if($all==''){
					if(file_exists($barcodepath)){
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath);
					}else{
						$imgresourse =  $barcodeconvert->createBarcodeImage($barcodevalue,'code128','17','4','png',$barcodepath);
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath);
					}
				}
				else{
					$barcodepath1 = '';
					$barcodepath1 = $barcodepath.$value['oid'].".png";
					
					
					if(file_exists($barcodepath1)){
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath1);
					}else{
						$imgresourse =  $barcodeconvert->createBarcodeImage($barcodevalue,'code128','17','4','png',$barcodepath1);
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath1);
					}					
				}
			
			
			//	$showImage = '';
				
				if($temp==1){
					$x1           = 20;
					$y1           = 200;
					$pageno->drawImage($image,$innerimgx1, $innerimgy1, $innerimgx2, $innerimgy2);
				}else{
					$pageno->setFillColor(new Zend_Pdf_Color_Html('#FFFFFF')); //FFCC33
					$pageno->setLineColor(new Zend_Pdf_Color_Html('#FFFFFF'));
					$pageno->drawRectangle($innerimgx1, $innerimgy1, $innerimgx2, $innerimgy2); 
					$pageno->setFillColor(Zend_Pdf_Color_Html::color('#000000'));
					$pageno->setLineColor(new Zend_Pdf_Color_Html('#000000'));
				}
				
				$x1 = 470;
				$y1 = 555;
								
				$pageno->drawImage($barcodeimage,($x+55),$innerbarcodey1, ($x+150), $innerbarcodey2);
					
					
				$pageno->drawLine(477, 840,477, 0);
				$pageno->setLineWidth(0.5);
				
			//	$pageno->rotate(580,520,89.544);
			//	$pageno->drawImage($barcodeimage, $barcodesecx1,$barcodesecy1, $barcodesecx2, $barcodesecy2);
			
			
				
		$z++;		
		}	
		
	//echo 'test';exit;	
			
			$l =1;$z=0;
		foreach($pdfarr as $keynew=>$value1){
				
			/*	$barcodevalue = 'Transaction id = '.$value['oid'].'<br>'.'
								 Block id 		= '.$value['zsselectseat_block_id'].'<br>'.'
								 Row id 		= '.$value['zsselectseat_row_number'].'<br>'.'
								 Seat id 		= '.$value['zsselectseat_seatid'];
								 */
				$barcodevalue = $value['oid'];
				if($all==''){
					
					$barcodepath1 = $barcodepath;
					if(file_exists($barcodepath)){
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath);
					}else{
						$imgresourse =  $barcodeconvert->createBarcodeImage($value1['oid'],'code128','17','4','png',$barcodepath);
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath);
					}
				}
				else{
					$barcodepath1 = '';
					$barcodepath1 = $barcodepath.$value1['oid'].".png";
					
					
					if(file_exists($barcodepath1)){
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath1);
					}else{
						$imgresourse =  $barcodeconvert->createBarcodeImage($value1['oid'],'code128','17','4','png',$barcodepath1);
						$barcodeimage = Zend_Pdf_Image::imageWithPath($barcodepath1);
					}					
				}
				
				
				if($keynew%3==0){								
					$pageno = ${"page".$l};
					$l++;
					$z =0;
					$pageno->rotate(580,520,89.544);
				}
				$y = 300;
				$barcodesecx1 = 685-($y*$z); 	//down vertical
				$barcodesecy1 = 563;
				$barcodesecx2 = 865-($y*$z);	//up vertical
				$barcodesecy2 = 608;
				$pageno->drawImage($barcodeimage, $barcodesecx1,$barcodesecy1, $barcodesecx2, $barcodesecy2);
				
				
				unlink($barcodepath1);
				$z++;	
			}	  



		if (isset($argv[2])) { 
			$pdf->save($argv[2]);
		} else {
			$pdf->save($argv[1], true /* update */);
		}
		
		
		
		
		
    }
 
	
	
	public function CreateInvoicepdfdoc($OrderSeatDetail,$invoicepath,$UserOrderDetail,$fontregular,$fontbold)
	{
		
			
			
				$pdfarr = array();
			/*	foreach($OrderSeatDetail as $key=>$value){
					if(count($value)>0){
						foreach($value as $key1=>$value1){
							$pdfarr[] = $value1;
						}
					}
				}	*/
	
		
		
				$argv[1] = $invoicepath;
				if(file_exists($argv[1])){
						unlink($argv[1]);
				}
        
				if (!isset($argv[1])) {
					echo "USAGE: php demo.php <pdf_file> [<output_pdf_file>]\n";
					exit;
				}

				try {
					$pdf = Zend_Pdf::load($argv[1]);
				}
				
				catch (Zend_Pdf_Exception $e) {
					if ($e->getMessage() == 'Can not open \'' . $argv[1] .
											'\' file for reading.') {
						// Create new PDF if file doesn't exist
						$pdf = new Zend_Pdf();

						if (!isset($argv[2])) {
							// force complete file rewriting (instead of updating)
							$argv[2] = $argv[1];
						}
					} else {
						// Throw an exception if it's not the "Can't open file
						// exception
						throw $e;
					}
				}

			// Reverse page order
				$pdf->pages = array_reverse($pdf->pages);

			// Create new Style
				$style = new Zend_Pdf_Style();
				$style->setFillColor(new Zend_Pdf_Color_Rgb(0, 0, 0.9));
				$style->setLineColor(new Zend_Pdf_Color_GrayScale(0.2));
				$style->setLineWidth(3);
				$style->setLineDashingPattern(array(3, 2, 3, 4), 1.6);
			//	$style->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD), 32);
				
				try {
			// Create new image object
					$stampImage = null;//Zend_Pdf_Image::imageWithPath(dirname(__FILE__) .'/stamp.jpg');
				} catch (Zend_Pdf_Exception $e) {
			// Example of operating with image loading exceptions. 
					if ($e->getMessage() != 'Image extension is not installed.' &&
						$e->getMessage() != 'JPG support is not configured properly.') {
						throw $e;
					}
					$stampImage = null;
				}


			// Mark page as modified
				foreach ($pdf->pages as $page){
					$page->saveGS();
					$page->setAlpha(0.25);
					$page->setStyle($style);
					$page->rotate(0, 0, M_PI_2/3);

					$page->saveGS();
					$page->clipCircle(550, -10, 50);
					if ($stampImage != null) {
						$page->drawImage($stampImage, 500, -60, 600, 40);
					}
					$page->restoreGS();

					//$page->drawText('Modified by Zend Framework!', 150, 0);
					$page->restoreGS();
				}
		
	
			//$pdf->pages[] = ($page1 = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4_LANDSCAPE));
			//	$pdf->pages[] = new Zend_Pdf_Page($page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4)); 
				
									
				$font = Zend_Pdf_Font::fontWithPath($fontregular);	
				$i=1;
	
				 
				foreach($UserOrderDetail as $key=>$value)
				{		
					
						$x = 57;
						$y = 668;
						$pdfarr = $OrderSeatDetail[$key];
						
			
						if($value['zsorder_salutation']==2){
							$salutation = 'Mr';
						}else if($value['zsorder_salutation']==2){
							$salutation = 'woman';
						}else{
							$salutation = 'Mr / Ms or company';
						}
						
						$pdf->pages[] = (${"page".$i}  = $pdf->newPage('A4'));
					
						${"page".$i}->setFont($font, 11);
						${"page".$i}->drawText($value['zsorder_company'],$x,687);
						
						
						$this->DrawInvoiceRectangle($x-5,682,$x+180,610,${"page".$i});
						
						
						${"page".$i}->drawText($salutation,$x,$y);
						$y = $y-12;
						${"page".$i}->drawText($value['zsorder_firstname'].' '.$value['zsorder_lastname'],$x,$y);
						$y = $y-12;
						${"page".$i}->drawText($value['zsorder_streetaddress'],$x,$y);
						$y = $y-12;
						${"page".$i}->drawText($value['zsorder_zip'].' '.$value['zsorder_city'],$x,$y);
						$y = $y-96;
						
						
						
						${"page".$i}->setFont($font, 16);			
						${"page".$i}->drawText('STATMENT',$x,$y);
						
						$font = Zend_Pdf_Font::fontWithPath($fontbold);
						$y = $y-30;
						
						$oidlen =  strlen($value['zsorder_id']);
						
						$this->DrawInvoiceRectangle($x+45,$y+12,$x+63+$oidlen,$y-3,${"page".$i});
						
						
						${"page".$i}->setFont($font, 11);
						${"page".$i}->drawText('ORDER NO: '.$value['zsorder_id'],$x,$y);
						
						$y = $y-20;
						$this->DrawInvoiceRectangle($x+58,$y+11,$x+133,$y-2,${"page".$i});
						
						$this->DrawInvoiceRectangle($x+195,$y+11,$x+430,$y-37,${"page".$i});
						
						${"page".$i}->drawText('CUSTOMER Id: '.$value['zsorder_sessionid'],$x,$y);
						$font = Zend_Pdf_Font::fontWithPath($fontregular);								
						${"page".$i}->setFont($font, 11);
						${"page".$i}->drawText($pdfarr[0]['zsshow_subtitles'],$x+200,$y);
						
						$y = $y-15;
						$this->DrawInvoiceRectangle($x+46,$y+11,$x+134,$y-2,${"page".$i});
						
						${"page".$i}->drawText('Order From: '.$value['zsorder_date'],$x,$y);
						${"page".$i}->drawText($pdfarr[0]['zsshow_date'].' '.$pdfarr[0]['zsshow_time'],$x+200,$y);
						
						$y = $y-15;
						$this->DrawInvoiceRectangle($x+51,$y+11,$x+110,$y-2,${"page".$i});
						${"page".$i}->drawText('Invoice Date: '. date('Y-m-d',strtotime($value['zsorder_date']. ' + 2 days')),$x,$y);
						${"page".$i}->drawText($pdfarr[0]['zshtl_event_name'],$x+200,$y);
						
						$y = $y-29;
						${"page".$i}->drawLine($x,$y,($x+490),$y);
						$y = $y-14;
						$font = Zend_Pdf_Font::fontWithPath($fontbold);
						${"page".$i}->setFont($font, 11);
						
						${"page".$i}->drawText('Artical',$x,$y);
						${"page".$i}->drawText('Information',$x+143,$y);
						${"page".$i}->drawText('VAT',$x+360,$y);
						${"page".$i}->drawText('Price',$x+460,$y);
						$y = $y-7;
						${"page".$i}->drawLine($x,$y,($x+490),$y);
						
						$font = Zend_Pdf_Font::fontWithPath($fontregular);								
						${"page".$i}->setFont($font, 11);
						$y = $y-18;
						
						$invoiceamount = 0;
						$this->DrawInvoiceRectangle($x-2,$y+15,$x+490,$y-(count($pdfarr)*14),${"page".$i});
						
						foreach($pdfarr as $key1=>$value1){
							$information = $value1['blockname'].", Series ".$value1['zsselectseat_row_number'].", No ".$value1['zsselectseat_seatid'].", ".$value1['zsarea_title'];
							
							${"page".$i}->drawText('1 x Ticket',$x,$y);
							${"page".$i}->drawText($information,$x+143,$y);
							${"page".$i}->drawText('',$x+360,$y);
							${"page".$i}->drawText($value1['price'],$x+460,$y);
							
							$invoiceamount += $value1['price'];
							$y = $y-13;
						}
						$font = Zend_Pdf_Font::fontWithPath($fontregular);								
						${"page".$i}->setFont($font, 11);
						${"page".$i}->drawText('Postal Charge:',$x,$y);
						${"page".$i}->drawText('4',$x+460,$y);
						$y = $y-13;
						
						$y = $y-5;
						${"page".$i}->drawLine($x,$y,($x+490),$y);
						
						$y = $y-13;
						${"page".$i}->drawText('Invoice amount:',$x+300,$y);
						
						$this->DrawInvoiceRectangle($x+457,$y+11,$x+480,$y-3,${"page".$i});
						
						${"page".$i}->drawText(($invoiceamount+4),$x+460,$y);
						
						$y = $y-8;
						${"page".$i}->drawLine($x,$y,($x+490),$y);
						
						$y = $y-30;
						${"page".$i}->drawText('PAYMENT:',$x,$y);
						
						
						$payment1 = "Please ".$invoiceamount." euros transfer to ".$pdfarr[0]['zsshow_date']." necessarily stating the order number ".$value['zsorder_id'];
						$payment2 = "to the beneficiary's account : ".$value['zsorder_company']." , IBAN: DE33 2807 0024 0012 0303 00";
						$payment3 = "Account: 012030300 Bank code: 28070024, BIC: DEUTDEDB280, German Bank Private and Business Customers";
						
						
						$y = $y-13;
						$this->DrawInvoiceRectangle($x+26,$y+11,$x+41+(2*strlen($invoiceamount)),$y-2,${"page".$i});
						$this->DrawInvoiceRectangle($x+110,$y+11,$x+156,$y-2,${"page".$i});
						$this->DrawInvoiceRectangle($x+297,$y+11,$x+312+(2*strlen($value['zsorder_id'])),$y-2,${"page".$i});
						${"page".$i}->drawText($payment1,$x,$y);
						$y = $y-13;
						
						$this->DrawInvoiceRectangle($x+110,$y+9,$x+165+(strlen($value['zsorder_company']*2)),$y-3,${"page".$i});
						$this->DrawInvoiceRectangle($x+192+(strlen($value['zsorder_company']*2)),$y+9,$x+165+160,$y-3,${"page".$i});
						${"page".$i}->drawText($payment2,$x,$y);
						
						
						$y = $y-13;
						$this->DrawInvoiceRectangle($x+32,$y+9,$x+80,$y-3,${"page".$i});
						$this->DrawInvoiceRectangle($x+125,$y+9,$x+165,$y-3,${"page".$i});
						$this->DrawInvoiceRectangle($x+185,$y+9,$x+245,$y-3,${"page".$i});
						${"page".$i}->drawText($payment3,$x,$y);
						
						$y = $y-40;
						${"page".$i}->setFont($font, 20);
						$thankmsg = "Thank you for ordering and great entertainment!";
						${"page".$i}->drawText($thankmsg,$x+60,$y);
						
						
						//$this->drawTextArea('ggggggggggggggggggggggg', $x, $y, 30,0,0,0,${"page".$i});
						
						$i++;
				}
						
			if (isset($argv[2])) { 
				$pdf->save($argv[2]);
			} else {
				$pdf->save($argv[1], true /* update */);
			}
				
	}
	
	
	 public function getShowImage($id,$tblname,$value){
		
		
			$select =	$this->_db->select(false)
							->from($tblname,
									array('zs_eventimgname','zs_eventimgid') )
							->setIntegrityCheck(false)
							->where($value.' = ?',$id);

			
			$result = 	$this->_db->fetchRow($select);
			if(isset($result) && count($result)>0){	
			$res = $result->toArray();
			return $res['zs_eventimgname'];
			}
			else{
			return '';
			}
		}
		
	 public function lengthtext($ShowTitle,&$x,&$y,$fontlimit,$page1,$line=1){
			
			if(strlen($ShowTitle) > 24){
			$ShowTitle = substr($ShowTitle, 0,22);
			}
			
			if(strlen($ShowTitle)>$fontlimit){	
				$ShowTitle = rtrim($ShowTitle, " ");
				$newtext = wordwrap($ShowTitle,$fontlimit, "<br>");
				$txtarr = explode("<br>",$newtext);
				
				foreach($txtarr as $key=>$value){ 
					$y = $y-15;
					if($key==0 && $line!=0){
						$page1->drawLine($x,($y+15), ($x+140),($y+15));
						$y = $y-2;
					}
					else{
						$page1->drawLine($x,($y+15), ($x+140),($y+15));
						$y = $y-2;
					}
					$page1->drawText($value, $x, $y);
				}
				
			}
			else{ 
				$y = $y-15;
				$page1->drawLine($x,($y+25), ($x+140),($y+25));
				$page1->drawText($ShowTitle, $x, $y);
			}
			
			
					
		}

	public function DrawInvoiceRectangle($x1,$y1,$x2,$y2,$page1){
		/*
		$page1->setFillColor(new Zend_Pdf_Color_Html('#FFFFFF')); 
		$page1->setLineColor(new Zend_Pdf_Color_Html('#FF0000'));
		$page1->drawRectangle($x1,$y1,$x2,$y2); 
		$page1->setFillColor(Zend_Pdf_Color_Html::color('#000000'));
		$page1->setLineColor(new Zend_Pdf_Color_Html('#000000')); */
	}


	public function drawTextArea($text, $pos_x, $pos_y, $height, $length = 0, $offset_x = 0, $offset_y = 0,$page1)        
	{
		$x = $pos_x + $offset_x;
		$y = $pos_y + $offset_y;

		if ($length != 0) {
			$text = wordwrap($text, $length, "\n", false);
		}
		$token = strtok($text, "\n");

		while ($token != false) {
			$page1->drawText($token, $x, $y);
			$token = strtok("\n");
			$y -= $height;
		}
		
	}

	
	public function mergePdf($pdfpath,$orderarrnew,$mergepdfpdfpath){
		
		

	
			
				$argv[1] = $mergepdfpdfpath;
      
				if(file_exists($argv[1])){
						unlink($argv[1]);
				}
        
				if (!isset($argv[1])) {
					echo "USAGE: php demo.php <pdf_file> [<output_pdf_file>]\n";
					exit;
				}

				try {
					$pdf = Zend_Pdf::load($argv[1]);
				}
				
				catch (Zend_Pdf_Exception $e) {
					if ($e->getMessage() == 'Can not open \'' . $argv[1] .
											'\' file for reading.') {
						// Create new PDF if file doesn't exist
						$pdf = new Zend_Pdf();

						if (!isset($argv[2])) {
							// force complete file rewriting (instead of updating)
							$argv[2] = $argv[1];
						}
					} else {
						// Throw an exception if it's not the "Can't open file
						// exception
						throw $e;
					}
				}

			// Reverse page order
				$pdf->pages = array_reverse($pdf->pages);

			// Create new Style
				$style = new Zend_Pdf_Style();
				$style->setFillColor(new Zend_Pdf_Color_Rgb(0, 0, 0.9));
				$style->setLineColor(new Zend_Pdf_Color_GrayScale(0.2));
				$style->setLineWidth(3);
				$style->setLineDashingPattern(array(3, 2, 3, 4), 1.6);
			//	$style->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA_BOLD), 32);
				
				try {
			// Create new image object
					$stampImage = null;//Zend_Pdf_Image::imageWithPath(dirname(__FILE__) .'/stamp.jpg');
				} catch (Zend_Pdf_Exception $e) {
			// Example of operating with image loading exceptions. 
					if ($e->getMessage() != 'Image extension is not installed.' &&
						$e->getMessage() != 'JPG support is not configured properly.') {
						throw $e;
					}
					$stampImage = null;
				}


				$ex = new Zend_Pdf_Resource_Extractor(); 
		
			// Mark page as modified
				foreach ($pdf->pages as $page){
					$page->saveGS();
					$page->setAlpha(0.25);
					$page->setStyle($style);
					$page->rotate(0, 0, M_PI_2/3);

					$page->saveGS();
					$page->clipCircle(550, -10, 50);
					if ($stampImage != null) {
						$page->drawImage($stampImage, 500, -60, 600, 40);
					}
					$page->restoreGS();

					//$page->drawText('Modified by Zend Framework!', 150, 0);
					$page->restoreGS();
				}
						

				
			
			foreach($orderarrnew as $key=>$value){ 
				
				$pdfpathnew = $pdfpath.$value.".pdf";
				
				if(file_exists($pdfpathnew)){
					
					${"page".($key+1)} = Zend_Pdf::load($pdfpathnew);
					$pageCount = count(${"page".($key+1)}->pages);
					for($i=0;$i<$pageCount;$i++){
					$pdf->pages[] = $ex->clonePage(${"page".($key+1)}->pages[$i]);
					}
					
				}
				
			}

			if (isset($argv[2])) { 
				$pdf->save($argv[2]);
			} else {
				$pdf->save($argv[1], true /* update */);
			}
			
			
			return $mergepdfpdfpath;
		
				
	}

}

?>
