本文整理汇总了PHP中Dwoo::triggerError方法的典型用法代码示例。如果您正苦于以下问题:PHP Dwoo::triggerError方法的具体用法?PHP Dwoo::triggerError怎么用?PHP Dwoo::triggerError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dwoo
的用法示例。
在下文中一共展示了Dwoo::triggerError方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Dwoo_Plugin_fetch
/**
* Reads a file
* <pre>
* * file : path or URI of the file to read (however reading from another website is not recommended for performance reasons)
* * assign : if set, the file will be saved in this variable instead of being output
* </pre>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
* @link http://dwoo.org/
* @version 1.1.0
* @date 2009-07-18
* @package Dwoo
*/
function Dwoo_Plugin_fetch(Dwoo $dwoo, $file, $assign = null)
{
if ($file === '') {
return;
}
if ($policy = $dwoo->getSecurityPolicy()) {
while (true) {
if (preg_match('{^([a-z]+?)://}i', $file)) {
return $dwoo->triggerError('The security policy prevents you to read files from external sources.', E_USER_WARNING);
}
$file = realpath($file);
$dirs = $policy->getAllowedDirectories();
foreach ($dirs as $dir => $dummy) {
if (strpos($file, $dir) === 0) {
break 2;
}
}
return $dwoo->triggerError('The security policy prevents you to read <em>' . $file . '</em>', E_USER_WARNING);
}
}
$file = str_replace(array("\t", "\n", "\r"), array('\\t', '\\n', '\\r'), $file);
$out = file_get_contents($file);
if ($assign === null) {
return $out;
}
$dwoo->assignInScope($out, $assign);
}
示例2: Dwoo_Plugin_include
/**
* Inserts another template into the current one
* <pre>
* * file : the resource name of the template
* * cache_time : cache length in seconds
* * cache_id : cache identifier for the included template
* * compile_id : compilation identifier for the included template
* * data : data to feed into the included template, it can be any array and will default to $_root (the current data)
* * assign : if set, the output of the included template will be saved in this variable instead of being output
* * rest : any additional parameter/value provided will be added to the data array
* </pre>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
* @link http://dwoo.org/
* @version 1.1.0
* @date 2009-07-18
* @package Dwoo
*/
function Dwoo_Plugin_include(Dwoo $dwoo, $file, $cache_time = null, $cache_id = null, $compile_id = null, $data = '_root', $assign = null, array $rest = array())
{
if ($file === '') {
return;
}
if (preg_match('#^([a-z]{2,}):(.*)$#i', $file, $m)) {
// resource:identifier given, extract them
$resource = $m[1];
$identifier = $m[2];
} else {
// get the current template's resource
$resource = $dwoo->getTemplate()->getResourceName();
$identifier = $file;
}
try {
if (!is_numeric($cache_time)) {
$cache_time = null;
}
$include = $dwoo->templateFactory($resource, $identifier, $cache_time, $cache_id, $compile_id);
} catch (Dwoo_Security_Exception $e) {
return $dwoo->triggerError('Include : Security restriction : ' . $e->getMessage(), E_USER_WARNING);
} catch (Dwoo_Exception $e) {
return $dwoo->triggerError('Include : ' . $e->getMessage(), E_USER_WARNING);
}
if ($include === null) {
return $dwoo->triggerError('Include : Resource "' . $resource . ':' . $identifier . '" not found.', E_USER_WARNING);
} elseif ($include === false) {
return $dwoo->triggerError('Include : Resource "' . $resource . '" does not support includes.', E_USER_WARNING);
}
if ($dwoo->isArray($data)) {
$vars = $data;
} elseif ($dwoo->isArray($cache_time)) {
$vars = $cache_time;
} else {
$vars = $dwoo->readVar($data);
}
if (count($rest)) {
$vars = $rest + $vars;
}
$out = $dwoo->get($include, $vars);
if ($assign !== null) {
$dwoo->assignInScope($out, $assign);
} else {
return $out;
}
}
示例3: Dwoo_Plugin_escape
/**
* Applies various escaping schemes on the given string
* <pre>
* * value : the string to process
* * format : escaping format to use, valid formats are : html, htmlall, url, urlpathinfo, quotes, hex, hexentity, javascript and mail
* * charset : character set to use for the conversion (applies to some formats only), defaults to the current Dwoo charset
* </pre>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
* @link http://dwoo.org/
* @version 1.0.0
* @date 2008-10-23
* @package Dwoo
*/
function Dwoo_Plugin_escape(Dwoo $dwoo, $value = '', $format = 'html', $charset = null)
{
if ($charset === null) {
$charset = $dwoo->getCharset();
}
switch ($format) {
case 'html':
return htmlspecialchars((string) $value, ENT_QUOTES, $charset);
case 'htmlall':
return htmlentities((string) $value, ENT_QUOTES, $charset);
case 'url':
return rawurlencode((string) $value);
case 'urlpathinfo':
return str_replace('%2F', '/', rawurlencode((string) $value));
case 'quotes':
return preg_replace("#(?<!\\\\)'#", "\\'", (string) $value);
case 'hex':
$out = '';
$cnt = strlen((string) $value);
for ($i = 0; $i < $cnt; $i++) {
$out .= '%' . bin2hex((string) $value[$i]);
}
return $out;
case 'hexentity':
$out = '';
$cnt = strlen((string) $value);
for ($i = 0; $i < $cnt; $i++) {
$out .= '&#x' . bin2hex((string) $value[$i]) . ';';
}
return $out;
case 'javascript':
return strtr((string) $value, array('\\' => '\\\\', "'" => "\\'", '"' => '\\"', "\r" => '\\r', "\n" => '\\n', '</' => '<\\/'));
case 'mail':
return str_replace(array('@', '.'), array(' (AT) ', ' (DOT) '), (string) $value);
default:
return $dwoo->triggerError('Escape\'s format argument must be one of : html, htmlall, url, urlpathinfo, hex, hexentity, javascript or mail, "' . $format . '" given.', E_USER_WARNING);
}
}
示例4: Dwoo_Plugin_mailto
/**
* Outputs a mailto link with optional spam-proof (okay probably not) encoding
* <pre>
* * address : target email address
* * text : display text to show for the link, defaults to the address if not provided
* * subject : the email subject
* * encode : one of the available encoding (none, js, jscharcode or hex)
* * cc : address(es) to carbon copy, comma separated
* * bcc : address(es) to blind carbon copy, comma separated
* * newsgroups : newsgroup(s) to post to, comma separated
* * followupto : address(es) to follow up, comma separated
* * extra : additional attributes to add to the <a> tag
* </pre>
* This software is provided 'as-is', without any express or implied warranty.
* In no event will the authors be held liable for any damages arising from the use of this software.
*
* @author Jordi Boggiano <j.boggiano@seld.be>
* @copyright Copyright (c) 2008, Jordi Boggiano
* @license http://dwoo.org/LICENSE Modified BSD License
* @link http://dwoo.org/
* @version 1.0.0
* @date 2008-10-23
* @package Dwoo
*/
function Dwoo_Plugin_mailto(Dwoo $dwoo, $address, $text = null, $subject = null, $encode = null, $cc = null, $bcc = null, $newsgroups = null, $followupto = null, $extra = null)
{
if (empty($address)) {
return '';
}
if (empty($text)) {
$text = $address;
}
// build address string
$address .= '?';
if (!empty($subject)) {
$address .= 'subject=' . rawurlencode($subject) . '&';
}
if (!empty($cc)) {
$address .= 'cc=' . rawurlencode($cc) . '&';
}
if (!empty($bcc)) {
$address .= 'bcc=' . rawurlencode($bcc) . '&';
}
if (!empty($newsgroup)) {
$address .= 'newsgroups=' . rawurlencode($newsgroups) . '&';
}
if (!empty($followupto)) {
$address .= 'followupto=' . rawurlencode($followupto) . '&';
}
$address = rtrim($address, '?&');
// output
switch ($encode) {
case 'none':
case null:
return '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
case 'js':
case 'javascript':
$str = 'document.write(\'<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>\');';
$len = strlen($str);
$out = '';
for ($i = 0; $i < $len; $i++) {
$out .= '%' . bin2hex($str[$i]);
}
return '<script type="text/javascript">eval(unescape(\'' . $out . '\'));</script>';
break;
case 'javascript_charcode':
case 'js_charcode':
case 'jscharcode':
case 'jschar':
$str = '<a href="mailto:' . $address . '" ' . $extra . '>' . $text . '</a>';
$len = strlen($str);
$out = '<script type="text/javascript">' . "\n<!--\ndocument.write(String.fromCharCode(";
for ($i = 0; $i < $len; $i++) {
$out .= ord($str[$i]) . ',';
}
return rtrim($out, ',') . "));\n-->\n</script>\n";
break;
case 'hex':
if (strpos($address, '?') !== false) {
return $dwoo->triggerError('Mailto: Hex encoding is not possible with extra attributes, use one of : <em>js, jscharcode or none</em>.', E_USER_WARNING);
}
$out = '<a href="mailto:';
$len = strlen($address);
for ($i = 0; $i < $len; $i++) {
if (preg_match('#\\w#', $address[$i])) {
$out .= '%' . bin2hex($address[$i]);
} else {
$out .= $address[$i];
}
}
$out .= '" ' . $extra . '>';
$len = strlen($text);
for ($i = 0; $i < $len; $i++) {
$out .= '&#x' . bin2hex($text[$i]);
}
return $out . '</a>';
default:
return $dwoo->triggerError('Mailto: <em>encode</em> argument is invalid, it must be one of : <em>none (= no value), js, js_charcode or hex</em>', E_USER_WARNING);
}
}