コード例 #1
0
ファイル: TableLink.php プロジェクト: joaosigno/dazake-job
 /**
  * 创建或更新主表记录时,保存关联的数据
  *
  * @param array $row 要保存的关联数据
  *
  * @return boolean
  */
 function _saveAssocDataBase(&$row)
 {
     switch (strtolower($this->saveAssocMethod)) {
         case 'create':
             return $this->assocTDG->create($row);
         case 'update':
             return $this->assocTDG->update($row);
         case 'replace':
             return $this->assocTDG->replace($row);
         default:
             return $this->assocTDG->save($row);
     }
 }
コード例 #2
0
ファイル: UsersManager.php プロジェクト: joaosigno/dazake-job
 /**
  * 创建用户记录,返回新建用户记录的主键值
  *
  * @param array $row
  *
  * @return mixed
  */
 function create(&$row)
 {
     if (isset($this->functionFields['registerIpField']) && $this->functionFields['registerIpField'] != '') {
         $row[$this->functionFields['registerIpField']] = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '127.0.0.1';
     }
     return parent::create($row);
 }
コード例 #3
0
 /**
  * 添加一个用户组,返回该用户组的 ID
  *
  * @param array $group
  * @param int $parentId
  *
  * @return int
  */
 function create($group, $parentId = 0)
 {
     $parentId = (int) $parentId;
     if ($parentId) {
         $parent = parent::find($parentId);
         if (!$parent) {
             // 指定的父用户组不存在
             FLEA::loadClass('FLEA_Acl_Exception_UserGroupNotFound');
             __THROW(new FLEA_Acl_Exception_UserGroupNotFound($parentId));
             return false;
         }
     } else {
         // 如果未指定 $parentId 为 0 或 null,则创建一个顶级用户组
         $parent = parent::find(array('name' => $this->_rootGroupName));
         if (!$parent) {
             // 如果根用户组不存在,则自动创建
             $parent = array('name' => $this->_rootGroupName, 'description' => '', 'left_value' => 1, 'right_value' => 2, 'parent_id' => -1);
             if (!parent::create($parent)) {
                 return false;
             }
         }
         // 确保所有 _#_ROOT_GROUP_#_ 的直接子用户组的 parent_id 都为 0
         $parent[$this->primaryKey] = 0;
     }
     $this->dbo->startTrans();
     // 根据父用户组的左值和右值更新数据
     $sql = "UPDATE {$this->fullTableName} SET left_value = left_value + 2 " . "WHERE left_value >= {$parent['right_value']}";
     $this->dbo->execute($sql);
     $sql = "UPDATE {$this->fullTableName} SET right_value = right_value + 2 " . "WHERE right_value >= {$parent['right_value']}";
     $this->dbo->execute($sql);
     // 插入新用户组记录
     $group['left_value'] = $parent['right_value'];
     $group['right_value'] = $parent['right_value'] + 1;
     $group['parent_id'] = $parent[$this->primaryKey];
     $ret = parent::create($group);
     if ($ret) {
         $this->dbo->completeTrans();
     } else {
         $this->dbo->completeTrans(false);
     }
     return $ret;
 }