Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * 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;
 }