File: /home/dmstechonline/social.dmstech.online/classes/Social/gmbConfig.php
<?php
/* Check the absolute path to the Social Auto Poster directory. */
if ( !defined( 'SAP_APP_PATH' ) ) {
// If SAP_APP_PATH constant is not defined, perform some action, show an error, or exit the script
// Or exit the script if required
exit();
}
require_once( LIB_PATH . 'Social/gmb/vendor/autoload.php' );
/**
* Google Business Posting
*
* Handles all the functions to post on google business
*
* @package Social auto poster
* @since 1.0.0
*/
class SAP_Gmb {
private $db, $common, $flash, $twitter, $settings, $posts, $logs, $quick_posts, $sap_common, $mybusiness;
public function __construct($user_id='') {
global $sap_common,$sap_db_connect;
//Check Settings class not exit then call class
if (!class_exists('SAP_Settings')) {
include_once( CLASS_PATH . 'Settings.php' );
}
//Check Settings class not exit then call class
if (!class_exists('SAP_Posts')) {
include_once( CLASS_PATH . 'Posts.php' );
}
if (!class_exists('SAP_Quick_Posts')) {
require_once( CLASS_PATH . 'Quick_Posts.php' );
}
//Set Database
$this->db = $sap_db_connect;
$this->settings = new SAP_Settings();
$this->flash = new Flash();
$this->posts = new SAP_Posts();
$this->common = new Common();
$this->logs = new SAP_Logs();
$this->quick_posts = new SAP_Quick_Posts();
$this->sap_common = $sap_common;
$param = array(
'client_id' => SAP_NEW_GMB_CLIENT_ID,
'client_secret' => SAP_NEW_GMB_CLIENT_SECRET,
'redirect_uri' => SAP_NEW_GMB_REDIRECT_URL,
'scope' => SAP_NEW_GMB_SCOPE
);
$myBusiness = new Google_my_business($param);
$this->mybusiness = $myBusiness;
$this->sap_auto_poster_gmb_initialize($user_id);
}
/**
* Assign Google My Business User's all Data to session
*
* Handles to assign user's google my business data
* to session & save to database
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_auto_poster_gmb_initialize($user_id='') {
$sap_auto_poster_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data', $user_id);
$user_accounts = array();
$gmb_sess_data = array();
if (isset($_GET['code']) && $_GET['wpw_auto_poster_gmb_verification'] == 'true') {
//record logs for grant extended permission
$this->sap_common->sap_script_logs('Google My Business Grant Extended Permission', $user_id);
//record logs for get parameters set properly
$this->sap_common->sap_script_logs('Get Parameters Set Properly.', $user_id);
$access_token = $this->mybusiness->get_access_token($_GET['code']);
$refresh_token = $access_token['refresh_token'];
if (!empty($access_token)) {
$access_token = $this->mybusiness->get_exchange_token($access_token['refresh_token']);
if ($access_token['access_token'] != '') {
$accounts = $this->mybusiness->get_accounts($access_token['access_token']);
if (isset($accounts['accounts']) && count($accounts['accounts']) > 0) {
$accountID = explode("/", $accounts['accounts'][0]['name']);
$user_accounts['auth_accounts'][$accountID[1]] = $accounts['accounts'][0]['name'];
$user_accounts['details'][$accountID[1]] = array(
'name' => $accounts['accounts'][0]['name'],
'display_name' => $accounts['accounts'][0]['accountName'],
'accountid' => $accountID[1],
'refresh_token' => $refresh_token,
'driver' => 'gmb',
'account_name' => $accounts['accounts'][0]['accountName'],
//'profile_picture' => $accounts['accounts'][0]['profilePhotoUrl'],
);
$locations = $this->mybusiness->get_locations($accounts['accounts'][0]['name'], $access_token['access_token']);
$location_verified_status = false;
if (!empty($locations)) {
foreach ($locations['locations'] as $key => $value) {
if (isset($value['metadata']['hasVoiceOfMerchant']) && $value['metadata']['hasVoiceOfMerchant'] == '1' ) {
$locationID = explode("/", $value['name']);
$user_accounts[$accountID[1]][] = array(
'id' => $locationID[1],
'name' => $value['title'],
'category' => $value['primaryCategory']['displayName'],
'refresh_token' => $refresh_token,
'locationname' => $value['name'],
);
$location_verified_status = true;
}
}
if (!$location_verified_status) {
$redirect_url = SAP_SITE_URL . '/settings/?wpw_auto_poster_gmb_verification=false';
$_SESSION['sap_active_tab'] = 'google-business';
header("Location: " . $redirect_url);
exit;
}
}
$gmb_sess_data[$accountID[1]] = array(
'sap_gmb_user_id' => $accountID[1],
'sap_gmb_user_accounts' => $user_accounts,
);
if (!empty($sap_auto_poster_gmb_sess_data)) {
$gmb_sess_data = array_merge($sap_auto_poster_gmb_sess_data, $gmb_sess_data);
} else {
$gmb_sess_data = $gmb_sess_data;
}
$this->settings->update_user_setting('sap_google_business_sess_data', $gmb_sess_data);
$this->sap_common->sap_script_logs('Google My Business Session Data Updated to Options', $user_id);
$redirect_url = SAP_SITE_URL . '/settings/?gmb_verification=true';
$_SESSION['sap_active_tab'] = 'google-business';
header("Location: " . $redirect_url);
}
}
} else {
return false;
}
} else {
return false;
}
}
/**
* Google My Business
*
* Check Users for Google My Business
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_get_gmb_app_method_login_url() {
$state = SAP_SITE_URL . '/settings/';
return $this->mybusiness->gmb_login($state);
}
/**
* Google My Business
*
* Handles logic to Reset session of specific user
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_gmb_reset_user_session() {
$sap_gmb_app_id = $_GET['sap_gmb_userid'];
$sap_auto_poster_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data');
// Unset particular app value data and update the option
if (isset($sap_auto_poster_gmb_sess_data[$sap_gmb_app_id])) {
unset($sap_auto_poster_gmb_sess_data[$sap_gmb_app_id]);
$this->settings->update_user_setting('sap_google_business_sess_data', $sap_auto_poster_gmb_sess_data);
$this->sap_common->sap_script_logs('Google My Business ' . $sap_gmb_app_id . ' Account Reset Successfully.', $user_id);
}
$_SESSION['sap_active_tab'] = 'google-business';
$this->common->redirect('settings');
}
/**
* Google My Business
*
* Get Locations based on user accounts
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_add_gmb_locations($user_id='') {
// Taking some defaults
$res_data = array();
$sap_auto_poster_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data',$user_id);
if (is_array($sap_auto_poster_gmb_sess_data) && !empty($sap_auto_poster_gmb_sess_data)) {
foreach ($sap_auto_poster_gmb_sess_data as $gmb_sess_key => $gmb_sess_data) {
if (!empty($gmb_sess_data['sap_gmb_user_accounts'][$gmb_sess_key])) {
foreach ($gmb_sess_data['sap_gmb_user_accounts'][$gmb_sess_key] as $locations) {
$locationname = isset($locations['locationname']) ? $locations['locationname'] : '';
$accountid = isset($locations['id']) ? $locations['id'] : '';
$accountname = isset($locations['name']) ? $locations['name'] : '';
$res_data[$locationname."/".$gmb_sess_key] = $accountid . ' | ' . $accountname;
}
}
}
}
return $res_data;
}
/**
* Google My Business
*
* Get user accounts of GMB
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_get_gmb_accounts($user_id='') {
// Taking some defaults
$res_data = array();
$sap_auto_poster_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data',$user_id);
if (is_array($sap_auto_poster_gmb_sess_data) && !empty($sap_auto_poster_gmb_sess_data)) {
foreach ($sap_auto_poster_gmb_sess_data as $gmb_key => $gmb_sess_data) {
if ($gmb_key == $gmb_sess_data['sap_gmb_user_id']) {
$res_data[$gmb_key] = $gmb_sess_data['sap_gmb_user_accounts']['details'][$gmb_key];
}
}
}
return $res_data;
}
/**
* Google My Business
*
* Handles posts to send on GMB
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_send_post_to_gmb($post_id) {
$postflg = false;
$post = $this->posts->get_post($post_id, true);
$user_id = isset( $post->user_id ) ? $post->user_id : '';
$sap_gmb_options = $this->settings->get_user_setting('sap_google_business_options', $user_id);
$sap_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data', $user_id);
// General setting
$sap_general_options = $this->settings->get_user_setting('sap_general_options',$user_id);
$link_timestamp = isset($sap_general_options['timestamp_link']) ? "?".time() : '';
$posting_log = array();
$gmb_user_locations = array();
if ( !empty($sap_gmb_sess_data) ) {
//Code for assigning locations - if empty it will consider locations from General settings
$post_gmb_locations = $this->posts->get_post_meta($post_id, '_sap_gmb_post_accounts');
$post_gmb_button_type = $this->posts->get_post_meta($post_id, '_sap_gmb_post_button_type');
$sap_post_link = $this->posts->get_post_meta($post_id, 'sap_gmb_custom_link');
$sap_custom_post_link = $this->posts->get_post_meta($post_id, '_sap_gmb_post_link');
if (!empty($post_gmb_locations) && is_array($post_gmb_locations)) {
$gmb_user_locations = $post_gmb_locations;
} else {
if (!empty($sap_gmb_options['google_business_post_users']) && !empty($sap_gmb_options['google_business_post_users'])) {
$gmb_user_locations = $sap_gmb_options['google_business_post_users'];
}
}
//Check Accounts exist
if (empty($gmb_user_locations)) {
$this->flash->setFlash('Google My Business location is not selected.', 'error' ,'',true);
$this->sap_common->sap_script_logs('Google My Business location is not selected.', $user_id);
return false;
}
/* Code for checking the button type - from the main settings */
$link_button_text = '';
if (!empty($post_gmb_button_type)) {
$link_button_text = $post_gmb_button_type;
} else {
if (!empty($sap_gmb_options['google_business_button_type'])) {
$link_button_text = $sap_gmb_options['google_business_button_type'];
}
}
//Code for populating content - conditionally
$post_title = $this->posts->get_post_meta($post_id, '_sap_gmb_post_msg');
$post_img = $this->posts->get_post_meta($post_id, '_sap_gmb_post_image');
$title = !empty($post_title) ? html_entity_decode(strip_tags($post_title),ENT_QUOTES) : html_entity_decode(strip_tags($post->body),ENT_QUOTES);
$postlink = !empty($post->share_link) ? $post->share_link : $sap_custom_post_link;
if(!empty($postlink)) {
$postlink = $postlink."".$link_timestamp;
}
$postimage = !empty($post_img) ? $post_img : $post->img;
$customlink = !empty($postlink) ? 'true' : 'false';
$postlink = $this->common->sap_script_short_post_link($postlink, $customlink, 'gmb', 'google_business', $user_id);
if (empty($post_img) && empty($post->img)) {
if (!empty($sap_gmb_options['gmb_image'])) {
$postimage = $sap_gmb_options['gmb_image'];
}
} else {
$postimage = !empty($post_img) ? $post_img : $post->img;
}
if (empty($postlink) && $link_button_text != 'CALL') {
$this->flash->setFlash('Google My Business : link is requires for posting.', 'error' ,'',true);
$this->sap_common->sap_script_logs('Google My Business : link is requires for posting.', $user_id);
return false;
}
if (empty($postimage)) {
$this->flash->setFlash('Google My Business : Image for posting is not selected.', 'error','',true);
$this->sap_common->sap_script_logs('Google My Business : Image for posting is not selected.', $user_id);
return false;
}
// GMB limit 1500 character per post
if (!empty($title))
$title = $this->posts->sap_limit_character($title, 1500);
$content = array(
'title' => $title,
'submitted-url' => $postlink,
'submitted-image-url' => SAP_IMG_URL . $postimage,
);
//initial value of posting flag
try {
if (!empty($gmb_user_locations)) {
foreach ($gmb_user_locations as $gmb_user_location) {
$proxy = '';
$gmb_users_id = $gmb_user_location;
$gmb_users_id_array = explode("/", $gmb_user_location);
$allLocations = $sap_gmb_sess_data[$gmb_users_id_array[2]]['sap_gmb_user_accounts'][$gmb_users_id_array[2]];
$locIDs = array_column( $allLocations, 'id' );
$gmb_array_key = array_search( $gmb_users_id_array[1], $locIDs );
$gmb_array = $allLocations[$gmb_array_key];
$posting_logs_user_details['display_name'] = $gmb_array['name'];
$posting_logs_user_details['id'] = $gmb_array['id'];
$refresh_token = $gmb_array['refresh_token'];
$access_token = $this->mybusiness->get_exchange_token($refresh_token);
// if (!empty($gmb_array)) {
//foreach ($gmb_array as $key => $send_gmb) {
if (!empty($access_token) && $access_token['access_token'] != '') {
if (isset($gmb_array['id']) && !empty($gmb_array['id'])) {
$post_data = array(
'topicType' => "STANDARD",
'languageCode' => "en_US",
'summary' => $content['title'],
'callToAction' => array(
'actionType' => $link_button_text,
'url' => $content['submitted-url'],
),
'media' => array(
'mediaFormat' => 'PHOTO',
'sourceUrl' => $content['submitted-image-url'],
),
'name' => $content['title'],
);
//$response = $this->mybusiness->post_local_post($gmb_array['id'] . '/localPosts', $access_token['access_token'], $post_data);
$response = $this->mybusiness->post_local_post('accounts/'.$gmb_users_id_array[2].'/locations/'.$gmb_array['id'] . '/localPosts', $access_token['access_token'], $post_data);
$state = isset( $response['state'] ) ? $response['state'] : '';
if (!empty($response) && ($state == 'LIVE' || $state == 'PROCESSING' )) {
$postflg = true;
$gmb_posting['success'] = 1;
$this->flash->setFlash('Google My Business : Post sucessfully posted on - ' . $gmb_array['name'], 'success','',true);
$this->sap_common->sap_script_logs('Google My Business : Post sucessfully posted on - ' . $gmb_array['name'], $user_id);
} else {
if ($response['error']['details'][0]['errorDetails'][0]['field'] == 'photos.additional_photo_urls') {
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : ' . $response['error']['details'][0]['errorDetails'][0]['message'], $user_id);
$this->flash->setFlash('Something was wrong while posting on Google My Business - ' . $response['error']['details'][0]['errorDetails'][0]['message'], 'error' ,'',true);
} else if($response['error']['details'][0]['errorDetails'][0]['field'] == 'media[0].source_url'){
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : The image link you have entered is invalid', $user_id);
$this->flash->setFlash('Google My Business error : The image link you have entered is invalid ', 'error' ,'',true);
} else {
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : Something was wrong while posting on Google My Business', $user_id);
$this->flash->setFlash('Google My Business error : Something was wrong while posting on Google My Business', 'error','',true);
}
}
}
//}
//}
}
if ($postflg) {
$posting_log = array(
'link' => $content['submitted-url'],
'image' => $content['submitted-image-url'],
'message' => $content['title'],
'account name' => $sap_gmb_sess_data[$gmb_users_id_array[1]]['sap_gmb_user_accounts'][$gmb_users_id_array[1]]['display_name'],
'link to post' => 'https://business.google.com/posts/l/' . $gmb_users_id_array[1]
);
$this->sap_common->sap_script_logs('Google My Business post data : ' . var_export($posting_log, true), $user_id);
$this->logs->add_log('Google My Business', $posting_log, 1, $user_id);
}
}
}
} catch (Exception $e) {
// display error notice on post page
$this->sap_common->sap_script_logs('Google My Business error : ' . $e->getMessage(), $user_id);
$this->flash->setFlash('Google My Business error :' . $e->getMessage(), 'error','',true);
return false;
}
} else {
$this->sap_common->sap_script_logs('Google My Business : Please select location before posting to the Google My Business.', $user_id);
//record logs when grant extended permission not set
$this->flash->setFlash('Google My Business : Please select location before posting to the Google My Business.', 'error','',true);
}
return $gmb_posting;
}
/**
* Google My Business
*
* Handles quick post to send on GMB
*
* @package Social Auto Poster
* @since 1.0.0
*/
public function sap_send_quick_post_to_gmb($post_id) {
$quick_post = $this->quick_posts->get_post($post_id, true);
$user_id = isset( $quick_post->user_id ) ? $quick_post->user_id : '';
// General setting
$sap_general_options = $this->settings->get_user_setting('sap_general_options',$user_id);
$link_timestamp = isset($sap_general_options['timestamp_link']) ? "?".time(): '';
$sap_gmb_options = $this->settings->get_user_setting('sap_google_business_options', $user_id);
$sap_gmb_sess_data = $this->settings->get_user_setting('sap_google_business_sess_data', $user_id);
$accountID_datas = array_keys($sap_gmb_sess_data);
$posting_account = $sap_gmb_sess_data[$accountID_datas[0]]['sap_gmb_user_id'];
$postflg = false;
$status_meta_array = array();
$gmb_user_locations = array();
$posting_log = array();
if (!empty($sap_gmb_sess_data)) {
$sap_networks_meta = $this->quick_posts->get_post_meta($post_id, 'sap_networks');
if (!empty($sap_networks_meta['gmb_locations'])) {
$gmb_user_locations = $sap_networks_meta['gmb_locations'];
} else {
$gmb_user_locations = !empty($sap_gmb_options['google_business_post_users']) ? $sap_gmb_options['google_business_post_users'] : '';
}
/* Code for checking the button type - from the main settings */
$link_button_text = '';
if (!empty($sap_networks_meta['gmb_button_type'])) {
$link_button_text = $sap_networks_meta['gmb_button_type'];
} else {
$link_button_text = $sap_gmb_options['google_business_button_type'];
}
$title = !empty($quick_post->message) ? html_entity_decode(strip_tags($quick_post->message),ENT_QUOTES) : '';
$postlink = !empty($quick_post->share_link) ? $quick_post->share_link : '';
if(!empty($postlink)) {
$postlink = $postlink."".$link_timestamp;
}
$postimage = !empty($quick_post->image) ? $quick_post->image : '';
$customlink = !empty($postlink) ? 'true' : 'false';
$postlink = $this->common->sap_script_short_post_link($postlink, $customlink, 'gmb', 'google_business', $user_id);
if ($postimage == '' || empty($postimage)) {
if (!empty($sap_gmb_options['gmb_image'])) {
$postimage = $sap_gmb_options['gmb_image'];
}
}
if (empty($postlink) && $link_button_text != 'CALL' ) {
$this->sap_common->sap_script_logs('Google My Business - link is requires for posting.', $user_id);
$this->flash->setFlash('Google My Business - link is requires for posting.', 'error','',true);
$status_meta_array[] = array(
"status" => 'error',
"message" => 'Google My Business - link is requires for posting.'
);
$this->quick_posts->update_post_meta($post_id, "sap_gmb_posting_error", $status_meta_array);
return false;
}
if (empty($postimage)) {
$this->sap_common->sap_script_logs('Google My Business - Image for posting is not selected.',$user_id);
$this->flash->setFlash('Google My Business - Image for posting is not selected.', 'error','',true);
$status_meta_array[] = array(
"status" => 'error',
"message" => 'Google My Business - Image for posting is not selected.'
);
$this->quick_posts->update_post_meta($post_id, "sap_gmb_posting_error", $status_meta_array);
return false;
}
if (empty($link_button_text)) {
$this->sap_common->sap_script_logs('Google My Business - Button Type for posting is not selected.',$user_id);
$this->flash->setFlash('Google My Business - Button Type for posting is not selected.', 'error','',true);
$status_meta_array[] = array(
"status" => 'error',
"message" => 'Google My Business - Button Type for posting is not selected.'
);
$this->quick_posts->update_post_meta($post_id, "sap_gmb_posting_error", $status_meta_array);
return false;
}
// GMB post limit 1500 character per post
if (!empty($title))
$title = $this->quick_posts->sap_limit_character($title, 1500);
$content = array(
'title' => $title,
'submitted-url' => $postlink,
'submitted-image-url' => SAP_IMG_URL . $postimage,
);
try {
if (!empty($gmb_user_locations)) {
foreach ($gmb_user_locations as $gmb_user_location) {
$proxy = '';
$gmb_users_id = $gmb_user_location;
$gmb_users_id_array = explode("/", $gmb_user_location);
$allLocations = $sap_gmb_sess_data[$gmb_users_id_array[2]]['sap_gmb_user_accounts'][$gmb_users_id_array[2]];
$locIDs = array_column( $allLocations, 'id' );
$gmb_array_key = array_search( $gmb_users_id_array[1], $locIDs );
$gmb_array = $allLocations[$gmb_array_key];
$posting_logs_user_details['display_name'] = $gmb_array['name'];
$posting_logs_user_details['id'] = $gmb_array['id'];
$refresh_token = $gmb_array['refresh_token'];
$access_token = $this->mybusiness->get_exchange_token($refresh_token);
//if (!empty($gmb_array)) {
//foreach ($gmb_array as $send_gmb) {
if (!empty($access_token) && $access_token['access_token'] != '') {
if (isset($gmb_users_id) && !empty($gmb_users_id)) {
$post_data = array(
'topicType' => "STANDARD",
'languageCode' => "en_US",
'summary' => $content['title'],
'callToAction' => array(
'actionType' => $link_button_text,
'url' => $content['submitted-url'],
),
'media' => array(
'mediaFormat' => 'PHOTO',
'sourceUrl' => $content['submitted-image-url'],
),
'name' => $content['title'],
);
$response = $this->mybusiness->post_local_post('accounts/'.$gmb_users_id_array[2].'/locations/'.$gmb_array['id'] . '/localPosts', $access_token['access_token'], $post_data);
$state = isset( $response['state'] ) ? $response['state'] : '';
if (!empty($response) && ($state == 'LIVE' || $state == 'PROCESSING' ) ) {
$postflg = true;
$gmb_posting['success'] = 1;
$this->flash->setFlash('Google My Business : Post successfully posted on - ' . $gmb_array['name'], 'success','',true);
$this->sap_common->sap_script_logs('Google My Business : Post successfully posted on - ' . $gmb_array['name'], $user_id);
} else {
if ($response['error']['details'][0]['errorDetails'][0]['field'] == 'photos.additional_photo_urls') {
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : ' . $response['error']['details'][0]['errorDetails'][0]['message'],$user_id);
$this->flash->setFlash('Something was wrong while posting on Google My Business - ' . $response['error']['details'][0]['errorDetails'][0]['message'], 'error' ,'',true);
} else if($response['error']['details'][0]['errorDetails'][0]['field'] == 'media[0].source_url'){
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : The image link you have entered is invalid', $user_id);
$this->flash->setFlash('Google My Business error : The image link you have entered is invalid ', 'error' ,'',true);
} else {
$postflg = false;
$gmb_posting['fail'] = 0;
$this->sap_common->sap_script_logs('Google My Business error : Something was wrong while posting on Google My Business',$user_id);
$this->flash->setFlash('Google My Business error : Something was wrong while posting on Google My Business', 'error','',true);
}
}
}
//}
//}
}
if ($postflg) {
$posting_log = array(
'link' => $content['submitted-url'],
'image' => $content['submitted-image-url'],
'message' => $content['title'],
'account name' => $sap_gmb_sess_data[$gmb_users_id_array[1]]['sap_gmb_user_accounts'][$gmb_users_id_array[1]]['display_name'],
'link to post' => 'https://business.google.com/posts/l/' . $gmb_users_id_array[1]
);
$this->sap_common->sap_script_logs('Google My Business post data : ' . var_export($posting_log, true),$user_id);
$this->logs->add_log('Google My Business', $posting_log, 1, $user_id);
}
}
}
} catch (Exception $e) {
$this->sap_common->sap_script_logs('Google My Business error : ' .$e->getMessage(),$user_id);
// display error notice on post page
$this->flash->setFlash('Google My Business error - ' . $e->getMessage(), 'error','',true);
$status_meta_array[] = array(
"status" => 'error',
"message" => $e->getMessage()
);
$this->quick_posts->update_post_meta($post_id, "sap_gmb_posting_error", $status_meta_array);
return false;
}
} else {
$this->sap_common->sap_script_logs('Google My Business : Please select location before posting to the Google My Business.', $user_id);
//record logs when grant extended permission not set
$this->flash->setFlash('Google My Business : Please select location before posting to the Google My Business.', 'error','',true);
$status_meta_array[] = array(
"status" => 'error',
"message" => 'Please select location before posting to the Google My Business.'
);
$this->quick_posts->update_post_meta($post_id, "sap_gmb_posting_error", $status_meta_array);
}
return $gmb_posting;
}
}