<?php class OptionsViewWpf extends ViewWpf { private $_news = array(); public function getNewFeatures() { $res = array(); $readmePath = WPF_DIR . 'readme.txt'; if (file_exists($readmePath)) { $readmeContent = @file_get_contents($readmePath); if (!empty($readmeContent)) { $matchedData = ''; if (preg_match('/= ' . WPF_VERSION . ' =(.+)=.+=/isU', $readmeContent, $matches)) { $matchedData = $matches[1]; } elseif (preg_match('/= ' . WPF_VERSION . ' =(.+)/is', $readmeContent, $matches)) { $matchedData = $matches[1]; } $matchedData = trim($matchedData); if (!empty($matchedData)) { $res = array_map('trim', explode("\n", $matchedData)); } } } return $res; } public function getAdminPage() { $tabs = $this->getModule()->getTabs(); $activeTab = $this->getModule()->getActiveTab(); $content = 'No tab content found - ERROR'; if (isset($tabs[ $activeTab ]) && isset($tabs[ $activeTab ]['callback'])) { $content = call_user_func($tabs[ $activeTab ]['callback']); } $activeParentTabs = array(); foreach ($tabs as $tabKey => $tab) { if ($tabKey == $activeTab && isset($tab['child_of'])) { $activeTab = $tab['child_of']; } } FrameWpf::_()->addJSVar('adminOptionsWpf', 'wpfActiveTab', $activeTab); $this->assign('tabs', $tabs); $this->assign('activeTab', $activeTab); $this->assign('content', $content); $this->assign('mainUrl', $this->getModule()->getTabUrl()); $this->assign('activeParentTabs', $activeParentTabs); $this->assign('breadcrumbs', FrameWpf::_()->getModule('admin_nav')->getView()->getBreadcrumbs()); $this->assign('mainLink', FrameWpf::_()->getModule('promo')->getMainLink()); FrameWpf::_()->addScript('adminCreateTableWpf', FrameWpf::_()->getModule('woofilters')->getModPath() . 'js/create-filter.js', array(), false, true); FrameWpf::_()->addJSVar('adminCreateTableWpf', 'url', admin_url('admin-ajax.php')); FrameWpf::_()->addJSVar('adminCreateTableWpf', 'wpfNonce', wp_create_nonce('wpf-save-nonce')); parent::display('optionsAdminPage'); } public function sortOptsSet( $a, $b ) { if ($a['weight'] > $b['weight']) { return -1; } if ($a['weight'] < $b['weight']) { return 1; } return 0; } public function getTabContent() { FrameWpf::_()->addScript('admin.mainoptions', $this->getModule()->getModPath() . 'js/admin.mainoptions.js'); return parent::getContent('optionsAdminMain'); } public function serverSettings() { global $wpdb; $this->assign('systemInfo', array( 'Operating System' => array('value' => PHP_OS), 'PHP Version' => array('value' => PHP_VERSION), 'Server Software' => array('value' => ( empty($_SERVER['SERVER_SOFTWARE']) ? '' : sanitize_text_field($_SERVER['SERVER_SOFTWARE']) )), 'MySQL' => array('value' => $wpdb->db_version()), 'PHP Allow URL Fopen' => array('value' => ini_get('allow_url_fopen') ? 'Yes' : 'No'), 'PHP Memory Limit' => array('value' => ini_get('memory_limit')), 'PHP Max Post Size' => array('value' => ini_get('post_max_size')), 'PHP Max Upload Filesize' => array('value' => ini_get('upload_max_filesize')), 'PHP Max Script Execute Time' => array('value' => ini_get('max_execution_time')), 'PHP EXIF Support' => array('value' => extension_loaded('exif') ? 'Yes' : 'No'), 'PHP EXIF Version' => array('value' => phpversion('exif')), 'PHP XML Support' => array('value' => extension_loaded('libxml') ? 'Yes' : 'No', 'error' => !extension_loaded('libxml')), 'PHP CURL Support' => array('value' => extension_loaded('curl') ? 'Yes' : 'No', 'error' => !extension_loaded('curl')), )); return parent::display('_serverSettings'); } public function getSettingsTabContent() { FrameWpf::_()->addScript('admin.settings', $this->getModule()->getModPath() . 'js/admin.settings.js'); FrameWpf::_()->addStyle('admin.settings.css', $this->getModule()->getModPath() . 'css/admin.settings.css'); FrameWpf::_()->getModule('templates')->loadJqueryUi(); FrameWpf::_()->addScript('notify-js', WPF_JS_PATH . 'notify.js', array(), false, true); if (FrameWpf::_()->isPro()) { FrameWpf::_()->addJSVar('wp-color-picker', 'wpColorPickerL10n', array()); FrameWpf::_()->addScript('admin.wp.colorpicker.alhpa.js', WPF_JS_PATH . 'admin.wp.colorpicker.alpha.js'); FrameWpf::_()->addStyle('loaders', FrameWpf::_()->getModule('woofilters')->getModPath() . 'css/loaders.css'); } $options = FrameWpf::_()->getModule('options')->getAll(); $this->assign('options', $options); $this->assign('exportAllSubscribersUrl', UriWpf::mod('subscribe', 'getWpCsvList')); return parent::getContent('optionsSettingsTabContent'); } }