active() && in_array($name, $extensions)) { $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 exist($name) { $class = 'Extension_E2pdf_' . ucfirst($name); if (class_exists($class)) { return true; } return false; } public function download($extensions = array()) { if ($extensions && is_array($extensions) && !empty($extensions)) { $model_e2pdf_api = new Model_E2pdf_Api(); $model_e2pdf_api->set(array( 'action' => 'update/extensions', 'data' => array( 'version' => $this->helper->get('version'), 'extensions' => $extensions ) )); $request = $model_e2pdf_api->request(); if (isset($request['extensions']) && is_array($request['extensions'])) { $extentions_path = $this->helper->get('plugin_dir') . 'classes/extension/'; foreach ($request['extensions'] as $extension) { if ($extension['filename'] && $extension['file']) { if (!file_exists($extentions_path . $extension['filename'])) { file_put_contents($extentions_path . $extension['filename'], base64_decode($extension['file'])); } } } return true; } } 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() { if (method_exists($this->extension(), 'import')) { return $this->extension()->import(); } return false; } public function export() { if (method_exists($this->extension(), 'export')) { return $this->extension()->export(); } return false; } public function backup() { if (method_exists($this->extension(), 'backup')) { return $this->extension()->backup(); } return false; } public function get_item($item_id = false) { if (method_exists($this->extension(), 'get_item')) { return $this->extension()->get_item($item_id); } return false; } public function get_items() { if (method_exists($this->extension(), 'get_items')) { return $this->extension()->get_items(); } return false; } public function get_styles() { if (method_exists($this->extension(), 'get_styles')) { return $this->extension()->get_styles(); } return false; } public function render($value, $type = false, $field = array()) { if (method_exists($this->extension(), 'render')) { return $this->extension()->render($value, $type, $field); } return false; } public function get_datasets($item = false, $name = false) { if (method_exists($this->extension(), 'get_datasets')) { return $this->extension()->get_datasets($item, $name); } return false; } public function get_dataset($dataset_id = false) { if (method_exists($this->extension(), 'get_dataset')) { return $this->extension()->get_dataset($dataset_id); } return false; } public function get_extensions_list() { $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 ($this->load($file_name)) { $list = array_merge($list, $this->extension->info()); } } return $list; } 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; } 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')) { return $this->extension()->visual_mapper(); } return false; } /** * 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; } public function auto() { if (method_exists($this->extension(), 'auto')) { return $this->extension()->auto(); } return false; } public function load_actions() { if (method_exists($this->extension(), 'load_actions')) { return $this->extension()->load_actions(); } return false; } public function load_filters() { if (method_exists($this->extension(), 'load_filters')) { return $this->extension()->load_filters(); } return false; } public function load_shortcodes() { if (method_exists($this->extension(), 'load_shortcodes')) { return $this->extension()->load_shortcodes(); } return false; } }