diff --git a/lib/settings.php b/lib/settings.php
index 590d4bc..bcd1abd 100644
--- a/lib/settings.php
+++ b/lib/settings.php
@@ -53,6 +53,19 @@ $_SESSION['text'] = $text;
if ((!$ICEcoder['loginRequired'] || $ICEcoder['demoMode']) && $ICEcoder['password']!="") {$_SESSION['loggedIn']=true;};
$demoMode = $ICEcoder['demoMode'];
+// Check if trial period has ended
+$tPeriod = 1209600;
+if (generateHash(strClean($ICEcoder['licenseEmail']),$ICEcoder['licenseCode'])!=$ICEcoder['licenseCode'] && $ICEcoder['configCreateDate'] > 0 && $ICEcoder['configCreateDate']+$tPeriod < time() && !strpos($_SERVER['SCRIPT_NAME'],"lib/login.php") && !isset($_GET['get']) && !isset($_POST['code'])) {
+ if (file_exists('lib/login.php')) {
+ header('Location: lib/login.php?get=code&csrf='.$_SESSION["csrf"]);
+ echo "";
+ } else {
+ header('Location: login.php?get=code&csrf='.$_SESSION["csrf"]);
+ echo "";
+ }
+ die('Redirecting to donate screen...');
+}
+
// Update this config file?
include(dirname(__FILE__)."/settings-update.php");
@@ -128,12 +141,45 @@ if ((!$_SESSION['loggedIn'] || $ICEcoder["password"] == "") && !strpos($_SERVER[
echo "";
}
die('Redirecting to login...');
+
+// If we're unlocking ICEcoder after donating
+} elseif (isset($_POST['submit']) && (strpos($_POST['submit'],"Unlock ICEcoder")>-1)) {
+ if (generateHash(strClean($_POST['email']),$_POST['code'])==$_POST['code']) {
+ $settingsContents = file_get_contents($settingsFile,false,$context);
+ // Replace our empty email & code with the one submitted by user
+ $settingsContents = str_replace('"licenseEmail" => "",','"licenseEmail" => "'.$_POST['email'].'",',$settingsContents);
+ $settingsContents = str_replace('"licenseCode" => "",','"licenseCode" => "'.$_POST['code'].'",',$settingsContents);
+ // Now update the config file
+ $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on ".$settingsFile." and press refresh");
+ fwrite($fh, $settingsContents);
+ fclose($fh);
+ if (file_exists('lib/login.php')) {
+ header('Location: lib/login.php?message=trialDonateThanks&csrf='.$_SESSION["csrf"]);
+ echo "";
+ } else {
+ header('Location: login.php?message=trialDonateThanks&csrf='.$_SESSION["csrf"]);
+ echo "";
+ }
+ } else {
+ if (file_exists('lib/login.php')) {
+ header('Location: lib/login.php?get=code&success=no&csrf='.$_SESSION["csrf"]);
+ echo "";
+ } else {
+ header('Location: login.php?get=code&success=no&csrf='.$_SESSION["csrf"]);
+ echo "";
+ }
+ }
+
// If we are on the login screen and not logged in
} elseif (!$_SESSION['loggedIn']) {
// If the password hasn't been set and we're setting it
if ($ICEcoder["password"] == "" && isset($_POST['submit']) && (strpos($_POST['submit'],"set password")>-1)) {
$password = generateHash(strClean($_POST['password']));
$settingsContents = file_get_contents($settingsFile,false,$context);
+ // Replace our config created date with the filemtime
+ clearstatcache();
+ $configfilemtime = filemtime("config___settings.php");
+ $settingsContents = str_replace('"configCreateDate" => 0,','"configCreateDate" => '.$configfilemtime.',',$settingsContents);
// Replace our empty password with the one submitted by user
$settingsContents = str_replace('"password" => "",','"password" => "'.$password.'",',$settingsContents);
// Also set the update checker preference