wp_back/wp-content/plugins/easy-table-of-contents/includes/helper-function.php
2024-05-20 15:37:46 +03:00

143 lines
3.9 KiB
PHP

<?php
/**
* Helper Functions
*
* @package saswp
* @subpackage Helper/Templates
* @copyright Copyright (c) 2016, René Hermenau
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
* @since 1.4.0
*/
// Exit if accessed directly
if( !defined( 'ABSPATH' ) )
exit;
/**
* Helper method to check if user is in the plugins page.
*
* @author René Hermenau
* @since 1.4.0
*
* @return bool
*/
/**
* display deactivation logic on plugins page
*
* @since 1.4.0
*/
function eztoc_is_plugins_page() {
if(function_exists('get_current_screen')){
$screen = get_current_screen();
if(is_object($screen)){
if($screen->id == 'plugins' || $screen->id == 'plugins-network'){
return true;
}
}
}
return false;
}
add_filter('admin_footer', 'eztoc_add_deactivation_feedback_modal');
function eztoc_add_deactivation_feedback_modal() {
if( !is_admin() && !eztoc_is_plugins_page()) {
return;
}
require_once EZ_TOC_PATH ."/includes/deactivate-feedback.php";
}
/**
* send feedback via email
*
* @since 1.4.0
*/
function eztoc_send_feedback() {
if( isset( $_POST['data'] ) ) {
parse_str( $_POST['data'], $form );
}
if( !isset( $form['eztoc_security_nonce'] ) || isset( $form['eztoc_security_nonce'] ) && !wp_verify_nonce( sanitize_text_field( $form['eztoc_security_nonce'] ), 'eztoc_ajax_check_nonce' ) ) {
echo 'security_nonce_not_verified';
die();
}
if ( !current_user_can( 'manage_options' ) ) {
die();
}
$text = '';
if( isset( $form['eztoc_disable_text'] ) ) {
$text = implode( "\n\r", $form['eztoc_disable_text'] );
}
$headers = array();
$from = isset( $form['eztoc_disable_from'] ) ? $form['eztoc_disable_from'] : '';
if( $from ) {
$headers[] = "From: $from";
$headers[] = "Reply-To: $from";
}
$subject = isset( $form['eztoc_disable_reason'] ) ? $form['eztoc_disable_reason'] : '(no reason given)';
if($subject == 'technical issue'){
$text = trim($text);
if(!empty($text)){
$text = 'technical issue description: '.$text;
}else{
$text = 'no description: '.$text;
}
}
$success = wp_mail( 'team@magazine3.in', $subject, $text, $headers );
echo 'sent';
die();
}
add_action( 'wp_ajax_eztoc_send_feedback', 'eztoc_send_feedback' );
function eztoc_enqueue_makebetter_email_js(){
if( !is_admin() && !eztoc_is_plugins_page()) {
return;
}
wp_enqueue_script( 'eztoc-make-better-js', EZ_TOC_URL . 'includes/feedback.js', array( 'jquery' ));
wp_enqueue_style( 'eztoc-make-better-css', EZ_TOC_URL . 'includes/feedback.css', false );
}
add_action( 'admin_enqueue_scripts', 'eztoc_enqueue_makebetter_email_js' );
add_action('wp_ajax_eztoc_subscribe_newsletter','eztoc_subscribe_for_newsletter');
function eztoc_subscribe_for_newsletter(){
if( !wp_verify_nonce( sanitize_text_field( $_POST['eztoc_security_nonce'] ), 'eztoc_ajax_check_nonce' ) ) {
echo 'security_nonce_not_verified';
die();
}
if ( !current_user_can( 'manage_options' ) ) {
die();
}
$api_url = 'http://magazine3.company/wp-json/api/central/email/subscribe';
$api_params = array(
'name' => sanitize_text_field($_POST['name']),
'email'=> sanitize_email($_POST['email']),
'website'=> sanitize_text_field($_POST['website']),
'type'=> 'etoc'
);
$response = wp_remote_post( $api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
$response = wp_remote_retrieve_body( $response );
echo $response;
die;
}