_registry->get( 'model.settings' ); $calendar_page_id = $settings->get( 'calendar_page_id' ); if ( empty( $calendar_page_id ) ) { return false; } $localization = $this->_registry->get( 'p28n.wpml' ); $aco = $this->_registry->get( 'acl.aco' ); $page_ids_to_match = array( $calendar_page_id ) + $localization->get_translations_of_page( $calendar_page_id ); foreach ( $page_ids_to_match as $page_id ) { if ( is_page( $page_id ) ) { $this->_request->set_current_page( $page_id ); if ( ! post_password_required( $page_id ) ) { return true; } } } return false; } /* (non-PHPdoc) * @see Ai1ec_Command::set_render_strategy() */ public function set_render_strategy( Ai1ec_Request_Parser $request ) { try { $this->_request_type = $request->get( 'request_type' ); $this->_render_strategy = $this->_registry->get( 'http.response.render.strategy.' . $this->_request_type ); } catch ( Ai1ec_Bootstrap_Exception $e ) { $this->_request_type = 'html'; $this->_render_strategy = $this->_registry->get( 'http.response.render.strategy.' . $this->_request_type ); } } /* (non-PHPdoc) * @see Ai1ec_Command::do_execute() */ public function do_execute() { // get the calendar html $calendar = $this->_registry->get( 'view.calendar.page' ); $css = $this->_registry->get( 'css.frontend' ) ->add_link_to_html_for_frontend(); $js = $this->_registry->get( 'controller.javascript' ) ->load_frontend_js( true ); return array( 'data' => $calendar->get_content( $this->_request ), 'callback' => Ai1ec_Request_Parser::get_param( 'callback', null ), 'caller' => 'calendar', ); } }