all-in-one-event-calendar/app/view/admin/add-ons.php
2017-11-09 17:36:04 +01:00

97 lines
2.8 KiB
PHP

<?php
/**
* The Calendar Add-ons page.
*
* @author Time.ly Network Inc.
* @since 2.1
*
* @package AI1EC
* @subpackage AI1EC.View
*/
class Ai1ec_View_Add_Ons extends Ai1ec_View_Admin_Abstract {
/**
* Adds page to the menu.
*
* @wp_hook admin_menu
*
* @return void
*/
public function add_page() {
// =======================
// = Calendar Add Ons Page =
// =======================
add_submenu_page(
AI1EC_ADMIN_BASE_URL,
Ai1ec_I18n::__( 'Add-ons' ),
Ai1ec_I18n::__( 'Add-ons' ),
'manage_ai1ec_feeds',
AI1EC_PLUGIN_NAME . '-add-ons',
array( $this, 'display_page' )
);
}
/**
* Display Add Ons list page.
*
* @return void
*/
public function display_page() {
wp_enqueue_style(
'ai1ec_addons.css',
AI1EC_ADMIN_THEME_CSS_URL . 'addons.css',
array(),
AI1EC_VERSION
);
$content = get_site_transient( 'ai1ec_timely_addons' );
$is_error = false;
if (
false === $content ||
(
defined( 'AI1EC_DEBUG' ) &&
AI1EC_DEBUG
)
) {
$is_error = true;
$feed = wp_remote_get( AI1EC_TIMELY_ADDONS_URI );
if ( ! is_wp_error( $feed ) ) {
$content = json_decode( wp_remote_retrieve_body( $feed ) );
if ( null !== $content ) {
set_site_transient( 'ai1ec_timely_addons', $content, 3600 );
$is_error = false;
}
}
}
$this->_registry->get( 'theme.loader' )->get_file(
'add-ons-list/page.twig',
array(
'labels' => array(
'title' => Ai1ec_I18n::__(
'Add-ons for All In One Event Calendar'
),
'button_title' => Ai1ec_I18n::__(
'Browse All Add-ons'
),
'paragraph_content' => Ai1ec_I18n::__(
'These add-ons extend the functionality of the All-in-One Event Calendar.'
),
'error' => Ai1ec_I18n::__(
'There was an error retrieving the extensions list from the server. Please try again later.'
),
),
'content' => $content,
'is_error' => $is_error,
),
true
)->render();
}
public function add_meta_box() {
}
public function display_meta_box( $object, $box ) {
}
public function handle_post() {
}
}