Smarty Forum Index Smarty
The discussions here are for Smarty, a template engine for the PHP programming language.
Help: Fatal error: Undefined class constant 'SMARTY_VERSION'

 
Post new topic   Reply to topic    Smarty Forum Index -> Smarty 3
View previous topic :: View next topic  
Author Message
vasia1970
Smarty n00b


Joined: 20 Oct 2012
Posts: 2

PostPosted: Sat Oct 20, 2012 8:29 am    Post subject: Help: Fatal error: Undefined class constant 'SMARTY_VERSION' Reply with quote

Running PHP 5.3 and Smarty 3.1.12

Getting error Fatal error: Undefined class constant 'SMARTY_VERSION' in (mysite)/libs/smarty/sysplugins/smarty_internal_templatecompilerbase.php on line 169

Line 169 has the following code

Code:


public function compileTemplate(Smarty_Internal_Template $template) {
        if (empty($template->properties['nocache_hash'])) {
            $template->properties['nocache_hash'] = $this->nocache_hash;
        } else {
            $this->nocache_hash = $template->properties['nocache_hash'];
        }
        // flag for nochache sections
        $this->nocache = false;
        $this->tag_nocache = false;
        // save template object in compiler class
        $this->template = $template;
        // reset has noche code flag
        $this->template->has_nocache_code = false;
        $this->smarty->_current_file = $saved_filepath = $this->template->source->filepath;
        // template header code
        $template_header = '';
        if (!$this->suppressHeader) {
            $template_header .= "<?php /* Smarty version " . Smarty::SMARTY_VERSION . ", created on " . strftime("%Y-%m-%d %H:%M:%S") . "\n";
            $template_header .= "         compiled from \"" . $this->template->source->filepath . "\" */ ?>\n";
        }

        do {
            // flag for aborting current and start recompile
            $this->abort_and_recompile = false;
            // get template source
            $_content = $template->source->content;
            // run prefilter if required
            if (isset($this->smarty->autoload_filters['pre']) || isset($this->smarty->registered_filters['pre'])) {
                $_content = Smarty_Internal_Filter_Handler::runFilter('pre', $_content, $template);
            }
            // on empty template just return header
            if ($_content == '') {
                if ($this->suppressTemplatePropertyHeader) {
                    $code = '';
                } else {
                    $code = $template_header . $template->createTemplateCodeFrame();
                }
                return $code;
            }
            // call compiler
            $_compiled_code = $this->doCompile($_content);
        } while ($this->abort_and_recompile);
        $this->template->source->filepath = $saved_filepath;
        // free memory
        unset($this->parser->root_buffer, $this->parser->current_buffer, $this->parser, $this->lex, $this->template);
        self::$_tag_objects = array();
        // return compiled code to template object
        $merged_code = '';
        if (!$this->suppressMergedTemplates && !empty($this->merged_templates)) {
            foreach ($this->merged_templates as $code) {
                $merged_code .= $code;
            }
            // run postfilter if required on merged code
            if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {
                $merged_code = Smarty_Internal_Filter_Handler::runFilter('post', $merged_code, $template);
            }
        }
        // run postfilter if required on compiled template code
        if (isset($this->smarty->autoload_filters['post']) || isset($this->smarty->registered_filters['post'])) {
            $_compiled_code = Smarty_Internal_Filter_Handler::runFilter('post', $_compiled_code, $template);
        }
        if ($this->suppressTemplatePropertyHeader) {
            $code = $_compiled_code . $merged_code;
        } else {
            $code = $template_header . $template->createTemplateCodeFrame($_compiled_code) . $merged_code;
        }
        // unset content because template inheritance could have replace source with parent code
        unset ($template->source->content);
        return $code;
    }



I am new to smarty and do not see anything wrong with it.

Can someone asssist me? Will this block of code work for PHP5.3/Smarty 3.1.12 pair? What needs to be changed?


Thank you in advance
Back to top
View user's profile Send private message
U.Tews
Administrator


Joined: 22 Nov 2006
Posts: 4636
Location: Hamburg / Germany

PostPosted: Sat Oct 20, 2012 1:14 pm    Post subject: Reply with quote

It does look like that your Smarty.class.php file is not that one of version 3.1.12
Back to top
View user's profile Send private message
vasia1970
Smarty n00b


Joined: 20 Oct 2012
Posts: 2

PostPosted: Mon Oct 22, 2012 6:02 am    Post subject: Reply with quote

Yep. That was it. Host's tech. support was fixing other issue and looks like did by replacing smarty.class.php that I uploaded with older one and then updated PHP version :0(

Thanks for your help
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Smarty Forum Index -> Smarty 3 All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
Protected by Anti-Spam ACP