U.Helper

27 Июня 2010 13:41
Главная » Разработки » Разработки для модуля "Пользователи" » userData.js - изменение личных данных (v2)
Стили
Code
#userDataCode {width:110px;padding:2px 5px!important;margin-top:4px;text-align:center;font-weight:bold;font-size:8pt;font-family:Verdana}
#userDataLoading {margin-top:14px}

Если в окне с капчей появляются полосы прокрутки, то измените длину поля до 100px


Пример использования

Code
userData.edit(params, callback);

Функция редактирования имени с оповещением

Code
(function editName () {
var name = prompt('Новое имя');
if (name.length) {
userData.edit({name: name}, function (errorText) {
_uWnd.alert(errorText ? errorText : 'Данные успешно изменены!', 'Редактирование', {w: 250, h: 75, tm: 4500});
});
};
})();

При успешном изменении данных, переменная errorText вернёт 0
Но если данные не удалось отправить, то возвращает текст ошибки (например: Неправильный код безопасности)


Примечание
Если у вас на странице отсутствует форма поиска пользователей, то поместите в самый низ страницы этот код.

Code
<input type="hidden" value="15" />


Видео пример использования (Старая версия)


Проверенно в
Opera 10.53, IE 8, Firefox 3.*
Обратите внимание, что скрипт работает только на персональной странице пользователя.


Правила использования:

  • Все права на публикуемые скрипты принадлежат их авторам!
  • Запрещается распространение скриптов без указания автора!
  • Запрещается "затирание" копирайтов!
Рейтинг: ← 15 →
Модуль: Пользователи | 4815 просмотров | Автор: cucYa | Добавлено: 27 Июня 2010
27 комментариев

0
kanat07[Материал] 11:37, 28 Июня 2010
Quote
работает только на персональной странице пользователя.

универсальная будет? biggrin
Цитировать
0
cucYa[Материал] 11:54, 28 Июня 2010
Нет, это не от скрипта зависит.
Цитировать
Сайт
0
7soft[Материал] 15:44, 30 Июня 2010
Я не понял суть скрипта, обьясните! blink
Цитировать
E-Mail
0
cucYa[Материал] 16:00, 30 Июня 2010
Тебе личные данные редактировать нужно с помощью AJAX? Если нет, то скрипт тебе не нужен.
Цитировать
0
Denisгггг[Материал] 22:52, 02 Июля 2010
Жалко ник низя менять biggrin ну если конечно укоз сделает пхп и даст доступ к бд biggrin
Цитировать
0
kanat07[Материал] 23:14, 02 Июля 2010
или проще: если ты дашь пароль от админки
Цитировать
0
Denisгггг[Материал] 12:22, 03 Июля 2010
Ну или так biggrin
Цитировать
0
G-XPert[Материал] 15:49, 03 Июля 2010
Или через сторонний сервер: бот заходит в ПУ по запросу на страницу с пользователями и меняет опр. юзеру ник… biggrin
Цитировать
0
Бармалей[Материал] 21:12, 03 Июля 2010
И каптчу вводит.
Цитировать
0
uWeb[Материал] 00:25, 04 Июля 2010
Можно сделать стопицот запросов и войти через unet. Но это предположение.
Цитировать
0
G-XPert[Материал] 20:50, 08 Августа 2011
Можно кстати.. Только нужно чтобы персонального пароля на вход в ПУ не было.
А может ведь и юзер капчу ввести для входа в ПУ?
Цитировать
0
}{0тт@бь)ч[Материал] 11:06, 18 Августа 2011
ник менять можно было в любые времена. Сейчас - пишем php скрипт, выводим капчу из админки, в скрипте пароль от админки пишем, авторизуемся скриптом и изменяем логин.
Цитировать
0
И'м[Материал] 09:45, 09 Июля 2010
Переделайте это под аватар ^__^
Цитировать
0
cucYa[Материал] 13:49, 09 Июля 2010
Что тут переделывать? Пишите свою функцию для изменения аватара.
Code
userData.edit({avatar: 'ссылка на аватар'});
Цитировать
0
И'м[Материал] 11:22, 16 Июля 2010
Это просто, но чтобы сделать не ссылкой)
Цитировать
0
cucYa[Материал] 13:08, 16 Июля 2010
Сделать не ссылкой "что"?
Цитировать
0
И'м[Материал] 18:06, 18 Июля 2010
Загрузку аватара сделать input type="file"
Цитировать
0
cucYa[Материал] 21:14, 18 Июля 2010
Выбранные файлы передавать нельзя, только ссылка.
Цитировать
0
И'м[Материал] 15:46, 19 Июля 2010
Выбрать файл » Загрузить на фотообменник » Вставить ссылку...
Цитировать
0
Denisгггг[Материал] 12:46, 06 Августа 2010
Кстати текст ошибки не передается ибо поиск ничо не находит... сделал так:
[code]
m.innerHTML.match(/id="siM2">([^<]+)<\/td>/i)[1]
Цитировать
0
Denisгггг[Материал] 13:21, 06 Августа 2010
Чуток переделал под себя... теперь текст ошибки выводится и если введено меньше чем 4 символа, то вылетает ю.алерт с оповещением
Code

  /*  
  * userData.js - func for edit a personal data (uCoz).
  * Copyright chu4___x, 28.06.2010 11:21
  * http://webcodes.ru
  */

