function avatar_get($run = 0) { if (!session_id()) { session_start(); } pload('F:spider'); if (intval($_GET['clear'])) { unset($_SESSION['avatar_get']); } $save_data = $_SESSION['avatar_get'] ? $_SESSION['avatar_get'] : ''; global $head_url, $header_config, $_G; if (!$_GET['submit'] || $run == 0) { $info['header'] = pick_header_output($header_config, $head_url); $info['save_data'] = $save_data; return $info; } else { $submit = intval($_GET['submit']); if ($submit == 2) { unset($save_data); } if (!$save_data) { show_pick_info(milu_lang('start_config')); } $info = pick_common_get(); if (!$info['avatar_web_url']) { show_pick_info(milu_lang('please_set_avatar_url'), 'show_err'); return FALSE; } if (!$info['avata_from_uid']) { show_pick_info(milu_lang('set_pick_uid_start'), 'show_err'); return FALSE; } $info['avata_jump_num'] = $info['avata_jump_num'] ? $info['avata_jump_num'] : 100; $now_get = $save_data['now_get'] ? $save_data['now_get'] : 0; $limit_num = $info['avata_jump_num'] ? $info['avata_jump_num'] : 50; $success_count = $save_data['success_count'] ? $save_data['success_count'] : 0; if ($info['avatar_setting_member'] == 1) { //设置所有已导入的会员 if ($save_data['get_count']) { //查询总共需要设置的 $get_count = $save_data['get_count']; } else { $all_count = DB::result(DB::query("SELECT COUNT(*) FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 "), 0); $get_count = $_SESSION['avatar_get']['get_count'] = $all_count; } if (!$get_count) { show_pick_info(milu_lang('no_import_user_data'), 'show_err'); return FALSE; } $query = DB::query("SELECT c.uid,c.username,p.data_uid FROM " . DB::table('common_member') . " c Inner Join " . DB::table('strayer_member') . " p ON p.data_uid=c.uid WHERE p.data_uid>0 ORDER BY p.get_dateline DESC LIMIT {$success_count},{$limit_num} "); while ($v = DB::fetch($query)) { $uid_arr[] = $v['uid']; } } else { //用户自定义 $re_arr = get_data_range($info['avatar_user_set'], $success_count, $limit_num); $uid_arr = $re_arr['list']; $_SESSION['avatar_get']['get_count'] = $get_count = $save_data['get_count'] ? $save_data['get_count'] : $re_arr['all_num']; //var_dump($get_count); } $avatar_get_uid = $save_data['avatar_get_uid'] ? $save_data['avatar_get_uid'] : $info['avata_from_uid']; $all_get_time = $save_data['all_get_time'] ? $save_data['all_get_time'] : 0; $snoop_obj = get_snoopy_obj($snoopy_args); foreach ($uid_arr as $k => $uid) { $v['avatar_web_url'] = $info['avatar_web_url']; $v['avatar_get_uid'] = $avatar_get_uid + 1; $v['cover_avatar'] = $info['cover_avatar']; $v['now_get'] = $now_get + 1; $v['uid'] = $uid; $v['get_count'] = $get_count; $v['cover_avatar'] = $info['cover_avatar']; $v['success_count'] = $success_count; $v['all_get_time'] = $all_get_time; $v['avata_jump_num'] = $info['avata_jump_num']; if (!check_uid($uid)) { //不存在的用户 $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $show_args = array_merge($show_arr, array('li_no_end' => 1, 'no_border' => 1, 'now' => $v['now_get'])); show_pick_info(array(milu_lang('uid_no_exists', array('u' => '<a target="_blank" href="home.php?mod=space&uid=' . $uid . '&do=profile">' . $uid . '</a>'))), 'left', $show_args); $get_re['success_count'] = $v['success_count'] = $v['success_count'] + 1; $get_re['get_count'] = $get_count; $get_re['now'] = $v['now_get'] = $v['now_get']; $get_re['all_get_time'] = $all_get_time; $get_re['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['now_get'] = $v['now_get']; $_SESSION['avatar_get']['avatar_get_uid'] = $v['avatar_get_uid']; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; $_SESSION['avatar_get']['success_count'] = $v['success_count']; $show_args = get_show_arr($v['now_get'], $v['success_count'], $get_count, $all_get_time); show_pick_info(milu_lang('jump'), 'err', $show_args); avatar_page_jump($v['now_get'], $v['avata_jump_num'], $get_count); } else { $get_re = $test_re = get_web_avatar($v); //采集头像 } unset($test_re['content']); //debug $now_get = $get_re['now']; $success_count = $get_re['success_count']; $all_get_time = $get_re['all_get_time']; $get_count = $get_re['get_count']; $avatar_get_uid = $_SESSION['avatar_get']['avatar_get_uid'] = $get_re['avatar_get_uid']; $show_arr = get_show_arr($now_get, $success_count, $get_count, $all_get_time); $_SESSION['avatar_get']['now_get'] = $now_get; $_SESSION['avatar_get']['all_get_time'] = $all_get_time; } $all_get_time_str = diff_time($all_get_time, 1); $all_get_time_str = $all_get_time_str ? $all_get_time_str : ceil($all_get_time) . milu_lang('sec'); $avg_get_time = $all_get_time / $success_count; $finsh_output = milu_lang('pick_avatar_finsh', array('n' => $now_get, 'g' => $success_count, 'all' => $all_get_time_str, 'avg' => sprintf('%.2f', $avg_get_time))); //unset($_SESSION['avatar_get']); show_pick_info($finsh_output, 'finsh'); } }
</p> <p class="list-group-item">Trường: <?php if (!empty($users['state'])) { echo $users['state']; } ?> </p> <p class="list-group-item">Điểm thành tích: <?php if (!empty($users['score'])) { echo $users['score']; } ?> </p> <p class="list-group-item">Tham gia được: <?php if (isset($users['time_on'])) { echo diff_time($users['time_on']); } ?> </p> <?php if (isset($_SESSION['id'], $users['id']) && $_SESSION['id'] == $users['id']) { echo '<a href="?rt=users/info&id=' . $users['id'] . '" class="list-group-item" style="color:#0080A0;font-weight:bold;">Xem thông tin cá nhân</a>'; ?> <br> <div class="cen"> <a href="?rt=logout"><button class="btn btn-lg btn-danger">Thoát tài khoản</button></a> </div> <?php } ?> </div>
$diff_seconds -= $diff_weeks * 604800; $diff_days = floor($diff_seconds / 86400); $diff_seconds -= $diff_days * 86400; $diff_hours = floor($diff_seconds / 3600); $diff_seconds -= $diff_hours * 3600; $diff_minutes = floor($diff_seconds / 60); $diff_seconds -= $diff_minutes * 60; return array('d' => $diff_days, 'h' => $diff_hours, 'm' => $diff_minutes); } date_default_timezone_set('America/New_York'); $mobWinOpen = "+ 24 hours"; $mobWinClose = "+ 44 hours"; $winopen = strtotime($mobWinOpen, 1442442146); $winclose = strtotime($mobWinClose, 1442442146); $open_time = diff_time(time(), $winopen); $close_time = diff_time(time(), $winclose); ?> <tr> <td width="16%" class="text_normal"><?php echo "test"; ?> </td> <td width="16%" class="text_normal"><?php echo date('m-d-Y H:i:s', 1442442146); ?> </td> <td width="17%" class="text_normal"><?php echo date('m-d-Y H:i:s', $winopen); ?> </td>
function _listview() { global $form; ## {{ print <<<EOS <table border='0'> <form name='form' method='get' action='{$self}'> <tr> <td> <input type='hidden' name='mode' value='{$mode}'> <input type='submit' value='OK' style="width:50;height:50;"> </td> <td> EOS; if ($form['ckrf']) { $ck = ' checked'; } else { $ck = ''; } print <<<EOS <span class='label'>Refresh</span> <input type='checkbox' name='ckrf' id='ckrf'{$ck} onclick='_clk_reload()'><label for='ckrf'>automatic</label> EOS; $v = $form['rftime']; $sel = array(); if (!$v) { $v = 5; } $sel[$v] = ' selected'; print <<<EOS <select name='rftime' onchange='_change_rftime()'> <option value='2'{$sel['2']}>2 seconds</option> <option value='5'{$sel['5']}>5 seconds</option> <option value='10'{$sel['10']}>10 seconds</option> <option value='30'{$sel['30']}>30 seconds</option> <option value='60'{$sel['60']}>60 seconds</option> </select> <span id='spanTimer'></span> EOS; print "<br>"; $sd = getvalue($form['sd'], $_SESSION['metajob_sd'], date('Y-m-d')); $ed = getvalue($form['ed'], $_SESSION['metajob_ed'], date('Y-m-d')); $_SESSION['metajob_sd'] = $sd; $_SESSION['metajob_ed'] = $ed; print <<<EOS <span class='label'>Start Date</span> <input name="sd" value="{$sd}" size="12" class='a' onkeypress='keypress_text()'{$dis}><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fStartPop(document.form.sd,document.form.ed);return false;" ><img class="PopcalTrigger" align="absmiddle" src="/dbmon/utl/DateRange/calbtn.gif" width="34" height="22" border="0" alt=""></a> ~ <input name="ed" value="{$ed}" size="12" class='a' onkeypress='keypress_text()'{$dis}><a href="javascript:void(0)" onclick="if(self.gfPop)gfPop.fEndPop(document.form.sd,document.form.ed);return false;" ><img class="PopcalTrigger" align="absmiddle" src="/dbmon/utl/DateRange/calbtn.gif" width="34" height="22" border="0" alt=""></a> <iframe width=132 height=142 name="gToday:contrast:agenda.js" id="gToday:contrast:agenda.js" src="/dbmon/utl/DateRange/ipopeng.htm" scrolling="no" frameborder="0" style="visibility:visible; z-index:999; position:absolute; top:-500px; left:-500px;"> </iframe> EOS; print <<<EOS </td> </tr> </form> </table> EOS; global $page_title; print <<<EOS <script> var timer = 5; var form = document.form; var span = document.getElementById('spanTimer'); var stoptimer = 0; function _reload() { if (!form.ckrf.checked) return; form.submit(); //document.location.reload(); } function _countdown() { if (stoptimer) { setTimeout("_countdown()", 1000); return; } if (!form.ckrf.checked) return; var str = "" + timer + " sec"; parent.top.document.title = "{$page_title} (" + str + ")"; span.innerHTML = str; timer--; if (timer <= 0) _reload(); setTimeout("_countdown()", 1000); } function _change_rftime() { var interval = parseInt(form.rftime.value); timer = interval; } function _clk_reload() { setTimeout("_countdown()", 1000); } function _onload() { setTimeout("_countdown()", 1000); var interval = parseInt(form.rftime.value); timer = interval; } if (window.addEventListener) { window.addEventListener("load", _onload, false); } else if (document.attachEvent) { window.attachEvent("onload", _onload); } </script> EOS; ## }} $select_items = "MJ.*, U.userid, U.service_Infra_id, A.name appname"; $sql_join = " LEFT JOIN User U ON MJ.user_id=U.id" . " LEFT JOIN application A ON MJ.app_id=A.id"; $w = array('1'); $sd = $form['sd']; $ed = $form['ed']; $w[] = "DATE(MJ.startTimestamp) >= '{$sd}'"; $w[] = "DATE(MJ.startTimestamp) <= '{$ed}'"; $sql_where = join(" AND ", $w); $sql_order = " ORDER BY MJ.startTimestamp DESC"; $qry = "SELECT {$select_items} FROM metajob MJ {$sql_join} WHERE {$sql_where} {$sql_order}"; //dd($qry); $ret = db_query($qry); $hi = "#,id,status,user,appname,startTime,updateTime,elapsed,num,total,subjobs,results"; table_head($hi); // 변수명#옵션 // 옵션 _:일반변수, L:왼쪽정렬 R:오른쪽정렬 C:가운데정렬 $tdk = "id#_,status,userid,appname,startTimestamp,lastUpdateTime,elapsed#_,num,total,subjobs#_,results#_"; $items = preg_split("/,/", $tdk); $cnt = 0; while ($row = mysql_fetch_assoc($ret)) { $cnt++; //dd($row); $id = $row['id']; $var['id'] = span_link($id, "_view_md('{$id}')"); $var['subjobs'] = span_link('subjobs', "_list_subjobs('{$id}')"); $var['results'] = span_link('results', "_list_results('{$id}')"); $s = $row['startTimestamp']; $e = $row['lastUpdateTime']; $var['elapsed'] = diff_time($e, $s); $fields = array(); $fields[] = array($cnt, ''); _push($fields, $items, $row, $var); print "<tr>"; for ($i = 0; $i < count($fields); $i++) { list($str, $attr) = $fields[$i]; table_data_text($str, $attr, $nowrap = 1); } print "</tr>"; } $script = <<<EOS function _view_md(mjid) { var url = "{$env['self']}?mode=view&mjid="+mjid; wopen(url,1000,1000,1,1); //document.location.href = url; } function _list_subjobs(id) { var url = "subjob.php?mode=view&id="+id; document.location.href = url; } function _list_results(mjid) { var url = "result.php?mode=view&mjid="+mjid; document.location.href = url; } EOS; table_close($script); }
function _list() { global $form; ## {{ print <<<EOS <table border='0'> <form name='form' method='get' action='{$self}'> <tr> <td> <input type='hidden' name='mode' value='{$mode}'> <input type='submit' value='OK' style="width:50;height:50;"> </td> <td> EOS; if ($form['ckrf']) { $ck = ' checked'; } else { $ck = ''; } print <<<EOS <span class='label'>Refresh</span> <input type='checkbox' name='ckrf' id='ckrf'{$ck} onclick='_clk_reload()'><label for='ckrf'>automatic</label> EOS; $v = $form['rftime']; $sel = array(); if (!$v) { $v = 5; } $sel[$v] = ' selected'; print <<<EOS <select name='rftime' onchange='_change_rftime()'> <option value='2'{$sel['2']}>2 seconds</option> <option value='5'{$sel['5']}>5 seconds</option> <option value='10'{$sel['10']}>10 seconds</option> <option value='30'{$sel['30']}>30 seconds</option> <option value='60'{$sel['60']}>60 seconds</option> </select> <span id='spanTimer'></span> EOS; print "<br>"; print <<<EOS </td> </tr> </form> </table> EOS; global $page_title; print <<<EOS <script> var timer = 5; var form = document.form; var span = document.getElementById('spanTimer'); var stoptimer = 0; function _reload() { if (!form.ckrf.checked) return; form.submit(); } function _countdown() { if (_count_checked() > 0) stoptimer = true; else stoptimer = false; if (stoptimer) { setTimeout("_countdown()", 1000); return; } if (!form.ckrf.checked) return; var str = "" + timer + " sec"; parent.top.document.title = "{$page_title} (" + str + ")"; span.innerHTML = str; timer--; if (timer <= 0) _reload(); setTimeout("_countdown()", 1000); } function _change_rftime() { var interval = parseInt(form.rftime.value); timer = interval; } function _clk_reload() { setTimeout("_countdown()", 1000); } function _onload() { setTimeout("_countdown()", 1000); var interval = parseInt(form.rftime.value); timer = interval; } if (window.addEventListener) { window.addEventListener("load", _onload, false); } else if (document.attachEvent) { window.attachEvent("onload", _onload); } </script> EOS; ## }} $sql_from = " FROM CE CE"; $select_items = "CE.*, SI.name SIname" . ", IF(CE.available,'1','0') avail" . ", IF(CE.banned,'1','0') banned"; $sql_join = " LEFT JOIN service_infra SI ON CE.service_Infra_id=SI.id"; $w = array('1'); $sql_where = " WHERE " . join(" AND ", $w); $sql_order = " ORDER BY CE.name"; //$sql_order = " ORDER BY CE.banned, CE.available,CE.lastUpdateTime DESC"; $qry = "SELECT {$select_items} {$sql_from} {$sql_join} {$sql_where} {$sql_order}"; //dd($qry); $ret = db_query($qry); print <<<EOS <input type='button' onclick='_setavail(1)' value='Set Available'> <input type='button' onclick='_setavail(0)' value='Set UnAvailable'> <script> function _count_checked() { var form = document.form2; var cbs = document.getElementsByName('cb[]'); var len = cbs.length; var count = 0; for (i = 0; i < len; i++) { var cb = cbs[i]; if (cb.checked) { count++; } } return count; } function _setavail(flag) { var form = document.form2; var count = _count_checked(); if (count == 0) { alert("No Selection!!"); return; } if (!confirm("Mark the selected "+ count +" CE(s) as available?")) return; if (flag) form.mode2.value = '1'; else form.mode2.value = '0'; form.target = 'hiddenframe'; form.mode.value = 'setavail'; form.submit(); } </script> EOS; print <<<EOS <iframe name='hiddenframe' width='100' height='100' style="display:none"></iframe> EOS; $hi = "#,,ID,name,sInfra,banned,available,lastUpdate,elapsed,maxRunningTime,free,free(%),total,limit"; table_head($hi); print <<<EOS <form name='form2' action='{$env['self']}' method='post'> <input type='hidden' name='mode' value=''> <input type='hidden' name='mode2' value=''> EOS; // 변수명#옵션 // 옵션 _:일반변수, L:왼쪽정렬 R:오른쪽정렬 C:가운데정렬 $tdk = "cb#_,id,name,SIname,banned#_,avail#_,lastUpdateTime,elapsed#_,maxRunningTime,freeCPU,percent#_R,totalCPU,limitCPU"; $items = preg_split("/,/", $tdk); $count_banned = 0; $count_avail = 0; $count_total = 0; $sum = array(); $cnt = 0; while ($row = mysql_fetch_assoc($ret)) { $cnt++; $count_total++; //dd($row); //var_dump($row); $id = $row['id']; //$var['id'] = span_link($id, "_view_md('$id')"); $t1 = $row['lastUpdateTime']; $t2 = date('Y-m-d H:i:s'); $var['elapsed'] = diff_time($t2, $t1); if ($row['avail'] == '1') { $count_avail++; $var['avail'] = 'avail'; } else { $var['avail'] = '-'; } if ($row['banned'] == '1') { $count_banned++; $var['banned'] = 'banned'; } else { $var['banned'] = '-'; } $free = $row['freeCPU']; $sum['free'] += $free; $total = $row['totalCPU']; $sum['total'] += $total; $limit = $row['limitCPU']; $sum['limit'] += $limit; $var['percent'] = sprintf("%2.1f%%", $free / $total * 100); $var['cb'] = <<<EOS <input type='checkbox' name='cb[]' value='{$id}'> EOS; $fields = array(); $fields[] = array($cnt, ''); _push($fields, $items, $row, $var); print "<tr>"; for ($i = 0; $i < count($fields); $i++) { list($str, $attr) = $fields[$i]; table_data_text($str, $attr, $nowrap = 1); } print "</tr>"; } $script = <<<EOS function _view_md(mjid) { var url = "{$env['self']}?mode=view&mjid="+mjid; document.location.href = url; } EOS; $free = $sum['free']; $total = $sum['total']; $limit = $sum['limit']; $percent = sprintf("%2.1f%%", $sum['free'] / $sum['total'] * 100); $hi = "#,,,{$count_total},,{$count_banned},{$count_avail},,,,{$free},{$percent},{$total},{$limit}"; table_head($hi, $table_open = false); print <<<EOS </form> EOS; table_close($script); }
function _view() { global $form; $mjid = $form['id']; $select_items = "J.*, A.host, CE.name CEname"; $sql_from = " FROM Job J"; $sql_join = " LEFT JOIN Agent A ON J.agent_id=A.id" . " LEFT JOIN CE ON J.CE_id=CE.id"; $w = array(); $w[] = "J.metajob_id='{$mjid}'"; $v = $form['host']; if ($v != '') { $w[] = "A.host LIKE '%{$v}%'"; } $v = $form['status']; if ($v != '') { $w[] = "J.status='{$v}'"; } $sql_where = " WHERE " . join(" AND ", $w); $sql_order = " ORDER BY J.seq DESC"; $sql_from_join_where = "{$sql_from} {$sql_join} {$sql_where}"; $total = _total_count($sql_from_join_where); $ipp = 100; $page = $form['page']; list($start, $last, $page) = pager_calc_page($ipp, $total); //dd("$total, $start, $last, $page"); global $mode; print <<<EOS <form action='{$self}' method='get' name='sform'> EOS; $v = $form['host']; print <<<EOS <span class='lbl'>host</span><input type='text' name='host' size='10' value='{$v}' onclick="this.value=''"> EOS; $list = array('', 'preparing', 'running', 'done', 'failed'); $preset = $form['status']; $opt = option_general($list, $preset); print <<<EOS <span class='lbl'>status</span><select name='status'>{$opt}</select> EOS; global $mode; print <<<EOS <input type='hidden' name='mode' value='{$mode}'> <input type='hidden' name='id' value='{$form['id']}'> <input type='hidden' name='page' value='{$page}'> <input type='button' onclick='_submit()' value=' OK ' style="width:60px; height:30px;"> </form> <script> function _submit() { document.sform.submit(); } </script> EOS; // 페이지 이동 $html = pager_html($total, $page, $last, $ipp, 'sform'); print $html; $qry = "SELECT {$select_items} {$sql_from} {$sql_join} {$sql_where} {$sql_order}"; $qry .= " LIMIT {$start},{$ipp}"; //dd($qry); $ret = db_query($qry); $hi = "#,metajob_id,id,seq,name,errormsg,startTimestamp,lastUpdateTime,elapsed" . ",status,CE,agent_id,host,results"; table_head($hi); // 변수앞에 _을 붙이면 일반변수, 그렇지 않으면 $row의 key값 $tdk = "metajob_id,id,seq,name,errormsg,startTimestamp,lastUpdateTime,_elapsed" . ",status,CEname,agent_id,host,_results"; $items = preg_split("/,/", $tdk); $cnt = 0; while ($row = mysql_fetch_assoc($ret)) { $cnt++; //dd($row); $id = $row['id']; $results = span_link('results', "_list_results('{$id}')"); $s = $row['startTimestamp']; $e = $row['lastUpdateTime']; $elapsed = diff_time($e, $s); $fields = array(); $fields[] = array($cnt, $atr1); foreach ($items as $item) { $a = substr($item, 0, 1); // $item = '_cnt' if ($a == '_') { $key = substr($item, 1); // $key = 'cnt' $value = ${$key}; // $value = $cnt } else { if ($a == '') { $value = ''; } else { $value = $row[$item]; } } $fields[] = array($value, $atr1); } print "<tr>"; for ($i = 0; $i < count($fields); $i++) { list($str, $attr) = $fields[$i]; table_data_text($str, $attr, $nowrap = 1); } print "</tr>"; } $script = <<<EOS function _list_results(subjob_id) { var url = "result.php?mode=view&sjid="+subjob_id; document.location.href = url; } EOS; table_close($script); }
function finsh() { cache_del('pick' . $this->pid); $this->all_get_time = $this->pick_cache_data['all_get_time']; $all_get_time_str = diff_time($this->all_get_time, 1); $get_url_count = $this->i - 1; $avg_get_time = $this->all_get_time / $get_url_count; $all_get_time_str = $all_get_time_str ? $all_get_time_str : sprintf('%.2f', $this->all_get_time) . milu_lang('sec'); $finsh_output = milu_lang('pick_finsh', array('guc' => $get_url_count, 'g_v' => $get_url_count - $this->v_i, 'v_i' => $this->v_i, 'a' => $this->a, 'a_va' => $this->a - $this->v_a, 'v_a' => $this->v_a, 'all' => $all_get_time_str, 'avg' => sprintf('%.2f', $avg_get_time))); $this->get_pick_status(1); $this->status_arr['pro'] = 100; $this->status_arr['wait_time'] = $this->status_arr['wait_count'] = 0; show_pick_info($finsh_output, 'finsh', $this->status_arr); $this->words = null; $this->snoopy = null; $this->p_arr = null; exit; }