Merge branch 'main' of http://git.njrzwl.cn:3000/wangmingchuan/yanzong
@ -1,3 +1,4 @@ |
|||||||
/.idea |
/.idea |
||||||
/.vscode |
/.vscode |
||||||
*.log |
*.log |
||||||
|
/vendor |
||||||
|
@ -0,0 +1,58 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\common\model; |
||||||
|
|
||||||
|
use cores\BaseModel; |
||||||
|
use think\db\exception\DataNotFoundException; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\db\exception\ModelNotFoundException; |
||||||
|
use think\model\relation\HasOne; |
||||||
|
|
||||||
|
class ServerCategory extends BaseModel |
||||||
|
{ |
||||||
|
// 定义表名 |
||||||
|
protected $name = 'server_category'; |
||||||
|
|
||||||
|
// 定义主键 |
||||||
|
protected $pk = 'category_id'; |
||||||
|
|
||||||
|
/** |
||||||
|
* 分类图片 |
||||||
|
* @return HasOne |
||||||
|
*/ |
||||||
|
public function image(): HasOne |
||||||
|
{ |
||||||
|
return $this->hasOne('UploadFile', 'file_id', 'image_id'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:分类详情 |
||||||
|
* @param $where |
||||||
|
* @param array $with |
||||||
|
* @return static|array|null |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public static function detail($where, array $with = []) |
||||||
|
{ |
||||||
|
return static::get($where, $with); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:获取全部记录 |
||||||
|
* @param array $where |
||||||
|
* @return array |
||||||
|
* @throws DataNotFoundException |
||||||
|
* @throws DbException |
||||||
|
* @throws ModelNotFoundException |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function getList(array $where = []): array |
||||||
|
{ |
||||||
|
$where = $this->setQueryDefaultValue($where); |
||||||
|
return $this->with(['image']) |
||||||
|
->where($where) |
||||||
|
->order(['sort', 'create_time']) |
||||||
|
->select() |
||||||
|
->toArray(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,87 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\common\model\server; |
||||||
|
|
||||||
|
use app\common\model\ServerCategory; |
||||||
|
use app\common\model\UploadFile; |
||||||
|
use cores\BaseModel; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\model\concern\SoftDelete; |
||||||
|
use think\model\relation\HasOne; |
||||||
|
use think\Paginator; |
||||||
|
|
||||||
|
class Server extends BaseModel |
||||||
|
{ |
||||||
|
|
||||||
|
// 定义表名 |
||||||
|
protected $name = 'server'; |
||||||
|
|
||||||
|
// 定义主键 |
||||||
|
protected $pk = 'server_id'; |
||||||
|
|
||||||
|
use SoftDelete; |
||||||
|
|
||||||
|
protected string $deleteTime = 'delete_time'; |
||||||
|
protected $defaultSoftDelete = 0; |
||||||
|
|
||||||
|
/** |
||||||
|
* 图片 |
||||||
|
* @return HasOne |
||||||
|
*/ |
||||||
|
public function image(): HasOne |
||||||
|
{ |
||||||
|
return $this->hasOne(UploadFile::class, 'file_id', 'image_id'); |
||||||
|
} |
||||||
|
|
||||||
|
public function category(): HasOne |
||||||
|
{ |
||||||
|
return $this->hasOne(ServerCategory::class, 'category_id', 'category_id'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:服务详情 |
||||||
|
* @param $where |
||||||
|
* @param array $with |
||||||
|
* @return static|array|null |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public static function detail($where, array $with = []) |
||||||
|
{ |
||||||
|
return static::get($where, $with); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:获取全部记录 |
||||||
|
* @param array $where |
||||||
|
* @param int $listRows |
||||||
|
* @param string $sort |
||||||
|
* @param string $sort_type |
||||||
|
* @return Paginator |
||||||
|
* @throws DbException |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function getList(array $where = [], int $listRows = 15, string $sort = '', string $sort_type = 'desc'): Paginator |
||||||
|
{ |
||||||
|
$where = $this->setQueryDefaultValue($where); |
||||||
|
$sort_arr = ['sort' => $sort_type, 'create_time' => $sort_type]; |
||||||
|
if ($sort) { |
||||||
|
$sort_arr = [$sort => $sort_type, 'create_time' => $sort_type]; |
||||||
|
} |
||||||
|
return $this->with(['image'])->withJoin(['category' => ['category_id', 'name']]) |
||||||
|
->where($where) |
||||||
|
->order($sort_arr) |
||||||
|
->paginate($listRows); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 文章详情:HTML实体转换回普通字符 |
||||||
|
* @param $value |
||||||
|
* @return string |
||||||
|
*/ |
||||||
|
public function getContentAttr($value): string |
||||||
|
{ |
||||||
|
return htmlspecialchars_decode($value); |
||||||
|
} |
||||||
|
|
||||||
|
} |
@ -0,0 +1,185 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\store\controller; |
||||||
|
|
||||||
|
use app\store\model\server\Server as ServerModel; |
||||||
|
use app\store\model\ServerCategory; |
||||||
|
use think\db\exception\DataNotFoundException; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\db\exception\ModelNotFoundException; |
||||||
|
use think\response\Json; |
||||||
|
|
||||||
|
class Server extends Controller |
||||||
|
{ |
||||||
|
/** |
||||||
|
* @notes:分类列表 10269 |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function categoryList(): Json |
||||||
|
{ |
||||||
|
$name = $this->request->post('name'); |
||||||
|
$where = []; |
||||||
|
if (!empty($name)) { |
||||||
|
$where[] = ['name', 'like', `%$name%`]; |
||||||
|
} |
||||||
|
$model = new ServerCategory(); |
||||||
|
try { |
||||||
|
$list = $model->getList($where); |
||||||
|
} catch (DataNotFoundException|ModelNotFoundException|DbException $e) { |
||||||
|
return $this->renderError($e->getMessage() ?: '接口异常'); |
||||||
|
} |
||||||
|
return $this->renderSuccess(compact('list')); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:添加分类 |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function addCategory(): Json |
||||||
|
{ |
||||||
|
$data = $this->postForm(); |
||||||
|
if (!$data) { |
||||||
|
return $this->renderError('缺少必要参数'); |
||||||
|
} |
||||||
|
$model = new ServerCategory(); |
||||||
|
if ($model->add($data)) { |
||||||
|
return $this->renderSuccess('添加成功'); |
||||||
|
} |
||||||
|
return $this->renderError($model->getError() ?: '添加失败'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:编辑分类 |
||||||
|
* @param int $categoryId |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function editCategory(int $categoryId): Json |
||||||
|
{ |
||||||
|
$data = $this->postForm(); |
||||||
|
if (!$data) { |
||||||
|
return $this->renderError('缺少必要参数'); |
||||||
|
} |
||||||
|
$model = ServerCategory::detail($categoryId); |
||||||
|
if ($model->edit($data)) { |
||||||
|
return $this->renderSuccess('编辑成功'); |
||||||
|
} |
||||||
|
return $this->renderError($model->getError() ?: '编辑失败'); |
||||||
|
} |
||||||
|
|
||||||
|
public function deleteCategory(int $categoryId): Json |
||||||
|
{ |
||||||
|
$model = ServerCategory::detail($categoryId); |
||||||
|
if ($model->remove()) { |
||||||
|
return $this->renderSuccess('删除成功'); |
||||||
|
} |
||||||
|
return $this->renderError('删除失败'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:服务列表 |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function serverList(): Json |
||||||
|
{ |
||||||
|
// 获取列表记录 |
||||||
|
$model = new ServerModel(); |
||||||
|
$server_name = $this->request->post('server_name'); |
||||||
|
$category_id = intval($this->request->post('category_id')); |
||||||
|
$status = intval($this->request->post('status')); |
||||||
|
$where = []; |
||||||
|
if ($server_name) { |
||||||
|
$where[] = ['server.server_name', 'like', "%$server_name%"]; |
||||||
|
} |
||||||
|
if ($category_id) { |
||||||
|
$where[] = ['server.category_id', '=', $category_id]; |
||||||
|
} |
||||||
|
if ($status) { |
||||||
|
$where[] = ['server.status', '=', $status]; |
||||||
|
} |
||||||
|
try { |
||||||
|
$list = $model->getList($where); |
||||||
|
} catch (DbException $e) { |
||||||
|
return $this->renderError($e->getMessage()); |
||||||
|
} |
||||||
|
return $this->renderSuccess(compact('list')); |
||||||
|
} |
||||||
|
|
||||||
|
public function ServerDetail(int $serverId): Json |
||||||
|
{ |
||||||
|
// 获取商品详情 |
||||||
|
$model = new ServerModel; |
||||||
|
$info = $model->getDetail($serverId); |
||||||
|
return $this->renderSuccess(compact('info')); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:添加服务 |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function addServer(): Json |
||||||
|
{ |
||||||
|
$data = $this->postForm(); |
||||||
|
if (!$data) { |
||||||
|
return $this->renderError('缺少必要参数'); |
||||||
|
} |
||||||
|
$model = new ServerModel(); |
||||||
|
if ($model->add($data)) { |
||||||
|
return $this->renderSuccess('添加成功'); |
||||||
|
} |
||||||
|
return $this->renderError($model->getError() ?: '添加失败'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:编辑服务 |
||||||
|
* @param int $serverId |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function editServer(int $serverId): Json |
||||||
|
{ |
||||||
|
$data = $this->postForm(); |
||||||
|
if (!$data) { |
||||||
|
return $this->renderError('缺少必要参数'); |
||||||
|
} |
||||||
|
$model = ServerModel::detail($serverId); |
||||||
|
if ($model->edit($data)) { |
||||||
|
return $this->renderSuccess('编辑成功'); |
||||||
|
} |
||||||
|
return $this->renderError($model->getError() ?: '编辑失败'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:删除服务 |
||||||
|
* @param array $serverId |
||||||
|
* @return Json |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function deleteServer(array $serverId): Json |
||||||
|
{ |
||||||
|
$model = new ServerModel; |
||||||
|
if ($model->remove($serverId)) { |
||||||
|
return $this->renderSuccess('删除成功'); |
||||||
|
} |
||||||
|
return $this->renderError('删除失败'); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改服务状态(上下架) |
||||||
|
* @param array $serverIds 商品id集 |
||||||
|
* @param bool $state 为true表示上架 |
||||||
|
* @return Json |
||||||
|
*/ |
||||||
|
public function serverStatus(array $serverIds, bool $state): Json |
||||||
|
{ |
||||||
|
$model = new ServerModel; |
||||||
|
if (!$model->setStatus($serverIds, $state)) { |
||||||
|
return $this->renderError($model->getError() ?: '操作失败'); |
||||||
|
} |
||||||
|
return $this->renderSuccess('操作成功'); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\store\model; |
||||||
|
|
||||||
|
use app\common\model\ServerCategory as ServerCategoryModel; |
||||||
|
|
||||||
|
/** |
||||||
|
* 服务分类模型 |
||||||
|
* Class ServerCategory |
||||||
|
* @package app\store\model |
||||||
|
*/ |
||||||
|
class ServerCategory extends ServerCategoryModel |
||||||
|
{ |
||||||
|
/** |
||||||
|
* @notes:新增 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function add($data): bool |
||||||
|
{ |
||||||
|
$data['store_id'] = self::$storeId; |
||||||
|
return $this->save($data); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:编辑 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function edit($data): bool |
||||||
|
{ |
||||||
|
// 是否删除图片 |
||||||
|
!isset($data['image_id']) && $data['image_id'] = 0; |
||||||
|
return $this->save($data) !== false; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:删除 |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function remove(): bool |
||||||
|
{ |
||||||
|
if (!static::detail(['category_id' => $this['category_id']])) { |
||||||
|
$this->error = '记录不存在'; |
||||||
|
return false; |
||||||
|
} |
||||||
|
return $this->delete(); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace app\store\model\server; |
||||||
|
|
||||||
|
use app\common\model\server\Server as ServerModel; |
||||||
|
use think\db\exception\DataNotFoundException; |
||||||
|
use think\db\exception\DbException; |
||||||
|
use think\db\exception\ModelNotFoundException; |
||||||
|
|
||||||
|
class Server extends ServerModel |
||||||
|
{ |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:新增 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function add($data): bool |
||||||
|
{ |
||||||
|
$data['store_id'] = self::$storeId; |
||||||
|
return $this->save($data); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:编辑 |
||||||
|
* @param $data |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function edit($data): bool |
||||||
|
{ |
||||||
|
// 是否删除图片 |
||||||
|
!isset($data['image_id']) && $data['image_id'] = 0; |
||||||
|
return $this->save($data) !== false; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* @notes:删除 |
||||||
|
* @param array $serverId |
||||||
|
* @return bool |
||||||
|
* @author: wanghousheng |
||||||
|
*/ |
||||||
|
public function remove(array $serverId): bool |
||||||
|
{ |
||||||
|
try { |
||||||
|
return static::whereIn('server_id', $serverId)->select()->delete(); |
||||||
|
} catch (DataNotFoundException|ModelNotFoundException|DbException $e) { |
||||||
|
return false; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 修改服务状态 |
||||||
|
* @param array $serverIds 商品id集 |
||||||
|
* @param bool $state 为true表示上架 |
||||||
|
* @return bool|false |
||||||
|
*/ |
||||||
|
public function setStatus(array $serverIds, bool $state): bool |
||||||
|
{ |
||||||
|
// 批量更新记录 |
||||||
|
return static::updateBase(['status' => $state ? 1 : 2], [['server_id', 'in', $serverIds]]); |
||||||
|
} |
||||||
|
|
||||||
|
public function getDetail(int $serverId) |
||||||
|
{ |
||||||
|
return static::detail($serverId, ['image', 'category']); |
||||||
|
} |
||||||
|
} |
@ -1,2 +1,2 @@ |
|||||||
* |
* |
||||||
!.gitignore |
!.gitignore |
@ -1,21 +1,21 @@ |
|||||||
# The MIT License (MIT) |
# The MIT License (MIT) |
||||||
|
|
||||||
Copyright (c) 2016-2019 Riku Särkinen |
Copyright (c) 2016-2019 Riku Särkinen |
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||||
of this software and associated documentation files (the "Software"), to deal |
of this software and associated documentation files (the "Software"), to deal |
||||||
in the Software without restriction, including without limitation the rights |
in the Software without restriction, including without limitation the rights |
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||||
copies of the Software, and to permit persons to whom the Software is |
copies of the Software, and to permit persons to whom the Software is |
||||||
furnished to do so, subject to the following conditions: |
furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all |
The above copyright notice and this permission notice shall be included in all |
||||||
copies or substantial portions of the Software. |
copies or substantial portions of the Software. |
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
||||||
SOFTWARE. |
SOFTWARE. |
||||||
|
@ -1,29 +1,29 @@ |
|||||||
{ |
{ |
||||||
"name": "adbario/php-dot-notation", |
"name": "adbario/php-dot-notation", |
||||||
"description": "PHP dot notation access to arrays", |
"description": "PHP dot notation access to arrays", |
||||||
"keywords": ["dotnotation", "arrayaccess"], |
"keywords": ["dotnotation", "arrayaccess"], |
||||||
"homepage": "https://github.com/adbario/php-dot-notation", |
"homepage": "https://github.com/adbario/php-dot-notation", |
||||||
"license": "MIT", |
"license": "MIT", |
||||||
"authors": [ |
"authors": [ |
||||||
{ |
{ |
||||||
"name": "Riku Särkinen", |
"name": "Riku Särkinen", |
||||||
"email": "riku@adbar.io" |
"email": "riku@adbar.io" |
||||||
} |
} |
||||||
], |
], |
||||||
"require": { |
"require": { |
||||||
"php": ">=5.5", |
"php": ">=5.5", |
||||||
"ext-json": "*" |
"ext-json": "*" |
||||||
}, |
}, |
||||||
"require-dev": { |
"require-dev": { |
||||||
"phpunit/phpunit": "^4.0|^5.0|^6.0", |
"phpunit/phpunit": "^4.0|^5.0|^6.0", |
||||||
"squizlabs/php_codesniffer": "^3.0" |
"squizlabs/php_codesniffer": "^3.0" |
||||||
}, |
}, |
||||||
"autoload": { |
"autoload": { |
||||||
"files": [ |
"files": [ |
||||||
"src/helpers.php" |
"src/helpers.php" |
||||||
], |
], |
||||||
"psr-4": { |
"psr-4": { |
||||||
"Adbar\\": "src" |
"Adbar\\": "src" |
||||||
} |
} |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1,23 +1,23 @@ |
|||||||
<?php |
<?php |
||||||
/** |
/** |
||||||
* Dot - PHP dot notation access to arrays |
* Dot - PHP dot notation access to arrays |
||||||
* |
* |
||||||
* @author Riku Särkinen <riku@adbar.io> |
* @author Riku Särkinen <riku@adbar.io> |
||||||
* @link https://github.com/adbario/php-dot-notation |
* @link https://github.com/adbario/php-dot-notation |
||||||
* @license https://github.com/adbario/php-dot-notation/blob/2.x/LICENSE.md (MIT License) |
* @license https://github.com/adbario/php-dot-notation/blob/2.x/LICENSE.md (MIT License) |
||||||
*/ |
*/ |
||||||
|
|
||||||
use Adbar\Dot; |
use Adbar\Dot; |
||||||
|
|
||||||
if (! function_exists('dot')) { |
if (! function_exists('dot')) { |
||||||
/** |
/** |
||||||
* Create a new Dot object with the given items |
* Create a new Dot object with the given items |
||||||
* |
* |
||||||
* @param mixed $items |
* @param mixed $items |
||||||
* @return \Adbar\Dot |
* @return \Adbar\Dot |
||||||
*/ |
*/ |
||||||
function dot($items) |
function dot($items) |
||||||
{ |
{ |
||||||
return new Dot($items); |
return new Dot($items); |
||||||
} |
} |
||||||
} |
} |
||||||
|
@ -1 +1 @@ |
|||||||
.idea |
.idea |
||||||
|
@ -1,165 +1,165 @@ |
|||||||
GNU LESSER GENERAL PUBLIC LICENSE |
GNU LESSER GENERAL PUBLIC LICENSE |
||||||
Version 3, 29 June 2007 |
Version 3, 29 June 2007 |
||||||
|
|
||||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> |
||||||
Everyone is permitted to copy and distribute verbatim copies |
Everyone is permitted to copy and distribute verbatim copies |
||||||
of this license document, but changing it is not allowed. |
of this license document, but changing it is not allowed. |
||||||
|
|
||||||
|
|
||||||
This version of the GNU Lesser General Public License incorporates |
This version of the GNU Lesser General Public License incorporates |
||||||
the terms and conditions of version 3 of the GNU General Public |
the terms and conditions of version 3 of the GNU General Public |
||||||
License, supplemented by the additional permissions listed below. |
License, supplemented by the additional permissions listed below. |
||||||
|
|
||||||
0. Additional Definitions. |
0. Additional Definitions. |
||||||
|
|
||||||
As used herein, "this License" refers to version 3 of the GNU Lesser |
As used herein, "this License" refers to version 3 of the GNU Lesser |
||||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU |
General Public License, and the "GNU GPL" refers to version 3 of the GNU |
||||||
General Public License. |
General Public License. |
||||||
|
|
||||||
"The Library" refers to a covered work governed by this License, |
"The Library" refers to a covered work governed by this License, |
||||||
other than an Application or a Combined Work as defined below. |
other than an Application or a Combined Work as defined below. |
||||||
|
|
||||||
An "Application" is any work that makes use of an interface provided |
An "Application" is any work that makes use of an interface provided |
||||||
by the Library, but which is not otherwise based on the Library. |
by the Library, but which is not otherwise based on the Library. |
||||||
Defining a subclass of a class defined by the Library is deemed a mode |
Defining a subclass of a class defined by the Library is deemed a mode |
||||||
of using an interface provided by the Library. |
of using an interface provided by the Library. |
||||||
|
|
||||||
A "Combined Work" is a work produced by combining or linking an |
A "Combined Work" is a work produced by combining or linking an |
||||||
Application with the Library. The particular version of the Library |
Application with the Library. The particular version of the Library |
||||||
with which the Combined Work was made is also called the "Linked |
with which the Combined Work was made is also called the "Linked |
||||||
Version". |
Version". |
||||||
|
|
||||||
The "Minimal Corresponding Source" for a Combined Work means the |
The "Minimal Corresponding Source" for a Combined Work means the |
||||||
Corresponding Source for the Combined Work, excluding any source code |
Corresponding Source for the Combined Work, excluding any source code |
||||||
for portions of the Combined Work that, considered in isolation, are |
for portions of the Combined Work that, considered in isolation, are |
||||||
based on the Application, and not on the Linked Version. |
based on the Application, and not on the Linked Version. |
||||||
|
|
||||||
The "Corresponding Application Code" for a Combined Work means the |
The "Corresponding Application Code" for a Combined Work means the |
||||||
object code and/or source code for the Application, including any data |
object code and/or source code for the Application, including any data |
||||||
and utility programs needed for reproducing the Combined Work from the |
and utility programs needed for reproducing the Combined Work from the |
||||||
Application, but excluding the System Libraries of the Combined Work. |
Application, but excluding the System Libraries of the Combined Work. |
||||||
|
|
||||||
1. Exception to Section 3 of the GNU GPL. |
1. Exception to Section 3 of the GNU GPL. |
||||||
|
|
||||||
You may convey a covered work under sections 3 and 4 of this License |
You may convey a covered work under sections 3 and 4 of this License |
||||||
without being bound by section 3 of the GNU GPL. |
without being bound by section 3 of the GNU GPL. |
||||||
|
|
||||||
2. Conveying Modified Versions. |
2. Conveying Modified Versions. |
||||||
|
|
||||||
If you modify a copy of the Library, and, in your modifications, a |
If you modify a copy of the Library, and, in your modifications, a |
||||||
facility refers to a function or data to be supplied by an Application |
facility refers to a function or data to be supplied by an Application |
||||||
that uses the facility (other than as an argument passed when the |
that uses the facility (other than as an argument passed when the |
||||||
facility is invoked), then you may convey a copy of the modified |
facility is invoked), then you may convey a copy of the modified |
||||||
version: |
version: |
||||||
|
|
||||||
a) under this License, provided that you make a good faith effort to |
a) under this License, provided that you make a good faith effort to |
||||||
ensure that, in the event an Application does not supply the |
ensure that, in the event an Application does not supply the |
||||||
function or data, the facility still operates, and performs |
function or data, the facility still operates, and performs |
||||||
whatever part of its purpose remains meaningful, or |
whatever part of its purpose remains meaningful, or |
||||||
|
|
||||||
b) under the GNU GPL, with none of the additional permissions of |
b) under the GNU GPL, with none of the additional permissions of |
||||||
this License applicable to that copy. |
this License applicable to that copy. |
||||||
|
|
||||||
3. Object Code Incorporating Material from Library Header Files. |
3. Object Code Incorporating Material from Library Header Files. |
||||||
|
|
||||||
The object code form of an Application may incorporate material from |
The object code form of an Application may incorporate material from |
||||||
a header file that is part of the Library. You may convey such object |
a header file that is part of the Library. You may convey such object |
||||||
code under terms of your choice, provided that, if the incorporated |
code under terms of your choice, provided that, if the incorporated |
||||||
material is not limited to numerical parameters, data structure |
material is not limited to numerical parameters, data structure |
||||||
layouts and accessors, or small macros, inline functions and templates |
layouts and accessors, or small macros, inline functions and templates |
||||||
(ten or fewer lines in length), you do both of the following: |
(ten or fewer lines in length), you do both of the following: |
||||||
|
|
||||||
a) Give prominent notice with each copy of the object code that the |
a) Give prominent notice with each copy of the object code that the |
||||||
Library is used in it and that the Library and its use are |
Library is used in it and that the Library and its use are |
||||||
covered by this License. |
covered by this License. |
||||||
|
|
||||||
b) Accompany the object code with a copy of the GNU GPL and this license |
b) Accompany the object code with a copy of the GNU GPL and this license |
||||||
document. |
document. |
||||||
|
|
||||||
4. Combined Works. |
4. Combined Works. |
||||||
|
|
||||||
You may convey a Combined Work under terms of your choice that, |
You may convey a Combined Work under terms of your choice that, |
||||||
taken together, effectively do not restrict modification of the |
taken together, effectively do not restrict modification of the |
||||||
portions of the Library contained in the Combined Work and reverse |
portions of the Library contained in the Combined Work and reverse |
||||||
engineering for debugging such modifications, if you also do each of |
engineering for debugging such modifications, if you also do each of |
||||||
the following: |
the following: |
||||||
|
|
||||||
a) Give prominent notice with each copy of the Combined Work that |
a) Give prominent notice with each copy of the Combined Work that |
||||||
the Library is used in it and that the Library and its use are |
the Library is used in it and that the Library and its use are |
||||||
covered by this License. |
covered by this License. |
||||||
|
|
||||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license |
b) Accompany the Combined Work with a copy of the GNU GPL and this license |
||||||
document. |
document. |
||||||
|
|
||||||
c) For a Combined Work that displays copyright notices during |
c) For a Combined Work that displays copyright notices during |
||||||
execution, include the copyright notice for the Library among |
execution, include the copyright notice for the Library among |
||||||
these notices, as well as a reference directing the user to the |
these notices, as well as a reference directing the user to the |
||||||
copies of the GNU GPL and this license document. |
copies of the GNU GPL and this license document. |
||||||
|
|
||||||
d) Do one of the following: |
d) Do one of the following: |
||||||
|
|
||||||
0) Convey the Minimal Corresponding Source under the terms of this |
0) Convey the Minimal Corresponding Source under the terms of this |
||||||
License, and the Corresponding Application Code in a form |
License, and the Corresponding Application Code in a form |
||||||
suitable for, and under terms that permit, the user to |
suitable for, and under terms that permit, the user to |
||||||
recombine or relink the Application with a modified version of |
recombine or relink the Application with a modified version of |
||||||
the Linked Version to produce a modified Combined Work, in the |
the Linked Version to produce a modified Combined Work, in the |
||||||
manner specified by section 6 of the GNU GPL for conveying |
manner specified by section 6 of the GNU GPL for conveying |
||||||
Corresponding Source. |
Corresponding Source. |
||||||
|
|
||||||
1) Use a suitable shared library mechanism for linking with the |
1) Use a suitable shared library mechanism for linking with the |
||||||
Library. A suitable mechanism is one that (a) uses at run time |
Library. A suitable mechanism is one that (a) uses at run time |
||||||
a copy of the Library already present on the user's computer |
a copy of the Library already present on the user's computer |
||||||
system, and (b) will operate properly with a modified version |
system, and (b) will operate properly with a modified version |
||||||
of the Library that is interface-compatible with the Linked |
of the Library that is interface-compatible with the Linked |
||||||
Version. |
Version. |
||||||
|
|
||||||
e) Provide Installation Information, but only if you would otherwise |
e) Provide Installation Information, but only if you would otherwise |
||||||
be required to provide such information under section 6 of the |
be required to provide such information under section 6 of the |
||||||
GNU GPL, and only to the extent that such information is |
GNU GPL, and only to the extent that such information is |
||||||
necessary to install and execute a modified version of the |
necessary to install and execute a modified version of the |
||||||
Combined Work produced by recombining or relinking the |
Combined Work produced by recombining or relinking the |
||||||
Application with a modified version of the Linked Version. (If |
Application with a modified version of the Linked Version. (If |
||||||
you use option 4d0, the Installation Information must accompany |
you use option 4d0, the Installation Information must accompany |
||||||
the Minimal Corresponding Source and Corresponding Application |
the Minimal Corresponding Source and Corresponding Application |
||||||
Code. If you use option 4d1, you must provide the Installation |
Code. If you use option 4d1, you must provide the Installation |
||||||
Information in the manner specified by section 6 of the GNU GPL |
Information in the manner specified by section 6 of the GNU GPL |
||||||
for conveying Corresponding Source.) |
for conveying Corresponding Source.) |
||||||
|
|
||||||
5. Combined Libraries. |
5. Combined Libraries. |
||||||
|
|
||||||
You may place library facilities that are a work based on the |
You may place library facilities that are a work based on the |
||||||
Library side by side in a single library together with other library |
Library side by side in a single library together with other library |
||||||
facilities that are not Applications and are not covered by this |
facilities that are not Applications and are not covered by this |
||||||
License, and convey such a combined library under terms of your |
License, and convey such a combined library under terms of your |
||||||
choice, if you do both of the following: |
choice, if you do both of the following: |
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work based |
a) Accompany the combined library with a copy of the same work based |
||||||
on the Library, uncombined with any other library facilities, |
on the Library, uncombined with any other library facilities, |
||||||
conveyed under the terms of this License. |
conveyed under the terms of this License. |
||||||
|
|
||||||
b) Give prominent notice with the combined library that part of it |
b) Give prominent notice with the combined library that part of it |
||||||
is a work based on the Library, and explaining where to find the |
is a work based on the Library, and explaining where to find the |
||||||
accompanying uncombined form of the same work. |
accompanying uncombined form of the same work. |
||||||
|
|
||||||
6. Revised Versions of the GNU Lesser General Public License. |
6. Revised Versions of the GNU Lesser General Public License. |
||||||
|
|
||||||
The Free Software Foundation may publish revised and/or new versions |
The Free Software Foundation may publish revised and/or new versions |
||||||
of the GNU Lesser General Public License from time to time. Such new |
of the GNU Lesser General Public License from time to time. Such new |
||||||
versions will be similar in spirit to the present version, but may |
versions will be similar in spirit to the present version, but may |
||||||
differ in detail to address new problems or concerns. |
differ in detail to address new problems or concerns. |
||||||
|
|
||||||
Each version is given a distinguishing version number. If the |
Each version is given a distinguishing version number. If the |
||||||
Library as you received it specifies that a certain numbered version |
Library as you received it specifies that a certain numbered version |
||||||
of the GNU Lesser General Public License "or any later version" |
of the GNU Lesser General Public License "or any later version" |
||||||
applies to it, you have the option of following the terms and |
applies to it, you have the option of following the terms and |
||||||
conditions either of that published version or of any later version |
conditions either of that published version or of any later version |
||||||
published by the Free Software Foundation. If the Library as you |
published by the Free Software Foundation. If the Library as you |
||||||
received it does not specify a version number of the GNU Lesser |
received it does not specify a version number of the GNU Lesser |
||||||
General Public License, you may choose any version of the GNU Lesser |
General Public License, you may choose any version of the GNU Lesser |
||||||
General Public License ever published by the Free Software Foundation. |
General Public License ever published by the Free Software Foundation. |
||||||
|
|
||||||
If the Library as you received it specifies that a proxy can decide |
If the Library as you received it specifies that a proxy can decide |
||||||
whether future versions of the GNU Lesser General Public License shall |
whether future versions of the GNU Lesser General Public License shall |
||||||
apply, that proxy's public statement of acceptance of any version is |
apply, that proxy's public statement of acceptance of any version is |
||||||
permanent authorization for you to choose that version for the |
permanent authorization for you to choose that version for the |
||||||
Library. |
Library. |
||||||
|
@ -1,2 +1,2 @@ |
|||||||
1.1.5 |
1.1.5 |
||||||
2012021604 |
2012021604 |
||||||
|
Before Width: | Height: | Size: 126 B After Width: | Height: | Size: 126 B |
Before Width: | Height: | Size: 202 B After Width: | Height: | Size: 202 B |
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 205 B |
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 210 B |
Before Width: | Height: | Size: 213 B After Width: | Height: | Size: 213 B |
Before Width: | Height: | Size: 219 B After Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 211 B After Width: | Height: | Size: 211 B |
Before Width: | Height: | Size: 228 B After Width: | Height: | Size: 228 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 144 B |
Before Width: | Height: | Size: 225 B After Width: | Height: | Size: 225 B |
Before Width: | Height: | Size: 235 B After Width: | Height: | Size: 235 B |
Before Width: | Height: | Size: 226 B After Width: | Height: | Size: 226 B |
Before Width: | Height: | Size: 220 B After Width: | Height: | Size: 220 B |
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 242 B After Width: | Height: | Size: 242 B |
Before Width: | Height: | Size: 244 B After Width: | Height: | Size: 244 B |
Before Width: | Height: | Size: 237 B After Width: | Height: | Size: 237 B |
Before Width: | Height: | Size: 234 B After Width: | Height: | Size: 234 B |
Before Width: | Height: | Size: 232 B After Width: | Height: | Size: 232 B |
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 255 B After Width: | Height: | Size: 255 B |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 260 B |
Before Width: | Height: | Size: 262 B After Width: | Height: | Size: 262 B |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 253 B |
Before Width: | Height: | Size: 256 B After Width: | Height: | Size: 256 B |
Before Width: | Height: | Size: 243 B After Width: | Height: | Size: 243 B |
Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 272 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 279 B |
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 279 B |
Before Width: | Height: | Size: 264 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 149 B After Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 267 B After Width: | Height: | Size: 267 B |
Before Width: | Height: | Size: 150 B After Width: | Height: | Size: 150 B |
Before Width: | Height: | Size: 151 B After Width: | Height: | Size: 151 B |
Before Width: | Height: | Size: 189 B After Width: | Height: | Size: 189 B |
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
Before Width: | Height: | Size: 199 B After Width: | Height: | Size: 199 B |