Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.147.86.30
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/wavevlvu/misswavenigeria.com/wp-content/plugins/totalpoll-lite/src/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/wavevlvu/misswavenigeria.com/wp-content/plugins/totalpoll-lite/src/Bootstrap.php
<?php

namespace TotalPoll;

use TotalPoll\Contracts\Poll\Model;
use TotalPoll\Log\Export;
use TotalPollVendors\TotalCore\Helpers\Misc;

/**
 * Bootstrap TotalPoll.
 *
 * @package TotalPoll
 */
class Bootstrap {

	public function __construct() {
		// Define asynchronous loading state (enbaled | disabled)
		define( 'TP_ASYNC', (bool) TotalPoll()->option( 'performance.async.enabled' ) );

		// Process CPT related options (disabled archive for example).
		if ( ! is_admin() && TotalPoll()->option( 'advanced.disableArchive' ) ):
			add_action( 'pre_get_posts', [ $this, 'disableArchive' ] );
		endif;

		// Listen to flush rewrite rules requests
		add_action( 'totalpoll/actions/urls/flush', 'flush_rewrite_rules' );

		// Structured Data
		if ( TotalPoll()->option( 'general.structuredData.enabled' ) ):
			TotalPoll( 'decorators.structuredData' );
		endif;

		// Requests
		if ( isset( $_REQUEST['totalpoll']['action'] ) ):
			// Capture actions
			add_action( 'wp', [ $this, 'route' ], 11 );
			add_action( 'wp_ajax_totalpoll', [ $this, 'route' ] );
			add_action( 'wp_ajax_nopriv_totalpoll', [ $this, 'route' ] );
		endif;

		// Prepare posts and shortcodes
		add_action( 'wp', [ $this, 'preparePoll' ] );

		// Privacy
		TotalPoll( 'admin.privacy' );

		// Export
		add_action( Export::ACTION_NAME, [ Export::class, 'process' ] );

		/**
		 * Fires when TotalPoll complete the bootstrap phase.
		 *
		 * @since 4.0.0
		 * @order 4
		 */
		do_action( 'totalpoll/actions/bootstrap' );
	}

	/**
	 * Process requests.
	 *
	 * @since 1.0.0
	 */
	public function route() {
		TotalPoll( 'poll.controller' );

		$action = stripslashes( (string) $_REQUEST['totalpoll']['action'] );
		$method = strtolower( filter_input( INPUT_SERVER, 'REQUEST_METHOD' ) ?: filter_var( $_SERVER['REQUEST_METHOD'], FILTER_SANITIZE_STRING ) );
		/**
		 * Fires before processing a request.
		 *
		 * @param string $method HTTP method.
		 * @param string $action Action name.
		 *
		 * @since 4.0.0
		 */
		do_action( 'totalpoll/actions/before/request', $action, $method );
		/**
		 * Fires when TotalPoll receives a request.
		 *
		 * @param string $method HTTP method.
		 * @param string $action Action name.
		 *
		 * @since 4.0.0
		 */
		do_action( 'totalpoll/actions/request', $action, $method );
		/**
		 * Fires when TotalPoll receives a request (specific HTTP method and action name).
		 *
		 * @param string $method HTTP method.
		 * @param string $action Action name.
		 *
		 * @since 4.0.0
		 */
		do_action( "totalpoll/actions/request/{$method}/{$action}", $action, $method );
		/**
		 * Fires when TotalPoll receives a request (specific action name).
		 *
		 * @param string $method HTTP method.
		 * @param string $action Action name.
		 *
		 * @since 4.0.0
		 */
		do_action( "totalpoll/actions/request/{$action}", $action, $method );
		/**
		 * Fires after processing a request.
		 *
		 * @param string $method HTTP method.
		 * @param string $action Action name.
		 *
		 * @since 4.0.0
		 */
		do_action( 'totalpoll/actions/after/request', $action, $method );

		if ( Misc::isDoingAjax() ):
			/**
			 * Fires when TotalPoll receives an AJAX request.
			 *
			 * @param string $method HTTP method.
			 * @param string $action Action name.
			 *
			 * @since 4.0.0
			 */
			do_action( 'totalpoll/actions/ajax-request', $action, $method );

			/**
			 * Fires when TotalPoll receives an AJAX request (specific HTTP method and action name).
			 *
			 * @param string $method HTTP method.
			 * @param string $action Action name.
			 *
			 * @since 4.0.0
			 */
			do_action( "totalpoll/actions/ajax-request/{$method}/{$action}", $action, $method );

			/**
			 * Fires when TotalPoll receives an AJAX request (specific action name).
			 *
			 * @param string $method HTTP method.
			 * @param string $action Action name.
			 *
			 * @since 4.0.0
			 */
			do_action( "totalpoll/actions/ajax-request/{$action}", $action, $method );
		endif;
	}

