diff --git a/src/core/class.db.php b/src/core/class.db.php index 8d9b21d3b..6a79cd93c 100644 --- a/src/core/class.db.php +++ b/src/core/class.db.php @@ -83,7 +83,7 @@ private function __construct() try{ - $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' ); + $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8,sql_mode="NO_ENGINE_SUBSTITUTION"' ); $this->database = new PDO('mysql:host=' . $this->host . ';dbname='. $this->databaseName .'', $this->user, $this->password, $driver_options); $this->database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); diff --git a/src/core/class.install.php b/src/core/class.install.php index b12c2a9bb..2b47beb91 100644 --- a/src/core/class.install.php +++ b/src/core/class.install.php @@ -42,7 +42,7 @@ public function __construct() { try{ - $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' ); + $driver_options = array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8,sql_mode="NO_ENGINE_SUBSTITUTION"'); $this->database = new PDO('mysql:host=' . $this->host . '', $this->user, $this->password, $driver_options); $this->database->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); @@ -88,23 +88,38 @@ public function setupDB(array $values) { $sql = $this->sqlPrep(); - $this->database->query("Use ".$config->dbDatabase.";"); - - $stmn = $this->database->prepare($sql); - $stmn->bindValue(':email',$values["email"],PDO::PARAM_STR); - $stmn->bindValue(':password',$values["password"],PDO::PARAM_STR); - $stmn->bindValue(':firstname',$values["firstname"],PDO::PARAM_STR); - $stmn->bindValue(':lastname',$values["lastname"],PDO::PARAM_STR); - $stmn->bindValue(':dbVersion',$settings->dbVersion,PDO::PARAM_STR); - $stmn->bindValue(':company',$values["company"],PDO::PARAM_STR); + $this->database->beginTransaction(); try { + + $this->database->query("Use ".$config->dbDatabase.";"); + + $stmn = $this->database->prepare($sql); + $stmn->bindValue(':email',$values["email"],PDO::PARAM_STR); + $stmn->bindValue(':password',$values["password"],PDO::PARAM_STR); + $stmn->bindValue(':firstname',$values["firstname"],PDO::PARAM_STR); + $stmn->bindValue(':lastname',$values["lastname"],PDO::PARAM_STR); + $stmn->bindValue(':dbVersion',$settings->dbVersion,PDO::PARAM_STR); + $stmn->bindValue(':company',$values["company"],PDO::PARAM_STR); + $stmn->execute(); - $stmn->closeCursor(); - }catch (\PDOException $e){ - echo $e; - exit(); + + while ($stmn->nextRowset()) {/* https://bugs.php.net/bug.php?id=61613 */}; + + $this->database->commit(); + + return true; + + } catch (\PDOException $e) { + + $this->database->rollBack(); + + return $e->getMessage(); + } + + return "Could not initialize transaction"; + } private function sqlPrep(){ @@ -385,8 +400,7 @@ private function sqlPrep(){ PRIMARY KEY (`id`), KEY `ProjectUserId` (`projectId`,`userId`), KEY `StatusSprint` (`status`,`sprint`), - KEY `Sorting` (`sortindex`), - FULLTEXT KEY `HeadlineDescription` (`tags`, `headline`,`description`) + KEY `Sorting` (`sortindex`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8; insert into `zp_tickets`(`id`,`projectId`,`headline`,`description`,`acceptanceCriteria`,`date`,`dateToFinish`,`priority`,`status`,`userId`,`os`,`browser`,`resolution`,`component`,`version`,`url`,`dependingTicketId`,`editFrom`,`editTo`,`editorId`,`planHours`,`hourRemaining`,`type`,`production`,`staging`,`storypoints`,`sprint`,`sortindex`,`kanbanSortIndex`) values diff --git a/src/domain/retrospectives/templates/retroDialog.tpl.php b/src/domain/retrospectives/templates/retroDialog.tpl.php index 3769e037c..0bb1b0b3f 100644 --- a/src/domain/retrospectives/templates/retroDialog.tpl.php +++ b/src/domain/retrospectives/templates/retroDialog.tpl.php @@ -47,8 +47,6 @@

Attached Milestone

- -