$authkey = substr(md5($_SERVER['SERVER_ADDR'] . $_SERVER['HTTP_USER_AGENT'] . $dbhost . $dbuser . $dbpw . $dbname . $username . $password . $pconnect . substr($timestamp, 0, 8)), 8, 6) . random(10); DB::update('common_setting', array('svalue' => $authkey), "skey = 'authkey'"); } elseif ($value == 'my_sitekey' && $xver >= 2) { require_once DISCUZ_ROOT . '/api/manyou/Manyou.php'; $cloudClient = new Discuz_Cloud_Client(); $res = $cloudClient->resetKey(); if (!$res) { $cpmessage .= $toolslang['mykeyerror']; } else { $sId = $res['sId']; $sKey = $res['sKey']; DB::query("REPLACE INTO " . DB::table('common_setting') . " (`skey`, `svalue`)\n \t\t\t\t\t\tVALUES ('my_siteid', '{$sId}'), ('my_sitekey', '{$sKey}'), ('cloud_status', '1')"); } } } updatecache('setting'); cpmsg($toolslang['changekey_update'] . $cpmessage, "action=plugins&cp=file_changekey&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'succeed'); } loaducenter(); showformheader("plugins&cp=file_changekey&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}"); showtipss($toolslang['changekey_tips']); showtableheaders($toolslang['changekey']); $uckey = substr(UC_KEY, 0, 5) . '**********'; $config_authkey = substr($_config['security']['authkey'], 0, 5) . '**********'; $setting_authkey = substr($_G[setting][authkey], 0, 5) . '**********'; $my_sitekey = substr($_G[setting][my_sitekey], 0, 5) . '**********'; showtablerow('', '', $toolslang['nowuc_key'] . ' : ' . $uckey); showtablerow('', '', $toolslang['nowconfig_authkey'] . ' : ' . $config_authkey); showtablerow('', '', $toolslang['nowmy_sitekey'] . ' : ' . $my_sitekey); showsubmit('keysubmit', $toolslang['changekey']); showtablefooter();
* $Id: file_php.inc.php 79 2012-04-16 10:06:12Z wangbin $ */ (!defined('IN_DISCUZ') || !defined('IN_ADMINCP')) && exit('Access Denied'); if (submitcheck('templatesubmit') || submitcheck('attsubmit') || submitcheck('staticsubmit') || submitcheck('othersubmit')) { $filelist = ''; if ($_GET['templatesubmit']) { findfile('./template', array('php')); } elseif ($_GET['attsubmit']) { findfile('./data/attachment', array('php')); } elseif ($_GET['staticsubmit']) { findfile('./static', array('php')); } elseif ($_GET['othersubmit']) { findfile('./data', array('php'), array('attachment', 'template', 'threadcache', 'request', 'cache', 'log', 'plugindata')); } } showformheader("plugins&cp=file_php&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}"); showtipss($toolslang['file_phptip']); showtableheaders($toolslang['file_php']); showsubmit('templatesubmit', 'submit', $toolslang['template_php']); showsubmit('attsubmit', 'submit', $toolslang['attachment_php']); showsubmit('staticsubmit', 'submit', $toolslang['static_php']); showsubmit('othersubmit', 'submit', $toolslang['other_php']); showtablefooter(); if (is_array($filelist) && count($filelist) > 0) { showtableheader($toolslang['file_php_result']); showsubtitle(array('', $toolslang['file_path'])); foreach ($filelist as $value) { showtablerow('', array(), array('', realpath($value))); } showtablefooter(); }
cpmsg($toolslang['motion_emptytid'], "action=plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); } DB::update($thread, array('views' => $_GET['views']), "tid = {$_GET['tid']}"); cpmsg($toolslang['motion_success'], "action=plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'succeed'); } elseif (submitcheck('motion_hispostsubmit')) { if (!is_num($_GET['hispost']) || !is_num($_GET['fid'])) { cpmsg($toolslang['motion_hiserror'], "action=plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); } $_GET['hispost'] = intval($_GET['hispost']); $_GET['fid'] = intval($_GET['fid']); $fidcount = DB::result_first("SELECT count(*) FROM " . DB::table('forum_forum') . " WHERE fid = {$_GET['fid']}"); if ($fidcount == 0) { cpmsg($toolslang['motion_nofid'], "action=plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); } else { DB::update('forum_forum', array('todayposts' => "{$_GET['hispost']}"), "fid = {$_GET['fid']}"); cpmsg($toolslang['motion_success'], "action=plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'succeed'); } } showformheader("plugins&pmod=operation&cp=motion&operation={$operation}&do={$do}&identifier={$identifier}", 'submit'); showtableheaders($toolslang['motion_threadclick']); showsetting($toolslang['motion_tid'], 'tid', '', 'text'); showsetting($toolslang['motion_views'], 'views', '', 'text'); showsubmit('motion_viewsubmit', $toolslang['submit']); showtablefooter(); //historyposts showtableheaders($toolslang['motion_hispost']); showsetting($toolslang['motion_forumfid'], 'fid', '', 'text'); showsetting($toolslang['motion_forumpost'], 'hispost', '', 'text'); showsubmit('motion_hispostsubmit', $toolslang['submit']); showtablefooter(); showformfooter();
} } $converted = 1; } if ($converted || $end < $maxid) { $nextlink = "action=plugins&cp=censor_scanprotal&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&start={$end}&maxid={$maxid}&convertedrows={$convertedrows}&wordstart={$wordstart}&wordmaxid={$wordmaxid}&{$action}=yes"; cpmsg($toolslang['censor_homescanstart'], $nextlink, 'loading', array('start' => $start, 'end' => $end, 'wordstart' => $wordstart, 'wordend' => $wordend, 'posttableid' => $posttableid)); } elseif ($wordend < $wordmaxid) { $nextlink = "action=plugins&cp=censor_scanprotal&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&start=0&maxid={$maxid}&convertedrows={$convertedrows}&wordstart={$wordend}&wordmaxid={$wordmaxid}&{$action}=yes"; cpmsg($toolslang['censor_homescanstart'], $nextlink, 'loading', array('start' => $start, 'end' => $end, 'wordstart' => $wordstart, 'wordend' => $wordend, 'posttableid' => $posttableid)); } elseif ($end >= $maxid || $wordend >= $wordmaxid) { cpmsg($toolslang['censor_scanresult'], "action=plugins&cp=censor_scanprotal&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'succeed', array('count' => $convertedrows)); } } showformheader("plugins&cp=censor_scanprotal&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}"); showtableheaders($toolslang['censor_protalinfo'], 'censor'); $totalarticlecount = DB::result_first("SELECT count(aid) FROM " . DB::table('portal_article_title')); $totalcommontcount = DB::result_first("SELECT count(cid) FROM " . DB::table('portal_comment')); showtablerow('', array('class="td21"'), array($toolslang['censor_articlecount'], $totalarticlecount, "<input type='submit' value={$toolslang['censor_beginscan']} title={$toolslang['censor_beginscan']} name='articlescansubmit' class='btn'>")); showtablerow('', array('class="td21"'), array($toolslang['censor_acommontcount'], $totalcommontcount, "<input type='submit' value={$toolslang['censor_beginscan']} title={$toolslang['censor_beginscan']} name='acommentscansubmit' class='btn'>")); showtablefooter(); $count = DB::result_first("SELECT COUNT(*) FROM " . DB::table('tools_censorhome') . " WHERE type IN ('article','acomment')"); $multipage = multi($count, $ppp, $page, ADMINSCRIPT . "?action=plugins&cp=censor_scanprotal&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&a=scanhome"); $query = DB::query("SELECT * FROM " . DB::table('tools_censorhome') . " WHERE type IN ('article','acomment') LIMIT {$startlimit}, {$ppp}"); showtableheader($toolslang['censor_homemod'], 'censor'); showtablerow('', array('class="td21"'), array($toolslang[censor_hometype], $toolslang[censor_homelink])); while ($data = DB::fetch($query)) { $datas['type'] = convtype($data['type'], $toolslang); if ($data['type'] == 'article') { $datas['links'] = "<a href={$_G['siteurl']}portal.php?mod=view&aid={$data[itemid]} target=_blank>{$_G['siteurl']}portal.php?mod=view&aid={$data[itemid]}</a>"; } elseif ($data['type'] == 'acomment') {
} elseif ($wordend < $wordmaxid) { $nextlink = "action=plugins&cp=censor_scanbbs&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&start=0&maxid={$maxid}&threads_mod={$threads_mod}&threads_banned={$threads_banned}&posts_mod={$posts_mod}&convertedrows={$convertedrows}&wordstart={$wordend}&wordmaxid={$wordmaxid}&posttableid={$posttableid}&bbsscansubmit=yes"; cpmsg($toolslang[censor_scanstart], $nextlink, 'loading', array('start' => $start, 'end' => $end, 'wordstart' => $wordstart, 'wordend' => $wordend, 'posttableid' => $posttableid)); } elseif ($posttableid > 0 && ($end >= $maxid || $wordend >= $wordmaxid)) { $posttableid2 = $posttableid - 1; $nextlink = "action=plugins&cp=censor_scanbbs&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&start=0&threads_mod={$threads_mod}&threads_banned={$threads_banned}&posts_mod={$posts_mod}&convertedrows={$convertedrows}&posttableid={$posttableid2}&bbsscansubmit=yes"; cpmsg($toolslang[censor_jumpposttable], $nextlink, 'loading', array('id' => $posttableid)); } elseif ($end >= $maxid || $wordend >= $wordmaxid) { $mod = $posts_mod + $threads_mod; $counter = $convertedrows + $mod + $threads_banned; $discuz_user = $_G['member']['username']; cpmsg($toolslang[censor_scanresult], "action=plugins&cp=censor_scanbbs&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}&a=scanbbs", 'succeed', array('count' => $counter)); } } showformheader("plugins&cp=censor_scanbbs&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}"); showtableheaders($toolslang['censor_bbsinfo'], 'censor'); $log = toolsgetsetting('bbsltime'); $logs = explode('|', $log); $bbsltime = $logs[0]; $totalthreadcount = DB::result_first("SELECT count(tid) FROM " . DB::table('forum_thread')); $baththreadcount = DB::result_first("SELECT count(tid) FROM " . DB::table('forum_thread') . " WHERE dateline >= '{$bbsltime}'"); $posttablemaxid = DB::result_first("SELECT MAX(posttableid) FROM " . DB::table('forum_thread')); $id = 0; $postcount = 0; $totalcount = 0; while ($id <= $posttablemaxid) { if ($id == 0) { $totalpostcount = DB::result_first("SELECT count(pid) FROM " . DB::table('forum_post')); $bathpostcount = DB::result_first("SELECT count(pid) FROM " . DB::table('forum_post') . " WHERE dateline >= '{$bbsltime}'"); } else { $totalpostcount = DB::result_first("SELECT count(pid) FROM " . DB::table('forum_post_' . $id));
$salt = substr(uniqid(rand()), 0, 6); $ucpassword = $_GET['password']; $md5_uc_password = md5(md5($ucpassword).$salt); $config = file_get_contents($configfile); $config = preg_replace("/define\('UC_FOUNDERSALT',\s*'.*?'\);/i", "define('UC_FOUNDERSALT', '$salt');", $config); $config = preg_replace("/define\('UC_FOUNDERPW',\s*'.*?'\);/i", "define('UC_FOUNDERPW', '$md5_uc_password');", $config); $fp = @fopen($configfile, 'w'); @fwrite($fp, $config); @fclose($fp); cpmsg($toolslang['ucpasswordsuccess'],"action=plugins&pmod=ucenter&cp=ucpassword&operation=$operation&do=$do&identifier=$identifier",'succeed'); showformheader("plugins&pmod=ucenter&cp=ucpassword&operation=$operation&do=$do&identifier=$identifier",'submit'); showtableheaders($toolslang['ucpassword']); showtablerow('', array('class="td21"'), array( $toolslang['ucpassword_tip'], '<input type="text" class="txt" name="password" value="" /><input type="submit" class="btn" name="ucpasswordsubmit" value="'.$lang['submit'].'" />' )); showtablefooter(); showformfooter(); }else{ showformheader("plugins&pmod=ucenter&cp=ucpassword&operation=$operation&do=$do&identifier=$identifier",'submit'); showtableheaders($toolslang['ucpassword']); showtablerow('', array('class="td21"'), array( $toolslang['ucpassword_tip'], '<input type="text" class="txt" name="password" value="" /><input type="submit" class="btn" name="ucpasswordsubmit" value="'.$lang['submit'].'" />' )); showtablefooter(); showformfooter(); } ?>
function showtipss($tips, $id = 'tips', $display = TRUE, $title = '') { $tips = cplang($tips); $tips = preg_replace('#</li>\s*<li>#i', '</li><li>', $tips); $tmp = explode('</li><li>', substr($tips, 4, -5)); if(!count($tmp) > 4) { $tips = '<li>'.$tmp[0].'</li><li>'.$tmp[1].'</li><li id="'.$id.'_more" style="border: none; background: none; margin-bottom: 6px;"><a href="###" onclick="var tiplis = $(\''.$id.'lis\').getElementsByTagName(\'li\');for(var i = 0; i < tiplis.length; i++){tiplis[i].style.display=\'\'}$(\''.$id.'_more\').style.display=\'none\';">'.cplang('tips_all').'...</a></li>'; foreach($tmp AS $k => $v) { if($k > 1) { $tips .= '<li style="display: none">'.$v.'</li>'; } } } unset($tmp); $title = $title ? $title : 'tips'; showtableheaders($title, '', 'id="'.$id.'"'.(!$display ? ' style="display: none;"' : ''), 0); showtablerow('', 'class="tipsblock" s="1"', '<ul id="'.$id.'lis">'.$tips.'</ul>'); showtablefooter(); }
if (empty($_GET['keyword'])) { cpmsg($toolslang['file_nokeyword'], "action=plugins&cp=file_search&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); exit; } if (empty($_GET['sdir'])) { cpmsg($toolslang['file_nodir'], "action=plugins&cp=file_search&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); exit; } $_GET['keyword'] = str_replace('*', '(.*)', $_GET['keyword']); $keyword = strtolower(dstripslashes($_GET['keyword'])); $dir = $_GET['sdir']; $check = ''; $keyword2 = str_replace(array('.', '/', '$', '(', ')', '?', '{', '}', '|', '+', '[', ']', '^'), array('\\.', '\\/', '\\$', '\\(', '\\)', '\\?', '\\{', '\\}', '\\|', '\\+', '\\[', '\\]', '\\^'), $keyword); foreach ($dir as $value) { $sub = $value == '.' ? 0 : 1; //echo $value;exit; searchkeyword($keyword2, $value . '/', $sub); } if (is_array($check) && count($check) > 0) { showtableheaders($toolslang['file_result'] . "<font color=red>{$keyword}</font>"); showsubtitle(array('', $toolslang['file_realpath'], $toolslang['file_keyrows'])); foreach ($check as $key => $value) { if ($value) { showtablerow('', array(), array('', $key, $value)); } } showtablefooter(); } else { cpmsg($toolslang['nocheck'], "action=plugins&cp=file_search&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); } }
$rule2 = $rule['sec']; searchkeyword($rule2, './', 1, array('attachment', 'template'), 1); } if (is_array($check) && count($check) > 0) { showtableheader($toolslang['file_result'] . "<font color=red>{$rule2}</font>"); showsubtitle(array('', $toolslang['file_realpath'], $toolslang['file_hackresult'])); foreach ($check as $key => $value) { if ($value) { showtablerow('', array(), array('', $key, $value)); } } showtablefooter(); } else { cpmsg($toolslang['nocheck'], "action=plugins&cp=file_hack&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}", 'error'); } } showformheader("plugins&cp=file_hack&pmod=safe&operation={$operation}&do={$do}&identifier={$identifier}"); showtipss($toolslang['file_hacktip']); showtableheaders($toolslang['file_hack']); foreach ($rule as $key => $value) { showsubmit($key . 'hacksubmit', 'submit', $value); } showtablefooter(); if (is_array($filelist) && count($filelist) > 0) { showtableheader($toolslang['file_php_result']); showsubtitle(array('', $toolslang['file_path'])); foreach ($filelist as $value) { showtablerow('', array(), array('', realpath($value))); } showtablefooter(); }
showsubmit('att_clean_submit', 'submit', '<input type="checkbox" name="chkall" onclick="checkAll(\'prefix\', this.form, \'attarray\')" class="checkbox">' . cplang('del'), ''); showtablefooter(); showformfooter(); } else { if (intval($xver) >= 2) { $tablearray = array('forum_attachment_0' => 'attachment', 'forum_attachment_1' => 'attachment', 'forum_attachment_2' => 'attachment', 'forum_attachment_3' => 'attachment', 'forum_attachment_4' => 'attachment', 'forum_attachment_5' => 'attachment', 'forum_attachment_6' => 'attachment', 'forum_attachment_7' => 'attachment', 'forum_attachment_8' => 'attachment', 'forum_attachment_9' => 'attachment', 'home_pic' => 'filepath', 'portal_attachment' => 'attachment'); } else { $tablearray = array('forum_attachment' => 'attachment', 'home_pic' => 'filepath', 'portal_attachment' => 'attachment'); } foreach ($tablearray as $key => $value) { checkattindex($key, $value); } $dirlist = array(); foreach (glob(DISCUZ_ROOT . "/data/attachment/portal/*", GLOB_ONLYDIR) as $dirname) { $dirlist[] = array($dirname, str_replace(DISCUZ_ROOT . '/data/attachment/', '', $dirname)); } foreach (glob(DISCUZ_ROOT . "/data/attachment/album/*", GLOB_ONLYDIR) as $dirname) { if (strpos($dirname, 'cover') === false) { $dirlist[] = array($dirname, str_replace(DISCUZ_ROOT . '/data/attachment/', '', $dirname)); } } foreach (glob(DISCUZ_ROOT . "/data/attachment/forum/*", GLOB_ONLYDIR) as $dirname) { $dirlist[] = array($dirname, str_replace(DISCUZ_ROOT . '/data/attachment/', '', $dirname)); } showformheader("plugins&operation={$operation}&do={$do}&identifier={$identifier}&pmod=maintain&cp=clean_att", 'submit'); showtableheaders(); showsetting('dir', array('dira', $dirlist), '', 'select', '', ''); showsubmit('att_submit', 'submit'); showtablefooter(); showformfooter(); }
)); } } } updatecache('censor'); cpmsg('censor_succeed', "action=plugins&cp=censor&pmod=safe&operation=$operation&do=$do&page=$page", 'succeed'); } if(submitcheck('censorsercsubmit')) { if($_GET['beforeword']) { $extrasql = "AND find LIKE '%$_GET[beforeword]%'"; } //echo $extrasql = "AND find LIKE %$_GET[beforeword]%";exit; } showformheader("plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do"); showtableheaders($toolslang['censor_admin'],'censor'); showsubmit('censorsercsubmit', $toolslang['censorsearch'], $toolslang['find'].' <input name="beforeword" value="" class="txt" />'); $count = DB::result_first("SELECT COUNT(*) FROM ".DB::table('common_word')." w WHERE 1 $extrasql"); $multipage = multi($count, $ppp, $page, ADMINSCRIPT."?action=plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do&filter=$filter"); echo "<td>".$toolslang['tips'].$count. $toolslang['filter']. "<a href='$BASESCRIPT?action=plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do&filter=banned'><font color=red>$toolslang[censor_banned]</font></a> ". "<a href='$BASESCRIPT?action=plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do&filter=mod'><font color=green>$toolslang[censor_mod]</font></a> ". "<a href='$BASESCRIPT?action=plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do&filter=replace'><font color=magenta>$toolslang[censor_re]</font></a> ". "<a href='$BASESCRIPT?action=plugins&cp=censor_admin&pmod=safe&operation=$operation&do=$do'>$toolslang[censor_all]</a>". "</td>"; showtablefooter(); showtableheader($toolslang['censor_view'], 'fixpadding'); showsubtitle(array('', 'misc_censor_word', 'misc_censor_replacement', 'operator'));
showtableheaders($toolslang['uc_viewpm']); showtablerow('', array('class="td21"'), array($toolslang['uc_viewsend'], '<input type="text" class="txt" name="username" value="' . dstripslashes($_GET['username']) . '" /><input type="submit" class="btn" name="submit" value="' . $lang['submit'] . '" />')); showtablerow('', array('class="td21"'), array($toolslang['uc_viewto'], '<input type="text" class="txt" name="msgttoname" value="' . dstripslashes($_GET['msgttoname']) . '" /><input type="submit" class="btn" name="submit" value="' . $lang['submit'] . '" />')); showtablerow('', array('class="td21"'), array($toolslang['uc_clearpm'], '<input type="text" class="txt" name="clearpms" value="" /><input type="submit" class="btn" name="submit" value="' . $lang['submit'] . '" />')); showtablefooter(); showformfooter(); if ($clearpms) { DB::query("DELETE FROM " . UC_DBTABLEPRE . "pms WHERE msgfromid = {$clearpms} OR msgtoid = {$clearpms}"); $rows = DB::affected_rows(); cpmsg($rows, "action=plugins&pmod=maintain&cp=aboutucenter&operation={$operation}&do={$do}&mod=pm"); } $count = DB::result_first("SELECT count(*) FROM " . UC_DBTABLEPRE . "pms {$sqlplus}"); $multipage = multi($count, $ppp, $page, ADMINSCRIPT . "?action=plugins&pmod=maintain&cp=aboutucenter&operation={$operation}&do={$do}&mod=pm&username={$_GET['username']}"); //echo "SELECT * FROM ".UC_DBTABLEPRE."pms $sqlplus GROUP BY dateline, msgtoid ORDER BY dateline DESC LIMIT $startlimit,$ppp";exit; $pmss = DB::query("SELECT * FROM " . UC_DBTABLEPRE . "pms {$sqlplus} AND related = 1 ORDER BY msgtoid DESC LIMIT {$startlimit},{$ppp}"); showtableheaders(dstripslashes($_GET['username']) . $toolslang['uc_pmhis']); showsubtitle(array($toolslang['uc_pmfrom'], $toolslang['uc_pmtoer'], $toolslang['uc_pmcontent'], $toolslang['uc_pmtime'])); while ($data = DB::fetch($pmss)) { //$showdata[] = $data['pmid']; $showdata[1] = "<a href=" . ADMINSCRIPT . "?action=plugins&pmod=maintain&cp=aboutucenter&operation={$operation}&do={$do}&mod=pm&username={$data['msgfrom']}>" . $data['msgfrom'] . "</a>"; if (!$data['msgfrom']) { $showdata[1] = 'SYSTEM'; } $showdata[2] = DB::result_first("SELECT username FROM " . DB::table('common_member') . " WHERE uid = {$data['msgtoid']}"); $showdata[3] = $data['message']; $showdata[4] = date('Y-m-d H:i', $data['dateline']); showtablerow('', array(), $showdata); } showtablerow('', array('class="td25"'), array('', '', '', '', $multipage)); showtablefooter(); }