From 615d6c433def06104bb27bfb0c3aeec661b7b5b4 Mon Sep 17 00:00:00 2001 From: RaJiska Date: Tue, 29 Aug 2017 17:14:16 +0200 Subject: [PATCH 01/14] Pin attempts not reset upon success fix --- include/classes/user.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/classes/user.class.php b/include/classes/user.class.php index 0d761fde9..85485c10f 100644 --- a/include/classes/user.class.php +++ b/include/classes/user.class.php @@ -292,6 +292,7 @@ public function checkPin($userId, $pin='') { count($aPin) == 1 ? $pin_hash = $this->getHash($pin, 0) : $pin_hash = $this->getHash($pin, $aPin[1], $aPin[2]); $stmt = $this->mysqli->prepare("SELECT pin FROM $this->table WHERE id = ? AND pin = ? LIMIT 1"); if ($stmt->bind_param('is', $userId, $pin_hash) && $stmt->execute() && $stmt->bind_result($row_pin) && $stmt->fetch()) { + $stmt->close(); $this->setUserPinFailed($userId, 0); return ($pin_hash === $row_pin); } From 0307e1e62ddab00a934be797a11668b2b6028c89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Mon, 4 Sep 2017 15:26:27 +0200 Subject: [PATCH 02/14] fixed - Only variables should be passed by reference --- include/classes/notification.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/classes/notification.class.php b/include/classes/notification.class.php index 15764c883..ffafcc78e 100644 --- a/include/classes/notification.class.php +++ b/include/classes/notification.class.php @@ -150,7 +150,8 @@ public function sendNotification($account_id, $strType, $aMailData) { } // Check if this user wants strType notifications $stmt = $this->mysqli->prepare("SELECT type FROM $this->tableSettings WHERE type IN (?, ?) AND active = 1 AND account_id = ?"); - if ($stmt && $stmt->bind_param('ssi', $strType, substr('push_'.$strType, 0, 15), $account_id) && $stmt->execute() && $result = $stmt->get_result()) { + $notStrType = substr('push_'.$strType, 0, 15); + if ($stmt && $stmt->bind_param('ssi', $strType, $notStrType, $account_id) && $stmt->execute() && $result = $stmt->get_result()) { $types = array_map(function($a){ return reset($a);}, $result->fetch_all(MYSQLI_ASSOC)); $stmt->close(); $result = true; From 70ea8f1609467e79e33d8f3cba45356555898b1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Mon, 4 Sep 2017 20:05:13 +0200 Subject: [PATCH 03/14] fixed - Undefined index: count_all --- include/classes/worker.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/classes/worker.class.php b/include/classes/worker.class.php index cb13387fa..d87b04806 100644 --- a/include/classes/worker.class.php +++ b/include/classes/worker.class.php @@ -124,7 +124,7 @@ public function getWorker($id, $interval=600) { ) AS shares FROM $this->table AS w WHERE id = ?"); - if ($this->checkStmt($stmt) && $stmt->bind_param('iiiii', $interval, $interval, $interval, $interval, $id) && $stmt->execute() && $result = $stmt->get_result()) { + if ($this->checkStmt($stmt) && $stmt->bind_param('iiiii', $interval, $interval, $interval, $interval, $id) && $stmt->execute() && ($result = $stmt->get_result())) { $row = $result->fetch_assoc(); $row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2); if ($row['count_all'] > 0) { From f6bfc10b900c9f12b115be53408eea1eebf7998c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Mon, 4 Sep 2017 20:19:03 +0200 Subject: [PATCH 04/14] update - notifymyandroid.com - title from configuration --- .../push_notification/notifymyandroid.php | 81 ++++++++++--------- 1 file changed, 41 insertions(+), 40 deletions(-) diff --git a/include/classes/push_notification/notifymyandroid.php b/include/classes/push_notification/notifymyandroid.php index 87f0b80e0..923caad44 100644 --- a/include/classes/push_notification/notifymyandroid.php +++ b/include/classes/push_notification/notifymyandroid.php @@ -1,41 +1,42 @@ apiKey = $apikey; - } - - static $priorities = array( - 0 => 'info', - 2 => 'error', - ); - - public static function getName(){ - return "notifymyandroid.com"; - } - - public static function getParameters(){ - return array( - 'apikey' => 'API key', - ); - } - - public function notify($message, $severity = 'info', $event = null){ - curl_setopt_array($ch = curl_init(), array( - CURLOPT_URL => "https://www.notifymyandroid.com/publicapi/notify", - CURLOPT_POST => true, - CURLOPT_RETURNTRANSFER => true, - CURLOPT_POSTFIELDS => http_build_query($data = array( - "apikey" => $this->apiKey, - "application" => "CryptoGlance", - "description" => $message, - "content-type" => "text/html", - "event" => $event, - "priority" => array_search($severity, self::$priorities), - )), - )); - curl_exec($ch); - curl_close($ch); - } - } \ No newline at end of file +class Notifications_NotifyMyAndroid implements IPushNotification { + + private $apiKey; + public function __construct($apikey){ + $this->apiKey = $apikey; + } + + static $priorities = array( + 0 => 'info', + 2 => 'error', + ); + + public static function getName(){ + return "notifymyandroid.com"; + } + + public static function getParameters(){ + return array( + 'apikey' => 'API key', + ); + } + + public function notify($message, $severity = 'info', $event = null){ + global $setting; + curl_setopt_array($ch = curl_init(), array( + CURLOPT_URL => "https://www.notifymyandroid.com/publicapi/notify", + CURLOPT_POST => true, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_POSTFIELDS => http_build_query($data = array( + "apikey" => $this->apiKey, + "application" => $setting->getValue('website_title')?:"PHP-MPOS", + "description" => $message, + "content-type" => "text/html", + "event" => $event, + "priority" => array_search($severity, self::$priorities), + )), + )); + curl_exec($ch); + curl_close($ch); + } +} \ No newline at end of file From d687cab6c1ef60d089ccdeedcf26542871505be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Tue, 5 Sep 2017 20:08:35 +0200 Subject: [PATCH 05/14] FIXED - notifications without email notifications --- include/classes/notification.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/classes/notification.class.php b/include/classes/notification.class.php index ffafcc78e..c1807dd94 100644 --- a/include/classes/notification.class.php +++ b/include/classes/notification.class.php @@ -105,8 +105,9 @@ public function getNotificationSettings($account_id) { **/ public function getNotificationAccountIdByType($strType) { $this->debug->append("STA " . __METHOD__, 4); - $stmt = $this->mysqli->prepare("SELECT account_id FROM $this->tableSettings WHERE type = ? AND active = 1"); - if ($stmt && $stmt->bind_param('s', $strType) && $stmt->execute() && $result = $stmt->get_result()) { + $stmt = $this->mysqli->prepare("SELECT account_id FROM $this->tableSettings WHERE type IN (?, ?) AND active = 1 GROUP BY account_id"); + $notStrType = substr('push_'.$strType, 0, 15); + if ($stmt && $stmt->bind_param('ss', $strType, $notStrType) && $stmt->execute() && $result = $stmt->get_result()) { return $result->fetch_all(MYSQLI_ASSOC); } return $this->sqlError('E0046'); From b144d21cb385fc621c402e509c20514ad4878246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Wed, 6 Sep 2017 21:03:37 +0200 Subject: [PATCH 06/14] FIX - Only variables should be passed by reference in usersettings.class.php on line 34 --- include/classes/usersettings.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/classes/usersettings.class.php b/include/classes/usersettings.class.php index f65d23553..06967b35e 100644 --- a/include/classes/usersettings.class.php +++ b/include/classes/usersettings.class.php @@ -31,7 +31,8 @@ private function _storeValue($name, $value){ if (empty(self::$__SetSTMT)){ self::$__SetSTMT = $this->mysqli->prepare('REPLACE INTO '.$this->table.' (`account_id`, `name`, `value`) VALUES (?, ?, ?)'); } - if (!(self::$__SetSTMT && self::$__SetSTMT->bind_param('iss', $this->account_id, $name, serialize($value)) && self::$__SetSTMT->execute())) { + $val = serialize($value); + if (!(self::$__SetSTMT && self::$__SetSTMT->bind_param('iss', $this->account_id, $name, $val) && self::$__SetSTMT->execute())) { $this->setErrorMessage($this->getErrorMsg('E0084', $this->table)); return $this->sqlError(); } From 4670e553b21d9679305d0af239faea80cc8bb4c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Wed, 13 Sep 2017 18:27:48 +0200 Subject: [PATCH 07/14] FIX - check for data in SQL result --- include/classes/worker.class.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/include/classes/worker.class.php b/include/classes/worker.class.php index d87b04806..1d486d4ff 100644 --- a/include/classes/worker.class.php +++ b/include/classes/worker.class.php @@ -98,7 +98,7 @@ public function getAllIdleWorkers($interval=600) { **/ public function getWorker($id, $interval=600) { $this->debug->append("STA " . __METHOD__, 4); - $stmt = $this->mysqli->prepare(" + $stmt = $this->mysqli->prepare($q =" SELECT id, username, password, monitor, ( SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) @@ -124,8 +124,7 @@ public function getWorker($id, $interval=600) { ) AS shares FROM $this->table AS w WHERE id = ?"); - if ($this->checkStmt($stmt) && $stmt->bind_param('iiiii', $interval, $interval, $interval, $interval, $id) && $stmt->execute() && ($result = $stmt->get_result())) { - $row = $result->fetch_assoc(); + if ($this->checkStmt($stmt) && $stmt->bind_param('iiiii', $interval, $interval, $interval, $interval, $id) && $stmt->execute() && ($result = $stmt->get_result()) && ($row = $result->fetch_assoc())) { $row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2); if ($row['count_all'] > 0) { $row['difficulty'] = round($row['shares'] / $row['count_all'], 2); From 6875749f15650784ba3b6816e5a08af7480ef96d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Blon=C4=8F=C3=A1k?= Date: Wed, 13 Sep 2017 18:28:48 +0200 Subject: [PATCH 08/14] TYPO - remove unused variable --- include/classes/worker.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/classes/worker.class.php b/include/classes/worker.class.php index 1d486d4ff..f2236b04e 100644 --- a/include/classes/worker.class.php +++ b/include/classes/worker.class.php @@ -98,7 +98,7 @@ public function getAllIdleWorkers($interval=600) { **/ public function getWorker($id, $interval=600) { $this->debug->append("STA " . __METHOD__, 4); - $stmt = $this->mysqli->prepare($q =" + $stmt = $this->mysqli->prepare(" SELECT id, username, password, monitor, ( SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) From 6c1aa1587918f413dc6315ecc6815068fc32d9b4 Mon Sep 17 00:00:00 2001 From: shtse8 Date: Thu, 28 Sep 2017 11:44:33 +0000 Subject: [PATCH 09/14] Correct SERVER_NAME to HTTP_HOST to get a valid host url --- include/classes/user.class.php | 2 +- .../lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php | 2 +- .../classes/Swift/Transport/AbstractSmtpTransport.php | 6 +++--- include/pages/account/reset_failed.inc.php | 2 +- include/pages/login.inc.php | 2 +- public/index.php | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/classes/user.class.php b/include/classes/user.class.php index 0d761fde9..8bfbbccac 100644 --- a/include/classes/user.class.php +++ b/include/classes/user.class.php @@ -666,7 +666,7 @@ public function logoutUser() { // Enforce a page reload and point towards login with referrer included, if supplied $port = ($_SERVER["SERVER_PORT"] == "80" || $_SERVER["SERVER_PORT"] == "443") ? "" : (":".$_SERVER["SERVER_PORT"]); $pushto = $_SERVER['SCRIPT_NAME'].'?page=login'; - $location = (@$_SERVER['HTTPS'] == 'on') ? 'https://' . $_SERVER['SERVER_NAME'] . $port . $pushto : 'http://' . $_SERVER['SERVER_NAME'] . $port . $pushto; + $location = (@$_SERVER['HTTPS'] == 'on') ? 'https://' . $_SERVER['HTTP_HOST'] . $port . $pushto : 'http://' . $_SERVER['HTTP_HOST'] . $port . $pushto; if (!headers_sent()) header('Location: ' . $location); exit(''); } diff --git a/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php b/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php index 96ac34b1a..26190c1fd 100644 --- a/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php +++ b/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php @@ -687,7 +687,7 @@ protected function _clearCache() protected function getRandomId() { $idLeft = md5(getmypid() . '.' . time() . '.' . uniqid(mt_rand(), true)); - $idRight = !empty($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'swift.generated'; + $idRight = !empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'swift.generated'; $id = $idLeft . '@' . $idRight; try { diff --git a/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php index e90da64af..1b91eee80 100644 --- a/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php +++ b/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php @@ -477,10 +477,10 @@ private function _sendBcc(Swift_Mime_Message $message, $reversePath, array $bcc, /** Try to determine the hostname of the server this is run on */ private function _lookupHostname() { - if (!empty($_SERVER['SERVER_NAME']) - && $this->_isFqdn($_SERVER['SERVER_NAME'])) + if (!empty($_SERVER['HTTP_HOST']) + && $this->_isFqdn($_SERVER['HTTP_HOST'])) { - $this->_domain = $_SERVER['SERVER_NAME']; + $this->_domain = $_SERVER['HTTP_HOST']; } elseif (!empty($_SERVER['SERVER_ADDR'])) { $this->_domain = sprintf('[%s]', $_SERVER['SERVER_ADDR']); } diff --git a/include/pages/account/reset_failed.inc.php b/include/pages/account/reset_failed.inc.php index 7ac0cda0d..8aa095a20 100644 --- a/include/pages/account/reset_failed.inc.php +++ b/include/pages/account/reset_failed.inc.php @@ -6,7 +6,7 @@ $user->setUserFailed($_SESSION['USERDATA']['id'], 0); $port = ($_SERVER["SERVER_PORT"] == "80" || $_SERVER["SERVER_PORT"] == "443") ? "" : (":".$_SERVER["SERVER_PORT"]); $pushto = $_SERVER['SCRIPT_NAME'].'?page=dashboard'; - $location = (@$_SERVER['HTTPS'] == 'on') ? 'https://' . $_SERVER['SERVER_NAME'] . $port . $pushto : 'http://' . $_SERVER['SERVER_NAME'] . $port . $pushto; + $location = (@$_SERVER['HTTPS'] == 'on') ? 'https://' . $_SERVER['HTTP_HOST'] . $port . $pushto : 'http://' . $_SERVER['HTTP_HOST'] . $port . $pushto; header("Location: " . $location); } // Somehow we still need to load this empty template diff --git a/include/pages/login.inc.php b/include/pages/login.inc.php index a40541a7b..3b1530abe 100644 --- a/include/pages/login.inc.php +++ b/include/pages/login.inc.php @@ -29,7 +29,7 @@ if ($user->checkLogin(@$_POST['username'], @$_POST['password']) ) { $port = ($_SERVER["SERVER_PORT"] == "80" || $_SERVER["SERVER_PORT"] == "443") ? "" : (":".$_SERVER["SERVER_PORT"]); $location = (@$_SERVER['HTTPS'] == "on") ? 'https://' : 'http://'; - $location .= $_SERVER['SERVER_NAME'] . $port . $_SERVER['SCRIPT_NAME']; + $location .= $_SERVER['HTTP_HOST'] . $port . $_SERVER['SCRIPT_NAME']; $location.= '?page=dashboard'; if (!headers_sent()) header('Location: ' . $location); exit(''); diff --git a/public/index.php b/public/index.php index fd305a8a2..f74dd4cdb 100644 --- a/public/index.php +++ b/public/index.php @@ -40,7 +40,7 @@ function cfip() { return (@defined('SECURITY')) ? 1 : 0; } include_once(BASEPATH . '../include/bootstrap.php'); // switch to https if config option is enabled -$hts = ($config['https_only'] && (!empty($_SERVER['QUERY_STRING']))) ? "https://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']."?".$_SERVER['QUERY_STRING'] : "https://".$_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; +$hts = ($config['https_only'] && (!empty($_SERVER['QUERY_STRING']))) ? "https://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?".$_SERVER['QUERY_STRING'] : "https://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']; ($config['https_only'] && @!$_SERVER['HTTPS']) ? exit(header("Location: ".$hts)):0; // Rate limiting, we use our initilized memcache from bootstrap/autoloader From 15c7c02268ae84ed73ec233588b5973dc7c67ff7 Mon Sep 17 00:00:00 2001 From: Kyle Tse Date: Fri, 29 Sep 2017 05:01:20 +0800 Subject: [PATCH 10/14] Update findblock.php Fixed Invalid Blockhash for listsinceblock. --- cronjobs/findblock.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cronjobs/findblock.php b/cronjobs/findblock.php index eb848180b..bf700511c 100755 --- a/cronjobs/findblock.php +++ b/cronjobs/findblock.php @@ -28,7 +28,9 @@ // Fetch our last block found from the DB as a starting point $aLastBlock = @$block->getLastValid(); $strLastBlockHash = $aLastBlock['blockhash']; -if (!$strLastBlockHash) $strLastBlockHash = ''; +if (!$strLastBlockHash) { + $strLastBlockHash = $bitcoin->getblockhash(1); +} // Fetch all transactions since our last block if ( $bitcoin->can_connect() === true ){ From 94d67b30135f6fd2c6541081391f6408be36dae5 Mon Sep 17 00:00:00 2001 From: Kyle Tse Date: Fri, 29 Sep 2017 05:50:48 +0800 Subject: [PATCH 11/14] Update findblock.php Try-Catch any exception thrown from `getblockhash` for safety. --- cronjobs/findblock.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cronjobs/findblock.php b/cronjobs/findblock.php index bf700511c..43e8e48a0 100755 --- a/cronjobs/findblock.php +++ b/cronjobs/findblock.php @@ -29,7 +29,11 @@ $aLastBlock = @$block->getLastValid(); $strLastBlockHash = $aLastBlock['blockhash']; if (!$strLastBlockHash) { - $strLastBlockHash = $bitcoin->getblockhash(1); + try { + $strLastBlockHash = $bitcoin->getblockhash(1); + } catch (Exception $e) { + $strLastBlockHash = ""; + } } // Fetch all transactions since our last block From e42fc1859f7f83042e230b74e2f06e71b39c4d5c Mon Sep 17 00:00:00 2001 From: Caberhagen Date: Sat, 7 Oct 2017 10:06:41 +0200 Subject: [PATCH 12/14] Address change --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3ee442d6c..1849015a4 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ These people have supported this project with a donation: * [WKNiGHT](https://github.com/WKNiGHT-) * [ZC](https://github.com/zccopwrx) * Nutnut -* Caberhagen (http://litecoin-pool.ch) +* Caberhagen (https://coin-mining.ch) * Mining4All (https://www.mining4all.eu/) * [xisi](https://github.com/xisi) * [PCFiL](https://github.com/PCFiL) From 3f52e01c9b770f482b11b566c5ca48ef6f3336a1 Mon Sep 17 00:00:00 2001 From: sunk818 Date: Fri, 27 Oct 2017 14:20:41 -0700 Subject: [PATCH 13/14] Update default.tpl Formatting fixes. Linked github URL for mpos. --- templates/bootstrap/about/pool/default.tpl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/templates/bootstrap/about/pool/default.tpl b/templates/bootstrap/about/pool/default.tpl index b51a45a8e..8d3a51710 100644 --- a/templates/bootstrap/about/pool/default.tpl +++ b/templates/bootstrap/about/pool/default.tpl @@ -2,7 +2,7 @@
- Frequently Asked Questions + Frequently Asked Questions
    @@ -14,11 +14,11 @@ {/if} {if $GLOBAL.config.payout_system == 'pplns'}
    - Pay Per Last N Shares (PPLNS) - Block rewards are distributed among the last shares, disregarding round boundaries. In the accurate implementation, the number of shares is deter- mined so that their total will be a specified quantity of score (where the score of a share is the inverse of the difficulty). Most pools use a naive implementation based on a fixed number of shares or a fixed multiple of the difficulty. The share-variance can be reduced at the cost of increased maturity time, but there is no way to decrease the long-term pool-variance. + Pay Per Last N Shares (PPLNS) - Block rewards are distributed among the last shares, disregarding round boundaries. In the accurate implementation, the number of shares is determined so that their total will be a specified quantity of score (where the score of a share is the inverse of the difficulty). Most pools use a naive implementation based on a fixed number of shares or a fixed multiple of the difficulty. The share-variance can be reduced at the cost of increased maturity time, but there is no way to decrease the long-term pool-variance. {/if} {if $GLOBAL.config.payout_system == 'pps'}
    - Pay Per Share (PPS) - Each share receives a fixed reward known in advance. This is the ultimate low- variance, low-maturity simple method, but has the highest risk for the operator, and hence lower expected returns than other methods and risk of collapse if not managed properly. + Pay Per Share (PPS) - Each share receives a fixed reward known in advance. This is the ultimate low-variance, low-maturity simple method, but has the highest risk for the operator, and hence lower expected returns than other methods and risk of collapse if not managed properly. {/if}

  • Q: What is a orphan block?
  • @@ -48,7 +48,7 @@
From eedbaba316bd5ec63d838c7b33f93f9727f03543 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 2 Nov 2017 10:38:51 +0100 Subject: [PATCH 14/14] [VERSION] 1.0.8 release --- include/version.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/version.inc.php b/include/version.inc.php index 46e0253e8..fbc27a4a8 100644 --- a/include/version.inc.php +++ b/include/version.inc.php @@ -1,7 +1,7 @@