Пример #1
0
 /**
  * 删除指定的贴吧信息
  *
  * @param int $postId
  *
  * @return boolean
  */
 function removePost($postId)
 {
     $postId = (int) $postId;
     $post = $this->_tbPosts->find($postId);
     if (!$post) {
         FLEA::loadClass('Exception_DataNotFound');
         __THROW(new Exception_DataNotFound($postId));
         return false;
     }
     return $this->_tbPosts->removeByPkv($postId);
 }
Пример #2
0
 /**
  * 列出所有的成员
  */
 function actionIndex()
 {
     $page = isset($_GET['page']) ? (int) $_GET['page'] : 0;
     FLEA::loadClass('FLEA_Helper_Pager');
     $table =& $this->_modelMembers->getTable();
     $pager =& new FLEA_Helper_Pager($table, $page, 20, '', 'member_id');
     $pk = $table->primaryKey;
     $rowset = $pager->findAll();
     $this->_setBack();
     include APP_DIR . '/ZobMembersList.php';
 }
Пример #3
0
 public function Controller_FLGL()
 {
     //$this->_M =& FLEA::getSingleton('Model_FLGL');
     $this->_V =& $this->_getView();
     // ЁУй╪╩╞оШо╒╤тоС
     FLEA::loadClass("Util_Msg");
     $this->_G = new Util_Msg();
     // п╢хКCSS,IMG,JSд©б╪
     $this->_V->assign(FLEA::getAppInf("vdir"));
     // ЁУй╪╩╞╣╪╨╫
     FLEA::loadClass("Util_Nav");
     $this->_N = new Util_Nav();
 }
Пример #4
0
 function Controller_Prem()
 {
     $this->_M =& FLEA::getSingleton('Model_Prem');
     $this->_V =& $this->_getView();
     // 初始化消息对象
     FLEA::loadClass("Util_Msg");
     $this->_G = new Util_Msg();
     // 写入CSS,IMG,JS目录
     $this->_V->assign(FLEA::getAppInf("vdir"));
     // 初始化导航
     FLEA::loadClass("Util_Nav");
     $this->_N = new Util_Nav();
 }
Пример #5
0
 public function Controller_time()
 {
     $this->M_timeinfo =& FLEA::getSingleton('Model_time');
     $this->M_chninfo =& FLEA::getSingleton('Model_chninfo');
     $this->socketClient = FLEA::getSingleton('Util_socketclient');
     $this->_V =& $this->_getView();
     FLEA::loadClass("Util_Msg");
     $this->_G = new Util_Msg();
     // 写入CSS,IMG,JS目录
     $this->_V->assign(FLEA::getAppInf("vdir"));
     // 初始化导航
     FLEA::loadClass("Util_Nav");
     $this->_N = new Util_Nav();
 }
Пример #6
0
 /**
  * 构造函数
  *
  * @return FLEA_View_Lite
  */
 function FLEA_View_Lite()
 {
     parent::Template_Lite();
     $viewConfig = FLEA::getAppInf('viewConfig');
     if (is_array($viewConfig)) {
         foreach ($viewConfig as $key => $value) {
             if (isset($this->{$key})) {
                 $this->{$key} = $value;
             }
         }
     }
     FLEA::loadClass('FLEA_View_SmartyHelper');
     new FLEA_View_SmartyHelper($this);
 }
Пример #7
0
 /**
  * 从指定文件创建 Image 对象
  *
  * 对于上传的文件,由于其临时文件名中并没有包含扩展名。因此需要采用下面的方法创建 Image 对象:
  *
  * <code>
  * $ext = pathinfo($_FILES['postfile']['name'], PATHINFO_EXTENSION);
  * $image =& FLEA_Helper_Image::createFromFile($_FILES['postfile']['tmp_name'], $ext);
  * </code>
  *
  * @param string $filename
  * @param string $fileext
  *
  * @return FLEA_Helper_Image
  */
 function &createFromFile($filename, $fileext = null)
 {
     if (is_null($fileext)) {
         $fileext = pathinfo($filename, PATHINFO_EXTENSION);
     }
     $fileext = strtolower($fileext);
     $ext2functions = array('jpg' => 'imagecreatefromjpeg', 'jpeg' => 'imagecreatefromjpeg', 'png' => 'imagecreatefrompng', 'gif' => 'imagecreatefromgif');
     if (!isset($ext2functions[$fileext])) {
         FLEA::loadClass('FLEA_Exception_NotImplemented');
         __THROW(new FLEA_Exception_NotImplemented('imagecreatefrom' . $fileext));
         return false;
     }
     $handle = $ext2functions[$fileext]($filename);
     $img =& new FLEA_Helper_Image($handle);
     return $img;
 }
