// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * Tool to make all courses in a category visible (or not).
 *
 * @package    tool_cat
 * @copyright  2015 University of Kent
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
define('CLI_SCRIPT', true);
require_once dirname(__FILE__) . '/../../../../config.php';
require_once $CFG->libdir . '/clilib.php';
require_once $CFG->dirroot . '/course/lib.php';
list($options, $unrecognized) = cli_get_params(array('category' => 0, 'visibility' => 1));
if (empty($options['category']) || empty($options['visibility'])) {
    print_error("You must specify a category with --category and visibility with --visibility.");
    exit(0);
}
\core\session\manager::set_user(get_admin());
$category = new \tool_cat\category($options['category']);
$courses = $category->get_courses();
foreach ($courses as $course) {
    if ($course->visible != $options['visibility']) {
        mtrace("Updating {$course->id}");
        $course->visible = $options['visibility'];
        update_course($course);
    }
}