<?php

/**
 * Copy one group's library to another.
 */

if ( empty( $args ) || count( $args ) < 2 ) {
	WP_CLI::error( 'Usage: wp eval-file cac-group-library-copy.php [fromGroup] [toGroup]' );
}

$source_group_id = $args[0];
$dest_group_id   = $args[1];

$source_group = groups_get_group( $source_group_id );
if ( ! $source_group->id ) {
	WP_CLI::error( 'Source group cannot be found.' );
}

$dest_group = groups_get_group( $dest_group_id );
if ( ! $dest_group->id ) {
	WP_CLI::error( 'Destination group cannot be found.' );
}

$source_items = \CAC\GroupLibrary\LibraryItem\Query::get( [ 'group_id' => $source_group_id ] );
foreach ( $source_items as $source_item ) {
	foreach ( $source_item->get_folders() as $folder_name ) {
		// Will create if it doesn't exist.
		$folder_id = \CAC\GroupLibrary\Folder::get_group_folder_by_name( $dest_group_id, $folder_name );
	}

	$dest_item = new \CAC\GroupLibrary\LibraryItem\Item();
	$dest_item->set_group_id( $dest_group_id );
	$dest_item->set_source_item_id( $source_item->get_source_item_id() );
	$dest_item->set_item_type( $source_item->get_item_type() );
	$dest_item->set_file_type( $source_item->get_file_type() );
	$dest_item->set_user_id( $source_item->get_user_id() );
	$dest_item->set_title( $source_item->get_title() );
	$dest_item->set_date_modified( $source_item->get_date_modified() );
	$dest_item->set_description( $source_item->get_description() );
	$dest_item->set_url( $source_item->get_url() );
	$dest_item->set_folders( $source_item->get_folders() );

	$dest_item->save();
}


//print_r( $source_items );
