/** * Update the group icon from form data * * @param stdClass $group group information * @param stdClass $data * @param stdClass $editform */ function groups_update_group_icon($group, $data, $editform) { global $CFG, $DB; require_once "{$CFG->libdir}/gdlib.php"; $fs = get_file_storage(); $context = context_course::instance($group->courseid, MUST_EXIST); $newpicture = $group->picture; if (!empty($data->deletepicture)) { $fs->delete_area_files($context->id, 'group', 'icon', $group->id); $newpicture = 0; } else { if ($iconfile = $editform->save_temp_file('imagefile')) { if ($rev = process_new_icon($context, 'group', 'icon', $group->id, $iconfile)) { $newpicture = $rev; } else { $fs->delete_area_files($context->id, 'group', 'icon', $group->id); $newpicture = 0; } @unlink($iconfile); } } if ($newpicture != $group->picture) { $DB->set_field('groups', 'picture', $newpicture, array('id' => $group->id)); $group->picture = $newpicture; // Invalidate the group data as we've updated the group record. cache_helper::invalidate_by_definition('core', 'groupdata', array(), array($group->courseid)); } }
/** * Update the group icon from form data * * @param stdClass $group group information * @param stdClass $data * @param stdClass $editform */ function groups_update_group_icon($group, $data, $editform) { global $CFG, $DB; require_once "{$CFG->libdir}/gdlib.php"; $fs = get_file_storage(); $context = context_course::instance($group->courseid, MUST_EXIST); //TODO: it would make sense to allow picture deleting too (skodak) if ($iconfile = $editform->save_temp_file('imagefile')) { if (process_new_icon($context, 'group', 'icon', $group->id, $iconfile)) { $DB->set_field('groups', 'picture', 1, array('id' => $group->id)); $group->picture = 1; } else { $fs->delete_area_files($context->id, 'group', 'icon', $group->id); $DB->set_field('groups', 'picture', 0, array('id' => $group->id)); $group->picture = 0; } @unlink($iconfile); // Invalidate the group data as we've updated the group record. cache_helper::invalidate_by_definition('core', 'groupdata', array(), array($group->courseid)); } }
/** * Update the group icon from form data * * @param stdClass $group group information * @param stdClass $data * @param stdClass $editform */ function groups_update_group_icon($group, $data, $editform) { global $CFG, $DB; require_once "{$CFG->libdir}/gdlib.php"; $fs = get_file_storage(); $context = get_context_instance(CONTEXT_COURSE, $group->courseid, MUST_EXIST); //TODO: it would make sense to allow picture deleting too (skodak) if ($iconfile = $editform->save_temp_file('imagefile')) { if (process_new_icon($context, 'group', 'icon', $group->id, $iconfile)) { $DB->set_field('groups', 'picture', 1, array('id' => $group->id)); $group->picture = 1; } else { $fs->delete_area_files($context->id, 'group', 'icon', $group->id); $DB->set_field('groups', 'picture', 0, array('id' => $group->id)); $group->picture = 0; } @unlink($iconfile); } }