/** * copy a file creating all path on the way if needed * @param string $source the source path from dataroot * @param string $dest the dest path from dataroot * @param string $pathbase the base path */ function filesystem_copy_file($source, $dest, $pathbase = null) { global $CFG; if (is_null($pathbase)) { $pathbase = $CFG->dataroot . '/'; } elseif ($pathbase === '') { $pathbase = ''; } else { $pathbase = $pathbase . '/'; } if (@$CFG->filedebug) { mtrace("copying file <i>{$pathbase}{$source}</i> to <i>{$pathbase}{$dest}</i><br/>"); } if (!filesystem_file_exists($source, $pathbase)) { return -1; } $parts = pathinfo($dest); if (!filesystem_is_dir($parts['dirname'], $pathbase)) { filesystem_create_dir($parts['dirname'], $pathbase); } return copy($pathbase . $source, $pathbase . $dest); }
/** * Get available templates for defining a new virtual host. * @return array The availables templates, or EMPTY array. */ function vmoodle_get_available_templates() { global $CFG; // Scans the templates. if (!filesystem_file_exists('vmoodle', $CFG->dataroot)) { mkdir($CFG->dataroot . '/vmoodle'); } $dirs = filesystem_scan_dir('vmoodle', FS_IGNORE_HIDDEN, FS_ONLY_DIRS, $CFG->dataroot); $vtemplates = preg_grep("/^(.*)_vmoodledata\$/", $dirs); // Retrieves template(s) name(s). $templatesarray = array(); if ($vtemplates) { foreach ($vtemplates as $vtemplatedir) { preg_match("/^(.*)_vmoodledata/", $vtemplatedir, $matches); $templatesarray[$matches[1]] = $matches[1]; if (!isset($first)) { $first = $matches[1]; } } } $templatesarray[] = get_string('reactivetemplate', 'local_vmoodle'); return $templatesarray; }
/** * copy a file creating all path on the way if needed * @param source the source path from dataroot * @param dest the dest path from dataroot */ function filesystem_copy_file($source, $dest) { global $CFG; if ($CFG->debug > 8) { mtrace("copying file <i>{$source}</i> to <i>{$dest}</i><br/>"); } if (!filesystem_file_exists($source)) { return -1; } $parts = pathinfo($dest); if (!filesystem_is_dir($parts['dirname'])) { filesystem_create_dir($parts['dirname']); } return copy($CFG->dataroot . '/' . $source, $CFG->dataroot . '/' . $dest); }