Пример #8
0
/**
 * 载入 YAML 文件,返回分析结果
 *
 * load_yaml() 会自动使用缓存,只有当 YAML 文件被改变后,缓存才会更新。
 *
 * 关于 YAML 的详细信息,请参考 www.yaml.org 。
 *
 * 用法:
 * <code>
 * $data = load_yaml('myData.yaml');
 * </code>
 *
 * 注意:为了安全起见,不要使用 YAML 存储敏感信息,例如密码。
 * 或者将 YAML 文件的扩展名设置为 .yaml.php,并且在每一个 YAML 文件开头添加“exit()”。
 * 例如:
 * <code>
 * # <?php exit(); ?>
 *
 * invoice: 34843
 * date   : 2001-01-23
 * bill-to: &id001
 * ......
 * </code>
 *
 * 这样可以确保即便浏览器直接访问该 .yaml.php 文件,也无法看到内容。
 *
 * @param string $filename
 * @param boolean $cacheEnabled 是否缓存分析内容
 * @param array $replace
 *
 * @return array
 */
function load_yaml($filename, $cacheEnabled = true, $replace = null)
{
    static $objects = array();
    if (!file_exists($filename)) {
        FLEA::loadClass('FLEA_Exception_ExpectedFile');
        return __THROW(new FLEA_Exception_ExpectedFile($filename));
    }
    if ($cacheEnabled) {
        $arr = FLEA::getCache('yaml-' . $filename, filemtime($filename), false);
        if ($arr) {
            return $arr;
        }
    }
    if (!isset($objects[0])) {
        require_once FLEA_3RD_DIR . '/Spyc/spyc.php';
        $objects[0] =& new Spyc();
    }
    $arr = $objects[0]->load($filename, $replace);
    if ($cacheEnabled) {
        FLEA::writeCache('yaml-' . $filename, $arr);
    }
    return $arr;
}
Пример #9
0
 /**
  * 执行生成器
  *
  * @param array $opts
  */
 function generate($opts)
 {
     $name = array_shift($opts);
     $modelClass = 'Model_' . ucfirst($name);
     if ($filename = $this->_existsClassFile($modelClass)) {
         echo "Class '{$modelClass}' declare file '{$filename}' exists.\n";
         return -1;
     }
     $tableName = reset($opts);
     if (empty($tableName)) {
         return -1;
     }
     if (isset($opts[1])) {
         $tableClass = $opts[1];
     } else {
         $tableClass = 'Table_' . ucfirst($this->_camelName($tableName));
     }
     /**
      * 首先判断需要的表数据入口对象是否存在
      */
     if (!$this->_existsClassFile($tableClass)) {
         /**
          * 创建需要的表数据入口对象
          */
         $generatorTable =& FLEA::getSingleton('Generator_Table');
         /* @var $generatorTable Generator_Table */
         $generatorTable->make($tableName, array($tableClass));
     }
     FLEA::loadClass('FLEA_Db_TableDataGateway');
     $table =& FLEA::getSingleton($tableClass);
     $content = $this->_getCode($modelClass, $tableClass, $table);
     if ($content !== -1 && !empty($content)) {
         return $this->_createClassFile($modelClass, $content);
     } else {
         return -1;
     }
 }
Пример #10
0
<?php

