Login Message: Prevent re-enable message post Upgrade Schema.

This commit is contained in:
Nate Jones 2014-07-06 04:50:56 +00:00
parent b473d8c518
commit e2872a2e06
2 changed files with 39 additions and 8 deletions

View File

@ -75,13 +75,7 @@ if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
}
}
//ensure the login message is set
$sql = "delete from v_default_settings ";
$sql .= "where default_setting_category = 'login' ";
$sql .= "and default_setting_subcategory = 'message' ";
$db->exec(check_sql($sql));
unset($sql);
//ensure the login message is set, if new message exists
$sql = "select count(*) as num_rows from v_default_settings ";
$sql .= "where default_setting_category = 'login' ";
$sql .= "and default_setting_subcategory = 'message' ";
@ -91,6 +85,8 @@ if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
$prep_statement->execute();
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
if ($row['num_rows'] == 0) {
// insert message
$sql = "insert into v_default_settings ";
$sql .= "(";
$sql .= "default_setting_uuid, ";
@ -113,6 +109,40 @@ if (strlen($_SESSION['switch']['scripts']['dir']) > 0) {
$sql .= ")";
$db->exec(check_sql($sql));
unset($sql);
}
else {
// get current message value
$sql = "select default_setting_uuid, default_setting_value ";
$sql .= "from v_default_settings ";
$sql .= "where default_setting_category = 'login' ";
$sql .= "and default_setting_subcategory = 'message' ";
$sql .= "and default_setting_name = 'text' ";
$prep_statement = $db->prepare($sql);
if ($prep_statement) {
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
if (count($result) > 0) {
foreach($result as $row) {
$current_default_setting_uuid = $row["default_setting_uuid"];
$current_default_setting_value = $row["default_setting_value"];
break;
}
// compare to message in language file, update and enable if different
$new_default_setting_value = str_replace("''", "'", $text['login-message_text']);
if ($current_default_setting_value != $new_default_setting_value) {
$sql = "update v_default_settings set ";
$sql .= "default_setting_value = '".$text['login-message_text']."', ";
$sql .= "default_setting_enabled = 'true' ";
$sql .= "where default_setting_uuid = '".$current_default_setting_uuid."' ";
$db->exec(check_sql($sql));
unset($sql);
}
}
}
unset($sql, $result);
}
}

View File

@ -60,7 +60,8 @@
$sql .= "set default_setting_enabled = 'false' ";
$sql .= "where ";
$sql .= "default_setting_category = 'login' ";
$sql .= "and default_setting_subcategory = 'message'";
$sql .= "and default_setting_subcategory = 'message' ";
$sql .= "and default_setting_name = 'text' ";
$db->exec(check_sql($sql));
unset($sql);
}