| | |
| | | static $sa_files = array(); |
| | | |
| | | if (!preg_match('|^https?://|i', $file) && $file[0] != '/') |
| | | $file = $this->scripts_path . $file . (($fs = @filemtime($this->scripts_path . $file)) ? '?s='.$fs : ''); |
| | | $file = $this->scripts_path . $file . (($fs = @filemtime($this->scripts_path . $file)) ? '?s='.$fs : ''); |
| | | |
| | | if (in_array($file, $sa_files)) { |
| | | return; |
| | |
| | | public function reset() |
| | | { |
| | | $this->script_files = array(); |
| | | $this->scripts = array(); |
| | | $this->title = ''; |
| | | $this->header = ''; |
| | | $this->footer = ''; |
| | | $this->body = ''; |
| | | $this->scripts = array(); |
| | | $this->title = ''; |
| | | $this->header = ''; |
| | | $this->footer = ''; |
| | | $this->body = ''; |
| | | } |
| | | |
| | | /** |
| | |
| | | // reset those global vars |
| | | $__page_header = $__page_footer = ''; |
| | | |
| | | $this->base_path = $base_path; |
| | | $this->base_path = $base_path; |
| | | // correct absolute paths in images and other tags |
| | | // add timestamp to .js and .css filename |
| | | // add timestamp to .js and .css filename |
| | | $output = preg_replace_callback('!(src|href|background)=(["\']?)([a-z0-9/_.-]+)(["\'\s>])!i', |
| | | array($this, 'file_callback'), $output); |
| | | $output = str_replace('$__skin_path', $base_path, $output); |
| | | |
| | | if ($this->charset != RCMAIL_CHARSET) |
| | | echo rcube_charset_convert($output, RCMAIL_CHARSET, $this->charset); |
| | | else |
| | | echo $output; |
| | | echo rcube_charset_convert($output, RCMAIL_CHARSET, $this->charset); |
| | | else |
| | | echo $output; |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | private function file_callback($matches) |
| | | { |
| | | $file = $matches[3]; |
| | | $file = $matches[3]; |
| | | |
| | | // correct absolute paths |
| | | if ($file[0] == '/') |
| | | $file = $this->base_path . $file; |
| | | if ($file[0] == '/') |
| | | $file = $this->base_path . $file; |
| | | |
| | | // add file modification timestamp |
| | | if (preg_match('/\.(js|css)$/', $file)) |
| | | if (preg_match('/\.(js|css)$/', $file)) |
| | | $file .= '?s=' . @filemtime($file); |
| | | |
| | | return sprintf("%s=%s%s%s", $matches[1], $matches[2], $file, $matches[4]); |
| | | return sprintf("%s=%s%s%s", $matches[1], $matches[2], $file, $matches[4]); |
| | | } |
| | | } |
| | | |