function m__set_level() { global $dbm; $_POST = helper::sqlxss($_POST); $aid = isset($_POST['aid']) ? intval($_POST['aid']) : 0; $gid = isset($_POST['gid']) ? intval($_POST['gid']) : 0; $_POST['level'] = isset($_POST['level']) ? $_POST['level'] : array(); if ($aid < 0 && $gid < 0) { die('{"code":"1","msg":"请选择权限设置对象,无法设置"}'); } if ($gid > 0) { if ($gid == 1) { die('{"code":"100","msg":"超级管理组权限无需设置"}'); } check_level("B0301"); $fields['g_urank'] = implode(',', $_POST['level']); $rs = $dbm->single_update(TB_PREFIX . 'admin_group', $fields, "group_id='{$gid}'"); logs("设置组权限成功:" . $fields['g_urank']); die('{"code":"0","msg":"设置用户组权限成功"}'); } if ($aid > 0) { check_level("B0302"); //die(print_r($_POST)); $fields['alevel'] = implode(',', $_POST['level']); $rs = $dbm->single_update(TB_PREFIX . 'admin_list', $fields, "admin_id='{$aid}'"); logs("设置组权限成功:" . $fields['alevel']); die('{"code":"0","msg":"设置用户权限成功"}'); } }
public function doAdd() { $udata['user_name'] = text($_POST['user_name']); $cs = M('members')->where($udata)->count('id'); if ($cs > 0) { $this->error("添加失败,此用户名已被占用,请重试"); exit; } if (empty($udata['user_name'])) { $this->error("用户名不能为空,请重试"); exit; } $udata['is_transfer'] = 1; $udata['reg_ip'] = get_client_ip(); $udata['user_leve'] = 1; $udata['time_limit'] = time() + 24 * 3600 * 360; $udata['user_pass'] = md5(time() . rand(10, 99)); $udata['reg_time'] = strtotime($_POST['reg_time'] . " " . date("H:i:s", time())); $newid = M('members')->add($udata); if ($newid) { $idata['uid'] = $newid; $idata['real_name'] = text($_POST['real_name']); $idata['address'] = text($_POST['address']); $idata['info'] = text($_POST['info']); M('member_info')->add($idata); alogs("Tmembers", $newid, 1, '成功执行了流转会员的添加操作!'); //管理员操作日志 $this->success("添加成功", __URL__ . "/index"); } else { logs("Tmembers", $newid, 0, '执行流转会员的添加操作失败!'); //管理员操作日志 $this->error("添加失败,请重试"); } }
/** * 保存登陆信息 * @param [type] $user */ private function autoLogin($user) { $loginData = ['uid' => $user['id'], 'account' => $user['account'], 'login' => $user['login'], 'last_time' => $user['last_time'], 'last_ip' => $user['last_ip']]; session('user_auth', $loginData); session('user_auth_sign', data_auth_sign($loginData)); // 保存登陆信息 $saveData = ['last_ip' => get_client_ip(), 'last_time' => NOW_TIME, 'login' => ['exp', '`login`+1']]; Db::name('Member')->where('id', $user['id'])->update($saveData); logs('登陆成功', '', $user['id']); }
function checkToken() { if (API_KEY != (isset($_GET["token"]) ? $_GET["token"] : false)) { logs("ERROR TOKEN!"); logs_var("_GET", $_GET); logs_var("_POST", $_POST); logs_var("_SERVER", $_SERVER); exit; } }
public function indexAction() { $where = array('id' => 37936); //第一个参数是要打印的内容 //第二各参数是生成日志文件名 //第三个参数$level分为:EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL logs('zas'); //$user=new ZysModel('hb_users');//直接实例化给表名就行了,其他跟操作thinkphp一样 //$result = $user->where($where)->select(); //echo $user->getlastsql(); //print_r($result); alert("3"); exit; }
function runConsumer($topic) { $lockfile = '/tmp/mytest.lock'; $startTime = explode(' ', microtime()); $kmlCachePath = getconfig('kmlCachePath'); //本地缓存里存在数据则优先执行 $cacheFiles = getFileList('./cache/' . $topic); if (!empty($cacheFiles)) { sort($cacheFiles); foreach ($cacheFiles as $f) { $kmls = json_decode(file_get_contents($f)); $items = array_chunk($kmls, 25); foreach ($items as $item) { updataKml($item, $startTime, $f, 2, $topic); } } } // $i = 1; $f = ''; logs(date('h:i:s', time()) . $topic . ' start ...', 1, 'consumer', $topic); while ($da = kafka::getInstance()->get($topic)) { $starttime = explode(' ', microtime()); if (!empty($da->messageList)) { foreach ($da->messageList as $d) { $kmls[] = json_decode($d->message); } //$i++; //if($i > 10){ updataKml($kmls, $starttime, $f, 1, $topic); usleep(10); logs(date('H:i:s') . 'sleep 10', 1, 'consumer', $topic); $kmls = []; /* $i = 1; } }else{ if(!empty($kmls)){ updataKml($kmls,$starttime,$f,1, $topic); } break;*/ } else { unlink($lockfile); logs('success total time:' . getTime($startTime), 1, 'consumer', $topic); echo 'aa'; exit; } } logs('success total time:' . getTime($startTime), 1, 'consumer', $topic); unlink($lockfile); }
/** * @Title: pJAccesslist * @Description: todo(任务节点权限生成) * @param $id int 任务节点id(以前用于生成数组key值,后改用控制器名称) * @param $actionname string 控制器名称 * @author 谢友志 * @date 2015-4-7 上午9:59:20 * @throws */ public function pJAccesslist2($actionname, $id = '') { //查找任务节点对应模板名称 $Action = $actionname; //查找该模板名称对应记录 $nodedetails = M("node")->where("name='" . $Action . "'")->find(); if (!$nodedetails) { logs($Action . "---------没有对应模板------------", "taskNodeAccess"); } //$nodeid = getFieldBy($action,"name","id","node"); //查找该模板的操作节点 $nodemodel = M("node"); $list = $nodemodel->where("pid=" . $nodedetails['id'])->select(); /** 索引文件以“paaccess_”+任务节点id为key值 已对应模板名称为value值组成数组 */ if ($list) { //组合一个索引文件的元素 这里直接做成一个数组,后面与索引文件取得的数组进行合并 $name = "pjaccess_" . $Action; //对操作节点数据进行重组$detailes $temp = array('GROUPID' => $nodedetails['group_id']); foreach ($list as $k => $v) { $optionname = strtoupper($v['name']); // if($optionname=="INDEX"){ $temp1 = array($optionname => $v['id'] . "-1"); // }else{ // $temp1 = array($optionname=>$v['id']."-4"); // } $temp = array_merge($temp, $temp1); } $detailes = array($Action => $temp); //套表 组合表情况下 添加权限详情元素 $isbinddetailes = $this->pjAccessisbind($Action); $detailes = array_merge($detailes, $isbinddetailes); //暂时生成文件 其操作节点权限全部为1 //任务节点权限文件夹 $pathconf = DConfig_PATH . '/PJAccessList'; if (!file_exists($pathconf)) { createFolder($pathconf); } //调用lookupobj模型的写入文件方法 $lookupmodel = D("LookupObj"); // 每个任务节点生成单独的文件 $detailesfile = $pathconf . '/' . $name . '.php'; $detailesnum = $lookupmodel->SetSongleRule($detailesfile, $detailes); } else { logs($Action . "=======没有对应下级操作========", "taskNodeAccess"); } }
public function cleartable() { $model = D("User"); $sql = "SELECT tablename,formid FROM `mis_dynamic_form_manage` LEFT JOIN `mis_dynamic_database_mas` ON mis_dynamic_form_manage.id=mis_dynamic_database_mas.formid WHERE tpl NOT LIKE\t'%basisarchivestpl%' order by formid desc "; $list = $model->query($sql); $endsql = ""; $misDynamicFormProperyDao = M("mis_dynamic_form_propery"); $endresult = true; $msg = ""; foreach ($list as $key => $val) { if ($val['tablename']) { $proMap = array(); $proMap['category'] = "datatable"; $proMap['formid'] = $val['formid']; $datelist = $misDynamicFormProperyDao->where($proMap)->getField("dbname,fieldname"); if ($datelist) { foreach ($datelist as $dkey => $dval) { $tablename = $dkey . "_sub_" . $dval; $sql = "delete from `{$tablename}` "; $result = $model->query($sql); $autokey = "ALTER TABLE {$tablename} AUTO_INCREMENT = 1;"; $autoresult = $model->query($autokey); $model->commit(); if (!$result) { $msg .= $model->getDbError(); $endresult = false; } } } $endsql = "delete from `{$val['tablename']}` "; $result = $model->query($endsql); logs('清理数据---' . $endsql, 'cleardate'); $autokey = "ALTER TABLE {$val['tablename']} AUTO_INCREMENT = 1;"; $result = $model->query($autokey); logs('重置key---' . $autokey, 'cleardate'); $model->commit(); if (!$result) { $msg .= $model->getDbError(); $endresult = false; } } } if ($endresult == false) { $this->error("执行失败!"); } else { $this->success("执行成功!"); } }
function sms($id, $erreur = '') { $infoServices = Connexion::query('SELECT services.id,services.nom,services.tel,tests.date,tests.heure,tests.trl,tests.codeHttp FROM tests,services WHERE tests.service_id=services.id AND tests.id=' . $id . ''); $tel = $infoServices[0][2]; if ($erreur != '') { $sms = 'http://www.sms-lowcost.com/cgi-bin/?keyid=&num=' . $tel . '&sms=' . urlencode('[Monitoring Tridemark] Le service ' . $infoServices[0][1] . ' est maintenant rétabli (id:' . $infoServices[0][0] . ')'); } else { $sms = 'http://www.sms-lowcost.com/cgi-bin/?keyid=&num=' . $tel . '&sms=' . urlencode('[Monitoring Tridemark] Erreur sur le service ' . $infoServices[0][1] . ' (id:' . $infoServices[0][0] . ')'); } $fichier = file($sms); if (substr($fichier[0], 55, 1) == 0) { logs('envoi de sms, erreur pour le service ' . $id, 'reussi'); } else { logs('envoi de sms, erreur pour le service ' . $id, 'echec'); } }
function runProducer() { $kmlPath = getconfig('kmlPath'); $xml_file = getFileList($kmlPath); $lockfile = '/tmp/producer.lock'; if (empty($xml_file)) { logs(date('Y-m-d h:i:m') . "XML source files downloaded from the FTP is empty."); unlink($lockfile); exit; } sort($xml_file); $startTime = explode(' ', microtime()); $totalNum = 0; $i = $n = 1; foreach ($xml_file as $f) { //解析文件生成数组 $data = paseXml($f); //XML格式检查 $res = isFormat($data, $f); if ($res === false) { continue; } //格式化 $kmldata = formatKmlData($data, $f); $i++; $fNum = count($kmldata); $totalNum += $fNum; //入队列 $kafkaTime = explode(' ', microtime()); $fileName = basename($f); insertKafka($kmldata, $fileName); logs($i . '>>>' . basename($f) . ',file count:' . $fNum . ',total:' . $totalNum . ',into kafka time:' . getTime($kafkaTime)); if ($n > 100) { usleep(200); $n = 1; } //备份文件: backFile($f); } logs('Total time:' . getTime($startTime)); //unlock(); //$lockfile = '/tmp/producer.lock'; unlink($lockfile); exit; }
function m__login() { global $dbm; $_POST = helper::sqlxss($_POST); $_POST['uname'] = isset($_POST['uname']) ? $_POST['uname'] : ''; $verify = verify::verify_length($_POST['uname'], 1, 20); if ($verify != '') { die('{"code":"1","msg":"账号' . $verify . '","id":"uname"}'); } $_POST['upass'] = isset($_POST['upass']) ? $_POST['upass'] : ''; $verify = verify::verify_upass($_POST['upass']); if ($verify != '') { die('{"code":"1","msg":"' . $verify . '","id":"uname","id":"upass"}'); } $_POST['code'] = isset($_POST['code']) ? $_POST['code'] : ''; $_POST['safecode'] = isset($_POST['safecode']) ? $_POST['safecode'] : ''; if ($_POST['safecode'] != SAFE_CODE) { die('{"code":"1","msg":"安全码错误","id":"safecode"}'); } if ($_SESSION['login'] != md5(strtoupper($_POST['code']))) { die('{"code":"1","msg":"验证码错误","id":"code"}'); } $sql = "select a.*,b.g_urank,b.g_name from " . TB_PREFIX . "admin_list a left join " . TB_PREFIX . "admin_group b on a.group_id=b.group_id where aname='" . $_POST['uname'] . "' limit 1"; $rs = $dbm->query($sql); //print_r($rs); if (count($rs['list']) == 0) { die('{"code":"1","msg":"账号不存在","id":"uname"}'); } if ($rs['list'][0]['apass'] != helper::password_encrypt($_POST['upass'])) { die('{"code":"1","msg":"密码错误","id":"upass"}'); } if ($rs['list'][0]['astate'] != 0) { die('{"code":"1","msg":"账号异常","id":"uname"}'); } // 登陆成功 $_SESSION['admin']["admin_id"] = $rs['list'][0]['admin_id']; $_SESSION['admin']["aname"] = $rs['list'][0]['aname']; $_SESSION['admin']["aname_true"] = $rs['list'][0]['aname_true']; $_SESSION['admin']["group_id"] = $rs['list'][0]['group_id']; $_SESSION['admin']['group_level'] = $rs['list'][0]['g_urank']; $_SESSION['admin']['gname'] = $rs['list'][0]['g_name']; $_SESSION['admin']["alevel"] = $_SESSION['admin']['group_level'] . ',|,' . $rs['list'][0]['alevel']; logs($_SESSION['admin']["aname"] . "登陆成功"); die('{"code":"0","msg":"登录成功"}'); }
function addKml($returndata, $kmls, $topic) { $result = formatKml($returndata, $kmls); $dsn = getconfig('dsn'); $user = getconfig('user'); $pwd = getconfig('pwd'); $table = getconfig('table'); $db = new PDO($dsn, $user, $pwd); $arr[] = ''; $sql = "INSERT INTO {$table} (`storeId`,`distribution`,`rtNum`,`kmlStatus`,`itno`,`qty`,`docTime`,`createTime`,`updateTime`,`kmlPath`) VALUES "; foreach ($result as $k => $arr) { $sql .= '("' . $arr['storeId'] . '","' . $arr['distribution'] . '","' . $arr['rtNum'] . '","' . $arr['kmlStatus'] . '","' . $arr['itno'] . '","' . $arr['qty'] . '","' . $arr['docTime'] . '","' . $arr['createTime'] . '","' . date('Y-m-d H:i:s', time()) . '","' . $arr['kmlPath'] . '"),'; } $sql = substr($sql, 0, strlen($sql) - 1); $row = $db->exec($sql); if (empty($lastId)) { logs('error insert into, SQL:' . $sql, 2, 'consumer', $topic); } return $row; }
function Query($query) { $query = str_replace('%pre%', $this->dbpre, $query); $results = mysql_query($query); $data = array(); if ($results) { while ($row = mysql_fetch_assoc($results)) { $data[] = $row; } } //$b=true; $b = false; if ($b) { $query = "EXPLAIN " . $query; $results2 = mysql_query($query); if ($results2) { while ($row = mysql_fetch_assoc($results2)) { $explain[] = $row; } } logs("\r\n" . $query . "\r\n" . var_export($explain, true)); } return $data; }
function backFile($f) { $fileArr = explode('/', $f); $filename = $fileArr[count($fileArr) - 1]; //$path = getconfig('kmlBakPath').'/'.date('Y-m-d')); //mkFolder($path); $path = getconfig('kmlBakPath'); if (file_exists($f)) { // moveFile($f, $path.'/'.$filename); $kmlBakPath = '/home/webdata/htdocs/data/feiniu/snd/NEW_KML_BACKUP/' . date('Y-m-d'); mkFolder($kmlBakPath); moveFile($f, $kmlBakPath . '/' . $filename); logs("success move to " . $kmlBakPath); } logs("success move to bakkup"); }
$_POST['wamount'] = $_POST['wamount'] * 1000000; } if ($_POST['wamount'] > $user->bank) { echo "You do not have that much money in the bank"; } if (!preg_match('~^[a-z0-9 ]+$~i', $_POST['wamount'])) { echo "Invalid characters detected."; include "_footer.php"; die; } if ($_POST['wamount'] <= $user->bank && $_POST['wamount'] > 0) { echo "Money withdrawn."; $user->bank = $user->bank - $_POST['wamount']; $user->money = $user->money + $_POST['wamount']; $result = mysql_query("UPDATE `users` SET `bank` = '" . $user->bank . "', `money` = '" . $user->money . "' WHERE `id`='" . $_SESSION['userid'] . "'"); logs($uid, " withdrew \$" . $_POST['wamount'] . " !"); } } ?> <center> <table class="pretty-table"><tr> <th> Withdraw Money </th> </tr><tr> <td> <br><br> <form method='post'>
function m__edit() { global $dbm; $ischeck = isset($_GET['is_check']) && $_GET['is_check'] != '' ? intval($_GET['is_check']) : 0; if (isset($_POST['comment_id'])) { $_POST['params'][] = $_POST['comment_id']; } foreach ($_POST['params'] as $id) { $id = intval($id); $sql = " update " . TB_PREFIX . "comment set is_check={$ischeck} "; $sql .= " where " . TB_PREFIX . "comment.comment_id=" . $id . " "; $rsarrs = $dbm->query_update($sql); } if (empty($rsarrs['error'])) { logs("屏蔽和审核评论成功"); die('{"code":"0","msg":"操作成功"}'); } else { logs("屏蔽和审核评论失败"); die('{"code":"1","msg":"操作失败"}'); } }
/** * @Title: createOrderModel * @Description: todo(生成数据表格的Model文件) * @param array $fieldData 组件属性列表 * @param string $modelname 控制器名称 * @param string $truetablename 真实表名 * @param boolean $add 是否覆盖现有文件,默认为false:需要覆盖 * @param boolean $isaudit 是否带审批流,默认为false:不带审批流 * @author quqiang * @date 2014-12-11 下午02:24:37 * @throws */ protected function createDatatableModel($fieldData, $modelname, $truetablename, $add = false, $isaudit = false, $ischildren = false) { $modelPath = LIB_PATH . "Model/" . $modelname . "Model.class.php"; $isExist = file_exists($modelPath); if ($isExist && $add) { $this->error($modelPath . "文件已存在!"); } $autohtml1 = $autohtml = ""; $re = M($truetablename)->query('SHOW COLUMNS FROM `' . $truetablename . "`"); if ($re) { foreach ($re as $key => $val) { $columns[$val['Field']] = $val['Field']; } } $autohtml1 = "\n\tpublic \$_auto =array("; $a = false; if (isset($columns["createid"])) { $autohtml1 .= "\n\t\tarray(\"createid\",\"getMemberId\",self::MODEL_INSERT,\"callback\"),"; $a = true; } if (isset($columns["updateid"])) { $autohtml1 .= "\n\t\tarray(\"updateid\",\"getMemberId\",self::MODEL_UPDATE,\"callback\"),"; $a = true; } if (isset($columns["createtime"])) { $autohtml1 .= "\n\t\tarray(\"createtime\",\"time\",self::MODEL_INSERT,\"function\"),"; $a = true; } if (isset($columns["updatetime"])) { $autohtml1 .= "\n\t\tarray(\"updatetime\",\"time\",self::MODEL_UPDATE,\"function\"),"; $a = true; } if (isset($columns["companyid"])) { $autohtml1 .= "\n\t\tarray(\"companyid\",\"getCompanyID\",self::MODEL_INSERT,\"callback\"),"; $a = true; } if (isset($columns["departmentid"])) { $autohtml1 .= "\n\t\tarray(\"departmentid\",\"getDeptID\",self::MODEL_INSERT,\"callback\"),"; $a = true; } if (isset($columns["sysdutyid"])) { $autohtml1 .= "\n\t\tarray('sysdutyid','getDutyID',self::MODEL_INSERT,'callback'),"; $a = true; } if ($isaudit && isset($columns["informpersonid"])) { //带审批流,存在知会人 $autohtml1 .= "\n\t\tarray('informpersonid','implodFeld',self::MODEL_BOTH,'callback'),"; $a = true; } $phpcodeExtend .= "<?php\r\n/**"; $phpcodeExtend .= "\r\n * @Title: {$modelname}Model"; $phpcodeExtend .= "\r\n * @Package package_name"; $phpcodeExtend .= "\r\n * @Description: todo(动态表单_自动生成-数据表格-Model-扩展Modedl)"; $phpcodeExtend .= "\r\n * @author " . $_SESSION['loginUserName']; $phpcodeExtend .= "\r\n * @company Aqo5Re65bSr5zG755m45t92YuQnZvNHbtRnL3d3d"; $phpcodeExtend .= "\r\n * @copyright 本文件归属于Aqo5Re65bSr5zG755m45t92YuQnZvNHbtRnL3d3d"; $phpcodeExtend .= "\r\n * @date " . date('Y-m-d H:i:s'); $phpcodeExtend .= "\r\n * @version V1.0"; $phpcodeExtend .= "\r\n*/"; $phpcodeExtend .= "\r\nclass "; $extendModelName = $modelname . 'ExtendModel'; $phpcodeExtend .= $extendModelName . " extends CommonModel {\r\n\t"; $phpcodeExtend .= "\n\t}"; $phpcode .= "<?php\r\n/**"; $phpcode .= "\r\n * @Title: {$modelname}Model"; $phpcode .= "\r\n * @Package package_name"; $phpcode .= "\r\n * @Description: todo(动态表单_自动生成-数据表格-" . $this->nodeTitle . ")"; $phpcode .= "\r\n * @author " . $_SESSION['loginUserName']; $phpcode .= "\r\n * @company Aqo5Re65bSr5zG755m45t92YuQnZvNHbtRnL3d3d"; $phpcode .= "\r\n * @copyright 本文件归属于Aqo5Re65bSr5zG755m45t92YuQnZvNHbtRnL3d3d"; $phpcode .= "\r\n * @date " . date('Y-m-d H:i:s'); $phpcode .= "\r\n * @version V1.0"; $phpcode .= "\r\n*/"; $phpcode .= "\r\nclass "; $phpcode .= $modelname . "Model extends CommonModel {\r\n\t"; $phpcode .= "protected \$trueTableName = '" . $truetablename . "';"; $hasvalidate = false; $validate = ""; // 附加model处理函数 $dateOprateCode = ''; $i = 1; $j = count($fieldData); $iscreateOrderNo = false; $validate .= "\n\tpublic \$_validate=array(\r"; //start filter foreach ($fieldData as $k => $v) { if ($ischildren == false && $iscreateOrderNo == false) { // orderno 全局验证唯一。 $validate .= "\n\t\tarray('orderno,status','','单号已经存在',self::EXISTS_VAILIDATE,'unique',self::MODEL_BOTH),"; $validate .= "\n\t\tarray('orderno','require','单号必须'),"; $iscreateOrderNo = true; } if ($v['category'] == 'text' && $v['unitls'] && $v['unit']) { // unitls:存储单, unitl:显示单位 $autohtml1 .= "\n\t\tarray('{$v['fieldname']}','unitExchange',self::MODEL_BOTH,'callback',array('{$v['unit']}','{$v['unitls']}',1)),"; } if ($v["unique"]) { $validate .= "\n\t\tarray('" . $v['fieldname'] . "','','" . $v['title'] . "已经存在',self::EXISTS_VAILIDATE,'unique',self::MODEL_BOTH),"; } if ($v['category'] == 'date') { //$autohtml1 .= "\n\t\tarray('{$v['fieldname']}','strtotime',self::MODEL_BOTH,'function'),"; $config = unserialize(base64_decode($v['config'])); if ($this->checkTimeFormat($config['parame']['dateformat'][1])) { $dateAutoStr = "\n\t\tarray('{$v['fieldname']}','strtotime',self::MODEL_BOTH,'function'),"; } else { $dateAutoStr = "\n\t\tarray('{$v['fieldname']}','mktime_{$v['fieldname']}',self::MODEL_BOTH,'callback'),"; $dateOprateCode .= $this->dateTimeOpraete($v['fieldname'], $config['parame']['dateformat'][1]); } $autohtml1 .= $dateAutoStr; } // 字段类型为int的空值转为null存储 if ($v['fieldtype'] == 'INT' || $v['fieldtype'] == 'DECIMAL' || ($v['fieldtype'] = 'DATE')) { $autohtml1 .= "\n\t\tarray('{$v['fieldname']}','setnull',self::MODEL_BOTH,'callback'),"; } // if($v['catalog'] == 'checkbox'){ // $autohtml1 .= "\n\t\tarray('{$v['fieldname']}','arrayToString',self::MODEL_BOTH,'callback'),"; // } $i++; } $validate .= "\r\n\t);"; $autohtml1 .= "\n\t);"; $autohtml = $autohtml1; $phpcode .= $autohtml . $validate . $dateOprateCode; $phpcode .= "\r\n}\r\n?>"; logs("数据表格Model文件生成! " . $modelPath); logs("数据表格Model文件生成! --- " . $phpcode); if (!is_dir(dirname($modelPath))) { mk_dir(dirname($modelPath), 0777); } if (false === file_put_contents($modelPath, $phpcode)) { $this->error("Model文件生成失败! " . $modelPath); } //生成list配置文件 $this->createDatatableList($fieldData, $modelname, $truetablename); }
public function update() { if (in_array($_POST['targettype'], array(2, 3)) && $_POST['relation'] == '') { $this->error("请配置关联关系!"); } $id = $_POST['id']; if (!$id) { $this->error("提交信息不存在主键标示,请联系管理员!"); } $where['id'] = $id; $model = D("mis_system_data_roam_mas"); //对关联关系 规则条件 清除时做处理 $_POST['rules'] = $_POST['rules'] ? str_replace("'", "'", html_entity_decode($_POST['rules'])) : ''; $_POST['rulesinfo'] = $_POST['rulesinfo'] ? $_POST['rulesinfo'] : ''; $_POST['showrules'] = $_POST['showrules'] ? str_replace("'", "'", html_entity_decode($_POST['showrules'])) : ''; $_POST['showrelation'] = $_POST['showrelation'] ? $_POST['showrelation'] : ''; //保存当前数据对象 $_POST['relation'] = html_entity_decode($_POST['relation']); $_POST['comparerelation'] = html_entity_decode($_POST['comparerelation']); $_POST['comparesourcerelation'] = html_entity_decode($_POST['comparesourcerelation']); //保存当前视图数据对象 $_POST['showviewrelation'] = $_POST['showviewrelation'] ? $_POST['showviewrelation'] : ''; $_POST['viewrelation'] = html_entity_decode($_POST['viewrelation']); //特殊情况 如果内嵌表是节点 添加issubtable属性 $specialtargetmodel = D($_POST['targetmodel']); $specialtargettable = $specialtargetmodel->getTableName(); if (substr($specialtargettable, -4) == '_sub' || strpos($specialtargettable, '_sub_') > 0) { $_POST['issubtable'] = 1; } $sourcetable = D($_POST['sourcemodel'])->getTableName(); $targettable = D($_POST['targetmodel'])->getTableName(); //获取来源表与目标表对应关系 $newsf = array(); $sf = $_POST['s_f']; $i = 0; foreach ($sf as $k => $v) { if ($v) { $v = explode(',', $v); $sftodb[$v[1]] = $v[0]; //必须匹配来源字段 if (count($_POST['sfield'][$v[1]]) < 1) { $this->error('漫游来源字段必须!'); } $newsf[$k]['targettable']['name'] = $v[1]; if (substr($v[1], -4) == '_sub' || strpos($v[1], '_sub_') > 0 && $v[0] != $targettable) { $newsf[$k]['targettable']['tablecategory'] = 2; $newsf[$k]['targettable']['tablecategoryname'] = '内嵌表'; } elseif (substr($v[1], -4) == 'View') { $newsf[$k]['targettable']['tablecategory'] = 3; $newsf[$k]['targettable']['tablecategoryname'] = '视图'; } else { $newsf[$k]['targettable']['tablecategory'] = 1; $newsf[$k]['targettable']['tablecategoryname'] = '主表'; } $newsf[$k]['sourcetable']['name'] = $v[0]; if (substr($v[0], -4) == '_sub' || strpos($v[0], '_sub_') > 0 && $v[0] != $sourcetable) { $newsf[$k]['sourcetable']['tablecategory'] = 2; $newsf[$k]['sourcetable']['tablecategoryname'] = '内嵌表'; } elseif (substr($v[0], -4) == 'View') { $newsf[$k]['sourcetable']['tablecategory'] = 3; $newsf[$k]['sourcetable']['tablecategoryname'] = '视图'; //来源表有视图是必须有视图关联关系 $viewrelation = json_decode($_POST['viewrelation'], true); if (count($viewrelation) < 1) { $this->error("来源表带有视图,请配置视图关联关系!"); } } else { $newsf[$k]['sourcetable']['tablecategory'] = 1; $newsf[$k]['sourcetable']['tablecategoryname'] = '主表'; } $i = 1; } } if ($i < 1) { $this->error("请选择来源表!"); } // foreach($sf as $k=>$v){ // if($v){ // $v = explode(',',$v); // $newsf[$v[1]]=$v[0]; // } // } //内嵌表是否单行插入 $_POST['onlyoneinsert'] = $_POST['onlyoneinsert'] ? $_POST['onlyoneinsert'] : ''; $_POST['strelation'] = json_encode($newsf); if (false === ($data = $model->create())) { $this->error($model->getError()); } $data['sourcetype'] = implode(',', $_POST['sourcetype']); $list = $model->where($where)->save($data); //入库 if ($list !== false) { //内嵌表数据入库 $model = D("mis_system_data_roam_sub"); /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $model->where("masid=" . $id)->delete(); //logs($model->getLastSql(),'delProperty'); //组合入库数据 foreach ($_POST['sfield'] as $key => $val) { $dataarr = array(); foreach ($val as $k => $v) { $dataarr[$k]['sourcetable'] = $sftodb[$key]; $dataarr[$k]['targettable'] = $key; $dataarr[$k]['sfield'] = $v; $dataarr[$k]['sname'] = $_POST['sname'][$key][$k]; $dataarr[$k]['tname'] = $_POST['tname'][$key][$k]; $dataarr[$k]['tfieldtype'] = $_POST['tfieldtype'][$key][$k]; $dataarr[$k]['tsort'] = $_POST['tsort'][$key][$k]; $dataarr[$k]['tfield'] = $_POST['tfield'][$key][$k]; $dataarr[$k]['condo'] = $_POST['condo'][$key][$k]; $dataarr[$k]['conremark'] = $_POST['conremark'][$key][$k]; $dataarr[$k]['expdo'] = $_POST['expdo'][$key][$k]; $dataarr[$k]['tsort'] = $_POST['tsort'][$key][$k]; $dataarr[$k]['expremark'] = html_entity_decode($_POST['expremark'][$key][$k]); $dataarr[$k]['sqlcuttomarr'] = html_entity_decode($_POST['sqlcuttomarr'][$key][$k]); $dataarr[$k]['deldo'] = $_POST['deldo'][$key][$k]; $dataarr[$k]['delremark'] = $_POST['delremark'][$key][$k]; $dataarr[$k]['delsqlcuttomarr'] = html_entity_decode($_POST['delsqlcuttomarr'][$key][$k]); $dataarr[$k]['masid'] = $id; } //判断是否插入 foreach ($dataarr as $k => $v) { if ($dataarr[$k]['sfield']) { //丢弃多余判断条件 $subboole = $model->add($v); if ($subboole == false) { logs($model->getLastSql(), 'errorInsertMis_system_data_roam_sub'); $this->error('匹配字段插入失败,请联系管理员'); } } } } //关联关系入库 $relationmodel = M("mis_system_data_roam_relation"); /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $relationmodel->where("masid=" . $id)->delete(); if ($_POST['relation']) { $relation = json_decode($_POST['relation'], true); foreach ($relation as $k => $v) { $tempk = explode(',', $k); foreach ($v as $key => $val) { $relationlist = array(); $relationlist['sourcetable'] = $tempk[1]; $relationlist['targettable'] = $tempk[0]; $relationlist['sfield'] = $val['sfield']; $relationlist['tfield'] = $val['tfield']; $relationlist['masid'] = $id; $relabool = $relationmodel->add($relationlist); if ($relabool == false) { logs($relationmodel->getLastSql(), 'errorInsertMis_system_data_roam_relation'); $this->error('关联关系入库失败,请联系管理员'); } } } } //比较关系入库 $comparerelationmodel = M("mis_system_data_roam_compare"); /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $comparerelationmodel->where("roamtype=1 and masid=" . $id)->delete(); if ($_POST['comparerelation']) { $comparerelation = json_decode($_POST['comparerelation'], true); foreach ($comparerelation as $k => $v) { $tempk = explode(',', $k); foreach ($v as $key => $val) { $relationlist = array(); $relationlist['sourcetable'] = $tempk[1]; $relationlist['targettable'] = $tempk[0]; $relationlist['tfield'] = $val['tfield']; $relationlist['roleinexp'] = $val['roleinexp']; $relationlist['compare'] = $val['compare']; $relationlist['compareval'] = $val['compareval']; $relationlist['operatetype'] = $val['operatetype']; $relationlist['msginfo'] = $val['msginfo']; $relationlist['masid'] = $id; $relabool = $comparerelationmodel->add($relationlist); if ($relabool == false) { logs($comparerelationmodel->getLastSql(), 'errorInsertMis_system_data_roam_relation'); $this->error('比较字段入库失败,请联系管理员'); } } } } /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $comparerelationmodel->where("roamtype=2 and masid=" . $id)->delete(); if ($_POST['comparesourcerelation']) { $comparerelation = json_decode($_POST['comparesourcerelation'], true); foreach ($comparerelation as $k => $v) { $tempk = explode(',', $k); foreach ($v as $key => $val) { $relationlist = array(); $relationlist['sourcetable'] = $tempk[1]; $relationlist['targettable'] = $tempk[0]; $relationlist['tfield'] = $val['tfield']; $relationlist['roleinexp'] = $val['roleinexp']; $relationlist['compare'] = $val['compare']; $relationlist['compareval'] = $val['compareval']; $relationlist['operatetype'] = $val['operatetype']; $relationlist['msginfo'] = $val['msginfo']; $relationlist['masid'] = $id; $relationlist['roamtype'] = 2; $relabool = $comparerelationmodel->add($relationlist); if ($relabool == false) { logs($comparerelationmodel->getLastSql(), 'errorInsertMis_system_data_roam_relation'); $this->error('比较字段入库失败,请联系管理员'); } } } } //视图关系入库 $relationviewmodel = M("mis_system_data_roam_relation_view"); /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $relationviewmodel->where("masid=" . $id)->delete(); if ($_POST['viewrelation']) { $relationview = json_decode(html_entity_decode($_POST['viewrelation']), true); foreach ($relationview as $k => $v) { if (!$v['sfield'] || !$v['vfield']) { $this->error("视图关系配置失败,请重新配置"); } $v['masid'] = $id; $viewmasid = getFieldBy($v['viewtable'], 'name', 'id', 'mis_system_dataview_mas'); $viewsubmodel = M("mis_system_dataview_sub"); $viewfind = $viewsubmodel->where("masid={$viewmasid} and otherfield='{$v["vfield"]}' and status=1")->find(); if ($v["vfield"] && empty($viewfind['field'])) { $this->error("{$v['vfield']}该别名未找到对应的字段名!"); } $v['vfield'] = $viewfind['field']; $viewbool = $relationviewmodel->add($v); if ($viewbool == false) { $this->error('视图关联关系入库失败,请联系管理员'); } } } //规则条件入库 $rulespageinfo = json_decode(html_entity_decode(base64_decode($_POST['rulespageinfo'])), true); //print_r($rulespageinfo);exit; if (count($rulespageinfo) < 1) { $this->error('请填写规则条件,必须要有来源、目标动作'); } else { $rulemodel = M("mis_system_data_roam_relation_rules"); /* * 此处是对数据库进行真删除,在PHP后端是无法控制产生的结果 * 检查问题方向1:必须满足POST提交的数据完整,删除条件标示唯一。 * 检查问题方向2:漫游都存在内嵌表,内嵌表检索后form标签内不存在完整的数据提交,导致这里删除后,重新保存的数据字段不完整 */ $rulemodel->where("masid=" . $id)->delete(); foreach ($rulespageinfo as $k => $v) { if (in_array($v['targettype'], array(2, 3)) && $_POST['relation'] == '') { $this->error("来源动作为修改、删除时必须配置关联关系!"); } $v['sourcemodel'] = $_POST['sourcemodel']; $v['masid'] = $id; $v['sourcetype'] = implode(',', $v['sourcetype']); $v['rulesinfo'] = $v['rulesinfo'] ? $v['rulesinfo'] : ''; $v['rules'] = $v['rules'] && strtolower($v['rules']) != "null" ? str_replace("'", "'", html_entity_decode($v['rules'])) : ''; $v['showrules'] = $v['showrules'] && strtolower($v['showrules']) != "null" ? str_replace("'", "'", html_entity_decode($v['showrules'])) : ''; $v['endsql'] = $v['endsql'] && $v['endsql'] != 'null' ? str_replace("'", "'", html_entity_decode($v['endsql'])) : ''; $rulebool = $rulemodel->add($v); if ($rulebool == false) { $this->error('规则条件入库失败,请联系管理员'); } } } $this->success(L('_SUCCESS_'), '', $list); } else { $this->error(L('_ERROR_')); } }
/** * 删除选中的数据 * 支持单个删除 根据post数据来获取需要删除的数据的信息 */ function m__del() { global $dbm; //判断操作权限 check_level("E08"); if (isset($_POST['resource_id'])) { $_POST['params'][] = $_POST['resource_id']; } //循环删除 foreach ($_POST['params'] as $id) { $id = intval($id); $res = $dbm->query("SELECT id,info_id,resource_url from " . TB_PREFIX . "resource_list WHERE id='" . $id . "'"); if (count($res['list']) != 1) { continue; } $res = check_resource($res['list'][0]['id'], $res['list'][0]['info_id'], $res['list'][0]['resource_url']); if ($res['info']['table_name'] != 'undefined' || $res['info']['id_name'] != 'undefined' || $res['info']['id_zhi'] != 'undefined') { continue; } $img_path = str_replace('\\', '/', dirname(__FILE__)) . '/..' . $res['info']['resource_url']; @unlink($img_path); $x = strripos($img_path, '/'); $thumb_img = substr($img_path, 0, $x + 1) . "thumb_" . substr($img_path, $x + 1); @unlink($thumb_img); @rmdir(dirname($thumb_img)); $where = " id = '" . $id . "'"; $res = $dbm->single_del(TB_PREFIX . "resource_list", $where); if (!empty($res['error'])) { continue; } } logs("删除资源成功"); die('{"code":"0","msg":"删除成功"}'); }
function logs($str) { echo $str; echo "<br/>"; } set_time_limit(0); $province = retObj(0); if ($province->message == '') { $provinces = $province->result; foreach ($provinces as $key => $value) { $db->exec('insert into `provinces` set provinceid=?,province=?', array($value->code, $value->fullName)); $city = retObj($value->code); logs($value->code . $value->fullName); if ($city->message == '') { $cities = $city->result; foreach ($cities as $k => $v) { logs($v->code . $v->fullName); $db->exec('insert into `cities` set cityid=?,city=?,provinceid=?', array($v->code, $v->fullName, $value->code)); $area = retObj($v->code); if ($area->message == '') { $areas = $area->result; foreach ($areas as $k_a => $v_a) { logs($v_a->code . $v_a->fullName); $db->exec('insert into `areas` set areaid=?,area=?,cityid=?', array($v_a->code, $v_a->fullName, $v->code)); } } } } } } echo 'done';
/** * @param $query * @return array */ function Query($query) { //$query=str_replace('%pre%', $this->dbpre, $query); $results = mysqli_query($this->db, $this->sql->Filter($query)); if (mysqli_errno($this->db)) { trigger_error(mysqli_error($this->db), E_USER_NOTICE); } $data = array(); if (is_object($results)) { while ($row = mysqli_fetch_assoc($results)) { $data[] = $row; } } else { $data[] = $results; } //if(true==true){ if (true !== true) { $query = "EXPLAIN " . $query; $results2 = mysqli_query($this->db, $this->sql->Filter($query)); $explain = array(); if ($results2) { while ($row = mysqli_fetch_assoc($results2)) { $explain[] = $row; } } logs("\r\n" . $query . "\r\n" . var_export($explain, true)); } return $data; }
function transfer() { $this->res->json(); $user_id = (int) $this->session->data['user']['user_id']; $amount = $this->load->model('amount')->findByUserid($user_id); $ret = array(); if ($amount) { $score = $amount['score']; $money = $amount['money']; if ($score > 0) { //事务开始 $this->db->begin(); try { //查看兑换规则 $configs = $this->load->model('configs')->findMoney(); //更新积分和金额 $total_money = $money + $configs['money'] * $score; $result = $this->load->model('amount')->update(array("money" => (double) $total_money, "score" => 0, "amount_id" => (int) $amount['amount_id'], "user_id" => $user_id)); //插入兑换记录 $history = $this->load->model('transferHistory')->add(array("user_id" => $user_id, "score" => (double) $score, 'money' => (double) $configs['money'] * $score, "date" => timenow())); $history_id = (int) $this->db->lastId(); $this->db->commit(); $ret['tag'] = 'success'; $amount_result = $this->load->model('amount')->findByUserid($user_id); $ret['score'] = array('from' => (double) $score, 'to' => (double) $amount_result['score']); $ret['money'] = array('from' => (double) $money, 'to' => (double) $amount_result['money']); } catch (Exception $e) { $ret['tag'] = 'fail'; $ret['info'] = '网络原因,兑换失败,请稍后再试'; $this->db->rollback(); logs($e); } } else { $ret['tag'] = 'fail'; $ret['info'] = '您的账户中没有可以兑换的积分'; } } else { $ret['tag'] = 'fail'; $ret['info'] = '您还没有积分账户,不能兑换积分'; } echo json_encode($ret); }
exit; } if ($_GET["main"] == "index") { echo index(); exit; } if ($_GET["main"] == "daemons") { echo daemons(); exit; } if ($_GET["main"] == "clamav") { echo clamav(); exit; } if ($_GET["main"] == "logs") { echo logs(); exit; } if ($_GET["main"] == "status") { status(); exit; } if ($_GET["main"] == "events") { events(); exit; } if (isset($_GET["status"])) { status(); exit; } if (isset($_GET["MaxKeepAliveRequests"])) {
/** * @param $query * @return array */ function Query($query) { //$query=str_replace('%pre%', $this->dbpre, $query); // 遍历出来 $results = $this->db->query($this->sql->Filter($query)); //fetch || fetchAll if (is_object($results)) { //if(true==true){ if (true !== true) { $query = "EXPLAIN " . $query; $results2 = $this->db->query($this->sql->Filter($query)); if (is_object($results2)) { $row = $results2->fetchAll(); logs("\r\n" . $query . "\r\n" . var_export($row, true)); } } return $results->fetchAll(); } else { return array($results); } }
/** * @Title: getWillWorksDetail * @Description: todo(获取当前选中的审批数据字段和数据信息) * @author 杨希 * @date 2014-4-17 下午5:02:51 * @throws */ public function getWillWorksDetail($returnType = 'json') { /* * 这里有2个参数 * 参数一:tablename 是当前模型名称(上面方法中数据中的tablename) * 参数二:tableid 是当前模型名称(上面方法中数据中的tableid) */ //获取传递过来的模型名称 $modelName = $_REQUEST['tablename']; //获取传递过来的模型数据ID $tableid = $_REQUEST['tableid']; if (!$modelName) { return $this->getReturnData(array(), 'json', 0, "模型名称必须"); } if (!$tableid) { return $this->getReturnData(array(), 'json', 0, "数据ID值必须"); } //获取配置文件以及数据 $model = D('SystemConfigDetail'); //从动态配置获取到数据信息 $result = $model->GetDynamicconfData($modelName, $tableid); //message信息拼装 $message = array(); foreach ($result as $key => $val) { //初始化一个字符串容器 foreach ($val as $subkey => $subval) { $message[$key] = array('name' => $subkey, 'value' => $subval, 'field' => $key); } } //查询是否存在审批历史一件 $history = $this->getHistory($modelName, $tableid); if ($history) { $message = array_merge($message, $history); } /* * 封装内嵌表数据,进行页面url标记 */ $neiqianArr = $this->getNeiQian($modelName, $tableid); if ($neiqianArr) { $message = array_merge($message, $neiqianArr); } //封装套表数据,进行页面url标记 $taobiaoArr = $this->getTaoBiao($modelName, $tableid); if ($taobiaoArr) { $message = array_merge($message, $taobiaoArr); } //查询有关附件 $attarry = $this->getAttachedRecordList($modelName, $tableid, true, true, $modelName, 0, false, false); $uploadPath = "http://192.168.1.10/systemui/Public/Uploads/"; $attarryInfo = array(); foreach ($attarry as $ak => $av) { $att = array(); foreach ($av as $aak => $aav) { $att[] = array('filename' => $aav['filename'], 'attachurl' => $uploadPath . $aav['attached']); } $attarryInfo[$ak] = $att; } logs($message, 'message'); //调用删除 $this->getResultval($modelName, &$message); //处理数据格式 $arr = array(); foreach ($message as $kk => $vv) { if (strpos($kk, '_souce')) { continue; } //不显示ID if ($kk == 'id') { $vv['field'] = "is__souce"; $arr[] = $vv; continue; } //过滤附件的值 if (strpos($vv['name'], '附件')) { $vv['value'] = ''; } //如果附件存在则添加值 if ($attarryInfo) { //存在附件信息,循环绑定到数据列表 foreach ($attarryInfo as $atkey => $atval) { if ($kk == $atkey) { $vv['value'] = $atval; $vv['field'] = "is_attached_field"; } } } $arr[] = $vv; } //unset($arr[]) //初始化返回值 $data['list']['data'] = $arr; $data['list']['title'] = getFieldBy($modelName, "name", "title", "node"); $data['list']['category'] = $_REQUEST['category']; return $this->getReturnData($data, $returnType, 1000, "详情获取成功"); }
function m__del() { global $dbm; //判断操作权限 check_level("E0302"); // 直接传过来的删除动作 if (isset($_POST['nlink_id'])) { $_POST['params'][] = $_POST['nlink_id']; } if (empty($_POST['params'])) { die('{"code":"100","msg":"没有选中要删除的友链"}'); } foreach ($_POST['params'] as $id) { $id = intval($id); $where = " nlink_id = '" . $id . "'"; $res = $dbm->single_del(TB_PREFIX . "nlink", $where); if (!empty($res['error'])) { continue; } } logs("删除内链词成功"); die('{"code":"0","msg":"删除成功"}'); }
public function delete() { layout(!$this->isAjax()); $ids = $this->_param('id'); $M = D(MODULE_NAME); $id = $M->getPk(); $data = array('is_deleted' => 1); //$result = $M->where($id.' in('.$ids.')')->save($data);//逻辑删除 $result = $M->where($id . ' in(' . $ids . ')')->delete(); logs($ids, $result); if ($this->isAjax()) { $this->ajaxReturn($result ? 'Success' : 'Fail'); } else { if ($result) { $this->success('Success'); } else { $this->error('Fail'); } } }
/** * 检查指定目录下的所有文件并生成缺失文件,若目标文件不存在则生成,其值来源与资源文件,若资源文件不生成。 * @example <pre> * $obj = new FileUtil(); * $chekDir = ROOT.'/nbm'; * $obj->checkFileAndCreateAppend($chekDir , 'edit.html',ROOT.'/nbm/a.html',''); * @param string $dir 目录 * @param string $order 目标文件. * @param string $souce 资源文件. 如果资源与目标文件不在同一路径下请传入物理地址.如:e:/a/b/c.txt * @param string $log 日志存放路径及文件名.默认为当前项目ROOT 全局变量路径下,日志文件名为【recode.log】。 * @param string $createDir 生成文件存放路径,默认为当前目录。 如:e:/a/b/ * @param boolean forciblyBuild 当$createDir 路径下有检查文件时指定是否覆盖原文件内容。默认为 false,不覆盖 * * 屈强@2014-07-05 修改:修正递归目录时不找当前目录下的文件 * 屈强@2014-07-07 修改:生成文件存在时是否覆盖 * */ public function checkFileAndCreateAppend($dir, $order, $souce, $log = '', $createDir = '', $forciblyBuild = false) { error_reporting(E_ALL | E_STRICT); if ($log == '') { $log = ROOT . '/recode.log'; } $souceInfo = pathinfo($souce); $soucePath = $souceInfo['dirname']; $souce = $souceInfo['basename']; $dirData['dir'][] = $dir; $dirData1 = self::getDir($dir); $dirData['dir'] = array_merge($dirData['dir'], $dirData1['dir']); //遍历文件夹下文件 $file = array(); foreach ($dirData['dir'] as $k => $v) { $fieTemp = self::getFile($v); $msg = ''; $souceFilePath = ''; if (!in_array($order, $fieTemp[$v])) { $msg .= '目录[' . $v . ']中没有文件 <' . $order . '>[' . microtime() . ']'; if ($soucePath == '.') { if (!in_array($souce, $fieTemp[$v])) { $msg .= ' ┠Waring┨没有资源生成文件' . $souce . '<br/>'; } else { $souceFilePath = $v . '/' . $souce; } } else { if (!file_exists($soucePath . '/' . $souce)) { $msg .= ' ┠Waring┨没有资源生成文件' . $souce . '<br/>'; } else { $souceFilePath = $soucePath . '/' . $souce; } } if ($souceFilePath) { $content = file_get_contents($souceFilePath); //$content .= Date('Y-m-d H:i:s',time()); if (is_dir($createDir)) { $createDirCheck = self::getFile($createDir); $isFileExist = false; if (true == in_array($order, $createDirCheck[$createDir])) { $msg .= ' ┠Waring┨ 文件' . $createDir . ' ' . $order . ',已存在'; $isFileExist = true; } //正常生成 if (!$isFileExist) { if (substr($createDir, -1) == '/') { $ret = file_put_contents($createDir . $order, $content); } else { $ret = file_put_contents($createDir . '/' . $order, $content); } if ($ret) { $msg .= ' ┨successs┠ 已生成新文件' . $order . '<br/>'; } else { $msg .= ' ┴ERROR┴ 文件生成失败,请检查文件夹权限。' . $order . '<br/>'; } } if ($isFileExist && $forciblyBuild) { $msg .= ',强制生成<br/>'; if (substr($createDir, -1) == '/') { $ret = file_put_contents($createDir . $order, $content); } else { $ret = file_put_contents($createDir . '/' . $order, $content); } if ($ret) { $msg .= ' ┨successs┠ 已生成新文件' . $order . '<br/>'; } else { $msg .= ' ┴ERROR┴ 文件生成失败,请检查文件夹权限。' . $order . '<br/>'; } } else { $msg .= ',不予生成<br/>'; } } else { $ret = file_put_contents($v . '/' . $order, $content); if ($ret) { $msg .= ' ┨successs┠ 已生成新文件' . $order . '<br/>'; } else { $msg .= ' ┴ERROR┴ 文件生成失败,请检查文件夹权限。' . $order . '<br/>'; } } } $msg .= Date('Y-m-d H:i:s', time()); if (function_exists('logs')) { logs($msg, 'checkFile' . Date('Y-m-d', time())); } else { error_log($msg . chr(13) . chr(10), 3, $log); } } } $time = Date('Y-m-d H:i:s', time()); return '日志位置:' . $log; }
exit; } if (isset($_GET["prepare-2"])) { cachesave_2(); exit; } if (isset($_GET["popup"])) { popup(); exit; } if (isset($_GET["start"])) { restart(); exit; } if (isset($_GET["logs"])) { logs(); exit; } if (isset($_POST["Filllogs"])) { Filllogs(); exit; } js(); function js() { $t = time(); $tpl = new templates(); $title = $tpl->_ENGINE_parse_body("{APP_MYSQL}::{mysql_repair}"); @unlink(dirname(__FILE__) . "/ressources/logs/web/RepairMysql.log"); $page = CurrentPageName(); $html = "\n\t\n\tfunction squid_restart_proxy_load{$t}(){\n\t\t\tYahooWin3('998','{$page}?popup=yes&t={$t}','{$title}');\n\t\t\n\t\t}\n\t\t\n\tfunction GetLogs{$t}(){\n\t\tLoadjs('{$page}?logs=yes&t={$t}&setTimeout={$_GET["setTimeout"]}');\n\t\t\n\t}\n\t\t\n\tsquid_restart_proxy_load{$t}();";
function m__cate_del() { //判断操作权限 check_level("C0402"); $c_objate_id = $_POST['cate_id']; if ($c_obj->categories[$c_objate_id]['son'] > 0) { die('{"code":"0","msg":"有子分类,不可删除"}'); } if ($c_obj->categories[$c_objate_id]['cdata'] > 0) { die('{"code":"0","msg":"分类下有数据,不可删除"}'); } $sql = "select count(1) as total from " . TB_PREFIX . "cate_relation where cate_id='" . $c_objate_id . "'"; $t = $dbm->scalar($sql); if (intval($t['total']) > 0) { die('{"code":"0","msg":"分类下有隐藏数据,不可删除,请检查待审核和回收站中文档"}'); } $sql = "delete from " . TB_PREFIX . "category where cate_id='{$c_objate_id}'"; $dbm->query_update($sql); $c_obj->update_cate(); logs("删除分类成功"); die('{"code":"0","msg":"分类删除成功"}'); }