本文整理汇总了PHP中FabrikString::encodeurl方法的典型用法代码示例。如果您正苦于以下问题:PHP FabrikString::encodeurl方法的具体用法?PHP FabrikString::encodeurl怎么用?PHP FabrikString::encodeurl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FabrikString
的用法示例。
在下文中一共展示了FabrikString::encodeurl方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: onLastProcess
/**
* process the plugin, called afer form is submitted
*
* !!!! NOTE this is the ONLY form plugin that should use onLastProcess
*
* @param object $params (with the current active plugin values in them)
* @param object form
*/
function onLastProcess($params, &$formModel)
{
$session =& JFactory::getSession();
$context = 'com_fabrik.form.' . $formModel->_id . '.redirect.';
//get existing session params
$surl = (array) $session->get($context . 'url', array());
$stitle = (array) $session->get($context . 'title', array());
$smsg = (array) $session->get($context . 'msg', array());
$sshowsystemmsg = (array) $session->get($context . 'showsystemmsg', array());
$app =& JFactory::getApplication();
$this->formModel =& $formModel;
$w = new FabrikWorker();
$this->_data = new stdClass();
$this->_data->append_jump_url = $params->get('append_jump_url');
$this->_data->save_in_session = $params->get('save_insession');
$form =& $formModel->getForm();
// $$$ hugh - swapped args round, otherwise _formData takes precedence,
// which makes getEmailData() pretty much redundant.
// NOTE - this may cause some issues with existing usage for things like checkboxes
//$this->data = array_merge($this->getEmailData(), $formModel->_formData);
$this->data = array_merge($formModel->_formData, $this->getEmailData());
$this->_data->jump_page = $w->parseMessageForPlaceHolder($params->get('jump_page'), $this->data);
// $$$ hugh - added helper func to pull a URL apart and urlencode any QS args.
// Fixes issue where people use &foo={table___element} in their jump URL's and the data
// has special characters in it.
$this->_data->jump_page = FabrikString::encodeurl($this->_data->jump_page);
$this->_data->thanks_message = $w->parseMessageForPlaceHolder($params->get('thanks_message'), $this->data);
if (!$this->shouldRedirect($params)) {
//clear any sessoin redirects
unset($surl[$this->renderOrder]);
unset($stitle[$this->renderOrder]);
unset($smsg[$this->renderOrder]);
unset($sshowsystemmsg[$this->renderOrder]);
$session->set($context . 'url', $surl);
$session->set($context . 'title', $stitle);
$session->set($context . 'msg', $smsg);
$session->set($context . 'showsystemmsg', $sshowsystemmsg);
return true;
}
$this->_storeInSession($formModel);
$sshowsystemmsg[$this->renderOrder] = $this->_data->thanks_message == '' ? false : true;
$session->set($context . 'showsystemmsg', $sshowsystemmsg);
if ($this->_data->jump_page != '') {
$this->_data->jump_page = $this->_buildJumpPage($formModel);
if (JRequest::getVar('fabrik_postMethod', '') != 'ajax' || $params->get('redirect_inajax') == 1) {
//dont redirect if form is in part of a package (or a module with 'use ajax' option turned on)
$surl[$this->renderOrder] = $this->_data->jump_page;
$session->set($context . 'url', $surl);
}
} else {
$sshowsystemmsg[$this->renderOrder] = false;
$session->set($context . 'showsystemmsg', $sshowsystemmsg);
$stitle[$this->renderOrder] = $form->label;
$session->set($context . 'title', $stitle);
$surl[$this->renderOrder] = 'index.php?option=com_fabrik&controller=plugin&g=form&plugin=fabrikredirect&method=displayThanks&task=pluginAjax';
$session->set($context . 'url', $surl);
}
$smsg[$this->renderOrder] = $this->_data->thanks_message;
$session->set($context . 'msg', $smsg);
return true;
}
示例2: storeDatabaseFormat
/**
* Manipulates posted form data for insertion into database
*
* @param mixed $val this elements posted form data
* @param array $data posted form data
*
* @return mixed
*/
public function storeDatabaseFormat($val, $data)
{
/* $$$ hugh - added 'normalization' of links, to add http:// if no :// in the link.
* not sure if we really want to do it here, or only when rendering?
* $$$ hugh - quit normalizing links.
*/
$params = $this->getParams();
if (is_array($val)) {
if ($params->get('use_bitly')) {
require_once JPATH_SITE . '/components/com_fabrik/libs/bitly/bitly.php';
$login = $params->get('bitly_login');
$key = $params->get('bitly_apikey');
$bitly = new bitly($login, $key);
}
foreach ($val as $key => &$v) {
if (is_array($v)) {
if ($params->get('use_bitly')) {
/* bitly will return an error if you try and shorten a shortened link,
* and the class file we are using doesn't check for this
*/
if (!strstr($v['link'], 'bit.ly/') && $v['link'] !== '') {
$v['link'] = (string) $bitly->shorten($v['link']);
}
}
} else {
if ($key == 'link') {
$v = FabrikString::encodeurl($v);
}
// Not in repeat group
if ($key == 'link' && $params->get('use_bitly')) {
if (!strstr($v, 'bit.ly/') && $v !== '') {
$v = (string) $bitly->shorten($v);
}
}
}
}
} else {
if (json_decode($val)) {
return $val;
}
}
$return = json_encode($val);
return $return;
}