/** * Get install info for a single template * @param string $template * @return array $val template info */ public function getTemplateInfo($template) { $template_dir = conf::pathHtdocs() . "/templates/{$template}"; $install_file = $template_dir . "/install.inc"; $clone_url = self::getCloneUrlFromPath($template_dir); if (!$clone_url) { return false; } $val = array(); if (file_exists($install_file)) { include $install_file; $val['public_clone_url'] = git::getHttpsFromSsh($clone_url); $val['private_clone_url'] = git::getSshFromHttps($clone_url); if (!self::$master) { if (isset($_INSTALL['VERSION'])) { $val['module_version'] = "{$_INSTALL['VERSION']}"; } else { $tags = git::getTagsModule($template, 'template'); $val['module_version'] = array_pop($tags); } } else { $val['module_version'] = "master"; } $val['module_name'] = $template; } else { $tags = git::getTagsModule($template, 'template'); $latest = array_pop($tags); if (self::$master or !$latest) { $val['module_version'] = "master"; } else { $val['module_version'] = $latest; } $val['module_name'] = $template; $val['public_clone_url'] = git::getHttpsFromSsh($clone_url); $val['private_clone_url'] = git::getSshFromHttps($clone_url); } return $val; }
/** * Sets clone URLs for a single module * @param array $val module * @return array $val module */ public static function getModuleInfo($val) { $options['module'] = $val['module_name']; $mi = new moduleinstaller($options); // Find a public clone URL if (isset($mi->installInfo['PUBLIC_CLONE_URL'])) { $val['public_clone_url'] = $mi->installInfo['PUBLIC_CLONE_URL']; } else { $public = self::getCloneUrl($val['module_name']); if (!$public) { return false; } $val['public_clone_url'] = $public; $val['public_clone_url'] = git::getHttpsFromSsh($val['public_clone_url']); } // Set private clone URL if (isset($mi->installInfo['PRIVATE_CLONE_URL'])) { $val['private_clone_url'] = $mi->installInfo['PRIVATE_CLONE_URL']; } else { $private = self::getCloneUrl($val['module_name']); if (!$private) { return false; } $val['private_clone_url'] = $private; $val['private_clone_url'] = git::getSshFromHttps($val['private_clone_url']); } if (self::$master) { $val['module_version'] = 'master'; } return $val; }