From 9e4e927bcc3a55113806e86279de883fc2e7b190 Mon Sep 17 00:00:00 2001
From: Terry <2358269014@qq.com>
Date: Sun, 15 Sep 2019 13:27:40 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E6=89=A9=E5=B1=95=E5=BA=94?=
=?UTF-8?q?=E7=94=A8=E5=8A=A0=E5=85=A5=E4=BC=98=E5=85=88=E7=BA=A7=E5=8F=82?=
=?UTF-8?q?=E6=95=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../block/extensioninstalled/Manager.php | 15 +-
.../block/extensioninstalled/Manageredit.php | 111 +++-----
.../block/extensioninstalled/Managerview.php | 240 ++++++++++++++++++
.../ExtensioninstalledController.php | 11 +-
.../system/extensioninstalled/manageredit.php | 12 +-
.../system/extensioninstalled/managerview.php | 49 ++++
6 files changed, 356 insertions(+), 82 deletions(-)
create mode 100644 app/appadmin/modules/System/block/extensioninstalled/Managerview.php
create mode 100644 app/appadmin/theme/base/default/system/extensioninstalled/managerview.php
diff --git a/app/appadmin/modules/System/block/extensioninstalled/Manager.php b/app/appadmin/modules/System/block/extensioninstalled/Manager.php
index 5732787e..7f9d370a 100644
--- a/app/appadmin/modules/System/block/extensioninstalled/Manager.php
+++ b/app/appadmin/modules/System/block/extensioninstalled/Manager.php
@@ -24,6 +24,7 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
{
public $_enableUrl;
public $_disableUrl;
+ public $_viewUrl;
/**
* init param function ,execute in construct.
*/
@@ -33,6 +34,7 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
* edit data url
*/
$this->_editUrl = CUrl::getUrl('system/extensioninstalled/manageredit');
+ $this->_viewUrl = CUrl::getUrl('system/extensioninstalled/managerview');
/*
* delete data url
*/
@@ -173,6 +175,13 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
'align' => 'center',
'convert' => ['int' => 'datetime'],
],
+
+ [
+ 'orderField' => 'priority',
+ 'label' => Yii::$service->page->translate->__('Priority'),
+ 'width' => '50',
+ 'align' => 'left',
+ ],
[
'orderField' => 'updated_at',
'label' => Yii::$service->page->translate->__('Updated At'),
@@ -264,8 +273,10 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
$str .= '
'.$val.' | ';
}
$str .= '
-
- | ';
+
+
+
+ ';
$str .= '';
}
diff --git a/app/appadmin/modules/System/block/extensioninstalled/Manageredit.php b/app/appadmin/modules/System/block/extensioninstalled/Manageredit.php
index 6f18fd22..2745f523 100644
--- a/app/appadmin/modules/System/block/extensioninstalled/Manageredit.php
+++ b/app/appadmin/modules/System/block/extensioninstalled/Manageredit.php
@@ -49,30 +49,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
public function getEditArr()
{
return [
- [
- 'label' => Yii::$service->page->translate->__('Extension Name'),
- 'name' => 'name',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
- [
- 'label' => Yii::$service->page->translate->__('Extension Package'),
- 'name' => 'package',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
- [
- 'label' => Yii::$service->page->translate->__('Extension Folder'),
- 'name' => 'folder',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
[
'label' => Yii::$service->page->translate->__('Status'),
'name' => 'status',
@@ -86,43 +62,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
'require' => 1,
'default' => 1,
],
- [
- 'label' => Yii::$service->page->translate->__('Extension Type'),
- 'name' => 'type',
- 'display' => [
- 'type' => 'select',
- 'data' => Yii::$service->extension->getTypeArr(),
- ],
- 'require' => 1,
- 'default' => 1,
- ],
- [
- 'label' => Yii::$service->page->translate->__('Namespace'),
- 'name' => 'namespace',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
-
-
- [
- 'label' => Yii::$service->page->translate->__('Config File Path'),
- 'name' => 'config_file_path',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
-
- [
- 'label' => Yii::$service->page->translate->__('Extension Version'),
- 'name' => 'version',
- 'display' => [
- 'type' => 'inputString',
- ],
- 'require' => 1,
- ],
[
'label' => Yii::$service->page->translate->__('Priority'),
@@ -132,16 +71,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
],
'require' => 1,
],
- [
- 'label' => Yii::$service->page->translate->__('Installed Status'),
- 'name' => 'installed_status',
- 'display' => [
- 'type' => 'select',
- 'data' => Yii::$service->extension->getInstallStatusArr(),
- ],
- 'require' => 1,
- 'default' => 1,
- ],
];
}
@@ -157,21 +86,49 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
* if attribute is date or date time , db storage format is int ,by frontend pass param is int ,
* you must convert string datetime to time , use strtotime function.
*/
- $this->_service->save($this->_param, 'cms/article/index');
- $errors = Yii::$service->helper->errors->get();
- if (!$errors) {
+ $status = $this->_param['status'];
+ $priority = $this->_param['priority'];
+ $id = $this->_param['id'];
+ if (!$status) {
echo json_encode([
- 'statusCode' => '200',
- 'message' => Yii::$service->page->translate->__('Save Success'),
+ 'statusCode' => '300',
+ 'message' => Yii::$service->page->translate->__('status can not empty'),
]);
exit;
- } else {
+ }
+ if (!$priority) {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => Yii::$service->page->translate->__('priority can not empty'),
+ ]);
+ exit;
+ }
+ if (!$id) {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => Yii::$service->page->translate->__('id can not empty'),
+ ]);
+ exit;
+ }
+ $saveStatus = $this->_service->save([
+ 'id' => $id,
+ 'priority' => $priority,
+ 'status' => $status,
+ ]);
+ if (!$saveStatus) {
+ $errors = Yii::$service->helper->errors->get();
echo json_encode([
'statusCode' => '300',
'message' => $errors,
]);
exit;
}
+
+ echo json_encode([
+ 'statusCode' => '200',
+ 'message' => Yii::$service->page->translate->__('Save Success'),
+ ]);
+ exit;
}
// 插件激活
public function extensionEnable()
diff --git a/app/appadmin/modules/System/block/extensioninstalled/Managerview.php b/app/appadmin/modules/System/block/extensioninstalled/Managerview.php
new file mode 100644
index 00000000..8e211ae3
--- /dev/null
+++ b/app/appadmin/modules/System/block/extensioninstalled/Managerview.php
@@ -0,0 +1,240 @@
+
+ * @since 1.0
+ */
+class Managerview extends AppadminbaseBlockEdit implements AppadminbaseBlockEditInterface
+{
+ public $_saveUrl;
+
+ public function init()
+ {
+ $this->_saveUrl = CUrl::getUrl('system/extensioninstalled/managereditsave');
+ parent::init();
+ }
+
+ // 传递给前端的数据 显示编辑form
+ public function getLastData()
+ {
+ return [
+ 'editBar' => $this->getEditBar(),
+ 'textareas' => $this->_textareas,
+ 'lang_attr' => $this->_lang_attr,
+ 'saveUrl' => $this->_saveUrl,
+ ];
+ }
+
+ public function setService()
+ {
+ $this->_service = Yii::$service->extension;
+ }
+
+ public function getEditArr()
+ {
+ return [
+ [
+ 'label' => Yii::$service->page->translate->__('Extension Name'),
+ 'name' => 'name',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Extension Package'),
+ 'name' => 'package',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Extension Folder'),
+ 'name' => 'folder',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Status'),
+ 'name' => 'status',
+ 'display' => [
+ 'type' => 'select',
+ 'data' => [
+ 1 => Yii::$service->page->translate->__('Enable'),
+ 2 => Yii::$service->page->translate->__('Disable'),
+ ],
+ ],
+ 'require' => 1,
+ 'default' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Extension Type'),
+ 'name' => 'type',
+ 'display' => [
+ 'type' => 'select',
+ 'data' => Yii::$service->extension->getTypeArr(),
+ ],
+ 'require' => 1,
+ 'default' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Namespace'),
+ 'name' => 'namespace',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+
+
+ [
+ 'label' => Yii::$service->page->translate->__('Config File Path'),
+ 'name' => 'config_file_path',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+
+ [
+ 'label' => Yii::$service->page->translate->__('Extension Version'),
+ 'name' => 'version',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+
+ [
+ 'label' => Yii::$service->page->translate->__('Priority'),
+ 'name' => 'priority',
+ 'display' => [
+ 'type' => 'inputString',
+ ],
+ 'require' => 1,
+ ],
+ [
+ 'label' => Yii::$service->page->translate->__('Installed Status'),
+ 'name' => 'installed_status',
+ 'display' => [
+ 'type' => 'select',
+ 'data' => Yii::$service->extension->getInstallStatusArr(),
+ ],
+ 'require' => 1,
+ 'default' => 1,
+ ],
+
+ ];
+ }
+
+ /**
+ * save article data, get rewrite url and save to article url key.
+ */
+ public function save()
+ {
+ $request_param = CRequest::param();
+ $this->_param = $request_param[$this->_editFormData];
+ /*
+ * if attribute is date or date time , db storage format is int ,by frontend pass param is int ,
+ * you must convert string datetime to time , use strtotime function.
+ */
+ $this->_service->save($this->_param, 'cms/article/index');
+ $errors = Yii::$service->helper->errors->get();
+ if (!$errors) {
+ echo json_encode([
+ 'statusCode' => '200',
+ 'message' => Yii::$service->page->translate->__('Save Success'),
+ ]);
+ exit;
+ } else {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => $errors,
+ ]);
+ exit;
+ }
+ }
+ // 插件激活
+ public function extensionEnable()
+ {
+ $ids = Yii::$app->request->post('ids');
+ $idArr = explode(',', $ids);
+ if (!Yii::$service->extension->enableAddons($idArr)) {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => Yii::$service->page->translate->__('Enable Extension fail'),
+ ]);
+ exit;
+ }
+ echo json_encode([
+ 'statusCode' => '200',
+ 'message' => Yii::$service->page->translate->__('Enable Extension Success') ,
+ ]);
+ exit;
+ }
+ // 插件关闭
+ public function extensionDisable()
+ {
+ $ids = Yii::$app->request->post('ids');
+ $idArr = explode(',', $ids);
+ if (!Yii::$service->extension->disableAddons($idArr)) {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => Yii::$service->page->translate->__('Enable Extension fail'),
+ ]);
+ exit;
+ }
+ echo json_encode([
+ 'statusCode' => '200',
+ 'message' => Yii::$service->page->translate->__('Enable Extension Success') ,
+ ]);
+ exit;
+
+
+ }
+
+ // 批量删除
+ public function delete()
+ {
+ $ids = '';
+ if ($id = CRequest::param($this->_primaryKey)) {
+ $ids = $id;
+ } elseif ($ids = CRequest::param($this->_primaryKey.'s')) {
+ $ids = explode(',', $ids);
+ }
+ $this->_service->remove($ids);
+ $errors = Yii::$service->helper->errors->get();
+ if (!$errors) {
+ echo json_encode([
+ 'statusCode' => '200',
+ 'message' => Yii::$service->page->translate->__('Remove Success') ,
+ ]);
+ exit;
+ } else {
+ echo json_encode([
+ 'statusCode' => '300',
+ 'message' => $errors,
+ ]);
+ exit;
+ }
+ }
+}
diff --git a/app/appadmin/modules/System/controllers/ExtensioninstalledController.php b/app/appadmin/modules/System/controllers/ExtensioninstalledController.php
index 43ed1c14..84fdab2a 100644
--- a/app/appadmin/modules/System/controllers/ExtensioninstalledController.php
+++ b/app/appadmin/modules/System/controllers/ExtensioninstalledController.php
@@ -34,6 +34,13 @@ class ExtensioninstalledController extends SystemController
return $this->render($this->action->id, $data);
}
+ public function actionManagerview()
+ {
+ $data = $this->getBlock()->getLastData();
+
+ return $this->render($this->action->id, $data);
+ }
+
public function actionManagerenable()
{
$data = $this->getBlock('manageredit')->extensionEnable();
@@ -46,12 +53,12 @@ class ExtensioninstalledController extends SystemController
- /*
+
public function actionManagereditsave()
{
$data = $this->getBlock('manageredit')->save();
}
-
+ /*
public function actionManagerdelete()
{
$this->getBlock('manageredit')->delete();
diff --git a/app/appadmin/theme/base/default/system/extensioninstalled/manageredit.php b/app/appadmin/theme/base/default/system/extensioninstalled/manageredit.php
index cc6d8d3b..2786e5bc 100644
--- a/app/appadmin/theme/base/default/system/extensioninstalled/manageredit.php
+++ b/app/appadmin/theme/base/default/system/extensioninstalled/manageredit.php
@@ -35,7 +35,17 @@ use fecadmin\models\AdminRole;
= $textareas ?>
-
+
diff --git a/app/appadmin/theme/base/default/system/extensioninstalled/managerview.php b/app/appadmin/theme/base/default/system/extensioninstalled/managerview.php
new file mode 100644
index 00000000..ea5d6772
--- /dev/null
+++ b/app/appadmin/theme/base/default/system/extensioninstalled/managerview.php
@@ -0,0 +1,49 @@
+
+ * @since 1.0
+ */
+?>
+
+
+
+
+
--
GitLab