diff --git a/VERSION b/VERSION index adbc6d2b1b..dafb659a69 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -15.1 +15.2 diff --git a/config/config.php b/config/config.php index dca995a082..0f2bc19fd6 100644 --- a/config/config.php +++ b/config/config.php @@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}} if(!function_exists('getWebRoot')){function getWebRoot(){}} /* 基本设置。Basic settings. */ -$config->version = '15.1'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. +$config->version = '15.2'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. $config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP. $config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time. $config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php. diff --git a/db/standard/zentao15.1.sql b/db/standard/zentao15.2.sql similarity index 98% rename from db/standard/zentao15.1.sql rename to db/standard/zentao15.2.sql index dfbe848935..b0952a0d97 100644 --- a/db/standard/zentao15.1.sql +++ b/db/standard/zentao15.2.sql @@ -253,7 +253,7 @@ CREATE TABLE `zt_config` ( `value` longtext NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `unique` (`owner`,`module`,`section`,`key`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; CREATE TABLE `zt_cron` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `m` varchar(20) NOT NULL, @@ -269,7 +269,7 @@ CREATE TABLE `zt_cron` ( `lastTime` datetime NOT NULL, PRIMARY KEY (`id`), KEY `lastTime` (`lastTime`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; CREATE TABLE `zt_dept` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `name` char(60) NOT NULL, @@ -430,7 +430,7 @@ CREATE TABLE `zt_group` ( `desc` char(255) NOT NULL DEFAULT '', `acl` text DEFAULT NULL, PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=utf8; CREATE TABLE `zt_grouppriv` ( `group` mediumint(8) unsigned NOT NULL DEFAULT 0, `module` char(30) NOT NULL DEFAULT '', @@ -447,20 +447,6 @@ CREATE TABLE `zt_history` ( PRIMARY KEY (`id`), KEY `action` (`action`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE `zt_jenkins` ( - `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, - `name` varchar(50) NOT NULL, - `url` varchar(255) DEFAULT NULL, - `account` varchar(30) DEFAULT NULL, - `password` varchar(255) NOT NULL, - `token` varchar(255) DEFAULT NULL, - `createdBy` varchar(30) NOT NULL, - `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `zt_job` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, @@ -495,7 +481,7 @@ CREATE TABLE `zt_lang` ( `system` enum('0','1') NOT NULL DEFAULT '1', PRIMARY KEY (`id`), UNIQUE KEY `lang` (`lang`,`module`,`section`,`key`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; +) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; CREATE TABLE `zt_log` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `objectType` varchar(30) NOT NULL, @@ -555,6 +541,22 @@ CREATE TABLE `zt_oauth` ( KEY `providerType` (`providerType`), KEY `providerID` (`providerID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_pipeline` ( + `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `name` varchar(50) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `account` varchar(30) DEFAULT NULL, + `password` varchar(255) NOT NULL, + `token` varchar(255) DEFAULT NULL, + `private` char(32) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `zt_planstory` ( `plan` mediumint(8) unsigned NOT NULL, `story` mediumint(8) unsigned NOT NULL, @@ -608,7 +610,7 @@ CREATE TABLE `zt_project` ( `model` char(30) NOT NULL, `type` char(30) NOT NULL DEFAULT 'sprint', `product` char(30) NOT NULL DEFAULT 'single', - `lifetime` char(30) NOT NULL, + `lifetime` char(30) NOT NULL DEFAULT '', `budget` varchar(30) NOT NULL DEFAULT '0', `budgetUnit` char(30) NOT NULL DEFAULT 'CNY', `attribute` varchar(30) NOT NULL DEFAULT '', @@ -709,7 +711,7 @@ CREATE TABLE `zt_relation` ( `BVersion` char(30) NOT NULL, `extra` char(30) NOT NULL, PRIMARY KEY (`id`), - UNIQUE KEY `relation` (`relation`,`AType`,`BType`,`AID`,`BID`) + UNIQUE KEY `relation` (`product`,`relation`,`AType`,`BType`,`AID`,`BID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `zt_release` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, @@ -864,7 +866,7 @@ CREATE TABLE `zt_story` ( `lastEditedBy` varchar(30) NOT NULL DEFAULT '', `lastEditedDate` datetime NOT NULL, `reviewedBy` varchar(255) NOT NULL, - `reviewedDate` datetime NOT NULL, + `reviewedDate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `closedBy` varchar(30) NOT NULL DEFAULT '', `closedDate` datetime NOT NULL, `closedReason` varchar(30) NOT NULL, @@ -880,6 +882,15 @@ CREATE TABLE `zt_story` ( KEY `status` (`status`), KEY `assignedTo` (`assignedTo`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +CREATE TABLE `zt_storyestimate` ( + `story` mediumint(9) NOT NULL, + `round` smallint(6) NOT NULL, + `estimate` text NOT NULL, + `average` float NOT NULL, + `openedBy` varchar(30) NOT NULL, + `openedDate` datetime NOT NULL, + UNIQUE KEY `story` (`story`,`round`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `zt_storyreview` ( `story` mediumint(9) NOT NULL, `version` smallint(6) NOT NULL, @@ -888,15 +899,6 @@ CREATE TABLE `zt_storyreview` ( `reviewDate` datetime NOT NULL, UNIQUE KEY `story` (`story`,`version`,`reviewer`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; -CREATE TABLE `zt_storyestimate` ( - `story` mediumint(9) NOT NULL, - `round` smallint(6) NOT NULL, - `estimate` text NOT NULL, - `average` float(10,2) NOT NULL, - `openedBy` varchar(30) NOT NULL, - `openedDate` datetime NOT NULL, - UNIQUE KEY `story` (`story`,`round`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE `zt_storyspec` ( `story` mediumint(9) NOT NULL, `version` smallint(6) NOT NULL, @@ -998,7 +1000,7 @@ CREATE TABLE `zt_team` ( `limited` char(8) NOT NULL DEFAULT 'no', `join` date NOT NULL DEFAULT '0000-00-00', `days` smallint(5) unsigned NOT NULL, - `hours` float(2,1) unsigned NOT NULL DEFAULT 0.0, + `hours` float(3,1) unsigned NOT NULL DEFAULT 0.0, `estimate` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, `consumed` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, `left` decimal(12,2) unsigned NOT NULL DEFAULT 0.00, diff --git a/db/update15.0.3.sql b/db/update15.0.3.sql index 4b67f4492a..5f9314cd79 100644 --- a/db/update15.0.3.sql +++ b/db/update15.0.3.sql @@ -6,7 +6,9 @@ ALTER TABLE `zt_storyestimate` MODIFY COLUMN `average` float NOT NULL; ALTER TABLE `zt_jenkins` ADD COLUMN `type` char(30) NOT NULL AFTER `id`; ALTER TABLE `zt_jenkins` ADD COLUMN `private` char(32) NOT NULL AFTER `token`; +UPDATE `zt_jenkins` SET `type`='jenkins'; RENAME TABLE `zt_jenkins` TO `zt_pipeline`; -ALTER TABLE `zt_relation` DROP INDEX `relation`, ADD UNIQUE INDEX `relation`(`product`, `relation`, `AType`, `BType`, `AID`, `BID`) USING BTREE; +ALTER TABLE `zt_relation` DROP INDEX `relation`; +ALTER TABLE `zt_relation` ADD UNIQUE INDEX `relation`(`product`, `relation`, `AType`, `BType`, `AID`, `BID`); diff --git a/db/zentao.sql b/db/zentao.sql index 3e1fc29691..0d5e499708 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -471,23 +471,6 @@ CREATE TABLE IF NOT EXISTS `zt_history` ( PRIMARY KEY (`id`), KEY `action` (`action`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; --- DROP TABLE IF EXISTS `zt_pipeline`; -CREATE TABLE IF NOT EXISTS `zt_pipeline` ( - `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, - `type` char(30) NOT NULL, - `name` varchar(50) NOT NULL, - `url` varchar(255) DEFAULT NULL, - `account` varchar(30) DEFAULT NULL, - `password` varchar(255) NOT NULL, - `token` varchar(255) DEFAULT NULL, - `private` char(32) DEFAULT NULL, - `createdBy` varchar(30) NOT NULL, - `createdDate` datetime NOT NULL, - `editedBy` varchar(30) NOT NULL, - `editedDate` datetime NOT NULL, - `deleted` enum('0','1') NOT NULL DEFAULT '0', - PRIMARY KEY (`id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_job`; CREATE TABLE IF NOT EXISTS `zt_job` ( `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, @@ -588,6 +571,23 @@ CREATE TABLE IF NOT EXISTS `zt_oauth` ( KEY `providerType` (`providerType`), KEY `providerID` (`providerID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; +-- DROP TABLE IF EXISTS `zt_pipeline`; +CREATE TABLE IF NOT EXISTS `zt_pipeline` ( + `id` smallint(8) unsigned NOT NULL AUTO_INCREMENT, + `type` char(30) NOT NULL, + `name` varchar(50) NOT NULL, + `url` varchar(255) DEFAULT NULL, + `account` varchar(30) DEFAULT NULL, + `password` varchar(255) NOT NULL, + `token` varchar(255) DEFAULT NULL, + `private` char(32) DEFAULT NULL, + `createdBy` varchar(30) NOT NULL, + `createdDate` datetime NOT NULL, + `editedBy` varchar(30) NOT NULL, + `editedDate` datetime NOT NULL, + `deleted` enum('0','1') NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; -- DROP TABLE IF EXISTS `zt_planstory`; CREATE TABLE IF NOT EXISTS `zt_planstory` ( `plan` mediumint(8) unsigned NOT NULL, diff --git a/module/branch/model.php b/module/branch/model.php index a509fa14ce..9e91f48fb7 100644 --- a/module/branch/model.php +++ b/module/branch/model.php @@ -141,7 +141,7 @@ class branchModel extends model { if($products[$branch->product]->type == 'normal') { - $branchGroups[$branch->product][0] = ''; + if(strpos($params, 'ignoreNormal') === false) $branchGroups[$branch->product][0] = ''; } else { diff --git a/module/company/view/dynamic.html.php b/module/company/view/dynamic.html.php index f9c26a5e30..a96ecd15c0 100644 --- a/module/company/view/dynamic.html.php +++ b/module/company/view/dynamic.html.php @@ -27,7 +27,9 @@
id : '', 'onchange=changeUser(this.value) class="form-control chosen"');?>
+ systemMode == 'new'):?>
+
action->dynamic->search;?> diff --git a/module/execution/control.php b/module/execution/control.php index 50facb576a..b5a72a88ca 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -2236,7 +2236,7 @@ class execution extends control $this->view->execution = $execution; $this->view->linkedProducts = $linkedProducts; $this->view->unmodifiableProducts = $unmodifiableProducts; - $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts), '', $linkedBranches); + $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts), 'ignoreNormal', $linkedBranches); $this->display(); } diff --git a/module/execution/model.php b/module/execution/model.php index 95bedc8efb..f58abd70bd 100644 --- a/module/execution/model.php +++ b/module/execution/model.php @@ -982,11 +982,11 @@ class executionModel extends model /* Order by status's content whether or not done */ $executions = $this->dao->select('*, IF(INSTR("done,closed", status) < 2, 0, 1) AS isDone, INSTR("doing,wait,suspended,closed", status) AS sortStatus')->from(TABLE_EXECUTION) ->where('deleted')->eq(0) - ->beginIF($type == 'all' && $this->config->systemMode == 'new')->andWhere('type')->in('stage,sprint')->fi() - ->beginIF($projectID && $this->config->systemMode == 'new')->andWhere('project')->eq($projectID)->fi() - ->beginIF($type != 'all' && $this->config->systemMode == 'new')->andWhere('type')->eq($type)->fi() + ->beginIF($type == 'all')->andWhere('type')->in('stage,sprint')->fi() + ->beginIF($projectID and $this->config->systemMode == 'new')->andWhere('project')->eq($projectID)->fi() + ->beginIF($type != 'all' and $this->config->systemMode == 'new')->andWhere('type')->eq($type)->fi() ->beginIF(strpos($mode, 'withdelete') === false)->andWhere('deleted')->eq(0)->fi() - ->beginIF(!$this->app->user->admin)->andWhere('project')->in($this->app->user->view->projects)->fi() + ->beginIF(!$this->app->user->admin and $this->config->systemMode == 'new')->andWhere('project')->in($this->app->user->view->projects)->fi() ->beginIF(!$this->app->user->admin and strpos($mode, 'all') === false)->andWhere('id')->in($this->app->user->view->sprints)->fi() ->orderBy($orderBy) ->fetchAll(); diff --git a/module/product/model.php b/module/product/model.php index d8cbd1a802..5ad5f73600 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -657,7 +657,7 @@ class productModel extends model $productID = (int)$productID; $products[$productID] = new stdClass(); - if($this->config->systemMode == 'new' and isset($data->programs[$productID])) $products[$productID]->program = $data->programs[$productID]; + if($this->config->systemMode == 'new' and isset($data->programs[$productID])) $products[$productID]->program = (int)$data->programs[$productID]; $products[$productID]->name = $productName; $products[$productID]->line = (int)$data->lines[$productID]; $products[$productID]->PO = $data->POs[$productID]; diff --git a/module/project/control.php b/module/project/control.php index 604e4994a2..f15686f23e 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1589,7 +1589,7 @@ class project extends control $this->view->allProducts = $allProducts; $this->view->linkedProducts = $linkedProducts; $this->view->unmodifiableProducts = $unmodifiableProducts; - $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts), '', $linkedBranches); + $this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($allProducts), 'ignoreNormal', $linkedBranches); $this->display(); } diff --git a/module/tree/view/browsetask.html.php b/module/tree/view/browsetask.html.php index cbff9e7a89..ffcce3781a 100644 --- a/module/tree/view/browsetask.html.php +++ b/module/tree/view/browsetask.html.php @@ -138,7 +138,7 @@ $(function() { var $toggle = $('' + link + ''); - var title = (item.type === 'product' ? ' ' : '') + item.name; + var title = (item.type === 'product' ? ' ' : '') + item.name; var link = item.id !== undefined ? ('' + title + '') : ('' + title + ''); var $toggle = $('' + link + ''); if(item.type === 'task') diff --git a/module/upgrade/js/mergeprogram.js b/module/upgrade/js/mergeprogram.js index 9c550d58e2..5efd1d7f57 100644 --- a/module/upgrade/js/mergeprogram.js +++ b/module/upgrade/js/mergeprogram.js @@ -107,6 +107,14 @@ $(function() $('#source .cell').height($('#source').height()); $('#programBox .cell').height($('#programBox').height() - 20); + programBegin = $('.programParams #begin').val(); + programEnd = $('.programParams #end').val(); + setProgramBegin(programBegin); + setProgramEnd(programEnd); + setProjectPM(); + + setProgramByProduct($(':checkbox:checked[data-productid]')); + /* Select all product line events. */ $('#checkAllLines').click(function() { @@ -131,6 +139,9 @@ $(function() $('#programName').val(''); } + setProgramBegin(programBegin); + setProgramEnd(programEnd); + /* If the project is checked, the relevant form will be displayed according to the selected mode. */ hiddenProject(); }) @@ -141,20 +152,37 @@ $(function() var lineID = $('li.currentPage').attr('lineid'); if($(this).is(':checked')) { - $("[id^='productLines\[" + lineID + "\]']").prop('checked', true); $('#checkAllProjects').prop('checked', true); - $('[name^=products]').prop('checked', true); - $('[name^=sprints]').prop('checked', true); $('#programName').val($('.main-row .side-col .nav li.currentPage div a').text()); + if($('[id^=productLines]').length > 0) + { + $('[data-line=' + lineID + ']').prop('checked', true); + $("[id^='productLines\[" + lineID + "\]']").prop('checked', true); + } + else + { + $('[name^=products]').prop('checked', true); + $('[name^=sprints]').prop('checked', true); + } } else { - $("[id^='productLines\[" + lineID + "\]']").prop('checked', false); $('#checkAllProjects').prop('checked', false); - $('[name^=products]').prop('checked', false); - $('[name^=sprints]').prop('checked', false); + if($('[id^=productLines]').length > 0) + { + $('[data-line=' + lineID + ']').prop('checked', false); + $("[id^='productLines\[" + lineID + "\]']").prop('checked', false); + } + else + { + $('[name^=products]').prop('checked', false); + $('[name^=sprints]').prop('checked', false); + } $('#programName').val(''); } + setProgramBegin(programBegin); + setProgramEnd(programEnd); + hiddenProject(); }) @@ -164,36 +192,40 @@ $(function() var lineID = $('li.currentPage').attr('lineid'); if($(this).is(':checked')) { - $("[id^='productLines\[" + lineID + "\]']").prop('checked', true); $('#checkAllProducts').prop('checked', true); - $('[name^=products]').prop('checked', true); - $('[name^=sprints]').prop('checked', true); $('#programName').val($('.main-row .side-col .nav li.currentPage div a').text()); + if($('[id^=productLines]').length > 0) + { + $('[data-line=' + lineID + ']').prop('checked', true); + $("[id^='productLines\[" + lineID + "\]']").prop('checked', true); + } + else + { + $('[name^=products]').prop('checked', true); + $('[name^=sprints]').prop('checked', true); + } } else { - $("[id^='productLines\[" + lineID + "\]']").prop('checked', false); $('#checkAllProducts').prop('checked', false); - $('[name^=products]').prop('checked', false); - $('[name^=sprints]').prop('checked', false); $('#programName').val(''); + if($('[id^=productLines]').length > 0) + { + $('[data-line=' + lineID + ']').prop('checked', false); + $("[id^='productLines\[" + lineID + "\]']").prop('checked', false); + } + else + { + $('[name^=products]').prop('checked', false); + $('[name^=sprints]').prop('checked', false); + } } - programBegin = $('.programParams #begin').val(); - programEnd = $('.programParams #end').val(); setProgramBegin(programBegin); setProgramEnd(programEnd); hiddenProject(); }) - programBegin = $('.programParams #begin').val(); - programEnd = $('.programParams #end').val(); - setProgramBegin(programBegin); - setProgramEnd(programEnd); - setProjectPM(); - - setProgramByProduct($(':checkbox:checked[data-productid]')); - /* Select a product line event. */ $('[name^=productLines]').change(function() { @@ -233,6 +265,9 @@ $(function() if(lineNum > checkedLineNum) checked = false; $('#checkAllLines').prop('checked', checked); + setProgramBegin(programBegin); + setProgramEnd(programEnd); + /* If the project is checked, the relevant form will be displayed according to the selected mode. */ hiddenProject(); }) diff --git a/module/upgrade/lang/version.php b/module/upgrade/lang/version.php index 28e33ab405..b2c26de86d 100644 --- a/module/upgrade/lang/version.php +++ b/module/upgrade/lang/version.php @@ -139,3 +139,4 @@ $lang->upgrade->fromVersions['15_0_rc3'] = '15.0.rc3'; $lang->upgrade->fromVersions['15_0'] = '15.0'; $lang->upgrade->fromVersions['15_0_1'] = '15.0.1'; $lang->upgrade->fromVersions['15_0_2'] = '15.0.2'; +$lang->upgrade->fromVersions['15_0_3'] = '15.0.3'; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index db02558b12..2cae30eef9 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -3075,8 +3075,10 @@ class upgradeModel extends model $this->saveLogs('Run Method ' . __FUNCTION__); $this->dao->exec('TRUNCATE TABLE ' . TABLE_NOTIFY); $this->saveLogs($this->dao->get()); - $mailQueueTable = '`' . $this->config->db->prefix . 'mailqueue`'; - $stmt = $this->dao->select('*')->from($mailQueueTable)->query(); + + $mailQueueTable = '`' . $this->config->db->prefix . 'mailqueue`'; + $syncBeginDate = date('Y-m-d', time() - 15 * 24 * 3600); + $stmt = $this->dao->select('*')->from($mailQueueTable)->where('addedDate')->ge($syncBeginDate)->orderBy('id')->query(); while($mailQueue = $stmt->fetch()) { $notify = new stdclass(); @@ -3095,7 +3097,7 @@ class upgradeModel extends model } $webhookDataTable = '`' . $this->config->db->prefix . 'webhookdatas`'; - $stmt = $this->dao->select('*')->from($webhookDataTable)->query(); + $stmt = $this->dao->select('*')->from($webhookDataTable)->orderBy('id')->limit($offset, $rows)->query(); while($webhookData = $stmt->fetch()) { $notify = new stdclass(); @@ -3109,6 +3111,7 @@ class upgradeModel extends model $this->dao->insert(TABLE_NOTIFY)->data($notify)->exec(); $this->saveLogs($this->dao->get()); } + return true; } diff --git a/module/upgrade/view/confirm.html.php b/module/upgrade/view/confirm.html.php index b7e911dd51..6b9283afaf 100644 --- a/module/upgrade/view/confirm.html.php +++ b/module/upgrade/view/confirm.html.php @@ -11,7 +11,7 @@ ?>
-
'> + '>
+