/** * 显示轮播广告 */ public function index() { //查询指定id的栏目信息 $id = I('get.id'); //类别ID $topnav = M('Adnav')->where("id={$id}")->select(); // dump($topnav); // exit; //查询指定id的栏目下的所有文章 foreach ($topnav as $k => $v) { //查询数据,没有分页 $where['advert_nav'] = $id; $topnav[$k]['news'] = D('Advert')->where($where)->order('advert_sort')->relation(true)->select(); $result = $topnav[$k]['news']; } //**分页实现代码 $count = count($result); // 查询满足要求的总记录数 $Page = new \Think\Page($count, 5); // 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show(); // 分页显示输出 //**分页实现代码 //查询指定id的栏目下的所有文章 foreach ($topnav as $k => $v) { //查询数据,没有分页 $where['advert_nav'] = $id; $topnav[$k]['news'] = D('Advert')->where($where)->relation(true)->limit($Page->firstRow . ',' . $Page->listRows)->order('advert_sort,id desc')->select(); $result = $topnav[$k]['news']; } //循环截取字符 substr_ext函数写在commonaction.class.php中 foreach ($result as $k2 => $v2) { $result[$k2]['advert_name'] = Common::substr_ext($v2['advert_name'], 0, 12, 'utf-8', ""); } foreach ($result as $k2 => $v2) { $result[$k2]['advert_size'] = get_byte($v2['advert_size']); } // dump($result); // exit; $this->assign('page', $show); // 赋值分页输出 $this->assign('vlist', $result); $this->assign('nav', $id); $this->assign('count', $count); $this->display(); }
/** * 显示轮播广告 */ public function index() { $m = D('Column'); $arr = $m->relation(true)->where("column_link=0 AND f_id=0")->order('column_sort')->select(); //**分页实现代码 $count = count($arr); // 查询满足要求的总记录数 $Page = new \Think\Page($count, 5); // 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page->show(); // 分页显示输出 //**分页实现代码 $arr = $m->relation(true)->where("column_link=0 AND f_id=0")->order('column_sort')->limit($Page->firstRow . ',' . $Page->listRows)->select(); // dump($arr); // exit; foreach ($arr as $k2 => $v2) { $arr[$k2]['column_imgsize'] = get_byte($v2['column_imgsize']); } $this->assign('page', $show); // 赋值分页输出 $this->assign('vlist', $arr); $this->assign('count', $count); $this->display(); }
/** * 还原数据库内容 */ public function restore() { //**判断是否有限权,显示登录管理员信息 $id = $_SESSION['id']; //dump($id); //exit; $m = D('Admin'); $arr = $m->find($id); $arr = $arr['admin_type']; //dump($arr); //exit; if ($arr == 1) { // 如果不是超级管理员限权 $this->error('你不是超级管理员,没有限权!'); } //exit; $size = 0; $pattern = "*.sql"; $filelist = glob($this->getDbPath() . '/' . $pattern); $fileArray = array(); foreach ($filelist as $i => $file) { //只读取文件 if (is_file($file)) { $_size = filesize($file); $size += $_size; $name = basename($file); $pre = substr($name, 0, strrpos($name, '_')); $number = str_replace(array($pre . '_', '.sql'), array('', ''), $name); $fileArray[] = array('name' => $name, 'pre' => $pre, 'time' => filemtime($file), 'size' => $size, 'number' => $number); } } if (empty($fileArray)) { $fileArray = array(); } krsort($fileArray); //按备份时间倒序排列 $this->assign('vlist', $fileArray); $this->assign('total', get_byte($size)); $this->assign('filenum', count($fileArray)); $this->assign('module', MODULE_NAME); $this->assign('type', '备份文件列表'); $this->display(); }
/** * 显示后台右边页面 */ public function right() { //**查询admin表的数据 //**显示登录用户信息 $id = $_SESSION['id']; // dump($id); // exit; $m = D('Admin'); $arr = $m->find($id); //var_dump($arr); $this->assign('v', $arr); //显示站点统计 $m = D('User'); $countUser = $m->count(); // 查询满足要求的总记录数 $this->assign('countUser', $countUser); $m = D('News'); $countNews = $m->count(); // 查询满足要求的总记录数 $this->assign('countNews', $countNews); $m = D('Guestbook '); $countGuestbook = $m->count(); // 查询满足要求的总记录数 $this->assign('countGuestbook', $countGuestbook); $m = D('Advert '); $countAdvert = $m->count(); // 查询满足要求的总记录数 $this->assign('countAdvert', $countAdvert); $m = D('Notice '); $countNotice = $m->count(); // 查询满足要求的总记录数 $this->assign('countNotice', $countNotice); //数据库大小 $dbtables = M()->query('SHOW TABLE STATUS'); $total = 0; foreach ($dbtables as $k => $v) { $dbtables[$k]['size'] = get_byte($v['data_length'] + $v['index_length']); $total += $v['data_length'] + $v['index_length']; } $this->assign('total', get_byte($total)); $this->display(); }
if (isset($_GET['folder'])) { $dest_folder = urldecode($_GET['folder']); } else { $errors[] = TB_NOT_IN_ALLOWED_DIR; } // Check file extension isn't prohibited $nameparts = explode('.', $_FILES['Filedata']['name']); $ext = end($nameparts); if (!validateExtension($ext, $_SESSION['tinybrowser']['prohibited'])) { $errors[] = TB_FORBIDDEN_FILEXT; } if (strpos($_SESSION['tinybrowser']['filetype'][$typenow], $ext) === false) { $errors[] = TB_FORBIDDEN_FILEXT; } // Check file size if (isset($_FILES['Filedata']['size']) && $_FILES['Filedata']['size'] > get_byte($_SESSION['tinybrowser']['maxsize'][$typenow])) { $errors[] = TB_MSGMAXSIZE; } if ($_SESSION['tinybrowser']['debug_mode'] && !empty($_SESSION['tinybrowser']['webmaster_email'])) { $msg = "ERRORS: " . print_r($errors, true) . "\n\nPOST: " . print_r($_POST, true) . "\n\nGET: " . print_r($_GET, true) . "\n\nSESSION: " . print_r($_SESSION, true); mail($_SESSION['tinybrowser']['webmaster_email'], 'TinyBrowser File Upload Attempt', $msg); if (!empty($errors)) { exit; } } // Check file data if ($_FILES['Filedata']['tmp_name'] && $_FILES['Filedata']['name']) { $source_file = $_FILES['Filedata']['tmp_name']; $file_name = stripslashes($_FILES['Filedata']['name']); if ($_SESSION['tinybrowser']['cleanfilename']) { $file_name = clean_filename($file_name);
<body onload=' var so = new SWFObject("flexupload.swf", "mymovie", "100%", "340", "9", "#ffffff"); so.addVariable("folder", "<?php echo $uploadpath; ?> "); so.addVariable("uptype", "<?php echo $typenow; ?> "); so.addVariable("destid", "<?php echo $passupfeid; ?> "); so.addVariable("maxsize", "<?php echo get_byte($_SESSION['tinybrowser']['maxsize'][$typenow]); ?> "); so.addVariable("sessid", "<?php echo session_id(); ?> "); so.addVariable("obfus", "<?php echo end($_SESSION['get_tokens']); ?> "); so.addVariable("filenames", "<?php echo $filelist; ?> "); so.addVariable("extensions", "<?php
function get_byte($fp) { $byte = fread($fp, 1); return $byte == "\r" ? get_byte($fp) : $byte; }
function userErrorHandler($errno, $errmsg, $filename, $linenum, $vars) { // timestamp for the error entry. $dt = date('Y-m-d H:i:s (T)'); // define an assoc array of error string // in reality the only entries we should // consider are E_WARNING, E_NOTICE, E_USER_ERROR, // E_USER_WARNING and E_USER_NOTICE. $errortype = array(E_ERROR => 'Error', E_WARNING => 'Warning', E_PARSE => 'Parsing Error', E_NOTICE => 'Notice', E_CORE_ERROR => 'Core Error', E_CORE_WARNING => 'Core Warning', E_COMPILE_ERROR => 'Compile Error', E_COMPILE_WARNING => 'Compile Warning', E_USER_ERROR => 'User Error', E_USER_WARNING => 'User Warning', E_USER_NOTICE => 'User Notice', E_STRICT => 'Runtime Notice'); // set of errors for which a var trace will be saved. $user_errors = array(E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE); if ($errno != E_STRICT) { $err = $dt . "\t"; $err .= $errno . ' ' . $errortype[$errno] . "\t"; $err .= $errmsg . "\t"; $err .= 'File: ' . basename($filename) . "\t"; $err .= 'Line: ' . $linenum . "\t"; if (in_array($errno, $user_errors)) { $err .= 'Trace: ' . wddx_serialize_value($vars, 'Variables') . "\t"; } $err .= "\n"; // create error log if not exist if (!file_exists($_SESSION['tinybrowser']['error_log_file'])) { @fopen($_SESSION['tinybrowser']['error_log_file'], 'w'); } // rotate log files if (filesize($_SESSION['tinybrowser']['error_log_file']) > get_byte($_SESSION['tinybrowser']['error_log_file_max'])) { if ($_SESSION['tinybrowser']['error_log_rotation']) { $oldlog = str_replace('.log', '', $_SESSION['tinybrowser']['error_log_file']); $oldlog = $oldlog . '_' . date("YmdHi") . '.log'; rename($_SESSION['tinybrowser']['error_log_file'], $oldlog); } else { unlink($_SESSION['tinybrowser']['error_log_file']); } } error_log($err, 3, $_SESSION['tinybrowser']['error_log_file']); } if (!in_array($errno, array(E_NOTICE, E_STRICT))) { die($err); } }