Add_Instagram_Integration
Adds Integration to Automator.
Source Source
File: src/integrations/instagram/add-instagram-integration.php
class Add_Instagram_Integration { /** * Integration Identifier * * @var string * @since 2.4.0 */ public static $integration = 'INSTAGRAM'; /** * Connected status * * @var bool */ public $connected = false; /** * Constructs the class. * * @since 2.4.0 */ public function __construct() { } /** * Registers Integration. * * @since 2.4.0 */ public function add_integration_func() { $ig_account_connected_count = $this->get_total_ig_accounts_connected(); if ( $ig_account_connected_count >= 1 ) { $this->connected = true; } // Set up integration configuration. $integration_config = array( 'name' => 'Instagram', 'icon_svg' => Utilities::automator_get_integration_icon( __DIR__ . '/img/instagram-icon.svg' ), 'connected' => $this->connected, 'settings_url' => admin_url( 'edit.php' ) . '?post_type=uo-recipe&page=uncanny-automator-settings&tab=instagram_api', ); // Register the integration into Automator. Automator()->register->integration( self::$integration, $integration_config ); } /** * Set the directories that the auto loader will run in. * * @param $directory * * @return array */ public function add_integration_directory_func( $directory ) { $directory[] = dirname( __FILE__ ) . '/helpers'; $directory[] = dirname( __FILE__ ) . '/actions'; return $directory; } /** * This integration doesn't require any third-party plugins too be active, so the following function will always * return true. * * @param $status * @param $code * * @return bool */ public function plugin_active( $status, $code ) { return true; } /** * Check if there pages contains an instagram account. * * @return integer The total number of instagram account connected. */ public function get_total_ig_accounts_connected() { $options_facebook_pages = get_option( '_uncannyowl_facebook_pages_settings', array() ); $total = 0; foreach ( $options_facebook_pages as $page ) { $ig_account = $page['ig_account']->data ?? ''; if ( ! empty( $ig_account ) ) { $total ++; } } return $total; } }
Expand full source code Collapse full source code View on Github
Methods Methods
- __construct — Constructs the class.
- add_integration_directory_func — Set the directories that the auto loader will run in.
- add_integration_func — Registers Integration.
- get_total_ig_accounts_connected — Check if pages contains an instagram account.
- plugin_active — This integration doesn't require any third-party plugins too be active, so the following function will always return true.
Changelog Changelog
Version | Description |
---|---|
2.4.0 | Introduced. |