/////////////////////////////////////////////////////////////////////////////
//  定义Model_SysUser模型
FLEA::loadClass('FLEA_Rbac_UsersManager');
// Model_SysUser 封装了对系统用户信息的操作,同时还负责取出用户的角色信息
class model_sysuser extends FLEA_Rbac_UsersManager
{
    // 保存用户信息的数据表名称
    var $tableName = 'srep_user';
    var $primaryKey = 'UserID';
    var $usernameField = 'Username';
    var $emailField = 'Email';
    var $encodeMethod = PWD_CLEARTEXT;
}
Пример #11
0
 /**
  * 执行一个查询,返回一个 resource 或者 boolean 值
  *
  * @param string $sql
  * @param array $inputarr
  * @param boolean $throw 指示查询出错时是否抛出异常
  *
  * @return resource|boolean
  */
 function execute($sql, $inputarr = null, $throw = true)
 {
     if (is_array($inputarr)) {
         $sql = $this->_prepareSql($sql, $inputarr);
     }
     if ($this->enableLog) {
         $this->log[] = $sql;
         log_message("sql:\n{$sql}", 'debug');
     }
     $result = @mssql_query($sql, $this->conn);
     if ($result !== false) {
         $this->lasterr = null;
         $this->lasterrcode = null;
         return $result;
     }
     $this->lasterr = $this->mssql_error($this->conn);
     $this->lasterrcode = $this->mssql_errno($this->conn);
     if (!$throw) {
         return false;
     }
     FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
     __THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr, $this->lasterrcode));
     return false;
 }
Пример #12
0
 /**
  * 检查访问控制表是否允许指定的角色访问
  *
  * @param array $roles
  * @param array $ACT
  *
  * @return boolean
  */
 function check(&$roles, &$ACT)
 {
     $roles = array_map('strtoupper', $roles);
     if ($ACT['allow'] == RBAC_EVERYONE) {
         // 如果 allow 允许所有角色,deny 没有设置,则检查通过
         if ($ACT['deny'] == RBAC_NULL) {
             return true;
         }
         // 如果 deny 为 RBAC_NO_ROLE,则只要用户具有角色就检查通过
         if ($ACT['deny'] == RBAC_NO_ROLE) {
             if (empty($roles)) {
                 return false;
             }
             return true;
         }
         // 如果 deny 为 RBAC_HAS_ROLE,则只有用户没有角色信息时才检查通过
         if ($ACT['deny'] == RBAC_HAS_ROLE) {
             if (empty($roles)) {
                 return true;
             }
             return false;
         }
         // 如果 deny 也为 RBAC_EVERYONE,则表示 ACT 出现了冲突
         if ($ACT['deny'] == RBAC_EVERYONE) {
             FLEA::loadClass('FLEA_Rbac_Exception_InvalidACT');
             __THROW(new FLEA_Rbac_Exception_InvalidACT($ACT));
             return false;
         }
         // 只有 deny 中没有用户的角色信息,则检查通过
         foreach ($roles as $role) {
             if (in_array($role, $ACT['deny'], true)) {
                 return false;
             }
         }
         return true;
     }
     do {
         // 如果 allow 要求用户具有角色,但用户没有角色时直接不通过检查
         if ($ACT['allow'] == RBAC_HAS_ROLE) {
             if (!empty($roles)) {
                 break;
             }
             return false;
         }
         // 如果 allow 要求用户没有角色,但用户有角色时直接不通过检查
         if ($ACT['allow'] == RBAC_NO_ROLE) {
             if (empty($roles)) {
                 break;
             }
             return false;
         }
         if ($ACT['allow'] != RBAC_NULL) {
             // 如果 allow 要求用户具有特定角色,则进行检查
             $passed = false;
             foreach ($roles as $role) {
                 if (in_array($role, $ACT['allow'], true)) {
                     $passed = true;
                     break;
                 }
             }
             if (!$passed) {
                 return false;
             }
         }
     } while (false);
     // 如果 deny 没有设置,则检查通过
     if ($ACT['deny'] == RBAC_NULL) {
         return true;
     }
     // 如果 deny 为 RBAC_NO_ROLE,则只要用户具有角色就检查通过
     if ($ACT['deny'] == RBAC_NO_ROLE) {
         if (empty($roles)) {
             return false;
         }
         return true;
     }
     // 如果 deny 为 RBAC_HAS_ROLE,则只有用户没有角色信息时才检查通过
     if ($ACT['deny'] == RBAC_HAS_ROLE) {
         if (empty($roles)) {
             return true;
         }
         return false;
     }
     // 如果 deny 为 RBAC_EVERYONE,则检查失败
     if ($ACT['deny'] == RBAC_EVERYONE) {
         return false;
     }
     // 只有 deny 中没有用户的角色信息,则检查通过
     foreach ($roles as $role) {
         if (in_array($role, $ACT['deny'], true)) {
             return false;
         }
     }
     return true;
 }