	/**
	 * @param \WP_Query $query
	 *
	 * @return mixed
	 */
	public function disableArchive( $query ) {
		if ( $query->is_main_query() && $query->is_post_type_archive( TP_POLL_CPT_NAME ) ) :
			$query->set_404();
			remove_action( 'pre_get_posts', [ $this, 'disableArchive' ] );
		endif;
	}

	/**
	 * Prepare poll.
	 * @since 1.0.0
	 */
	public function preparePoll() {
		// Check whether is an archive page, search or singular.
		if ( is_single() || is_archive() || is_search() ):
			// Get current post type.
			$currentPostType = get_post_type();

			// Check current post type is poll
			if ( $currentPostType === TP_POLL_CPT_NAME ):
				$callback = [ $this, defined( 'TP_ASYNC' ) && TP_ASYNC ? 'pollPostAsync' : 'pollPost' ];
				// Hide content when is archive, otherwise call the appropriate callback.
				if ( ( is_archive() || is_search() ) && ! TotalPoll()->option( 'advanced.renderPollsInArchive' ) ):
					$callback = function () {
						return $GLOBALS['post']->post_excerpt;
					};
				endif;

				// Content
				add_filter( 'the_content', $callback, 99 );
				// Meta tags
				add_action( 'wp_head', [ $this, 'pollHeadSection' ], 0 );
				// Title
				add_filter( 'wp_title', [ $this, 'pollTitle' ], 0 );

				// We need to take care of the output when It's embedded
				if ( function_exists( 'is_embed' ) && is_embed() ):
					add_action( 'embed_content', function () use ( $callback ) {
						echo $callback( '' );
					}, 99 );
					remove_all_filters( 'get_the_excerpt' );
					add_filter( 'the_excerpt_embed', '__return_empty_string' );
					add_filter( 'embed_site_title_html', '__return_empty_string' );
					remove_all_actions( 'embed_content_meta' );
				endif;
			endif;
		endif;
	}

	/**
	 * Prepare poll post.
	 *
	 * @param $content Content
	 *
	 * @return mixed
	 * @since 1.0.0
	 */
	public function pollPost( $content ) {
		$poll = TotalPoll( 'polls.repository' )->getById( $GLOBALS['post']->ID );

		return $poll ? $poll->render() : $content;
	}

	/**
	 * Prepare poll post for async loading.
	 *
	 * @param $content
	 *
	 * @return string
	 */
	public function pollPostAsync( $content ) {
		return $this->pollPost( '' );
	}

	/**
	 * Poll title.
	 *
	 * @param $title
	 *
	 * @return string
	 */
	public function pollTitle( $title ) {
		$poll = TotalPoll( 'polls.repository' )->getById( $GLOBALS['post']->ID );
		if ( $poll ):
			$seo   = $poll->getSeoAttributes();
			$title = $seo['title'];
		endif;

		return $title;
	}

	/**
	 * Poll head section.
	 */
	public function pollHeadSection() {
		$poll = TotalPoll( 'polls.repository' )->getById( $GLOBALS['post']->ID );

		if ( $poll ):
			$seo = $poll->getSeoAttributes();
			$this->printMetaTags( $seo['title'], $seo['description'], $poll->getThumbnail() );
		endif;
		/**
		 * Fires after printing poll meta tags.
		 *
		 * @param Model $poll Poll object.
		 *
		 * @since 4.0.0
		 */
		do_action( 'totalpoll/actions/poll/after/head', $poll );
	}

	/**
	 * Print meta tags.
	 *
	 * @param      $title
	 * @param      $description
	 * @param null $image
	 */
	protected function printMetaTags( $title, $description, $image = null ) {
		if ( $title ):
			printf( '<meta property="og:title" content="%s" />' . PHP_EOL, esc_attr( $title ) );
		endif;

		if ( $description ):
			printf( '<meta property="og:description" content="%s" />' . PHP_EOL, esc_attr( $description ) );
			printf( '<meta property="description" content="%s" />' . PHP_EOL, esc_attr( $description ) );
		endif;

		if ( $image ):
			printf( '<meta property="og:image" content="%s" />' . PHP_EOL, esc_attr( $image ) );
		endif;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit