settings(); foreach($settings as $setting => $meta) { /** * @var $label * @var $description * @var $section * @var $type */ extract($meta); w3tc_add_settings_field($setting, $label, array($this, 'print_setting'), 'feedburner', $section, array('label_for'=>$setting, 'type'=>$type, 'description' => $description)); } } /** * Display if caching or not. */ function extension_header() { $config = w3_instance('W3_Config'); echo '

'; printf(__('The FeedBurner extension is currently %s ', 'w3-total-cache'), '' . __('enabled', 'w3-total-cache') . ''); echo '.

'; } /** * * @param $setting * @param $args */ function print_setting($setting, $args) { w3_require_once(W3TC_INC_FUNCTIONS_DIR . '/extensions.php'); list($name, $id) = w3tc_get_name_and_id('feedburner', $setting); w3_ui_element($args['type'], $setting, $name, w3tc_get_extension_config('feedburner', $setting), w3_extension_is_sealed('feedburner')); } /** * @param $extensions * @param W3_Config $config * @return mixed */ function extension($extensions, $config) { $message = array(); $message[] = 'FeedBurner'; $extensions['feedburner'] = array ( 'name' => 'FeedBurner', 'author' => 'W3 EDGE', 'description' => sprintf(__('Automatically ping (purge) FeedBurner feeds when pages / posts are modified. Default URL: %s', 'w3-total-cache'), !is_network_admin() ? home_url() : __('Network Admin has no main URL.', 'w3-total-cache')), 'author uri' => 'http://www.w3-edge.com/', 'extension uri' => 'http://www.w3-edge.com/', 'extension id' => 'feedburner', 'version' => '0.1', 'enabled' => true, 'requirements' => implode(', ', $message), 'path' => 'w3-total-cache/extensions/FeedBurner.php' ); return $extensions; } /** * @return array */ function settings() { return array( 'urls' => array( 'type' => 'textarea', 'section' => 'ping', 'label' => __('Additional URLs:', 'w3-total-cache'), 'description' => __('Specify any additional feed URLs to ping on FeedBurner.', 'w3-total-cache') ), ); } } $ext = new W3_FeedBurnerAdmin(); $ext->run();