var userData = {};
userData.edit = function (d, f) {
  if (typeof d == "object") {
  var e = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Msxml2.XMLHTTP"),
  m = '<img src="/.s/img/wd/3/ajax.gif" id="userDataLoading" alt="loading" />';new _uWnd("a", 0, 155, 120, {
  autosize: 0,
  nomove: 1,
  resize: 0,
  close: 0,
  modal: 1
  }, m);e.open("GET", "/index/11", true);e.onreadystatechange = function () {
  if (e.readyState == 4) {
  var q = document.createElement("div"),
  g = e.responseText.match(/<img[^>]+secuImg[^>]+>/i).toString();
  _uWnd.content("a", g + '<input type="text" id="userDataCode" maxlength="4" /><input onclick="userData.submit(document.getElementById(\'userDataCode\'));" type="submit" value="Изменить" />');
  q.innerHTML = e.responseText;
  var o = "getElementsByTagName",
  r = q[o]("form")[0],
  c = r[o]("input"),
  b = r[o]("select"),
  a = r[o]("textarea");
  if (typeof d.signature == 'undefined' && typeof a[0] != 'undefined') {
  d.signature = a[0].innerHTML
  }
  for (var p = 0, i = []; p < c.length; p++) {
  if (!c[p].type.match(/^[s|f]/g) && typeof d[c[p].name] == "undefined") {
  if (c[p].name.match(/pmgr|opt/g)) {
  i.push(c[p].name + "=" + (c[p].checked ? c[p].value : 0))
  } else {
  d[c[p].name] = c[p].value
  }
  }
  }
  for (var p = 0; p < b.length; p++) {
  d[b[p].name] = b[p].value
  }
  userData.submit = function (k) {
  if (k.value.length == 4) {
  var j = [];
  k.disabled = 1, d.code = k.value;
  for (var h in d) {
  j.push(h + "=" + d[h])
  }
  j = j.join("&") + "&" + i.join("&");
  _uWnd.content("a", m);
  e.open("POST", "/index/", 1);
  e.onreadystatechange = function () {
  if (e.readyState == 4) {
  _uWnd.close("a");
  var m = document.createElement("div");
  m.innerHTML = e.responseText;
  var l = m[o]("input"),
  l = l[l.length - 1];
  (f)(l.value ==  15 ? 0 : m.innerHTML.match(/id="siM2">([^<]+)<\/td>/i)[1])
  }
  };
  e.send(j)
  } else { _uWnd.alert('Введите код с картинки', 'Ошибка', {w: 250, h: 75, tm: 4500}); }
  }
  }
  };e.send(null);
  } else {
  return false
  }
};
Цитировать
0
YeLLeZ[Материал] 14:18, 31 Августа 2010
сделайте скрипт чтоб те у кого есть права на редактирования всех профилей небыло возможности редактировать сам профиль( для некоторых групп что можно было выберать...) в случаи избежания атаку от главного модера и т.д
Цитировать
0
Reslear[Материал] 01:53, 02 Января 2011
а как сделать редактирование $YAHOO_FL$
дайте плиз полный код редактирования
Цитировать
0
cucYa[Материал] 16:06, 03 Января 2011
userData.edit({yahoo: 'bla bla bla'});
Цитировать
Сайт
0
Главный[Материал] 15:35, 10 Января 2011
Если честно я не понял куда чё установить wacko
Цитировать
E-Mail
0
Henuz2000[Материал] 15:09, 19 Марта 2011
Подскажите куда, что ставить.
А то окно только при обновлени страницы выскакивает и все.
Цитировать
0
LuСiFеr[Материал] 08:09, 23 Мая 2011
он редактирует только данные одного пользователя?
модераторы им могут воспользоваться?
Цитировать
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

© U.Helper 2007-2024 Используются технологии uCoz