Skip to content

Commit

Permalink
Merge pull request #56 from Leantime/patches
Browse files Browse the repository at this point in the history
Install patches
  • Loading branch information
marcelfolaron authored Oct 28, 2019
2 parents bf93d1d + 39b9f68 commit 72a1a91
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/core/class.db.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down
46 changes: 30 additions & 16 deletions src/core/class.install.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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(){
Expand Down Expand Up @@ -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
Expand Down
2 changes: 0 additions & 2 deletions src/domain/retrospectives/templates/retroDialog.tpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,6 @@
<br /><br />
<h4 class="widgettitle title-light"><span class="fas fa-map"></span> Attached Milestone</h4>



<ul class="sortableTicketList" style="width:99%">
<?php
if($canvasItem['milestoneId'] == '') {
Expand Down
15 changes: 13 additions & 2 deletions src/install.php
Original file line number Diff line number Diff line change
Expand Up @@ -116,16 +116,27 @@

$values['password'] = password_hash($_POST['password'], PASSWORD_DEFAULT);

$install->setupDB($values);
$dbSetupResults = $install->setupDB($values);
if($dbSetupResults === true) {

echo "<div class='inputwrapper login-alert'>
echo "<div class='inputwrapper login-alert'>
<div class='alert alert-success' style='padding:10px;'>
The installation was successful<br />
<br />
You can now login using your workspace URL:
<a href='http://" . $_SERVER['HTTP_HOST'] . "'>" . $_SERVER['HTTP_HOST'] . "</a>
</div>
</div>";
}else{
echo "<div class='inputwrapper login-alert'>
<div class='alert alert-error' style='padding:10px;'>
Something went wrong
<br />
".$dbSetupResults."<br /><br />
Before continuing you should delete all tables from your database.
</div>
</div>";
}
}
}else{
$error = "Database already installed. Please login";
Expand Down

0 comments on commit 72a1a91

Please sign in to comment.