private function get_title($target_type, $target_id) { switch ($target_type) { case 'service': if (empty($this->title['service'][$target_id])) { $ret = pdo_get_service_byid($this->pdo, $target_id); if ($ret) { $this->title['service'][$target_id] = $ret['service_name']; } } return $this->title['service'][$target_id]; break; case 'instance': if (empty($this->title['instance'][$target_id])) { $ret = pdo_get_instance_byid($this->pdo, $target_id); if ($ret) { $this->title['instance'][$target_id] = $ret['service_name'] . ':' . $ret['port_num']; } } return $this->title['instance'][$target_id]; break; case 'host': if (empty($this->title['service'][$target_id])) { $ret = get_host_info($this->pdo, $target_id); if ($ret) { $this->title['host'][$target_id] = $ret['host_name']; } } return $this->title['host'][$target_id]; break; case 'host-instance': if (empty($this->title['instance'][$target_id])) { $ret = pdo_get_instance_byid($this->pdo, $target_id); if ($ret) { $this->title['instance'][$target_id] = $ret['service_name'] . ':' . $ret['port_num']; } } return $this->title['instance'][$target_id]; break; case 'global': return 'global'; break; } }
$instance_id = $params['instance_id']; $service_id = $params['service_id']; $lb_weight = $params['lb_weight']; update_instance_lb_weight($pdo, $instance_id, $lb_weight); add_instance_into_service($pdo, $instance_id, $service_id, $username); if (isset($params['f']) && $params['f'] == 's') { msg_redirect("service_detail.php?service_id=" . $service_id . "&tab=2"); } else { msg_redirect("instance.php"); } msg_redirect("service_detail.php?service_id=" . $service_id); break; case 'unbind': $username = check_login($def_url); $instance_id = $params['instance_id']; $instance_info = pdo_get_instance_byid($pdo, $instance_id); $service_info = pdo_get_service_byid($pdo, $instance_info['service_id']); if ($service_info['service_status'] == 1) { if ($instance_info['writable'] && $service_info['service_status']) { msg_redirect("back", 'Can not unbind master instance from running service!'); } if ($instance_info["writable"] == 1 || $instance_info["readable"] == 1) { msg_redirect("back", 'Can not unbind instance when it\\\'s writable or readable!'); } } remove_instance_from_service($pdo, $instance_id, $username); instance_redirect(); break; case 'writable': $username = check_login($def_url); $instance_id = $params['instance_id'];
<?php $base = dirname(__FILE__); $solr_root = substr($base, 0, strrpos($base, 'scripts')); $script_root = $solr_root . "/scripts"; include_once $script_root . "/common.php"; if (count($argv) < 2 || !preg_match("/^[0-9]+\$/", $argv[1])) { echo "<!-- Usage: {$argv[0]} instance_id -->\n"; exit(2); } $instance_id = $argv[1]; $instance = pdo_get_instance_byid($link, $instance_id); if (!$instance) { echo "<!-- # Instance not exists -->\n"; exit(1); } $config = pdo_get_jetty_config($link, $instance_id); if (!$config) { echo "<!-- # Jetty config not exists -->\n"; exit(1); } $json = json_decode($config["config_json"], true); /*优先到自己的instance路径找tpl文件,找不到则采用公共的文件(只兼容3.5x)*/ if (!get_version_dir($instance["solr_version"])) { exit(1); } $template = file_get_contents($base . '/' . get_version_dir($instance["solr_version"]) . '/solr.xml.tpl'); //$template = file_get_contents(build_path_configtpl($solr_root, $instance['port_num'])."/solr.xml.tpl"); if (!$template) { $template = file_get_contents($base . "/solr.xml.tpl"); }
function pdo_get_instances($pdo, $service_id) { $instances = array(); $mapping = pdo_get_mapping($pdo, $service_id); if (empty($mapping)) { return false; } foreach ($mapping as $m) { $instance = pdo_get_instance_byid($pdo, $m["instance_id"]); if (!$instance) { continue; } $instances[] = $instance; } return $instances; }