예제 #1
0
function tool_main_set_annotation($domain_id, $shard_id, $annotation)
{
    global $db;
    global $nel_user;
    global $AS_Name, $AS_ShardName;
    $annotation = htmlentities(trim($annotation), ENT_QUOTES);
    $data = tool_main_get_lock($domain_id, $shard_id);
    if ($data['lock_domain_id']) {
        // its a domain lock
        $shard_list = tool_main_get_domain_shard_list($domain_id);
        $shard_list = array_values($shard_list);
        $sql = "DELETE FROM " . NELDB_ANNOTATION_TABLE . " WHERE annotation_shard_id IN (" . implode(',', $shard_list) . ")";
        $db->sql_query($sql);
        $annotation_data = tool_main_get_annotation($domain_id, 0);
        if ($annotation_data) {
            nt_log("Domain Annotation (Domain: '" . $AS_Name . "') by '" . $nel_user['user_name'] . "' : " . $annotation);
            $sql = "UPDATE " . NELDB_ANNOTATION_TABLE . " SET annotation_data='" . $annotation . "',annotation_user_name='" . $nel_user['user_name'] . "',annotation_date=" . time() . " WHERE annotation_id=" . $annotation_data['annotation_id'];
            $db->sql_query($sql);
        } else {
            nt_log("Domain Annotation (Domain: '" . $AS_Name . "') by '" . $nel_user['user_name'] . "' : " . $annotation);
            $sql = "INSERT INTO " . NELDB_ANNOTATION_TABLE . " (`annotation_domain_id`,`annotation_data`,`annotation_user_name`,`annotation_date`) VALUES ";
            $sql .= "(" . $domain_id . ",'" . $annotation . "','" . $nel_user['user_name'] . "'," . time() . ")";
            $db->sql_query($sql);
        }
    } else {
        // its a shard lock
        $annotation_data = tool_main_get_annotation(0, $shard_id);
        if ($annotation_data) {
            nt_log("Shard Annotation (Domain: '" . $AS_Name . "' - Shard: '" . $AS_ShardName . "') by '" . $nel_user['user_name'] . "' : " . $annotation);
            $sql = "UPDATE " . NELDB_ANNOTATION_TABLE . " SET annotation_data='" . $annotation . "',annotation_user_name='" . $nel_user['user_name'] . "',annotation_date=" . time() . " WHERE annotation_id=" . $annotation_data['annotation_id'];
            $db->sql_query($sql);
        } else {
            nt_log("Shard Annotation (Domain: '" . $AS_Name . "' - Shard: '" . $AS_ShardName . "') by '" . $nel_user['user_name'] . "' : " . $annotation);
            $sql = "INSERT INTO " . NELDB_ANNOTATION_TABLE . " (`annotation_shard_id`,`annotation_data`,`annotation_user_name`,`annotation_date`) VALUES ";
            $sql .= "(" . $shard_id . ",'" . $annotation . "','" . $nel_user['user_name'] . "'," . time() . ")";
            $db->sql_query($sql);
        }
    }
}
예제 #2
0
파일: index.php 프로젝트: cls1991/ryzomcore
         if (is_array($tool_lock_info) && $tool_lock_info['lock_user_name'] == $nel_user['user_name']) {
             tool_main_delete_lock_shard($view_shard_id);
             $tool_lock_info = tool_main_get_lock($view_domain_id, $view_shard_id);
         }
         break;
     case 'unlock domain':
         if (is_array($tool_lock_info) && $tool_lock_info['lock_user_name'] == $nel_user['user_name']) {
             tool_main_delete_lock_domain($view_domain_id);
             $tool_lock_info = tool_main_get_lock($view_domain_id, $view_shard_id);
         }
         break;
     case 'update annotation':
         if (is_array($tool_lock_info) && $tool_lock_info['lock_user_name'] == $nel_user['user_name']) {
             $tool_annotation = $NELTOOL['POST_VARS']['annotation'];
             tool_main_set_annotation($view_domain_id, $view_shard_id, $tool_annotation);
             $tool_annotation_info = tool_main_get_annotation($view_domain_id, $view_shard_id);
         }
         break;
     case 'restart sequence':
         if (is_array($tool_lock_info) && $tool_lock_info['lock_user_name'] == $nel_user['user_name'] && tool_admin_applications_check('tool_main_easy_restart')) {
             $restart_ws_state = $NELTOOL['POST_VARS']['restart_ws_state'];
             $restart_first_step = 0;
             // if restart_ws_state == '' means that i didn't find a shard_id
             // which means the shard has been shutdown completely including AES and RAS
             if ($restart_ws_state == 'close' || $restart_ws_state == '') {
                 $restart_first_step = 3;
             }
             $tool_restart_info = tool_main_set_restart_mode($view_domain_id, $view_shard_id, $restart_first_step);
         }
         break;
 }