Browse Source

Fix tokens while edit themes

Signed-off-by: emanuele <[email protected]>
emanuele 12 năm trước cách đây
mục cha
commit
5f3f299846
2 tập tin đã thay đổi với 12 bổ sung2 xóa
  1. 3 0
      Sources/Themes.php
  2. 9 2
      Themes/default/Themes.template.php

+ 3 - 0
Sources/Themes.php

@@ -1924,6 +1924,9 @@ function EditTheme()
 			// You were able to submit it, so it's reasonable to assume you are allowed to save.
 			$context['allow_save'] = true;
 
+			// Re-create the token so that it can be used
+			createToken('admin-te-' . md5($_GET['th'] . '-' . $_REQUEST['filename']));
+
 			return;
 		}
 	}

+ 9 - 2
Themes/default/Themes.template.php

@@ -1081,7 +1081,14 @@ function template_edit_template()
 					<div class="padding righttext">
 						<input type="submit" name="save" value="', $txt['theme_edit_save'], '"', $context['allow_save'] ? '' : ' disabled="disabled"', ' class="button_submit" />
 						<input type="hidden" name="filename" value="', $context['edit_filename'], '" />
-						<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />
+						<input type="hidden" name="', $context['session_var'], '" value="', $context['session_id'], '" />';
+
+	// Hopefully it exists.
+	if (isset($context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token']))
+		echo '
+						<input type="hidden" name="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token_var'], '" value="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token'], '" />';
+
+	echo '
 					</div>
 				</div>
 			</div>
@@ -1123,7 +1130,7 @@ function template_edit_file()
 	// Hopefully it exists.
 	if (isset($context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token']))
 		echo '
-					<input type="text" name="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token_var'], '" value="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token'], '" />';
+					<input type="hidden" name="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token_var'], '" value="', $context['admin-te-' . md5($context['theme_id'] . '-' . $context['edit_filename']) . '_token'], '" />';
 
 	echo '
 				</div>