Project

General

Profile

Feature #14457 » cac-fill-blog-public-courses.php

Boone Gorges, 2021-10-05 11:34 AM

 
1
<?php
2

    
3
$course_ids = get_posts( [
4
	'post_type' => 'cac_course',
5
	'nopaging'  => true,
6
	'fields'    => 'ids',
7
] );
8

    
9
foreach ( $course_ids as $course_id ) {
10
	$course = new \CAC\Courses\Course( $course_id );
11

    
12
	$has_public_group_or_site = false;
13
	foreach ( $course->get_site_ids() as $site_id ) {
14
		$blog_public = (int) get_blog_option( $site_id, 'blog_public' );
15
		if ( 1 === $blog_public || 0 === $blog_public ) {
16
			$has_public_group_or_site = true;
17
			break;
18
		}
19
	}
20

    
21
	if ( ! $has_public_group_or_site ) {
22
		foreach ( $course->get_group_ids() as $group_id ) {
23
			$group = groups_get_group( $group_id );
24
			if ( 'public' === $group->status ) {
25
				$has_public_group_or_site = true;
26
				break;
27
			}
28
		}
29
	}
30

    
31
	if ( $has_public_group_or_site ) {
32
		update_post_meta( $course_id, 'has-public-group-or-site', 1 );
33
	} else {
34
		delete_post_meta( $course_id, 'has-public-group-or-site' );
35
	}
36
}
37

    
(5-5/11)