<?php
if ( ! class_exists( 'WP_Webhooks_Integrations_learndash_Actions_ld_adjust_group_leader' ) ) :

	/**
	 * Load the ld_adjust_group_leader action
	 *
	 * @since 4.3.2
	 * @author Ironikus <info@ironikus.com>
	 */
	class WP_Webhooks_Integrations_learndash_Actions_ld_adjust_group_leader {

	public function get_details(){

		$translation_ident = "action-ld_adjust_group_leader-content";

			$parameter = array(
				'user_id'		=> array( 'required' => true, 'short_description' => WPWHPRO()->helpers->translate( 'The user id (or user email) of the user you want to set as a group leader.', $translation_ident ) ),
				'group_ids'	=> array( 'required' => true, 'short_description' => WPWHPRO()->helpers->translate( 'Add the groups you want to set the user as a leader. This argument accepts a comma-separated string of group IDs.', $translation_ident ) ),
				'group_action'	  => array( 'required' => true, 'short_description' => WPWHPRO()->helpers->translate( 'The action you want to perfrom for adjustment. Possible values: add, replace, remove.', $translation_ident ) ),
				'do_action'	  => array( 'short_description' => WPWHPRO()->helpers->translate( 'Advanced: Register a custom action after Webhooks Pro fires this webhook. More infos are in the description.', $translation_ident ) ),
			);

			$returns = array(
				'success'		=> array( 'short_description' => WPWHPRO()->helpers->translate( '(Bool) True if the action was successful, false if not. E.g. array( \'success\' => true )', $translation_ident ) ),
				'data'		=> array( 'short_description' => WPWHPRO()->helpers->translate( '(array) Further data about the fired triggers.', $translation_ident ) ),
				'msg'		=> array( 'short_description' => WPWHPRO()->helpers->translate( '(string) A message with more information about the current request. E.g. array( \'msg\' => "This action was successful." )', $translation_ident ) ),
			);

			ob_start();
		?>
<?php echo WPWHPRO()->helpers->translate( "This argument accepts a single group id, as well as multiple group ids, separated by a comma:", $translation_ident ); ?>
<pre>124,5741,23</pre>
		<?php
		$parameter['group_ids']['description'] = ob_get_clean();

			ob_start();
		?>
<?php echo WPWHPRO()->helpers->translate( "This argument defines the action you want to perform for adjustment. Down below you will see further details of the available values:", $translation_ident ); ?>
<ul>
	<li><strong>add</strong>: <?php echo WPWHPRO()->helpers->translate( 'This adds the user as a leader.', $translation_ident ) ?></li>
	<li><strong>replace</strong>: <?php echo WPWHPRO()->helpers->translate( 'Replaces the user as a leader.', $translation_ident ) ?></li>
	<li><strong>remove</strong>: <?php echo WPWHPRO()->helpers->translate( 'Removes the user as a leader.', $translation_ident ) ?></li>
</ul>
		<?php
		$parameter['group_action']['description'] = ob_get_clean();

			ob_start();
		?>
<?php echo WPWHPRO()->helpers->translate( "The <strong>do_action</strong> argument is an advanced webhook for developers. It allows you to fire a custom WordPress hook after the <strong>ld_adjust_group_leader</strong> action was fired.", $translation_ident ); ?>
<br>
<?php echo WPWHPRO()->helpers->translate( "You can use it to trigger further logic after the webhook action. Here's an example:", $translation_ident ); ?>
<br>
<br>
<?php echo WPWHPRO()->helpers->translate( "Let's assume you set for the <strong>do_action</strong> parameter <strong>fire_this_function</strong>. In this case, we will trigger an action with the hook name <strong>fire_this_function</strong>. Here's how the code would look in this case:", $translation_ident ); ?>
<pre>add_action( 'fire_this_function', 'my_custom_callback_function', 20, 1 );
function my_custom_callback_function( $return_args ){
	//run your custom logic in here
}
</pre>
<?php echo WPWHPRO()->helpers->translate( "Here's an explanation to each of the variables that are sent over within the custom function.", $translation_ident ); ?>
<ol>
	<li>
		<strong>$return_args</strong> (array)<br>
		<?php echo WPWHPRO()->helpers->translate( "All the values that are sent back as a response to the initial webhook action caller.", $translation_ident ); ?>
	</li>
</ol>
		<?php
		$parameter['do_action']['description'] = ob_get_clean();

		$returns_code = array (
            'success' => true,
            'msg' => 'The group leader has been successfully adjusted.',
            'data' => array(
				'user_id' => 104,
				'group_ids' => 8053,
				'group_action' => 'add',
			),
        );

		$description = WPWHPRO()->webhook->get_endpoint_description( 'action', array(
			'webhook_name' => 'Adjust group leader',
			'webhook_slug' => 'ld_adjust_group_leader',
			'steps' => array(
				WPWHPRO()->helpers->translate( 'It is also required to set the <strong>user_id</strong> argument. You can either set it to the user id or the user email of which you want to set as a group leader.', $translation_ident ),
				WPWHPRO()->helpers->translate( 'Please also set the <strong>group_ids</strong> argument. This argument accepts a comma-separated list of group ids you want to set the user as a leader.', $translation_ident ),
				WPWHPRO()->helpers->translate( 'Lastly, please also set the <strong>group_action</strong> argument to either add, replace, or remove.', $translation_ident ),
			),
		) );

		return array(
			'action'			=> 'ld_adjust_group_leader', //required
			'name'			   => WPWHPRO()->helpers->translate( 'Adjust group leader', $translation_ident ),
			'sentence'			   => WPWHPRO()->helpers->translate( 'adjust a group leader', $translation_ident ),
			'parameter'		 => $parameter,
			'returns'		   => $returns,
			'returns_code'	  => $returns_code,
			'short_description' => WPWHPRO()->helpers->translate( 'Add, replace, or remove a user as a group leader within Learndash.', $translation_ident ),
			'description'	   => $description,
			'integration'	   => 'learndash',
            'premium'		   => true,
		);


		}

	}

endif; // End if class_exists check.