active()) { $this->extension = $extension; return true; } } return false; } public function loaded($extension) { if ($this->extension() && method_exists($this->extension(), 'info')) { $info = $this->extension()->info(); if (isset($info[$extension])) { return true; } } return false; } public function info($attr = false) { if (method_exists($this->extension(), 'info')) { return $this->extension()->info($attr); } return false; } public function extension() { return $this->extension; } public function set($attr, $value) { if (method_exists($this->extension(), 'set')) { return $this->extension()->set($attr, $value); } return false; } public function get($attr) { if (method_exists($this->extension(), 'get')) { return $this->extension()->get($attr); } return false; } public function verify() { if (method_exists($this->extension(), 'verify')) { return $this->extension()->verify(); } return false; } public function import($xml, $item, $options = array()) { if (method_exists($this->extension(), 'import')) { return $this->extension()->import($xml, $item, $options); } return false; } public function after_import($old_template_id, $new_template_id) { if (method_exists($this->extension(), 'after_import')) { return $this->extension()->after_import($old_template_id, $new_template_id); } return false; } public function backup($xml = false) { if (method_exists($this->extension(), 'backup')) { return $this->extension()->backup($xml); } return false; } public function item($item_id = false) { if (method_exists($this->extension(), 'item')) { return $this->extension()->item($item_id); } return false; } public function items() { if (method_exists($this->extension(), 'items')) { return $this->extension()->items(); } return false; } /** * Load styles from extension */ public function styles() { if (method_exists($this->extension(), 'styles')) { return $this->extension()->styles(); } return false; } /** * Render Value via extension */ public function render($value, $type = false, $field = array()) { if (method_exists($this->extension(), 'render')) { return $this->extension()->render($value, $type, $field); } return false; } /** * Get available datasets */ public function datasets($item = false, $name = false) { if (method_exists($this->extension(), 'datasets')) { return $this->extension()->datasets($item, $name); } return false; } /** * Get current extension dataset */ public function dataset($dataset_id = false) { if (method_exists($this->extension(), 'dataset')) { return $this->extension()->dataset($dataset_id); } return false; } /** * List of available extensions */ public function extensions($load = true) { $list = array(); $extentions_path = $this->helper->get('plugin_dir') . 'classes/extension/*'; foreach (array_filter(glob($extentions_path), 'is_file') as $file) { $info = pathinfo($file); $file_name = basename($file, '.' . $info['extension']); $file_name = substr($file_name, 6); if ($load) { if ($this->load($file_name)) { $list = array_merge($list, $this->extension->info()); } } else { $list[] = $file_name; } } return $list; } /** * Delete item */ public function delete_item($template_id = false, $dataset_id = false) { if (method_exists($this->extension(), 'delete_item')) { return $this->extension()->delete_item($template_id, $dataset_id); } return false; } /** * Delete all items */ public function delete_items($template_id = false) { if (method_exists($this->extension(), 'delete_items')) { return $this->extension()->delete_items($template_id); } return false; } /** * Visual Mapper for Mapping field * * @return bool|string - Prepared form or false */ public function visual_mapper() { if (method_exists($this->extension(), 'visual_mapper')) { if (!extension_loaded('libxml')) { return __('libxml is required', 'e2pdf'); } if (!extension_loaded('Dom')) { return __('DOM is required', 'e2pdf'); } return $this->extension()->visual_mapper(); } return false; } public function auto_form($template, $data = array()) { if (method_exists($this->extension(), 'auto_form')) { return $this->extension()->auto_form($template, $data); } return $template; } /** * Convert Field name to Value * @since 0.01.34 * * @param string $name - Field name * * @return bool|string - Converted value or false */ public function auto_map($name = false) { if (method_exists($this->extension(), 'auto_map') && $name) { return $this->extension()->auto_map($name); } return false; } /** * Auto PDF generation */ public function auto() { if (method_exists($this->extension(), 'auto')) { return $this->extension()->auto(); } return false; } /** * Check if function exists inside extension */ public function method($attr = false) { if ($attr && method_exists($this->extension(), $attr)) { return true; } return false; } /** * Load actions from extension */ public function load_actions() { if (method_exists($this->extension(), 'load_actions')) { return $this->extension()->load_actions(); } return false; } /** * Load filters from extension */ public function load_filters() { if (method_exists($this->extension(), 'load_filters')) { return $this->extension()->load_filters(); } return false; } /** * Load shortcodes from extension */ public function load_shortcodes() { if (method_exists($this->extension(), 'load_shortcodes')) { return $this->extension()->load_shortcodes(); } return false; } }