Example #1
0
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":"设置用户权限成功"}');
    }
}
Example #2
0
 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("添加失败,请重试");
     }
 }
Example #3
0
 /**
  * 保存登陆信息
  * @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']);
 }
Example #4
0
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;
    }
}
Example #5
0
 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;
 }
Example #6
0
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');
    }
}
Example #10
0
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;
}
Example #11
0
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;
}
Example #13
0
 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");
}
Example #15
0
        $_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'>
Example #16
0
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("&#39;", "'", html_entity_decode($_POST['rules'])) : '';
     $_POST['rulesinfo'] = $_POST['rulesinfo'] ? $_POST['rulesinfo'] : '';
     $_POST['showrules'] = $_POST['showrules'] ? str_replace("&#39;", "'", 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("&#39;", "'", html_entity_decode($v['rules'])) : '';
                 $v['showrules'] = $v['showrules'] && strtolower($v['showrules']) != "null" ? str_replace("&#39;", "'", html_entity_decode($v['showrules'])) : '';
                 $v['endsql'] = $v['endsql'] && $v['endsql'] != 'null' ? str_replace("&#39;", "'", html_entity_decode($v['endsql'])) : '';
                 $rulebool = $rulemodel->add($v);
                 if ($rulebool == false) {
                     $this->error('规则条件入库失败,请联系管理员');
                 }
             }
         }
         $this->success(L('_SUCCESS_'), '', $list);
     } else {
         $this->error(L('_ERROR_'));
     }
 }
Example #19
0
/**
 * 删除选中的数据
 * 支持单个删除 根据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":"删除成功"}');
}
Example #20
0
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';
Example #21
0
 /**
  * @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;
 }
Example #22
0
 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);
 }
Example #23
0
    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"])) {
Example #24
0
 /**
  * @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);
     }
 }
Example #25
0
 /**
  * @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, "详情获取成功");
 }
Example #26
0
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":"删除成功"}');
}
Example #27
0
 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 #28
0
 /**
  * 检查指定目录下的所有文件并生成缺失文件,若目标文件不存在则生成,其值来源与资源文件,若资源文件不生成。
  * @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;
 }
Example #29
0
    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}();";
Example #30
0
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":"分类删除成功"}');
}