修复在线开机

hotfix/远程访问多媒体中心
尹诚诚 6 years ago
parent 046634e0aa
commit 9322a9fdb1

@ -0,0 +1,95 @@
<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Onlineoffice extends CI_Controller
{
public $uid;
public $admin_data;
public function __construct()
{
parent::__construct();
//$this->output->enable_profiler(TRUE);
$this->permission->is_admin(true);
$this->load->model('Navigation_model');
$this->load->model('Operator_model');
$this->admin_data=$this->session->userdata('admin_chtcdn');
$this->uid=$this->admin_data['OPI_SN'];
}
public function index()
{
$data['mid']=$this->uid;
$this->load->view('n-header', $data);
$user_data=$this->Operator_model->get_webhtuser_by_id($this->admin_data['whu_uid']);
$data['whu_ip']=$user_data->whu_ip;
$data['whu_mac']=$user_data->whu_mac;
$this->load->view('onlineoffice/wakeup',$data);
$this->load->view('n-footer');
}
public function wakeonlan($ip,$mac,$port=7){
//需要在system32目录下放置wolcmd.exe来启动
$mac=str_replace(':','',$mac);
$last_line = system("wolcmd $mac $ip 255.255.255.0 7", $retval);
echo $last_line;
return true;
$addr_byte = explode(':', $mac);
$hw_addr = '';
for ($i=0; $i <6; $i++){
$hw_addr .= chr(hexdec($addr_byte[$i]));
}
$msg = chr(255).chr(255).chr(255).chr(255).chr(255).chr(255);
for ($i = 1; $i <= 16; $i++) {
$msg .= $hw_addr;
}
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if ($socket == false) {
echo "create socket failed!\n";
echo "error'".socket_last_error($socket)."' - " . socket_strerror(socket_last_error($socket));
return FALSE;
} else {
$opt_ret = socket_set_option($socket,SOL_SOCKET, SO_BROADCAST, TRUE);
if($opt_ret <0) {
echo "setsockopt() failed, error: " . strerror($opt_ret) . "\n";
return FALSE;
}
if(socket_sendto($socket, $msg, strlen($msg), 0, $ip, $port)) {
echo "唤醒数据包发送成功!";
socket_close($socket);
return TRUE;
} else {
echo "唤醒数据包发送失败!";
return FALSE;
}
}
}
//检查端口是否打开,用来判断电脑是否启动成功
public function ping($ip,$port=3389) {
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
@socket_connect($sock,$ip, $port);
socket_set_block($sock);
//返回值说明:2关闭,1打开,0超时
switch(socket_select($r = array($sock), $w = array($sock), $f = array($sock), 5)){
case 0:
echo '努力启动中...';
break;
case 1:
echo '电脑启动成功!';
break;
case 2:
echo '电脑启动成功远程端口未打开联系YCC开启权限';
break;
}
}
}

