public function get_vendor_aliases() { $alias_list = array(); foreach ($this->get_vendors_list() as $vendor) { $exdep_platform_parser = new pts_exdep_platform_parser($vendor); $aliases = $exdep_platform_parser->get_aliases(); foreach ($aliases as $alias) { array_push($alias_list, $alias); } } return $alias_list; }
private static function vendor_identifier($type) { $os_vendor = phodevi::read_property('system', 'vendor-identifier'); switch ($type) { case 'package-list': $file_check_success = is_file(PTS_EXDEP_PATH . 'xml/' . $os_vendor . '-packages.xml'); break; case 'installer': $file_check_success = is_file(PTS_EXDEP_PATH . 'scripts/install-' . $os_vendor . '-packages.sh'); break; } if ($file_check_success == false) { // Check the aliases to figure out the upstream distribution $os_vendor = false; $exdep_generic_parser = new pts_exdep_generic_parser(); foreach ($exdep_generic_parser->get_vendors_list() as $this_vendor) { $exdep_platform_parser = new pts_exdep_platform_parser($this_vendor); $aliases = $exdep_platform_parser->get_aliases(); if (in_array($os_vendor, $aliases)) { $os_vendor = $this_vendor; break; } } if ($os_vendor == false) { // Attempt to match the current operating system by seeing what package manager matches foreach ($exdep_generic_parser->get_vendors_list() as $this_vendor) { $exdep_platform_parser = new pts_exdep_platform_parser($this_vendor); $package_manager = $exdep_platform_parser->get_package_manager(); if ($package_manager != null && pts_client::executable_in_path($package_manager)) { $os_vendor = $this_vendor; break; } } } } return $os_vendor; }