本文整理汇总了PHP中FabrikWorker::_replaceWithUserData方法的典型用法代码示例。如果您正苦于以下问题:PHP FabrikWorker::_replaceWithUserData方法的具体用法?PHP FabrikWorker::_replaceWithUserData怎么用?PHP FabrikWorker::_replaceWithUserData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FabrikWorker
的用法示例。
在下文中一共展示了FabrikWorker::_replaceWithUserData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseMessageForRowHolder
/**
* iterates through string to replace every
* {placeholder} with row data
* (added by hugh, does the same thing as parseMessageForPlaceHolder in parent
* class, but for rows instead of forms)
* @param string text to parse
* @param array of row data
* @param bool add slashes to the replaced data (default = false) set to true in fabrikcalc element
*/
function parseMessageForRowHolder($msg, &$row, $addslashes = false)
{
$this->_aRow = $row;
if (!strstr($msg, '{')) {
return $msg;
}
$this->_parseAddSlases = $addslashes;
$msg = FabrikWorker::_replaceWithUserData($msg);
$msg = FabrikWorker::_replaceWithGlobals($msg);
$msg = preg_replace("/{}/", "", $msg);
$this->_rowIdentifierAdded = false;
/* replace {element name} with form data */
// $$$ hugh - testing changing the regex so we don't blow away PHP structures! Added the \s so
// we only match non-space chars in {}'s. So unless you have some code like "if (blah) {foo;}", PHP
// block level {}'s should remain unmolested.
$msg = preg_replace_callback("/{[^}\\s]+}/i", array($this, '_replaceWithRowData'), $msg);
return $msg;
}
示例2: parseMessageForPlaceHolder
/**
* iterates through string to replace every
* {placeholder} with posted data
* @param string text to parse
* @param array data to search for placeholders (default $_REQUEST)
* @param bool if no data found for the place holder do we keep the {...} string in the message
* @param bool add slashed to the text?
* @param object user to use in replaceWithUserData (defaults to logged in user)
*/
function parseMessageForPlaceHolder($msg, $searchData = null, $keepPlaceholders = true, $addslashes = false, $theirUser = null)
{
$this->_parseAddSlases = $addslashes;
if ($msg == '' || is_array($msg) || strpos($msg, '{') === false) {
return $msg;
}
$msg = str_replace(array('%7B', '%7D'), array('{', '}'), $msg);
if (is_object($searchData)) {
$searchData = JArrayHelper::fromObject($searchData);
}
//$post = JRequest::get('post');
//$$$ rob changed to allow request variables to be parsed as well. I have a sneaky feeling this
// was set to post for a good reason, but I can't see why now.
$post = JRequest::get('request');
$this->_searchData = is_null($searchData) ? $post : array_merge($post, $searchData);
$this->_searchData['JUtility::getToken'] = JUtility::getToken();
$msg = FabrikWorker::_replaceWithUserData($msg);
if (!is_null($theirUser)) {
$msg = FabrikWorker::_replaceWithUserData($msg, $theirUser, 'your');
}
$msg = FabrikWorker::_replaceWithGlobals($msg);
$msg = preg_replace("/{}/", "", $msg);
/* replace {element name} with form data */
$msg = preg_replace_callback("/{[^}\\s]+}/i", array($this, '_replaceWithFormData'), $msg);
if (!$keepPlaceholders) {
$msg = preg_replace("/{[^}\\s]+}/i", '', $msg);
}
return $msg;
}