0) {
foreach ($attributes as $key=>$value) {
$params[$key] = PinaCode::get_registry()->short_code($value);
}
if (isset($attributes['table_id']) && $attributes['table_id'] != "") {
// PinaCode::set_var('params', [$attributes['table_id']=>$new_values]);
}
}
$a = ADFO::get_list($id, false, $params, $prefix);
return $a;
}
}
pinacode_set_functions('get_list', 'pinacode_fn_dbp_list');
/**
* [^GET_LIST_DATA id=
* id per identificare la lista
*
*/
if (!function_exists('pinacode_fn_get_list_data')) {
function pinacode_fn_get_list_data($short_code_name, $attributes) {
$ori_attributes = $attributes;
$prefix = "";
if (isset($attributes['prefix'])) {
$prefix = $attributes['prefix'];
unset($attributes['prefix']);
}
/**
* @var $id l'id della lista
*/
if (isset($attributes['id'])) {
$id = absint($attributes['id']);
unset($attributes['id']);
} else {
$id = absint(PinaCode::get_var('global.dbp_id'));
}
if ($id == 0) return [];
$params = [];
if (count($attributes) > 0) {
foreach ($attributes as $key=>$value) {
$params[$key] = PinaCode::get_registry()->short_code($value);
}
}
$ori_params = PinaCode::get_var('params');
$ori_globals = PinaCode::get_var('global');
PinaCode::set_var('params', $params);
$list = new ADFO_render_list($id, null);
PinaCode::set_var('global', $ori_globals);
PinaCode::set_var('params', $ori_params);
$items = [];
if (isset($list->table_model->items) && is_array($list->table_model->items)) {
$items = $list->table_model->items;
if(count($items) > 1) {
array_shift($items);
}
}
return $items;
}
}
pinacode_set_functions('get_list_data', 'pinacode_fn_get_list_data');
/**
* [^LINK_DETAIL item={}, dbp_id=xx, action="" ]
*/
if (!function_exists('pinacode_fn_link_detail')) {
function pinacode_fn_link_detail($short_code_name, $attributes) {
$primary_values = [];
if (@array_key_exists('dbp_id', $attributes)) {
$dbp_id = PinaCode::get_registry()->short_code($attributes['dbp_id']);
} else {
$dbp_id = PinaCode::get_var('global.dbp_id');
}
if (absint($dbp_id) == 0) return '';
if (@array_key_exists('item', $attributes)) {
if (is_array($attributes['item']) || is_object($attributes['item'])) {
$item = $attributes['item'];
} else {
$item = PinaCode::get_registry()->short_code($attributes['item']);
}
} else {
$item = PinaCode::get_var('data');
}
if (!is_array($item) && !is_object($item)) {
return '';
}
if (is_array($item)) {
$item = (object) $item;
}
$primary_values['dbp_ids'] = ADFO::get_ids_value_from_list($dbp_id, $item);
$primary_values['dbp_id'] = $dbp_id;
if (@array_key_exists('action', $attributes)) {
$primary_values['action'] = $attributes['action'];
} else {
$primary_values['action'] = 'dbp_get_detail';
}
$link = esc_url(add_query_arg($primary_values, admin_url('admin-ajax.php')));
return $link;
}
}
pinacode_set_functions('link_detail', 'pinacode_fn_link_detail');
/**
* [^UNIQ_CHARS_IDS item={}, dbp_id=xx ]
*/
if (!function_exists('pinacode_fn_uniq_chars_id')) {
function pinacode_uniq_chars_id($short_code_name, $attributes) {
if (@array_key_exists('dbp_id', $attributes)) {
$dbp_id = PinaCode::get_registry()->short_code($attributes['dbp_id']);
} else {
$dbp_id = PinaCode::get_var('global.dbp_id');
}
if (absint($dbp_id) == 0) return '';
$post = ADFO_functions_list::get_post_dbp($dbp_id);
if ($post == false) return '';
if (@array_key_exists('item', $attributes)) {
if (is_array($attributes['item']) || is_object($attributes['item'])) {
$item = $attributes['item'];
} else {
$item = PinaCode::get_registry()->short_code($attributes['item']);
}
} else {
$item = PinaCode::get_var('data');
}
if (!is_array($item) && !is_object($item)) {
return '';
}
if (is_array($item)) {
$item = (object) $item;
}
return ADFO::get_ids_value_from_list($dbp_id, $item);
}
}
pinacode_set_functions('uniq_chars_id', 'pinacode_uniq_chars_id');
/**
* [^ADMIN_URL id=dbp_id]
*/
if (!function_exists('pinacode_fn_admin_url')) {
function pinacode_fn_admin_url($short_code_name, $attributes) {
$link = '';
if (@array_key_exists('id', $attributes)) {
$id = PinaCode::get_registry()->short_code($attributes['id']);
unset($attributes['id']);
$link = admin_url("admin.php?page=dbp_".$id);
if (count ($attributes) > 0) {
foreach ($attributes as $key=>$attr) {
$attributes[$key] = PinaCode::get_registry()->short_code($attr);
}
$link = add_query_arg($attributes, $link);
}
}
return $link;
}
}
pinacode_set_functions('admin_url', 'pinacode_fn_admin_url');
/**
* [^BTN_EXPORT id=dbp_id format=csv|sql title= class=]
* @since 1.8.0
*/
if (!function_exists('pinacode_fn_btn_export')) {
function pinacode_fn_btn_export($short_code_name, $attributes) {
$link = '';
if (@array_key_exists('id', $attributes)) {
$id = PinaCode::get_registry()->short_code($attributes['id']);
unset($attributes['id']);
} else {
$id = PinaCode::get_var('global.dbp_id');
}
if (count ($attributes) > 0) {
foreach ($attributes as $key=>$attr) {
$attributes[$key] = PinaCode::get_registry()->short_code($attr);
}
}
$format = (isset($attributes['format'])) ? $attributes['format'] : 'csv';
if (!in_array($format, array('csv', 'sql'))) {
$format = 'csv';
}
$title = (isset($attributes['title'])) ? $attributes['title'] : __('Download '.strtoupper($format), 'admin_form');
$btn_class = (isset($attributes['class'])) ? $attributes['class'] : '';
ob_start();
ADFO::draw_export_btn($id, $title, $format, $btn_class);
$btn = ob_get_clean();
return $btn;
}
}
pinacode_set_functions('btn_export', 'pinacode_fn_btn_export');
/**
* [^GET_DETAIL dpb_id=xx id=]
* ID per identificare la lista
* table_id per identificare univocamente la tabella e i parametri da passare!
* @since 1.8.0
*/
if (!function_exists('pinacode_fn_dbp_get_single_data')) {
function pinacode_fn_dbp_get_single_data($short_code_name, $attributes) {
if (strpos($short_code_name, ".") !== false) {
$shortcode_command = explode(".", $short_code_name);
$shortcode_command = array_shift($shortcode_command);
} else {
$shortcode_command = $short_code_name;
}
if (isset($attributes['id'])) {
$id = $attributes['id'];
unset($attributes['id']);
} else {
PcErrors::set('In '.$short_code_name.' ths id attrs is required', '', -1, 'error');
return [];
}
/**
* @var $id l'id della lista
*/
if (isset($attributes['dpb_id'])) {
$dpb_id = absint($attributes['dpb_id']);
unset($attributes['dpb_id']);
} else {
$dpb_id = absint(PinaCode::get_var('global.dbp_id'));
}
if ($dpb_id == 0) {
PcErrors::set('In '.$short_code_name.' ths dpb_id attrs is required', '', -1, 'error');
return [];
}
$get_var = ADFO::get_detail($dpb_id, $id);
if (substr($short_code_name, 0, strlen($shortcode_command)+1) == $shortcode_command.".") {
PinaCode::set_var($shortcode_command, (array)$get_var);
$get_var = PinaCode::get_var($short_code_name);
//PinaCode::set_var("post", $get_var);
}
return $get_var;
}
}
pinacode_set_functions('get_detail', 'pinacode_fn_dbp_get_single_data');
/**
* [^GET_SINGLE dpb_id=xx id=]
* ID per identificare la lista
* table_id per identificare univocamente la tabella e i parametri da passare!
* @since 1.8.0
*/
if (!function_exists('pinacode_fn_dbp_get_single')) {
function pinacode_fn_dbp_get_single($short_code_name, $attributes) {
if (strpos($short_code_name, ".") !== false) {
$shortcode_command = explode(".", $short_code_name);
$shortcode_command = array_shift($shortcode_command);
} else {
$shortcode_command = $short_code_name;
}
if (isset($attributes['id'])) {
$id = $attributes['id'];
unset($attributes['id']);
} else {
PcErrors::set('In '.$short_code_name.' ths id attrs is required', '', -1, 'error');
return [];
}
/**
* @var $id l'id della lista
*/
if (isset($attributes['dpb_id'])) {
$dpb_id = absint($attributes['dpb_id']);
unset($attributes['dpb_id']);
} else {
$dpb_id = absint(PinaCode::get_var('global.dbp_id'));
}
if ($dpb_id == 0) {
PcErrors::set('In '.$short_code_name.' ths dpb_id attrs is required', '', -1, 'error');
return [];
}
return ADFO::get_single($dpb_id, $id);
}
}
pinacode_set_functions('get_single', 'pinacode_fn_dbp_get_single');
/**
* [^GET_SINGLE dpb_id=xx id=]
* ID per identificare la lista
* table_id per identificare univocamente la tabella e i parametri da passare!
* @since 1.8.0
*/
if (!function_exists('pinacode_fn_dbp_get_total')) {
function pinacode_fn_dbp_get_total($short_code_name, $attributes) {
/**
* @var $id l'id della lista
*/
if (isset($attributes['id'])) {
$dpb_id = absint($attributes['id']);
} else {
$dpb_id = absint(PinaCode::get_var('global.dbp_id'));
}
if ($dpb_id == 0) {
PcErrors::set('In '.$short_code_name.' the id attrs is required', '', -1, 'error');
return [];
}
return ADFO::get_total($dpb_id);
}
}
pinacode_set_functions('get_total', 'pinacode_fn_dbp_get_total');