Пример #1
0
 /**
  * 获取外键数据来源
  * @param string $key 指定key获取
  * @return array|string 获取到的数据或指定key的值
  */
 public function getSysmodule($key = '')
 {
     $sysmoduleDB = new SysmoduleModelDB();
     if (empty($key)) {
         $sql = "SELECT `id`,`name` FROM `" . $sysmoduleDB->getTableName() . "`";
         $sysmoduleModelDBArr = $sysmoduleDB->getData($sql);
         $data = Common::createArr($sysmoduleModelDBArr, 'id', 'name');
     } else {
         $sql = "SELECT `name` FROM `" . $sysmoduleDB->getTableName() . "` WHERE `id` = ?";
         $data = $sysmoduleDB->getFirst($sql, array($key));
     }
     return $data;
 }
 public function view()
 {
     $sysmoduleDB = new SysmoduleModelDB();
     //普通条件,检查GET参数
     $fieldArr = $sysmoduleDB->getFields();
     foreach ($fieldArr as $v) {
         if ($_GET[$v] !== null) {
             $where[] = "`{$v}` = ?";
             $whereArr[] = $_GET[$v];
         }
     }
     $whereStr = count($where) > 0 ? implode(" AND ", $where) : '1=1';
     if ($_GET['_search_field'] != '' && in_array($_GET['_search_field'], $fieldArr) && $_GET['_search_keyword'] != '') {
         $whereStr = $whereStr == '1=1' ? $_GET['_search_field'] . " LIKE ?" : $whereStr . " AND " . $_GET['_search_field'] . " LIKE ?";
         $whereArr[] = "%" . $_GET['_search_keyword'] . "%";
     }
     //排序条件
     $orderStr = '`id` DESC';
     if (!empty($_POST['order'])) {
         foreach ($_POST['order'] as $k => $v) {
             $orderArr[] = "`{$k}` {$v}";
         }
         $orderStr = implode(',', $orderArr);
     }
     //查询操作
     $sql = "SELECT * FROM `" . $sysmoduleDB->getTableName() . "` WHERE {$whereStr} ORDER BY {$orderStr}";
     $data = $sysmoduleDB->getData($sql, $whereArr, 20);
     $pageStr = $sysmoduleDB->getPageStr();
     $pageJump = $sysmoduleDB->getPageJump();
     //读取外键数据
     $requiredDictFkArr = DictConfig::$required;
     $this->setView('requiredDictFkArr', $requiredDictFkArr);
     //模版显示
     $this->setView('pageStr', $pageStr);
     $this->setView('pageJump', $pageJump);
     $this->setView('data', $data);
     $this->display('Sysmodule.html');
 }
Пример #3
0
<?php

/**
 * @Copyright (c) 2011, 新浪网运营部-网络应用开发部
 * All rights reserved.
 * 根据新增的系统module,添加到原有项目中
 * @author          wangxin <*****@*****.**>
 * @time            2011/3/2 15:03
 * @version         Id: 0.9
*/
require dirname(__FILE__) . "/global.php";
$moduleDB = new ModuleModelDB();
$sysmoduleDB = new SysmoduleModelDB();
$sysmoduleArr = $sysmoduleDB->getData("SELECT * FROM `" . $sysmoduleDB->getTableName() . "`");
$projectDB = new ProjectModelDB();
$projectArr = $projectDB->getData("SELECT * FROM `" . $projectDB->getTableName() . "`");
foreach ($projectArr as $v) {
    $moduleArr = $moduleDB->getData("SELECT * FROM `" . $moduleDB->getTableName() . "` WHERE `pid` = ?", array($v['id']));
    $moduleIdArr = array();
    foreach ($moduleArr as $vv) {
        $moduleIdArr[] = $vv['sys_mid'];
    }
    foreach ($sysmoduleArr as $vv) {
        if (!in_array($vv['id'], $moduleIdArr)) {
            $insertArr = array();
            $insertArr['pid'] = $v['id'];
            $insertArr['sys_mid'] = $vv['id'];
            $insertArr['level'] = $vv['level'];
            $insertArr['sms_limit'] = $vv['sms_limit'];
            $insertArr['mail_limit'] = $vv['mail_limit'];
            $insertArr['sms_status'] = 1;