File: /var/www/vhosts/uyarreklam.com.tr/httpdocs/ContactInformation.php.tar
httpdocs/wp-content/plugins/google-listings-and-ads/src/Notes/ContactInformation.php 0000644 00000004406 15155007131 0033221 0 ustar 00 var/www/vhosts/uyarreklam.com.tr <?php
declare( strict_types=1 );
namespace Automattic\WooCommerce\GoogleListingsAndAds\Notes;
use Automattic\WooCommerce\Admin\Notes\Note as NoteEntry;
use Automattic\WooCommerce\GoogleListingsAndAds\HelperTraits\Utilities;
use Automattic\WooCommerce\GoogleListingsAndAds\MerchantCenter\MerchantCenterAwareInterface;
use Automattic\WooCommerce\GoogleListingsAndAds\MerchantCenter\MerchantCenterAwareTrait;
use Automattic\WooCommerce\GoogleListingsAndAds\PluginHelper;
defined( 'ABSPATH' ) || exit;
/**
* Class ContactInformation
*
* @package Automattic\WooCommerce\GoogleListingsAndAds\Notes
*
* @since 1.4.0
*/
class ContactInformation extends AbstractNote implements MerchantCenterAwareInterface {
use MerchantCenterAwareTrait;
use PluginHelper;
use Utilities;
/**
* Get the note's unique name.
*
* @return string
*/
public function get_name(): string {
return 'gla-contact-information';
}
/**
* Get the note entry.
*/
public function get_entry(): NoteEntry {
$note = new NoteEntry();
$note->set_title( __( 'Please add your contact information', 'google-listings-and-ads' ) );
$note->set_content( __( 'Google requires the phone number and store address for all stores using Google Merchant Center. This is required to verify your store, and it will not be shown to customers. If you do not add your contact information, your listings may not appear on Google.', 'google-listings-and-ads' ) );
$note->set_content_data( (object) [] );
$note->set_type( NoteEntry::E_WC_ADMIN_NOTE_INFORMATIONAL );
$note->set_layout( 'plain' );
$note->set_image( '' );
$note->set_name( $this->get_name() );
$note->set_source( $this->get_slug() );
$note->add_action(
'contact-information',
__( 'Add contact information', 'google-listings-and-ads' ),
$this->get_settings_url()
);
return $note;
}
/**
* Checks if a note can and should be added.
*
* Checks if merchant center has been setup and contact information is valid.
* Send notification
*
* @return bool
*/
public function should_be_added(): bool {
if ( $this->has_been_added() ) {
return false;
}
if ( ! $this->merchant_center->is_connected() ) {
return false;
}
if ( $this->merchant_center->is_contact_information_setup() ) {
return false;
}
return true;
}
}
httpdocs/wp-content/plugins/google-listings-and-ads/src/MerchantCenter/ContactInformation.php 0000644 00000005416 15155017743 0035047 0 ustar 00 var/www/vhosts/uyarreklam.com.tr <?php
namespace Automattic\WooCommerce\GoogleListingsAndAds\MerchantCenter;
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\Merchant;
use Automattic\WooCommerce\GoogleListingsAndAds\API\Google\Settings;
use Automattic\WooCommerce\GoogleListingsAndAds\Exception\ExceptionWithResponseData;
use Automattic\WooCommerce\GoogleListingsAndAds\Infrastructure\Service;
use Automattic\WooCommerce\GoogleListingsAndAds\Vendor\Google\Service\ShoppingContent\AccountBusinessInformation;
/**
* Class ContactInformation.
*
* @since 1.4.0
*
* @package Automattic\WooCommerce\GoogleListingsAndAds\MerchantCenter
*/
class ContactInformation implements Service {
/**
* @var Merchant
*/
protected $merchant;
/**
* @var Settings
*/
protected $settings;
/**
* ContactInformation constructor.
*
* @param Merchant $merchant
* @param Settings $settings
*/
public function __construct( Merchant $merchant, Settings $settings ) {
$this->merchant = $merchant;
$this->settings = $settings;
}
/**
* Get the contact information for the connected Merchant Center account.
*
* @return AccountBusinessInformation|null The contact information associated with the Merchant Center account or
* null.
*
* @throws ExceptionWithResponseData If the Merchant Center account can't be retrieved.
*/
public function get_contact_information(): ?AccountBusinessInformation {
$business_information = $this->merchant->get_account()->getBusinessInformation();
return $business_information ?: null;
}
/**
* Update the address for the connected Merchant Center account to the store address set in WooCommerce
* settings.
*
* @return AccountBusinessInformation The contact information associated with the Merchant Center account.
*
* @throws ExceptionWithResponseData If the Merchant Center account can't be retrieved or updated.
*/
public function update_address_based_on_store_settings(): AccountBusinessInformation {
$business_information = $this->get_contact_information() ?: new AccountBusinessInformation();
$store_address = $this->settings->get_store_address();
$business_information->setAddress( $store_address );
$this->update_contact_information( $business_information );
return $business_information;
}
/**
* Update the contact information for the connected Merchant Center account.
*
* @param AccountBusinessInformation $business_information
*
* @throws ExceptionWithResponseData If the Merchant Center account can't be retrieved or updated.
*/
protected function update_contact_information( AccountBusinessInformation $business_information ): void {
$account = $this->merchant->get_account();
$account->setBusinessInformation( $business_information );
$this->merchant->update_account( $account );
}
}