ZVF 40

ZVF 40

Раздаточный кран для заправки самолетов, не автомат, для заправки сверху крыльев для бензина для самолетов и реактивного горючего до 400 л / мин.
Размер DN 40. Давление PN 10.
Цена доступна по запросу Купить

Добавьте товар в корзину
и оформите заказ.
Наш менеджер составит для Вас уникальное предложение

WiseCMS

Catch an error. Type [Recoverable Error].

Argument 1 passed to Product::hasProductOption() must be an instance of Option, boolean given, called in /home/pse/sites/elaflex-pse.ru/sys_data/site/templates_compiled/239760ee90814640a53499cafd10bd0153f7d5e7.file.products.tpl.php on line 107 and defined


In file
[line: 126] [APP_ROOT]/site.elaflex-pse.ru/models/Product.php

  • 116
    	public function getProductOptions()
  • 117
    	{
  • 118
    		if (null === $this->productOptions) {
  • 119
    			$this->initProductOptions();
  • 120
    		}
  • 121
    
    					
  • 122
    		return $this->productOptions;
  • 123
    	}
  • 124
    
    					
  • 125
    	public function hasProductOption(Option $option)
  • 126
    	{
  • 127
    		if (null === $this->productOptions) {
  • 128
    			$this->initProductOptions();
  • 129
    		}
  • 130
    
    					
  • 131
    		return isset($this->productOptions[$option->getId()]);
  • 132
    	}
  • 133
    
    					
  • 134
    	public function getProductOption(Option $option)
  • 135
    	{
  • 136
    		if (null === $this->productOptions) {

Provided Stack trace

Handler::errorHandler()


Internal::call_user_func()

in [APP_ROOT]/engine/core/Smarty/Smarty.class.php [line: 1549]

  • 1539
                    $_is_muted_directory = true;
  • 1540
                    break;
  • 1541
                }
  • 1542
            }
  • 1543
    
    							
  • 1544
            // pass to next error handler if this error did not occur inside SMARTY_DIR
  • 1545
            // or the error was within smarty but masked to be ignored
  • 1546
            if (!$_is_muted_directory || ($errno && $errno & error_reporting())) {
  • 1547
                if (Smarty::$_previous_error_handler) {
  • 1548
                    return call_user_func(Smarty::$_previous_error_handler, $errno, $errstr, $errfile, $errline, $errcontext);
  • 1549
                } else {
  • 1550
                    return false;
  • 1551
                }
  • 1552
            }
  • 1553
        }
  • 1554
    
    							
  • 1555
        /**
  • 1556
         * Enable error handler to mute expected messages
  • 1557
         *
  • 1558
         * @return void
  • 1559
         */

Smarty::mutingErrorHandler()

