llms_update_300_migrate_lesson_postmeta()

Update keys of lesson meta fields for consistency


Description Description


Source Source

File: includes/functions/llms.functions.updates.php

function llms_update_300_migrate_lesson_postmeta() {

	global $wpdb;

	llms_update_util_rekey_meta( 'lesson', '_llms_audio_embed', '_audio_embed' );
	llms_update_util_rekey_meta( 'lesson', '_llms_video_embed', '_video_embed' );
	llms_update_util_rekey_meta( 'lesson', '_llms_has_prerequisite', '_has_prerequisite' );
	llms_update_util_rekey_meta( 'lesson', '_llms_prerequisite', '_prerequisite' );
	llms_update_util_rekey_meta( 'lesson', '_llms_days_before_available', '_days_before_avalailable' );

	// convert numeric has_preqeq to "yes"
	// convert numeric free_lesson to "yes"
	// convert numeric require_passing_grade to "yes"
	$wpdb->query(
		"UPDATE {$wpdb->prefix}postmeta AS m
		 INNER JOIN {$wpdb->prefix}posts AS p ON p.ID = m.post_ID
		 SET m.meta_value = 'yes'
	 	 WHERE p.post_type = 'lesson' AND (
	 	 	   ( m.meta_key = '_llms_has_prerequisite' AND m.meta_value = 1 )
	 	 	OR ( m.meta_key = '_llms_free_lesson' AND m.meta_value = 1 )
	 	 	OR ( m.meta_key = '_llms_require_passing_grade' AND m.meta_value = 1 )
	 	 );"
	);

	// convert empty has_prereq to "no"
	// convert empty free_lesson to "no"
	// convert empty require_passing_grade to "no"
	$wpdb->query(
		"UPDATE {$wpdb->prefix}postmeta AS m
		 INNER JOIN {$wpdb->prefix}posts AS p ON p.ID = m.post_ID
		 SET m.meta_value = 'no'
	 	 WHERE p.post_type = 'lesson' AND (
	 	 	   ( m.meta_key = '_llms_has_prerequisite' AND m.meta_value = '' )
	 	 	OR ( m.meta_key = '_llms_free_lesson' AND m.meta_value = '' )
	 	 	OR ( m.meta_key = '_llms_require_passing_grade' AND m.meta_value = '' )
	 	 );"
	);

	// updates course enrollment settings and reformats existing dates
	$drips = $wpdb->get_results(
		"SELECT m.post_id
		 FROM {$wpdb->postmeta} AS m
		 INNER JOIN {$wpdb->posts} AS p ON p.ID = m.post_ID
	 	 WHERE p.post_type = 'lesson' AND m.meta_key = '_llms_days_before_available';"
	);
	foreach ( $drips as $r ) {
		add_post_meta( $r->post_id, '_llms_drip_method', 'enrollment' );
	}

}


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.





Permalink: