if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FILES') || !PODS_HELPER_FILES)) { $check_file = false; } if (false !== $check_function && false !== $check_file) { $function_or_file = pods_function_or_file($function_or_file, $check_function, 'helper', $check_file); } else { $function_or_file = false; } $content = false; if (!$function_or_file) { $api = new PodAPI(); $params = array('name' => $input_helper, 'type' => 'input'); if (!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) { $params = pods_sanitize($params); } $content = $api->load_helper($params); if (false !== $content && 0 < strlen(trim($content['phpcode']))) { $content = $content['phpcode']; } else { $content = false; } } if (false === $content && false !== $function_or_file && isset($function_or_file['function'])) { echo $function_or_file['function']($coltype, $field, $css_id, $css_classes, $value, $this); } elseif (false === $content && false !== $function_or_file && isset($function_or_file['file'])) { locate_template($function_or_file['file'], true, true); } elseif (false !== $content) { if (!defined('PODS_DISABLE_EVAL') || PODS_DISABLE_EVAL) { eval("?>{$content}"); } else { echo $content;
/** * Drop a single pod item * * $params['pod_id'] int The item's ID from the wp_pod table * $params['tbl_row_id'] int (optional) The item's ID from the wp_pod_tbl_* table (used with datatype parameter) * $params['datatype'] string (optional) The datatype name (used with tbl_row_id parameter) * $params['datatype_id'] int (optional) The datatype ID (used with tbl_row_id parameter) * * @param array $params An associative array of parameters * @since 1.7.9 */ function drop_pod_item($params) { if (defined('PODS_STRICT_MODE') && PODS_STRICT_MODE) { $params = pods_sanitize($params); } $params = (object) $params; if (isset($params->tbl_row_id)) { if (!empty($params->tbl_row_id) && is_array($params->tbl_row_id)) { $new_params = $params; foreach ($params->tbl_row_id as $tbl_row_id) { $new_params->tbl_row_id = $tbl_row_id; $this->drop_pod_item($new_params); } return; } if (isset($params->datatype_id)) { $select_dt = "p.datatype = '{$params->datatype_id}'"; } else { $select_dt = "t.name = '{$params->datatype}'"; } $sql = "\n SELECT\n p.id AS pod_id, p.tbl_row_id, t.id, t.name\n FROM\n @wp_pod p\n INNER JOIN\n @wp_pod_types t ON t.id = p.datatype\n WHERE\n p.tbl_row_id = {$params->tbl_row_id} AND\n {$select_dt}\n LIMIT\n 1\n "; } else { $sql = "\n SELECT\n p.id AS pod_id, p.tbl_row_id, t.id, t.name\n FROM\n @wp_pod p\n INNER JOIN\n @wp_pod_types t ON t.id = p.datatype\n WHERE\n p.id = {$params->pod_id}\n LIMIT\n 1\n "; } $result = pod_query($sql); $row = mysql_fetch_assoc($result); $params->datatype_id = $row['id']; $params->datatype = $row['name']; $params->pod_id = $row['pod_id']; $params->tbl_row_id = $row['tbl_row_id']; // Get helper code $result = pod_query("SELECT pre_drop_helpers, post_drop_helpers FROM @wp_pod_types WHERE id = {$params->datatype_id}"); $row = mysql_fetch_assoc($result); $params->pre_drop_helpers = explode(',', $row['pre_drop_helpers']); $params->post_drop_helpers = explode(',', $row['post_drop_helpers']); // Plugin hook do_action('pods_pre_drop_pod_item', $params); // Pre-drop helpers if (0 < count($params->pre_drop_helpers)) { foreach ($params->pre_drop_helpers as $helper) { $function_or_file = $helper; $check_function = $function_or_file; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FUNCTIONS') || !PODS_HELPER_FUNCTIONS)) { $check_function = false; } $check_file = null; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FILES') || !PODS_HELPER_FILES)) { $check_file = false; } if (false !== $check_function && false !== $check_file) { $function_or_file = pods_function_or_file($function_or_file, $check_function, 'helper', $check_file); } else { $function_or_file = false; } $content = false; if (!$function_or_file) { $api = new PodAPI(); $params_helper = array('name' => $helper, 'type' => 'pre_drop'); if (!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) { $params_helper = pods_sanitize($params_helper); } $content = $api->load_helper($params_helper); if (false !== $content && 0 < strlen(trim($content['phpcode']))) { $content = $content['phpcode']; } else { $content = false; } } if (false === $content && false !== $function_or_file && isset($function_or_file['function'])) { $function_or_file['function']($params, $this); } elseif (false === $content && false !== $function_or_file && isset($function_or_file['file'])) { locate_template($function_or_file['file'], true, true); } elseif (false !== $content) { if (!defined('PODS_DISABLE_EVAL') || PODS_DISABLE_EVAL) { eval("?>{$content}"); } else { echo $content; } } } } pod_query("DELETE FROM `@wp_pod_tbl_{$params->datatype}` WHERE id = {$params->tbl_row_id} LIMIT 1"); pod_query("UPDATE @wp_pod_rel SET sister_pod_id = NULL WHERE sister_pod_id = {$params->pod_id}"); pod_query("DELETE FROM @wp_pod WHERE id = {$params->pod_id} LIMIT 1"); pod_query("DELETE FROM @wp_pod_rel WHERE pod_id = {$params->pod_id}"); // Plugin hook do_action('pods_post_drop_pod_item', $params); // Post-drop helpers if (0 < count($params->post_drop_helpers)) { foreach ($params->post_drop_helpers as $helper) { $function_or_file = $helper; $check_function = $function_or_file; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FUNCTIONS') || !PODS_HELPER_FUNCTIONS)) { $check_function = false; } $check_file = null; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FILES') || !PODS_HELPER_FILES)) { $check_file = false; } if (false !== $check_function && false !== $check_file) { $function_or_file = pods_function_or_file($function_or_file, $check_function, 'helper', $check_file); } else { $function_or_file = false; } $content = false; if (!$function_or_file) { $api = new PodAPI(); $params_helper = array('name' => $helper, 'type' => 'post_drop'); if (!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) { $params_helper = pods_sanitize($params_helper); } $content = $api->load_helper($params_helper); if (false !== $content && 0 < strlen(trim($content['phpcode']))) { $content = $content['phpcode']; } else { $content = false; } } if (false === $content && false !== $function_or_file && isset($function_or_file['function'])) { $function_or_file['function']($params, $this); } elseif (false === $content && false !== $function_or_file && isset($function_or_file['file'])) { locate_template($function_or_file['file'], true, true); } elseif (false !== $content) { if (!defined('PODS_DISABLE_EVAL') || PODS_DISABLE_EVAL) { eval("?>{$content}"); } else { echo $content; } } } } }
/** * Run a helper within a Pod Page or WP Template or Magic Tags * * @param string $helper The helper name * @return mixed Anything returned by the helper * @since 1.2.0 */ function pod_helper($helper, $value = null, $name = null) { ob_start(); do_action('pods_pre_pod_helper', $helper, $value, $name, $this); do_action("pods_pre_pod_helper_{$helper}", $helper, $value, $name, $this); $function_or_file = $helper; $check_function = $function_or_file; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FUNCTIONS') || !PODS_HELPER_FUNCTIONS)) { $check_function = false; } $check_file = null; if ((!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) && (!defined('PODS_HELPER_FILES') || !PODS_HELPER_FILES)) { $check_file = false; } if (false !== $check_function && false !== $check_file) { $function_or_file = pods_function_or_file($function_or_file, $check_function, 'helper', $check_file); } else { $function_or_file = false; } $content = false; if (!$function_or_file) { $api = new PodAPI(); $params = array('name' => $helper, 'type' => 'display'); if (!defined('PODS_STRICT_MODE') || !PODS_STRICT_MODE) { $params = pods_sanitize($params); } $content = $api->load_helper($params); if (false !== $content && 0 < strlen(trim($content['phpcode']))) { $content = $content['phpcode']; } else { $content = false; } } if (false === $content && false !== $function_or_file && isset($function_or_file['function'])) { echo $function_or_file['function']($value, $name, $this); } elseif (false === $content && false !== $function_or_file && isset($function_or_file['file'])) { locate_template($function_or_file['file'], true, true); } elseif (false !== $content) { if (!defined('PODS_DISABLE_EVAL') || !PODS_DISABLE_EVAL) { eval("?>{$content}"); } else { echo $content; } } //post-helper hooks do_action('pods_post_pod_helper', $helper, $value, $name, $this); do_action("pods_post_pod_helper_{$helper}", $helper, $value, $name, $this); return apply_filters('pods_helper', ob_get_clean(), $helper, $value, $this); }