in [APP_ROOT]/site.elaflex-pse.ru/models/Product.php [line: 126]

  • 116
    	public function getProductOptions()
  • 117
    	{
  • 118
    		if (null === $this->productOptions) {
  • 119
    			$this->initProductOptions();
  • 120
    		}
  • 121
    
    							
  • 122
    		return $this->productOptions;
  • 123
    	}
  • 124
    
    							
  • 125
    	public function hasProductOption(Option $option)
  • 126
    	{
  • 127
    		if (null === $this->productOptions) {
  • 128
    			$this->initProductOptions();
  • 129
    		}
  • 130
    
    							
  • 131
    		return isset($this->productOptions[$option->getId()]);
  • 132
    	}
  • 133
    
    							
  • 134
    	public function getProductOption(Option $option)
  • 135
    	{
  • 136
    		if (null === $this->productOptions) {

Product::hasProductOption()

in [APP_ROOT]/sys_data/site/templates_compiled/239760ee90814640a53499cafd10bd0153f7d5e7.file.products.tpl.php [line: 107]

  • 97
    				   data-toggle="tab" data-id="<?php echo $_smarty_tpl->tpl_vars['item']->value->getId();?>
  • 98
    ">Все характеристики</a>
  • 99
    			</td>
  • 100
    			<?php  $_smarty_tpl->tpl_vars['option'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['option']->_loop = false;
  • 101
     $_from = $_smarty_tpl->tpl_vars['model']->value->getKeyOptions(); if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
  • 102
    foreach ($_from as $_smarty_tpl->tpl_vars['option']->key => $_smarty_tpl->tpl_vars['option']->value) {
  • 103
    $_smarty_tpl->tpl_vars['option']->_loop = true;
  • 104
    ?>
  • 105
    				<td class="option-td">
  • 106
    					<?php if ($_smarty_tpl->tpl_vars['item']->value->hasProductOption($_smarty_tpl->tpl_vars['option']->value)) {?>
  • 107
    						<?php echo $_smarty_tpl->tpl_vars['item']->value->getProductOption($_smarty_tpl->tpl_vars['option']->value)->getValue();?>
  • 108
    
    							
  • 109
    					<?php } else { ?>
  • 110
    						-
  • 111
    					<?php }?>
  • 112
    				</td>
  • 113
    			<?php } ?>
  • 114
    			<td class="buy-td">
  • 115
    				<div class="cart-item">
  • 116
    					<div class="hidden">
  • 117
    						<span class="item_id"><?php echo $_smarty_tpl->tpl_vars['item']->value->getId();?>

Internal::content_5821dccc8d3009_42015040()

in [APP_ROOT]/engine/core/Smarty/sysplugins/smarty_internal_templatebase.php [line: 188]

  • 178
                        try {
  • 179
                            ob_start();
  • 180
                            if (empty($_template->properties['unifunc']) || !is_callable($_template->properties['unifunc'])) {
  • 181
                                throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
  • 182
                            }
  • 183
                            array_unshift($_template->_capture_stack, array());
  • 184
                            //
  • 185
                            // render compiled template
  • 186
                            //
  • 187
                            $_template->properties['unifunc']($_template);
  • 188
                            // any unclosed {capture} tags ?
  • 189
                            if (isset($_template->_capture_stack[0][0])) {
  • 190
                                $_template->capture_error();
  • 191
                            }
  • 192
                            array_shift($_template->_capture_stack);
  • 193
                        }
  • 194
                        catch (Exception $e) {
  • 195
                            ob_get_clean();
  • 196
                            throw $e;
  • 197
                        }
  • 198
                    }

Smarty_Internal_TemplateBase::fetch()

in [APP_ROOT]/engine/core/View/View.php [line: 179]

  • 169
    	 * @return bool|mixed|string
  • 170
    	 * @throws Exception
  • 171
    	 */
  • 172
    	public function parseTemplateUnit($unit, $data = false)
  • 173
    	{
  • 174
    		$path = $this->getPath($unit);
  • 175
    
    							
  • 176
    
    							
  • 177
    		$this->engine->assign($data);
  • 178
    		$parsed = $this->engine->fetch($path);
  • 179
    
    							
  • 180
    
    							
  • 181
    
    							
  • 182
    		return $parsed;
  • 183
    	}
  • 184
    
    							
  • 185
    	public function _parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 186
    	{
  • 187
    		$unit = $this->getTemplateUnitName($template);
  • 188
    		$parsed = $this->parseTemplateUnit($unit, $data);
  • 189
    
    							

View::parseTemplateUnit()

in [APP_ROOT]/engine/core/View/View.php [line: 189]

  • 179
    
    							
  • 180
    
    							
  • 181
    
    							
  • 182
    		return $parsed;
  • 183
    	}
  • 184
    
    							
  • 185
    	public function _parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 186
    	{
  • 187
    		$unit = $this->getTemplateUnitName($template);
  • 188
    		$parsed = $this->parseTemplateUnit($unit, $data);
  • 189
    
    							
  • 190
    		if (is_string($stackVar)) {
  • 191
    			$this->stack($stackVar, $parsed, $concatAfter);
  • 192
    
    							
  • 193
    			return null;
  • 194
    		} else {
  • 195
    			return $parsed;
  • 196
    		}
  • 197
    	}
  • 198
    
    							
  • 199
    	/**

View::_parse()

in [APP_ROOT]/engine/core/View/View.php [line: 73]

  • 63
    	 *
  • 64
    	 * @param string $template with tpl
  • 65
    	 * @param array  $data     data array
  • 66
    	 * @param bool   $stackVar
  • 67
    	 *
  • 68
    	 * @return bool|mixed|string
  • 69
    	 */
  • 70
    	public static function parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 71
    	{
  • 72
    		return View::get()->_parse($template, $data, $stackVar, $concatAfter);
  • 73
    	}
  • 74
    
    							
  • 75
    	/**
  • 76
    	 * Parse specified template into $content template var
  • 77
    	 *
  • 78
    	 * @author Andrey Lukin
  • 79
    	 *
  • 80
    	 * @param $template
  • 81
    	 * @param $data
  • 82
    	 *
  • 83
    	 * @return bool|mixed|string

View::parse()

in [APP_ROOT]/engine/core/Smarty/plugins/function.include_template.php [line: 23]

  • 13
    
    							
  • 14
    	$data = array();
  • 15
    
    							
  • 16
    	foreach($params as $_key => $_value) {
  • 17
    		if($_key != 'file') {
  • 18
    			$data[$_key] = $_value;
  • 19
    		}
  • 20
    	}
  • 21
    
    							
  • 22
    	$result = View::parse($params['file'], $data);
  • 23
    
    							
  • 24
    	return $result;
  • 25
    }
  • 26
    
    							
  • 27
    ?>

Internal::smarty_function_include_template()

in [APP_ROOT]/sys_data/site/templates_compiled/f138ddc4cc79913de0b78f1db99af679381a1df0.file.index.tpl.php [line: 130]

  • 120
    						<li>
  • 121
    							<a href="<?php echo $_smarty_tpl->tpl_vars['model']->value->getFile("catalog_file")->getUrl();?>
  • 122
    " target="_blank">Доп. запчасти</a>
  • 123
    						</li>
  • 124
    					<?php }?>
  • 125
    				</ul>
  • 126
    			</header>
  • 127
    			<section class="tabs-container">
  • 128
    				<div id="products">
  • 129
    					<?php echo smarty_function_include_template(array('file'=>'Document/products'),$_smarty_tpl);?>
  • 130
    
    							
  • 131
    				</div>
  • 132
    				<div id="options">
  • 133
    					<?php echo smarty_function_include_template(array('file'=>'Document/options'),$_smarty_tpl);?>
  • 134
    
    							
  • 135
    				</div>
  • 136
    			</section>
  • 137
    		</div>
  • 138
    	</div>
  • 139
    	<?php if ($_smarty_tpl->tpl_vars['additional_products']->value) {?>
  • 140
    		<div class="row additional-block">

Internal::content_5821dccc718e90_13927123()

in [APP_ROOT]/engine/core/Smarty/sysplugins/smarty_internal_templatebase.php [line: 188]

  • 178
                        try {
  • 179
                            ob_start();
  • 180
                            if (empty($_template->properties['unifunc']) || !is_callable($_template->properties['unifunc'])) {
  • 181
                                throw new SmartyException("Invalid compiled template for '{$_template->template_resource}'");
  • 182
                            }
  • 183
                            array_unshift($_template->_capture_stack, array());
  • 184
                            //
  • 185
                            // render compiled template
  • 186
                            //
  • 187
                            $_template->properties['unifunc']($_template);
  • 188
                            // any unclosed {capture} tags ?
  • 189
                            if (isset($_template->_capture_stack[0][0])) {
  • 190
                                $_template->capture_error();
  • 191
                            }
  • 192
                            array_shift($_template->_capture_stack);
  • 193
                        }
  • 194
                        catch (Exception $e) {
  • 195
                            ob_get_clean();
  • 196
                            throw $e;
  • 197
                        }
  • 198
                    }

Smarty_Internal_TemplateBase::fetch()

in [APP_ROOT]/engine/core/View/View.php [line: 179]

  • 169
    	 * @return bool|mixed|string
  • 170
    	 * @throws Exception
  • 171
    	 */
  • 172
    	public function parseTemplateUnit($unit, $data = false)
  • 173
    	{
  • 174
    		$path = $this->getPath($unit);
  • 175
    
    							
  • 176
    
    							
  • 177
    		$this->engine->assign($data);
  • 178
    		$parsed = $this->engine->fetch($path);
  • 179
    
    							
  • 180
    
    							
  • 181
    
    							
  • 182
    		return $parsed;
  • 183
    	}
  • 184
    
    							
  • 185
    	public function _parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 186
    	{
  • 187
    		$unit = $this->getTemplateUnitName($template);
  • 188
    		$parsed = $this->parseTemplateUnit($unit, $data);
  • 189
    
    							

View::parseTemplateUnit()

in [APP_ROOT]/engine/core/View/View.php [line: 189]

  • 179
    
    							
  • 180
    
    							
  • 181
    
    							
  • 182
    		return $parsed;
  • 183
    	}
  • 184
    
    							
  • 185
    	public function _parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 186
    	{
  • 187
    		$unit = $this->getTemplateUnitName($template);
  • 188
    		$parsed = $this->parseTemplateUnit($unit, $data);
  • 189
    
    							
  • 190
    		if (is_string($stackVar)) {
  • 191
    			$this->stack($stackVar, $parsed, $concatAfter);
  • 192
    
    							
  • 193
    			return null;
  • 194
    		} else {
  • 195
    			return $parsed;
  • 196
    		}
  • 197
    	}
  • 198
    
    							
  • 199
    	/**

View::_parse()

in [APP_ROOT]/engine/core/View/View.php [line: 73]

  • 63
    	 *
  • 64
    	 * @param string $template with tpl
  • 65
    	 * @param array  $data     data array
  • 66
    	 * @param bool   $stackVar
  • 67
    	 *
  • 68
    	 * @return bool|mixed|string
  • 69
    	 */
  • 70
    	public static function parse($template, $data = array(), $stackVar = false, $concatAfter = false)
  • 71
    	{
  • 72
    		return View::get()->_parse($template, $data, $stackVar, $concatAfter);
  • 73
    	}
  • 74
    
    							
  • 75
    	/**
  • 76
    	 * Parse specified template into $content template var
  • 77
    	 *
  • 78
    	 * @author Andrey Lukin
  • 79
    	 *
  • 80
    	 * @param $template
  • 81
    	 * @param $data
  • 82
    	 *
  • 83
    	 * @return bool|mixed|string

View::parse()

in [APP_ROOT]/engine/core/View/View.php [line: 88]

  • 78
    	 * @author Andrey Lukin
  • 79
    	 *
  • 80
    	 * @param $template
  • 81
    	 * @param $data
  • 82
    	 *
  • 83
    	 * @return bool|mixed|string
  • 84
    	 */
  • 85
    	public static function display($template, $data = array())
  • 86
    	{
  • 87
    		return self::parse($template, $data, 'content', true);
  • 88
    	}
  • 89
    
    							
  • 90
    	public function addTemplateDir($dir, $key = null)
  • 91
    	{
  • 92
    		$this->engine->addTemplateDir($dir, $key);
  • 93
    
    							
  • 94
    		return $this;
  • 95
    	}
  • 96
    
    							
  • 97
    	public function popDirectory()
  • 98
    	{

View::display()

in [APP_ROOT]/site.elaflex-pse.ru/plugins/CatalogPlugin/classes/Item/Action.php [line: 67]

  • 57
    
    							
  • 58
    			$additionalProducts = $this->getAdditionalProducts($products);
  • 59
    
    							
  • 60
    			View::display("Document/index", array(
  • 61
    				'products' => $products,
  • 62
    				'model' => $this->model,
  • 63
    				'product_options' => $productOptions,
  • 64
    				'additional_products' => $additionalProducts,
  • 65
    				'key_options' => $keyOptions
  • 66
    			));
  • 67
    		} else {
  • 68
    			$product = $this->model->getFirstProduct();
  • 69
    			$additionalProducts = $this->getAdditionalProducts($product ? array($product) : []);
  • 70
    
    							
  • 71
    			View::display("Document/one_item", array(
  • 72
    				'model' => $this->model,
  • 73
    				'item' =>   $product,
  • 74
    				'product_options' => $productOptions,
  • 75
    				'additional_products' => $additionalProducts,
  • 76
    				'key_options' => $keyOptions
  • 77
    			));

Item_Action::process()

in [APP_ROOT]/engine/core/Abstract/PluginAction.php [line: 8]

  • 0
    <?php
  • 1
    
    							
  • 2
    abstract class Abstract_PluginAction extends Controller
  • 3
    {
  • 4
    	public function __construct()
  • 5
    	{
  • 6
    		if ($this->init()) {
  • 7
    			$this->process();
  • 8
    		}
  • 9
    	}
  • 10
    
    							
  • 11
    	abstract protected function process();
  • 12
    
    							
  • 13
    	protected function init($data = null)
  • 14
    	{
  • 15
    		return true;
  • 16
    	}
  • 17
    }

Abstract_PluginAction::__construct()

in [APP_ROOT]/site.elaflex-pse.ru/plugins/CatalogPlugin/classes/Item/Action.php [line: 16]

  • 6
    	 */
  • 7
    	private $model;
  • 8
    
    							
  • 9
    	public function __construct($id)
  • 10
    	{
  • 11
    
    							
  • 12
    //		fetch model from database
  • 13
    		$this->model = Group::factory($id);
  • 14
    //		call parent construct to continue chain of callings
  • 15
    		parent::__construct();
  • 16
    	}
  • 17
    
    							
  • 18
    	protected function init()
  • 19
    	{
  • 20
    
    							
  • 21
    		Breadcrumbs::get()->setCurrentFolderId($this->model->getParent())
  • 22
    			->addPage($this->model->getName(), $this->model->getId());
  • 23
    
    							
  • 24
    		Meta::get()->setPageName($this->model->getName());
  • 25
    		Menu::get('left')->setCurrentFolder($this->model->getParent());
  • 26
    		App::get()->setTemplate('inner_without_menu');

Item_Action::__construct()

in [APP_ROOT]/site.elaflex-pse.ru/plugins/CatalogPlugin/classes/CatalogPlugin.php [line: 21]

  • 11
    
    							
  • 12
    			new Catalog_Action();
  • 13
    		}else {
  • 14
    			new Pages_Action();
  • 15
    		}
  • 16
    	}
  • 17
    
    							
  • 18
    	public function actionDocument($id)
  • 19
    	{
  • 20
    		new Item_Action($id);
  • 21
    	}
  • 22
    
    							
  • 23
    	public function actionMainPage()
  • 24
    	{
  • 25
    
    							
  • 26
    		new MainPage_Action();
  • 27
    	}
  • 28
    
    							
  • 29
    	public function actionHomePage()
  • 30
    	{
  • 31
    
    							

CatalogPlugin::actionDocument()


Internal::call_user_func_array()

in [APP_ROOT]/engine/site/core/Plugins.inc.php [line: 221]

  • 211
    								$plugin['key'] . '</b> not exists', false);
  • 212
    						}
  • 213
    
    							
  • 214
    						if (!is_callable(array($plugin['key'], $action))) {
  • 215
    							throw new Exception('Action "' . $action . '" in plugin "' . $plugin['key'] . '"' .
  • 216
    								' <b>must be public</b> (not private)', false);
  • 217
    						}
  • 218
    
    							
  • 219
    
    							
  • 220
    						$result = call_user_func_array(array($pluginObject, $action), $parameters);
  • 221
    
    							
  • 222
    					}
  • 223
    				}
  • 224
    				Loader::get()->removeDirectory($loaderKey);
  • 225
    			} catch (ExceptionStop $e) {
  • 226
    				throw $e; // temp skip exception
  • 227
    			}
  • 228
    		}
  • 229
    
    							
  • 230
    		$this->_processAfterLaunch();
  • 231
    
    							

