Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390863
smarty_resource_custom.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
smarty_resource_custom.php
View Options
<?php
/**
* Smarty Resource Plugin
*
* @package Smarty
* @subpackage TemplateResources
* @author Rodney Rehm
*/
/**
* Smarty Resource Plugin
*
* Wrapper Implementation for custom resource plugins
*
* @package Smarty
* @subpackage TemplateResources
*/
abstract
class
Smarty_Resource_Custom
extends
Smarty_Resource
{
/**
* fetch template and its modification time from data source
*
* @param string $name template name
* @param string &$source template source
* @param integer &$mtime template modification timestamp (epoch)
*/
protected
abstract
function
fetch
(
$name
,
&
$source
,
&
$mtime
);
/**
* Fetch template's modification timestamp from data source
*
* {@internal implementing this method is optional.
* Only implement it if modification times can be accessed faster than loading the complete template source.}}
*
* @param string $name template name
* @return integer|boolean timestamp (epoch) the template was modified, or false if not found
*/
protected
function
fetchTimestamp
(
$name
)
{
return
null
;
}
/**
* populate Source Object with meta data from Resource
*
* @param Smarty_Template_Source $source source object
* @param Smarty_Internal_Template $_template template object
*/
public
function
populate
(
Smarty_Template_Source
$source
,
Smarty_Internal_Template
$_template
=
null
)
{
$source
->
filepath
=
strtolower
(
$source
->
type
.
':'
.
$source
->
name
);
$source
->
uid
=
sha1
(
$source
->
type
.
':'
.
$source
->
name
);
$mtime
=
$this
->
fetchTimestamp
(
$source
->
name
);
if
(
$mtime
!==
null
)
{
$source
->
timestamp
=
$mtime
;
}
else
{
$this
->
fetch
(
$source
->
name
,
$content
,
$timestamp
);
$source
->
timestamp
=
isset
(
$timestamp
)
?
$timestamp
:
false
;
if
(
isset
(
$content
)
)
$source
->
content
=
$content
;
}
$source
->
exists
=
!!
$source
->
timestamp
;
}
/**
* Load template's source into current template object
*
* @param Smarty_Template_Source $source source object
* @return string template source
* @throws SmartyException if source cannot be loaded
*/
public
function
getContent
(
Smarty_Template_Source
$source
)
{
$this
->
fetch
(
$source
->
name
,
$content
,
$timestamp
);
if
(
isset
(
$content
))
{
return
$content
;
}
throw
new
SmartyException
(
"Unable to read template {$source->type} '{$source->name}'"
);
}
/**
* Determine basename for compiled filename
*
* @param Smarty_Template_Source $source source object
* @return string resource's basename
*/
protected
function
getBasename
(
Smarty_Template_Source
$source
)
{
return
basename
(
$source
->
name
);
}
}
?>
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sat, Feb 22, 15:28 (22 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25814
Default Alt Text
smarty_resource_custom.php (2 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment