baady92 Posted November 10, 2016 Share Posted November 10, 2016 Cześć mam mały problem. Gdy robie zamówienie na sklepie i wybiore wysyłę za pobraniem i potwierdzam zamówienie pojawia się błąd : 500 Internal ErrorThe server encountered an internal error and could not complete your request. Gdy włączyłem pokazywanie błędów czy jak to się fachowo nazywa pokazuje się komunikat : Parse error: syntax error, unexpected end of file in /sklep/classes/pdf/PDF.php on line 90 i jak chce zmienić status zamówienia, pokazuje się dokładnie ten sam błąd. Jakby się nie chciały generować pliki pdf. Ma ktoś może jakiś pomysł ? Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Plik który podmieniłeś był z tej wersji, czy z najnowszej? Wygląda na to ze podmieniłeś plik na z nie właściwiej wersji. Twój powinien zawierać taki kod: <?php /** * 2007-2015 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * 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 [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2015 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * @since 1.5 */ class PDFCore { public $filename; public $pdf_renderer; public $objects; public $template; public $send_bulk_flag = false; const TEMPLATE_INVOICE = 'Invoice'; const TEMPLATE_ORDER_RETURN = 'OrderReturn'; const TEMPLATE_ORDER_SLIP = 'OrderSlip'; const TEMPLATE_DELIVERY_SLIP = 'DeliverySlip'; const TEMPLATE_SUPPLY_ORDER_FORM = 'SupplyOrderForm'; /** * @param $objects * @param $template * @param $smarty * @param string $orientation */ public function __construct($objects, $template, $smarty, $orientation = 'P') { $this->pdf_renderer = new PDFGenerator((bool)Configuration::get('PS_PDF_USE_CACHE'), $orientation); $this->template = $template; $this->smarty = $smarty; $this->objects = $objects; if (!($objects instanceof Iterator) && !is_array($objects)) { $this->objects = array($objects); } if (count($this->objects)>1) { // when bulk mode only $this->send_bulk_flag = true; } } /** * Render PDF * * @param bool $display * @return mixed * @throws PrestaShopException */ public function render($display = true) { $render = false; $this->pdf_renderer->setFontForLang(Context::getContext()->language->iso_code); foreach ($this->objects as $object) { $template = $this->getTemplateObject($object); if (!$template) { continue; } if (empty($this->filename)) { $this->filename = $template->getFilename(); if (count($this->objects) > 1) { $this->filename = $template->getBulkFilename(); } } $template->assignHookData($object); $this->pdf_renderer->createHeader($template->getHeader()); $this->pdf_renderer->createFooter($template->getFooter()); $this->pdf_renderer->createContent($template->getContent()); $this->pdf_renderer->writePage(); $render = true; unset($template); } if ($render) { // clean the output buffer if (ob_get_level() && ob_get_length() > 0) { ob_clean(); } return $this->pdf_renderer->render($this->filename, $display); } } /** * Get correct PDF template classes * * @param mixed $object * @return HTMLTemplate|false * @throws PrestaShopException */ public function getTemplateObject($object) { $class = false; $class_name = 'HTMLTemplate'.$this->template; if (class_exists($class_name)) { // Some HTMLTemplateXYZ implementations won't use the third param but this is not a problem (no warning in PHP), // the third param is then ignored if not added to the method signature. $class = new $class_name($object, $this->smarty, $this->send_bulk_flag); if (!($class instanceof HTMLTemplate)) { throw new PrestaShopException('Invalid class. It should be an instance of HTMLTemplate'); } } return $class; } } 1 Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Na początek spróbuj podmienić ten plik z instalki. Link to comment Share on other sites More sharing options...
0 baady92 Posted November 11, 2016 Author Share Posted November 11, 2016 Zrobiłem jak mówiłeś i teraz pojawia się błąd Fatal error: Call to undefined method PDFGenerator::createPagination() in /sklep/classes/pdf/PDF.php on line 95 Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Wejdź w Zaawansowane > Informacje Konfiguracyjne, masz tam podane wersja php, oraz w SPRAWDŹ KONFIGURACJĘ powinno być wszytko na Tak, ponadto poniżej powinna załadować się lista zmienionych i brakujących plików. Link to comment Share on other sites More sharing options...
0 baady92 Posted November 11, 2016 Author Share Posted November 11, 2016 Wersja PHP 5.6.12 Brakujące pliki (11) admin/backups/.htaccess admin/export/.htaccess admin/import/.htaccess admin/tabs/.htaccess classes/.htaccess config/.htaccess config/xml/.htaccess css/.htaccess js/.htaccess override/.htaccess pdf/.htaccess Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Ile masz plików w folderze pdf? Standardowo jest 39, ty nie masz pliku .htaccess więc powinieneś mieć 38. Link to comment Share on other sites More sharing options...
0 baady92 Posted November 11, 2016 Author Share Posted November 11, 2016 35 mówimy o katalogu głównym a potem folder pdf, nie ten pdf w classes. Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Tak, jeszcze napisz jaką masz wersje ponieważ ja pisze odnośnie 1.6.1.7 w innych wersjach może się ta liczba plików różnić. Link to comment Share on other sites More sharing options...
0 baady92 Posted November 11, 2016 Author Share Posted November 11, 2016 Wersja PrestaShop 1.6.1.4 Link to comment Share on other sites More sharing options...
0 baady92 Posted November 11, 2016 Author Share Posted November 11, 2016 Jesteś wielki! działa. Dziękuje Ci bardzo. Link to comment Share on other sites More sharing options...
0 endriu107 Posted November 11, 2016 Share Posted November 11, 2016 Oznaczam wątek jako rozwiązany. Link to comment Share on other sites More sharing options...
Question
baady92
Cześć mam mały problem.
Gdy robie zamówienie na sklepie i wybiore wysyłę za pobraniem i potwierdzam zamówienie pojawia się błąd :
The server encountered an internal error and could not complete your request.
Gdy włączyłem pokazywanie błędów czy jak to się fachowo nazywa pokazuje się komunikat :
Parse error: syntax error, unexpected end of file in /sklep/classes/pdf/PDF.php on line 90
i jak chce zmienić status zamówienia, pokazuje się dokładnie ten sam błąd.
Jakby się nie chciały generować pliki pdf.
Ma ktoś może jakiś pomysł ?
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now