Plugins::launchPlugin()

in [APP_ROOT]/engine/site/core/Plugins.inc.php [line: 72]

  • 62
    				$action = '';
  • 63
    				if (isset($plugin['launch_type']) and ($plugin['launch_type'] == 'text')) {
  • 64
    					$action = 'inline';
  • 65
    				}
  • 66
    
    							
  • 67
    				if (isset($plugin['plugin_method']) and ($plugin['plugin_method'])) {
  • 68
    					$action = $plugin['plugin_method'];
  • 69
    				}
  • 70
    
    							
  • 71
    				$pluginObject = $this->launchPlugin($plugin, $action, false);
  • 72
    
    							
  • 73
    				// если запуск по тексту - надо сохранить объект для отложенного запуска
  • 74
    				if ((isset($plugin['launch_type'])) && ($plugin['launch_type'] == 'text')) {
  • 75
    					$this->pluginsStorage[$plugin['key']] = array(
  • 76
    						'object' => $pluginObject,
  • 77
    						'data'   => $plugin
  • 78
    					);
  • 79
    				}
  • 80
    			}
  • 81
    
    							
  • 82
    		}

Plugins::launch()

in [APP_ROOT]/engine/site/App.php [line: 168]

  • 158
    	}
  • 159
    
    							
  • 160
    	/**
  • 161
    	 * @return App
  • 162
    	 * @throws Exception
  • 163
    	 */
  • 164
    	private function launchPlugins()
  • 165
    	{
  • 166
    
    							
  • 167
    		Plugins::getInstance()->launch();
  • 168
    
    							
  • 169
    		return $this;
  • 170
    	}
  • 171
    
    							
  • 172
    	private function parseUrl()
  • 173
    	{
  • 174
    
    							
  • 175
    		$folder = $this->processFolder(Url::get()->getFolderId());
  • 176
    
    							
  • 177
    		if ($data = CacheFolders::getData($folder['id'])) {
  • 178
    			$folder = array_merge($folder, $data);

App::launchPlugins()

in [APP_ROOT]/engine/site/App.php [line: 49]

  • 39
    	}
  • 40
    
    							
  • 41
    	public function process()
  • 42
    	{
  • 43
    
    							
  • 44
    		try {
  • 45
    
    							
  • 46
    			$this->parseUrl()
  • 47
    				->components('start')
  • 48
    				->launchPlugins()
  • 49
    				->components('end');
  • 50
    
    							
  • 51
    			if ($this->getOption('wrapper')) {
  • 52
    				$this->dump();
  • 53
    			}
  • 54
    		} catch (Exception404 $e) {
  • 55
    			$this->id = $this->homeId;
  • 56
    			$this->components('start')
  • 57
    				->components('end')
  • 58
    				->error404();
  • 59
    		} catch (Exception $e) {

App::process()

in [APP_ROOT]/index.php [line: 27]

  • 17
    
    							
  • 18
    function before_die(&$html) {
  • 19
    
    							
  • 20
    	$time = Timer::formatTime(Timer::get('main', 1, false));
  • 21
    	$queries = sql::getCapacityInfo();
  • 22
    	$memory = round(memory_get_usage() / (1024*1024), 2) . ' peak ' . round(memory_get_peak_usage() / (1024*1024), 2);
  • 23
    	$html .= '<!--TIME: '.$time." sec\n\n".$queries."\n\nMemory: " . $memory.'-->';
  • 24
    }
  • 25
    
    							
  • 26
    App::get()->process();
  • 27
    ?>