_get_plugin_filepath('block', 'self_link');
$selected = false ;
if ( ! empty($params['_selected']) ) {
// Filter the condition
if (preg_match('/[a-zA-Z0-9 =<>!]+/',$params['_selected'])) {
$error_report = error_reporting(~E_ALL);
$return = eval ( '$selected =' . $params['_selected'].";" );
error_reporting($error_report);
if ($return !== FALSE) {
if ($selected) {
if (! empty($params['_selected_class']) ) {
$params['_class'] = $params['_selected_class'];
} else {
$params['_class'] = 'selected';
}
if (! empty($params['_selected_text']) ) {
$params['_text'] = $params['_selected_text'];
}
if (! empty($params['_selected_title']) ) {
$params['_title'] = $params['_selected_title'];
}
if (! empty($params['_selected_icon']) ) {
$params['_icon'] = $params['_selected_icon'];
}
}
}
}
}
$disabled = false ;
if ( ! empty($params['_disabled']) ) {
// Filter the condition
if (preg_match('/[a-zA-Z0-9 =<>!]+/',$params['_disabled'])) {
$error_report = error_reporting(~E_ALL);
$return = eval ( '$disabled =' . $params['_disabled'].";" );
error_reporting($error_report);
if ($return !== FALSE) {
if ($disabled) {
if (! empty($params['_disabled_class']) ) {
$params['_class'] = $params['_disabled_class'];
} else {
$params['_class'] = 'disabled';
}
if (! empty($params['_disabled_text']) ) {
$params['_text'] = $params['_disabled_text'];
}
if (! empty($params['_disabled_title']) ) {
$params['_title'] = $params['_disabled_title'];
}
if (! empty($params['_disabled_icon']) ) {
$params['_icon'] = $params['_disabled_icon'];
}
}
}
}
unset($params['_disabled']);
}
//apply class only to the button
if (!empty($params['_class'])) {
$class = $params['_class'];
}
if (!empty($params['_id'])) {
$id = ' id="'.$params['_id'].'"';
} else {
$id = '';
}
unset($params['_class']);
if (!$disabled) {
$flip_id = '';
if ( ! empty($params['_flip_id']) ) {
$params['_onclick'] = "javascript:flip('"
. $params['_flip_id']
. "');flip('"
. $params['_flip_id']
. "_close','inline');return false;";
if ( ! empty($params['_escape']) ) {
$params['_onclick'] = addslashes($params['_onclick']);
}
if ( ! isset($params['_flip_hide_text']) || $params['_flip_hide_text'] != 'n' ) {
$cookie_key = 'show_' . $params['_flip_id'];
$params['_text'] .= ' (' . tra('Hide') . ')';
}
}
$auto_query_args_orig = $auto_query_args;
if ( !empty($params['_auto_args']) ) {
if ( $params['_auto_args'] != '*' ) {
if ( !isset($auto_query_args) ) $auto_query_args = null;
$auto_query_args = explode(',', $params['_auto_args']);
}
} else {
$params['_noauto'] = 'y';
}
// Remove params that does not start with a '_', since we don't want them to modify the URL except when in auto_query_args
if ( ! isset($params['_keepall']) || $params['_keepall'] != 'y') {
foreach ( $params as $k => $v ) {
if ( $k[0] != '_' && $k != 'href' && (empty($auto_query_args) || !in_array($k,$auto_query_args)) ) unset($params[$k]);
}
}
$url_args = array();
if ( ! empty($params['href']) ) {
// Handle anchors
if ( strpos($params['href'], '#') )
list($params['href'], $params['_anchor']) = explode('#', $params['href'], 2);
// Handle script and URL arguments
if ( ( $pos = strpos($params['href'], '?') ) !== false ) {
$params['_script'] = substr($params['href'], 0, $pos);
TikiLib::parse_str($tikilib->htmldecode(substr($params['href'], $pos+1)), $url_args);
$params = array_merge($params, $url_args);
} else {
$params['_script'] = $params['href'];
}
unset($params['href']);
}
$html = smarty_block_self_link(
$params,
$params['_text'],
$smarty,
false
);
} else {
$params['_disabled'] = 'y';
$html = smarty_block_self_link(
$params,
$params['_text'],
$smarty,
false
);
}
$auto_query_args = $auto_query_args_orig;
return ''.$html.'';
}