• File: integrations-action.php
  • Full Path: /home/matthif/www/wp-content/plugins/wordpress-seo/src/actions/integrations-action.php
  • Date Modified: 02/24/2024 11:29 PM
  • File size: 1.24 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php

namespace Yoast\WP\SEO\Actions;

use 
Yoast\WP\SEO\Helpers\Options_Helper;

/**
 * Class Integrations_Action.
 */
class Integrations_Action {

    
/**
     * The Options_Helper instance.
     *
     * @var Options_Helper
     */
    
protected $options_helper;

    
/**
     * Integrations_Action constructor.
     *
     * @param Options_Helper $options_helper The WPSEO options helper.
     */
    
public function __constructOptions_Helper $options_helper ) {
        
$this->options_helper $options_helper;
    }

    
/**
     * Sets an integration state.
     *
     * @param string $integration_name The name of the integration to activate/deactivate.
     * @param bool   $value            The value to store.
     *
     * @return object The response object.
     */
    
public function set_integration_active$integration_name$value ) {
        
$option_name  $integration_name '_integration_active';
        
$success      true;
        
$option_value $this->options_helper->get$option_name );

        if ( 
$option_value !== $value ) {
            
$success $this->options_helper->set$option_name$value );
        }

        if ( 
$success ) {
            return (object) [
                
'success' => true,
                
'status'  => 200,
            ];
        }
        return (object) [
            
'success' => false,
            
'status'  => 500,
            
'error'   => 'Could not save the option in the database',
        ];
    }
}