/**
  * Constructor for a new SmartyTemplateRenderer instance
  *
  * \param $basetemplate Template name (optional, default is null)
  * \param $directories Directories to use (optional, see SmartyTemplate documentation for more information)
  * \param $mode Default render mode (optional, default is null)
  *
  * \see SmartyTemplate
  */
 function SmartyTemplateRenderer($basetemplate = null, $directories = null, $mode = null)
 {
     /* Handle basetemplate parameter */
     if (is_null($basetemplate)) {
         /* Try to use the class name. Note that the __CLASS__ constant does
          * not work for inherited classes, which is what we need... :( */
         $basetemplate = str_strip_suffix(strtolower(get_class($this)), 'renderer');
     }
     assert('is_string($basetemplate)');
     assert('strlen($basetemplate) > 0');
     $this->set('basetemplate', $basetemplate);
     /* Handle mode parameter */
     if (!is_null($mode)) {
         assert('is_string($mode)');
         $this->set('mode', $mode);
     }
     /* Call parent constructor */
     parent::SmartyTemplate(null, $directories);
 }