MySmarty.class.php
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:3k
源码类别:

多媒体编程

开发平台:

Visual C++

  1. <?php
  2. define('ROOT_DIR', dirname(__FILE__).'/..'); 
  3. define('TEMPLATE_DIR', ROOT_DIR.'/templates'); 
  4. define('COMPILE_DIR', ROOT_DIR.'/templates_c'); 
  5. define('CONFIG_DIR', ROOT_DIR.'/configs'); 
  6. define('CACHE_DIR', ROOT_DIR.'/cache'); 
  7. require ROOT_DIR.'/libs/Smarty.class.php';
  8. $ServerName = @file_get_contents('../configs/ServerName.cfg');
  9. class MySmarty extends Smarty
  10. {
  11. function MySmarty()
  12. {
  13. $this->Smarty(); 
  14. $this->template_dir = TEMPLATE_DIR; 
  15. $this->compile_dir = COMPILE_DIR; 
  16. $this->config_dir = CONFIG_DIR; 
  17. $this->cache_dir = CACHE_DIR; 
  18. if(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] == '127.0.0.1')
  19. {
  20. $this->compile_check = true;
  21. $this->debugging = true;
  22. }
  23. $this->assign('template', preg_replace('/(.+).php$/i', '1.tpl', basename($_SERVER['PHP_SELF'])));
  24. global $ServerName;
  25. $this->assign('ServerName', $ServerName);
  26. @header('Content-Type: text/html; charset=UTF-8');
  27. $this->load_filter('output', 'gzcompress');
  28. }
  29. }
  30. $smarty = new MySmarty();
  31. function smarty_modifier_truncate_mid($string, $length = 80)
  32. {
  33.     if($length < 3) return '...';
  34.     if(strlen($string) <= $length) return $string;
  35.     
  36.     $n = ($length-1)/2;
  37.     $string = substr($string, 0, $n)."...".substr($string, strlen($string) - $n);
  38.     return $string;        
  39. }
  40. $smarty->register_modifier('truncate_mid', 'smarty_modifier_truncate_mid');
  41. function RedirAndExit($path)
  42. {
  43. if(empty($path)) exit;
  44. $http = isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on' ? 'https://' : 'http://';
  45. $url = parse_url($path);
  46. $dir = str_replace("\", '/', dirname($url['path']));
  47. if(empty($dir) || $dir[0] == '.' || $dir[0] != '/') $dir = str_replace("\", '/', dirname($_SERVER['PHP_SELF']));
  48. if($dir == '/') $dir = '';
  49. header('Location: '.$http.$_SERVER['HTTP_HOST'].$dir.'/'.basename($path));
  50. exit;
  51. }
  52. function error404()
  53. {
  54. header("HTTP/1.0 404 Not Found");
  55. exit;
  56. }
  57. function getParam($name, $i = null)
  58. {
  59. $ret = false;
  60. if(isset($_POST[$name]))
  61. {
  62. $ret = $_POST[$name];
  63. }
  64. else if(isset($_GET[$name]))
  65. {
  66. $ret = $_GET[$name];
  67. }
  68. else if(isset($_SESSION['POST'][$name]))
  69. {
  70. $ret = $_SESSION['POST'][$name];
  71. }
  72. else if(isset($_COOKIE[$name]))
  73. {
  74. $ret = $_COOKIE[$name];
  75. }
  76. if($i !== null) $ret = is_array($ret) ? $ret[$i] : false;
  77. else if(is_array($ret)) return false;
  78. $ret = stripslashes($ret);
  79. return $ret;
  80. }
  81. $browser = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'MSIE';
  82. if(ereg("Opera", $browser)) $browser = "Opera";
  83. else if(ereg("MSIE", $browser)) $browser = "MSIE";
  84. else if(ereg("Mozilla", $browser)) $browser = "Mozilla";
  85. $smarty->assign('browser', $browser);
  86. unset($browser);
  87. ?>