@ -1,11 +1,11 @@
<div class="container-fluid" style="max-width:980px;">
<div class="row">
<div class="col-xs-18 col-xs-offset-3">
<form method="post" id="form-info-search" action="<?php echo site_url('index/search'); ?>">
<form method="post" id="form-info-search" style="margin-top:50px;" action="<?php echo site_url('index/search'); ?>">
<div class="input-group">
<input type="text" class="form-control search-input" name="q" placeholder="联系人、文档、网站">
<input type="text" class="form-control search-input" name="q" placeholder="联系人、文档、信息分享、订单、网站">
<span class="input-group-btn">
<button class="btn btn-info search-btn" type="submit">   </button>
<button class="btn btn-info search-btn" type="submit">搜索</button>
</span>
</div>
</form>
@ -107,7 +107,6 @@
</div>
</div>
</div>
<script type="text/javascript">
$("a.nav-add").click(function(){
var n_nt_sn=$(this).attr('data-ntsn');

@ -1,64 +1,30 @@
<div class="container-fluid" style="max-width:100%;">
<div class="row">
<div class="col-xs-24 nav-tabs" style="padding-left:180px;border:none;padding-top:15px;">
<div class="col-xs-24 nav-tabs new-nav-tabs" style="padding-left:180px;border:none;padding-top:15px;">
<ul class="list-inline">
<li><a class="active" href="javascript:void(0);" onclick="$('.partnerlist,.search_list,.order_list').fadeOut().fadeIn('1000');$('.nav-tabs>ul>li>a').removeClass('active');$(this).addClass('active');">全部</a></li>
<li><a href="javascript:void(0);" onclick="$('.partnerlist,.order_list').hide();$('.search_list').fadeIn('1000');$('.nav-tabs>ul>li>a').removeClass('active');$(this).addClass('active');">文档</a></li>
<li><a href="javascript:void(0);" onclick="$('.search_list,.order_list').hide();$('.partnerlist').fadeOut().fadeIn('1000');$('.nav-tabs>ul>li>a').removeClass('active');$(this).addClass('active');">联系人</a></li>
<li><a href="javascript:void(0);" class="btn_get_order">订单</a></li>
<li class="visible-xs-inline"><a href="javascript:$('.search_my_order_box').toggle();">高级搜索</a></li>
</ul>
</div>
</div>
</div>
<div class="container-fluid search_container">
<div class="container-fluid search_container" style="min-height:720px;">
<div class="row">
<div class="col-xs-24 btn-lg"></div>
<div class="col-sm-14 col-xs-24 search_result_box">
<div class="col-xs-24 partnerlist nopadding-L">
<h5 class="text-muted">相关联系人搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>
<?php if (!empty($userlist)) { ?>
<?php foreach ($userlist as $u) { ?>
<div class="col-xs-24 nopadding">
<h4 class=" result-title"><?php echo $u->OPI_Name; ?></h4>
<p>公司:桂林国旅电子商务部[ 电子商务部 ]</p>
<p>联系方式:个人电话 <?php echo $u->OPI_MoveTelephone; ?><?php echo ',办公电话 '.$u->OPI_Telephone; ?></p>
<p><?php if(!empty($u->OPI_Email)) echo '邮件地址:'.$u->OPI_Email; ?></p>
</div>
<?php } ?>
<?php } ?>
</div>
<div class="col-xs-24 search_list nopadding-L">
<?php if (!empty($navlist)) { ?>
<?php foreach ($navlist as $n) { ?>
<div class="col-xs-24 nopadding">
<a target="_blank" href="<?php echo $n->n_link; ?>"><?php echo $n->n_name; ?></a>
<p><?php echo $n->n_description; ?></p>
<p><?php echo $n->n_link; ?></p>
</div>
<div class="col-xs-24 btn-lg"></div>
<?php }} ?>
</div>
<div class="col-xs-24 order_list nopadding-L">
<h5 class="text-muted" style="margin-bottom:20px;">相关订单搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>
</div>
</div>
<div class="col-xs-10" style="max-width:320px;">
<div class="row">
<div class="col-xs-24 hidden-xs">
<h4>订单查询</h4>
<div class="col-xs-24 col-sm-10 pull-right">
<div class="col-xs-24 col-sm-16 nopadding">
<div class="col-xs-24 nopadding search_my_order_box" style="<?php if($this->session->userdata('isapp')==1) echo 'display:none;'; ?>">
<h4>我的订单查询</h4>
<form id="form-search-order" method="post" action="<?php echo site_url('apps/partners/index/group');?>">
<div class="form-group">
<input type="text" class="form-control order_search_input" id="date1" name="date1" placeholder="提交起始日期" value="" autocomplete="off">
<input type="text" class="form-control order_search_input" id="date1" name="date1" placeholder="团出发日期" value="" autocomplete="off" readonly>
</div>
<div class="form-group">
<input type="text" class="form-control order_search_input" id="date2" name="date2" placeholder="提交截止日期" value="" autocomplete="off">
<input type="text" class="form-control order_search_input" id="date2" name="date2" placeholder="截止范围" value="" autocomplete="off" readonly>
</div>
<div class="form-group">
<select class="form-control order_search_input" name="status" id="status">
@ -87,6 +53,49 @@
</div>
</div>
</div>
<div class="col-sm-14 col-xs-24 search_result_box">
<div class="col-xs-24 partnerlist nopadding-L">
<h5 class="text-muted">相关联系人搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>
<?php if (!empty($userlist)) { ?>
<?php foreach ($userlist as $u) { ?>
<div class="col-xs-24 nopadding">
<h4 class=" result-title"><?php echo $u->OPI_Name; ?></h4>
<p>公司:桂林国旅电子商务部[ 电子商务部 ]</p>
<p>联系方式:个人电话 <?php echo $u->OPI_MoveTelephone; ?><?php echo ',办公电话 '.$u->OPI_Telephone; ?></p>
<p><?php if(!empty($u->OPI_Email)) echo '邮件地址:'.$u->OPI_Email; ?></p>
</div>
<?php } ?>
<?php } ?>
</div>
<div class="col-xs-24 search_list nopadding-L">
<?php if (!empty($navlist)) { ?>
<?php foreach ($navlist as $n) { ?>
<div class="col-xs-24 nopadding">
<h4><a target="_blank" href="<?php echo $n->n_link; ?>"><?php echo $n->n_name; ?></a></h4>
<p><?php echo $n->n_description; ?></p>
<p><?php echo $n->n_link; ?></p>
</div>
<div class="col-xs-24 btn-lg"></div>
<?php }} ?>
<?php if (!empty($sharelist)) { ?>
<?php foreach ($sharelist as $s) { ?>
<div class="col-xs-24 nopadding">
<h4><a target="_blank" href="/info.php/infoshare/detail/<?php echo $s->isd_is_id; ?>"><?php echo $s->isd_title; ?></a></h4>
<p>http://www.mycht.cn/info.php/infoshare/detail/<?php echo $s->isd_is_id; ?></p>
</div>
<div class="col-xs-24 btn-lg"></div>
<?php }} ?>
</div>
<div class="col-xs-24 order_list nopadding-L">
<h5 class="text-muted" style="margin-bottom:20px;">相关订单搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>
</div>
</div>
</div>
</div>
@ -95,7 +104,28 @@
$.post(url,data,function(html){
$(html).appendTo('.partnerlist');
});
}
};
function get_user_order(){
$('.partnerlist,.search_list').html('');
$('.order_list').html('<h5 class="text-muted" style="margin-bottom:20px;">相关订单搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>');
var $form = $('#form-search-order');
var data = $form.serialize();
var url = $form.attr('action');
var flag=false;
$.ajax({
type: "post",
url: url,
data: data,
success: function(html) {
$(html).appendTo('.order_list');
$('.loading_item').remove();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
show_tips('no', errorThrown);
}
});
};
$(document).ready(function() {
var url="<?php echo site_url('apps/partners/index/index/search'); ?>";
var data={'company':'<?php echo $keyword1; ?>','partners':'<?php echo $keyword2; ?>'};
@ -106,6 +136,11 @@
$('.partnerlist>h5').remove();
},3000);
var empty_key="<?php echo !empty($empty_key)?$empty_key:''; ?>";
if (empty_key=='Y') {
get_user_order();
};
var rname=/[\u4E00-\u9FA5]/;
var coli_id_string="<?php echo $orderId; ?>";
if(!rname.test(coli_id_string)) {
@ -130,24 +165,7 @@
});
$(".order_search_btn").click(function(){
$('.partnerlist,.search_list').html('');
$('.order_list').html('<h5 class="text-muted" style="margin-bottom:20px;">相关订单搜索结果:<span class="loading_item"><img src="/css/images/loading.gif"></span></h5>');
var $form = $('#form-search-order');
var data = $form.serialize();
var url = $form.attr('action');
var flag=false;
$.ajax({
type: "post",
url: url,
data: data,
success: function(html) {
$(html).appendTo('.order_list');
$('.loading_item').remove();
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
show_tips('no', errorThrown);
}
});
get_user_order();
});
});

