本文整理汇总了PHP中DataUtil::urlsafeJsonDecode方法的典型用法代码示例。如果您正苦于以下问题:PHP DataUtil::urlsafeJsonDecode方法的具体用法?PHP DataUtil::urlsafeJsonDecode怎么用?PHP DataUtil::urlsafeJsonDecode使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DataUtil
的用法示例。
在下文中一共展示了DataUtil::urlsafeJsonDecode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update
/**
* update block configuration
*/
public function update($blockinfo)
{
// Get current content
$vars = BlockUtil::varsFromContent($blockinfo['content']);
// check if import old menu
$menutree_menus = FormUtil::getPassedValue('menutree_menus', 'null');
if ($menutree_menus != 'null') {
$vars['menutree_content'] = $this->_import_menu($menutree_menus);
} else {
$vars['menutree_content'] = FormUtil::getPassedValue('menutree_content', '', 'POST');
$vars['menutree_content'] = DataUtil::urlsafeJsonDecode($vars['menutree_content']);
}
if (!$this->validate_menu($vars['menutree_content'])) {
return LogUtil::registerError($this->__('Error! Could not save your changes.'));
}
// sort tree array according to lineno key
uasort($vars['menutree_content'], array('Blocks_Block_Menutree','sort_menu'));
// get other form data
$menutree_data = FormUtil::getPassedValue('menutree');
$vars['menutree_tpl'] = isset($menutree_data['tpl']) ? $menutree_data['tpl'] : '';
if (empty($vars['menutree_tpl']) || !$this->view->template_exists($vars['menutree_tpl'])) {
$vars['menutree_tpl'] = 'menutree/blocks_block_menutree_default.tpl';
}
$vars['menutree_stylesheet'] = isset($menutree_data['stylesheet']) ? $menutree_data['stylesheet'] : '';
if (empty($vars['menutree_stylesheet']) || $vars['menutree_stylesheet'] == 'null' || !file_exists($vars['menutree_stylesheet'])) {
$vars['menutree_stylesheet'] = '';
}
$vars['menutree_titles'] = isset($menutree_data['titles']) ? $menutree_data['titles'] : array();
$vars['menutree_linkclass'] = isset($menutree_data['linkclass']) ? (bool)$menutree_data['linkclass'] : false;
// if class list is provided - rebuild array and fill empty entries
if ($vars['menutree_linkclass'] && isset($menutree_data['linkclasses'])) {
foreach ((array)$menutree_data['linkclasses'] as $k => $class) {
if (empty($class['name'])) {
unset($menutree_data['linkclasses'][$k]);
} elseif (empty($class['title'])) {
$menutree_data['linkclasses'][$k]['title'] = $class['name'];
}
}
$vars['menutree_linkclasses'] = $menutree_data['linkclasses'];
if (count($vars['menutree_linkclasses']) < 1) {
$vars['menutree_linkclass'] = false;
}
}
$vars['menutree_maxdepth'] = isset($menutree_data['maxdepth']) ? (int)$menutree_data['maxdepth'] : 0;
$vars['menutree_editlinks'] = isset($menutree_data['editlinks']) ? (bool)$menutree_data['editlinks'] : false;
$vars['menutree_stripbaseurl'] = isset($menutree_data['stripbaseurl']) ? (bool)$menutree_data['stripbaseurl'] : false;
$vars['menutree_titlesperms'] = isset($menutree_data['titlesperms']) && array_key_exists($menutree_data['titlesperms'],$this->_permlevels()) ? $menutree_data['titlesperms'] : 'ACCESS_EDIT';
$vars['menutree_displayperms'] = isset($menutree_data['displayperms']) && array_key_exists($menutree_data['displayperms'],$this->_permlevels()) ? $menutree_data['displayperms'] : 'ACCESS_EDIT';
$vars['menutree_settingsperms'] = isset($menutree_data['settingsperms']) && array_key_exists($menutree_data['settingsperms'],$this->_permlevels()) ? $menutree_data['settingsperms'] : 'ACCESS_EDIT';
if (empty($vars['menutree_content'])) {
unset($vars['menutree_content']);
} else {
// check langs and save current langs list and current default lang
$tmp = current($vars['menutree_content']);
$vars['oldlanguages'] = array_keys($tmp);
$vars['olddefaultanguage'] = $vars['oldlanguages'][0];
// strip base url - if needed
if ($vars['menutree_stripbaseurl'] === true) {
$baseurl = System::getBaseUrl();
foreach ($vars['menutree_content'] as $itemid => $item) {
foreach ($item as $lang => $_item) {
// strip base url only when it occurs at the beginning of url and only once
if (strpos($_item['href'], $baseurl) === 0) {
$vars['menutree_content'][$itemid][$lang]['href'] = substr_replace($_item['href'], '', 0, strlen($baseurl));
}
}
}
}
}
// write back the new contents
$blockinfo['content'] = BlockUtil::varsToContent($vars);
// clear the block cache
$this->view->clear_cache(null, $blockinfo['bkey'].'/bid'.$blockinfo['bid']);
// and clear the theme cache
Zikula_View_Theme::getInstance()->clear_cache();
return $blockinfo;
}