Пример #13
0
<?php

// {{{ includes
FLEA::loadClass('Controller_ZobBase');
// }}}
/**
 * 实现后台界面的显示
 *
 * @package OfficeBoard
 * @subpackage Controller
 * @author  Zhou Yuhui (xuchangyuhui@sohu.com)
 * @version 1.0, 2008-09-19
 */
class Controller_ZobAdmin extends Controller_ZobBase
{
    /**
     * 构造函数
     *
     * @return Controller_ZobAdmin
     */
    function Controller_ZobAdmin()
    {
        parent::Controller_ZobBase();
    }
    /**
     * 显示 frames 页面
     */
    function actionIndex()
    {
        include APP_DIR . '/ZobAdmin.php';
    }
Пример #14
0
 /**
  * 执行一个查询,返回一个 resource 或者 boolean 值
  *
  * @param string $sql
  * @param array $inputarr
  * @param boolean $throw 指示查询出错时是否抛出异常
  *
  * @return resource|boolean
  */
 function execute($sql, $inputarr = null, $throw = true)
 {
     if (is_array($inputarr)) {
         $sql = $this->_prepareSql($sql, $inputarr);
     }
     if ($this->enableLog) {
         $this->log[] = $sql;
         log_message("sql: {$sql}", 'debug');
     }
     $this->_lastrs = @pg_exec($this->conn, $sql);
     if ($this->_lastrs !== false) {
         $this->lasterr = null;
         $this->lasterrcode = null;
         return $this->_lastrs;
     }
     $this->lasterr = pg_errormessage($this->conn);
     $this->lasterrcode = null;
     if (!$throw) {
         return false;
     }
     FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
     __THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr));
     return false;
 }
Пример #15
0
 /**
  * 执行指定的 Action 方法
  *
  * @param string $controllerName
  * @param string $actionName
  * @param string $controllerClass
  *
  * @return mixed
  */
 function _executeAction($controllerName, $actionName, $controllerClass)
 {
     $callback = FLEA::getAppInf('dispatcherFailedCallback');
     // 确定动作方法名
     $actionPrefix = FLEA::getAppInf('actionMethodPrefix');
     $actionMethod = $actionPrefix . $actionName . FLEA::getAppInf('actionMethodSuffix');
     $controller = null;
     $controllerClassFilename = null;
     do {
         // 载入控制对应的类定义
         if (!$this->_loadController($controllerClass)) {
             break;
         }
         // 构造控制器对象
         FLEA::setAppInf('FLEA.internal.currentControllerName', $controllerName);
         FLEA::setAppInf('FLEA.internal.currentActionName', $actionName);
         $controller =& new $controllerClass($controllerName);
         if (!method_exists($controller, $actionMethod)) {
             break;
         }
         if (method_exists($controller, '__setController')) {
             $controller->__setController($controllerName, $actionName);
         }
         if (method_exists($controller, '__setDispatcher')) {
             $controller->__setDispatcher($this);
         }
         // 调用 _beforeExecute() 方法
         if (method_exists($controller, '_beforeExecute')) {
             $controller->_beforeExecute($actionMethod);
         }
         // 执行 action 方法
         $ret = $controller->{$actionMethod}();
         // 调用 _afterExecute() 方法
         if (method_exists($controller, '_afterExecute')) {
             $controller->_afterExecute($actionMethod);
         }
         return $ret;
     } while (false);
     if ($callback) {
         // 检查是否调用应用程序设置的错误处理程序
         $args = array($controllerName, $actionName, $controllerClass);
         return call_user_func_array($callback, $args);
     }
     if (is_null($controller)) {
         FLEA::loadClass('FLEA_Exception_MissingController');
         __THROW(new FLEA_Exception_MissingController($controllerName, $actionName, $this->_requestBackup, $controllerClass, $actionMethod, $controllerClassFilename));
         return false;
     }
     FLEA::loadClass('FLEA_Exception_MissingAction');
     __THROW(new FLEA_Exception_MissingAction($controllerName, $actionName, $this->_requestBackup, $controllerClass, $actionMethod, $controllerClassFilename));
     return false;
 }
