['authenticated'=>(bool)$credentials,'requiresReconnect'=>(bool)$credentials && (bool)array_diff(['workflows.execute','drive','credits.balance'],$scopes)]]; } add_action('rest_api_init',function(){ register_rest_route('picsart/v1','/connection',['methods'=>'GET','permission_callback'=>'picsart_video_permission','callback'=>'picsart_plugin_connection']); }); function picsart_plugin_row_links($links, $file) { if ($file !== plugin_basename(PICSART_PLUGIN_ENTRY) || !current_user_can('upload_files')) return $links; $configured=picsart_video_configured(); $status=!$configured?__('Setup required','picsart-commerce'):__('Checking connection…','picsart-commerce'); $links[]=''.esc_html__('Settings','picsart-commerce').''; $links[]=''.esc_html($configured?__('Connect account','picsart-commerce'):__('Set up Picsart','picsart-commerce')).''; $links[]=''.esc_html__('Your Picsart account:','picsart-commerce').' '.esc_html($status).''; return $links; } add_filter('plugin_row_meta','picsart_plugin_row_links',10,2); add_action('admin_enqueue_scripts',function($hook){ if (!current_user_can('upload_files')||!picsart_video_configured()) return; $preferences=get_user_meta(get_current_user_id(),'_picsart_preferences',true); if ($hook!=='plugins.php' && !empty($preferences['dismissed'])) return; wp_enqueue_script('picsart-plugin-row',plugins_url('plugin-row.js',__FILE__),[], filemtime(__DIR__.'/plugin-row.js'),true); wp_localize_script('picsart-plugin-row','picsartPluginRow',[ 'url'=>rest_url('picsart/v1/connection'),'nonce'=>wp_create_nonce('wp_rest'), 'connected'=>__('Connected','picsart-commerce'),'disconnected'=>__('Not connected','picsart-commerce'), 'reconnect'=>__('Reconnect required','picsart-commerce'),'unavailable'=>__('Status unavailable','picsart-commerce'), 'manage'=>__('Manage account','picsart-commerce'),'connect'=>__('Connect account','picsart-commerce'), 'settings'=>admin_url('admin.php?page=picsart-settings') ]); });