Skip to content

Commit

Permalink
- various fixedsfor manual installation. removed old references to
Browse files Browse the repository at this point in the history
  • Loading branch information
padams committed Feb 21, 2007
1 parent 8e38ac6 commit 11c421b
Show file tree
Hide file tree
Showing 23 changed files with 620 additions and 683 deletions.
386 changes: 193 additions & 193 deletions includes/template_class.php
Original file line number Diff line number Diff line change
@@ -1,193 +1,193 @@
<?php

//
// Open Web Analytics - An Open Source Web Analytics Framework
//
// Copyright 2006 Peter Adams. All rights reserved.
//
// Licensed under GPL v2.0 http://www.gnu.org/copyleft/gpl.html
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Id$
//

/**
* Template
*
* @author Peter Adams <[email protected]>
* @copyright Copyright &copy; 2006 Peter Adams <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GPL v2.0
* @category owa
* @package owa
* @version $Revision$
* @since owa 1.0.0
*/
class Template {

/**
* Template files directory
*
* @var string
*/
var $template_dir;

/**
* Template Variables
*
* @var array
*/
var $vars;

/**
* Template file
*
* @var string
*/
var $file;

/**
* Constructor
*
* @access public
*/
function Template() {

return;
}

/**
* Set the template file
*
* @param string $file
*/
function set_template($file = null) {
$this->file = $this->template_dir.$file;
return;
}

/**
* Set a template variable
*
* @param string $name
* @param unknown_value $value
* @access public
*/
function set($name, $value) {
$this->vars[$name] = is_object($value) ? $value->fetch() : $value;
return;
}

/**
* Open, parse, and return the template file.
*
* @param string $file
* @return string $contents
* @access public
*/
function fetch($file = null) {
if(!$file):
$file = $this->file;
else:
$file = $this->template_dir.$file;
endif;

@extract($this->vars); // Extract the vars to local namespace
ob_start(); // Start output buffering
include($file); // Include the file
$contents = ob_get_contents(); // Get the contents of the buffer
ob_end_clean(); // End buffering and discard
return $contents; // Return the contents
}

}

/**
* An extension to Template that provides automatic caching of
* template contents.
*/
class CachedTemplate extends Template {
var $cache_id;
var $expire;
var $cached;

/**
* Constructor.
*
* @param $cache_id string unique cache identifier
* @param $expire int number of seconds the cache will live
*/
function CachedTemplate($cache_id = null, $expire = 900) {
$this->Template();
$this->cache_id = $cache_id ? 'cache/' . md5($cache_id) : $cache_id;
$this->expire = $expire;
}

/**
* Test to see whether the currently loaded cache_id has a valid
* corrosponding cache file.
*/
function is_cached() {
if($this->cached) return true;

// Passed a cache_id?
if(!$this->cache_id) return false;

// Cache file exists?
if(!file_exists($this->cache_id)) return false;

// Can get the time of the file?
if(!($mtime = filemtime($this->cache_id))) return false;

// Cache expired?
if(($mtime + $this->expire) < time()) {
@unlink($this->cache_id);
return false;
}
else {
/**
* Cache the results of this is_cached() call. Why? So
* we don't have to double the overhead for each template.
* If we didn't cache, it would be hitting the file system
* twice as much (file_exists() & filemtime() [twice each]).
*/
$this->cached = true;
return true;
}
}

/**
* This function returns a cached copy of a template (if it exists),
* otherwise, it parses it as normal and caches the content.
*
* @param $file string the template file
*/
function fetch_cache($file) {
if($this->is_cached()) {
$fp = @fopen($this->cache_id, 'r');
$contents = fread($fp, filesize($this->cache_id));
fclose($fp);
return $contents;
}
else {
$contents = $this->fetch($file);

// Write the cache
if($fp = @fopen($this->cache_id, 'w')) {
fwrite($fp, $contents);
fclose($fp);
}
else {
die('Unable to write cache.');
}

return $contents;
}
}
}

