/[cvs]/nfo/php/libs/net.php.smarty/Smarty.class.php
ViewVC logotype

Diff of /nfo/php/libs/net.php.smarty/Smarty.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by cvsjoko, Wed Oct 9 00:45:29 2002 UTC revision 1.2 by joko, Thu Dec 19 16:40:20 2002 UTC
# Line 5  Line 5 
5   * Author:      Monte Ohrt <monte@ispi.net>   * Author:      Monte Ohrt <monte@ispi.net>
6   *              Andrei Zmievski <andrei@php.net>   *              Andrei Zmievski <andrei@php.net>
7   *   *
8   * Version:     2.3.0   * Version:     2.3.1
9   * Copyright:   2001,2002 ispi of Lincoln, Inc.   * Copyright:   2001,2002 ispi of Lincoln, Inc.
10   *   *
11   * This library is free software; you can redistribute it and/or   * This library is free software; you can redistribute it and/or
# Line 171  class Smarty Line 171  class Smarty
171      var $_conf_obj             = null;       // configuration object      var $_conf_obj             = null;       // configuration object
172      var $_config               = array();    // loaded configuration settings      var $_config               = array();    // loaded configuration settings
173      var $_smarty_md5           = 'f8d698aea36fcbead2b9d5359ffca76f'; // md5 checksum of the string 'Smarty'      var $_smarty_md5           = 'f8d698aea36fcbead2b9d5359ffca76f'; // md5 checksum of the string 'Smarty'
174      var $_version              = '2.3.0';    // Smarty version number      var $_version              = '2.3.1';    // Smarty version number
175      var $_extract              = false;      // flag for custom functions      var $_extract              = false;      // flag for custom functions
176      var $_inclusion_depth      = 0;          // current template inclusion depth      var $_inclusion_depth      = 0;          // current template inclusion depth
177      var $_compile_id           = null;       // for different compiled templates      var $_compile_id           = null;       // for different compiled templates
# Line 931  function _generate_debug_output() { Line 931  function _generate_debug_output() {
931                  } else {                  } else {
932                      // compile template                      // compile template
933                      $this->_compile_template($tpl_file, $template_source, $template_compiled);                      $this->_compile_template($tpl_file, $template_source, $template_compiled);
934                      $this->_write_compiled_template($compile_path, $template_compiled);                      $this->_write_compiled_template($compile_path, $template_compiled, $template_timestamp);
935                      return true;                      return true;
936                  }                  }
937              }              }
# Line 942  function _generate_debug_output() { Line 942  function _generate_debug_output() {
942                  return false;                  return false;
943              }              }
944              $this->_compile_template($tpl_file, $template_source, $template_compiled);              $this->_compile_template($tpl_file, $template_source, $template_compiled);
945              $this->_write_compiled_template($compile_path, $template_compiled);              $this->_write_compiled_template($compile_path, $template_compiled, $template_timestamp);
946              return true;              return true;
947          }          }
948      }      }
# Line 961  function _generate_debug_output() { Line 961  function _generate_debug_output() {
961      Function:   _write_compiled_template      Function:   _write_compiled_template
962      Purpose:      Purpose:
963  \*======================================================================*/  \*======================================================================*/
964      function _write_compiled_template($compile_path, $template_compiled)      function _write_compiled_template($compile_path, $template_compiled, $template_timestamp)
965      {      {
966          // we save everything into $compile_dir          // we save everything into $compile_dir
967          $this->_write_file($compile_path, $template_compiled, true);          $this->_write_file($compile_path, $template_compiled, true);
968            touch($compile_path, $template_timestamp);
969          return true;          return true;
970      }      }
971    
# Line 1514  function _run_insert_handler($args) Line 1515  function _run_insert_handler($args)
1515  \*======================================================================*/  \*======================================================================*/
1516      function _rm_auto($auto_base, $auto_source = null, $auto_id = null, $exp_time = null)      function _rm_auto($auto_base, $auto_source = null, $auto_id = null, $exp_time = null)
1517      {      {
1518          if (!is_dir($auto_base))          if (!@is_dir($auto_base))
1519            return false;            return false;
1520    
1521                  if(!isset($auto_id) && !isset($auto_source)) {                  if(!isset($auto_id) && !isset($auto_source)) {
# Line 1523  function _run_insert_handler($args) Line 1524  function _run_insert_handler($args)
1524                  $tname = $this->_get_auto_filename($auto_base, $auto_source, $auto_id);                  $tname = $this->_get_auto_filename($auto_base, $auto_source, $auto_id);
1525                                                    
1526                          if(isset($auto_source)) {                          if(isset($auto_source)) {
1527                                  $res = @unlink($tname);                                  $res = $this->_unlink($tname);
1528                          } elseif ($this->use_sub_dirs) {                          } elseif ($this->use_sub_dirs) {
1529                                  $res = $this->_rmdir($tname, 1, $exp_time);                                  $res = $this->_rmdir($tname, 1, $exp_time);
1530                          } else {                          } else {
# Line 1554  function _run_insert_handler($args) Line 1555  function _run_insert_handler($args)
1555    
1556                  while ($entry = readdir($handle)) {                  while ($entry = readdir($handle)) {
1557                  if ($entry != '.' && $entry != '..') {                  if ($entry != '.' && $entry != '..') {
1558                          if (is_dir($dirname . DIR_SEP . $entry)) {                          if (@is_dir($dirname . DIR_SEP . $entry)) {
1559                          $this->_rmdir($dirname . DIR_SEP . $entry, $level + 1, $exp_time);                          $this->_rmdir($dirname . DIR_SEP . $entry, $level + 1, $exp_time);
1560                          }                          }
1561                          else {                          else {
# Line 1583  function _run_insert_handler($args) Line 1584  function _run_insert_handler($args)
1584      {      {
1585                  if(isset($exp_time)) {                  if(isset($exp_time)) {
1586                          if(time() - filemtime($resource) >= $exp_time) {                          if(time() - filemtime($resource) >= $exp_time) {
1587                                  unlink($resource);                                  @unlink($resource);
1588                          }                          }
1589                  } else {                                          } else {                        
1590                          unlink($resource);                          @unlink($resource);
1591                  }                  }
1592      }      }
1593                    
# Line 1597  function _run_insert_handler($args) Line 1598  function _run_insert_handler($args)
1598      function _create_dir_structure($dir)      function _create_dir_structure($dir)
1599      {      {
1600          if (!@file_exists($dir)) {          if (!@file_exists($dir)) {
1601              $dir_parts = preg_split('!\\'.DIR_SEP.'+!', $dir, -1, PREG_SPLIT_NO_EMPTY);              $_dir_parts = preg_split('!\\'.DIR_SEP.'+!', $dir, -1, PREG_SPLIT_NO_EMPTY);
1602              $new_dir = ($dir{0} == DIR_SEP) ? DIR_SEP : '';              $_new_dir = ($dir{0} == DIR_SEP) ? DIR_SEP : '';
1603              foreach ($dir_parts as $dir_part) {                          
1604                  $new_dir .= $dir_part;                          // do not attempt to test or make directories outside of open_basedir
1605                  if (!file_exists($new_dir) && !mkdir($new_dir, 0771)) {                          $_open_basedir_ini = ini_get('open_basedir');
1606                            if(!empty($_open_basedir_ini)) {
1607                                    $_use_open_basedir = true;
1608                    $_open_basedir_sep = (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') ? ';' : ':';
1609                    $_open_basedirs = explode($_open_basedir_sep, $_open_basedir_ini);
1610                            } else {                                        
1611                                    $_use_open_basedir = false;
1612                            }
1613    
1614                foreach ($_dir_parts as $_dir_part) {
1615                    $_new_dir .= $_dir_part;
1616    
1617                    if ($_use_open_basedir) {
1618                        $_make_new_dir = false;
1619                        foreach ($_open_basedirs as $_open_basedir) {
1620                            if (substr($_new_dir.'/', 0, strlen($_open_basedir)) == $_open_basedir) {
1621                                $_make_new_dir = true;
1622                                break;
1623                            }
1624                        }
1625                    } else {
1626                            $_make_new_dir = true;                                  
1627                                    }
1628    
1629                    if ($_make_new_dir && !@file_exists($_new_dir) && !@mkdir($_new_dir, 0771)) {
1630                      $this->trigger_error("problem creating directory \"$dir\"");                      $this->trigger_error("problem creating directory \"$dir\"");
1631                      return false;                      return false;
1632                  }                  }
1633                  $new_dir .= DIR_SEP;                  $_new_dir .= DIR_SEP;
1634              }              }
1635          }          }
1636      }      }

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed