Script: Update all children tools created by a LTI tool in courses - refs BT#17165

pull/3440/head
Angel Fernando Quiroz Campos 5 years ago committed by GitHub
parent 3c14e29ad2
commit 59ede164fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 47
      tests/scripts/tests/scripts/update_lti_chidren_tools.php

@ -0,0 +1,47 @@
<?php
/* For licensing terms, see /license.txt */
/**
* Update all children tools created by a LTI tool in courses.
*/
use Chamilo\PluginBundle\Entity\ImsLti\ImsLtiTool;
require __DIR__.'/../../main/inc/global.inc.php';
exit;
// Arguments
$parentLtiToolId = 1;
$visibility = 1;
$image = 'ims_lti.png';
// Processing
$em = Database::getManager();
$tblCTool = Database::get_course_table(TABLE_TOOL_LIST);
/** @var ImsLtiTool $parentLtiTool */
$parentLtiTool = $em->find('ChamiloPluginBundle:ImsLti\ImsLtiTool', $parentLtiToolId);
if (!$parentLtiTool) {
exit("LTI tool ($parentLtiToolId) not found.".PHP_EOL);
}
echo "Updating children tools for parent {$parentLtiTool->getId()}:".PHP_EOL;
$childrenLtiTools = $parentLtiTool->getChildren();
/** @var ImsLtiTool $childrenLtiTool */
foreach ($childrenLtiTools as $childrenLtiTool) {
$sql = "UPDATE $tblCTool
SET visibility = $visibility,
image = '$image'
WHERE link = 'ims_lti/start.php?id={$childrenLtiTool->getId()}'
AND category = 'plugin'";
Database::query($sql);
echo "\tLTI tool updated: {$childrenLtiTool->getId()}".PHP_EOL;
}
echo "Done.".PHP_EOL;
Loading…
Cancel
Save