?>
<?php

//
// Open Web Analytics - An Open Source Web Analytics Framework
//
// Copyright 2006 Peter Adams. All rights reserved.
//
// Licensed under GPL v2.0 http://www.gnu.org/copyleft/gpl.html
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// $Id$
//

/**
* Template
*
* @author Peter Adams <[email protected]>
* @copyright Copyright &copy; 2006 Peter Adams <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GPL v2.0
* @category owa
* @package owa
* @version $Revision$
* @since owa 1.0.0
*/
class Template {

/**
* Template files directory
*
* @var string
*/
var $template_dir;

/**
* Template Variables
*
* @var array
*/
var $vars;

/**
* Template file
*
* @var string
*/
var $file;

/**
* Constructor
*
* @access public
*/
function Template() {

return;
}

/**
* Set the template file
*
* @param string $file
*/
function set_template($file = null) {
$this->file = $this->template_dir.$file;
return;
}

/**
* Set a template variable
*
* @param string $name
* @param unknown_value $value
* @access public
*/
function set($name, $value) {
$this->vars[$name] = is_object($value) ? $value->fetch() : $value;
return;
}

/**
* Open, parse, and return the template file.
*
* @param string $file
* @return string $contents
* @access public
*/
function fetch($file = null) {
if(!$file):
$file = $this->file;
else:
$file = $this->template_dir.$file;
endif;

@extract($this->vars); // Extract the vars to local namespace
ob_start(); // Start output buffering
include($file); // Include the file
$contents = ob_get_contents(); // Get the contents of the buffer
ob_end_clean(); // End buffering and discard
return $contents; // Return the contents
}

}

/**
* An extension to Template that provides automatic caching of
* template contents.
*/
class CachedTemplate extends Template {
var $cache_id;
var $expire;
var $cached;

/**
* Constructor.
*
* @param $cache_id string unique cache identifier
* @param $expire int number of seconds the cache will live
*/
function CachedTemplate($cache_id = null, $expire = 900) {
$this->Template();
$this->cache_id = $cache_id ? 'cache/' . md5($cache_id) : $cache_id;
$this->expire = $expire;
}

/**
* Test to see whether the currently loaded cache_id has a valid
* corrosponding cache file.
*/
function is_cached() {
if($this->cached) return true;

// Passed a cache_id?
if(!$this->cache_id) return false;

// Cache file exists?
if(!file_exists($this->cache_id)) return false;

// Can get the time of the file?
if(!($mtime = filemtime($this->cache_id))) return false;

// Cache expired?
if(($mtime + $this->expire) < time()) {
@unlink($this->cache_id);
return false;
}
else {
/**
* Cache the results of this is_cached() call. Why? So
* we don't have to double the overhead for each template.
* If we didn't cache, it would be hitting the file system
* twice as much (file_exists() & filemtime() [twice each]).
*/
$this->cached = true;
return true;
}
}

/**
* This function returns a cached copy of a template (if it exists),
* otherwise, it parses it as normal and caches the content.
*
* @param $file string the template file
*/
function fetch_cache($file) {
if($this->is_cached()) {
$fp = @fopen($this->cache_id, 'r');
$contents = fread($fp, filesize($this->cache_id));
fclose($fp);
return $contents;
}
else {
$contents = $this->fetch($file);

// Write the cache
if($fp = @fopen($this->cache_id, 'w')) {
fwrite($fp, $contents);
fclose($fp);
}
else {
die('Unable to write cache.');
}

return $contents;
}
}
}

?>
1 change: 1 addition & 0 deletions modules/base/classes/abstractJpGraphView.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ class owa_abstractJpGraphView extends owa_base {
function owa_abstractJpGraphView($params = array()) {

$this->owa_base();
ob_clean();

return;
}
Expand Down
Loading

0 comments on commit 11c421b

Please sign in to comment.