Beispiel #1
0
 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;
     }
 }
Beispiel #2
0
     $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'];
Beispiel #3
0
<?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");
}
Beispiel #4
0
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;
}