/** * function for cloning a template repo * @param array $options */ function cos_git_clone_template($options) { cos_git_clone($options, 'template'); $template = git::getModulenameFromRepo($options['repo']); $options['template'] = $template; $str = install_template($options, true); common::echoMessage($str); return; }
/** * * @param type $options array ('profile' => 'default', 'clone_only' => false) */ function upgrade_from_profile($options) { $pro = new profile(); $pro->setProfileInfo($options['profile']); // Upgrade modules foreach ($pro->profileModules as $key => $val) { $val['repo'] = $val['public_clone_url']; $val['version'] = $val['module_version']; if (isset(conf::$vars['profile_use_master'])) { $val['version'] = 'master'; } $val['module'] = $val['module_name']; $module = new moduleinstaller(); $module->setInstallInfo($val); if ($module->isInstalled($val['module_name'])) { cos_git_upgrade($val, $val['version'], 'module'); } else { if (isset($options['clone_only'])) { cos_git_clone($val, 'module'); } else { cos_git_install($val, 'module'); } } } // install templates foreach ($pro->profileTemplates as $key => $val) { $val['repo'] = $val['public_clone_url']; $val['version'] = $val['module_version']; if (isset(conf::$vars['profile_use_master'])) { $val['version'] = 'master'; } // No DB operations. Only clone to specific version. if (isset($options['clone_only'])) { cos_git_clone($val, 'template'); } else { cos_git_install($val, 'template'); } } }