@ -0,0 +1,56 @@
<script type="text/javascript">
$(document).ready(function(){
$('#button_poweron').click(function(){
$('#button_poweron').attr('disabled','disabled');
//发送开机命令
var ip=$('#computer_ip').val();
var mac=$('#computer_mac').val();
$.get("<?php echo site_url('onlineoffice/wakeonlan/'); ?>"+'/'+ip+'/'+mac,function(data,status){
//alert("Data: " + data + "\nStatus: " + status);
$('#ping_status').append('<li>开机命令发送成功,准备启动...'+'</li>');
});
window.setInterval(function(){
$.get("<?php echo site_url('onlineoffice/ping/'); ?>"+'/'+ip,function(data,status){
$('#ping_status').append('<li>'+data+'</li>');
});
},10000);
});
});
</script>
<div class="container-fluid">
<h3>在线开机</h3>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-6">
<form name="form_wakeup" action="<?php echo site_url('onlineoffice'); ?>" method="post">
<div class="form-group">
<label for="computer_ip">电脑IP</label>
<input type="text" class="form-control" id="computer_ip" name="computer_ip" placeholder="202.103.68.xxx" value="<?php echo $whu_ip; ?>">
</div>
<div class="form-group">
<label for="computer_mac">电脑MAC地址</label>
<input type="text" class="form-control" id="computer_mac" name="computer_mac" placeholder="xx:xx:xx:xx:xx" value="<?php echo $whu_mac; ?>">
</div>
<label class="text-success">ip不正确或开机不成功请联系ycc调试</label>
<button type="button" id="button_poweron" class="btn btn-primary pull-right">发送启动命令</button>
</form>
</div>
<div class="col-md-8">
<ul id="ping_status">
</ul>
</div>
<div class="col-md-2"></div>
</div>
</div>

@ -13,12 +13,13 @@
</div>
<div class="form-group">
<label for="message-text" class="control-label">您的IP:</label>
<input type="text" class="form-control" disabled="disabled" value="<?php if(isset($user_ip)) echo $user_ip;?>">
<input type="text" class="form-control" value="<?php if(isset($user_ip)) echo $user_ip;?>">
<input type="hidden" class="form-control" name="whu_ip" value="<?php if(isset($user_ip)) echo $user_ip;?>">
</div>
</div>
<div class="modal-footer">
<button type="button" id="btn-verify" class="btn btn-danger pull-left">确 认</button>
</div>
</form>
</div>

Loading…
Cancel
Save