Информация: Ваш браузер не принимает cookies. Если Вы хотите положить товары в Вашу тележку и купить их, то Вам необходимо включить cookies.
    Версия для печати Версия для печати
    /** * * @version $Id: shop.pdf_output.php 1821 2009-06-24 12:18:48Z soeren_nb $ * @package VirtueMart * @subpackage html * @copyright Copyright (C) 2004-2007 soeren - All rights reserved. * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php * VirtueMart is free software. This version may have been modified pursuant * to the GNU General Public License, and as distributed it includes or * is derivative of works licensed under the GNU General Public License or * other free or open source software licenses. * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details. * * http://virtuemart.net */ mm_showMyFileName( __FILE__ ); $showpage = vmGet( $_REQUEST, 'showpage'); $flypage = vmGet( $_REQUEST, 'flypage'); $product_id = vmGet( $_REQUEST, 'product_id'); $category_id = vmGet( $_REQUEST, 'category_id'); // Page Navigation Parameters $my_page= explode ( '.', $showpage ); $pagename = $my_page[1]; $limit = intval( $vm_mainframe->getUserStateFromRequest( "viewlistlimit{$showpage}", 'limit', $mosConfig_list_limit ) ); $limitstart = intval( $vm_mainframe->getUserStateFromRequest( "view{$keyword}{$category_id}{$pagename}limitstart", 'limitstart', 0 )) ; /* Who cares for Safe Mode ? Not me! */ if (@file_exists( "/usr/bin/htmldoc" )) { $allowed_pdf_pages = array('shop.product_details', 'shop.browse'); if( in_array( $showpage, $allowed_pdf_pages )) exit; $load_page = escapeshellarg($mosConfig_live_site . "/index2.php?option=com_virtuemart&page=$showpage&flypage=$flypage&product_id=$product_id&category_id=$category_id&pop=1&hide_js=1&output=pdf"); header( "Content-Type: application/pdf" ); header( "Content-Disposition: inline; filename=\"pdf-store.pdf\"" ); flush(); //following line for Linux only - windows may need the path as well... passthru( "/usr/bin/htmldoc --no-localfiles --quiet -t pdf14 --jpeg --webpage --header t.D --footer ./. --size letter --left 0.5in $load_page" ); exit; } else { freePDF( $showpage, $flypage, $product_id, $category_id, $limitstart, $limit ); } function repairImageLinks( $html ) { if( PSHOP_IMG_RESIZE_ENABLE == '1' ) { $images = array(); if (preg_match_all("/]*>/", $html, $images) > 0) { $i = 0; foreach ($images as $image) { if ( is_array( $image ) ) { foreach( $image as $src) { preg_match("'src=\"[^\"]*\"'si", $src, $matches); $source = str_replace ("src=\"", "", $matches[0]); $source = str_replace ("\"", "", $source); $fileNamePos = strpos($source, "filename="); if ( $fileNamePos > 0 ) { $firstAmpersand = strpos( $source, "&" ); $fileName = substr( $source, $fileNamePos+9, $firstAmpersand - $fileNamePos-9 ); $extension = strrchr( $fileName, "." ); $fileNameNoExt = str_replace( $extension, "", $fileName ); // $newSource = IMAGEURL . "product/resized/".$fileNameNoExt."_".PSHOP_IMG_WIDTH."x".PSHOP_IMG_HEIGHT.$extension; $newSource = IMAGEURL . "product/resized/".$fileNameNoExt.$extension; } else $newSource= $source; $html = str_replace( $source, $newSource, $html ); } } } } } return $html; } function freePDF( $showpage, $flypage, $product_id, $category_id, $limitstart, $limit ) { global $db, $sess, $auth, $my, $perm, $VM_LANG, $mosConfig_live_site, $mosConfig_sitename, $mosConfig_offset, $mosConfig_hideCreateDate, $mosConfig_hideAuthor, $mosConfig_hideModifyDate,$mm_action_url, $database, $mainframe, $mosConfig_absolute_path, $vendor_full_image, $vendor_name, $limitstart, $limit, $vm_mainframe, $keyword, $cur_template; while( @ob_end_clean() ); error_reporting( 0 ); ini_set( "allow_url_fopen", "1" ); switch( $showpage ) { case "shop.product_details": $_REQUEST['flypage'] = "shop.flypage_lite_pdf"; $_REQUEST['product_id'] = $product_id; ob_start(); include( PAGEPATH . $showpage . '.php' ); $html .= ob_get_contents(); ob_end_clean(); $html = repairImageLinks( $html ); break; case "shop.browse": // vmInputFilter is needed for the browse page if( !isset( $vmInputFilter ) || !isset( $GLOBALS['vmInputFilter'] ) ) { $GLOBALS['vmInputFilter'] = $vmInputFilter = vmInputFilter::getInstance(); } $_REQUEST['category_id'] = $category_id; ob_start(); include( PAGEPATH . $showpage . '.php' ); $html .= ob_get_contents(); ob_end_clean(); $html = repairImageLinks( $html ); break; } $logo = IMAGEPATH . "vendor/$vendor_full_image"; $logourl = IMAGEURL . "vendor/$vendor_full_image"; if (version_compare( phpversion(), '5.0' ) < 0 || extension_loaded('domxml') || !file_exists(CLASSPATH."pdf/dompdf/dompdf_config.inc.php")) { define('FPDF_FONTPATH', CLASSPATH.'pdf/font/'); define( 'RELATIVE_PATH', CLASSPATH.'pdf/' ); require( CLASSPATH.'pdf/html2fpdf.php'); require( CLASSPATH.'pdf/html2fpdf_site.php'); $pdf = new PDF(); $pdf->AddPage(); $pdf->SetFont('Arial','',11); $pdf->InitLogo($logo); $pdf->PutTitle($mosConfig_sitename); $pdf->PutAuthor( $vendor_name ); $html = str_replace ("&", "&", $html); $pdf->WriteHTML($html); $pdf->Output(); } elseif( file_exists(CLASSPATH."pdf/dompdf/dompdf_config.inc.php")) { // In this part you can use the dompdf library (http://www.digitaljunkies.ca/dompdf/) // Just extract the dompdf archive to /classes/pdf/dompdf //require_once( CLASSPATH . "pdf/dompdf/dompdf_config.inc.php" ); //require_once( CLASSPATH . "pdf/dompdf/load_font.php" ); //require_once( CLASSPATH . "pdf/dompdf/dompdf.php" ); //define('DOMPDF_FONTPATH', CLASSPATH.'pdf/dompdf/lib/fonts/'); //define( 'RELATIVE_PATH', CLASSPATH.'pdf/dompdf/' ); $image_details = getimagesize($logo); $footer = ''; $website = ' '. $mainframe->getHead().' ' . $html .' ' . $footer .' '; $website = str_replace ("resized%2F", "", $website); $website = str_replace ("&", "&", $website); $website = str_replace ("#", "", $website); require_once( CLASSPATH."pdf/dompdf/dompdf_config.inc.php"); $dompdf = new DOMPDF(); $dompdf->load_html($website); $dompdf->render(); // die( htmlspecialchars($website)); //YOU CAN EITHER UNCOMMENT THE FOLLOWING LINES AND COMMENT THIS LINE --> // $dompdf->stream( "virtue".$limitstart.".pdf", array('Attachment' => 1)); // OR LEAVE THE FOLLOWING LINES COMMENTED WITH // AND THE $dompdf->stream( "virtue".$limitstart.".pdf", array('Attachment' => 1)); UNCOMMENTED, BOTH WORK AT LAST !! // $file = "virtutest1.pdf"; // file_put_contents($file, $website); // $url = "dompdf.php?input_file=". $mosConfig_live_site."/".rawurlencode($file) . // "&paper=letter&output_file=" . rawurlencode("virtue".$limitstart.".pdf"); //$url = str_replace ("%3A", ":", $url ); //$url = str_replace ("%5C", "/", $url ); //$url = str_replace ("&", "&", $url); //header("Location: ".$mosConfig_live_site . "/administrator/components/com_virtuemart/classes/pdf/dompdf/$url"); $dompdf->stream( "virtue".$limitstart.".pdf", array('Attachment' => 1)); } }