Пример #16
0
<?php

FLEA::loadClass('FLEA_Controller_Action');
class Sys_Core extends FLEA_Controller_Action
{
    protected $_V = null;
    protected function __construct()
    {
        $this->_V =& $this->_getView();
    }
    //判断是否登陆
    public function isLogin()
    {
        $sessionKey = FLEA::getAppInf('RBACSessionKey');
        $username = $_SESSION[$sessionKey]['USERNAME'];
        //if($_GET['guest']!=1){
        if (empty($username)) {
            redirect(url('Default', 'Index'));
        }
        //}
    }
    //构造分页参数
    protected function getPager($total, $currentPage, $pagesize)
    {
        $pagerData = array();
        $pagerData['pageSize'] = $pagesize;
        $pagerData['totalCount'] = $total;
        $pagerData['count'] = $pagerData['totalCount'];
        $pagerData['pageCount'] = $pagerData['totalCount'] == 0 ? 1 : ceil($pagerData['totalCount'] / PAGESIZE);
        $pagerData['firstPage'] = 0;
        $pagerData['firstPageNumber'] = 1;
Пример #17
0
<?php

// 载入基础类的定义
FLEA::loadClass('FLEA_Db_TableDataGateway');
class Model_devinfo extends FLEA_Db_TableDataGateway
{
    /**
     * $tableName 属性用于指定 Model_Posts 是操作哪一个数据表
     *
     * @var string
     */
    public $tableName = 'socket_devinfo';
    // 指定主键字段名
    /**
     * $primaryKey 属性指定要操作的数据表的主键字段名
     *
     * @var string
     */
    public $primaryKey = 'serial';
    public $hasMany = array(array('tableClass' => 'Model_chninfo', 'foreignKey' => 'dev_no', 'mappingName' => 'chninfo', 'sort' => 'chn asc'));
    /**
     * @desc 改造函数,根据ID查找记录 
     */
    public function findById($id)
    {
        $a = $this->findAllByField($this->primaryKey, $id);
        return $a[0];
    }
    /**
     * @desc 改造函数,根据ID数组删除数据并返回真假
     */
Пример #18
0
<?php

/////////////////////////////////////////////////////////////////////////////
/**
 * 定义Login控制器
 *  Login 控制器提供了管理员用户登陆,注销登陆,用户注册等功能。
 */
////////////////////////////////////////////////////////////////////////////
//加载控制器基类
FLEA::loadClass('controller_base');
FLEA::loadClass('class_validator');
class controller_Login extends controller_base
{
    var $_model;
    var $_title;
    var $_smarty;
    //构造函数
    function controller_login()
    {
        //初始化模板
        $this->initView();
    }
    //后台用户登陆页
    function actionindex()
    {
        $this->_smarty->display('login.htm');
    }
    //后台用户登陆处理
    function actionlogin()
    {
        if (!isset($_POST['Username'])) {
Пример #19
0
 function execute($sql, $inputarr = null, $throw = true)
 {
     if (is_array($inputarr)) {
         $sql = $this->bind($sql, $inputarr);
     }
     if ($this->enableLog) {
         $this->log[] = $sql;
         log_message("sql: {$sql}", 'debug');
     }
     $this->querycount++;
     $result = mysql_query($sql, $this->conn);
     if ($result !== false) {
         $this->lasterr = null;
         $this->lasterrcode = null;
         return $result;
     }
     $this->lasterr = mysql_error($this->conn);
     $this->lasterrcode = mysql_errno($this->conn);
     if ($throw) {
         FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
         __THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr, $this->lasterrcode));
     }
     return false;
 }
Пример #20
0
 /**
  * 载入 ACT 文件
  *
  * @param string $actFilename
  *
  * @return mixed
  */
 function _loadACTFile($actFilename)
 {
     static $files = array();
     if (isset($files[$actFilename])) {
         return $files[$actFilename];
     }
     $ACT = (require $actFilename);
     if (is_array($ACT)) {
         $files[$actFilename] = $ACT;
         return $ACT;
     }
     // 当控制器的 ACT 文件没有返回 ACT 时抛出异常
     FLEA::loadClass('FLEA_Rbac_Exception_InvalidACTFile');
     __THROW(new FLEA_Rbac_Exception_InvalidACTFile($actFilename, $ACT));
     return false;
 }
Пример #21
0
<?php

// 载入基础类的定义
FLEA::loadClass('FLEA_Com_RBAC_RolesManager');
/**
 * Model_Posts 类是 FLEA_Db_TableDataGateway 类的一个子类。
 *
 * 通过指定 $tableName 和 $primaryKey 属性,就能够用 Model_Posts 对数据表进行
 * CRUD(创建、读取、更新、删除)操作,而无需编写数据库操作代码,提供了开发效率。
 */
class Model_Role extends FLEA_Com_RBAC_RolesManager
{
    /**
     * $tableName 属性用于指定 Model_Posts 是操作哪一个数据表
     *
     * @var string
     */
    var $tableName = 'socket_roles';
    // 指定主键字段名
    /**
     * $primaryKey 属性指定要操作的数据表的主键字段名
     *
     * @var string
     */
    var $primaryKey = 'role_id';
    var $rolesFields = 'user';
    //var $usernameField = 'login_name';
    //var $passwordField  = 'login_pass';
    var $manyToMany = array('tableClass' => 'Model_User', 'mappingName' => 'user', 'joinTable' => 'socket_rose');
    public function findById($id)
    {
Пример #22
0
 public function actionrestoredefault()
 {
     //发送指令
     $message = '<br>';
     FLEA::loadClass('Util_socketclient');
     $dev_bak = FLEA::getSingleton('Model_devinitialinfo');
     $dev = $dev_bak->findAll();
     //如果备份表里为空,将退出;
     if (!$dev) {
         $this->_G->customshow('您当前没有备份的默认值,请先备份', "edit", "Index", 3, 0);
         exit;
     }
     foreach ($dev as $devinfo) {
         $socket = new Util_socketclient();
         $socket->socketconn($devinfo['ipaddr'], $devinfo['ipport']);
         foreach ($devinfo['chninfo'] as $chninfo) {
             $sendcommand = $socket->messagetype($chninfo['chn'], $chninfo['apid'], $chninfo['agcstat'], $chninfo['gain'], $chninfo['mutestat'], $chninfo['passstat']);
             switch ($socket->sendmessage($sendcommand)) {
                 case $socket->returntrue:
                     $this->log->writelog($devinfo['devname'], $sendcommand, $socket->returntrue);
                     $message .= "设备{$devinfo['devname']}通道号:{$devinfo['chn']}指令发送:&nbsp;[<font color=red><b>{$sendcommand}</b></font>]成功";
                     $type = '1';
                 case $socket->returnfalse:
                     $this->log->writelog($devinfo['devname'], $sendcommand, $socket->returnfalse);
                     $message .= "<font color=red>设备{$devinfo['devname']}通道号:{$devinfo['chn']}指令发送:&nbsp;[<b>{$sendcommand}</b>]失败</b>";
                     $type = '0';
             }
         }
         unset($socket);
     }
     $message .= "<br>备份恢复完成";
     $this->_G->customshow($message, 'edit', 'Index', 3, $type);
 }
Пример #23
0
<?php

// 载入基础类的定义
FLEA::loadClass('FLEA_Com_RBAC_UsersManager');
/**
 * Model_Posts 类是 FLEA_Db_TableDataGateway 类的一个子类。
 *
 * 通过指定 $tableName 和 $primaryKey 属性,就能够用 Model_Posts 对数据表进行
 * CRUD(创建、读取、更新、删除)操作,而无需编写数据库操作代码,提供了开发效率。
 */
class Model_Default extends FLEA_Com_RBAC_UsersManager
{
    /**
     * $tableName 属性用于指定 Model_Posts 是操作哪一个数据表
     *
     * @var string
     */
    var $tableName = 'ticket_user';
    // 指定主键字段名
    /**
     * $primaryKey 属性指定要操作的数据表的主键字段名
     *
     * @var string
     */
    var $primaryKey = 'id_user';
    function login($username, $password)
    {
        $usersManager =& get_singleton('Model_User');
        // 验证用户名和密码是否正确
        $user = $usersManager->findByUsername($username);
        if (!$user || !$usersManager->checkPassword($password, $user[$usersManager->passwordField])) {
Пример #24
0
 function execute($sql, $inputarr = null, $throw = true)
 {
     if ($this->enableLog) {
         $this->log[] = $sql;
         log_message("sql: {$sql}", 'debug');
     }
     $this->querycount++;
     $stmt = ociparse($this->conn, $sql);
     if (is_array($inputarr)) {
         foreach (array_keys($inputarr) as $k) {
             ocibindbyname($stmt, $k, $inputarr[$k], -1);
         }
     }
     if ($stmt && ociexecute($stmt, $this->_commitMode)) {
         $this->_lastrs = $stmt;
         $this->lasterr = null;
         $this->lasterrcode = null;
         return $stmt;
     }
     $err = ocierror($stmt);
     $this->lasterr = $err['message'];
     $this->lasterrcode = $err['code'];
     if ($throw) {
         FLEA::loadClass('FLEA_Db_Exception_SqlQuery');
         __THROW(new FLEA_Db_Exception_SqlQuery($sql, $this->lasterr, $this->lasterrcode));
     }
     return false;
 }
Пример #25
0
 /**
  * 准备当前数据表的元数据
  *
  * @param boolean $flushCache
  *
  * @return boolean
  */
 function _prepareMeta($flushCache = false)
 {
     $cached = FLEA::getAppInf('dbMetaCached');
     $cacheId = $this->dbo->dsn['id'] . '/' . $this->fullTableName;
     $readFromCache = $cached != false && $flushCache == false;
     if ($readFromCache) {
         /**
          * 尝试从缓存读取
          */
         $meta = FLEA::getCache($cacheId, FLEA::getAppInf('dbMetaLifetime'));
         if (is_array($meta)) {
             $this->meta = $meta;
             return true;
         }
     }
     /**
      * 从数据库获得 meta
      */
     $this->meta = $this->dbo->metaColumns($this->qtableName);
     if (!is_array($this->meta) || empty($this->meta)) {
         FLEA::loadClass('FLEA_Db_Exception_MetaColumnsFailed');
         return __THROW(new FLEA_Db_Exception_MetaColumnsFailed($this->qtableName));
     }
     if ($cached) {
         return FLEA::writeCache($cacheId, $this->meta);
     } else {
         return true;
     }
 }
Пример #26
0
<?php

/////////////////////////////////////////////////////////////////////////////
// FleaPHP Framework
//
// Copyright (c) 2005 - 2008 QeeYuan China Inc. (http://www.qeeyuan.com)
//
// 许可协议,请查看源代码中附带的 LICENSE.txt 文件,
// 或者访问 http://www.fleaphp.org/ 获得详细信息。
/////////////////////////////////////////////////////////////////////////////
/**
 * 定义 FLEA_Com_RBAC_Exception_InvalidACTFile 异常,是 FLEA_Rbac_Exception_InvalidACTFile 的别名
 *
 * @copyright Copyright (c) 2005 - 2008 QeeYuan China Inc. (http://www.qeeyuan.com)
 * @author 起源科技 (www.qeeyuan.com)
 * @package Exception
 * @version $Id: InvalidACTFile.php 972 2007-10-09 20:56:54Z qeeyuan $
 */
FLEA::loadClass('FLEA_Rbac_Exception_InvalidACTFile');
/**
 * 开发者应该使用 FLEA_Rbac_Exception_InvalidACTFile
 *
 * @package Exception
 * @author 起源科技 (www.qeeyuan.com)
 * @version 1.0
 */
class FLEA_Com_RBAC_Exception_InvalidACTFile extends FLEA_Rbac_Exception_InvalidACTFile
{
}
Пример #27
0
 /**
  * 获得指定的组件对象
  *
  * @param string $componentName
  *
  * @return object
  */
 function &_getComponent($componentName)
 {
     static $instances = array();
     if (!isset($instances[$componentName])) {
         $componentClassName = FLEA::getAppInf('component.' . $componentName);
         FLEA::loadClass($componentClassName);
         $instances[$componentName] =& new $componentClassName($this);
     }
     return $instances[$componentName];
 }
Пример #28
0
<?php

/////////////////////////////////////////////////////////////////////////////
/**
 * 定义form控制器
 *
 *  form控制器提供了form表单界面处理模块。
 */
///////////////////////////////////////////////////////////////////////////
//加载控制器基类
FLEA::loadClass('controller_base');
FLEA::loadClass('class_conditions');
FLEA::loadClass('class_using');
class controller_form extends controller_base
{
    var $_model;
    //构造函数
    function controller_form()
    {
        //初始化模板
        $this->initView();
        $this->checkLogin();
    }
    //显示修改密码界面
    function actionchangepwd()
    {
        $rbac =& FLEA::getSingleton('FLEA_Rbac');
        $SE = $rbac->getUser();
        $username = isset($SE['USERNAME']) ? $SE['USERNAME'] : '';
        $this->_smarty->display('changepwd.htm');
    }
Пример #29
0
 /**
  * 添加/修改产品Action
  */
 function actionGoodseditdo()
 {
     // 登录检查
     $this->LoginCheck();
     $row['name'] = $_POST['name'];
     $row['summary'] = $_POST['summary'];
     $row['detail'] = $_POST['detail'];
     $row['cateid'] = $_POST['cateid'];
     $row['author'] = 'admin';
     if ($_FILES['image']['error'][0] != 4) {
         $allowExts = ALLOW_EXTS;
         $maxSize = MAX_FILES;
         $uploadDir = UPLOAD_IMG_DIR;
         // 装载FileUploader类
         FLEA::loadClass('FLEA_Helper_FileUploader');
         $uploader =& new FLEA_Helper_FileUploader();
         $files =& $uploader->getFiles();
         foreach ($files as $file) {
             if (!$file->check($allowExts, $maxSize)) {
                 // 上传的文件类型不符或者超过了大小限制。
                 return false;
             }
             // 生成唯一的文件名(重复的可能性极小)
             $id = md5(time() . $file->getFilename() . $file->getSize() . $file->getTmpName());
             $filename = $id . '.' . strtolower($file->getExt());
             $file->move($uploadDir . '/' . $filename);
         }
         $row['image'] = $filename;
     }
     if (isset($_POST['goodsid'])) {
         $row['goodsid'] = $_POST['goodsid'];
         $row['updated'] = date("Y-m-d H:i:s");
     } else {
         $row['created'] = date("Y-m-d H:i:s");
     }
     if ($this->_modelGoods->save($row)) {
         redirect($this->_url("Goodslist"));
         exit;
     }
 }
Пример #30
0
<?php

/////////////////////////////////////////////////////////////////////////////
/**
 * 定义reportmanage控制器
 *
 */
///////////////////////////////////////////////////////////////////////////
//加载控制器基类
FLEA::loadClass('controller_base');
FLEA::loadClass('class_using');
FLEA::loadClass('class_excel');
FLEA::loadClass('class_conditions');
FLEA::loadClass('class_order');
class controller_reportmanage extends controller_base
{
    var $sql;
    //构造函数
    function controller_reportmanage()
    {
        //初始化模板
        $this->initView();
        $this->checkLogin();
    }
    //结算报表管理首页
    function actionindex()
    {
    }
    //报表列表
    function actionreplist()
    {