From 43a362afabce87756f73482e03f7f38bfca299d5 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 16 Apr 2014 21:41:41 +0200 Subject: [PATCH 01/92] [CLEANUP] Use coin class for worker hashrate calcs * Worker class was not using coin class for calculations * Should improve runtime for worker status related queries --- public/include/classes/worker.class.php | 163 +++++++++++++----------- 1 file changed, 86 insertions(+), 77 deletions(-) diff --git a/public/include/classes/worker.class.php b/public/include/classes/worker.class.php index 9b7344ac..d14aa999 100644 --- a/public/include/classes/worker.class.php +++ b/public/include/classes/worker.class.php @@ -69,38 +69,41 @@ class Worker extends Base { public function getWorker($id, $interval=600) { $this->debug->append("STA " . __METHOD__, 4); $stmt = $this->mysqli->prepare(" - SELECT id, username, password, monitor, - ( SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND)) AS count_all, - ( SELECT COUNT(id) FROM " . $this->share->getArchiveTableName() . " WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND)) AS count_all_archive, - ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + 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) + ) + ( + SELECT COUNT(id) FROM " . $this->share->getArchiveTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS count_all, + ( + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) ) + ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getArchiveTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) AS hashrate, - ( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) / count_all, 2), 0) - FROM " . $this->share->getTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) / count_all_archive, 2), 0) - FROM " . $this->share->getArchiveTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) AS difficulty + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS shares FROM $this->table AS w - WHERE id = ? - "); - if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiiiiii',$interval, $interval, $interval, $interval, $interval, $interval, $interval, $interval, $id) && $stmt->execute() && $result = $stmt->get_result()) - return $result->fetch_assoc(); + 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(); + $row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2); + if ($row['count_all'] > 0) { + $row['difficulty'] = round($row['shares'] / $row['count_all'], 2); + } else { + $row['difficulty'] = 0.00; + } + return $row; + } return $this->sqlError('E0055'); } @@ -113,85 +116,91 @@ class Worker extends Base { $this->debug->append("STA " . __METHOD__, 4); $stmt = $this->mysqli->prepare(" SELECT id, username, password, monitor, - ( SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND)) AS count_all, - ( SELECT COUNT(id) FROM " . $this->share->getArchiveTableName() . " WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND)) AS count_all_archive, - ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + ( + SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) + ( + SELECT COUNT(id) FROM " . $this->share->getArchiveTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS count_all, + ( + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) + ( + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getArchiveTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) AS hashrate, - ( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) / count_all, 2), 0) - FROM " . $this->share->getTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) / count_all_archive, 2), 0) - FROM " . $this->share->getArchiveTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) AS difficulty + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS shares FROM $this->table AS w WHERE account_id = ?"); - if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiiiiii', $interval, $interval, $interval, $interval, $interval, $interval, $interval, $interval, $account_id) && $stmt->execute() && $result = $stmt->get_result()) - return $result->fetch_all(MYSQLI_ASSOC); + if ($this->checkStmt($stmt) && $stmt->bind_param('iiiii', $interval, $interval, $interval, $interval, $account_id) && $stmt->execute() && $result = $stmt->get_result()) { + while ($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); + } else { + $row['difficulty'] = 0.00; + } + $aData[] = $row; + } + return $aData; + } return $this->sqlError('E0056'); } /** * Fetch all workers for admin panel - * @param limit int + * @param limit int max amount of workers * @return mixed array Workers and their settings or false **/ public function getAllWorkers($iLimit=0, $interval=600, $start=0) { $this->debug->append("STA " . __METHOD__, 4); $stmt = $this->mysqli->prepare(" SELECT id, username, password, monitor, - IFNULL(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty), 0) AS difficulty, - ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + ( + SELECT COUNT(id) FROM " . $this->share->getTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) + ( + SELECT COUNT(id) FROM " . $this->share->getArchiveTableName() . " WHERE our_result = 'Y' AND username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS count_all, + IFNULL(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty), 0) AS difficulty, + ( + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT - IFNULL(IF(our_result='Y', ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)) * POW(2, " . $this->coin->getTargetBits() . ") / ? / 1000), 0), 0) AS hashrate + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) + ( + SELECT + IFNULL(SUM(difficulty), 0) FROM " . $this->share->getArchiveTableName() . " WHERE username = w.username - AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) AS hashrate, - (( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)), 2), 0) - FROM " . $this->share->getTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT IFNULL(ROUND(SUM(IF(difficulty=0, pow(2, (" . $this->config['difficulty'] . " - 16)), difficulty)), 2), 0) - FROM " . $this->share->getArchiveTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - )) / (( - SELECT COUNT(id) - FROM " . $this->share->getTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - ) + ( - SELECT COUNT(id) - FROM " . $this->share->getArchiveTableName() . " - WHERE username = w.username AND time > DATE_SUB(now(), INTERVAL ? SECOND) - )) AS avg_difficulty + AND our_result = 'Y' + AND time > DATE_SUB(now(), INTERVAL ? SECOND) + ) AS shares FROM $this->table AS w - ORDER BY hashrate DESC LIMIT ?,?"); - if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiiiiiii', $interval, $interval, $interval, $interval, $interval, $interval, $interval, $interval, $start, $iLimit) && $stmt->execute() && $result = $stmt->get_result()) - return $result->fetch_all(MYSQLI_ASSOC); + ORDER BY shares DESC LIMIT ?,?"); + if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiii', $interval, $interval, $interval, $interval, $start, $iLimit) && $stmt->execute() && $result = $stmt->get_result()) { + while ($row = $result->fetch_assoc()) { + $row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2); + if ($row['count_all'] > 0) { + $row['avg_difficulty'] = round($row['shares'] / $row['count_all'], 2); + } else { + $row['avg_difficulty'] = 0.00; + } + $aData[] = $row; + } + return $aData; + } return $this->sqlError('E0057'); } From 16a1ca641a812a48a40174bead44aad22cfa0b1a Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 16 Apr 2014 22:15:34 +0200 Subject: [PATCH 02/92] [ADDED] Worker totals on Dashboard * Added worker hashrate sum * Added refresh interval information to dashboard footer * Added number formatting to hashrate --- public/templates/bootstrap/dashboard/default.tpl | 2 +- public/templates/bootstrap/dashboard/js/api.tpl | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/public/templates/bootstrap/dashboard/default.tpl b/public/templates/bootstrap/dashboard/default.tpl index 88aa24c9..16bd9cd6 100644 --- a/public/templates/bootstrap/dashboard/default.tpl +++ b/public/templates/bootstrap/dashboard/default.tpl @@ -18,7 +18,7 @@ diff --git a/public/templates/bootstrap/dashboard/js/api.tpl b/public/templates/bootstrap/dashboard/js/api.tpl index 980d3d21..fa8d7253 100644 --- a/public/templates/bootstrap/dashboard/js/api.tpl +++ b/public/templates/bootstrap/dashboard/js/api.tpl @@ -139,14 +139,17 @@ $(document).ready(function(){ function refreshWorkerData(data) { workers = data.getuserworkers.data; length = workers.length; + totalHashrate = 0; $('#b-workers').html(''); for (var i = j = 0; i < length; i++) { if (workers[i].hashrate > 0) { + totalHashrate += workers[i].hashrate; j++; - $('#b-workers').append('' + workers[i].username + '' + workers[i].hashrate + '' + workers[i].difficulty + ''); + $('#b-workers').append('' + workers[i].username + '' + number_format(workers[i].hashrate, 2) + '' + workers[i].difficulty + ''); } } if (j == 0) { $('#b-workers').html('No active workers'); } + if (totalHashrate > 0) { $('#b-workers').append('Total' + number_format(totalHashrate, 2) + ''); } } // Refresh balance information From 4b2dd64ff93ca56e6b70f7a7f21fdcdb7d171412 Mon Sep 17 00:00:00 2001 From: Glen Date: Thu, 17 Apr 2014 10:42:45 +1000 Subject: [PATCH 03/92] Update default.tpl Corrected spacing when --script is omitted. --- public/templates/bootstrap/gettingstarted/default.tpl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/public/templates/bootstrap/gettingstarted/default.tpl index c9e533c8..73cdd093 100644 --- a/public/templates/bootstrap/gettingstarted/default.tpl +++ b/public/templates/bootstrap/gettingstarted/default.tpl @@ -28,17 +28,17 @@

    If your using Linux, Then type the following into the console:

  • CGMiner
  • -
    ./cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
    ./cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
  • BFGMiner
  • -
    ./bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
    ./bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword

    If you want to mine on a Windows Operating System , Then you'll need to create a Batch File to start your miner.

    You can download pre-configured one from MEGA Here or you can make your own by opening notepad and then copy and pasting the following:

  • MinerD
  • -
    minerd -a {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -t 6 -s 4 -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
    minerd -a {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-t 6 -s 4 -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
  • CGMiner
  • -
    cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
    cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
  • BFGMiner
  • -
    bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt{/if} -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
    bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
  • Cudaminer For NVIDIA Cards
  • cudaminer -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword

    From cc645d24c5bf3a31663e45535db1435649c6964c Mon Sep 17 00:00:00 2001 From: Glen Date: Thu, 17 Apr 2014 11:05:45 +1000 Subject: [PATCH 04/92] Hide Point 5 In Getting Started - SHA256 Coins Hide irrelevant details in point 5 when SHA256 coin is used. --- public/templates/bootstrap/gettingstarted/default.tpl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/public/templates/bootstrap/gettingstarted/default.tpl index c9e533c8..084bf371 100644 --- a/public/templates/bootstrap/gettingstarted/default.tpl +++ b/public/templates/bootstrap/gettingstarted/default.tpl @@ -51,15 +51,17 @@
-

5. Advanced cgminer settings / FAQ

+ {if $GLOBAL.config.algorithm == 'scrypt'} +

5. Advanced CGMiner settings / FAQ

  • Scrypt readme
  • -
  • Don't set intensity too high, I=11 is standard and safest. Higher intensity takes more GPU RAM. Check for hardware errors in cgminer (HW). HW=0 is good, otherwise lower intensity :)
  • -
  • Set shaders according to the readme (or look at your graphic cards specifications). Cgminer uses this value at first run to calculate thread-concurrency. Easiest way to get this optimized is to use same settings as others have used here: here.
  • -
  • There's also an interesting project which gives you a GUI for cgminer. Windows only it seems.
  • +
  • Don't set intensity too high, I=11 is standard and safest. Higher intensity takes more GPU RAM. Check for hardware errors in CGMiner (HW). HW=0 is good, otherwise lower intensity.
  • +
  • Set shaders according to the readme (or look at your graphic cards specifications). CGMiner uses this value at first run to calculate thread-concurrency. Easiest way to get this optimized is to use same settings as others have used here: here.
  • +
  • There's also an interesting project which gives you a GUI for CGMiner. Windows only it seems.
  • Here's a great guide how to get up and running with Xubuntu.
+ {/if} From 05d4a8925fcb98fb7e80a4c4c505f40abfdce792 Mon Sep 17 00:00:00 2001 From: Glen Date: Thu, 17 Apr 2014 11:20:22 +1000 Subject: [PATCH 05/92] Scrypt/SHA256 Friendly Changes (Getting Started) Correctly display miner download links depending on coin used scrypt/SHA256. --- .../templates/bootstrap/gettingstarted/default.tpl | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/public/templates/bootstrap/gettingstarted/default.tpl index c9e533c8..23d47d50 100644 --- a/public/templates/bootstrap/gettingstarted/default.tpl +++ b/public/templates/bootstrap/gettingstarted/default.tpl @@ -14,15 +14,19 @@

2. Download a miner.

+

3. Configure your miner.

    From 1a97f41f523fbe891776681f83b41ad6fc2dfe5e Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 17 Apr 2014 06:49:19 +0200 Subject: [PATCH 06/92] [ADDED] System Date Format string * [ADDED] New admin panel config option in System * [UPDATED] Use new date format on all templates Fixes #2118 once merged. --- public/include/config/admin_settings.inc.php | 7 +++++++ public/include/smarty_globals.inc.php | 1 + public/templates/bootstrap/account/invitations/default.tpl | 2 +- public/templates/bootstrap/admin/monitoring/default.tpl | 2 +- public/templates/bootstrap/admin/news/default.tpl | 2 +- public/templates/bootstrap/admin/registrations/default.tpl | 2 +- public/templates/bootstrap/admin/user/default.tpl | 4 ++-- public/templates/bootstrap/home/news_accordion.tpl | 4 ++-- public/templates/bootstrap/home/news_all.tpl | 2 +- .../bootstrap/statistics/blocks/blocks_found_details.tpl | 2 +- .../templates/bootstrap/statistics/blocks/small_table.tpl | 2 +- public/templates/bootstrap/statistics/uptime/default.tpl | 4 ++-- 12 files changed, 21 insertions(+), 13 deletions(-) diff --git a/public/include/config/admin_settings.inc.php b/public/include/config/admin_settings.inc.php index e0adf7cb..f622a60d 100644 --- a/public/include/config/admin_settings.inc.php +++ b/public/include/config/admin_settings.inc.php @@ -293,6 +293,13 @@ $aSettings['system'][] = array( 'name' => 'system_error_email', 'value' => $setting->getValue('system_error_email'), 'tooltip' => 'The email address for system errors notifications, like cronjobs failures.' ); +$aSettings['system'][] = array( + 'display' => 'Date format string', 'type' => 'text', + 'site' => 25, + 'default' => '%m/%d/%Y %H:%M:%S', + 'name' => 'system_date_format', 'value' => $setting->getValue('system_date_format'), + 'tooltip' => 'Date format to be used throughout the site. Please check PHP strftime for details.' +); $aSettings['system'][] = array( 'display' => 'Disable e-mail confirmations', 'type' => 'select', 'options' => array( 0 => 'No', 1 => 'Yes' ), diff --git a/public/include/smarty_globals.inc.php b/public/include/smarty_globals.inc.php index d19fd00b..8ccd788d 100644 --- a/public/include/smarty_globals.inc.php +++ b/public/include/smarty_globals.inc.php @@ -65,6 +65,7 @@ $aGlobal = array( 'twofactor' => $config['twofactor'], 'csrf' => $config['csrf'], 'config' => array( + 'date' => $setting->getValue('system_date_format', '%m/%d/%y %H:%M:%S'), 'website_design' => $setting->getValue('website_design'), 'poolnav_enabled' => $setting->getValue('poolnav_enabled'), 'poolnav_pools' => $setting->getValue('poolnav_pools'), diff --git a/public/templates/bootstrap/account/invitations/default.tpl b/public/templates/bootstrap/account/invitations/default.tpl index c256d41e..23ddaa19 100644 --- a/public/templates/bootstrap/account/invitations/default.tpl +++ b/public/templates/bootstrap/account/invitations/default.tpl @@ -44,7 +44,7 @@ {section name=invite loop=$INVITATIONS} {$INVITATIONS[invite].email} - {$INVITATIONS[invite].time|date_format:"%d/%m/%Y %H:%M:%S"} + {$INVITATIONS[invite].time|date_format:$GLOBAL.config.date} {/section} diff --git a/public/templates/bootstrap/admin/monitoring/default.tpl b/public/templates/bootstrap/admin/monitoring/default.tpl index de0af634..83b353a8 100644 --- a/public/templates/bootstrap/admin/monitoring/default.tpl +++ b/public/templates/bootstrap/admin/monitoring/default.tpl @@ -50,7 +50,7 @@ {else} {/if} - {$event.value|date_format:"%m/%d %H:%M:%S"} + {$event.value|date_format:$GLOBAL.config.date} {else} {$event.value|default:""} diff --git a/public/templates/bootstrap/admin/news/default.tpl b/public/templates/bootstrap/admin/news/default.tpl index caeb07ff..0d30d5f1 100644 --- a/public/templates/bootstrap/admin/news/default.tpl +++ b/public/templates/bootstrap/admin/news/default.tpl @@ -44,7 +44,7 @@
    {$NEWS[news].header}
    - posted {$NEWS[news].time|date_format:"%b %e, %Y at %H:%M"}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if} + posted {$NEWS[news].time|date_format:$GLOBAL.config.date}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if}
    diff --git a/public/templates/bootstrap/admin/registrations/default.tpl b/public/templates/bootstrap/admin/registrations/default.tpl index 7c2e62bc..c16917fb 100644 --- a/public/templates/bootstrap/admin/registrations/default.tpl +++ b/public/templates/bootstrap/admin/registrations/default.tpl @@ -24,7 +24,7 @@ {$LASTREGISTEREDUSERS[user].id|escape} {$LASTREGISTEREDUSERS[user].mposuser} {$LASTREGISTEREDUSERS[user].email} - {$LASTREGISTEREDUSERS[user].signup_timestamp|date_format:"%d/%m %H:%M:%S"} + {$LASTREGISTEREDUSERS[user].signup_timestamp|date_format:$GLOBAL.config.date} {if !$LASTREGISTEREDUSERS[user].inviter}{else}{/if} {$LASTREGISTEREDUSERS[user].inviter} diff --git a/public/templates/bootstrap/admin/user/default.tpl b/public/templates/bootstrap/admin/user/default.tpl index 987724ba..357a8ba0 100644 --- a/public/templates/bootstrap/admin/user/default.tpl +++ b/public/templates/bootstrap/admin/user/default.tpl @@ -121,8 +121,8 @@ {$USERS[user].estimates.hours24|number_format:"8"} {/if} {$USERS[user].balance|number_format:"8"} - {$USERS[user].signup_timestamp|date_format:"%d/%m %H:%M:%S"} - {$USERS[user].last_login|date_format:"%d/%m %H:%M:%S"} + {$USERS[user].signup_timestamp|date_format:$GLOBAL.config.date} + {$USERS[user].last_login|date_format:$GLOBAL.config.date} diff --git a/public/templates/bootstrap/home/news_accordion.tpl b/public/templates/bootstrap/home/news_accordion.tpl index 26dd8736..71392775 100644 --- a/public/templates/bootstrap/home/news_accordion.tpl +++ b/public/templates/bootstrap/home/news_accordion.tpl @@ -11,7 +11,7 @@
    {$NEWS[news].header}
    - posted {$NEWS[news].time|date_format:"%b %e, %Y at %H:%M"}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if} + posted {$NEWS[news].time|date_format:$GLOBAL.config.date}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if}
    @@ -24,4 +24,4 @@
    - \ No newline at end of file + diff --git a/public/templates/bootstrap/home/news_all.tpl b/public/templates/bootstrap/home/news_all.tpl index af229f98..82769586 100644 --- a/public/templates/bootstrap/home/news_all.tpl +++ b/public/templates/bootstrap/home/news_all.tpl @@ -5,7 +5,7 @@
    {$NEWS[news].header}
    - posted {$NEWS[news].time|date_format:"%b %e, %Y at %H:%M"}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if} + posted {$NEWS[news].time|date_format:$GLOBAL.config.date}{if $HIDEAUTHOR|default:"0" == 0} by {$NEWS[news].author}{/if}
    {$NEWS[news].content nofilter} diff --git a/public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl b/public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl index 53c0cf72..834c0fe2 100644 --- a/public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl +++ b/public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl @@ -46,7 +46,7 @@ {/if} {if $BLOCKSFOUND[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSFOUND[block].finder|default:"unknown"|escape}{/if} - {$BLOCKSFOUND[block].time|date_format:"%d/%m/%Y %H:%M:%S"} + {$BLOCKSFOUND[block].time|date_format:$GLOBAL.config.date} {$BLOCKSFOUND[block].difficulty|number_format:"4"} {$BLOCKSFOUND[block].amount|number_format:"2"} diff --git a/public/templates/bootstrap/statistics/blocks/small_table.tpl b/public/templates/bootstrap/statistics/blocks/small_table.tpl index 2c1c4303..544ffd22 100644 --- a/public/templates/bootstrap/statistics/blocks/small_table.tpl +++ b/public/templates/bootstrap/statistics/blocks/small_table.tpl @@ -23,7 +23,7 @@ {$BLOCKSFOUND[block].height} {/if} {if $BLOCKSFOUND[block].is_anonymous|default:"0" == 1 && $GLOBAL.userdata.is_admin|default:"0" == 0}anonymous{else}{$BLOCKSFOUND[block].finder|default:"unknown"|escape}{/if} - {$BLOCKSFOUND[block].time|date_format:"%d/%m %H:%M:%S"} + {$BLOCKSFOUND[block].time|date_format:$GLOBAL.config.date} {$BLOCKSFOUND[block].shares|number_format} {/section} diff --git a/public/templates/bootstrap/statistics/uptime/default.tpl b/public/templates/bootstrap/statistics/uptime/default.tpl index e6835ed8..b89ecea3 100644 --- a/public/templates/bootstrap/statistics/uptime/default.tpl +++ b/public/templates/bootstrap/statistics/uptime/default.tpl @@ -23,7 +23,7 @@ {if $node|count > 1}{$node.1}{/if} {$CODES[$item.status]} - {$item.log.1.datetime|date_format:"%b %d, %Y %H:%M"} + {$item.log.1.datetime|date_format:$GLOBAL.config.date}
    @@ -58,7 +58,7 @@
    From da5414d5b5e9b10badc6a8faad268d5f44ec1900 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 17 Apr 2014 06:53:46 +0200 Subject: [PATCH 07/92] [FIX] Proper default format --- public/include/smarty_globals.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/include/smarty_globals.inc.php b/public/include/smarty_globals.inc.php index 8ccd788d..68e920b5 100644 --- a/public/include/smarty_globals.inc.php +++ b/public/include/smarty_globals.inc.php @@ -65,7 +65,7 @@ $aGlobal = array( 'twofactor' => $config['twofactor'], 'csrf' => $config['csrf'], 'config' => array( - 'date' => $setting->getValue('system_date_format', '%m/%d/%y %H:%M:%S'), + 'date' => $setting->getValue('system_date_format', '%m/%d/%Y %H:%M:%S'), 'website_design' => $setting->getValue('website_design'), 'poolnav_enabled' => $setting->getValue('poolnav_enabled'), 'poolnav_pools' => $setting->getValue('poolnav_pools'), From 91db296aec81fc26298d798b21e5c3d701cc6cba Mon Sep 17 00:00:00 2001 From: iAmShorty Date: Thu, 17 Apr 2014 11:18:43 +0200 Subject: [PATCH 08/92] [UPDATE] cleaner navigation in admin menu --- .../templates/bootstrap/global/navigation.tpl | 44 ++++++++++++++----- 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/public/templates/bootstrap/global/navigation.tpl b/public/templates/bootstrap/global/navigation.tpl index ca5a4279..8d3ae1db 100644 --- a/public/templates/bootstrap/global/navigation.tpl +++ b/public/templates/bootstrap/global/navigation.tpl @@ -27,18 +27,38 @@
  • Admin Panel
  • From 08ca41d451a5c06e4d18eedfa7861fc7b0917215 Mon Sep 17 00:00:00 2001 From: Glen Date: Fri, 18 Apr 2014 00:27:57 +1000 Subject: [PATCH 09/92] Remove MEGA Crap From Getting Started What's the go with all the MEGA references? - talk about a way of promoting MEGA? I have removed all references and replaced with reputable links where possible except the CGMiner 3.7.2 download link - I'll try and find a better one and update later. Reason for this change is because MEGA is prompting users to download the application/join the site. --- public/templates/bootstrap/gettingstarted/default.tpl | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/public/templates/bootstrap/gettingstarted/default.tpl index 9a07162b..6e7fb2fb 100644 --- a/public/templates/bootstrap/gettingstarted/default.tpl +++ b/public/templates/bootstrap/gettingstarted/default.tpl @@ -21,11 +21,11 @@ {if $GLOBAL.config.algorithm == 'scrypt'}
  • Intel/ATI/AMD CGMiner (3.7.2) Windows: Download here
  • Intel/ATI/AMD CGMiner (3.7.2) Linux: Download Here
  • +
  • NVIDIA Cudaminer: Download here
  • {/if}
  • Intel/ATI/AMD BFGMiner Linux/Windows: Download here
  • Fabulous Panda Miner Mac OS X: Download here
  • Minerd CPU Miner Mac/Linux/Windows: Download here.
  • -
  • NVIDIA Cudaminer: Download here

3. Configure your miner.

@@ -36,17 +36,19 @@
  • BFGMiner
  • ./bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword

    -

    If you want to mine on a Windows Operating System , Then you'll need to create a Batch File to start your miner.

    You can download pre-configured one from MEGA Here or you can make your own by opening notepad and then copy and pasting the following:

    -
  • MinerD
  • -
    minerd -a {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-t 6 -s 4 -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +

    If you want to mine on a Windows Operating System, then you'll need to create a batch file to start your miner.

    Simply open notepad and then copy and paste the following:

  • CGMiner
  • cgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
  • BFGMiner
  • bfgminer {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    +
  • MinerD
  • +
    minerd -a {if $GLOBAL.config.algorithm == 'scrypt'}--scrypt {/if}-t 6 -s 4 -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
    + {if $GLOBAL.config.algorithm == 'scrypt'}
  • Cudaminer For NVIDIA Cards
  • cudaminer -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword

    You then need to change "-u Weblogin.Worker -p Worker password" to reflect your own account. Eg, "-u Steve.StevesWorker -p StevesWorkerPassword" Then go to "File => Save as" and save the file as "RunMe.bat" in the same folder as minerd. You are now ready to mine, double click on "RunMe.bat" to start mining. If you want, you can create additional workers with usernames and passwords of your choice here

    + {/if}

    4. Create a {$SITECOINNAME|default:"Litecoin"} address to receive payments.

      From f9b8a45223d0acbab8f210b1e25a22e378b19b09 Mon Sep 17 00:00:00 2001 From: Glen Date: Fri, 18 Apr 2014 00:52:37 +1000 Subject: [PATCH 10/92] Corrected IF Statement End Sorry just realised if statement was incorrect in my last push - corrected here. --- public/templates/bootstrap/gettingstarted/default.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/public/templates/bootstrap/gettingstarted/default.tpl index 6e7fb2fb..6a834863 100644 --- a/public/templates/bootstrap/gettingstarted/default.tpl +++ b/public/templates/bootstrap/gettingstarted/default.tpl @@ -46,9 +46,9 @@ {if $GLOBAL.config.algorithm == 'scrypt'}
    • Cudaminer For NVIDIA Cards
    • cudaminer -o stratum+tcp://{$SITESTRATUMURL|default:$smarty.server.SERVER_NAME}:{$SITESTRATUMPORT|default:"3333"} -u Weblogin.WorkerName -p WorkerPassword
      -
      -

      You then need to change "-u Weblogin.Worker -p Worker password" to reflect your own account. Eg, "-u Steve.StevesWorker -p StevesWorkerPassword" Then go to "File => Save as" and save the file as "RunMe.bat" in the same folder as minerd. You are now ready to mine, double click on "RunMe.bat" to start mining. If you want, you can create additional workers with usernames and passwords of your choice here

      {/if} +
      +

      You then need to change "-u Weblogin.Worker -p Worker password" to reflect your own account. Eg, "-u Steve.StevesWorker -p StevesWorkerPassword" then go to "File > Save as" and save the file as "RunMe.bat" in the same folder containing your miners application files. You are now ready to mine, double click on "RunMe.bat" to start mining. If you want, you can create additional workers with usernames and passwords of your choice here

    4. Create a {$SITECOINNAME|default:"Litecoin"} address to receive payments.

      From 1e1bbaaa92bfa3607a8a1e04c14e9ef6c838bcc6 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sat, 19 Apr 2014 08:06:26 +0200 Subject: [PATCH 11/92] [FIX] PHP Notice --- public/include/classes/worker.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/public/include/classes/worker.class.php b/public/include/classes/worker.class.php index d14aa999..570dcd32 100644 --- a/public/include/classes/worker.class.php +++ b/public/include/classes/worker.class.php @@ -190,6 +190,7 @@ class Worker extends Base { FROM $this->table AS w ORDER BY shares DESC LIMIT ?,?"); if ($this->checkStmt($stmt) && $stmt->bind_param('iiiiii', $interval, $interval, $interval, $interval, $start, $iLimit) && $stmt->execute() && $result = $stmt->get_result()) { + $aData = array(); while ($row = $result->fetch_assoc()) { $row['hashrate'] = round($this->coin->calcHashrate($row['shares'], $interval), 2); if ($row['count_all'] > 0) { From 899d2134ebcfb80fdf3292b306764f33f21f5517 Mon Sep 17 00:00:00 2001 From: Nathan Patten Date: Sat, 19 Apr 2014 23:18:54 +1000 Subject: [PATCH 12/92] [FIX] questionmark.png Path --- public/templates/bootstrap/account/edit/cashout.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/templates/bootstrap/account/edit/cashout.tpl b/public/templates/bootstrap/account/edit/cashout.tpl index 1008fda9..17ab106f 100644 --- a/public/templates/bootstrap/account/edit/cashout.tpl +++ b/public/templates/bootstrap/account/edit/cashout.tpl @@ -13,7 +13,7 @@

      - Please note: a {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} {$GLOBAL.config.currency} transaction will apply when processing "On-Demand" manual payments + Please note: a {if $GLOBAL.config.txfee_manual > 0.00001}{$GLOBAL.config.txfee_manual}{else}{$GLOBAL.config.txfee_manual|number_format:"8"}{/if} {$GLOBAL.config.currency} transaction will apply when processing "On-Demand" manual payments

      Minimum Cashout: {$GLOBAL.config.mp_threshold} {$GLOBAL.config.currency} From 1c95a0c95c9e3eecd221a673714bbc2fdc4db215 Mon Sep 17 00:00:00 2001 From: Nathan Patten Date: Sat, 19 Apr 2014 23:20:10 +1000 Subject: [PATCH 13/92] [FIX] questionmark.png Path --- public/templates/bootstrap/account/edit/detail.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/templates/bootstrap/account/edit/detail.tpl b/public/templates/bootstrap/account/edit/detail.tpl index 6ca4d131..a98251c5 100644 --- a/public/templates/bootstrap/account/edit/detail.tpl +++ b/public/templates/bootstrap/account/edit/detail.tpl @@ -42,7 +42,7 @@


      - {$GLOBAL.config.ap_threshold.min} - {$GLOBAL.config.ap_threshold.max} {$GLOBAL.config.currency}. Set to '0' for no auto payout. A {if $GLOBAL.config.txfee_auto > 0.00001}{$GLOBAL.config.txfee_auto}{else}{$GLOBAL.config.txfee_auto|number_format:"8"}{/if} {$GLOBAL.config.currency} TX fee will apply + {$GLOBAL.config.ap_threshold.min} - {$GLOBAL.config.ap_threshold.max} {$GLOBAL.config.currency}. Set to '0' for no auto payout. A {if $GLOBAL.config.txfee_auto > 0.00001}{$GLOBAL.config.txfee_auto}{else}{$GLOBAL.config.txfee_auto|number_format:"8"}{/if} {$GLOBAL.config.currency} TX fee will apply
      From 10bea9db882c81b80cf70177a23426405f5def93 Mon Sep 17 00:00:00 2001 From: Glen Date: Sun, 20 Apr 2014 09:10:39 +1000 Subject: [PATCH 14/92] Add Smarts To About/FAQ Page Add smarts to the about/FAQ page to display/hide appropriate questions/answers. --- .../bootstrap/about/pool/default.tpl | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/public/templates/bootstrap/about/pool/default.tpl b/public/templates/bootstrap/about/pool/default.tpl index 92559fc1..7c300f9f 100644 --- a/public/templates/bootstrap/about/pool/default.tpl +++ b/public/templates/bootstrap/about/pool/default.tpl @@ -7,23 +7,31 @@
      • Q: When will I get paid?
      • -  A: This depends on the pools payout System. MPOS Support three different systems defined below.
        +  A: This pool uses the follwing payout system.
        + {if $GLOBAL.config.payout_system == 'prop'}
        - * Proportional (Prop) - The block reward is distributed among miners in proportion to the number of shares they submitted in a round. The expected reward per share depends on the number of shares already submitted in the round.
        + Proportional (Prop) - The block reward is distributed among miners in proportion to the number of shares they submitted in a round. The expected reward per share depends on the number of shares already submitted in the round. + {/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 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. + {/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?
      • +
      • Q: What is a orphan block?
      •  A: Coins generated by a block will not be available to you right away. They will take some time to be confirmed by the entire network before you are allowed to transfer them out of the pool. Usually coins have a confirmation set to 120. What that actually means: the network (not the pool) has to discover 120 additional blocks on top of the one found by the pool to confirm it.

      • Q: What is estimated payout?
      • -  A: Estimated Payout is your Estimated payout if a block is found at that time. This is an estimate according to your amount of shares submitted for the round(s). +  A: Estimated payout is your estimated payout if a block is found at that time. This is an estimate according to your amount of shares submitted for the round(s).

        -
      • Q: What is Pool-variance?
      • + {if $GLOBAL.config.payout_system != 'prop'} +
      • Q: What is pool-variance?
      •  A: This is the variance caused by the pool being too small. Using a method with high pool-variance does no harm to large pools.

        + {/if}
      • Q: What is a share?
      •  A: Finding blocks is not an easy task. Since it would take a really long time on some coins, finding a block is broken down into shares. Depending on the server side setting, each share can be a certain difficulty. The more difficult each share is to find by miners, the fewer total shares are required to eventually find a block.

        From 1456bd21ef4aaf0f88a5413107b53aa3eecf3df8 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Mon, 14 Apr 2014 18:06:07 +0200 Subject: [PATCH 15/92] [MOVED] Removed include and templates from public [TESTING] --- .gitignore | 16 ++++++++-------- {public/include => include}/admin_checks.php | 4 ++-- {public/include => include}/autoloader.inc.php | 0 {public/include => include}/bootstrap.php | 14 +++++++------- .../include => include}/classes/api.class.php | 0 .../include => include}/classes/base.class.php | 0 .../classes/bitcoin.class.php | 0 .../classes/bitcoinwrapper.class.php | 0 .../include => include}/classes/block.class.php | 0 .../classes/coins/coin_base.class.php | 0 .../classes/coins/coin_scrypt.class.php | 0 .../classes/coins/coin_sha256d.class.php | 0 .../classes/csrftoken.class.php | 0 .../include => include}/classes/debug.class.php | 0 .../classes/invitation.class.php | 0 .../include => include}/classes/logger.class.php | 0 .../include => include}/classes/mail.class.php | 0 .../classes/memcache_ad.class.php | 0 .../classes/memcached.class.php | 0 .../classes/monitoring.class.php | 0 .../include => include}/classes/news.class.php | 0 .../classes/notification.class.php | 0 .../include => include}/classes/payout.class.php | 0 .../classes/roundstats.class.php | 0 .../classes/setting.class.php | 0 .../include => include}/classes/share.class.php | 0 .../classes/statistics.class.php | 0 .../classes/statscache.class.php | 0 .../include => include}/classes/strict.class.php | 0 .../classes/template.class.php | 12 ++++++------ .../include => include}/classes/token.class.php | 0 .../classes/tokentype.class.php | 0 .../include => include}/classes/tools.class.php | 0 .../classes/transaction.class.php | 0 .../include => include}/classes/user.class.php | 0 .../include => include}/classes/worker.class.php | 0 .../config/admin_settings.inc.php | 0 .../config/error_codes.inc.php | 0 .../config/global.inc.dist.php | 0 .../config/memcache_keys.inc.php | 0 .../config/monitor_crons.inc.php | 0 .../config/security.inc.dist.php | 0 {public/include => include}/database.inc.php | 0 {public/include => include}/lib/KLogger.php | 0 .../include => include}/lib/Michelf/Markdown.php | 0 .../lib/Michelf/MarkdownExtra.php | 0 .../include => include}/lib/jsonRPCClient.php | 0 {public/include => include}/lib/recaptchalib.php | 0 {public/include => include}/lib/scrypt.php | 0 .../lib/smarty_plugins/function.acl.php | 0 .../lib/swiftmailer/classes/Swift.php | 0 .../lib/swiftmailer/classes/Swift/Attachment.php | 0 .../ByteStream/AbstractFilterableInputStream.php | 0 .../classes/Swift/ByteStream/ArrayByteStream.php | 0 .../classes/Swift/ByteStream/FileByteStream.php | 0 .../Swift/ByteStream/TemporaryFileByteStream.php | 0 .../classes/Swift/CharacterReader.php | 0 .../CharacterReader/GenericFixedWidthReader.php | 0 .../Swift/CharacterReader/UsAsciiReader.php | 0 .../classes/Swift/CharacterReader/Utf8Reader.php | 0 .../classes/Swift/CharacterReaderFactory.php | 0 .../SimpleCharacterReaderFactory.php | 0 .../classes/Swift/CharacterStream.php | 0 .../CharacterStream/ArrayCharacterStream.php | 0 .../Swift/CharacterStream/NgCharacterStream.php | 0 .../classes/Swift/ConfigurableSpool.php | 0 .../classes/Swift/DependencyContainer.php | 0 .../classes/Swift/DependencyException.php | 0 .../swiftmailer/classes/Swift/EmbeddedFile.php | 0 .../lib/swiftmailer/classes/Swift/Encoder.php | 0 .../classes/Swift/Encoder/Base64Encoder.php | 0 .../classes/Swift/Encoder/QpEncoder.php | 0 .../classes/Swift/Encoder/Rfc2231Encoder.php | 0 .../lib/swiftmailer/classes/Swift/Encoding.php | 0 .../classes/Swift/Events/CommandEvent.php | 0 .../classes/Swift/Events/CommandListener.php | 0 .../swiftmailer/classes/Swift/Events/Event.php | 0 .../classes/Swift/Events/EventDispatcher.php | 0 .../classes/Swift/Events/EventListener.php | 0 .../classes/Swift/Events/EventObject.php | 0 .../classes/Swift/Events/ResponseEvent.php | 0 .../classes/Swift/Events/ResponseListener.php | 0 .../classes/Swift/Events/SendEvent.php | 0 .../classes/Swift/Events/SendListener.php | 0 .../Swift/Events/SimpleEventDispatcher.php | 0 .../Swift/Events/TransportChangeEvent.php | 0 .../Swift/Events/TransportChangeListener.php | 0 .../Swift/Events/TransportExceptionEvent.php | 0 .../Swift/Events/TransportExceptionListener.php | 0 .../classes/Swift/FailoverTransport.php | 0 .../lib/swiftmailer/classes/Swift/FileSpool.php | 0 .../lib/swiftmailer/classes/Swift/FileStream.php | 0 .../lib/swiftmailer/classes/Swift/Filterable.php | 0 .../lib/swiftmailer/classes/Swift/Image.php | 0 .../classes/Swift/InputByteStream.php | 0 .../swiftmailer/classes/Swift/IoException.php | 0 .../lib/swiftmailer/classes/Swift/KeyCache.php | 0 .../classes/Swift/KeyCache/ArrayKeyCache.php | 0 .../classes/Swift/KeyCache/DiskKeyCache.php | 0 .../Swift/KeyCache/KeyCacheInputStream.php | 0 .../classes/Swift/KeyCache/NullKeyCache.php | 0 .../Swift/KeyCache/SimpleKeyCacheInputStream.php | 0 .../classes/Swift/LoadBalancedTransport.php | 0 .../swiftmailer/classes/Swift/MailTransport.php | 0 .../lib/swiftmailer/classes/Swift/Mailer.php | 0 .../Swift/Mailer/ArrayRecipientIterator.php | 0 .../classes/Swift/Mailer/RecipientIterator.php | 0 .../swiftmailer/classes/Swift/MemorySpool.php | 0 .../lib/swiftmailer/classes/Swift/Message.php | 0 .../classes/Swift/Mime/Attachment.php | 0 .../classes/Swift/Mime/CharsetObserver.php | 0 .../classes/Swift/Mime/ContentEncoder.php | 0 .../Mime/ContentEncoder/Base64ContentEncoder.php | 0 .../ContentEncoder/NativeQpContentEncoder.php | 0 .../Mime/ContentEncoder/PlainContentEncoder.php | 0 .../Mime/ContentEncoder/QpContentEncoder.php | 0 .../ContentEncoder/QpContentEncoderProxy.php | 0 .../Mime/ContentEncoder/RawContentEncoder.php | 0 .../classes/Swift/Mime/EmbeddedFile.php | 0 .../classes/Swift/Mime/EncodingObserver.php | 0 .../swiftmailer/classes/Swift/Mime/Grammar.php | 0 .../swiftmailer/classes/Swift/Mime/Header.php | 0 .../classes/Swift/Mime/HeaderEncoder.php | 0 .../Mime/HeaderEncoder/Base64HeaderEncoder.php | 0 .../Swift/Mime/HeaderEncoder/QpHeaderEncoder.php | 0 .../classes/Swift/Mime/HeaderFactory.php | 0 .../swiftmailer/classes/Swift/Mime/HeaderSet.php | 0 .../Swift/Mime/Headers/AbstractHeader.php | 0 .../classes/Swift/Mime/Headers/DateHeader.php | 0 .../Swift/Mime/Headers/IdentificationHeader.php | 0 .../classes/Swift/Mime/Headers/MailboxHeader.php | 0 .../Swift/Mime/Headers/OpenDKIMHeader.php | 0 .../Swift/Mime/Headers/ParameterizedHeader.php | 0 .../classes/Swift/Mime/Headers/PathHeader.php | 0 .../Swift/Mime/Headers/UnstructuredHeader.php | 0 .../swiftmailer/classes/Swift/Mime/Message.php | 0 .../classes/Swift/Mime/MimeEntity.php | 0 .../swiftmailer/classes/Swift/Mime/MimePart.php | 0 .../classes/Swift/Mime/ParameterizedHeader.php | 0 .../classes/Swift/Mime/SimpleHeaderFactory.php | 0 .../classes/Swift/Mime/SimpleHeaderSet.php | 0 .../classes/Swift/Mime/SimpleMessage.php | 0 .../classes/Swift/Mime/SimpleMimeEntity.php | 0 .../lib/swiftmailer/classes/Swift/MimePart.php | 0 .../swiftmailer/classes/Swift/NullTransport.php | 0 .../classes/Swift/OutputByteStream.php | 0 .../classes/Swift/Plugins/AntiFloodPlugin.php | 0 .../Swift/Plugins/BandwidthMonitorPlugin.php | 0 .../Swift/Plugins/Decorator/Replacements.php | 0 .../classes/Swift/Plugins/DecoratorPlugin.php | 0 .../classes/Swift/Plugins/ImpersonatePlugin.php | 0 .../swiftmailer/classes/Swift/Plugins/Logger.php | 0 .../classes/Swift/Plugins/LoggerPlugin.php | 0 .../Swift/Plugins/Loggers/ArrayLogger.php | 0 .../classes/Swift/Plugins/Loggers/EchoLogger.php | 0 .../classes/Swift/Plugins/MessageLogger.php | 0 .../classes/Swift/Plugins/Pop/Pop3Connection.php | 0 .../classes/Swift/Plugins/Pop/Pop3Exception.php | 0 .../Swift/Plugins/PopBeforeSmtpPlugin.php | 0 .../classes/Swift/Plugins/RedirectingPlugin.php | 0 .../classes/Swift/Plugins/Reporter.php | 0 .../classes/Swift/Plugins/ReporterPlugin.php | 0 .../Swift/Plugins/Reporters/HitReporter.php | 0 .../Swift/Plugins/Reporters/HtmlReporter.php | 0 .../classes/Swift/Plugins/Sleeper.php | 0 .../classes/Swift/Plugins/ThrottlerPlugin.php | 0 .../swiftmailer/classes/Swift/Plugins/Timer.php | 0 .../swiftmailer/classes/Swift/Preferences.php | 0 .../classes/Swift/ReplacementFilterFactory.php | 0 .../classes/Swift/RfcComplianceException.php | 0 .../classes/Swift/SendmailTransport.php | 0 .../swiftmailer/classes/Swift/SignedMessage.php | 0 .../lib/swiftmailer/classes/Swift/Signer.php | 0 .../classes/Swift/Signers/BodySigner.php | 0 .../classes/Swift/Signers/DKIMSigner.php | 0 .../classes/Swift/Signers/DomainKeySigner.php | 0 .../classes/Swift/Signers/HeaderSigner.php | 0 .../classes/Swift/Signers/OpenDKIMSigner.php | 0 .../classes/Swift/Signers/SMimeSigner.php | 0 .../swiftmailer/classes/Swift/SmtpTransport.php | 0 .../lib/swiftmailer/classes/Swift/Spool.php | 0 .../swiftmailer/classes/Swift/SpoolTransport.php | 0 .../swiftmailer/classes/Swift/StreamFilter.php | 0 .../StreamFilters/ByteArrayReplacementFilter.php | 0 .../StreamFilters/StringReplacementFilter.php | 0 .../StringReplacementFilterFactory.php | 0 .../swiftmailer/classes/Swift/SwiftException.php | 0 .../lib/swiftmailer/classes/Swift/Transport.php | 0 .../Swift/Transport/AbstractSmtpTransport.php | 0 .../Esmtp/Auth/CramMd5Authenticator.php | 0 .../Transport/Esmtp/Auth/LoginAuthenticator.php | 0 .../Transport/Esmtp/Auth/NTLMAuthenticator.php | 0 .../Transport/Esmtp/Auth/PlainAuthenticator.php | 0 .../Esmtp/Auth/XOAuth2Authenticator.php | 0 .../Swift/Transport/Esmtp/AuthHandler.php | 0 .../Swift/Transport/Esmtp/Authenticator.php | 0 .../classes/Swift/Transport/EsmtpHandler.php | 0 .../classes/Swift/Transport/EsmtpTransport.php | 0 .../Swift/Transport/FailoverTransport.php | 0 .../classes/Swift/Transport/IoBuffer.php | 0 .../Swift/Transport/LoadBalancedTransport.php | 0 .../classes/Swift/Transport/MailInvoker.php | 0 .../classes/Swift/Transport/MailTransport.php | 0 .../classes/Swift/Transport/NullTransport.php | 0 .../Swift/Transport/SendmailTransport.php | 0 .../Swift/Transport/SimpleMailInvoker.php | 0 .../classes/Swift/Transport/SmtpAgent.php | 0 .../classes/Swift/Transport/SpoolTransport.php | 0 .../classes/Swift/Transport/StreamBuffer.php | 0 .../classes/Swift/TransportException.php | 0 .../lib/swiftmailer/classes/Swift/Validate.php | 0 .../swiftmailer/dependency_maps/cache_deps.php | 0 .../swiftmailer/dependency_maps/message_deps.php | 0 .../swiftmailer/dependency_maps/mime_deps.php | 0 .../dependency_maps/transport_deps.php | 0 .../lib/swiftmailer/mime_types.php | 0 .../lib/swiftmailer/preferences.php | 0 .../lib/swiftmailer/swift_init.php | 0 .../lib/swiftmailer/swift_required.php | 0 .../lib/swiftmailer/swift_required_pear.php | 0 .../swiftmailer_generate_mimes_config.php | 0 {public/include => include}/pages/about.inc.php | 0 .../include => include}/pages/about/api.inc.php | 0 .../include => include}/pages/about/chat.inc.php | 0 .../include => include}/pages/about/moot.inc.php | 0 .../include => include}/pages/about/pool.inc.php | 0 .../pages/about/pplns.inc.php | 0 .../include => include}/pages/account.inc.php | 0 .../pages/account/confirm.inc.php | 0 .../pages/account/earnings.inc.php | 0 .../pages/account/edit.inc.php | 0 .../pages/account/invitations.inc.php | 0 .../pages/account/notifications.inc.php | 0 .../pages/account/qrcode.inc.php | 0 .../pages/account/reset_failed.inc.php | 0 .../pages/account/transactions.inc.php | 0 .../pages/account/unlock.inc.php | 0 .../pages/account/workers.inc.php | 0 {public/include => include}/pages/admin.inc.php | 0 .../pages/admin/dashboard.inc.php | 0 .../pages/admin/earnings.inc.php | 0 .../pages/admin/invitations.inc.php | 0 .../pages/admin/monitoring.inc.php | 0 .../include => include}/pages/admin/news.inc.php | 0 .../pages/admin/news_edit.inc.php | 0 .../pages/admin/newsletter.inc.php | 0 .../pages/admin/poolworkers.inc.php | 0 .../pages/admin/registrations.inc.php | 0 .../pages/admin/reports.inc.php | 0 .../pages/admin/settings.inc.php | 0 .../pages/admin/transactions.inc.php | 0 .../include => include}/pages/admin/user.inc.php | 0 .../pages/admin/userdetails.inc.php | 0 .../pages/admin/wallet.inc.php | 0 {public/include => include}/pages/api.inc.php | 0 .../pages/api/getblockcount.inc.php | 0 .../pages/api/getblocksfound.inc.php | 0 .../pages/api/getblockstats.inc.php | 0 .../pages/api/getcronjobstatus.inc.php | 0 .../pages/api/getcurrentworkers.inc.php | 0 .../pages/api/getdashboarddata.inc.php | 0 .../pages/api/getdifficulty.inc.php | 0 .../pages/api/getestimatedtime.inc.php | 0 .../pages/api/gethourlyhashrates.inc.php | 0 .../pages/api/getnavbardata.inc.php | 0 .../pages/api/getpoolhashrate.inc.php | 0 .../pages/api/getpoolinfo.inc.php | 0 .../pages/api/getpoolsharerate.inc.php | 0 .../pages/api/getpoolstatus.inc.php | 0 .../pages/api/gettimesincelastblock.inc.php | 0 .../pages/api/gettopcontributors.inc.php | 0 .../pages/api/getuserbalance.inc.php | 0 .../pages/api/getuserhashrate.inc.php | 0 .../pages/api/getusersharerate.inc.php | 0 .../pages/api/getuserstatus.inc.php | 0 .../pages/api/getusertransactions.inc.php | 0 .../pages/api/getuserworkers.inc.php | 0 .../include => include}/pages/api/public.inc.php | 0 .../pages/contactform.inc.php | 0 .../pages/contactform/contactform.inc.php | 0 .../include => include}/pages/dashboard.inc.php | 0 {public/include => include}/pages/error.inc.php | 0 .../include => include}/pages/error/404.inc.php | 0 .../pages/error/ratelimit.inc.php | 0 .../pages/gettingstarted.inc.php | 0 {public/include => include}/pages/home.inc.php | 0 {public/include => include}/pages/login.inc.php | 0 {public/include => include}/pages/logout.inc.php | 0 {public/include => include}/pages/news.inc.php | 0 .../include => include}/pages/password.inc.php | 0 .../pages/password/change.inc.php | 0 .../pages/password/reset.inc.php | 0 .../include => include}/pages/register.inc.php | 0 .../pages/register/register.inc.php | 0 .../include => include}/pages/statistics.inc.php | 0 .../pages/statistics/blockfinder.inc.php | 0 .../pages/statistics/blocks.inc.php | 0 .../pages/statistics/donors.inc.php | 0 .../pages/statistics/graphs.inc.php | 0 .../pages/statistics/pool.inc.php | 0 .../pages/statistics/round.inc.php | 0 .../pages/statistics/uptime.inc.php | 0 {public/include => include}/pages/tac.inc.php | 0 {public/include => include}/pages/tacpop.inc.php | 0 {public/include => include}/smarty.inc.php | 6 +++--- .../smarty/libs/Smarty.class.php | 0 .../smarty/libs/SmartyBC.class.php | 0 .../include => include}/smarty/libs/debug.tpl | 0 .../smarty/libs/plugins/block.textformat.php | 0 .../smarty/libs/plugins/function.counter.php | 0 .../smarty/libs/plugins/function.cycle.php | 0 .../smarty/libs/plugins/function.fetch.php | 0 .../libs/plugins/function.html_checkboxes.php | 0 .../smarty/libs/plugins/function.html_image.php | 0 .../libs/plugins/function.html_options.php | 0 .../smarty/libs/plugins/function.html_radios.php | 0 .../libs/plugins/function.html_select_date.php | 0 .../libs/plugins/function.html_select_time.php | 0 .../smarty/libs/plugins/function.html_table.php | 0 .../smarty/libs/plugins/function.mailto.php | 0 .../smarty/libs/plugins/function.math.php | 0 .../smarty/libs/plugins/modifier.capitalize.php | 0 .../smarty/libs/plugins/modifier.date_format.php | 0 .../libs/plugins/modifier.debug_print_var.php | 0 .../smarty/libs/plugins/modifier.escape.php | 0 .../libs/plugins/modifier.regex_replace.php | 0 .../libs/plugins/modifier.relative_date.php | 0 .../smarty/libs/plugins/modifier.replace.php | 0 .../libs/plugins/modifier.seconds_to_words.php | 0 .../smarty/libs/plugins/modifier.spacify.php | 0 .../smarty/libs/plugins/modifier.truncate.php | 0 .../smarty/libs/plugins/modifiercompiler.cat.php | 0 .../modifiercompiler.count_characters.php | 0 .../modifiercompiler.count_paragraphs.php | 0 .../plugins/modifiercompiler.count_sentences.php | 0 .../plugins/modifiercompiler.count_words.php | 0 .../libs/plugins/modifiercompiler.default.php | 0 .../libs/plugins/modifiercompiler.escape.php | 0 .../plugins/modifiercompiler.from_charset.php | 0 .../libs/plugins/modifiercompiler.indent.php | 0 .../libs/plugins/modifiercompiler.lower.php | 0 .../libs/plugins/modifiercompiler.noprint.php | 0 .../plugins/modifiercompiler.string_format.php | 0 .../libs/plugins/modifiercompiler.strip.php | 0 .../libs/plugins/modifiercompiler.strip_tags.php | 0 .../libs/plugins/modifiercompiler.to_charset.php | 0 .../libs/plugins/modifiercompiler.unescape.php | 0 .../libs/plugins/modifiercompiler.upper.php | 0 .../libs/plugins/modifiercompiler.wordwrap.php | 0 .../libs/plugins/outputfilter.trimwhitespace.php | 0 .../libs/plugins/shared.escape_special_chars.php | 0 .../plugins/shared.literal_compiler_param.php | 0 .../libs/plugins/shared.make_timestamp.php | 0 .../libs/plugins/shared.mb_str_replace.php | 0 .../smarty/libs/plugins/shared.mb_unicode.php | 0 .../smarty/libs/plugins/shared.mb_wordwrap.php | 0 .../plugins/variablefilter.htmlspecialchars.php | 0 .../libs/sysplugins/smarty_cacheresource.php | 0 .../sysplugins/smarty_cacheresource_custom.php | 0 .../smarty_cacheresource_keyvaluestore.php | 0 .../libs/sysplugins/smarty_config_source.php | 0 .../smarty_internal_cacheresource_file.php | 0 .../smarty_internal_compile_append.php | 0 .../smarty_internal_compile_assign.php | 0 .../sysplugins/smarty_internal_compile_block.php | 0 .../sysplugins/smarty_internal_compile_break.php | 0 .../sysplugins/smarty_internal_compile_call.php | 0 .../smarty_internal_compile_capture.php | 0 .../smarty_internal_compile_config_load.php | 0 .../smarty_internal_compile_continue.php | 0 .../sysplugins/smarty_internal_compile_debug.php | 0 .../sysplugins/smarty_internal_compile_eval.php | 0 .../smarty_internal_compile_extends.php | 0 .../sysplugins/smarty_internal_compile_for.php | 0 .../smarty_internal_compile_foreach.php | 0 .../smarty_internal_compile_function.php | 0 .../sysplugins/smarty_internal_compile_if.php | 0 .../smarty_internal_compile_include.php | 0 .../smarty_internal_compile_include_php.php | 0 .../smarty_internal_compile_insert.php | 0 .../smarty_internal_compile_ldelim.php | 0 .../smarty_internal_compile_nocache.php | 0 ...rty_internal_compile_private_block_plugin.php | 0 ..._internal_compile_private_function_plugin.php | 0 .../smarty_internal_compile_private_modifier.php | 0 ...nal_compile_private_object_block_function.php | 0 ..._internal_compile_private_object_function.php | 0 ...internal_compile_private_print_expression.php | 0 ...internal_compile_private_registered_block.php | 0 ...ernal_compile_private_registered_function.php | 0 ...internal_compile_private_special_variable.php | 0 .../smarty_internal_compile_rdelim.php | 0 .../smarty_internal_compile_section.php | 0 .../smarty_internal_compile_setfilter.php | 0 .../sysplugins/smarty_internal_compile_while.php | 0 .../sysplugins/smarty_internal_compilebase.php | 0 .../libs/sysplugins/smarty_internal_config.php | 0 .../smarty_internal_config_file_compiler.php | 0 .../smarty_internal_configfilelexer.php | 0 .../smarty_internal_configfileparser.php | 0 .../libs/sysplugins/smarty_internal_data.php | 0 .../libs/sysplugins/smarty_internal_debug.php | 0 .../smarty_internal_filter_handler.php | 0 .../smarty_internal_function_call_handler.php | 0 .../smarty_internal_get_include_path.php | 0 .../smarty_internal_nocache_insert.php | 0 .../sysplugins/smarty_internal_parsetree.php | 0 .../sysplugins/smarty_internal_resource_eval.php | 0 .../smarty_internal_resource_extends.php | 0 .../sysplugins/smarty_internal_resource_file.php | 0 .../sysplugins/smarty_internal_resource_php.php | 0 .../smarty_internal_resource_registered.php | 0 .../smarty_internal_resource_stream.php | 0 .../smarty_internal_resource_string.php | 0 .../smarty_internal_smartytemplatecompiler.php | 0 .../libs/sysplugins/smarty_internal_template.php | 0 .../sysplugins/smarty_internal_templatebase.php | 0 .../smarty_internal_templatecompilerbase.php | 0 .../sysplugins/smarty_internal_templatelexer.php | 0 .../smarty_internal_templateparser.php | 0 .../libs/sysplugins/smarty_internal_utility.php | 0 .../sysplugins/smarty_internal_write_file.php | 0 .../smarty/libs/sysplugins/smarty_resource.php | 0 .../libs/sysplugins/smarty_resource_custom.php | 0 .../sysplugins/smarty_resource_recompiled.php | 0 .../sysplugins/smarty_resource_uncompiled.php | 0 .../smarty/libs/sysplugins/smarty_security.php | 0 .../include => include}/smarty_globals.inc.php | 0 {public/include => include}/version.inc.php | 0 public/index.php | 2 +- .../bootstrap/about/api/default.tpl | 0 .../bootstrap/about/chat/default.tpl | 0 .../bootstrap/about/chat/disabled.tpl | 0 .../bootstrap/about/default.tpl | 0 .../bootstrap/about/moot/default.tpl | 0 .../bootstrap/about/moot/disabled.tpl | 0 .../bootstrap/about/pool/default.tpl | 0 .../bootstrap/about/pool/disabled.tpl | 0 .../bootstrap/account/confirm/default.tpl | 0 .../bootstrap/account/default.tpl | 0 .../bootstrap/account/earnings/default.tpl | 0 .../bootstrap/account/edit/cashout.tpl | 0 .../bootstrap/account/edit/default.tpl | 0 .../bootstrap/account/edit/detail.tpl | 0 .../bootstrap/account/edit/password.tpl | 0 .../bootstrap/account/edit/resetpin.tpl | 0 .../bootstrap/account/invitations/default.tpl | 0 .../bootstrap/account/notifications/default.tpl | 0 .../bootstrap/account/qrcode/default.tpl | 0 .../bootstrap/account/qrcode/disabled.tpl | 0 .../bootstrap/account/transactions/default.tpl | 0 .../bootstrap/account/unlock/default.tpl | 0 .../bootstrap/account/workers/default.tpl | 0 .../bootstrap/admin/dashboard/default.tpl | 0 .../bootstrap/admin/dashboard/invitation.tpl | 0 .../bootstrap/admin/dashboard/mpos.tpl | 0 .../bootstrap/admin/dashboard/registrations.tpl | 0 .../bootstrap/admin/dashboard/user.tpl | 0 .../bootstrap/admin/invitations/default.tpl | 0 .../bootstrap/admin/monitoring/default.tpl | 0 .../bootstrap/admin/news/default.tpl | 0 .../bootstrap/admin/news_edit/default.tpl | 0 .../bootstrap/admin/newsletter/default.tpl | 0 .../bootstrap/admin/poolworkers/default.tpl | 0 .../bootstrap/admin/registrations/default.tpl | 0 .../bootstrap/admin/reports/default.tpl | 0 .../bootstrap/admin/reports/earnings_control.tpl | 0 .../bootstrap/admin/reports/earnings_report.tpl | 0 .../bootstrap/admin/settings/default.tpl | 0 .../bootstrap/admin/transactions/default.tpl | 0 .../bootstrap/admin/user/default.tpl | 0 .../bootstrap/admin/userdetails/default.tpl | 0 .../bootstrap/admin/wallet/default.tpl | 0 .../contactform/contactform/default.tpl | 0 .../bootstrap/contactform/default.tpl | 0 .../bootstrap/contactform/disabled.tpl | 0 .../dashboard/account_data/_workers.tpl | 0 .../bootstrap/dashboard/account_data/default.tpl | 0 .../bootstrap/dashboard/default.tpl | 0 .../bootstrap/dashboard/js/api.tpl | 0 .../bootstrap/dashboard/js/static.tpl | 0 .../dashboard/overview/_with_price_graph.tpl | 0 .../dashboard/overview/_without_price_graph.tpl | 0 .../bootstrap/dashboard/overview/default.tpl | 0 .../dashboard/round_statistics/pplns/default.tpl | 0 .../dashboard/round_statistics/pplns/round.tpl | 0 .../dashboard/round_statistics/pplns/shares.tpl | 0 .../dashboard/round_statistics/pps/default.tpl | 0 .../dashboard/round_statistics/pps/round.tpl | 0 .../dashboard/round_statistics/pps/shares.tpl | 0 .../dashboard/round_statistics/prop/default.tpl | 0 .../dashboard/round_statistics/prop/round.tpl | 0 .../dashboard/round_statistics/prop/shares.tpl | 0 .../dashboard/worker_information/default.tpl | 0 .../bootstrap/error/404/default.tpl | 0 .../bootstrap/error/default.tpl | 0 .../bootstrap/error/ratelimit/default.tpl | 0 .../bootstrap/gettingstarted/default.tpl | 0 .../bootstrap/global/footer.tpl | 0 .../bootstrap/global/header.tpl | 0 .../bootstrap/global/navigation.tpl | 0 .../bootstrap/global/navjs_api.tpl | 0 .../bootstrap/global/navjs_static.tpl | 0 .../bootstrap/home/default.tpl | 0 .../bootstrap/home/news_accordion.tpl | 0 .../bootstrap/home/news_all.tpl | 0 .../bootstrap/login/default.tpl | 0 .../templates => templates}/bootstrap/master.tpl | 0 .../bootstrap/password/change/default.tpl | 0 .../bootstrap/password/default.tpl | 0 .../bootstrap/password/reset/empty.tpl | 0 .../bootstrap/register/default.tpl | 0 .../bootstrap/register/disabled.tpl | 0 .../bootstrap/register/register/empty.tpl | 0 .../bootstrap/statistics/blockfinder/default.tpl | 0 .../statistics/blockfinder/finder_own.tpl | 0 .../statistics/blockfinder/finder_top.tpl | 0 .../statistics/blocks/block_overview_time.tpl | 0 .../statistics/blocks/block_shares_graph.tpl | 0 .../statistics/blocks/blocks_found_details.tpl | 0 .../bootstrap/statistics/blocks/default.tpl | 0 .../bootstrap/statistics/blocks/small_table.tpl | 0 .../bootstrap/statistics/default.tpl | 0 .../bootstrap/statistics/donors/default.tpl | 0 .../bootstrap/statistics/donors/disabled.tpl | 0 .../bootstrap/statistics/graphs/both.tpl | 0 .../bootstrap/statistics/graphs/default.tpl | 0 .../bootstrap/statistics/graphs/mine.tpl | 0 .../bootstrap/statistics/graphs/pool.tpl | 0 .../bootstrap/statistics/js.tpl | 0 .../statistics/pool/contributors_hashrate.tpl | 0 .../statistics/pool/contributors_shares.tpl | 0 .../bootstrap/statistics/pool/default.tpl | 0 .../bootstrap/statistics/pool/general_stats.tpl | 0 .../bootstrap/statistics/round/block_stats.tpl | 0 .../bootstrap/statistics/round/default.tpl | 0 .../statistics/round/pplns_block_stats.tpl | 0 .../statistics/round/pplns_block_stats_small.tpl | 0 .../statistics/round/pplns_round_shares.tpl | 0 .../statistics/round/pplns_transactions.tpl | 0 .../round/pplns_transactions_small.tpl | 0 .../bootstrap/statistics/round/round_shares.tpl | 0 .../statistics/round/round_transactions.tpl | 0 .../bootstrap/statistics/uptime/default.tpl | 0 .../bootstrap/tac/content.tpl | 0 .../bootstrap/tac/default.tpl | 0 {public/templates => templates}/cache/README.md | 0 .../templates => templates}/compile/README.md | 0 .../mail/contactform/body.tpl | 0 .../mail/global/footer.tpl | 0 .../mail/global/header.tpl | 0 .../mail/invitations/body.tpl | 0 .../mail/newsletter/body.tpl | 0 .../mail/notifications/account_edit.tpl | 0 .../mail/notifications/change_pw.tpl | 0 .../mail/notifications/error.tpl | 0 .../mail/notifications/idle_worker.tpl | 0 .../mail/notifications/locked.tpl | 0 .../mail/notifications/new_block.tpl | 0 .../mail/notifications/payout.tpl | 0 .../mail/notifications/success_login.tpl | 0 .../mail/notifications/withdraw_funds.tpl | 0 .../mail/password/reset.tpl | 0 .../templates => templates}/mail/pin/reset.tpl | 0 .../mail/register/confirm_email.tpl | 0 {public/templates => templates}/mail/subject.tpl | 0 566 files changed, 27 insertions(+), 27 deletions(-) rename {public/include => include}/admin_checks.php (98%) rename {public/include => include}/autoloader.inc.php (100%) rename {public/include => include}/bootstrap.php (64%) rename {public/include => include}/classes/api.class.php (100%) rename {public/include => include}/classes/base.class.php (100%) rename {public/include => include}/classes/bitcoin.class.php (100%) rename {public/include => include}/classes/bitcoinwrapper.class.php (100%) rename {public/include => include}/classes/block.class.php (100%) rename {public/include => include}/classes/coins/coin_base.class.php (100%) rename {public/include => include}/classes/coins/coin_scrypt.class.php (100%) rename {public/include => include}/classes/coins/coin_sha256d.class.php (100%) rename {public/include => include}/classes/csrftoken.class.php (100%) rename {public/include => include}/classes/debug.class.php (100%) rename {public/include => include}/classes/invitation.class.php (100%) rename {public/include => include}/classes/logger.class.php (100%) rename {public/include => include}/classes/mail.class.php (100%) rename {public/include => include}/classes/memcache_ad.class.php (100%) rename {public/include => include}/classes/memcached.class.php (100%) rename {public/include => include}/classes/monitoring.class.php (100%) rename {public/include => include}/classes/news.class.php (100%) rename {public/include => include}/classes/notification.class.php (100%) rename {public/include => include}/classes/payout.class.php (100%) rename {public/include => include}/classes/roundstats.class.php (100%) rename {public/include => include}/classes/setting.class.php (100%) rename {public/include => include}/classes/share.class.php (100%) rename {public/include => include}/classes/statistics.class.php (100%) rename {public/include => include}/classes/statscache.class.php (100%) rename {public/include => include}/classes/strict.class.php (100%) rename {public/include => include}/classes/template.class.php (95%) rename {public/include => include}/classes/token.class.php (100%) rename {public/include => include}/classes/tokentype.class.php (100%) rename {public/include => include}/classes/tools.class.php (100%) rename {public/include => include}/classes/transaction.class.php (100%) rename {public/include => include}/classes/user.class.php (100%) rename {public/include => include}/classes/worker.class.php (100%) rename {public/include => include}/config/admin_settings.inc.php (100%) rename {public/include => include}/config/error_codes.inc.php (100%) rename {public/include => include}/config/global.inc.dist.php (100%) rename {public/include => include}/config/memcache_keys.inc.php (100%) rename {public/include => include}/config/monitor_crons.inc.php (100%) rename {public/include => include}/config/security.inc.dist.php (100%) rename {public/include => include}/database.inc.php (100%) rename {public/include => include}/lib/KLogger.php (100%) rename {public/include => include}/lib/Michelf/Markdown.php (100%) rename {public/include => include}/lib/Michelf/MarkdownExtra.php (100%) rename {public/include => include}/lib/jsonRPCClient.php (100%) rename {public/include => include}/lib/recaptchalib.php (100%) rename {public/include => include}/lib/scrypt.php (100%) rename {public/include => include}/lib/smarty_plugins/function.acl.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Attachment.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReader/UsAsciiReader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReader/Utf8Reader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReaderFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterStream/ArrayCharacterStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/CharacterStream/NgCharacterStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ConfigurableSpool.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/DependencyContainer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/DependencyException.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/EmbeddedFile.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Encoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Encoder/Base64Encoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Encoder/QpEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Encoder/Rfc2231Encoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Encoding.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/CommandEvent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/CommandListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/Event.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/EventDispatcher.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/EventListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/EventObject.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/ResponseEvent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/ResponseListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/SendEvent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/SendListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/TransportChangeEvent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/TransportChangeListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/TransportExceptionEvent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Events/TransportExceptionListener.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/FailoverTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/FileSpool.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/FileStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Filterable.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Image.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/InputByteStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/IoException.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache/ArrayKeyCache.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache/DiskKeyCache.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache/KeyCacheInputStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache/NullKeyCache.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/LoadBalancedTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/MailTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mailer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mailer/ArrayRecipientIterator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mailer/RecipientIterator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/MemorySpool.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Message.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Attachment.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/CharsetObserver.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/EmbeddedFile.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/EncodingObserver.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Grammar.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Header.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/HeaderFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/HeaderSet.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/AbstractHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/DateHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/IdentificationHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/OpenDKIMHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/ParameterizedHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/PathHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Headers/UnstructuredHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/Message.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/MimeEntity.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/MimePart.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/ParameterizedHeader.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/SimpleMessage.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/MimePart.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/NullTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/OutputByteStream.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/AntiFloodPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Decorator/Replacements.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/DecoratorPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/ImpersonatePlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Logger.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/LoggerPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Loggers/ArrayLogger.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Loggers/EchoLogger.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/MessageLogger.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Connection.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Exception.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/RedirectingPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Reporter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/ReporterPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Reporters/HitReporter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Reporters/HtmlReporter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Sleeper.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/ThrottlerPlugin.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Plugins/Timer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Preferences.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/ReplacementFilterFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/RfcComplianceException.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/SendmailTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/SignedMessage.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/BodySigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/DKIMSigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/DomainKeySigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/HeaderSigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/OpenDKIMSigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Signers/SMimeSigner.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/SmtpTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Spool.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/SpoolTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/StreamFilter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilter.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/SwiftException.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/AuthHandler.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/Esmtp/Authenticator.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/EsmtpHandler.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/EsmtpTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/FailoverTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/IoBuffer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/LoadBalancedTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/MailInvoker.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/MailTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/NullTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/SendmailTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/SmtpAgent.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/SpoolTransport.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Transport/StreamBuffer.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/TransportException.php (100%) rename {public/include => include}/lib/swiftmailer/classes/Swift/Validate.php (100%) rename {public/include => include}/lib/swiftmailer/dependency_maps/cache_deps.php (100%) rename {public/include => include}/lib/swiftmailer/dependency_maps/message_deps.php (100%) rename {public/include => include}/lib/swiftmailer/dependency_maps/mime_deps.php (100%) rename {public/include => include}/lib/swiftmailer/dependency_maps/transport_deps.php (100%) rename {public/include => include}/lib/swiftmailer/mime_types.php (100%) rename {public/include => include}/lib/swiftmailer/preferences.php (100%) rename {public/include => include}/lib/swiftmailer/swift_init.php (100%) rename {public/include => include}/lib/swiftmailer/swift_required.php (100%) rename {public/include => include}/lib/swiftmailer/swift_required_pear.php (100%) rename {public/include => include}/lib/swiftmailer/swiftmailer_generate_mimes_config.php (100%) rename {public/include => include}/pages/about.inc.php (100%) rename {public/include => include}/pages/about/api.inc.php (100%) rename {public/include => include}/pages/about/chat.inc.php (100%) rename {public/include => include}/pages/about/moot.inc.php (100%) rename {public/include => include}/pages/about/pool.inc.php (100%) rename {public/include => include}/pages/about/pplns.inc.php (100%) rename {public/include => include}/pages/account.inc.php (100%) rename {public/include => include}/pages/account/confirm.inc.php (100%) rename {public/include => include}/pages/account/earnings.inc.php (100%) rename {public/include => include}/pages/account/edit.inc.php (100%) rename {public/include => include}/pages/account/invitations.inc.php (100%) rename {public/include => include}/pages/account/notifications.inc.php (100%) rename {public/include => include}/pages/account/qrcode.inc.php (100%) rename {public/include => include}/pages/account/reset_failed.inc.php (100%) rename {public/include => include}/pages/account/transactions.inc.php (100%) rename {public/include => include}/pages/account/unlock.inc.php (100%) rename {public/include => include}/pages/account/workers.inc.php (100%) rename {public/include => include}/pages/admin.inc.php (100%) rename {public/include => include}/pages/admin/dashboard.inc.php (100%) rename {public/include => include}/pages/admin/earnings.inc.php (100%) rename {public/include => include}/pages/admin/invitations.inc.php (100%) rename {public/include => include}/pages/admin/monitoring.inc.php (100%) rename {public/include => include}/pages/admin/news.inc.php (100%) rename {public/include => include}/pages/admin/news_edit.inc.php (100%) rename {public/include => include}/pages/admin/newsletter.inc.php (100%) rename {public/include => include}/pages/admin/poolworkers.inc.php (100%) rename {public/include => include}/pages/admin/registrations.inc.php (100%) rename {public/include => include}/pages/admin/reports.inc.php (100%) rename {public/include => include}/pages/admin/settings.inc.php (100%) rename {public/include => include}/pages/admin/transactions.inc.php (100%) rename {public/include => include}/pages/admin/user.inc.php (100%) rename {public/include => include}/pages/admin/userdetails.inc.php (100%) rename {public/include => include}/pages/admin/wallet.inc.php (100%) rename {public/include => include}/pages/api.inc.php (100%) rename {public/include => include}/pages/api/getblockcount.inc.php (100%) rename {public/include => include}/pages/api/getblocksfound.inc.php (100%) rename {public/include => include}/pages/api/getblockstats.inc.php (100%) rename {public/include => include}/pages/api/getcronjobstatus.inc.php (100%) rename {public/include => include}/pages/api/getcurrentworkers.inc.php (100%) rename {public/include => include}/pages/api/getdashboarddata.inc.php (100%) rename {public/include => include}/pages/api/getdifficulty.inc.php (100%) rename {public/include => include}/pages/api/getestimatedtime.inc.php (100%) rename {public/include => include}/pages/api/gethourlyhashrates.inc.php (100%) rename {public/include => include}/pages/api/getnavbardata.inc.php (100%) rename {public/include => include}/pages/api/getpoolhashrate.inc.php (100%) rename {public/include => include}/pages/api/getpoolinfo.inc.php (100%) rename {public/include => include}/pages/api/getpoolsharerate.inc.php (100%) rename {public/include => include}/pages/api/getpoolstatus.inc.php (100%) rename {public/include => include}/pages/api/gettimesincelastblock.inc.php (100%) rename {public/include => include}/pages/api/gettopcontributors.inc.php (100%) rename {public/include => include}/pages/api/getuserbalance.inc.php (100%) rename {public/include => include}/pages/api/getuserhashrate.inc.php (100%) rename {public/include => include}/pages/api/getusersharerate.inc.php (100%) rename {public/include => include}/pages/api/getuserstatus.inc.php (100%) rename {public/include => include}/pages/api/getusertransactions.inc.php (100%) rename {public/include => include}/pages/api/getuserworkers.inc.php (100%) rename {public/include => include}/pages/api/public.inc.php (100%) rename {public/include => include}/pages/contactform.inc.php (100%) rename {public/include => include}/pages/contactform/contactform.inc.php (100%) rename {public/include => include}/pages/dashboard.inc.php (100%) rename {public/include => include}/pages/error.inc.php (100%) rename {public/include => include}/pages/error/404.inc.php (100%) rename {public/include => include}/pages/error/ratelimit.inc.php (100%) rename {public/include => include}/pages/gettingstarted.inc.php (100%) rename {public/include => include}/pages/home.inc.php (100%) rename {public/include => include}/pages/login.inc.php (100%) rename {public/include => include}/pages/logout.inc.php (100%) rename {public/include => include}/pages/news.inc.php (100%) rename {public/include => include}/pages/password.inc.php (100%) rename {public/include => include}/pages/password/change.inc.php (100%) rename {public/include => include}/pages/password/reset.inc.php (100%) rename {public/include => include}/pages/register.inc.php (100%) rename {public/include => include}/pages/register/register.inc.php (100%) rename {public/include => include}/pages/statistics.inc.php (100%) rename {public/include => include}/pages/statistics/blockfinder.inc.php (100%) rename {public/include => include}/pages/statistics/blocks.inc.php (100%) rename {public/include => include}/pages/statistics/donors.inc.php (100%) rename {public/include => include}/pages/statistics/graphs.inc.php (100%) rename {public/include => include}/pages/statistics/pool.inc.php (100%) rename {public/include => include}/pages/statistics/round.inc.php (100%) rename {public/include => include}/pages/statistics/uptime.inc.php (100%) rename {public/include => include}/pages/tac.inc.php (100%) rename {public/include => include}/pages/tacpop.inc.php (100%) rename {public/include => include}/smarty.inc.php (82%) rename {public/include => include}/smarty/libs/Smarty.class.php (100%) rename {public/include => include}/smarty/libs/SmartyBC.class.php (100%) rename {public/include => include}/smarty/libs/debug.tpl (100%) rename {public/include => include}/smarty/libs/plugins/block.textformat.php (100%) rename {public/include => include}/smarty/libs/plugins/function.counter.php (100%) rename {public/include => include}/smarty/libs/plugins/function.cycle.php (100%) rename {public/include => include}/smarty/libs/plugins/function.fetch.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_checkboxes.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_image.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_options.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_radios.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_select_date.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_select_time.php (100%) rename {public/include => include}/smarty/libs/plugins/function.html_table.php (100%) rename {public/include => include}/smarty/libs/plugins/function.mailto.php (100%) rename {public/include => include}/smarty/libs/plugins/function.math.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.capitalize.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.date_format.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.debug_print_var.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.escape.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.regex_replace.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.relative_date.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.replace.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.seconds_to_words.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.spacify.php (100%) rename {public/include => include}/smarty/libs/plugins/modifier.truncate.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.cat.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.count_characters.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.count_paragraphs.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.count_sentences.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.count_words.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.default.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.escape.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.from_charset.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.indent.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.lower.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.noprint.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.string_format.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.strip.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.strip_tags.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.to_charset.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.unescape.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.upper.php (100%) rename {public/include => include}/smarty/libs/plugins/modifiercompiler.wordwrap.php (100%) rename {public/include => include}/smarty/libs/plugins/outputfilter.trimwhitespace.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.escape_special_chars.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.literal_compiler_param.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.make_timestamp.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.mb_str_replace.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.mb_unicode.php (100%) rename {public/include => include}/smarty/libs/plugins/shared.mb_wordwrap.php (100%) rename {public/include => include}/smarty/libs/plugins/variablefilter.htmlspecialchars.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_cacheresource.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_cacheresource_custom.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_config_source.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_append.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_assign.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_block.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_break.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_call.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_capture.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_config_load.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_continue.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_debug.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_eval.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_extends.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_for.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_foreach.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_function.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_if.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_include.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_include_php.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_insert.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_nocache.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_section.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compile_while.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_compilebase.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_config.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_configfilelexer.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_configfileparser.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_data.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_debug.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_filter_handler.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_function_call_handler.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_get_include_path.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_nocache_insert.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_parsetree.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_eval.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_extends.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_file.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_php.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_registered.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_stream.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_resource_string.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_template.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_templatebase.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_templatelexer.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_templateparser.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_utility.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_internal_write_file.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_resource.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_resource_custom.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_resource_recompiled.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_resource_uncompiled.php (100%) rename {public/include => include}/smarty/libs/sysplugins/smarty_security.php (100%) rename {public/include => include}/smarty_globals.inc.php (100%) rename {public/include => include}/version.inc.php (100%) rename {public/templates => templates}/bootstrap/about/api/default.tpl (100%) rename {public/templates => templates}/bootstrap/about/chat/default.tpl (100%) rename {public/templates => templates}/bootstrap/about/chat/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/about/default.tpl (100%) rename {public/templates => templates}/bootstrap/about/moot/default.tpl (100%) rename {public/templates => templates}/bootstrap/about/moot/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/about/pool/default.tpl (100%) rename {public/templates => templates}/bootstrap/about/pool/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/account/confirm/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/earnings/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/edit/cashout.tpl (100%) rename {public/templates => templates}/bootstrap/account/edit/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/edit/detail.tpl (100%) rename {public/templates => templates}/bootstrap/account/edit/password.tpl (100%) rename {public/templates => templates}/bootstrap/account/edit/resetpin.tpl (100%) rename {public/templates => templates}/bootstrap/account/invitations/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/notifications/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/qrcode/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/qrcode/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/account/transactions/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/unlock/default.tpl (100%) rename {public/templates => templates}/bootstrap/account/workers/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/dashboard/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/dashboard/invitation.tpl (100%) rename {public/templates => templates}/bootstrap/admin/dashboard/mpos.tpl (100%) rename {public/templates => templates}/bootstrap/admin/dashboard/registrations.tpl (100%) rename {public/templates => templates}/bootstrap/admin/dashboard/user.tpl (100%) rename {public/templates => templates}/bootstrap/admin/invitations/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/monitoring/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/news/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/news_edit/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/newsletter/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/poolworkers/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/registrations/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/reports/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/reports/earnings_control.tpl (100%) rename {public/templates => templates}/bootstrap/admin/reports/earnings_report.tpl (100%) rename {public/templates => templates}/bootstrap/admin/settings/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/transactions/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/user/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/userdetails/default.tpl (100%) rename {public/templates => templates}/bootstrap/admin/wallet/default.tpl (100%) rename {public/templates => templates}/bootstrap/contactform/contactform/default.tpl (100%) rename {public/templates => templates}/bootstrap/contactform/default.tpl (100%) rename {public/templates => templates}/bootstrap/contactform/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/account_data/_workers.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/account_data/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/js/api.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/js/static.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/overview/_with_price_graph.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/overview/_without_price_graph.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/overview/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pplns/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pplns/round.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pplns/shares.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pps/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pps/round.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/pps/shares.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/prop/default.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/prop/round.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/round_statistics/prop/shares.tpl (100%) rename {public/templates => templates}/bootstrap/dashboard/worker_information/default.tpl (100%) rename {public/templates => templates}/bootstrap/error/404/default.tpl (100%) rename {public/templates => templates}/bootstrap/error/default.tpl (100%) rename {public/templates => templates}/bootstrap/error/ratelimit/default.tpl (100%) rename {public/templates => templates}/bootstrap/gettingstarted/default.tpl (100%) rename {public/templates => templates}/bootstrap/global/footer.tpl (100%) rename {public/templates => templates}/bootstrap/global/header.tpl (100%) rename {public/templates => templates}/bootstrap/global/navigation.tpl (100%) rename {public/templates => templates}/bootstrap/global/navjs_api.tpl (100%) rename {public/templates => templates}/bootstrap/global/navjs_static.tpl (100%) rename {public/templates => templates}/bootstrap/home/default.tpl (100%) rename {public/templates => templates}/bootstrap/home/news_accordion.tpl (100%) rename {public/templates => templates}/bootstrap/home/news_all.tpl (100%) rename {public/templates => templates}/bootstrap/login/default.tpl (100%) rename {public/templates => templates}/bootstrap/master.tpl (100%) rename {public/templates => templates}/bootstrap/password/change/default.tpl (100%) rename {public/templates => templates}/bootstrap/password/default.tpl (100%) rename {public/templates => templates}/bootstrap/password/reset/empty.tpl (100%) rename {public/templates => templates}/bootstrap/register/default.tpl (100%) rename {public/templates => templates}/bootstrap/register/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/register/register/empty.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blockfinder/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blockfinder/finder_own.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blockfinder/finder_top.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blocks/block_overview_time.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blocks/block_shares_graph.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blocks/blocks_found_details.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blocks/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/blocks/small_table.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/donors/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/donors/disabled.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/graphs/both.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/graphs/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/graphs/mine.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/graphs/pool.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/js.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/pool/contributors_hashrate.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/pool/contributors_shares.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/pool/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/pool/general_stats.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/block_stats.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/default.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/pplns_block_stats.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/pplns_block_stats_small.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/pplns_round_shares.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/pplns_transactions.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/pplns_transactions_small.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/round_shares.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/round/round_transactions.tpl (100%) rename {public/templates => templates}/bootstrap/statistics/uptime/default.tpl (100%) rename {public/templates => templates}/bootstrap/tac/content.tpl (100%) rename {public/templates => templates}/bootstrap/tac/default.tpl (100%) rename {public/templates => templates}/cache/README.md (100%) rename {public/templates => templates}/compile/README.md (100%) rename {public/templates => templates}/mail/contactform/body.tpl (100%) rename {public/templates => templates}/mail/global/footer.tpl (100%) rename {public/templates => templates}/mail/global/header.tpl (100%) rename {public/templates => templates}/mail/invitations/body.tpl (100%) rename {public/templates => templates}/mail/newsletter/body.tpl (100%) rename {public/templates => templates}/mail/notifications/account_edit.tpl (100%) rename {public/templates => templates}/mail/notifications/change_pw.tpl (100%) rename {public/templates => templates}/mail/notifications/error.tpl (100%) rename {public/templates => templates}/mail/notifications/idle_worker.tpl (100%) rename {public/templates => templates}/mail/notifications/locked.tpl (100%) rename {public/templates => templates}/mail/notifications/new_block.tpl (100%) rename {public/templates => templates}/mail/notifications/payout.tpl (100%) rename {public/templates => templates}/mail/notifications/success_login.tpl (100%) rename {public/templates => templates}/mail/notifications/withdraw_funds.tpl (100%) rename {public/templates => templates}/mail/password/reset.tpl (100%) rename {public/templates => templates}/mail/pin/reset.tpl (100%) rename {public/templates => templates}/mail/register/confirm_email.tpl (100%) rename {public/templates => templates}/mail/subject.tpl (100%) diff --git a/.gitignore b/.gitignore index 67ef85d9..c669bc09 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1,12 @@ # Local Config -/public/include/config/global.inc.php -/public/include/config/security.inc.php +/include/config/global.inc.php +/include/config/security.inc.php # Templates -/public/templates/compile/*.php -/public/templates/compile/** -/public/templates/cache/*.php -/public/templates/cache/** +/templates/compile/*.php +/templates/compile/** +/templates/cache/*.php +/templates/cache/** # Logs /cronjobs/logs @@ -14,8 +14,8 @@ /logs/* # Test configs -public/include/config/global.inc.scrypt.php -public/include/config/global.inc.sha.php +/include/config/global.inc.scrypt.php +/include/config/global.inc.sha.php # IDE Settings /.idea/* diff --git a/public/include/admin_checks.php b/include/admin_checks.php similarity index 98% rename from public/include/admin_checks.php rename to include/admin_checks.php index 179d873a..4ae439a7 100644 --- a/public/include/admin_checks.php +++ b/include/admin_checks.php @@ -53,10 +53,10 @@ if (@$_SESSION['USERDATA']['is_admin'] && $user->isAdmin(@$_SESSION['USERDATA'][ } // check if we can write templates/cache and templates/compile -> error - if (!is_writable(THEME_DIR.'/cache')) { + if (!is_writable(TEMPLATE_DIR . '/cache')) { $error[] = "templates/cache folder is not writable for uid {$apache_user['name']}"; } - if (!is_writable(THEME_DIR.'/compile')) { + if (!is_writable(TEMPLATE_DIR . '/compile')) { $error[] = "templates/compile folder is not writable for uid {$apache_user['name']}"; } diff --git a/public/include/autoloader.inc.php b/include/autoloader.inc.php similarity index 100% rename from public/include/autoloader.inc.php rename to include/autoloader.inc.php diff --git a/public/include/bootstrap.php b/include/bootstrap.php similarity index 64% rename from public/include/bootstrap.php rename to include/bootstrap.php index fe6a9d02..e0fbf08e 100644 --- a/public/include/bootstrap.php +++ b/include/bootstrap.php @@ -3,20 +3,20 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; // Used for performance calculations $dStartTime = microtime(true); -define('INCLUDE_DIR', BASEPATH . 'include'); +define('INCLUDE_DIR', BASEPATH . '../include'); define('CLASS_DIR', INCLUDE_DIR . '/classes'); define('PAGES_DIR', INCLUDE_DIR . '/pages'); -define('THEME_DIR', BASEPATH . 'templates'); +define('TEMPLATE_DIR', BASEPATH . '../templates'); $quickstartlink = "Quick Start Guide"; // Include our configuration (holding defines for the requires) -if (!include_once(BASEPATH . 'include/config/global.inc.dist.php')) die('Unable to load base global config from ['.BASEPATH . 'include/config/global.inc.dist.php' . '] - '.$quickstartlink); -if (!@include_once(BASEPATH . 'include/config/global.inc.php')) die('Unable to load your global config from ['.BASEPATH . 'include/config/global.inc.php' . '] - '.$quickstartlink); +if (!include_once(INCLUDE_DIR . '/config/global.inc.dist.php')) die('Unable to load base global config from ['.INCLUDE_DIR. '/config/global.inc.dist.php' . '] - '.$quickstartlink); +if (!@include_once(INCLUDE_DIR . '/config/global.inc.php')) die('Unable to load your global config from ['.INCLUDE_DIR. '/config/global.inc.php' . '] - '.$quickstartlink); // load our security configs -if (!include_once(BASEPATH . 'include/config/security.inc.dist.php')) die('Unable to load base security config from ['.BASEPATH . 'include/config/security.inc.dist.php' . '] - '.$quickstartlink); -if (@file_exists(BASEPATH . 'include/config/security.inc.php')) include_once(BASEPATH . 'include/config/security.inc.php'); +if (!include_once(INCLUDE_DIR . '/config/security.inc.dist.php')) die('Unable to load base security config from ['.INCLUDE_DIR. '/config/security.inc.dist.php' . '] - '.$quickstartlink); +if (@file_exists(INCLUDE_DIR . '/config/security.inc.php')) include_once(INCLUDE_DIR . '/config/security.inc.php'); // start our session, we need it for smarty caching session_set_cookie_params(time()+$config['cookie']['duration'], $config['cookie']['path'], $config['cookie']['domain'], $config['cookie']['secure'], $config['cookie']['httponly']); @@ -36,4 +36,4 @@ $master_template = 'master.tpl'; // We include all needed files here, even though our templates could load them themself require_once(INCLUDE_DIR . '/autoloader.inc.php'); -?> \ No newline at end of file +?> diff --git a/public/include/classes/api.class.php b/include/classes/api.class.php similarity index 100% rename from public/include/classes/api.class.php rename to include/classes/api.class.php diff --git a/public/include/classes/base.class.php b/include/classes/base.class.php similarity index 100% rename from public/include/classes/base.class.php rename to include/classes/base.class.php diff --git a/public/include/classes/bitcoin.class.php b/include/classes/bitcoin.class.php similarity index 100% rename from public/include/classes/bitcoin.class.php rename to include/classes/bitcoin.class.php diff --git a/public/include/classes/bitcoinwrapper.class.php b/include/classes/bitcoinwrapper.class.php similarity index 100% rename from public/include/classes/bitcoinwrapper.class.php rename to include/classes/bitcoinwrapper.class.php diff --git a/public/include/classes/block.class.php b/include/classes/block.class.php similarity index 100% rename from public/include/classes/block.class.php rename to include/classes/block.class.php diff --git a/public/include/classes/coins/coin_base.class.php b/include/classes/coins/coin_base.class.php similarity index 100% rename from public/include/classes/coins/coin_base.class.php rename to include/classes/coins/coin_base.class.php diff --git a/public/include/classes/coins/coin_scrypt.class.php b/include/classes/coins/coin_scrypt.class.php similarity index 100% rename from public/include/classes/coins/coin_scrypt.class.php rename to include/classes/coins/coin_scrypt.class.php diff --git a/public/include/classes/coins/coin_sha256d.class.php b/include/classes/coins/coin_sha256d.class.php similarity index 100% rename from public/include/classes/coins/coin_sha256d.class.php rename to include/classes/coins/coin_sha256d.class.php diff --git a/public/include/classes/csrftoken.class.php b/include/classes/csrftoken.class.php similarity index 100% rename from public/include/classes/csrftoken.class.php rename to include/classes/csrftoken.class.php diff --git a/public/include/classes/debug.class.php b/include/classes/debug.class.php similarity index 100% rename from public/include/classes/debug.class.php rename to include/classes/debug.class.php diff --git a/public/include/classes/invitation.class.php b/include/classes/invitation.class.php similarity index 100% rename from public/include/classes/invitation.class.php rename to include/classes/invitation.class.php diff --git a/public/include/classes/logger.class.php b/include/classes/logger.class.php similarity index 100% rename from public/include/classes/logger.class.php rename to include/classes/logger.class.php diff --git a/public/include/classes/mail.class.php b/include/classes/mail.class.php similarity index 100% rename from public/include/classes/mail.class.php rename to include/classes/mail.class.php diff --git a/public/include/classes/memcache_ad.class.php b/include/classes/memcache_ad.class.php similarity index 100% rename from public/include/classes/memcache_ad.class.php rename to include/classes/memcache_ad.class.php diff --git a/public/include/classes/memcached.class.php b/include/classes/memcached.class.php similarity index 100% rename from public/include/classes/memcached.class.php rename to include/classes/memcached.class.php diff --git a/public/include/classes/monitoring.class.php b/include/classes/monitoring.class.php similarity index 100% rename from public/include/classes/monitoring.class.php rename to include/classes/monitoring.class.php diff --git a/public/include/classes/news.class.php b/include/classes/news.class.php similarity index 100% rename from public/include/classes/news.class.php rename to include/classes/news.class.php diff --git a/public/include/classes/notification.class.php b/include/classes/notification.class.php similarity index 100% rename from public/include/classes/notification.class.php rename to include/classes/notification.class.php diff --git a/public/include/classes/payout.class.php b/include/classes/payout.class.php similarity index 100% rename from public/include/classes/payout.class.php rename to include/classes/payout.class.php diff --git a/public/include/classes/roundstats.class.php b/include/classes/roundstats.class.php similarity index 100% rename from public/include/classes/roundstats.class.php rename to include/classes/roundstats.class.php diff --git a/public/include/classes/setting.class.php b/include/classes/setting.class.php similarity index 100% rename from public/include/classes/setting.class.php rename to include/classes/setting.class.php diff --git a/public/include/classes/share.class.php b/include/classes/share.class.php similarity index 100% rename from public/include/classes/share.class.php rename to include/classes/share.class.php diff --git a/public/include/classes/statistics.class.php b/include/classes/statistics.class.php similarity index 100% rename from public/include/classes/statistics.class.php rename to include/classes/statistics.class.php diff --git a/public/include/classes/statscache.class.php b/include/classes/statscache.class.php similarity index 100% rename from public/include/classes/statscache.class.php rename to include/classes/statscache.class.php diff --git a/public/include/classes/strict.class.php b/include/classes/strict.class.php similarity index 100% rename from public/include/classes/strict.class.php rename to include/classes/strict.class.php diff --git a/public/include/classes/template.class.php b/include/classes/template.class.php similarity index 95% rename from public/include/classes/template.class.php rename to include/classes/template.class.php index fd0eea58..dac32fdd 100644 --- a/public/include/classes/template.class.php +++ b/include/classes/template.class.php @@ -17,13 +17,13 @@ class Template extends Base { /** * Get all available themes - * Read theme folders from THEME_DIR + * Read theme folders from TEMPLATE_DIR * * @return array - list of available themes */ public function getThemes() { $this->debug->append("STA " . __METHOD__, 4); - $aTmpThemes = glob(THEME_DIR . '/*'); + $aTmpThemes = glob(TEMPLATE_DIR . '/*'); $aThemes = array(); foreach ($aTmpThemes as $dir) { if (basename($dir) != 'cache' && basename($dir) != 'compile' && basename($dir) != 'mail') $aThemes[basename($dir)] = basename($dir); @@ -86,12 +86,12 @@ class Template extends Base { /** * Return the content of specific template file * - * @param $file - file of template related to THEME_DIR + * @param $file - file of template related to TEMPLATE_DIR * @return string - content of the template file */ public function getTemplateContent($file) { $this->debug->append("STA " . __METHOD__, 4); - $filepath = THEME_DIR . '/' . $file; + $filepath = TEMPLATE_DIR . '/' . $file; return file_get_contents($filepath); } @@ -103,7 +103,7 @@ class Template extends Base { */ public function getTemplateFiles($theme) { $this->debug->append("STA " . __METHOD__, 4); - $folder = THEME_DIR . '/' . $theme; + $folder = TEMPLATE_DIR . '/' . $theme; $dir = new RecursiveDirectoryIterator($folder); $ite = new RecursiveIteratorIterator($dir); @@ -130,7 +130,7 @@ class Template extends Base { $templates = array(); foreach($themes as $theme) { - $templates[$theme] = $this->_getTemplatesTreeRecursive(THEME_DIR . '/' . $theme); + $templates[$theme] = $this->_getTemplatesTreeRecursive(TEMPLATE_DIR . '/' . $theme); } return $templates; diff --git a/public/include/classes/token.class.php b/include/classes/token.class.php similarity index 100% rename from public/include/classes/token.class.php rename to include/classes/token.class.php diff --git a/public/include/classes/tokentype.class.php b/include/classes/tokentype.class.php similarity index 100% rename from public/include/classes/tokentype.class.php rename to include/classes/tokentype.class.php diff --git a/public/include/classes/tools.class.php b/include/classes/tools.class.php similarity index 100% rename from public/include/classes/tools.class.php rename to include/classes/tools.class.php diff --git a/public/include/classes/transaction.class.php b/include/classes/transaction.class.php similarity index 100% rename from public/include/classes/transaction.class.php rename to include/classes/transaction.class.php diff --git a/public/include/classes/user.class.php b/include/classes/user.class.php similarity index 100% rename from public/include/classes/user.class.php rename to include/classes/user.class.php diff --git a/public/include/classes/worker.class.php b/include/classes/worker.class.php similarity index 100% rename from public/include/classes/worker.class.php rename to include/classes/worker.class.php diff --git a/public/include/config/admin_settings.inc.php b/include/config/admin_settings.inc.php similarity index 100% rename from public/include/config/admin_settings.inc.php rename to include/config/admin_settings.inc.php diff --git a/public/include/config/error_codes.inc.php b/include/config/error_codes.inc.php similarity index 100% rename from public/include/config/error_codes.inc.php rename to include/config/error_codes.inc.php diff --git a/public/include/config/global.inc.dist.php b/include/config/global.inc.dist.php similarity index 100% rename from public/include/config/global.inc.dist.php rename to include/config/global.inc.dist.php diff --git a/public/include/config/memcache_keys.inc.php b/include/config/memcache_keys.inc.php similarity index 100% rename from public/include/config/memcache_keys.inc.php rename to include/config/memcache_keys.inc.php diff --git a/public/include/config/monitor_crons.inc.php b/include/config/monitor_crons.inc.php similarity index 100% rename from public/include/config/monitor_crons.inc.php rename to include/config/monitor_crons.inc.php diff --git a/public/include/config/security.inc.dist.php b/include/config/security.inc.dist.php similarity index 100% rename from public/include/config/security.inc.dist.php rename to include/config/security.inc.dist.php diff --git a/public/include/database.inc.php b/include/database.inc.php similarity index 100% rename from public/include/database.inc.php rename to include/database.inc.php diff --git a/public/include/lib/KLogger.php b/include/lib/KLogger.php similarity index 100% rename from public/include/lib/KLogger.php rename to include/lib/KLogger.php diff --git a/public/include/lib/Michelf/Markdown.php b/include/lib/Michelf/Markdown.php similarity index 100% rename from public/include/lib/Michelf/Markdown.php rename to include/lib/Michelf/Markdown.php diff --git a/public/include/lib/Michelf/MarkdownExtra.php b/include/lib/Michelf/MarkdownExtra.php similarity index 100% rename from public/include/lib/Michelf/MarkdownExtra.php rename to include/lib/Michelf/MarkdownExtra.php diff --git a/public/include/lib/jsonRPCClient.php b/include/lib/jsonRPCClient.php similarity index 100% rename from public/include/lib/jsonRPCClient.php rename to include/lib/jsonRPCClient.php diff --git a/public/include/lib/recaptchalib.php b/include/lib/recaptchalib.php similarity index 100% rename from public/include/lib/recaptchalib.php rename to include/lib/recaptchalib.php diff --git a/public/include/lib/scrypt.php b/include/lib/scrypt.php similarity index 100% rename from public/include/lib/scrypt.php rename to include/lib/scrypt.php diff --git a/public/include/lib/smarty_plugins/function.acl.php b/include/lib/smarty_plugins/function.acl.php similarity index 100% rename from public/include/lib/smarty_plugins/function.acl.php rename to include/lib/smarty_plugins/function.acl.php diff --git a/public/include/lib/swiftmailer/classes/Swift.php b/include/lib/swiftmailer/classes/Swift.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift.php rename to include/lib/swiftmailer/classes/Swift.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Attachment.php b/include/lib/swiftmailer/classes/Swift/Attachment.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Attachment.php rename to include/lib/swiftmailer/classes/Swift/Attachment.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php b/include/lib/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php rename to include/lib/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php b/include/lib/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php rename to include/lib/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php b/include/lib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php rename to include/lib/swiftmailer/classes/Swift/ByteStream/FileByteStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php b/include/lib/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php rename to include/lib/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReader.php b/include/lib/swiftmailer/classes/Swift/CharacterReader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReader.php rename to include/lib/swiftmailer/classes/Swift/CharacterReader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php b/include/lib/swiftmailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php rename to include/lib/swiftmailer/classes/Swift/CharacterReader/GenericFixedWidthReader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReader/UsAsciiReader.php b/include/lib/swiftmailer/classes/Swift/CharacterReader/UsAsciiReader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReader/UsAsciiReader.php rename to include/lib/swiftmailer/classes/Swift/CharacterReader/UsAsciiReader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReader/Utf8Reader.php b/include/lib/swiftmailer/classes/Swift/CharacterReader/Utf8Reader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReader/Utf8Reader.php rename to include/lib/swiftmailer/classes/Swift/CharacterReader/Utf8Reader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory.php b/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory.php rename to include/lib/swiftmailer/classes/Swift/CharacterReaderFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php b/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php rename to include/lib/swiftmailer/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterStream.php b/include/lib/swiftmailer/classes/Swift/CharacterStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterStream.php rename to include/lib/swiftmailer/classes/Swift/CharacterStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterStream/ArrayCharacterStream.php b/include/lib/swiftmailer/classes/Swift/CharacterStream/ArrayCharacterStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterStream/ArrayCharacterStream.php rename to include/lib/swiftmailer/classes/Swift/CharacterStream/ArrayCharacterStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/CharacterStream/NgCharacterStream.php b/include/lib/swiftmailer/classes/Swift/CharacterStream/NgCharacterStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/CharacterStream/NgCharacterStream.php rename to include/lib/swiftmailer/classes/Swift/CharacterStream/NgCharacterStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ConfigurableSpool.php b/include/lib/swiftmailer/classes/Swift/ConfigurableSpool.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ConfigurableSpool.php rename to include/lib/swiftmailer/classes/Swift/ConfigurableSpool.php diff --git a/public/include/lib/swiftmailer/classes/Swift/DependencyContainer.php b/include/lib/swiftmailer/classes/Swift/DependencyContainer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/DependencyContainer.php rename to include/lib/swiftmailer/classes/Swift/DependencyContainer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/DependencyException.php b/include/lib/swiftmailer/classes/Swift/DependencyException.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/DependencyException.php rename to include/lib/swiftmailer/classes/Swift/DependencyException.php diff --git a/public/include/lib/swiftmailer/classes/Swift/EmbeddedFile.php b/include/lib/swiftmailer/classes/Swift/EmbeddedFile.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/EmbeddedFile.php rename to include/lib/swiftmailer/classes/Swift/EmbeddedFile.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Encoder.php b/include/lib/swiftmailer/classes/Swift/Encoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Encoder.php rename to include/lib/swiftmailer/classes/Swift/Encoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Encoder/Base64Encoder.php b/include/lib/swiftmailer/classes/Swift/Encoder/Base64Encoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Encoder/Base64Encoder.php rename to include/lib/swiftmailer/classes/Swift/Encoder/Base64Encoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Encoder/QpEncoder.php b/include/lib/swiftmailer/classes/Swift/Encoder/QpEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Encoder/QpEncoder.php rename to include/lib/swiftmailer/classes/Swift/Encoder/QpEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Encoder/Rfc2231Encoder.php b/include/lib/swiftmailer/classes/Swift/Encoder/Rfc2231Encoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Encoder/Rfc2231Encoder.php rename to include/lib/swiftmailer/classes/Swift/Encoder/Rfc2231Encoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Encoding.php b/include/lib/swiftmailer/classes/Swift/Encoding.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Encoding.php rename to include/lib/swiftmailer/classes/Swift/Encoding.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/CommandEvent.php b/include/lib/swiftmailer/classes/Swift/Events/CommandEvent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/CommandEvent.php rename to include/lib/swiftmailer/classes/Swift/Events/CommandEvent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/CommandListener.php b/include/lib/swiftmailer/classes/Swift/Events/CommandListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/CommandListener.php rename to include/lib/swiftmailer/classes/Swift/Events/CommandListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/Event.php b/include/lib/swiftmailer/classes/Swift/Events/Event.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/Event.php rename to include/lib/swiftmailer/classes/Swift/Events/Event.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/EventDispatcher.php b/include/lib/swiftmailer/classes/Swift/Events/EventDispatcher.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/EventDispatcher.php rename to include/lib/swiftmailer/classes/Swift/Events/EventDispatcher.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/EventListener.php b/include/lib/swiftmailer/classes/Swift/Events/EventListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/EventListener.php rename to include/lib/swiftmailer/classes/Swift/Events/EventListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/EventObject.php b/include/lib/swiftmailer/classes/Swift/Events/EventObject.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/EventObject.php rename to include/lib/swiftmailer/classes/Swift/Events/EventObject.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/ResponseEvent.php b/include/lib/swiftmailer/classes/Swift/Events/ResponseEvent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/ResponseEvent.php rename to include/lib/swiftmailer/classes/Swift/Events/ResponseEvent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/ResponseListener.php b/include/lib/swiftmailer/classes/Swift/Events/ResponseListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/ResponseListener.php rename to include/lib/swiftmailer/classes/Swift/Events/ResponseListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/SendEvent.php b/include/lib/swiftmailer/classes/Swift/Events/SendEvent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/SendEvent.php rename to include/lib/swiftmailer/classes/Swift/Events/SendEvent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/SendListener.php b/include/lib/swiftmailer/classes/Swift/Events/SendListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/SendListener.php rename to include/lib/swiftmailer/classes/Swift/Events/SendListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php b/include/lib/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php rename to include/lib/swiftmailer/classes/Swift/Events/SimpleEventDispatcher.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/TransportChangeEvent.php b/include/lib/swiftmailer/classes/Swift/Events/TransportChangeEvent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/TransportChangeEvent.php rename to include/lib/swiftmailer/classes/Swift/Events/TransportChangeEvent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/TransportChangeListener.php b/include/lib/swiftmailer/classes/Swift/Events/TransportChangeListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/TransportChangeListener.php rename to include/lib/swiftmailer/classes/Swift/Events/TransportChangeListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionEvent.php b/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionEvent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionEvent.php rename to include/lib/swiftmailer/classes/Swift/Events/TransportExceptionEvent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionListener.php b/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionListener.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Events/TransportExceptionListener.php rename to include/lib/swiftmailer/classes/Swift/Events/TransportExceptionListener.php diff --git a/public/include/lib/swiftmailer/classes/Swift/FailoverTransport.php b/include/lib/swiftmailer/classes/Swift/FailoverTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/FailoverTransport.php rename to include/lib/swiftmailer/classes/Swift/FailoverTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/FileSpool.php b/include/lib/swiftmailer/classes/Swift/FileSpool.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/FileSpool.php rename to include/lib/swiftmailer/classes/Swift/FileSpool.php diff --git a/public/include/lib/swiftmailer/classes/Swift/FileStream.php b/include/lib/swiftmailer/classes/Swift/FileStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/FileStream.php rename to include/lib/swiftmailer/classes/Swift/FileStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Filterable.php b/include/lib/swiftmailer/classes/Swift/Filterable.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Filterable.php rename to include/lib/swiftmailer/classes/Swift/Filterable.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Image.php b/include/lib/swiftmailer/classes/Swift/Image.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Image.php rename to include/lib/swiftmailer/classes/Swift/Image.php diff --git a/public/include/lib/swiftmailer/classes/Swift/InputByteStream.php b/include/lib/swiftmailer/classes/Swift/InputByteStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/InputByteStream.php rename to include/lib/swiftmailer/classes/Swift/InputByteStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/IoException.php b/include/lib/swiftmailer/classes/Swift/IoException.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/IoException.php rename to include/lib/swiftmailer/classes/Swift/IoException.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache.php b/include/lib/swiftmailer/classes/Swift/KeyCache.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache.php rename to include/lib/swiftmailer/classes/Swift/KeyCache.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache/ArrayKeyCache.php b/include/lib/swiftmailer/classes/Swift/KeyCache/ArrayKeyCache.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache/ArrayKeyCache.php rename to include/lib/swiftmailer/classes/Swift/KeyCache/ArrayKeyCache.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache/DiskKeyCache.php b/include/lib/swiftmailer/classes/Swift/KeyCache/DiskKeyCache.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache/DiskKeyCache.php rename to include/lib/swiftmailer/classes/Swift/KeyCache/DiskKeyCache.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache/KeyCacheInputStream.php b/include/lib/swiftmailer/classes/Swift/KeyCache/KeyCacheInputStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache/KeyCacheInputStream.php rename to include/lib/swiftmailer/classes/Swift/KeyCache/KeyCacheInputStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache/NullKeyCache.php b/include/lib/swiftmailer/classes/Swift/KeyCache/NullKeyCache.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache/NullKeyCache.php rename to include/lib/swiftmailer/classes/Swift/KeyCache/NullKeyCache.php diff --git a/public/include/lib/swiftmailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php b/include/lib/swiftmailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php rename to include/lib/swiftmailer/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/LoadBalancedTransport.php b/include/lib/swiftmailer/classes/Swift/LoadBalancedTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/LoadBalancedTransport.php rename to include/lib/swiftmailer/classes/Swift/LoadBalancedTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/MailTransport.php b/include/lib/swiftmailer/classes/Swift/MailTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/MailTransport.php rename to include/lib/swiftmailer/classes/Swift/MailTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mailer.php b/include/lib/swiftmailer/classes/Swift/Mailer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mailer.php rename to include/lib/swiftmailer/classes/Swift/Mailer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mailer/ArrayRecipientIterator.php b/include/lib/swiftmailer/classes/Swift/Mailer/ArrayRecipientIterator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mailer/ArrayRecipientIterator.php rename to include/lib/swiftmailer/classes/Swift/Mailer/ArrayRecipientIterator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mailer/RecipientIterator.php b/include/lib/swiftmailer/classes/Swift/Mailer/RecipientIterator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mailer/RecipientIterator.php rename to include/lib/swiftmailer/classes/Swift/Mailer/RecipientIterator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/MemorySpool.php b/include/lib/swiftmailer/classes/Swift/MemorySpool.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/MemorySpool.php rename to include/lib/swiftmailer/classes/Swift/MemorySpool.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Message.php b/include/lib/swiftmailer/classes/Swift/Message.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Message.php rename to include/lib/swiftmailer/classes/Swift/Message.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Attachment.php b/include/lib/swiftmailer/classes/Swift/Mime/Attachment.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Attachment.php rename to include/lib/swiftmailer/classes/Swift/Mime/Attachment.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/CharsetObserver.php b/include/lib/swiftmailer/classes/Swift/Mime/CharsetObserver.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/CharsetObserver.php rename to include/lib/swiftmailer/classes/Swift/Mime/CharsetObserver.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/EmbeddedFile.php b/include/lib/swiftmailer/classes/Swift/Mime/EmbeddedFile.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/EmbeddedFile.php rename to include/lib/swiftmailer/classes/Swift/Mime/EmbeddedFile.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/EncodingObserver.php b/include/lib/swiftmailer/classes/Swift/Mime/EncodingObserver.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/EncodingObserver.php rename to include/lib/swiftmailer/classes/Swift/Mime/EncodingObserver.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Grammar.php b/include/lib/swiftmailer/classes/Swift/Mime/Grammar.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Grammar.php rename to include/lib/swiftmailer/classes/Swift/Mime/Grammar.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Header.php b/include/lib/swiftmailer/classes/Swift/Mime/Header.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Header.php rename to include/lib/swiftmailer/classes/Swift/Mime/Header.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php b/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php rename to include/lib/swiftmailer/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/HeaderFactory.php b/include/lib/swiftmailer/classes/Swift/Mime/HeaderFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/HeaderFactory.php rename to include/lib/swiftmailer/classes/Swift/Mime/HeaderFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/HeaderSet.php b/include/lib/swiftmailer/classes/Swift/Mime/HeaderSet.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/HeaderSet.php rename to include/lib/swiftmailer/classes/Swift/Mime/HeaderSet.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/AbstractHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/AbstractHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/AbstractHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/AbstractHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/DateHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/DateHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/DateHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/DateHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/IdentificationHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/IdentificationHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/IdentificationHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/IdentificationHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/MailboxHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/OpenDKIMHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/OpenDKIMHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/OpenDKIMHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/OpenDKIMHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/ParameterizedHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/ParameterizedHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/ParameterizedHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/ParameterizedHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/PathHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/PathHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/PathHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/PathHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Headers/UnstructuredHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/Headers/UnstructuredHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Headers/UnstructuredHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/Headers/UnstructuredHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/Message.php b/include/lib/swiftmailer/classes/Swift/Mime/Message.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/Message.php rename to include/lib/swiftmailer/classes/Swift/Mime/Message.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/MimeEntity.php b/include/lib/swiftmailer/classes/Swift/Mime/MimeEntity.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/MimeEntity.php rename to include/lib/swiftmailer/classes/Swift/Mime/MimeEntity.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/MimePart.php b/include/lib/swiftmailer/classes/Swift/Mime/MimePart.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/MimePart.php rename to include/lib/swiftmailer/classes/Swift/Mime/MimePart.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/ParameterizedHeader.php b/include/lib/swiftmailer/classes/Swift/Mime/ParameterizedHeader.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/ParameterizedHeader.php rename to include/lib/swiftmailer/classes/Swift/Mime/ParameterizedHeader.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php b/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php rename to include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php b/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php rename to include/lib/swiftmailer/classes/Swift/Mime/SimpleHeaderSet.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/SimpleMessage.php b/include/lib/swiftmailer/classes/Swift/Mime/SimpleMessage.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/SimpleMessage.php rename to include/lib/swiftmailer/classes/Swift/Mime/SimpleMessage.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php b/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php rename to include/lib/swiftmailer/classes/Swift/Mime/SimpleMimeEntity.php diff --git a/public/include/lib/swiftmailer/classes/Swift/MimePart.php b/include/lib/swiftmailer/classes/Swift/MimePart.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/MimePart.php rename to include/lib/swiftmailer/classes/Swift/MimePart.php diff --git a/public/include/lib/swiftmailer/classes/Swift/NullTransport.php b/include/lib/swiftmailer/classes/Swift/NullTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/NullTransport.php rename to include/lib/swiftmailer/classes/Swift/NullTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/OutputByteStream.php b/include/lib/swiftmailer/classes/Swift/OutputByteStream.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/OutputByteStream.php rename to include/lib/swiftmailer/classes/Swift/OutputByteStream.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/AntiFloodPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/AntiFloodPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/AntiFloodPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/AntiFloodPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/BandwidthMonitorPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Decorator/Replacements.php b/include/lib/swiftmailer/classes/Swift/Plugins/Decorator/Replacements.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Decorator/Replacements.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Decorator/Replacements.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/DecoratorPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/DecoratorPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/DecoratorPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/DecoratorPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/ImpersonatePlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/ImpersonatePlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/ImpersonatePlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/ImpersonatePlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Logger.php b/include/lib/swiftmailer/classes/Swift/Plugins/Logger.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Logger.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Logger.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/LoggerPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/LoggerPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/LoggerPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/LoggerPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/ArrayLogger.php b/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/ArrayLogger.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/ArrayLogger.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Loggers/ArrayLogger.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/EchoLogger.php b/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/EchoLogger.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Loggers/EchoLogger.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Loggers/EchoLogger.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/MessageLogger.php b/include/lib/swiftmailer/classes/Swift/Plugins/MessageLogger.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/MessageLogger.php rename to include/lib/swiftmailer/classes/Swift/Plugins/MessageLogger.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Connection.php b/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Connection.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Connection.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Connection.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Exception.php b/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Exception.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Exception.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Pop/Pop3Exception.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/PopBeforeSmtpPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/RedirectingPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/RedirectingPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/RedirectingPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/RedirectingPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Reporter.php b/include/lib/swiftmailer/classes/Swift/Plugins/Reporter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Reporter.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Reporter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/ReporterPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/ReporterPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/ReporterPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/ReporterPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HitReporter.php b/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HitReporter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HitReporter.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HitReporter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HtmlReporter.php b/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HtmlReporter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HtmlReporter.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Reporters/HtmlReporter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Sleeper.php b/include/lib/swiftmailer/classes/Swift/Plugins/Sleeper.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Sleeper.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Sleeper.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/ThrottlerPlugin.php b/include/lib/swiftmailer/classes/Swift/Plugins/ThrottlerPlugin.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/ThrottlerPlugin.php rename to include/lib/swiftmailer/classes/Swift/Plugins/ThrottlerPlugin.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Plugins/Timer.php b/include/lib/swiftmailer/classes/Swift/Plugins/Timer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Plugins/Timer.php rename to include/lib/swiftmailer/classes/Swift/Plugins/Timer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Preferences.php b/include/lib/swiftmailer/classes/Swift/Preferences.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Preferences.php rename to include/lib/swiftmailer/classes/Swift/Preferences.php diff --git a/public/include/lib/swiftmailer/classes/Swift/ReplacementFilterFactory.php b/include/lib/swiftmailer/classes/Swift/ReplacementFilterFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/ReplacementFilterFactory.php rename to include/lib/swiftmailer/classes/Swift/ReplacementFilterFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/RfcComplianceException.php b/include/lib/swiftmailer/classes/Swift/RfcComplianceException.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/RfcComplianceException.php rename to include/lib/swiftmailer/classes/Swift/RfcComplianceException.php diff --git a/public/include/lib/swiftmailer/classes/Swift/SendmailTransport.php b/include/lib/swiftmailer/classes/Swift/SendmailTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/SendmailTransport.php rename to include/lib/swiftmailer/classes/Swift/SendmailTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/SignedMessage.php b/include/lib/swiftmailer/classes/Swift/SignedMessage.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/SignedMessage.php rename to include/lib/swiftmailer/classes/Swift/SignedMessage.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signer.php b/include/lib/swiftmailer/classes/Swift/Signer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signer.php rename to include/lib/swiftmailer/classes/Swift/Signer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/BodySigner.php b/include/lib/swiftmailer/classes/Swift/Signers/BodySigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/BodySigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/BodySigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/DKIMSigner.php b/include/lib/swiftmailer/classes/Swift/Signers/DKIMSigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/DKIMSigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/DKIMSigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/DomainKeySigner.php b/include/lib/swiftmailer/classes/Swift/Signers/DomainKeySigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/DomainKeySigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/DomainKeySigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/HeaderSigner.php b/include/lib/swiftmailer/classes/Swift/Signers/HeaderSigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/HeaderSigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/HeaderSigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/OpenDKIMSigner.php b/include/lib/swiftmailer/classes/Swift/Signers/OpenDKIMSigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/OpenDKIMSigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/OpenDKIMSigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Signers/SMimeSigner.php b/include/lib/swiftmailer/classes/Swift/Signers/SMimeSigner.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Signers/SMimeSigner.php rename to include/lib/swiftmailer/classes/Swift/Signers/SMimeSigner.php diff --git a/public/include/lib/swiftmailer/classes/Swift/SmtpTransport.php b/include/lib/swiftmailer/classes/Swift/SmtpTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/SmtpTransport.php rename to include/lib/swiftmailer/classes/Swift/SmtpTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Spool.php b/include/lib/swiftmailer/classes/Swift/Spool.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Spool.php rename to include/lib/swiftmailer/classes/Swift/Spool.php diff --git a/public/include/lib/swiftmailer/classes/Swift/SpoolTransport.php b/include/lib/swiftmailer/classes/Swift/SpoolTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/SpoolTransport.php rename to include/lib/swiftmailer/classes/Swift/SpoolTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/StreamFilter.php b/include/lib/swiftmailer/classes/Swift/StreamFilter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/StreamFilter.php rename to include/lib/swiftmailer/classes/Swift/StreamFilter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php b/include/lib/swiftmailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php rename to include/lib/swiftmailer/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilter.php b/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilter.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilter.php rename to include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilter.php diff --git a/public/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php b/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php rename to include/lib/swiftmailer/classes/Swift/StreamFilters/StringReplacementFilterFactory.php diff --git a/public/include/lib/swiftmailer/classes/Swift/SwiftException.php b/include/lib/swiftmailer/classes/Swift/SwiftException.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/SwiftException.php rename to include/lib/swiftmailer/classes/Swift/SwiftException.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport.php b/include/lib/swiftmailer/classes/Swift/Transport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport.php rename to include/lib/swiftmailer/classes/Swift/Transport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/AbstractSmtpTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/AuthHandler.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/AuthHandler.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/AuthHandler.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/AuthHandler.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Authenticator.php b/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Authenticator.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Authenticator.php rename to include/lib/swiftmailer/classes/Swift/Transport/Esmtp/Authenticator.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/EsmtpHandler.php b/include/lib/swiftmailer/classes/Swift/Transport/EsmtpHandler.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/EsmtpHandler.php rename to include/lib/swiftmailer/classes/Swift/Transport/EsmtpHandler.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/EsmtpTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/EsmtpTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/EsmtpTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/EsmtpTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/FailoverTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/FailoverTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/FailoverTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/FailoverTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/IoBuffer.php b/include/lib/swiftmailer/classes/Swift/Transport/IoBuffer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/IoBuffer.php rename to include/lib/swiftmailer/classes/Swift/Transport/IoBuffer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/LoadBalancedTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/LoadBalancedTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/LoadBalancedTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/LoadBalancedTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/MailInvoker.php b/include/lib/swiftmailer/classes/Swift/Transport/MailInvoker.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/MailInvoker.php rename to include/lib/swiftmailer/classes/Swift/Transport/MailInvoker.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/MailTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/MailTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/MailTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/MailTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/NullTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/NullTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/NullTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/NullTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/SendmailTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/SendmailTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/SendmailTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/SendmailTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php b/include/lib/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php rename to include/lib/swiftmailer/classes/Swift/Transport/SimpleMailInvoker.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/SmtpAgent.php b/include/lib/swiftmailer/classes/Swift/Transport/SmtpAgent.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/SmtpAgent.php rename to include/lib/swiftmailer/classes/Swift/Transport/SmtpAgent.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/SpoolTransport.php b/include/lib/swiftmailer/classes/Swift/Transport/SpoolTransport.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/SpoolTransport.php rename to include/lib/swiftmailer/classes/Swift/Transport/SpoolTransport.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Transport/StreamBuffer.php b/include/lib/swiftmailer/classes/Swift/Transport/StreamBuffer.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Transport/StreamBuffer.php rename to include/lib/swiftmailer/classes/Swift/Transport/StreamBuffer.php diff --git a/public/include/lib/swiftmailer/classes/Swift/TransportException.php b/include/lib/swiftmailer/classes/Swift/TransportException.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/TransportException.php rename to include/lib/swiftmailer/classes/Swift/TransportException.php diff --git a/public/include/lib/swiftmailer/classes/Swift/Validate.php b/include/lib/swiftmailer/classes/Swift/Validate.php similarity index 100% rename from public/include/lib/swiftmailer/classes/Swift/Validate.php rename to include/lib/swiftmailer/classes/Swift/Validate.php diff --git a/public/include/lib/swiftmailer/dependency_maps/cache_deps.php b/include/lib/swiftmailer/dependency_maps/cache_deps.php similarity index 100% rename from public/include/lib/swiftmailer/dependency_maps/cache_deps.php rename to include/lib/swiftmailer/dependency_maps/cache_deps.php diff --git a/public/include/lib/swiftmailer/dependency_maps/message_deps.php b/include/lib/swiftmailer/dependency_maps/message_deps.php similarity index 100% rename from public/include/lib/swiftmailer/dependency_maps/message_deps.php rename to include/lib/swiftmailer/dependency_maps/message_deps.php diff --git a/public/include/lib/swiftmailer/dependency_maps/mime_deps.php b/include/lib/swiftmailer/dependency_maps/mime_deps.php similarity index 100% rename from public/include/lib/swiftmailer/dependency_maps/mime_deps.php rename to include/lib/swiftmailer/dependency_maps/mime_deps.php diff --git a/public/include/lib/swiftmailer/dependency_maps/transport_deps.php b/include/lib/swiftmailer/dependency_maps/transport_deps.php similarity index 100% rename from public/include/lib/swiftmailer/dependency_maps/transport_deps.php rename to include/lib/swiftmailer/dependency_maps/transport_deps.php diff --git a/public/include/lib/swiftmailer/mime_types.php b/include/lib/swiftmailer/mime_types.php similarity index 100% rename from public/include/lib/swiftmailer/mime_types.php rename to include/lib/swiftmailer/mime_types.php diff --git a/public/include/lib/swiftmailer/preferences.php b/include/lib/swiftmailer/preferences.php similarity index 100% rename from public/include/lib/swiftmailer/preferences.php rename to include/lib/swiftmailer/preferences.php diff --git a/public/include/lib/swiftmailer/swift_init.php b/include/lib/swiftmailer/swift_init.php similarity index 100% rename from public/include/lib/swiftmailer/swift_init.php rename to include/lib/swiftmailer/swift_init.php diff --git a/public/include/lib/swiftmailer/swift_required.php b/include/lib/swiftmailer/swift_required.php similarity index 100% rename from public/include/lib/swiftmailer/swift_required.php rename to include/lib/swiftmailer/swift_required.php diff --git a/public/include/lib/swiftmailer/swift_required_pear.php b/include/lib/swiftmailer/swift_required_pear.php similarity index 100% rename from public/include/lib/swiftmailer/swift_required_pear.php rename to include/lib/swiftmailer/swift_required_pear.php diff --git a/public/include/lib/swiftmailer/swiftmailer_generate_mimes_config.php b/include/lib/swiftmailer/swiftmailer_generate_mimes_config.php similarity index 100% rename from public/include/lib/swiftmailer/swiftmailer_generate_mimes_config.php rename to include/lib/swiftmailer/swiftmailer_generate_mimes_config.php diff --git a/public/include/pages/about.inc.php b/include/pages/about.inc.php similarity index 100% rename from public/include/pages/about.inc.php rename to include/pages/about.inc.php diff --git a/public/include/pages/about/api.inc.php b/include/pages/about/api.inc.php similarity index 100% rename from public/include/pages/about/api.inc.php rename to include/pages/about/api.inc.php diff --git a/public/include/pages/about/chat.inc.php b/include/pages/about/chat.inc.php similarity index 100% rename from public/include/pages/about/chat.inc.php rename to include/pages/about/chat.inc.php diff --git a/public/include/pages/about/moot.inc.php b/include/pages/about/moot.inc.php similarity index 100% rename from public/include/pages/about/moot.inc.php rename to include/pages/about/moot.inc.php diff --git a/public/include/pages/about/pool.inc.php b/include/pages/about/pool.inc.php similarity index 100% rename from public/include/pages/about/pool.inc.php rename to include/pages/about/pool.inc.php diff --git a/public/include/pages/about/pplns.inc.php b/include/pages/about/pplns.inc.php similarity index 100% rename from public/include/pages/about/pplns.inc.php rename to include/pages/about/pplns.inc.php diff --git a/public/include/pages/account.inc.php b/include/pages/account.inc.php similarity index 100% rename from public/include/pages/account.inc.php rename to include/pages/account.inc.php diff --git a/public/include/pages/account/confirm.inc.php b/include/pages/account/confirm.inc.php similarity index 100% rename from public/include/pages/account/confirm.inc.php rename to include/pages/account/confirm.inc.php diff --git a/public/include/pages/account/earnings.inc.php b/include/pages/account/earnings.inc.php similarity index 100% rename from public/include/pages/account/earnings.inc.php rename to include/pages/account/earnings.inc.php diff --git a/public/include/pages/account/edit.inc.php b/include/pages/account/edit.inc.php similarity index 100% rename from public/include/pages/account/edit.inc.php rename to include/pages/account/edit.inc.php diff --git a/public/include/pages/account/invitations.inc.php b/include/pages/account/invitations.inc.php similarity index 100% rename from public/include/pages/account/invitations.inc.php rename to include/pages/account/invitations.inc.php diff --git a/public/include/pages/account/notifications.inc.php b/include/pages/account/notifications.inc.php similarity index 100% rename from public/include/pages/account/notifications.inc.php rename to include/pages/account/notifications.inc.php diff --git a/public/include/pages/account/qrcode.inc.php b/include/pages/account/qrcode.inc.php similarity index 100% rename from public/include/pages/account/qrcode.inc.php rename to include/pages/account/qrcode.inc.php diff --git a/public/include/pages/account/reset_failed.inc.php b/include/pages/account/reset_failed.inc.php similarity index 100% rename from public/include/pages/account/reset_failed.inc.php rename to include/pages/account/reset_failed.inc.php diff --git a/public/include/pages/account/transactions.inc.php b/include/pages/account/transactions.inc.php similarity index 100% rename from public/include/pages/account/transactions.inc.php rename to include/pages/account/transactions.inc.php diff --git a/public/include/pages/account/unlock.inc.php b/include/pages/account/unlock.inc.php similarity index 100% rename from public/include/pages/account/unlock.inc.php rename to include/pages/account/unlock.inc.php diff --git a/public/include/pages/account/workers.inc.php b/include/pages/account/workers.inc.php similarity index 100% rename from public/include/pages/account/workers.inc.php rename to include/pages/account/workers.inc.php diff --git a/public/include/pages/admin.inc.php b/include/pages/admin.inc.php similarity index 100% rename from public/include/pages/admin.inc.php rename to include/pages/admin.inc.php diff --git a/public/include/pages/admin/dashboard.inc.php b/include/pages/admin/dashboard.inc.php similarity index 100% rename from public/include/pages/admin/dashboard.inc.php rename to include/pages/admin/dashboard.inc.php diff --git a/public/include/pages/admin/earnings.inc.php b/include/pages/admin/earnings.inc.php similarity index 100% rename from public/include/pages/admin/earnings.inc.php rename to include/pages/admin/earnings.inc.php diff --git a/public/include/pages/admin/invitations.inc.php b/include/pages/admin/invitations.inc.php similarity index 100% rename from public/include/pages/admin/invitations.inc.php rename to include/pages/admin/invitations.inc.php diff --git a/public/include/pages/admin/monitoring.inc.php b/include/pages/admin/monitoring.inc.php similarity index 100% rename from public/include/pages/admin/monitoring.inc.php rename to include/pages/admin/monitoring.inc.php diff --git a/public/include/pages/admin/news.inc.php b/include/pages/admin/news.inc.php similarity index 100% rename from public/include/pages/admin/news.inc.php rename to include/pages/admin/news.inc.php diff --git a/public/include/pages/admin/news_edit.inc.php b/include/pages/admin/news_edit.inc.php similarity index 100% rename from public/include/pages/admin/news_edit.inc.php rename to include/pages/admin/news_edit.inc.php diff --git a/public/include/pages/admin/newsletter.inc.php b/include/pages/admin/newsletter.inc.php similarity index 100% rename from public/include/pages/admin/newsletter.inc.php rename to include/pages/admin/newsletter.inc.php diff --git a/public/include/pages/admin/poolworkers.inc.php b/include/pages/admin/poolworkers.inc.php similarity index 100% rename from public/include/pages/admin/poolworkers.inc.php rename to include/pages/admin/poolworkers.inc.php diff --git a/public/include/pages/admin/registrations.inc.php b/include/pages/admin/registrations.inc.php similarity index 100% rename from public/include/pages/admin/registrations.inc.php rename to include/pages/admin/registrations.inc.php diff --git a/public/include/pages/admin/reports.inc.php b/include/pages/admin/reports.inc.php similarity index 100% rename from public/include/pages/admin/reports.inc.php rename to include/pages/admin/reports.inc.php diff --git a/public/include/pages/admin/settings.inc.php b/include/pages/admin/settings.inc.php similarity index 100% rename from public/include/pages/admin/settings.inc.php rename to include/pages/admin/settings.inc.php diff --git a/public/include/pages/admin/transactions.inc.php b/include/pages/admin/transactions.inc.php similarity index 100% rename from public/include/pages/admin/transactions.inc.php rename to include/pages/admin/transactions.inc.php diff --git a/public/include/pages/admin/user.inc.php b/include/pages/admin/user.inc.php similarity index 100% rename from public/include/pages/admin/user.inc.php rename to include/pages/admin/user.inc.php diff --git a/public/include/pages/admin/userdetails.inc.php b/include/pages/admin/userdetails.inc.php similarity index 100% rename from public/include/pages/admin/userdetails.inc.php rename to include/pages/admin/userdetails.inc.php diff --git a/public/include/pages/admin/wallet.inc.php b/include/pages/admin/wallet.inc.php similarity index 100% rename from public/include/pages/admin/wallet.inc.php rename to include/pages/admin/wallet.inc.php diff --git a/public/include/pages/api.inc.php b/include/pages/api.inc.php similarity index 100% rename from public/include/pages/api.inc.php rename to include/pages/api.inc.php diff --git a/public/include/pages/api/getblockcount.inc.php b/include/pages/api/getblockcount.inc.php similarity index 100% rename from public/include/pages/api/getblockcount.inc.php rename to include/pages/api/getblockcount.inc.php diff --git a/public/include/pages/api/getblocksfound.inc.php b/include/pages/api/getblocksfound.inc.php similarity index 100% rename from public/include/pages/api/getblocksfound.inc.php rename to include/pages/api/getblocksfound.inc.php diff --git a/public/include/pages/api/getblockstats.inc.php b/include/pages/api/getblockstats.inc.php similarity index 100% rename from public/include/pages/api/getblockstats.inc.php rename to include/pages/api/getblockstats.inc.php diff --git a/public/include/pages/api/getcronjobstatus.inc.php b/include/pages/api/getcronjobstatus.inc.php similarity index 100% rename from public/include/pages/api/getcronjobstatus.inc.php rename to include/pages/api/getcronjobstatus.inc.php diff --git a/public/include/pages/api/getcurrentworkers.inc.php b/include/pages/api/getcurrentworkers.inc.php similarity index 100% rename from public/include/pages/api/getcurrentworkers.inc.php rename to include/pages/api/getcurrentworkers.inc.php diff --git a/public/include/pages/api/getdashboarddata.inc.php b/include/pages/api/getdashboarddata.inc.php similarity index 100% rename from public/include/pages/api/getdashboarddata.inc.php rename to include/pages/api/getdashboarddata.inc.php diff --git a/public/include/pages/api/getdifficulty.inc.php b/include/pages/api/getdifficulty.inc.php similarity index 100% rename from public/include/pages/api/getdifficulty.inc.php rename to include/pages/api/getdifficulty.inc.php diff --git a/public/include/pages/api/getestimatedtime.inc.php b/include/pages/api/getestimatedtime.inc.php similarity index 100% rename from public/include/pages/api/getestimatedtime.inc.php rename to include/pages/api/getestimatedtime.inc.php diff --git a/public/include/pages/api/gethourlyhashrates.inc.php b/include/pages/api/gethourlyhashrates.inc.php similarity index 100% rename from public/include/pages/api/gethourlyhashrates.inc.php rename to include/pages/api/gethourlyhashrates.inc.php diff --git a/public/include/pages/api/getnavbardata.inc.php b/include/pages/api/getnavbardata.inc.php similarity index 100% rename from public/include/pages/api/getnavbardata.inc.php rename to include/pages/api/getnavbardata.inc.php diff --git a/public/include/pages/api/getpoolhashrate.inc.php b/include/pages/api/getpoolhashrate.inc.php similarity index 100% rename from public/include/pages/api/getpoolhashrate.inc.php rename to include/pages/api/getpoolhashrate.inc.php diff --git a/public/include/pages/api/getpoolinfo.inc.php b/include/pages/api/getpoolinfo.inc.php similarity index 100% rename from public/include/pages/api/getpoolinfo.inc.php rename to include/pages/api/getpoolinfo.inc.php diff --git a/public/include/pages/api/getpoolsharerate.inc.php b/include/pages/api/getpoolsharerate.inc.php similarity index 100% rename from public/include/pages/api/getpoolsharerate.inc.php rename to include/pages/api/getpoolsharerate.inc.php diff --git a/public/include/pages/api/getpoolstatus.inc.php b/include/pages/api/getpoolstatus.inc.php similarity index 100% rename from public/include/pages/api/getpoolstatus.inc.php rename to include/pages/api/getpoolstatus.inc.php diff --git a/public/include/pages/api/gettimesincelastblock.inc.php b/include/pages/api/gettimesincelastblock.inc.php similarity index 100% rename from public/include/pages/api/gettimesincelastblock.inc.php rename to include/pages/api/gettimesincelastblock.inc.php diff --git a/public/include/pages/api/gettopcontributors.inc.php b/include/pages/api/gettopcontributors.inc.php similarity index 100% rename from public/include/pages/api/gettopcontributors.inc.php rename to include/pages/api/gettopcontributors.inc.php diff --git a/public/include/pages/api/getuserbalance.inc.php b/include/pages/api/getuserbalance.inc.php similarity index 100% rename from public/include/pages/api/getuserbalance.inc.php rename to include/pages/api/getuserbalance.inc.php diff --git a/public/include/pages/api/getuserhashrate.inc.php b/include/pages/api/getuserhashrate.inc.php similarity index 100% rename from public/include/pages/api/getuserhashrate.inc.php rename to include/pages/api/getuserhashrate.inc.php diff --git a/public/include/pages/api/getusersharerate.inc.php b/include/pages/api/getusersharerate.inc.php similarity index 100% rename from public/include/pages/api/getusersharerate.inc.php rename to include/pages/api/getusersharerate.inc.php diff --git a/public/include/pages/api/getuserstatus.inc.php b/include/pages/api/getuserstatus.inc.php similarity index 100% rename from public/include/pages/api/getuserstatus.inc.php rename to include/pages/api/getuserstatus.inc.php diff --git a/public/include/pages/api/getusertransactions.inc.php b/include/pages/api/getusertransactions.inc.php similarity index 100% rename from public/include/pages/api/getusertransactions.inc.php rename to include/pages/api/getusertransactions.inc.php diff --git a/public/include/pages/api/getuserworkers.inc.php b/include/pages/api/getuserworkers.inc.php similarity index 100% rename from public/include/pages/api/getuserworkers.inc.php rename to include/pages/api/getuserworkers.inc.php diff --git a/public/include/pages/api/public.inc.php b/include/pages/api/public.inc.php similarity index 100% rename from public/include/pages/api/public.inc.php rename to include/pages/api/public.inc.php diff --git a/public/include/pages/contactform.inc.php b/include/pages/contactform.inc.php similarity index 100% rename from public/include/pages/contactform.inc.php rename to include/pages/contactform.inc.php diff --git a/public/include/pages/contactform/contactform.inc.php b/include/pages/contactform/contactform.inc.php similarity index 100% rename from public/include/pages/contactform/contactform.inc.php rename to include/pages/contactform/contactform.inc.php diff --git a/public/include/pages/dashboard.inc.php b/include/pages/dashboard.inc.php similarity index 100% rename from public/include/pages/dashboard.inc.php rename to include/pages/dashboard.inc.php diff --git a/public/include/pages/error.inc.php b/include/pages/error.inc.php similarity index 100% rename from public/include/pages/error.inc.php rename to include/pages/error.inc.php diff --git a/public/include/pages/error/404.inc.php b/include/pages/error/404.inc.php similarity index 100% rename from public/include/pages/error/404.inc.php rename to include/pages/error/404.inc.php diff --git a/public/include/pages/error/ratelimit.inc.php b/include/pages/error/ratelimit.inc.php similarity index 100% rename from public/include/pages/error/ratelimit.inc.php rename to include/pages/error/ratelimit.inc.php diff --git a/public/include/pages/gettingstarted.inc.php b/include/pages/gettingstarted.inc.php similarity index 100% rename from public/include/pages/gettingstarted.inc.php rename to include/pages/gettingstarted.inc.php diff --git a/public/include/pages/home.inc.php b/include/pages/home.inc.php similarity index 100% rename from public/include/pages/home.inc.php rename to include/pages/home.inc.php diff --git a/public/include/pages/login.inc.php b/include/pages/login.inc.php similarity index 100% rename from public/include/pages/login.inc.php rename to include/pages/login.inc.php diff --git a/public/include/pages/logout.inc.php b/include/pages/logout.inc.php similarity index 100% rename from public/include/pages/logout.inc.php rename to include/pages/logout.inc.php diff --git a/public/include/pages/news.inc.php b/include/pages/news.inc.php similarity index 100% rename from public/include/pages/news.inc.php rename to include/pages/news.inc.php diff --git a/public/include/pages/password.inc.php b/include/pages/password.inc.php similarity index 100% rename from public/include/pages/password.inc.php rename to include/pages/password.inc.php diff --git a/public/include/pages/password/change.inc.php b/include/pages/password/change.inc.php similarity index 100% rename from public/include/pages/password/change.inc.php rename to include/pages/password/change.inc.php diff --git a/public/include/pages/password/reset.inc.php b/include/pages/password/reset.inc.php similarity index 100% rename from public/include/pages/password/reset.inc.php rename to include/pages/password/reset.inc.php diff --git a/public/include/pages/register.inc.php b/include/pages/register.inc.php similarity index 100% rename from public/include/pages/register.inc.php rename to include/pages/register.inc.php diff --git a/public/include/pages/register/register.inc.php b/include/pages/register/register.inc.php similarity index 100% rename from public/include/pages/register/register.inc.php rename to include/pages/register/register.inc.php diff --git a/public/include/pages/statistics.inc.php b/include/pages/statistics.inc.php similarity index 100% rename from public/include/pages/statistics.inc.php rename to include/pages/statistics.inc.php diff --git a/public/include/pages/statistics/blockfinder.inc.php b/include/pages/statistics/blockfinder.inc.php similarity index 100% rename from public/include/pages/statistics/blockfinder.inc.php rename to include/pages/statistics/blockfinder.inc.php diff --git a/public/include/pages/statistics/blocks.inc.php b/include/pages/statistics/blocks.inc.php similarity index 100% rename from public/include/pages/statistics/blocks.inc.php rename to include/pages/statistics/blocks.inc.php diff --git a/public/include/pages/statistics/donors.inc.php b/include/pages/statistics/donors.inc.php similarity index 100% rename from public/include/pages/statistics/donors.inc.php rename to include/pages/statistics/donors.inc.php diff --git a/public/include/pages/statistics/graphs.inc.php b/include/pages/statistics/graphs.inc.php similarity index 100% rename from public/include/pages/statistics/graphs.inc.php rename to include/pages/statistics/graphs.inc.php diff --git a/public/include/pages/statistics/pool.inc.php b/include/pages/statistics/pool.inc.php similarity index 100% rename from public/include/pages/statistics/pool.inc.php rename to include/pages/statistics/pool.inc.php diff --git a/public/include/pages/statistics/round.inc.php b/include/pages/statistics/round.inc.php similarity index 100% rename from public/include/pages/statistics/round.inc.php rename to include/pages/statistics/round.inc.php diff --git a/public/include/pages/statistics/uptime.inc.php b/include/pages/statistics/uptime.inc.php similarity index 100% rename from public/include/pages/statistics/uptime.inc.php rename to include/pages/statistics/uptime.inc.php diff --git a/public/include/pages/tac.inc.php b/include/pages/tac.inc.php similarity index 100% rename from public/include/pages/tac.inc.php rename to include/pages/tac.inc.php diff --git a/public/include/pages/tacpop.inc.php b/include/pages/tacpop.inc.php similarity index 100% rename from public/include/pages/tacpop.inc.php rename to include/pages/tacpop.inc.php diff --git a/public/include/smarty.inc.php b/include/smarty.inc.php similarity index 82% rename from public/include/smarty.inc.php rename to include/smarty.inc.php index bb931fe5..ac2935d9 100644 --- a/public/include/smarty.inc.php +++ b/include/smarty.inc.php @@ -13,8 +13,8 @@ $smarty = new Smarty; // Assign our local paths $debug->append('Define Smarty Paths', 3); -$smarty->template_dir = BASEPATH . 'templates/' . THEME . '/'; -$smarty->compile_dir = BASEPATH . 'templates/compile/' . THEME . '/'; +$smarty->template_dir = TEMPLATE_DIR . '/' . THEME . '/'; +$smarty->compile_dir = TEMPLATE_DIR . '/compile/' . THEME . '/'; $smarty_cache_key = md5(serialize($_REQUEST) . serialize(@$_SESSION['USERDATA']['id'])); // Optional smarty caching, check Smarty documentation for details @@ -22,7 +22,7 @@ if ($config['smarty']['cache']) { $debug->append('Enable smarty cache'); $smarty->setCaching(Smarty::CACHING_LIFETIME_SAVED); $smarty->cache_lifetime = $config['smarty']['cache_lifetime']; - $smarty->cache_dir = BASEPATH . "templates/cache/" . THEME; + $smarty->cache_dir = TEMPLATE_DIR . '/cache/' . THEME; $smarty->escape_html = true; $smarty->use_sub_dirs = true; } diff --git a/public/include/smarty/libs/Smarty.class.php b/include/smarty/libs/Smarty.class.php similarity index 100% rename from public/include/smarty/libs/Smarty.class.php rename to include/smarty/libs/Smarty.class.php diff --git a/public/include/smarty/libs/SmartyBC.class.php b/include/smarty/libs/SmartyBC.class.php similarity index 100% rename from public/include/smarty/libs/SmartyBC.class.php rename to include/smarty/libs/SmartyBC.class.php diff --git a/public/include/smarty/libs/debug.tpl b/include/smarty/libs/debug.tpl similarity index 100% rename from public/include/smarty/libs/debug.tpl rename to include/smarty/libs/debug.tpl diff --git a/public/include/smarty/libs/plugins/block.textformat.php b/include/smarty/libs/plugins/block.textformat.php similarity index 100% rename from public/include/smarty/libs/plugins/block.textformat.php rename to include/smarty/libs/plugins/block.textformat.php diff --git a/public/include/smarty/libs/plugins/function.counter.php b/include/smarty/libs/plugins/function.counter.php similarity index 100% rename from public/include/smarty/libs/plugins/function.counter.php rename to include/smarty/libs/plugins/function.counter.php diff --git a/public/include/smarty/libs/plugins/function.cycle.php b/include/smarty/libs/plugins/function.cycle.php similarity index 100% rename from public/include/smarty/libs/plugins/function.cycle.php rename to include/smarty/libs/plugins/function.cycle.php diff --git a/public/include/smarty/libs/plugins/function.fetch.php b/include/smarty/libs/plugins/function.fetch.php similarity index 100% rename from public/include/smarty/libs/plugins/function.fetch.php rename to include/smarty/libs/plugins/function.fetch.php diff --git a/public/include/smarty/libs/plugins/function.html_checkboxes.php b/include/smarty/libs/plugins/function.html_checkboxes.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_checkboxes.php rename to include/smarty/libs/plugins/function.html_checkboxes.php diff --git a/public/include/smarty/libs/plugins/function.html_image.php b/include/smarty/libs/plugins/function.html_image.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_image.php rename to include/smarty/libs/plugins/function.html_image.php diff --git a/public/include/smarty/libs/plugins/function.html_options.php b/include/smarty/libs/plugins/function.html_options.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_options.php rename to include/smarty/libs/plugins/function.html_options.php diff --git a/public/include/smarty/libs/plugins/function.html_radios.php b/include/smarty/libs/plugins/function.html_radios.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_radios.php rename to include/smarty/libs/plugins/function.html_radios.php diff --git a/public/include/smarty/libs/plugins/function.html_select_date.php b/include/smarty/libs/plugins/function.html_select_date.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_select_date.php rename to include/smarty/libs/plugins/function.html_select_date.php diff --git a/public/include/smarty/libs/plugins/function.html_select_time.php b/include/smarty/libs/plugins/function.html_select_time.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_select_time.php rename to include/smarty/libs/plugins/function.html_select_time.php diff --git a/public/include/smarty/libs/plugins/function.html_table.php b/include/smarty/libs/plugins/function.html_table.php similarity index 100% rename from public/include/smarty/libs/plugins/function.html_table.php rename to include/smarty/libs/plugins/function.html_table.php diff --git a/public/include/smarty/libs/plugins/function.mailto.php b/include/smarty/libs/plugins/function.mailto.php similarity index 100% rename from public/include/smarty/libs/plugins/function.mailto.php rename to include/smarty/libs/plugins/function.mailto.php diff --git a/public/include/smarty/libs/plugins/function.math.php b/include/smarty/libs/plugins/function.math.php similarity index 100% rename from public/include/smarty/libs/plugins/function.math.php rename to include/smarty/libs/plugins/function.math.php diff --git a/public/include/smarty/libs/plugins/modifier.capitalize.php b/include/smarty/libs/plugins/modifier.capitalize.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.capitalize.php rename to include/smarty/libs/plugins/modifier.capitalize.php diff --git a/public/include/smarty/libs/plugins/modifier.date_format.php b/include/smarty/libs/plugins/modifier.date_format.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.date_format.php rename to include/smarty/libs/plugins/modifier.date_format.php diff --git a/public/include/smarty/libs/plugins/modifier.debug_print_var.php b/include/smarty/libs/plugins/modifier.debug_print_var.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.debug_print_var.php rename to include/smarty/libs/plugins/modifier.debug_print_var.php diff --git a/public/include/smarty/libs/plugins/modifier.escape.php b/include/smarty/libs/plugins/modifier.escape.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.escape.php rename to include/smarty/libs/plugins/modifier.escape.php diff --git a/public/include/smarty/libs/plugins/modifier.regex_replace.php b/include/smarty/libs/plugins/modifier.regex_replace.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.regex_replace.php rename to include/smarty/libs/plugins/modifier.regex_replace.php diff --git a/public/include/smarty/libs/plugins/modifier.relative_date.php b/include/smarty/libs/plugins/modifier.relative_date.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.relative_date.php rename to include/smarty/libs/plugins/modifier.relative_date.php diff --git a/public/include/smarty/libs/plugins/modifier.replace.php b/include/smarty/libs/plugins/modifier.replace.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.replace.php rename to include/smarty/libs/plugins/modifier.replace.php diff --git a/public/include/smarty/libs/plugins/modifier.seconds_to_words.php b/include/smarty/libs/plugins/modifier.seconds_to_words.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.seconds_to_words.php rename to include/smarty/libs/plugins/modifier.seconds_to_words.php diff --git a/public/include/smarty/libs/plugins/modifier.spacify.php b/include/smarty/libs/plugins/modifier.spacify.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.spacify.php rename to include/smarty/libs/plugins/modifier.spacify.php diff --git a/public/include/smarty/libs/plugins/modifier.truncate.php b/include/smarty/libs/plugins/modifier.truncate.php similarity index 100% rename from public/include/smarty/libs/plugins/modifier.truncate.php rename to include/smarty/libs/plugins/modifier.truncate.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.cat.php b/include/smarty/libs/plugins/modifiercompiler.cat.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.cat.php rename to include/smarty/libs/plugins/modifiercompiler.cat.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.count_characters.php b/include/smarty/libs/plugins/modifiercompiler.count_characters.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.count_characters.php rename to include/smarty/libs/plugins/modifiercompiler.count_characters.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.count_paragraphs.php b/include/smarty/libs/plugins/modifiercompiler.count_paragraphs.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.count_paragraphs.php rename to include/smarty/libs/plugins/modifiercompiler.count_paragraphs.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.count_sentences.php b/include/smarty/libs/plugins/modifiercompiler.count_sentences.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.count_sentences.php rename to include/smarty/libs/plugins/modifiercompiler.count_sentences.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.count_words.php b/include/smarty/libs/plugins/modifiercompiler.count_words.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.count_words.php rename to include/smarty/libs/plugins/modifiercompiler.count_words.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.default.php b/include/smarty/libs/plugins/modifiercompiler.default.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.default.php rename to include/smarty/libs/plugins/modifiercompiler.default.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.escape.php b/include/smarty/libs/plugins/modifiercompiler.escape.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.escape.php rename to include/smarty/libs/plugins/modifiercompiler.escape.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.from_charset.php b/include/smarty/libs/plugins/modifiercompiler.from_charset.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.from_charset.php rename to include/smarty/libs/plugins/modifiercompiler.from_charset.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.indent.php b/include/smarty/libs/plugins/modifiercompiler.indent.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.indent.php rename to include/smarty/libs/plugins/modifiercompiler.indent.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.lower.php b/include/smarty/libs/plugins/modifiercompiler.lower.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.lower.php rename to include/smarty/libs/plugins/modifiercompiler.lower.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.noprint.php b/include/smarty/libs/plugins/modifiercompiler.noprint.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.noprint.php rename to include/smarty/libs/plugins/modifiercompiler.noprint.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.string_format.php b/include/smarty/libs/plugins/modifiercompiler.string_format.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.string_format.php rename to include/smarty/libs/plugins/modifiercompiler.string_format.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.strip.php b/include/smarty/libs/plugins/modifiercompiler.strip.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.strip.php rename to include/smarty/libs/plugins/modifiercompiler.strip.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.strip_tags.php b/include/smarty/libs/plugins/modifiercompiler.strip_tags.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.strip_tags.php rename to include/smarty/libs/plugins/modifiercompiler.strip_tags.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.to_charset.php b/include/smarty/libs/plugins/modifiercompiler.to_charset.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.to_charset.php rename to include/smarty/libs/plugins/modifiercompiler.to_charset.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.unescape.php b/include/smarty/libs/plugins/modifiercompiler.unescape.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.unescape.php rename to include/smarty/libs/plugins/modifiercompiler.unescape.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.upper.php b/include/smarty/libs/plugins/modifiercompiler.upper.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.upper.php rename to include/smarty/libs/plugins/modifiercompiler.upper.php diff --git a/public/include/smarty/libs/plugins/modifiercompiler.wordwrap.php b/include/smarty/libs/plugins/modifiercompiler.wordwrap.php similarity index 100% rename from public/include/smarty/libs/plugins/modifiercompiler.wordwrap.php rename to include/smarty/libs/plugins/modifiercompiler.wordwrap.php diff --git a/public/include/smarty/libs/plugins/outputfilter.trimwhitespace.php b/include/smarty/libs/plugins/outputfilter.trimwhitespace.php similarity index 100% rename from public/include/smarty/libs/plugins/outputfilter.trimwhitespace.php rename to include/smarty/libs/plugins/outputfilter.trimwhitespace.php diff --git a/public/include/smarty/libs/plugins/shared.escape_special_chars.php b/include/smarty/libs/plugins/shared.escape_special_chars.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.escape_special_chars.php rename to include/smarty/libs/plugins/shared.escape_special_chars.php diff --git a/public/include/smarty/libs/plugins/shared.literal_compiler_param.php b/include/smarty/libs/plugins/shared.literal_compiler_param.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.literal_compiler_param.php rename to include/smarty/libs/plugins/shared.literal_compiler_param.php diff --git a/public/include/smarty/libs/plugins/shared.make_timestamp.php b/include/smarty/libs/plugins/shared.make_timestamp.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.make_timestamp.php rename to include/smarty/libs/plugins/shared.make_timestamp.php diff --git a/public/include/smarty/libs/plugins/shared.mb_str_replace.php b/include/smarty/libs/plugins/shared.mb_str_replace.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.mb_str_replace.php rename to include/smarty/libs/plugins/shared.mb_str_replace.php diff --git a/public/include/smarty/libs/plugins/shared.mb_unicode.php b/include/smarty/libs/plugins/shared.mb_unicode.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.mb_unicode.php rename to include/smarty/libs/plugins/shared.mb_unicode.php diff --git a/public/include/smarty/libs/plugins/shared.mb_wordwrap.php b/include/smarty/libs/plugins/shared.mb_wordwrap.php similarity index 100% rename from public/include/smarty/libs/plugins/shared.mb_wordwrap.php rename to include/smarty/libs/plugins/shared.mb_wordwrap.php diff --git a/public/include/smarty/libs/plugins/variablefilter.htmlspecialchars.php b/include/smarty/libs/plugins/variablefilter.htmlspecialchars.php similarity index 100% rename from public/include/smarty/libs/plugins/variablefilter.htmlspecialchars.php rename to include/smarty/libs/plugins/variablefilter.htmlspecialchars.php diff --git a/public/include/smarty/libs/sysplugins/smarty_cacheresource.php b/include/smarty/libs/sysplugins/smarty_cacheresource.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_cacheresource.php rename to include/smarty/libs/sysplugins/smarty_cacheresource.php diff --git a/public/include/smarty/libs/sysplugins/smarty_cacheresource_custom.php b/include/smarty/libs/sysplugins/smarty_cacheresource_custom.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_cacheresource_custom.php rename to include/smarty/libs/sysplugins/smarty_cacheresource_custom.php diff --git a/public/include/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php b/include/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php rename to include/smarty/libs/sysplugins/smarty_cacheresource_keyvaluestore.php diff --git a/public/include/smarty/libs/sysplugins/smarty_config_source.php b/include/smarty/libs/sysplugins/smarty_config_source.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_config_source.php rename to include/smarty/libs/sysplugins/smarty_config_source.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php b/include/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php rename to include/smarty/libs/sysplugins/smarty_internal_cacheresource_file.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_append.php b/include/smarty/libs/sysplugins/smarty_internal_compile_append.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_append.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_append.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_assign.php b/include/smarty/libs/sysplugins/smarty_internal_compile_assign.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_assign.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_assign.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_block.php b/include/smarty/libs/sysplugins/smarty_internal_compile_block.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_block.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_block.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_break.php b/include/smarty/libs/sysplugins/smarty_internal_compile_break.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_break.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_break.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_call.php b/include/smarty/libs/sysplugins/smarty_internal_compile_call.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_call.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_call.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_capture.php b/include/smarty/libs/sysplugins/smarty_internal_compile_capture.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_capture.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_capture.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_config_load.php b/include/smarty/libs/sysplugins/smarty_internal_compile_config_load.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_config_load.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_config_load.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_continue.php b/include/smarty/libs/sysplugins/smarty_internal_compile_continue.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_continue.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_continue.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_debug.php b/include/smarty/libs/sysplugins/smarty_internal_compile_debug.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_debug.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_debug.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_eval.php b/include/smarty/libs/sysplugins/smarty_internal_compile_eval.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_eval.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_eval.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_extends.php b/include/smarty/libs/sysplugins/smarty_internal_compile_extends.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_extends.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_extends.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_for.php b/include/smarty/libs/sysplugins/smarty_internal_compile_for.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_for.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_for.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_foreach.php b/include/smarty/libs/sysplugins/smarty_internal_compile_foreach.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_foreach.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_foreach.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_function.php b/include/smarty/libs/sysplugins/smarty_internal_compile_function.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_function.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_function.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_if.php b/include/smarty/libs/sysplugins/smarty_internal_compile_if.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_if.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_if.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_include.php b/include/smarty/libs/sysplugins/smarty_internal_compile_include.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_include.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_include.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_include_php.php b/include/smarty/libs/sysplugins/smarty_internal_compile_include_php.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_include_php.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_include_php.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_insert.php b/include/smarty/libs/sysplugins/smarty_internal_compile_insert.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_insert.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_insert.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php b/include/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_ldelim.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_nocache.php b/include/smarty/libs/sysplugins/smarty_internal_compile_nocache.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_nocache.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_nocache.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_block_plugin.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_function_plugin.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_modifier.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_object_block_function.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_object_function.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_print_expression.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_block.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_registered_function.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php b/include/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_private_special_variable.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php b/include/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_rdelim.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_section.php b/include/smarty/libs/sysplugins/smarty_internal_compile_section.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_section.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_section.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php b/include/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_setfilter.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compile_while.php b/include/smarty/libs/sysplugins/smarty_internal_compile_while.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compile_while.php rename to include/smarty/libs/sysplugins/smarty_internal_compile_while.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_compilebase.php b/include/smarty/libs/sysplugins/smarty_internal_compilebase.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_compilebase.php rename to include/smarty/libs/sysplugins/smarty_internal_compilebase.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_config.php b/include/smarty/libs/sysplugins/smarty_internal_config.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_config.php rename to include/smarty/libs/sysplugins/smarty_internal_config.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php b/include/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php rename to include/smarty/libs/sysplugins/smarty_internal_config_file_compiler.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_configfilelexer.php b/include/smarty/libs/sysplugins/smarty_internal_configfilelexer.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_configfilelexer.php rename to include/smarty/libs/sysplugins/smarty_internal_configfilelexer.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_configfileparser.php b/include/smarty/libs/sysplugins/smarty_internal_configfileparser.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_configfileparser.php rename to include/smarty/libs/sysplugins/smarty_internal_configfileparser.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_data.php b/include/smarty/libs/sysplugins/smarty_internal_data.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_data.php rename to include/smarty/libs/sysplugins/smarty_internal_data.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_debug.php b/include/smarty/libs/sysplugins/smarty_internal_debug.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_debug.php rename to include/smarty/libs/sysplugins/smarty_internal_debug.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_filter_handler.php b/include/smarty/libs/sysplugins/smarty_internal_filter_handler.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_filter_handler.php rename to include/smarty/libs/sysplugins/smarty_internal_filter_handler.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_function_call_handler.php b/include/smarty/libs/sysplugins/smarty_internal_function_call_handler.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_function_call_handler.php rename to include/smarty/libs/sysplugins/smarty_internal_function_call_handler.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_get_include_path.php b/include/smarty/libs/sysplugins/smarty_internal_get_include_path.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_get_include_path.php rename to include/smarty/libs/sysplugins/smarty_internal_get_include_path.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_nocache_insert.php b/include/smarty/libs/sysplugins/smarty_internal_nocache_insert.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_nocache_insert.php rename to include/smarty/libs/sysplugins/smarty_internal_nocache_insert.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_parsetree.php b/include/smarty/libs/sysplugins/smarty_internal_parsetree.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_parsetree.php rename to include/smarty/libs/sysplugins/smarty_internal_parsetree.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_eval.php b/include/smarty/libs/sysplugins/smarty_internal_resource_eval.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_eval.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_eval.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_extends.php b/include/smarty/libs/sysplugins/smarty_internal_resource_extends.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_extends.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_extends.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_file.php b/include/smarty/libs/sysplugins/smarty_internal_resource_file.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_file.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_file.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_php.php b/include/smarty/libs/sysplugins/smarty_internal_resource_php.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_php.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_php.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_registered.php b/include/smarty/libs/sysplugins/smarty_internal_resource_registered.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_registered.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_registered.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_stream.php b/include/smarty/libs/sysplugins/smarty_internal_resource_stream.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_stream.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_stream.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_resource_string.php b/include/smarty/libs/sysplugins/smarty_internal_resource_string.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_resource_string.php rename to include/smarty/libs/sysplugins/smarty_internal_resource_string.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php b/include/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php rename to include/smarty/libs/sysplugins/smarty_internal_smartytemplatecompiler.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_template.php b/include/smarty/libs/sysplugins/smarty_internal_template.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_template.php rename to include/smarty/libs/sysplugins/smarty_internal_template.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_templatebase.php b/include/smarty/libs/sysplugins/smarty_internal_templatebase.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_templatebase.php rename to include/smarty/libs/sysplugins/smarty_internal_templatebase.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php b/include/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php rename to include/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_templatelexer.php b/include/smarty/libs/sysplugins/smarty_internal_templatelexer.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_templatelexer.php rename to include/smarty/libs/sysplugins/smarty_internal_templatelexer.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_templateparser.php b/include/smarty/libs/sysplugins/smarty_internal_templateparser.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_templateparser.php rename to include/smarty/libs/sysplugins/smarty_internal_templateparser.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_utility.php b/include/smarty/libs/sysplugins/smarty_internal_utility.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_utility.php rename to include/smarty/libs/sysplugins/smarty_internal_utility.php diff --git a/public/include/smarty/libs/sysplugins/smarty_internal_write_file.php b/include/smarty/libs/sysplugins/smarty_internal_write_file.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_internal_write_file.php rename to include/smarty/libs/sysplugins/smarty_internal_write_file.php diff --git a/public/include/smarty/libs/sysplugins/smarty_resource.php b/include/smarty/libs/sysplugins/smarty_resource.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_resource.php rename to include/smarty/libs/sysplugins/smarty_resource.php diff --git a/public/include/smarty/libs/sysplugins/smarty_resource_custom.php b/include/smarty/libs/sysplugins/smarty_resource_custom.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_resource_custom.php rename to include/smarty/libs/sysplugins/smarty_resource_custom.php diff --git a/public/include/smarty/libs/sysplugins/smarty_resource_recompiled.php b/include/smarty/libs/sysplugins/smarty_resource_recompiled.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_resource_recompiled.php rename to include/smarty/libs/sysplugins/smarty_resource_recompiled.php diff --git a/public/include/smarty/libs/sysplugins/smarty_resource_uncompiled.php b/include/smarty/libs/sysplugins/smarty_resource_uncompiled.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_resource_uncompiled.php rename to include/smarty/libs/sysplugins/smarty_resource_uncompiled.php diff --git a/public/include/smarty/libs/sysplugins/smarty_security.php b/include/smarty/libs/sysplugins/smarty_security.php similarity index 100% rename from public/include/smarty/libs/sysplugins/smarty_security.php rename to include/smarty/libs/sysplugins/smarty_security.php diff --git a/public/include/smarty_globals.inc.php b/include/smarty_globals.inc.php similarity index 100% rename from public/include/smarty_globals.inc.php rename to include/smarty_globals.inc.php diff --git a/public/include/version.inc.php b/include/version.inc.php similarity index 100% rename from public/include/version.inc.php rename to include/version.inc.php diff --git a/public/index.php b/public/index.php index b1d1d60a..de8f9571 100644 --- a/public/index.php +++ b/public/index.php @@ -37,7 +37,7 @@ if (SECHASH_CHECK) { define("BASEPATH", dirname(__FILE__) . "/"); // all our includes and config etc are now in bootstrap -include_once('include/bootstrap.php'); +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']; diff --git a/public/templates/bootstrap/about/api/default.tpl b/templates/bootstrap/about/api/default.tpl similarity index 100% rename from public/templates/bootstrap/about/api/default.tpl rename to templates/bootstrap/about/api/default.tpl diff --git a/public/templates/bootstrap/about/chat/default.tpl b/templates/bootstrap/about/chat/default.tpl similarity index 100% rename from public/templates/bootstrap/about/chat/default.tpl rename to templates/bootstrap/about/chat/default.tpl diff --git a/public/templates/bootstrap/about/chat/disabled.tpl b/templates/bootstrap/about/chat/disabled.tpl similarity index 100% rename from public/templates/bootstrap/about/chat/disabled.tpl rename to templates/bootstrap/about/chat/disabled.tpl diff --git a/public/templates/bootstrap/about/default.tpl b/templates/bootstrap/about/default.tpl similarity index 100% rename from public/templates/bootstrap/about/default.tpl rename to templates/bootstrap/about/default.tpl diff --git a/public/templates/bootstrap/about/moot/default.tpl b/templates/bootstrap/about/moot/default.tpl similarity index 100% rename from public/templates/bootstrap/about/moot/default.tpl rename to templates/bootstrap/about/moot/default.tpl diff --git a/public/templates/bootstrap/about/moot/disabled.tpl b/templates/bootstrap/about/moot/disabled.tpl similarity index 100% rename from public/templates/bootstrap/about/moot/disabled.tpl rename to templates/bootstrap/about/moot/disabled.tpl diff --git a/public/templates/bootstrap/about/pool/default.tpl b/templates/bootstrap/about/pool/default.tpl similarity index 100% rename from public/templates/bootstrap/about/pool/default.tpl rename to templates/bootstrap/about/pool/default.tpl diff --git a/public/templates/bootstrap/about/pool/disabled.tpl b/templates/bootstrap/about/pool/disabled.tpl similarity index 100% rename from public/templates/bootstrap/about/pool/disabled.tpl rename to templates/bootstrap/about/pool/disabled.tpl diff --git a/public/templates/bootstrap/account/confirm/default.tpl b/templates/bootstrap/account/confirm/default.tpl similarity index 100% rename from public/templates/bootstrap/account/confirm/default.tpl rename to templates/bootstrap/account/confirm/default.tpl diff --git a/public/templates/bootstrap/account/default.tpl b/templates/bootstrap/account/default.tpl similarity index 100% rename from public/templates/bootstrap/account/default.tpl rename to templates/bootstrap/account/default.tpl diff --git a/public/templates/bootstrap/account/earnings/default.tpl b/templates/bootstrap/account/earnings/default.tpl similarity index 100% rename from public/templates/bootstrap/account/earnings/default.tpl rename to templates/bootstrap/account/earnings/default.tpl diff --git a/public/templates/bootstrap/account/edit/cashout.tpl b/templates/bootstrap/account/edit/cashout.tpl similarity index 100% rename from public/templates/bootstrap/account/edit/cashout.tpl rename to templates/bootstrap/account/edit/cashout.tpl diff --git a/public/templates/bootstrap/account/edit/default.tpl b/templates/bootstrap/account/edit/default.tpl similarity index 100% rename from public/templates/bootstrap/account/edit/default.tpl rename to templates/bootstrap/account/edit/default.tpl diff --git a/public/templates/bootstrap/account/edit/detail.tpl b/templates/bootstrap/account/edit/detail.tpl similarity index 100% rename from public/templates/bootstrap/account/edit/detail.tpl rename to templates/bootstrap/account/edit/detail.tpl diff --git a/public/templates/bootstrap/account/edit/password.tpl b/templates/bootstrap/account/edit/password.tpl similarity index 100% rename from public/templates/bootstrap/account/edit/password.tpl rename to templates/bootstrap/account/edit/password.tpl diff --git a/public/templates/bootstrap/account/edit/resetpin.tpl b/templates/bootstrap/account/edit/resetpin.tpl similarity index 100% rename from public/templates/bootstrap/account/edit/resetpin.tpl rename to templates/bootstrap/account/edit/resetpin.tpl diff --git a/public/templates/bootstrap/account/invitations/default.tpl b/templates/bootstrap/account/invitations/default.tpl similarity index 100% rename from public/templates/bootstrap/account/invitations/default.tpl rename to templates/bootstrap/account/invitations/default.tpl diff --git a/public/templates/bootstrap/account/notifications/default.tpl b/templates/bootstrap/account/notifications/default.tpl similarity index 100% rename from public/templates/bootstrap/account/notifications/default.tpl rename to templates/bootstrap/account/notifications/default.tpl diff --git a/public/templates/bootstrap/account/qrcode/default.tpl b/templates/bootstrap/account/qrcode/default.tpl similarity index 100% rename from public/templates/bootstrap/account/qrcode/default.tpl rename to templates/bootstrap/account/qrcode/default.tpl diff --git a/public/templates/bootstrap/account/qrcode/disabled.tpl b/templates/bootstrap/account/qrcode/disabled.tpl similarity index 100% rename from public/templates/bootstrap/account/qrcode/disabled.tpl rename to templates/bootstrap/account/qrcode/disabled.tpl diff --git a/public/templates/bootstrap/account/transactions/default.tpl b/templates/bootstrap/account/transactions/default.tpl similarity index 100% rename from public/templates/bootstrap/account/transactions/default.tpl rename to templates/bootstrap/account/transactions/default.tpl diff --git a/public/templates/bootstrap/account/unlock/default.tpl b/templates/bootstrap/account/unlock/default.tpl similarity index 100% rename from public/templates/bootstrap/account/unlock/default.tpl rename to templates/bootstrap/account/unlock/default.tpl diff --git a/public/templates/bootstrap/account/workers/default.tpl b/templates/bootstrap/account/workers/default.tpl similarity index 100% rename from public/templates/bootstrap/account/workers/default.tpl rename to templates/bootstrap/account/workers/default.tpl diff --git a/public/templates/bootstrap/admin/dashboard/default.tpl b/templates/bootstrap/admin/dashboard/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/dashboard/default.tpl rename to templates/bootstrap/admin/dashboard/default.tpl diff --git a/public/templates/bootstrap/admin/dashboard/invitation.tpl b/templates/bootstrap/admin/dashboard/invitation.tpl similarity index 100% rename from public/templates/bootstrap/admin/dashboard/invitation.tpl rename to templates/bootstrap/admin/dashboard/invitation.tpl diff --git a/public/templates/bootstrap/admin/dashboard/mpos.tpl b/templates/bootstrap/admin/dashboard/mpos.tpl similarity index 100% rename from public/templates/bootstrap/admin/dashboard/mpos.tpl rename to templates/bootstrap/admin/dashboard/mpos.tpl diff --git a/public/templates/bootstrap/admin/dashboard/registrations.tpl b/templates/bootstrap/admin/dashboard/registrations.tpl similarity index 100% rename from public/templates/bootstrap/admin/dashboard/registrations.tpl rename to templates/bootstrap/admin/dashboard/registrations.tpl diff --git a/public/templates/bootstrap/admin/dashboard/user.tpl b/templates/bootstrap/admin/dashboard/user.tpl similarity index 100% rename from public/templates/bootstrap/admin/dashboard/user.tpl rename to templates/bootstrap/admin/dashboard/user.tpl diff --git a/public/templates/bootstrap/admin/invitations/default.tpl b/templates/bootstrap/admin/invitations/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/invitations/default.tpl rename to templates/bootstrap/admin/invitations/default.tpl diff --git a/public/templates/bootstrap/admin/monitoring/default.tpl b/templates/bootstrap/admin/monitoring/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/monitoring/default.tpl rename to templates/bootstrap/admin/monitoring/default.tpl diff --git a/public/templates/bootstrap/admin/news/default.tpl b/templates/bootstrap/admin/news/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/news/default.tpl rename to templates/bootstrap/admin/news/default.tpl diff --git a/public/templates/bootstrap/admin/news_edit/default.tpl b/templates/bootstrap/admin/news_edit/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/news_edit/default.tpl rename to templates/bootstrap/admin/news_edit/default.tpl diff --git a/public/templates/bootstrap/admin/newsletter/default.tpl b/templates/bootstrap/admin/newsletter/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/newsletter/default.tpl rename to templates/bootstrap/admin/newsletter/default.tpl diff --git a/public/templates/bootstrap/admin/poolworkers/default.tpl b/templates/bootstrap/admin/poolworkers/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/poolworkers/default.tpl rename to templates/bootstrap/admin/poolworkers/default.tpl diff --git a/public/templates/bootstrap/admin/registrations/default.tpl b/templates/bootstrap/admin/registrations/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/registrations/default.tpl rename to templates/bootstrap/admin/registrations/default.tpl diff --git a/public/templates/bootstrap/admin/reports/default.tpl b/templates/bootstrap/admin/reports/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/reports/default.tpl rename to templates/bootstrap/admin/reports/default.tpl diff --git a/public/templates/bootstrap/admin/reports/earnings_control.tpl b/templates/bootstrap/admin/reports/earnings_control.tpl similarity index 100% rename from public/templates/bootstrap/admin/reports/earnings_control.tpl rename to templates/bootstrap/admin/reports/earnings_control.tpl diff --git a/public/templates/bootstrap/admin/reports/earnings_report.tpl b/templates/bootstrap/admin/reports/earnings_report.tpl similarity index 100% rename from public/templates/bootstrap/admin/reports/earnings_report.tpl rename to templates/bootstrap/admin/reports/earnings_report.tpl diff --git a/public/templates/bootstrap/admin/settings/default.tpl b/templates/bootstrap/admin/settings/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/settings/default.tpl rename to templates/bootstrap/admin/settings/default.tpl diff --git a/public/templates/bootstrap/admin/transactions/default.tpl b/templates/bootstrap/admin/transactions/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/transactions/default.tpl rename to templates/bootstrap/admin/transactions/default.tpl diff --git a/public/templates/bootstrap/admin/user/default.tpl b/templates/bootstrap/admin/user/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/user/default.tpl rename to templates/bootstrap/admin/user/default.tpl diff --git a/public/templates/bootstrap/admin/userdetails/default.tpl b/templates/bootstrap/admin/userdetails/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/userdetails/default.tpl rename to templates/bootstrap/admin/userdetails/default.tpl diff --git a/public/templates/bootstrap/admin/wallet/default.tpl b/templates/bootstrap/admin/wallet/default.tpl similarity index 100% rename from public/templates/bootstrap/admin/wallet/default.tpl rename to templates/bootstrap/admin/wallet/default.tpl diff --git a/public/templates/bootstrap/contactform/contactform/default.tpl b/templates/bootstrap/contactform/contactform/default.tpl similarity index 100% rename from public/templates/bootstrap/contactform/contactform/default.tpl rename to templates/bootstrap/contactform/contactform/default.tpl diff --git a/public/templates/bootstrap/contactform/default.tpl b/templates/bootstrap/contactform/default.tpl similarity index 100% rename from public/templates/bootstrap/contactform/default.tpl rename to templates/bootstrap/contactform/default.tpl diff --git a/public/templates/bootstrap/contactform/disabled.tpl b/templates/bootstrap/contactform/disabled.tpl similarity index 100% rename from public/templates/bootstrap/contactform/disabled.tpl rename to templates/bootstrap/contactform/disabled.tpl diff --git a/public/templates/bootstrap/dashboard/account_data/_workers.tpl b/templates/bootstrap/dashboard/account_data/_workers.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/account_data/_workers.tpl rename to templates/bootstrap/dashboard/account_data/_workers.tpl diff --git a/public/templates/bootstrap/dashboard/account_data/default.tpl b/templates/bootstrap/dashboard/account_data/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/account_data/default.tpl rename to templates/bootstrap/dashboard/account_data/default.tpl diff --git a/public/templates/bootstrap/dashboard/default.tpl b/templates/bootstrap/dashboard/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/default.tpl rename to templates/bootstrap/dashboard/default.tpl diff --git a/public/templates/bootstrap/dashboard/js/api.tpl b/templates/bootstrap/dashboard/js/api.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/js/api.tpl rename to templates/bootstrap/dashboard/js/api.tpl diff --git a/public/templates/bootstrap/dashboard/js/static.tpl b/templates/bootstrap/dashboard/js/static.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/js/static.tpl rename to templates/bootstrap/dashboard/js/static.tpl diff --git a/public/templates/bootstrap/dashboard/overview/_with_price_graph.tpl b/templates/bootstrap/dashboard/overview/_with_price_graph.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/overview/_with_price_graph.tpl rename to templates/bootstrap/dashboard/overview/_with_price_graph.tpl diff --git a/public/templates/bootstrap/dashboard/overview/_without_price_graph.tpl b/templates/bootstrap/dashboard/overview/_without_price_graph.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/overview/_without_price_graph.tpl rename to templates/bootstrap/dashboard/overview/_without_price_graph.tpl diff --git a/public/templates/bootstrap/dashboard/overview/default.tpl b/templates/bootstrap/dashboard/overview/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/overview/default.tpl rename to templates/bootstrap/dashboard/overview/default.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pplns/default.tpl b/templates/bootstrap/dashboard/round_statistics/pplns/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pplns/default.tpl rename to templates/bootstrap/dashboard/round_statistics/pplns/default.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pplns/round.tpl b/templates/bootstrap/dashboard/round_statistics/pplns/round.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pplns/round.tpl rename to templates/bootstrap/dashboard/round_statistics/pplns/round.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pplns/shares.tpl b/templates/bootstrap/dashboard/round_statistics/pplns/shares.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pplns/shares.tpl rename to templates/bootstrap/dashboard/round_statistics/pplns/shares.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pps/default.tpl b/templates/bootstrap/dashboard/round_statistics/pps/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pps/default.tpl rename to templates/bootstrap/dashboard/round_statistics/pps/default.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pps/round.tpl b/templates/bootstrap/dashboard/round_statistics/pps/round.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pps/round.tpl rename to templates/bootstrap/dashboard/round_statistics/pps/round.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/pps/shares.tpl b/templates/bootstrap/dashboard/round_statistics/pps/shares.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/pps/shares.tpl rename to templates/bootstrap/dashboard/round_statistics/pps/shares.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/prop/default.tpl b/templates/bootstrap/dashboard/round_statistics/prop/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/prop/default.tpl rename to templates/bootstrap/dashboard/round_statistics/prop/default.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/prop/round.tpl b/templates/bootstrap/dashboard/round_statistics/prop/round.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/prop/round.tpl rename to templates/bootstrap/dashboard/round_statistics/prop/round.tpl diff --git a/public/templates/bootstrap/dashboard/round_statistics/prop/shares.tpl b/templates/bootstrap/dashboard/round_statistics/prop/shares.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/round_statistics/prop/shares.tpl rename to templates/bootstrap/dashboard/round_statistics/prop/shares.tpl diff --git a/public/templates/bootstrap/dashboard/worker_information/default.tpl b/templates/bootstrap/dashboard/worker_information/default.tpl similarity index 100% rename from public/templates/bootstrap/dashboard/worker_information/default.tpl rename to templates/bootstrap/dashboard/worker_information/default.tpl diff --git a/public/templates/bootstrap/error/404/default.tpl b/templates/bootstrap/error/404/default.tpl similarity index 100% rename from public/templates/bootstrap/error/404/default.tpl rename to templates/bootstrap/error/404/default.tpl diff --git a/public/templates/bootstrap/error/default.tpl b/templates/bootstrap/error/default.tpl similarity index 100% rename from public/templates/bootstrap/error/default.tpl rename to templates/bootstrap/error/default.tpl diff --git a/public/templates/bootstrap/error/ratelimit/default.tpl b/templates/bootstrap/error/ratelimit/default.tpl similarity index 100% rename from public/templates/bootstrap/error/ratelimit/default.tpl rename to templates/bootstrap/error/ratelimit/default.tpl diff --git a/public/templates/bootstrap/gettingstarted/default.tpl b/templates/bootstrap/gettingstarted/default.tpl similarity index 100% rename from public/templates/bootstrap/gettingstarted/default.tpl rename to templates/bootstrap/gettingstarted/default.tpl diff --git a/public/templates/bootstrap/global/footer.tpl b/templates/bootstrap/global/footer.tpl similarity index 100% rename from public/templates/bootstrap/global/footer.tpl rename to templates/bootstrap/global/footer.tpl diff --git a/public/templates/bootstrap/global/header.tpl b/templates/bootstrap/global/header.tpl similarity index 100% rename from public/templates/bootstrap/global/header.tpl rename to templates/bootstrap/global/header.tpl diff --git a/public/templates/bootstrap/global/navigation.tpl b/templates/bootstrap/global/navigation.tpl similarity index 100% rename from public/templates/bootstrap/global/navigation.tpl rename to templates/bootstrap/global/navigation.tpl diff --git a/public/templates/bootstrap/global/navjs_api.tpl b/templates/bootstrap/global/navjs_api.tpl similarity index 100% rename from public/templates/bootstrap/global/navjs_api.tpl rename to templates/bootstrap/global/navjs_api.tpl diff --git a/public/templates/bootstrap/global/navjs_static.tpl b/templates/bootstrap/global/navjs_static.tpl similarity index 100% rename from public/templates/bootstrap/global/navjs_static.tpl rename to templates/bootstrap/global/navjs_static.tpl diff --git a/public/templates/bootstrap/home/default.tpl b/templates/bootstrap/home/default.tpl similarity index 100% rename from public/templates/bootstrap/home/default.tpl rename to templates/bootstrap/home/default.tpl diff --git a/public/templates/bootstrap/home/news_accordion.tpl b/templates/bootstrap/home/news_accordion.tpl similarity index 100% rename from public/templates/bootstrap/home/news_accordion.tpl rename to templates/bootstrap/home/news_accordion.tpl diff --git a/public/templates/bootstrap/home/news_all.tpl b/templates/bootstrap/home/news_all.tpl similarity index 100% rename from public/templates/bootstrap/home/news_all.tpl rename to templates/bootstrap/home/news_all.tpl diff --git a/public/templates/bootstrap/login/default.tpl b/templates/bootstrap/login/default.tpl similarity index 100% rename from public/templates/bootstrap/login/default.tpl rename to templates/bootstrap/login/default.tpl diff --git a/public/templates/bootstrap/master.tpl b/templates/bootstrap/master.tpl similarity index 100% rename from public/templates/bootstrap/master.tpl rename to templates/bootstrap/master.tpl diff --git a/public/templates/bootstrap/password/change/default.tpl b/templates/bootstrap/password/change/default.tpl similarity index 100% rename from public/templates/bootstrap/password/change/default.tpl rename to templates/bootstrap/password/change/default.tpl diff --git a/public/templates/bootstrap/password/default.tpl b/templates/bootstrap/password/default.tpl similarity index 100% rename from public/templates/bootstrap/password/default.tpl rename to templates/bootstrap/password/default.tpl diff --git a/public/templates/bootstrap/password/reset/empty.tpl b/templates/bootstrap/password/reset/empty.tpl similarity index 100% rename from public/templates/bootstrap/password/reset/empty.tpl rename to templates/bootstrap/password/reset/empty.tpl diff --git a/public/templates/bootstrap/register/default.tpl b/templates/bootstrap/register/default.tpl similarity index 100% rename from public/templates/bootstrap/register/default.tpl rename to templates/bootstrap/register/default.tpl diff --git a/public/templates/bootstrap/register/disabled.tpl b/templates/bootstrap/register/disabled.tpl similarity index 100% rename from public/templates/bootstrap/register/disabled.tpl rename to templates/bootstrap/register/disabled.tpl diff --git a/public/templates/bootstrap/register/register/empty.tpl b/templates/bootstrap/register/register/empty.tpl similarity index 100% rename from public/templates/bootstrap/register/register/empty.tpl rename to templates/bootstrap/register/register/empty.tpl diff --git a/public/templates/bootstrap/statistics/blockfinder/default.tpl b/templates/bootstrap/statistics/blockfinder/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blockfinder/default.tpl rename to templates/bootstrap/statistics/blockfinder/default.tpl diff --git a/public/templates/bootstrap/statistics/blockfinder/finder_own.tpl b/templates/bootstrap/statistics/blockfinder/finder_own.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blockfinder/finder_own.tpl rename to templates/bootstrap/statistics/blockfinder/finder_own.tpl diff --git a/public/templates/bootstrap/statistics/blockfinder/finder_top.tpl b/templates/bootstrap/statistics/blockfinder/finder_top.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blockfinder/finder_top.tpl rename to templates/bootstrap/statistics/blockfinder/finder_top.tpl diff --git a/public/templates/bootstrap/statistics/blocks/block_overview_time.tpl b/templates/bootstrap/statistics/blocks/block_overview_time.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blocks/block_overview_time.tpl rename to templates/bootstrap/statistics/blocks/block_overview_time.tpl diff --git a/public/templates/bootstrap/statistics/blocks/block_shares_graph.tpl b/templates/bootstrap/statistics/blocks/block_shares_graph.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blocks/block_shares_graph.tpl rename to templates/bootstrap/statistics/blocks/block_shares_graph.tpl diff --git a/public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl b/templates/bootstrap/statistics/blocks/blocks_found_details.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blocks/blocks_found_details.tpl rename to templates/bootstrap/statistics/blocks/blocks_found_details.tpl diff --git a/public/templates/bootstrap/statistics/blocks/default.tpl b/templates/bootstrap/statistics/blocks/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blocks/default.tpl rename to templates/bootstrap/statistics/blocks/default.tpl diff --git a/public/templates/bootstrap/statistics/blocks/small_table.tpl b/templates/bootstrap/statistics/blocks/small_table.tpl similarity index 100% rename from public/templates/bootstrap/statistics/blocks/small_table.tpl rename to templates/bootstrap/statistics/blocks/small_table.tpl diff --git a/public/templates/bootstrap/statistics/default.tpl b/templates/bootstrap/statistics/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/default.tpl rename to templates/bootstrap/statistics/default.tpl diff --git a/public/templates/bootstrap/statistics/donors/default.tpl b/templates/bootstrap/statistics/donors/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/donors/default.tpl rename to templates/bootstrap/statistics/donors/default.tpl diff --git a/public/templates/bootstrap/statistics/donors/disabled.tpl b/templates/bootstrap/statistics/donors/disabled.tpl similarity index 100% rename from public/templates/bootstrap/statistics/donors/disabled.tpl rename to templates/bootstrap/statistics/donors/disabled.tpl diff --git a/public/templates/bootstrap/statistics/graphs/both.tpl b/templates/bootstrap/statistics/graphs/both.tpl similarity index 100% rename from public/templates/bootstrap/statistics/graphs/both.tpl rename to templates/bootstrap/statistics/graphs/both.tpl diff --git a/public/templates/bootstrap/statistics/graphs/default.tpl b/templates/bootstrap/statistics/graphs/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/graphs/default.tpl rename to templates/bootstrap/statistics/graphs/default.tpl diff --git a/public/templates/bootstrap/statistics/graphs/mine.tpl b/templates/bootstrap/statistics/graphs/mine.tpl similarity index 100% rename from public/templates/bootstrap/statistics/graphs/mine.tpl rename to templates/bootstrap/statistics/graphs/mine.tpl diff --git a/public/templates/bootstrap/statistics/graphs/pool.tpl b/templates/bootstrap/statistics/graphs/pool.tpl similarity index 100% rename from public/templates/bootstrap/statistics/graphs/pool.tpl rename to templates/bootstrap/statistics/graphs/pool.tpl diff --git a/public/templates/bootstrap/statistics/js.tpl b/templates/bootstrap/statistics/js.tpl similarity index 100% rename from public/templates/bootstrap/statistics/js.tpl rename to templates/bootstrap/statistics/js.tpl diff --git a/public/templates/bootstrap/statistics/pool/contributors_hashrate.tpl b/templates/bootstrap/statistics/pool/contributors_hashrate.tpl similarity index 100% rename from public/templates/bootstrap/statistics/pool/contributors_hashrate.tpl rename to templates/bootstrap/statistics/pool/contributors_hashrate.tpl diff --git a/public/templates/bootstrap/statistics/pool/contributors_shares.tpl b/templates/bootstrap/statistics/pool/contributors_shares.tpl similarity index 100% rename from public/templates/bootstrap/statistics/pool/contributors_shares.tpl rename to templates/bootstrap/statistics/pool/contributors_shares.tpl diff --git a/public/templates/bootstrap/statistics/pool/default.tpl b/templates/bootstrap/statistics/pool/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/pool/default.tpl rename to templates/bootstrap/statistics/pool/default.tpl diff --git a/public/templates/bootstrap/statistics/pool/general_stats.tpl b/templates/bootstrap/statistics/pool/general_stats.tpl similarity index 100% rename from public/templates/bootstrap/statistics/pool/general_stats.tpl rename to templates/bootstrap/statistics/pool/general_stats.tpl diff --git a/public/templates/bootstrap/statistics/round/block_stats.tpl b/templates/bootstrap/statistics/round/block_stats.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/block_stats.tpl rename to templates/bootstrap/statistics/round/block_stats.tpl diff --git a/public/templates/bootstrap/statistics/round/default.tpl b/templates/bootstrap/statistics/round/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/default.tpl rename to templates/bootstrap/statistics/round/default.tpl diff --git a/public/templates/bootstrap/statistics/round/pplns_block_stats.tpl b/templates/bootstrap/statistics/round/pplns_block_stats.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/pplns_block_stats.tpl rename to templates/bootstrap/statistics/round/pplns_block_stats.tpl diff --git a/public/templates/bootstrap/statistics/round/pplns_block_stats_small.tpl b/templates/bootstrap/statistics/round/pplns_block_stats_small.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/pplns_block_stats_small.tpl rename to templates/bootstrap/statistics/round/pplns_block_stats_small.tpl diff --git a/public/templates/bootstrap/statistics/round/pplns_round_shares.tpl b/templates/bootstrap/statistics/round/pplns_round_shares.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/pplns_round_shares.tpl rename to templates/bootstrap/statistics/round/pplns_round_shares.tpl diff --git a/public/templates/bootstrap/statistics/round/pplns_transactions.tpl b/templates/bootstrap/statistics/round/pplns_transactions.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/pplns_transactions.tpl rename to templates/bootstrap/statistics/round/pplns_transactions.tpl diff --git a/public/templates/bootstrap/statistics/round/pplns_transactions_small.tpl b/templates/bootstrap/statistics/round/pplns_transactions_small.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/pplns_transactions_small.tpl rename to templates/bootstrap/statistics/round/pplns_transactions_small.tpl diff --git a/public/templates/bootstrap/statistics/round/round_shares.tpl b/templates/bootstrap/statistics/round/round_shares.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/round_shares.tpl rename to templates/bootstrap/statistics/round/round_shares.tpl diff --git a/public/templates/bootstrap/statistics/round/round_transactions.tpl b/templates/bootstrap/statistics/round/round_transactions.tpl similarity index 100% rename from public/templates/bootstrap/statistics/round/round_transactions.tpl rename to templates/bootstrap/statistics/round/round_transactions.tpl diff --git a/public/templates/bootstrap/statistics/uptime/default.tpl b/templates/bootstrap/statistics/uptime/default.tpl similarity index 100% rename from public/templates/bootstrap/statistics/uptime/default.tpl rename to templates/bootstrap/statistics/uptime/default.tpl diff --git a/public/templates/bootstrap/tac/content.tpl b/templates/bootstrap/tac/content.tpl similarity index 100% rename from public/templates/bootstrap/tac/content.tpl rename to templates/bootstrap/tac/content.tpl diff --git a/public/templates/bootstrap/tac/default.tpl b/templates/bootstrap/tac/default.tpl similarity index 100% rename from public/templates/bootstrap/tac/default.tpl rename to templates/bootstrap/tac/default.tpl diff --git a/public/templates/cache/README.md b/templates/cache/README.md similarity index 100% rename from public/templates/cache/README.md rename to templates/cache/README.md diff --git a/public/templates/compile/README.md b/templates/compile/README.md similarity index 100% rename from public/templates/compile/README.md rename to templates/compile/README.md diff --git a/public/templates/mail/contactform/body.tpl b/templates/mail/contactform/body.tpl similarity index 100% rename from public/templates/mail/contactform/body.tpl rename to templates/mail/contactform/body.tpl diff --git a/public/templates/mail/global/footer.tpl b/templates/mail/global/footer.tpl similarity index 100% rename from public/templates/mail/global/footer.tpl rename to templates/mail/global/footer.tpl diff --git a/public/templates/mail/global/header.tpl b/templates/mail/global/header.tpl similarity index 100% rename from public/templates/mail/global/header.tpl rename to templates/mail/global/header.tpl diff --git a/public/templates/mail/invitations/body.tpl b/templates/mail/invitations/body.tpl similarity index 100% rename from public/templates/mail/invitations/body.tpl rename to templates/mail/invitations/body.tpl diff --git a/public/templates/mail/newsletter/body.tpl b/templates/mail/newsletter/body.tpl similarity index 100% rename from public/templates/mail/newsletter/body.tpl rename to templates/mail/newsletter/body.tpl diff --git a/public/templates/mail/notifications/account_edit.tpl b/templates/mail/notifications/account_edit.tpl similarity index 100% rename from public/templates/mail/notifications/account_edit.tpl rename to templates/mail/notifications/account_edit.tpl diff --git a/public/templates/mail/notifications/change_pw.tpl b/templates/mail/notifications/change_pw.tpl similarity index 100% rename from public/templates/mail/notifications/change_pw.tpl rename to templates/mail/notifications/change_pw.tpl diff --git a/public/templates/mail/notifications/error.tpl b/templates/mail/notifications/error.tpl similarity index 100% rename from public/templates/mail/notifications/error.tpl rename to templates/mail/notifications/error.tpl diff --git a/public/templates/mail/notifications/idle_worker.tpl b/templates/mail/notifications/idle_worker.tpl similarity index 100% rename from public/templates/mail/notifications/idle_worker.tpl rename to templates/mail/notifications/idle_worker.tpl diff --git a/public/templates/mail/notifications/locked.tpl b/templates/mail/notifications/locked.tpl similarity index 100% rename from public/templates/mail/notifications/locked.tpl rename to templates/mail/notifications/locked.tpl diff --git a/public/templates/mail/notifications/new_block.tpl b/templates/mail/notifications/new_block.tpl similarity index 100% rename from public/templates/mail/notifications/new_block.tpl rename to templates/mail/notifications/new_block.tpl diff --git a/public/templates/mail/notifications/payout.tpl b/templates/mail/notifications/payout.tpl similarity index 100% rename from public/templates/mail/notifications/payout.tpl rename to templates/mail/notifications/payout.tpl diff --git a/public/templates/mail/notifications/success_login.tpl b/templates/mail/notifications/success_login.tpl similarity index 100% rename from public/templates/mail/notifications/success_login.tpl rename to templates/mail/notifications/success_login.tpl diff --git a/public/templates/mail/notifications/withdraw_funds.tpl b/templates/mail/notifications/withdraw_funds.tpl similarity index 100% rename from public/templates/mail/notifications/withdraw_funds.tpl rename to templates/mail/notifications/withdraw_funds.tpl diff --git a/public/templates/mail/password/reset.tpl b/templates/mail/password/reset.tpl similarity index 100% rename from public/templates/mail/password/reset.tpl rename to templates/mail/password/reset.tpl diff --git a/public/templates/mail/pin/reset.tpl b/templates/mail/pin/reset.tpl similarity index 100% rename from public/templates/mail/pin/reset.tpl rename to templates/mail/pin/reset.tpl diff --git a/public/templates/mail/register/confirm_email.tpl b/templates/mail/register/confirm_email.tpl similarity index 100% rename from public/templates/mail/register/confirm_email.tpl rename to templates/mail/register/confirm_email.tpl diff --git a/public/templates/mail/subject.tpl b/templates/mail/subject.tpl similarity index 100% rename from public/templates/mail/subject.tpl rename to templates/mail/subject.tpl From 299e0622687550bc7f4e5a3438943fc550c36532 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Mon, 14 Apr 2014 18:20:57 +0200 Subject: [PATCH 16/92] [FIX] Helper script shared files --- cronjobs/shared.inc.php | 12 +++--------- scripts/shared.inc.php | 13 +++---------- upgrade/shared.inc.php | 13 +++---------- 3 files changed, 9 insertions(+), 29 deletions(-) diff --git a/cronjobs/shared.inc.php b/cronjobs/shared.inc.php index 2fb96531..0368a9c6 100644 --- a/cronjobs/shared.inc.php +++ b/cronjobs/shared.inc.php @@ -35,7 +35,7 @@ if (SECHASH_CHECK) { // MODIFY THIS // We need to find our include files so set this properly -define("BASEPATH", "../public/"); +define("BASEPATH", dirname(__FILE__) . "/"); /***************************************************** * No need to change beyond this point * @@ -48,14 +48,8 @@ $dStartTime = microtime(true); $cron_name = basename($_SERVER['PHP_SELF'], '.php'); // Include our configuration (holding defines for the requires) -require_once(BASEPATH . 'include/config/global.inc.dist.php'); -require_once(BASEPATH . 'include/config/global.inc.php'); - -require_once(BASEPATH . 'include/config/security.inc.dist.php'); -@include_once(BASEPATH . 'include/config/security.inc.php'); - -require_once(BASEPATH . 'include/bootstrap.php'); -require_once(BASEPATH . 'include/version.inc.php'); +require_once(BASEPATH . '../include/bootstrap.php'); +require_once(BASEPATH . '../include/version.inc.php'); // Command line switches array_shift($argv); diff --git a/scripts/shared.inc.php b/scripts/shared.inc.php index acea1d65..96ad444b 100644 --- a/scripts/shared.inc.php +++ b/scripts/shared.inc.php @@ -18,9 +18,8 @@ limitations under the License. */ -// MODIFY THIS // We need to find our include files so set this properly -define("BASEPATH", "../public/"); +define('BASEPATH', dirname(__FILE__) . '/'); /***************************************************** * No need to change beyond this point * @@ -40,14 +39,8 @@ if (SECHASH_CHECK) { } // Include our configuration (holding defines for the requires) -require_once(BASEPATH . 'include/config/global.inc.dist.php'); -require_once(BASEPATH . 'include/config/global.inc.php'); - -require_once(BASEPATH . 'include/config/security.inc.dist.php'); -@include_once(BASEPATH . 'include/config/security.inc.php'); - -require_once(BASEPATH . 'include/bootstrap.php'); -require_once(BASEPATH . 'include/version.inc.php'); +require_once(BASEPATH . '../include/bootstrap.php'); +require_once(BASEPATH . '../include/version.inc.php'); /** * Not used as of yet, may be added later diff --git a/upgrade/shared.inc.php b/upgrade/shared.inc.php index 0f0638cb..fbce4bc8 100644 --- a/upgrade/shared.inc.php +++ b/upgrade/shared.inc.php @@ -18,9 +18,8 @@ limitations under the License. */ -// MODIFY THIS // We need to find our include files so set this properly -define("BASEPATH", "../public/"); +define('BASEPATH', dirname(__FILE__) . '/'); /***************************************************** * No need to change beyond this point * @@ -40,12 +39,6 @@ if (SECHASH_CHECK) { } // Include our configuration (holding defines for the requires) -require_once(BASEPATH . 'include/config/global.inc.dist.php'); -require_once(BASEPATH . 'include/config/global.inc.php'); - -require_once(BASEPATH . 'include/config/security.inc.dist.php'); -@include_once(BASEPATH . 'include/config/security.inc.php'); - -require_once(BASEPATH . 'include/bootstrap.php'); -require_once(BASEPATH . 'include/version.inc.php'); +require_once(BASEPATH . '../include/bootstrap.php'); +require_once(BASEPATH . '../include/version.inc.php'); ?> From 3d244238f037e322c71cae7d162dcec5dfb412e3 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Mon, 14 Apr 2014 18:24:35 +0200 Subject: [PATCH 17/92] [CHANGE] Unified logging folder --- cronjobs/logs/README.md | 1 - cronjobs/shared.inc.php | 2 +- include/classes/logger.class.php | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) delete mode 100644 cronjobs/logs/README.md diff --git a/cronjobs/logs/README.md b/cronjobs/logs/README.md deleted file mode 100644 index 864999fd..00000000 --- a/cronjobs/logs/README.md +++ /dev/null @@ -1 +0,0 @@ -Logging directory for cronjobs. diff --git a/cronjobs/shared.inc.php b/cronjobs/shared.inc.php index 0368a9c6..f26e692b 100644 --- a/cronjobs/shared.inc.php +++ b/cronjobs/shared.inc.php @@ -63,7 +63,7 @@ foreach ($argv as $option) { } // Load 3rd party logging library for running crons -$log = KLogger::instance( 'logs/' . $cron_name, KLogger::INFO ); +$log = KLogger::instance( BASEPATH . '../logs/' . $cron_name, KLogger::INFO ); $log->LogDebug('Starting ' . $cron_name); // Load the start time for later runtime calculations for monitoring diff --git a/include/classes/logger.class.php b/include/classes/logger.class.php index eb7b30e5..0283798d 100644 --- a/include/classes/logger.class.php +++ b/include/classes/logger.class.php @@ -5,7 +5,7 @@ class Logger { private $logging = false; public function __construct($config) { if ($config['logging']['enabled'] && $config['logging']['level'] > 0) { - $this->KLogger = KLogger::instance($config['logging']['path'], $config['logging']['level']); + $this->KLogger = KLogger::instance($config['logging']['path'] . '/website', $config['logging']['level']); $this->logging = true; $this->floatStartTime = microtime(true); } From 46cab1b7f778bd118ce24599ff3ed3687fb41409 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Tue, 15 Apr 2014 16:10:07 +0200 Subject: [PATCH 18/92] [ADDED] Upgrade script for config migration --- include/version.inc.php | 2 +- upgrade/definitions/0.0.8_to_0.0.9.inc.php | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100755 upgrade/definitions/0.0.8_to_0.0.9.inc.php diff --git a/include/version.inc.php b/include/version.inc.php index 2348930e..c9316aab 100644 --- a/include/version.inc.php +++ b/include/version.inc.php @@ -2,7 +2,7 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; define('MPOS_VERSION', '0.0.4'); -define('DB_VERSION', '0.0.8'); +define('DB_VERSION', '0.0.9'); define('CONFIG_VERSION', '0.0.8'); // Fetch installed database version diff --git a/upgrade/definitions/0.0.8_to_0.0.9.inc.php b/upgrade/definitions/0.0.8_to_0.0.9.inc.php new file mode 100755 index 00000000..36de211a --- /dev/null +++ b/upgrade/definitions/0.0.8_to_0.0.9.inc.php @@ -0,0 +1,50 @@ +getValue('DB_VERSION'); // Our actual version installed + + // Upgrade specific variables + $aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '0.0.9' WHERE name = 'DB_VERSION'"; + + echo '- Starting configuration migration into new location' . PHP_EOL; + $files = glob(BASEPATH . '../public/include/config/*'); + foreach ($files as $configFile) { + echo '- Moving ' . basename($configFile) . PHP_EOL; + system('mv ' . $configFile . ' ../include/config/'); + } + + echo '- Starting folder cleanup' . PHP_EOL; + $folders = array(BASEPATH . '../public/include/config', BASEPATH . '../public/include'); + foreach ($folders as $folderPath) { + if (file_exists($folderPath)) { + echo '- Removing ' . $folderPath . PHP_EOL; + $files = glob($folderPath . '/*'); + if (count($files) == 0) { + system('rmdir ' . $folderPath); + } else { + echo '! folder not empty, not removed' . PHP_EOL; + } + } + } + + if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { + // Run the upgrade + echo '- Starting database migration to version ' . $db_version_new . PHP_EOL; + foreach ($aSql as $sql) { + echo '- Preparing: ' . $sql . PHP_EOL; + $stmt = $mysqli->prepare($sql); + if ($stmt && $stmt->execute()) { + echo '- success' . PHP_EOL; + } else { + echo '! failed: ' . $mysqli->error . PHP_EOL; + exit(1); + } + } + } +} +?> From 78c341925463d79ac78d871341f309934ab7b0f1 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Tue, 15 Apr 2014 16:16:54 +0200 Subject: [PATCH 19/92] [ADDED] New base structure for 0.0.9 --- sql/000_base_structure.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/000_base_structure.sql b/sql/000_base_structure.sql index 1e764c5c..18160aac 100644 --- a/sql/000_base_structure.sql +++ b/sql/000_base_structure.sql @@ -133,7 +133,7 @@ CREATE TABLE IF NOT EXISTS `settings` ( UNIQUE KEY `setting` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.8'); +INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.9'); CREATE TABLE IF NOT EXISTS `shares` ( `id` bigint(30) NOT NULL AUTO_INCREMENT, From 5635fc3e347183e826e67cafbe44156e409f62b0 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 16 Apr 2014 22:29:30 +0200 Subject: [PATCH 20/92] [ADDED] New htaccess file for approot --- .htaccess | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.htaccess b/.htaccess index d71420f8..a176a76f 100644 --- a/.htaccess +++ b/.htaccess @@ -1,3 +1,10 @@ ErrorDocument 404 /public/index.php?page=error&action=404 RedirectMatch 404 /logs(/|$) -Options -Indexes \ No newline at end of file +RedirectMatch 404 /templtes(/|$) +RedirectMatch 404 /include(/|$) +RedirectMatch 404 /scripts(/|$) +RedirectMatch 404 /sql(/|$) +RedirectMatch 404 /upgrade(/|$) +RedirectMatch 404 /cronjobs(/|$) +RedirectMatch 404 /tests(/|$) +Options -Indexes From 8a2fb4c65969bf8b5638196dfafbc6f466005473 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 16 Apr 2014 22:29:59 +0200 Subject: [PATCH 21/92] [UPDATE] htaccess for docroot --- public/.htaccess | 2 -- 1 file changed, 2 deletions(-) diff --git a/public/.htaccess b/public/.htaccess index 9750f3bb..20cf67c6 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,4 +1,2 @@ ErrorDocument 404 /index.php?page=error&action=404 -RedirectMatch 404 /templates(/|$) -RedirectMatch 404 /include(/|$) RedirectMatch 404 /.git(/|$) From 257941af541aa0b4bc4daddece4022322493761e Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 17 Apr 2014 06:59:01 +0200 Subject: [PATCH 22/92] [ADDED] Hint to use git status --- upgrade/definitions/0.0.8_to_0.0.9.inc.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/upgrade/definitions/0.0.8_to_0.0.9.inc.php b/upgrade/definitions/0.0.8_to_0.0.9.inc.php index 36de211a..c4d0add2 100755 --- a/upgrade/definitions/0.0.8_to_0.0.9.inc.php +++ b/upgrade/definitions/0.0.8_to_0.0.9.inc.php @@ -32,6 +32,8 @@ function run_009() { } } + echo '! Use `git status` to clenaup any remaining left over folders' . PHP_EOL; + if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { // Run the upgrade echo '- Starting database migration to version ' . $db_version_new . PHP_EOL; From d5af8ec8b25367a75eb373959fa0b24054adce09 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Thu, 17 Apr 2014 07:10:49 +0200 Subject: [PATCH 23/92] [FIX] Mail template usage --- include/classes/mail.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/include/classes/mail.class.php b/include/classes/mail.class.php index d3375402..a60359bd 100644 --- a/include/classes/mail.class.php +++ b/include/classes/mail.class.php @@ -74,8 +74,8 @@ class Mail extends Base { } // Prepare the smarty templates used - $this->smarty->clearCache(BASEPATH . 'templates/mail/' . $template . '.tpl'); - $this->smarty->clearCache(BASEPATH . 'templates/mail/subject.tpl'); + $this->smarty->clearCache(TEMPLATE_DIR . '/mail/' . $template . '.tpl'); + $this->smarty->clearCache(TEMPLATE_DIR . '/mail/subject.tpl'); $this->smarty->assign('WEBSITENAME', $this->setting->getValue('website_name')); $this->smarty->assign('SUBJECT', $aData['subject']); $this->smarty->assign('DATA', $aData); @@ -84,12 +84,12 @@ class Mail extends Base { $senderEmail = $this->setting->getValue('website_email', 'test@example.com'); $senderName = $this->setting->getValue('website_name', 'test@example.com'); $message = Swift_Message::newInstance() - ->setSubject($this->smarty->fetch(BASEPATH . 'templates/mail/subject.tpl')) + ->setSubject($this->smarty->fetch(TEMPLATE_DIR . '/mail/subject.tpl')) ->setFrom(array( $senderEmail => $senderName)) ->setTo($aData['email']) ->setSender($senderEmail) ->setReturnPath($senderEmail) - ->setBody($this->smarty->fetch(BASEPATH . 'templates/mail/' . $template . '.tpl'), 'text/html'); + ->setBody($this->smarty->fetch(TEMPLATE_DIR . '/mail/' . $template . '.tpl'), 'text/html'); if (isset($aData['senderName']) && isset($aData['senderEmail']) && strlen($aData['senderName']) > 0 && From 4cac2ce3b4c68697e311a117cdf371a67c5aa671 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 17:07:31 +0200 Subject: [PATCH 24/92] [IMPROVED] Versioned password hashing support Addresses #2047 --- public/include/classes/user.class.php | 34 +++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 68e77d3a..1c72f782 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -7,8 +7,15 @@ class User extends Base { private $user = array(); // get and set methods - private function getHash($string) { - return hash('sha256', $string.$this->salt); + private function getHash($string, $version=0, $pepper='') { + switch($version) { + case 0: + return hash('sha256', $string.$this->salt); + break; + case 1: + return '$' . $version . '$' . $pepper . '$' . hash('sha256', $string.$this->salt.$pepper); + break; + } } public function getUserName($id) { return $this->getSingle($id, 'username', 'id'); @@ -263,6 +270,8 @@ class User extends Base { $stmt = $this->mysqli->prepare("SELECT pin FROM $this->table WHERE id=? AND pin=? LIMIT 1"); $pin_hash = $this->getHash($pin); if ($stmt->bind_param('is', $userId, $pin_hash) && $stmt->execute() && $stmt->bind_result($row_pin) && $stmt->fetch()) { + $aPin = explode('$', $row_pin); + count($aPin) == 1 ? $pin_hash = $this->getHash($pin, 0) : $pin_hash = $this->getHash($pin, $aPin[1], $aPin[2]); $this->setUserPinFailed($userId, 0); return ($pin_hash === $row_pin); } @@ -407,7 +416,7 @@ class User extends Base { $this->setErrorMessage('A request has already been sent to your e-mail address. Please wait an hour for it to expire.'); return false; } - + /** * Update the accounts password * @param userID int User ID @@ -460,7 +469,7 @@ class User extends Base { $this->setErrorMessage( 'Unable to update password, current password wrong?' ); return false; } - + /** * Update account information from the edit account page * @param userID int User ID @@ -538,7 +547,7 @@ class User extends Base { return false; } } - + // We passed all validation checks so update the account $stmt = $this->mysqli->prepare("UPDATE $this->table SET coin_address = ?, ap_threshold = ?, donate_percent = ?, email = ?, is_anonymous = ? WHERE id = ?"); if ($this->checkStmt($stmt) && $stmt->bind_param('sddsii', $address, $threshold, $donate, $email, $is_anonymous, $userID) && $stmt->execute()) { @@ -577,14 +586,15 @@ class User extends Base { private function checkUserPassword($username, $password) { $this->debug->append("STA " . __METHOD__, 4); $user = array(); - $password_hash = $this->getHash($password); - $stmt = $this->mysqli->prepare("SELECT username, id, is_admin FROM $this->table WHERE LOWER(username) = LOWER(?) AND pass = ? LIMIT 1"); - if ($this->checkStmt($stmt) && $stmt->bind_param('ss', $username, $password_hash) && $stmt->execute() && $stmt->bind_result($row_username, $row_id, $row_admin)) { + $stmt = $this->mysqli->prepare("SELECT username, pass, id, is_admin FROM $this->table WHERE LOWER(username) = LOWER(?) LIMIT 1"); + if ($this->checkStmt($stmt) && $stmt->bind_param('s', $username) && $stmt->execute() && $stmt->bind_result($row_username, $row_password, $row_id, $row_admin)) { $stmt->fetch(); $stmt->close(); + $aPassword = explode('$', $row_password); + count($aPassword) == 1 ? $password_hash = $this->getHash($password, 0) : $password_hash = $this->getHash($password, $aPassword[1], $aPassword[2]); // Store the basic login information $this->user = array('username' => $row_username, 'id' => $row_id, 'is_admin' => $row_admin); - return strtolower($username) === strtolower($row_username); + return $password_hash === $row_password && strtolower($username) === strtolower($row_username); } return $this->sqlError(); } @@ -788,9 +798,9 @@ class User extends Base { } // Create hashed strings using original string and salt - $password_hash = $this->getHash($password1); - $pin_hash = $this->getHash($pin); - $apikey_hash = $this->getHash($username); + $password_hash = $this->getHash($password1, 1, bin2hex(openssl_random_pseudo_bytes(32))); + $pin_hash = $this->getHash($pin, 1, bin2hex(openssl_random_pseudo_bytes(32))); + $apikey_hash = $this->getHash($username, 0); $username_clean = strip_tags($username); $signup_time = time(); From 7ffb6ad48468aca292c85948d83206f8330b2a72 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 18:18:45 +0200 Subject: [PATCH 25/92] [ADDED] Upgrades hashes after pin/password update --- public/include/classes/user.class.php | 32 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 1c72f782..4aaa41d6 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -35,6 +35,12 @@ class User extends Base { public function getUserEmailById($id) { return $this->getSingle($id, 'email', 'id', 'i'); } + public function getUserPasswordHashById($id) { + return $this->getSingle($id, 'pass', 'id', 'i'); + } + public function getUserPinHashById($id) { + return $this->getSingle($id, 'pin', 'id', 'i'); + } public function getUserNoFee($id) { return $this->getSingle($id, 'no_fees', 'id'); } @@ -264,14 +270,14 @@ class User extends Base { * @param pin int PIN to check * @return bool **/ - public function checkPin($userId, $pin=false) { + public function checkPin($userId, $pin='') { $this->debug->append("STA " . __METHOD__, 4); $this->debug->append("Confirming PIN for $userId and pin $pin", 2); - $stmt = $this->mysqli->prepare("SELECT pin FROM $this->table WHERE id=? AND pin=? LIMIT 1"); - $pin_hash = $this->getHash($pin); + $strPinHash = $this->getUserPinHashById($userId); + $aPin = explode('$', $strPinHash); + 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()) { - $aPin = explode('$', $row_pin); - count($aPin) == 1 ? $pin_hash = $this->getHash($pin, 0) : $pin_hash = $this->getHash($pin, $aPin[1], $aPin[2]); $this->setUserPinFailed($userId, 0); return ($pin_hash === $row_pin); } @@ -298,15 +304,17 @@ class User extends Base { $this->debug->append("STA " . __METHOD__, 4); $username = $this->getUserName($userID); $email = $this->getUserEmail($username); - $current = $this->getHash($current); + $strPasswordHash = $this->getUserPasswordHashById($userID); + $aPassword = explode('$', $strPasswordHash); + count($aPassword) == 1 ? $password_hash = $this->getHash($current, 0) : $password_hash = $this->getHash($current, $aPassword[1], $aPassword[2]); $newpin = intval( '0' . rand(1,9) . rand(0,9) . rand(0,9) . rand(0,9) ); $aData['username'] = $username; $aData['email'] = $email; $aData['pin'] = $newpin; - $newpin = $this->getHash($newpin); + $newpin = $this->getHash($newpin, 1, bin2hex(openssl_random_pseudo_bytes(32))); $aData['subject'] = 'PIN Reset Request'; $stmt = $this->mysqli->prepare("UPDATE $this->table SET pin = ? WHERE ( id = ? AND pass = ? )"); - if ($this->checkStmt($stmt) && $stmt->bind_param('sis', $newpin, $userID, $current) && $stmt->execute()) { + if ($this->checkStmt($stmt) && $stmt->bind_param('sis', $newpin, $userID, $password_hash) && $stmt->execute()) { if ($stmt->errno == 0 && $stmt->affected_rows === 1) { if ($this->mail->sendMail('pin/reset', $aData)) { $this->log->log("info", "$username was sent a pin reset e-mail"); @@ -436,8 +444,10 @@ class User extends Base { $this->setErrorMessage( 'New password is too short, please use more than 8 chars' ); return false; } - $current = $this->getHash($current); - $new = $this->getHash($new1); + $strPasswordHash = $this->getUserPasswordHashById($userID); + $aPassword = explode('$', $strPasswordHash); + count($aPassword) == 1 ? $password_hash = $this->getHash($current, 0) : $password_hash = $this->getHash($current, $aPassword[1], $aPassword[2]); + $new = $this->getHash($new1, 1, bin2hex(openssl_random_pseudo_bytes(32))); if ($this->config['twofactor']['enabled'] && $this->config['twofactor']['options']['changepw']) { $tValid = $this->token->isTokenValid($userID, $strToken, 6); if ($tValid) { @@ -457,7 +467,7 @@ class User extends Base { } $stmt = $this->mysqli->prepare("UPDATE $this->table SET pass = ? WHERE ( id = ? AND pass = ? )"); if ($this->checkStmt($stmt)) { - $stmt->bind_param('sis', $new, $userID, $current); + $stmt->bind_param('sis', $new, $userID, $password_hash); $stmt->execute(); if ($stmt->errno == 0 && $stmt->affected_rows === 1) { $this->log->log("info", $this->getUserName($userID)." updated password"); From 22df492d7cbbd30ce1af1633fb61596f019a1e1d Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 18:38:24 +0200 Subject: [PATCH 26/92] [ADDED] HASH_VERSION for easier hash upgrades --- public/include/classes/user.class.php | 8 ++++---- public/include/version.inc.php | 1 + 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 4aaa41d6..c88bc12c 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -311,7 +311,7 @@ class User extends Base { $aData['username'] = $username; $aData['email'] = $email; $aData['pin'] = $newpin; - $newpin = $this->getHash($newpin, 1, bin2hex(openssl_random_pseudo_bytes(32))); + $newpin = $this->getHash($newpin, HASH_VERSION, bin2hex(openssl_random_pseudo_bytes(32))); $aData['subject'] = 'PIN Reset Request'; $stmt = $this->mysqli->prepare("UPDATE $this->table SET pin = ? WHERE ( id = ? AND pass = ? )"); if ($this->checkStmt($stmt) && $stmt->bind_param('sis', $newpin, $userID, $password_hash) && $stmt->execute()) { @@ -447,7 +447,7 @@ class User extends Base { $strPasswordHash = $this->getUserPasswordHashById($userID); $aPassword = explode('$', $strPasswordHash); count($aPassword) == 1 ? $password_hash = $this->getHash($current, 0) : $password_hash = $this->getHash($current, $aPassword[1], $aPassword[2]); - $new = $this->getHash($new1, 1, bin2hex(openssl_random_pseudo_bytes(32))); + $new = $this->getHash($new1, HASH_VERSION, bin2hex(openssl_random_pseudo_bytes(32))); if ($this->config['twofactor']['enabled'] && $this->config['twofactor']['options']['changepw']) { $tValid = $this->token->isTokenValid($userID, $strToken, 6); if ($tValid) { @@ -808,8 +808,8 @@ class User extends Base { } // Create hashed strings using original string and salt - $password_hash = $this->getHash($password1, 1, bin2hex(openssl_random_pseudo_bytes(32))); - $pin_hash = $this->getHash($pin, 1, bin2hex(openssl_random_pseudo_bytes(32))); + $password_hash = $this->getHash($password1, HASH_VERSION, bin2hex(openssl_random_pseudo_bytes(32))); + $pin_hash = $this->getHash($pin, HASH_VERSION, bin2hex(openssl_random_pseudo_bytes(32))); $apikey_hash = $this->getHash($username, 0); $username_clean = strip_tags($username); $signup_time = time(); diff --git a/public/include/version.inc.php b/public/include/version.inc.php index 2348930e..2e801e8a 100644 --- a/public/include/version.inc.php +++ b/public/include/version.inc.php @@ -4,6 +4,7 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; define('MPOS_VERSION', '0.0.4'); define('DB_VERSION', '0.0.8'); define('CONFIG_VERSION', '0.0.8'); +define('HASH_VERSION', 1); // Fetch installed database version $db_version = $setting->getValue('DB_VERSION'); From b37aa821edebd07cffe9595fa35003675e1e26cf Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 23 Apr 2014 10:18:58 +0200 Subject: [PATCH 27/92] [FIX] HTTP(s) Detection on Mail Templates --- public/templates/mail/invitations/body.tpl | 2 +- public/templates/mail/notifications/account_edit.tpl | 4 ++-- public/templates/mail/notifications/change_pw.tpl | 4 ++-- public/templates/mail/notifications/locked.tpl | 2 +- public/templates/mail/notifications/withdraw_funds.tpl | 4 ++-- public/templates/mail/password/reset.tpl | 2 +- public/templates/mail/register/confirm_email.tpl | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) diff --git a/public/templates/mail/invitations/body.tpl b/public/templates/mail/invitations/body.tpl index 7a17437b..5798f721 100644 --- a/public/templates/mail/invitations/body.tpl +++ b/public/templates/mail/invitations/body.tpl @@ -2,7 +2,7 @@

        Hello valued miner,


        {nocache}{$DATA.username}{/nocache} invited you to participate on this pool: -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=register&token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=register&token={nocache}{$DATA.token}{/nocache}

        {if $DATA.message}

        Personal message:

        {nocache}{$DATA.message}{/nocache}

        {/if}

        Cheers,

        diff --git a/public/templates/mail/notifications/account_edit.tpl b/public/templates/mail/notifications/account_edit.tpl index fa1fcfcf..323a5df0 100644 --- a/public/templates/mail/notifications/account_edit.tpl +++ b/public/templates/mail/notifications/account_edit.tpl @@ -2,8 +2,8 @@

        You have a pending request to change your account details.

        If you initiated this request, please follow the link below to confirm your changes. If you did NOT, please notify an administrator.

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&ea_token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&ea_token={nocache}{$DATA.token}{/nocache}



        - \ No newline at end of file + diff --git a/public/templates/mail/notifications/change_pw.tpl b/public/templates/mail/notifications/change_pw.tpl index 7f0b8f63..bee7eecd 100644 --- a/public/templates/mail/notifications/change_pw.tpl +++ b/public/templates/mail/notifications/change_pw.tpl @@ -2,8 +2,8 @@

        You have a pending request to change your password.

        If you initiated this request, please follow the link below to confirm your changes. If you did NOT, please notify an administrator.

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&cp_token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&cp_token={nocache}{$DATA.token}{/nocache}



        - \ No newline at end of file + diff --git a/public/templates/mail/notifications/locked.tpl b/public/templates/mail/notifications/locked.tpl index 7cfacfba..8f5f4212 100644 --- a/public/templates/mail/notifications/locked.tpl +++ b/public/templates/mail/notifications/locked.tpl @@ -1,7 +1,7 @@

        You account has been locked due to too many failed password or PIN attempts. Please follow the URL below to unlock your account.

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=unlock&token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=unlock&token={nocache}{$DATA.token}{/nocache}



        diff --git a/public/templates/mail/notifications/withdraw_funds.tpl b/public/templates/mail/notifications/withdraw_funds.tpl index ee17365c..aefafc3e 100644 --- a/public/templates/mail/notifications/withdraw_funds.tpl +++ b/public/templates/mail/notifications/withdraw_funds.tpl @@ -2,8 +2,8 @@

        You have a pending request to manually withdraw funds.

        If you initiated this request, please follow the link below to confirm your changes. If you did NOT, please notify an administrator.

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&wf_token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=edit&wf_token={nocache}{$DATA.token}{/nocache}



        - \ No newline at end of file + diff --git a/public/templates/mail/password/reset.tpl b/public/templates/mail/password/reset.tpl index 9b8925b4..cb83c1a3 100644 --- a/public/templates/mail/password/reset.tpl +++ b/public/templates/mail/password/reset.tpl @@ -2,7 +2,7 @@

        Hello {nocache}{$DATA.username}{/nocache},


        You have requested a password reset through our online form. In order to complete the request please follow this link:

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=password&action=change&token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=password&action=change&token={nocache}{$DATA.token}{/nocache}

        You will be asked to change your password. You can then use this new password to login to your account.

        Cheers,

        {$WEBSITENAME}

        diff --git a/public/templates/mail/register/confirm_email.tpl b/public/templates/mail/register/confirm_email.tpl index dc0589a2..2275c747 100644 --- a/public/templates/mail/register/confirm_email.tpl +++ b/public/templates/mail/register/confirm_email.tpl @@ -2,7 +2,7 @@

        Hello {nocache}{$DATA.username}{/nocache},


        You have created a new account. In order to complete the registration process please follow this link:

        -

        http://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=confirm&token={nocache}{$DATA.token}{/nocache}

        +

        http{if $smarty.server.HTTPS|default:"" eq "on"}s{/if}://{$smarty.server.SERVER_NAME}{$smarty.server.SCRIPT_NAME}?page=account&action=confirm&token={nocache}{$DATA.token}{/nocache}

        Cheers,

        {$WEBSITENAME}

        From 440d0bad17201149d2924a390c615b1f7be05a3f Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 15:27:38 +0200 Subject: [PATCH 28/92] [ADDED] Timezone support for user accounts --- public/include/bootstrap.php | 10 ++++++- public/include/classes/user.class.php | 12 ++++---- public/include/pages/account/edit.inc.php | 6 +++- public/include/version.inc.php | 2 +- .../bootstrap/account/edit/detail.tpl | 9 ++++++ upgrade/definitions/0.0.8_to_0.0.9.inc.php | 30 +++++++++++++++++++ 6 files changed, 60 insertions(+), 9 deletions(-) create mode 100755 upgrade/definitions/0.0.8_to_0.0.9.inc.php diff --git a/public/include/bootstrap.php b/public/include/bootstrap.php index fe6a9d02..241fccca 100644 --- a/public/include/bootstrap.php +++ b/public/include/bootstrap.php @@ -29,6 +29,14 @@ if (!$session_start) { } @setcookie(session_name(), session_id(), time()+$config['cookie']['duration'], $config['cookie']['path'], $config['cookie']['domain'], $config['cookie']['secure'], $config['cookie']['httponly']); +// Set the timezone if a user has it set, default UTC +if (isset($_SESSION['USERDATA']['timezone'])) { + $aTimezones = DateTimeZone::listIdentifiers(); + date_default_timezone_set($aTimezones[$_SESSION['USERDATA']['timezone']]); +} else { + date_default_timezone_set('UTC'); +} + // Our default template to load, pages can overwrite this later $master_template = 'master.tpl'; @@ -36,4 +44,4 @@ $master_template = 'master.tpl'; // We include all needed files here, even though our templates could load them themself require_once(INCLUDE_DIR . '/autoloader.inc.php'); -?> \ No newline at end of file +?> diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index c88bc12c..4cc7d1a7 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -489,7 +489,7 @@ class User extends Base { * @param strToken string Token for confirmation * @return bool **/ - public function updateAccount($userID, $address, $threshold, $donate, $email, $is_anonymous, $strToken) { + public function updateAccount($userID, $address, $threshold, $donate, $email, $timezone, $is_anonymous, $strToken) { $this->debug->append("STA " . __METHOD__, 4); $bUser = false; $donate = round($donate, 2); @@ -559,8 +559,8 @@ class User extends Base { } // We passed all validation checks so update the account - $stmt = $this->mysqli->prepare("UPDATE $this->table SET coin_address = ?, ap_threshold = ?, donate_percent = ?, email = ?, is_anonymous = ? WHERE id = ?"); - if ($this->checkStmt($stmt) && $stmt->bind_param('sddsii', $address, $threshold, $donate, $email, $is_anonymous, $userID) && $stmt->execute()) { + $stmt = $this->mysqli->prepare("UPDATE $this->table SET coin_address = ?, ap_threshold = ?, donate_percent = ?, email = ?, timezone = ?, is_anonymous = ? WHERE id = ?"); + if ($this->checkStmt($stmt) && $stmt->bind_param('sddssii', $address, $threshold, $donate, $email, $timezone, $is_anonymous, $userID) && $stmt->execute()) { $this->log->log("info", $this->getUserName($userID)." updated their account details"); return true; } @@ -596,14 +596,14 @@ class User extends Base { private function checkUserPassword($username, $password) { $this->debug->append("STA " . __METHOD__, 4); $user = array(); - $stmt = $this->mysqli->prepare("SELECT username, pass, id, is_admin FROM $this->table WHERE LOWER(username) = LOWER(?) LIMIT 1"); + $stmt = $this->mysqli->prepare("SELECT username, pass, id, timezone, is_admin FROM $this->table WHERE LOWER(username) = LOWER(?) LIMIT 1"); if ($this->checkStmt($stmt) && $stmt->bind_param('s', $username) && $stmt->execute() && $stmt->bind_result($row_username, $row_password, $row_id, $row_admin)) { $stmt->fetch(); $stmt->close(); $aPassword = explode('$', $row_password); count($aPassword) == 1 ? $password_hash = $this->getHash($password, 0) : $password_hash = $this->getHash($password, $aPassword[1], $aPassword[2]); // Store the basic login information - $this->user = array('username' => $row_username, 'id' => $row_id, 'is_admin' => $row_admin); + $this->user = array('username' => $row_username, 'id' => $row_id, 'timezone' => $row_timezone, 'is_admin' => $row_admin); return $password_hash === $row_password && strtolower($username) === strtolower($row_username); } return $this->sqlError(); @@ -703,7 +703,7 @@ class User extends Base { $this->debug->append("Fetching user information for user id: $userID"); $stmt = $this->mysqli->prepare(" SELECT - id, username, pin, api_key, is_admin, is_anonymous, email, no_fees, + id, username, pin, api_key, is_admin, is_anonymous, email, timezone, no_fees, IFNULL(donate_percent, '0') as donate_percent, coin_address, ap_threshold FROM $this->table WHERE id = ? LIMIT 0,1"); diff --git a/public/include/pages/account/edit.inc.php b/public/include/pages/account/edit.inc.php index 95aff459..cc25e0b8 100644 --- a/public/include/pages/account/edit.inc.php +++ b/public/include/pages/account/edit.inc.php @@ -132,7 +132,7 @@ if ($user->isAuthenticated()) { if ($config['twofactor']['enabled'] && $config['twofactor']['options']['details'] && !$ea_editable) { $_SESSION['POPUP'][] = array('CONTENT' => 'You have not yet unlocked account updates.', 'TYPE' => 'alert alert-danger'); } else if (!$config['csrf']['enabled'] || $config['csrf']['enabled'] && $csrftoken->valid) { - if ($user->updateAccount($_SESSION['USERDATA']['id'], $_POST['paymentAddress'], $_POST['payoutThreshold'], $_POST['donatePercent'], $_POST['email'], $_POST['is_anonymous'], $oldtoken_ea)) { + if ($user->updateAccount($_SESSION['USERDATA']['id'], $_POST['paymentAddress'], $_POST['payoutThreshold'], $_POST['donatePercent'], $_POST['email'], $_POST['timezone'], $_POST['is_anonymous'], $oldtoken_ea)) { $_SESSION['POPUP'][] = array('CONTENT' => 'Account details updated', 'TYPE' => 'alert alert-success'); } else { $_SESSION['POPUP'][] = array('CONTENT' => 'Failed to update your account: ' . $user->getError(), 'TYPE' => 'alert alert-danger'); @@ -197,6 +197,10 @@ if ($config['twofactor']['enabled'] && $user->isAuthenticated()) { $smarty->assign("DETAILSSENT", $ea_sent); } +// Grab our timezones +$smarty->assign('TIMEZONES', DateTimeZone::listIdentifiers()); + +// Fetch donation threshold $smarty->assign("DONATE_THRESHOLD", $config['donate_threshold']); // Tempalte specifics diff --git a/public/include/version.inc.php b/public/include/version.inc.php index 2e801e8a..a94bf193 100644 --- a/public/include/version.inc.php +++ b/public/include/version.inc.php @@ -2,7 +2,7 @@ $defflip = (!cfip()) ? exit(header('HTTP/1.1 401 Unauthorized')) : 1; define('MPOS_VERSION', '0.0.4'); -define('DB_VERSION', '0.0.8'); +define('DB_VERSION', '0.0.9'); define('CONFIG_VERSION', '0.0.8'); define('HASH_VERSION', 1); diff --git a/public/templates/bootstrap/account/edit/detail.tpl b/public/templates/bootstrap/account/edit/detail.tpl index a98251c5..2b5ba6a5 100644 --- a/public/templates/bootstrap/account/edit/detail.tpl +++ b/public/templates/bootstrap/account/edit/detail.tpl @@ -30,6 +30,15 @@ {nocache}{/nocache}
      +
      + + {nocache} + + {/nocache} + +
      {nocache}{/nocache} diff --git a/upgrade/definitions/0.0.8_to_0.0.9.inc.php b/upgrade/definitions/0.0.8_to_0.0.9.inc.php new file mode 100755 index 00000000..c286c85b --- /dev/null +++ b/upgrade/definitions/0.0.8_to_0.0.9.inc.php @@ -0,0 +1,30 @@ +getValue('DB_VERSION'); // Our actual version installed + + // Upgrade specific variables + $aSql[] = "ALTER TABLE " . $user->getTableName() . " ADD `timezone` VARCHAR(35) NOT NULL DEFAULT 'UTC' AFTER `email`"; + $aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '0.0.9' WHERE name = 'DB_VERSION'"; + + if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { + // Run the upgrade + echo '- Starting database migration to version ' . $db_version_new . PHP_EOL; + foreach ($aSql as $sql) { + echo '- Preparing: ' . $sql . PHP_EOL; + $stmt = $mysqli->prepare($sql); + if ($stmt && $stmt->execute()) { + echo '- success' . PHP_EOL; + } else { + echo '- failed: ' . $mysqli->error . PHP_EOL; + exit(1); + } + } + } +} +?> From 2bcc48937f3b56f94786a2a88993f0d7bd9d5368 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 15:34:11 +0200 Subject: [PATCH 29/92] [FIX] Re-new timezone on account update --- public/include/pages/account/edit.inc.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/public/include/pages/account/edit.inc.php b/public/include/pages/account/edit.inc.php index cc25e0b8..78782ad4 100644 --- a/public/include/pages/account/edit.inc.php +++ b/public/include/pages/account/edit.inc.php @@ -133,9 +133,10 @@ if ($user->isAuthenticated()) { $_SESSION['POPUP'][] = array('CONTENT' => 'You have not yet unlocked account updates.', 'TYPE' => 'alert alert-danger'); } else if (!$config['csrf']['enabled'] || $config['csrf']['enabled'] && $csrftoken->valid) { if ($user->updateAccount($_SESSION['USERDATA']['id'], $_POST['paymentAddress'], $_POST['payoutThreshold'], $_POST['donatePercent'], $_POST['email'], $_POST['timezone'], $_POST['is_anonymous'], $oldtoken_ea)) { - $_SESSION['POPUP'][] = array('CONTENT' => 'Account details updated', 'TYPE' => 'alert alert-success'); + $_SESSION['USERDATA']['timezone'] = $_POST['timezone']; + $_SESSION['POPUP'][] = array('CONTENT' => 'Account details updated', 'TYPE' => 'alert alert-success'); } else { - $_SESSION['POPUP'][] = array('CONTENT' => 'Failed to update your account: ' . $user->getError(), 'TYPE' => 'alert alert-danger'); + $_SESSION['POPUP'][] = array('CONTENT' => 'Failed to update your account: ' . $user->getError(), 'TYPE' => 'alert alert-danger'); } } else { $_SESSION['POPUP'][] = array('CONTENT' => $csrftoken->getErrorWithDescriptionHTML(), 'TYPE' => 'alert alert-warning'); From 68d59d6eae62bebba1240881db2549397a929eb6 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 16:15:55 +0200 Subject: [PATCH 30/92] [SQL] Base structure updated --- sql/000_base_structure.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sql/000_base_structure.sql b/sql/000_base_structure.sql index 1e764c5c..18160aac 100644 --- a/sql/000_base_structure.sql +++ b/sql/000_base_structure.sql @@ -133,7 +133,7 @@ CREATE TABLE IF NOT EXISTS `settings` ( UNIQUE KEY `setting` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.8'); +INSERT INTO `settings` (`name`, `value`) VALUES ('DB_VERSION', '0.0.9'); CREATE TABLE IF NOT EXISTS `shares` ( `id` bigint(30) NOT NULL AUTO_INCREMENT, From 1c02b09636be2d8943d1aca8b5ed8c20e611522e Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Sun, 20 Apr 2014 16:18:40 +0200 Subject: [PATCH 31/92] [UPDATE] UTC as default timezone (ID 415) --- sql/000_base_structure.sql | 1 + upgrade/definitions/0.0.8_to_0.0.9.inc.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/000_base_structure.sql b/sql/000_base_structure.sql index 18160aac..f02c1bf5 100644 --- a/sql/000_base_structure.sql +++ b/sql/000_base_structure.sql @@ -15,6 +15,7 @@ CREATE TABLE IF NOT EXISTS `accounts` ( `username` varchar(40) NOT NULL, `pass` varchar(255) NOT NULL, `email` varchar(255) DEFAULT NULL COMMENT 'Assocaited email: used for validating users, and re-setting passwords', + `timezone` varchar(35) NOT NULL DEFAULT '415', `notify_email` VARCHAR( 255 ) NULL DEFAULT NULL, `loggedIp` varchar(255) DEFAULT NULL, `is_locked` tinyint(1) NOT NULL DEFAULT '0', diff --git a/upgrade/definitions/0.0.8_to_0.0.9.inc.php b/upgrade/definitions/0.0.8_to_0.0.9.inc.php index c286c85b..01e11c78 100755 --- a/upgrade/definitions/0.0.8_to_0.0.9.inc.php +++ b/upgrade/definitions/0.0.8_to_0.0.9.inc.php @@ -9,7 +9,7 @@ function run_009() { $db_version_now = $setting->getValue('DB_VERSION'); // Our actual version installed // Upgrade specific variables - $aSql[] = "ALTER TABLE " . $user->getTableName() . " ADD `timezone` VARCHAR(35) NOT NULL DEFAULT 'UTC' AFTER `email`"; + $aSql[] = "ALTER TABLE " . $user->getTableName() . " ADD `timezone` VARCHAR(35) NOT NULL DEFAULT '415' AFTER `email`"; $aSql[] = "UPDATE " . $setting->getTableName() . " SET value = '0.0.9' WHERE name = 'DB_VERSION'"; if ($db_version_now == $db_version_old && version_compare($db_version_now, DB_VERSION, '<')) { From 97225fdf1ef9c68aa84e8f1151947e9ab9eddbd2 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 23 Apr 2014 10:46:33 +0200 Subject: [PATCH 32/92] [FIX] Merge conflict --- public/include/classes/user.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/include/classes/user.class.php b/public/include/classes/user.class.php index 4cc7d1a7..f42dc936 100644 --- a/public/include/classes/user.class.php +++ b/public/include/classes/user.class.php @@ -597,7 +597,7 @@ class User extends Base { $this->debug->append("STA " . __METHOD__, 4); $user = array(); $stmt = $this->mysqli->prepare("SELECT username, pass, id, timezone, is_admin FROM $this->table WHERE LOWER(username) = LOWER(?) LIMIT 1"); - if ($this->checkStmt($stmt) && $stmt->bind_param('s', $username) && $stmt->execute() && $stmt->bind_result($row_username, $row_password, $row_id, $row_admin)) { + if ($this->checkStmt($stmt) && $stmt->bind_param('s', $username) && $stmt->execute() && $stmt->bind_result($row_username, $row_password, $row_id, $row_timezone, $row_admin)) { $stmt->fetch(); $stmt->close(); $aPassword = explode('$', $row_password); From 0a502b248752ef5f09d9f3035eeea80cdec4f5d6 Mon Sep 17 00:00:00 2001 From: Sebastian Grewe Date: Wed, 23 Apr 2014 11:09:04 +0200 Subject: [PATCH 33/92] [REMOVED] Old select box for timezones --- public/templates/bootstrap/account/edit/detail.tpl | 1 - 1 file changed, 1 deletion(-) diff --git a/public/templates/bootstrap/account/edit/detail.tpl b/public/templates/bootstrap/account/edit/detail.tpl index 2b5ba6a5..9b40dc67 100644 --- a/public/templates/bootstrap/account/edit/detail.tpl +++ b/public/templates/bootstrap/account/edit/detail.tpl @@ -37,7 +37,6 @@ {html_options options=$TIMEZONES selected=$GLOBAL.userdata.timezone} {/nocache} -
      From 0977c0d669bc71674c4a17067d6c661cf1ce182d Mon Sep 17 00:00:00 2001 From: iAmShorty Date: Wed, 23 Apr 2014 17:07:08 +0200 Subject: [PATCH 34/92] [UPDATE] jquery to version 2.1.0 --- .../bootstrap/js/jquery-2.0.3.min.js | 6 - .../bootstrap/js/jquery-2.0.3.min.map | 1 - .../site_assets/bootstrap/js/jquery-2.1.0.js | 9111 +++++++++++++++++ .../bootstrap/js/jquery-2.1.0.min.js | 4 + .../bootstrap/js/jquery-2.1.0.min.map | 1 + public/templates/bootstrap/master.tpl | 2 +- 6 files changed, 9117 insertions(+), 8 deletions(-) delete mode 100644 public/site_assets/bootstrap/js/jquery-2.0.3.min.js delete mode 100644 public/site_assets/bootstrap/js/jquery-2.0.3.min.map create mode 100644 public/site_assets/bootstrap/js/jquery-2.1.0.js create mode 100644 public/site_assets/bootstrap/js/jquery-2.1.0.min.js create mode 100644 public/site_assets/bootstrap/js/jquery-2.1.0.min.map diff --git a/public/site_assets/bootstrap/js/jquery-2.0.3.min.js b/public/site_assets/bootstrap/js/jquery-2.0.3.min.js deleted file mode 100644 index 2be209dd..00000000 --- a/public/site_assets/bootstrap/js/jquery-2.0.3.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/*! jQuery v2.0.3 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license -//@ sourceMappingURL=jquery-2.0.3.min.map -*/ -(function(e,undefined){var t,n,r=typeof undefined,i=e.location,o=e.document,s=o.documentElement,a=e.jQuery,u=e.$,l={},c=[],p="2.0.3",f=c.concat,h=c.push,d=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,x=function(e,n){return new x.fn.init(e,n,t)},b=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^-ms-/,N=/-([\da-z])/gi,E=function(e,t){return t.toUpperCase()},S=function(){o.removeEventListener("DOMContentLoaded",S,!1),e.removeEventListener("load",S,!1),x.ready()};x.fn=x.prototype={jquery:p,constructor:x,init:function(e,t,n){var r,i;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:T.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof x?t[0]:t,x.merge(this,x.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:o,!0)),C.test(r[1])&&x.isPlainObject(t))for(r in t)x.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return i=o.getElementById(r[2]),i&&i.parentNode&&(this.length=1,this[0]=i),this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?n.ready(e):(e.selector!==undefined&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return d.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[1]||{},a=2),"object"==typeof s||x.isFunction(s)||(s={}),u===a&&(s=this,--a);u>a;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(x.isPlainObject(r)||(i=x.isArray(r)))?(i?(i=!1,o=n&&x.isArray(n)?n:[]):o=n&&x.isPlainObject(n)?n:{},s[t]=x.extend(l,o,r)):r!==undefined&&(s[t]=r));return s},x.extend({expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=a),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){(e===!0?--x.readyWait:x.isReady)||(x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(o,[x]),x.fn.trigger&&x(o).trigger("ready").off("ready")))},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if("object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:JSON.parse,parseXML:function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=undefined}return(!t||t.getElementsByTagName("parsererror").length)&&x.error("Invalid XML: "+e),t},noop:function(){},globalEval:function(e){var t,n=eval;e=x.trim(e),e&&(1===e.indexOf("use strict")?(t=o.createElement("script"),t.text=e,o.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(k,"ms-").replace(N,E)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,s=j(e);if(n){if(s){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(s){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:function(e){return null==e?"":v.call(e)},makeArray:function(e,t){var n=t||[];return null!=e&&(j(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:g.call(t,e,n)},merge:function(e,t){var n=t.length,r=e.length,i=0;if("number"==typeof n)for(;n>i;i++)e[r++]=t[i];else while(t[i]!==undefined)e[r++]=t[i++];return e.length=r,e},grep:function(e,t,n){var r,i=[],o=0,s=e.length;for(n=!!n;s>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,s=j(e),a=[];if(s)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(a[a.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(a[a.length]=r);return f.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),x.isFunction(e)?(r=d.call(arguments,2),i=function(){return e.apply(t||this,r.concat(d.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):undefined},access:function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===x.type(n)){i=!0;for(a in n)x.access(e,t,a,n[a],!0,o,s)}else if(r!==undefined&&(i=!0,x.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(x(e),n)})),t))for(;u>a;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},now:Date.now,swap:function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i}}),x.ready.promise=function(t){return n||(n=x.Deferred(),"complete"===o.readyState?setTimeout(x.ready):(o.addEventListener("DOMContentLoaded",S,!1),e.addEventListener("load",S,!1))),n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function j(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}t=x(o),function(e,undefined){var t,n,r,i,o,s,a,u,l,c,p,f,h,d,g,m,y,v="sizzle"+-new Date,b=e.document,w=0,T=0,C=st(),k=st(),N=st(),E=!1,S=function(e,t){return e===t?(E=!0,0):0},j=typeof undefined,D=1<<31,A={}.hasOwnProperty,L=[],q=L.pop,H=L.push,O=L.push,F=L.slice,P=L.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",W="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",$=W.replace("w","w#"),B="\\["+M+"*("+W+")"+M+"*(?:([*^$|!~]?=)"+M+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+$+")|)|)"+M+"*\\]",I=":("+W+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+B.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=RegExp("^"+M+"*,"+M+"*"),X=RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=RegExp(M+"*[+~]"),Y=RegExp("="+M+"*([^\\]'\"]*)"+M+"*\\]","g"),V=RegExp(I),G=RegExp("^"+$+"$"),J={ID:RegExp("^#("+W+")"),CLASS:RegExp("^\\.("+W+")"),TAG:RegExp("^("+W.replace("w","w*")+")"),ATTR:RegExp("^"+B),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:RegExp("^(?:"+R+")$","i"),needsContext:RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Q=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,Z=/^(?:input|select|textarea|button)$/i,et=/^h\d$/i,tt=/'|\\/g,nt=RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),rt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{O.apply(L=F.call(b.childNodes),b.childNodes),L[b.childNodes.length].nodeType}catch(it){O={apply:L.length?function(e,t){H.apply(e,F.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function ot(e,t,r,i){var o,s,a,u,l,f,g,m,x,w;if((t?t.ownerDocument||t:b)!==p&&c(t),t=t||p,r=r||[],!e||"string"!=typeof e)return r;if(1!==(u=t.nodeType)&&9!==u)return[];if(h&&!i){if(o=K.exec(e))if(a=o[1]){if(9===u){if(s=t.getElementById(a),!s||!s.parentNode)return r;if(s.id===a)return r.push(s),r}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(a))&&y(t,s)&&s.id===a)return r.push(s),r}else{if(o[2])return O.apply(r,t.getElementsByTagName(e)),r;if((a=o[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(a)),r}if(n.qsa&&(!d||!d.test(e))){if(m=g=v,x=t,w=9===u&&e,1===u&&"object"!==t.nodeName.toLowerCase()){f=gt(e),(g=t.getAttribute("id"))?m=g.replace(tt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",l=f.length;while(l--)f[l]=m+mt(f[l]);x=U.test(e)&&t.parentNode||t,w=f.join(",")}if(w)try{return O.apply(r,x.querySelectorAll(w)),r}catch(T){}finally{g||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,r,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>i.cacheLength&&delete t[e.shift()],t[n]=r}return t}function at(e){return e[v]=!0,e}function ut(e){var t=p.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function lt(e,t){var n=e.split("|"),r=e.length;while(r--)i.attrHandle[n[r]]=t}function ct(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return at(function(t){return t=+t,at(function(n,r){var i,o=e([],n.length,t),s=o.length;while(s--)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}s=ot.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},n=ot.support={},c=ot.setDocument=function(e){var t=e?e.ownerDocument||e:b,r=t.defaultView;return t!==p&&9===t.nodeType&&t.documentElement?(p=t,f=t.documentElement,h=!s(t),r&&r.attachEvent&&r!==r.top&&r.attachEvent("onbeforeunload",function(){c()}),n.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ut(function(e){return e.appendChild(t.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=ut(function(e){return e.innerHTML="
      ",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),n.getById=ut(function(e){return f.appendChild(e).id=v,!t.getElementsByName||!t.getElementsByName(v).length}),n.getById?(i.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){return e.getAttribute("id")===t}}):(delete i.find.ID,i.filter.ID=function(e){var t=e.replace(nt,rt);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=n.getElementsByTagName?function(e,t){return typeof t.getElementsByTagName!==j?t.getElementsByTagName(e):undefined}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.CLASS=n.getElementsByClassName&&function(e,t){return typeof t.getElementsByClassName!==j&&h?t.getElementsByClassName(e):undefined},g=[],d=[],(n.qsa=Q.test(t.querySelectorAll))&&(ut(function(e){e.innerHTML="",e.querySelectorAll("[selected]").length||d.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll(":checked").length||d.push(":checked")}),ut(function(e){var n=t.createElement("input");n.setAttribute("type","hidden"),e.appendChild(n).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&d.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||d.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),d.push(",.*:")})),(n.matchesSelector=Q.test(m=f.webkitMatchesSelector||f.mozMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&ut(function(e){n.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",I)}),d=d.length&&RegExp(d.join("|")),g=g.length&&RegExp(g.join("|")),y=Q.test(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},S=f.compareDocumentPosition?function(e,r){if(e===r)return E=!0,0;var i=r.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(r);return i?1&i||!n.sortDetached&&r.compareDocumentPosition(e)===i?e===t||y(b,e)?-1:r===t||y(b,r)?1:l?P.call(l,e)-P.call(l,r):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,n){var r,i=0,o=e.parentNode,s=n.parentNode,a=[e],u=[n];if(e===n)return E=!0,0;if(!o||!s)return e===t?-1:n===t?1:o?-1:s?1:l?P.call(l,e)-P.call(l,n):0;if(o===s)return ct(e,n);r=e;while(r=r.parentNode)a.unshift(r);r=n;while(r=r.parentNode)u.unshift(r);while(a[i]===u[i])i++;return i?ct(a[i],u[i]):a[i]===b?-1:u[i]===b?1:0},t):p},ot.matches=function(e,t){return ot(e,null,null,t)},ot.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Y,"='$1']"),!(!n.matchesSelector||!h||g&&g.test(t)||d&&d.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return ot(t,p,null,[e]).length>0},ot.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},ot.attr=function(e,t){(e.ownerDocument||e)!==p&&c(e);var r=i.attrHandle[t.toLowerCase()],o=r&&A.call(i.attrHandle,t.toLowerCase())?r(e,t,!h):undefined;return o===undefined?n.attributes||!h?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null:o},ot.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},ot.uniqueSort=function(e){var t,r=[],i=0,o=0;if(E=!n.detectDuplicates,l=!n.sortStable&&e.slice(0),e.sort(S),E){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return e},o=ot.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=ot.selectors={cacheLength:50,createPseudo:at,match:J,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(nt,rt),e[3]=(e[4]||e[5]||"").replace(nt,rt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||ot.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&ot.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return J.CHILD.test(e[0])?null:(e[3]&&e[4]!==undefined?e[2]=e[4]:n&&V.test(n)&&(t=gt(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(nt,rt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=C[e+" "];return t||(t=RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&C(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=ot.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,h,d,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,y=a&&t.nodeName.toLowerCase(),x=!u&&!a;if(m){if(o){while(g){p=t;while(p=p[g])if(a?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;d=g="only"===e&&!d&&"nextSibling"}return!0}if(d=[s?m.firstChild:m.lastChild],s&&x){c=m[v]||(m[v]={}),l=c[e]||[],h=l[0]===w&&l[1],f=l[0]===w&&l[2],p=h&&m.childNodes[h];while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[w,h,f];break}}else if(x&&(l=(t[v]||(t[v]={}))[e])&&l[0]===w)f=l[1];else while(p=++h&&p&&p[g]||(f=h=0)||d.pop())if((a?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(x&&((p[v]||(p[v]={}))[e]=[w,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||ot.error("unsupported pseudo: "+e);return r[v]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?at(function(e,n){var i,o=r(e,t),s=o.length;while(s--)i=P.call(e,o[s]),e[i]=!(n[i]=o[s])}):function(e){return r(e,0,n)}):r}},pseudos:{not:at(function(e){var t=[],n=[],r=a(e.replace(z,"$1"));return r[v]?at(function(e,t,n,i){var o,s=r(e,null,i,[]),a=e.length;while(a--)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:at(function(e){return function(t){return ot(e,t).length>0}}),contains:at(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:at(function(e){return G.test(e||"")||ot.error("unsupported lang: "+e),e=e.replace(nt,rt).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return et.test(e.nodeName)},input:function(e){return Z.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},i.pseudos.nth=i.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[t]=pt(t);for(t in{submit:!0,reset:!0})i.pseudos[t]=ft(t);function dt(){}dt.prototype=i.filters=i.pseudos,i.setFilters=new dt;function gt(e,t){var n,r,o,s,a,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);a=e,u=[],l=i.preFilter;while(a){(!n||(r=_.exec(a)))&&(r&&(a=a.slice(r[0].length)||a),u.push(o=[])),n=!1,(r=X.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(z," ")}),a=a.slice(n.length));for(s in i.filter)!(r=J[s].exec(a))||l[s]&&!(r=l[s](r))||(n=r.shift(),o.push({value:n,type:s,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ot.error(e):k(e,u).slice(0)}function mt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function yt(e,t,n){var i=t.dir,o=n&&"parentNode"===i,s=T++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,a){var u,l,c,p=w+" "+s;if(a){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,a))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[v]||(t[v]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,a)||r,l[1]===!0)return!0}}function vt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,s=[],a=0,u=e.length,l=null!=t;for(;u>a;a++)(o=e[a])&&(!n||n(o,r,i))&&(s.push(o),l&&t.push(a));return s}function bt(e,t,n,r,i,o){return r&&!r[v]&&(r=bt(r)),i&&!i[v]&&(i=bt(i,o)),at(function(o,s,a,u){var l,c,p,f=[],h=[],d=s.length,g=o||Ct(t||"*",a.nodeType?[a]:a,[]),m=!e||!o&&t?g:xt(g,f,e,a,u),y=n?i||(o?e:d||r)?[]:s:m;if(n&&n(m,y,a,u),r){l=xt(y,h),r(l,[],a,u),c=l.length;while(c--)(p=l[c])&&(y[h[c]]=!(m[h[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?P.call(o,p):f[c])>-1&&(o[l]=!(s[l]=p))}}else y=xt(y===s?y.splice(d,y.length):y),i?i(null,s,y,u):O.apply(s,y)})}function wt(e){var t,n,r,o=e.length,s=i.relative[e[0].type],a=s||i.relative[" "],l=s?1:0,c=yt(function(e){return e===t},a,!0),p=yt(function(e){return P.call(t,e)>-1},a,!0),f=[function(e,n,r){return!s&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>l;l++)if(n=i.relative[e[l].type])f=[yt(vt(f),n)];else{if(n=i.filter[e[l].type].apply(null,e[l].matches),n[v]){for(r=++l;o>r;r++)if(i.relative[e[r].type])break;return bt(l>1&&vt(f),l>1&&mt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&wt(e.slice(l,r)),o>r&&wt(e=e.slice(r)),o>r&&mt(e))}f.push(n)}return vt(f)}function Tt(e,t){var n=0,o=t.length>0,s=e.length>0,a=function(a,l,c,f,h){var d,g,m,y=[],v=0,x="0",b=a&&[],T=null!=h,C=u,k=a||s&&i.find.TAG("*",h&&l.parentNode||l),N=w+=null==C?1:Math.random()||.1;for(T&&(u=l!==p&&l,r=n);null!=(d=k[x]);x++){if(s&&d){g=0;while(m=e[g++])if(m(d,l,c)){f.push(d);break}T&&(w=N,r=++n)}o&&((d=!m&&d)&&v--,a&&b.push(d))}if(v+=x,o&&x!==v){g=0;while(m=t[g++])m(b,y,l,c);if(a){if(v>0)while(x--)b[x]||y[x]||(y[x]=q.call(f));y=xt(y)}O.apply(f,y),T&&!a&&y.length>0&&v+t.length>1&&ot.uniqueSort(f)}return T&&(w=N,u=C),b};return o?at(a):a}a=ot.compile=function(e,t){var n,r=[],i=[],o=N[e+" "];if(!o){t||(t=gt(e)),n=t.length;while(n--)o=wt(t[n]),o[v]?r.push(o):i.push(o);o=N(e,Tt(i,r))}return o};function Ct(e,t,n){var r=0,i=t.length;for(;i>r;r++)ot(e,t[r],n);return n}function kt(e,t,r,o){var s,u,l,c,p,f=gt(e);if(!o&&1===f.length){if(u=f[0]=f[0].slice(0),u.length>2&&"ID"===(l=u[0]).type&&n.getById&&9===t.nodeType&&h&&i.relative[u[1].type]){if(t=(i.find.ID(l.matches[0].replace(nt,rt),t)||[])[0],!t)return r;e=e.slice(u.shift().value.length)}s=J.needsContext.test(e)?0:u.length;while(s--){if(l=u[s],i.relative[c=l.type])break;if((p=i.find[c])&&(o=p(l.matches[0].replace(nt,rt),U.test(u[0].type)&&t.parentNode||t))){if(u.splice(s,1),e=o.length&&mt(u),!e)return O.apply(r,o),r;break}}}return a(e,f)(o,t,!h,r,U.test(e)),r}n.sortStable=v.split("").sort(S).join("")===v,n.detectDuplicates=E,c(),n.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(p.createElement("div"))}),ut(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||lt("type|href|height|width",function(e,t,n){return n?undefined:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ut(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||lt("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?undefined:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||lt(R,function(e,t,n){var r;return n?undefined:(r=e.getAttributeNode(t))&&r.specified?r.value:e[t]===!0?t.toLowerCase():null}),x.find=ot,x.expr=ot.selectors,x.expr[":"]=x.expr.pseudos,x.unique=ot.uniqueSort,x.text=ot.getText,x.isXMLDoc=ot.isXML,x.contains=ot.contains}(e);var D={};function A(e){var t=D[e]={};return x.each(e.match(w)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?D[e]||A(e):x.extend({},e);var t,n,r,i,o,s,a=[],u=!e.once&&[],l=function(p){for(t=e.memory&&p,n=!0,s=i||0,i=0,o=a.length,r=!0;a&&o>s;s++)if(a[s].apply(p[0],p[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,a&&(u?u.length&&l(u.shift()):t?a=[]:c.disable())},c={add:function(){if(a){var n=a.length;(function s(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&c.has(n)||a.push(n):n&&n.length&&"string"!==r&&s(n)})})(arguments),r?o=a.length:t&&(i=n,l(t))}return this},remove:function(){return a&&x.each(arguments,function(e,t){var n;while((n=x.inArray(t,a,n))>-1)a.splice(n,1),r&&(o>=n&&o--,s>=n&&s--)}),this},has:function(e){return e?x.inArray(e,a)>-1:!(!a||!a.length)},empty:function(){return a=[],o=0,this},disable:function(){return a=u=t=undefined,this},disabled:function(){return!a},lock:function(){return u=undefined,t||c.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!a||n&&!u||(t=t||[],t=[e,t.slice?t.slice():t],r?u.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var s=o[0],a=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=d.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),s=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?d.call(arguments):r,n===a?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},a,u,l;if(r>1)for(a=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(s(t,l,n)).fail(o.reject).progress(s(t,u,a)):--i;return i||o.resolveWith(l,n),o.promise()}}),x.support=function(t){var n=o.createElement("input"),r=o.createDocumentFragment(),i=o.createElement("div"),s=o.createElement("select"),a=s.appendChild(o.createElement("option"));return n.type?(n.type="checkbox",t.checkOn=""!==n.value,t.optSelected=a.selected,t.reliableMarginRight=!0,t.boxSizingReliable=!0,t.pixelPosition=!1,n.checked=!0,t.noCloneChecked=n.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!a.disabled,n=o.createElement("input"),n.value="t",n.type="radio",t.radioValue="t"===n.value,n.setAttribute("checked","t"),n.setAttribute("name","t"),r.appendChild(n),t.checkClone=r.cloneNode(!0).cloneNode(!0).lastChild.checked,t.focusinBubbles="onfocusin"in e,i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===i.style.backgroundClip,x(function(){var n,r,s="padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",a=o.getElementsByTagName("body")[0];a&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",a.appendChild(n).appendChild(i),i.innerHTML="",i.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%",x.swap(a,null!=a.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===i.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(i,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(i,null)||{width:"4px"}).width,r=i.appendChild(o.createElement("div")),r.style.cssText=i.style.cssText=s,r.style.marginRight=r.style.width="0",i.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),a.removeChild(n))}),t):t}({});var L,q,H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,O=/([A-Z])/g;function F(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=x.expando+Math.random()}F.uid=1,F.accepts=function(e){return e.nodeType?1===e.nodeType||9===e.nodeType:!0},F.prototype={key:function(e){if(!F.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=F.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,x.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),o=this.cache[i];if("string"==typeof t)o[t]=n;else if(x.isEmptyObject(o))x.extend(this.cache[i],t);else for(r in t)o[r]=t[r];return o},get:function(e,t){var n=this.cache[this.key(e)];return t===undefined?n:n[t]},access:function(e,t,n){var r;return t===undefined||t&&"string"==typeof t&&n===undefined?(r=this.get(e,t),r!==undefined?r:this.get(e,x.camelCase(t))):(this.set(e,t,n),n!==undefined?n:t)},remove:function(e,t){var n,r,i,o=this.key(e),s=this.cache[o];if(t===undefined)this.cache[o]={};else{x.isArray(t)?r=t.concat(t.map(x.camelCase)):(i=x.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(w)||[])),n=r.length;while(n--)delete s[r[n]]}},hasData:function(e){return!x.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}},L=new F,q=new F,x.extend({acceptData:F.accepts,hasData:function(e){return L.hasData(e)||q.hasData(e)},data:function(e,t,n){return L.access(e,t,n)},removeData:function(e,t){L.remove(e,t)},_data:function(e,t,n){return q.access(e,t,n)},_removeData:function(e,t){q.remove(e,t)}}),x.fn.extend({data:function(e,t){var n,r,i=this[0],o=0,s=null;if(e===undefined){if(this.length&&(s=L.get(i),1===i.nodeType&&!q.get(i,"hasDataAttrs"))){for(n=i.attributes;n.length>o;o++)r=n[o].name,0===r.indexOf("data-")&&(r=x.camelCase(r.slice(5)),P(i,r,s[r]));q.set(i,"hasDataAttrs",!0)}return s}return"object"==typeof e?this.each(function(){L.set(this,e)}):x.access(this,function(t){var n,r=x.camelCase(e);if(i&&t===undefined){if(n=L.get(i,e),n!==undefined)return n;if(n=L.get(i,r),n!==undefined)return n;if(n=P(i,r,undefined),n!==undefined)return n}else this.each(function(){var n=L.get(this,r);L.set(this,r,t),-1!==e.indexOf("-")&&n!==undefined&&L.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){L.remove(this,e)})}});function P(e,t,n){var r;if(n===undefined&&1===e.nodeType)if(r="data-"+t.replace(O,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:H.test(n)?JSON.parse(n):n}catch(i){}L.set(e,t,n)}else n=undefined;return n}x.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=q.get(e,t),n&&(!r||x.isArray(n)?r=q.access(e,t,x.makeArray(n)):r.push(n)),r||[]):undefined},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),s=function(){x.dequeue(e,t) -};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return q.get(e,n)||q.access(e,n,{empty:x.Callbacks("once memory").add(function(){q.remove(e,[t+"queue",n])})})}}),x.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),n>arguments.length?x.queue(this[0],e):t===undefined?this:this.each(function(){var n=x.queue(this,e,t);x._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=x.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=undefined),e=e||"fx";while(s--)n=q.get(o[s],e+"queueHooks"),n&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var R,M,W=/[\t\r\n\f]/g,$=/\r/g,B=/^(?:input|select|textarea|button)$/i;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[x.propFix[e]||e]})},addClass:function(e){var t,n,r,i,o,s=0,a=this.length,u="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,s=0,a=this.length,u=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];a>s;s++)if(n=this[s],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(W," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,i=0,o=x(this),s=e.match(w)||[];while(t=s[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===r||"boolean"===n)&&(this.className&&q.set(this,"__className__",this.className),this.className=this.className||e===!1?"":q.get(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(W," ").indexOf(t)>=0)return!0;return!1},val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=x.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,x(this).val()):e,null==i?i="":"number"==typeof i?i+="":x.isArray(i)&&(i=x.map(i,function(e){return null==e?"":e+""})),t=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&t.set(this,i,"value")!==undefined||(this.value=i))});if(i)return t=x.valHooks[i.type]||x.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&(n=t.get(i,"value"))!==undefined?n:(n=i.value,"string"==typeof n?n.replace($,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,s=o?null:[],a=o?i+1:r.length,u=0>i?a:o?i:0;for(;a>u;u++)if(n=r[u],!(!n.selected&&u!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),s=i.length;while(s--)r=i[s],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,t,n){var i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===r?x.prop(e,t,n):(1===s&&x.isXMLDoc(e)||(t=t.toLowerCase(),i=x.attrHooks[t]||(x.expr.match.bool.test(t)?M:R)),n===undefined?i&&"get"in i&&null!==(o=i.get(e,t))?o:(o=x.find.attr(e,t),null==o?undefined:o):null!==n?i&&"set"in i&&(o=i.set(e,n,t))!==undefined?o:(e.setAttribute(t,n+""),n):(x.removeAttr(e,t),undefined))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,o,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return o=1!==s||!x.isXMLDoc(e),o&&(t=x.propFix[t]||t,i=x.propHooks[t]),n!==undefined?i&&"set"in i&&(r=i.set(e,n,t))!==undefined?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||B.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),M={set:function(e,t,n){return t===!1?x.removeAttr(e,n):e.setAttribute(n,n),n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,t){var n=x.expr.attrHandle[t]||x.find.attr;x.expr.attrHandle[t]=function(e,t,r){var i=x.expr.attrHandle[t],o=r?undefined:(x.expr.attrHandle[t]=undefined)!=n(e,t,r)?t.toLowerCase():null;return x.expr.attrHandle[t]=i,o}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,t){return x.isArray(t)?e.checked=x.inArray(x(e).val(),t)>=0:undefined}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var I=/^key/,z=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,X=/^([^.]*)(?:\.(.+)|)$/;function U(){return!0}function Y(){return!1}function V(){try{return o.activeElement}catch(e){}}x.event={global:{},add:function(e,t,n,i,o){var s,a,u,l,c,p,f,h,d,g,m,y=q.get(e);if(y){n.handler&&(s=n,n=s.handler,o=s.selector),n.guid||(n.guid=x.guid++),(l=y.events)||(l=y.events={}),(a=y.handle)||(a=y.handle=function(e){return typeof x===r||e&&x.event.triggered===e.type?undefined:x.event.dispatch.apply(a.elem,arguments)},a.elem=e),t=(t||"").match(w)||[""],c=t.length;while(c--)u=X.exec(t[c])||[],d=m=u[1],g=(u[2]||"").split(".").sort(),d&&(f=x.event.special[d]||{},d=(o?f.delegateType:f.bindType)||d,f=x.event.special[d]||{},p=x.extend({type:d,origType:m,data:i,handler:n,guid:n.guid,selector:o,needsContext:o&&x.expr.match.needsContext.test(o),namespace:g.join(".")},s),(h=l[d])||(h=l[d]=[],h.delegateCount=0,f.setup&&f.setup.call(e,i,g,a)!==!1||e.addEventListener&&e.addEventListener(d,a,!1)),f.add&&(f.add.call(e,p),p.handler.guid||(p.handler.guid=n.guid)),o?h.splice(h.delegateCount++,0,p):h.push(p),x.event.global[d]=!0);e=null}},remove:function(e,t,n,r,i){var o,s,a,u,l,c,p,f,h,d,g,m=q.hasData(e)&&q.get(e);if(m&&(u=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(a=X.exec(t[l])||[],h=g=a[1],d=(a[2]||"").split(".").sort(),h){p=x.event.special[h]||{},h=(r?p.delegateType:p.bindType)||h,f=u[h]||[],a=a[2]&&RegExp("(^|\\.)"+d.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=f.length;while(o--)c=f[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(f.splice(o,1),c.selector&&f.delegateCount--,p.remove&&p.remove.call(e,c));s&&!f.length&&(p.teardown&&p.teardown.call(e,d,m.handle)!==!1||x.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)x.event.remove(e,h+t[l],n,r,!0);x.isEmptyObject(u)&&(delete m.handle,q.remove(e,"events"))}},trigger:function(t,n,r,i){var s,a,u,l,c,p,f,h=[r||o],d=y.call(t,"type")?t.type:t,g=y.call(t,"namespace")?t.namespace.split("."):[];if(a=u=r=r||o,3!==r.nodeType&&8!==r.nodeType&&!_.test(d+x.event.triggered)&&(d.indexOf(".")>=0&&(g=d.split("."),d=g.shift(),g.sort()),c=0>d.indexOf(":")&&"on"+d,t=t[x.expando]?t:new x.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.namespace_re=t.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=undefined,t.target||(t.target=r),n=null==n?[t]:x.makeArray(n,[t]),f=x.event.special[d]||{},i||!f.trigger||f.trigger.apply(r,n)!==!1)){if(!i&&!f.noBubble&&!x.isWindow(r)){for(l=f.delegateType||d,_.test(l+d)||(a=a.parentNode);a;a=a.parentNode)h.push(a),u=a;u===(r.ownerDocument||o)&&h.push(u.defaultView||u.parentWindow||e)}s=0;while((a=h[s++])&&!t.isPropagationStopped())t.type=s>1?l:f.bindType||d,p=(q.get(a,"events")||{})[t.type]&&q.get(a,"handle"),p&&p.apply(a,n),p=c&&a[c],p&&x.acceptData(a)&&p.apply&&p.apply(a,n)===!1&&t.preventDefault();return t.type=d,i||t.isDefaultPrevented()||f._default&&f._default.apply(h.pop(),n)!==!1||!x.acceptData(r)||c&&x.isFunction(r[d])&&!x.isWindow(r)&&(u=r[c],u&&(r[c]=null),x.event.triggered=d,r[d](),x.event.triggered=undefined,u&&(r[c]=u)),t.result}},dispatch:function(e){e=x.event.fix(e);var t,n,r,i,o,s=[],a=d.call(arguments),u=(q.get(this,"events")||{})[e.type]||[],l=x.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),t=0;while((i=s[t++])&&!e.isPropagationStopped()){e.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(o.namespace))&&(e.handleObj=o,e.data=o.data,r=((x.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a),r!==undefined&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;a>n;n++)o=t[n],i=o.selector+" ",r[i]===undefined&&(r[i]=o.needsContext?x(i,this).index(u)>=0:x.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return t.length>a&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,s=t.button;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||o,r=n.documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||s===undefined||(e.which=1&s?1:2&s?3:4&s?2:0),e}},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,s=e,a=this.fixHooks[i];a||(this.fixHooks[i]=a=z.test(i)?this.mouseHooks:I.test(i)?this.keyHooks:{}),r=a.props?this.props.concat(a.props):this.props,e=new x.Event(s),t=r.length;while(t--)n=r[t],e[n]=s[n];return e.target||(e.target=o),3===e.target.nodeType&&(e.target=e.target.parentNode),a.filter?a.filter(e,s):e},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==V()&&this.focus?(this.focus(),!1):undefined},delegateType:"focusin"},blur:{trigger:function(){return this===V()&&this.blur?(this.blur(),!1):undefined},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&x.nodeName(this,"input")?(this.click(),!1):undefined},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==undefined&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)},x.Event=function(e,t){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.getPreventDefault&&e.getPreventDefault()?U:Y):this.type=e,t&&x.extend(this,t),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,undefined):new x.Event(e,t)},x.Event.prototype={isDefaultPrevented:Y,isPropagationStopped:Y,isImmediatePropagationStopped:Y,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=U,e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=U,e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=U,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,t,n,r,i){var o,s;if("object"==typeof e){"string"!=typeof t&&(n=n||t,t=undefined);for(s in e)this.on(s,t,n,e[s],i);return this}if(null==n&&null==r?(r=t,n=t=undefined):null==r&&("string"==typeof t?(r=n,n=undefined):(r=n,n=t,t=undefined)),r===!1)r=Y;else if(!r)return this;return 1===i&&(o=r,r=function(e){return x().off(e),o.apply(this,arguments)},r.guid=o.guid||(o.guid=x.guid++)),this.each(function(){x.event.add(this,e,r,n,t)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,x(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(n=t,t=undefined),n===!1&&(n=Y),this.each(function(){x.event.remove(this,e,n,t)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];return n?x.event.trigger(e,t,n,!0):undefined}});var G=/^.[^:#\[\.,]*$/,J=/^(?:parents|prev(?:Until|All))/,Q=x.expr.match.needsContext,K={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t=x(e,this),n=t.length;return this.filter(function(){var e=0;for(;n>e;e++)if(x.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(et(this,e||[],!0))},filter:function(e){return this.pushStack(et(this,e||[],!1))},is:function(e){return!!et(this,"string"==typeof e&&Q.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],s=Q.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(s?s.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?g.call(x(e),this[0]):g.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function Z(e,t){while((e=e[t])&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return Z(e,"nextSibling")},prev:function(e){return Z(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return e.contentDocument||x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(K[e]||x.unique(i),J.test(e)&&i.reverse()),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,t,n){var r=[],i=n!==undefined;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&x(e).is(n))break;r.push(e)}return r},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function et(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(G.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return g.call(t,e)>=0!==n})}var tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,nt=/<([\w:]+)/,rt=/<|&#?\w+;/,it=/<(?:script|style|link)/i,ot=/^(?:checkbox|radio)$/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^$|\/(?:java|ecma)script/i,ut=/^true\/(.*)/,lt=/^\s*\s*$/g,ct={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};ct.optgroup=ct.option,ct.tbody=ct.tfoot=ct.colgroup=ct.caption=ct.thead,ct.th=ct.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===undefined?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=pt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(mt(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&dt(mt(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++)1===e.nodeType&&(x.cleanData(mt(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var t=this[0]||{},n=0,r=this.length;if(e===undefined&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!it.test(e)&&!ct[(nt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(tt,"<$1>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(x.cleanData(mt(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=f.apply([],e);var r,i,o,s,a,u,l=0,c=this.length,p=this,h=c-1,d=e[0],g=x.isFunction(d);if(g||!(1>=c||"string"!=typeof d||x.support.checkClone)&&st.test(d))return this.each(function(r){var i=p.eq(r);g&&(e[0]=d.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(r=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=r.firstChild,1===r.childNodes.length&&(r=i),i)){for(o=x.map(mt(r,"script"),ft),s=o.length;c>l;l++)a=r,l!==h&&(a=x.clone(a,!0,!0),s&&x.merge(o,mt(a,"script"))),t.call(this[l],a,l);if(s)for(u=o[o.length-1].ownerDocument,x.map(o,ht),l=0;s>l;l++)a=o[l],at.test(a.type||"")&&!q.access(a,"globalEval")&&x.contains(u,a)&&(a.src?x._evalUrl(a.src):x.globalEval(a.textContent.replace(lt,"")))}return this}}),x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=[],i=x(e),o=i.length-1,s=0;for(;o>=s;s++)n=s===o?this:this.clone(!0),x(i[s])[t](n),h.apply(r,n.get());return this.pushStack(r)}}),x.extend({clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=x.contains(e.ownerDocument,e);if(!(x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(s=mt(a),o=mt(e),r=0,i=o.length;i>r;r++)yt(o[r],s[r]);if(t)if(n)for(o=o||mt(e),s=s||mt(a),r=0,i=o.length;i>r;r++)gt(o[r],s[r]);else gt(e,a);return s=mt(a,"script"),s.length>0&&dt(s,!u&&mt(e,"script")),a},buildFragment:function(e,t,n,r){var i,o,s,a,u,l,c=0,p=e.length,f=t.createDocumentFragment(),h=[];for(;p>c;c++)if(i=e[c],i||0===i)if("object"===x.type(i))x.merge(h,i.nodeType?[i]:i);else if(rt.test(i)){o=o||f.appendChild(t.createElement("div")),s=(nt.exec(i)||["",""])[1].toLowerCase(),a=ct[s]||ct._default,o.innerHTML=a[1]+i.replace(tt,"<$1>")+a[2],l=a[0];while(l--)o=o.lastChild;x.merge(h,o.childNodes),o=f.firstChild,o.textContent=""}else h.push(t.createTextNode(i));f.textContent="",c=0;while(i=h[c++])if((!r||-1===x.inArray(i,r))&&(u=x.contains(i.ownerDocument,i),o=mt(f.appendChild(i),"script"),u&&dt(o),n)){l=0;while(i=o[l++])at.test(i.type||"")&&n.push(i)}return f},cleanData:function(e){var t,n,r,i,o,s,a=x.event.special,u=0;for(;(n=e[u])!==undefined;u++){if(F.accepts(n)&&(o=n[q.expando],o&&(t=q.cache[o]))){if(r=Object.keys(t.events||{}),r.length)for(s=0;(i=r[s])!==undefined;s++)a[i]?x.event.remove(n,i):x.removeEvent(n,i,t.handle);q.cache[o]&&delete q.cache[o]}delete L.cache[n[L.expando]]}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}});function pt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function ft(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function ht(e){var t=ut.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function dt(e,t){var n=e.length,r=0;for(;n>r;r++)q.set(e[r],"globalEval",!t||q.get(t[r],"globalEval"))}function gt(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(q.hasData(e)&&(o=q.access(e),s=q.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)x.event.add(t,i,l[i][n])}L.hasData(e)&&(a=L.access(e),u=x.extend({},a),L.set(t,u))}}function mt(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return t===undefined||t&&x.nodeName(e,t)?x.merge([e],n):n}function yt(e,t){var n=t.nodeName.toLowerCase();"input"===n&&ot.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}x.fn.extend({wrapAll:function(e){var t;return x.isFunction(e)?this.each(function(t){x(this).wrapAll(e.call(this,t))}):(this[0]&&(t=x(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var vt,xt,bt=/^(none|table(?!-c[ea]).+)/,wt=/^margin/,Tt=RegExp("^("+b+")(.*)$","i"),Ct=RegExp("^("+b+")(?!px)[a-z%]+$","i"),kt=RegExp("^([+-])=("+b+")","i"),Nt={BODY:"block"},Et={position:"absolute",visibility:"hidden",display:"block"},St={letterSpacing:0,fontWeight:400},jt=["Top","Right","Bottom","Left"],Dt=["Webkit","O","Moz","ms"];function At(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Dt.length;while(i--)if(t=Dt[i]+n,t in e)return t;return r}function Lt(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function qt(t){return e.getComputedStyle(t,null)}function Ht(e,t){var n,r,i,o=[],s=0,a=e.length;for(;a>s;s++)r=e[s],r.style&&(o[s]=q.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Lt(r)&&(o[s]=q.access(r,"olddisplay",Rt(r.nodeName)))):o[s]||(i=Lt(r),(n&&"none"!==n||!i)&&q.set(r,"olddisplay",i?n:x.css(r,"display"))));for(s=0;a>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}x.fn.extend({css:function(e,t){return x.access(this,function(e,t,n){var r,i,o={},s=0;if(x.isArray(t)){for(r=qt(e),i=t.length;i>s;s++)o[t[s]]=x.css(e,t[s],!1,r);return o}return n!==undefined?x.style(e,t,n):x.css(e,t)},e,t,arguments.length>1)},show:function(){return Ht(this,!0)},hide:function(){return Ht(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Lt(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=vt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=x.camelCase(t),u=e.style;return t=x.cssProps[a]||(x.cssProps[a]=At(u,a)),s=x.cssHooks[t]||x.cssHooks[a],n===undefined?s&&"get"in s&&(i=s.get(e,!1,r))!==undefined?i:u[t]:(o=typeof n,"string"===o&&(i=kt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(x.css(e,t)),o="number"),null==n||"number"===o&&isNaN(n)||("number"!==o||x.cssNumber[a]||(n+="px"),x.support.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&(n=s.set(e,n,r))===undefined||(u[t]=n)),undefined)}},css:function(e,t,n,r){var i,o,s,a=x.camelCase(t);return t=x.cssProps[a]||(x.cssProps[a]=At(e.style,a)),s=x.cssHooks[t]||x.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),i===undefined&&(i=vt(e,t,r)),"normal"===i&&t in St&&(i=St[t]),""===n||n?(o=parseFloat(i),n===!0||x.isNumeric(o)?o||0:i):i}}),vt=function(e,t,n){var r,i,o,s=n||qt(e),a=s?s.getPropertyValue(t)||s[t]:undefined,u=e.style;return s&&(""!==a||x.contains(e.ownerDocument,e)||(a=x.style(e,t)),Ct.test(a)&&wt.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=s.width,u.width=r,u.minWidth=i,u.maxWidth=o)),a};function Ot(e,t,n){var r=Tt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function Ft(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;for(;4>o;o+=2)"margin"===n&&(s+=x.css(e,n+jt[o],!0,i)),r?("content"===n&&(s-=x.css(e,"padding"+jt[o],!0,i)),"margin"!==n&&(s-=x.css(e,"border"+jt[o]+"Width",!0,i))):(s+=x.css(e,"padding"+jt[o],!0,i),"padding"!==n&&(s+=x.css(e,"border"+jt[o]+"Width",!0,i)));return s}function Pt(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=qt(e),s=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=vt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Ct.test(i))return i;r=s&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+Ft(e,t,n||(s?"border":"content"),r,o)+"px"}function Rt(e){var t=o,n=Nt[e];return n||(n=Mt(e,t),"none"!==n&&n||(xt=(xt||x("