0) { $user_id = intval(DB::$data); $password = md5(md5(trim(getPost('passwordConfirm'))."dima")); $query = "UPDATE shard_main.users set password='$password' where user_id=$user_id limit 1"; DB::query($query); setSession('password_hash', '0'); $query = "delete from shard_main.email_changepassword where user_id=$user_id limit 1"; DB::query($query); redirect("/register/passwordrecoverok/"); } else { redirect("/register/passwordrecoverwrong/"); } } // восстановление пароля if ($ModuleMethod == "rememberpassword") { // проверка кода на картинке if (strlen(getPost('confirmationCode'))>3) if (getPost('confirmationCode') !== $_SESSION["captcha_keystring"]) $err[]="Нет совпадает код изображенный на картинке"; // проверка Никнейма (передается как логин) $login = getPost('mail2'); if (strlen($login)>3) if (ereg("^[a-zA-Z0-9_@.]{4,25}$",strtolower($login))) { $query = "SELECT user_id,email FROM shard_main.users where LOWER(email)=LOWER('".safeSql($login)."')"; DB::query($query); if (DB::$data >0) echo "true"; else $err[]="Нет такого пользователя"; }else{ $err[]="Нет такого пользователя."; } if (isset($err) and count($err)>0) { $template_file = "register_password.tpl"; $error_text = ""; foreach($err AS $error) { $error_text.= $error."
"; } $vars['error_text'] = '
Ошибка:
'.$error_text."
"; } else { // тут необходимо сформировать хеш, вставить его в таблицу и поставить в таблицу емайлов $hash = createHash(20); // вставляем email в очередь для активации $query = "INSERT INTO shard_main.email_changepassword (user_id, email,hash) values('".DB::$data['user_id']."','".DB::$data['email']."','$hash') on duplicate KEY update hash='$hash', sent=0"; DB::query($query); echo "все ок"; $template_file = "register_password_sent.tpl"; } } // модуль входа на сайт if ($ModuleMethod == "loginforgot") { $template_file = "register_login.tpl"; $errors = getSession('error'); $errors = unserialize($errors); $error_text = ""; $vars['error_text'] = ""; if (count($errors)>0 and is_array($errors)) { foreach($errors AS $error) { $error_text.= $error."
"; } $vars['error_text'] = '
Ошибка:
'.$error_text."
"; } // unset($_SESSION['error']); } // если только проверка по аяксу if ($ModuleMethod == "check") { // проверка кода на картинке if (strlen(getPost('confirmationCode'))>3) if (getPost('confirmationCode') == $_SESSION["captcha_keystring"]) echo "true"; else echo "false"; // проверка Никнейма (передается как логин) $login = getPost('login'); if (strlen($login)>3) if (ereg("^[a-zA-Z0-9_]{4,25}$",strtolower($login))) { $query = "SELECT count(nick) FROM shard_main.users where LOWER(nick)=LOWER('".safeSql($login)."')"; DB::query($query); if (DB::$data >0) echo "false"; else echo "true"; }else{ echo "false"; } // проверка почтового адреса $mail = getPost('mail'); if (strlen($mail)>4) if (ereg("^[a-z0-9_@.-]{7,100}$",strtolower($mail))) { $query = "SELECT count(email) FROM shard_main.users where email = '".safeSql($mail)."'"; DB::query($query); if (DB::$data >0) echo "false"; else echo "true"; }else{ echo "false"; } exit; } // если только проверка по аяксу if ($ModuleMethod == "post") { //$_POST["login"] Dima //$_POST["mail"] = "dima@amdm.ru"; /*$_POST["firstName"] Дмитрий $_POST["password"] 123qwe $_POST["passwordConfirm"] 123qwe $_POST["sex"] 1 $_POST["bday"] 11 $_POST["bmonth"] 9 $_POST["byear"] 1984 $_POST["confirmationCode"] x6h3pch */ if(intval(getPost('sex'))>0) { $err = array(); $login = getPost('login'); # проверям логин if(preg_match("/^[a-zA-Z0-9]+$/",$login)) { if(strlen($login) < 4 or strlen($login) > 25) { $err[] = "Логин должен быть не меньше 4-х символов и не больше 25"; } else { // проверяем, не сущестует ли пользователя с таким именем $query = "SELECT COUNT(user_id) FROM shard_main.users WHERE nick='".safeSql($login)."'"; DB::query($query); if(DB::$data > 0) $err[] = "Пользователь с таким никнеймом уже существует в базе данных"; } } else { $err[] = "Логин может состоять только из букв английского алфавита и цифр"; } # проверям email $mail = getPost('mail'); if (ereg("^[a-z0-9_@.-]{7,100}$",strtolower($mail))) { if (!strstr(strtolower($mail),"@")) { $error[]="Некорректно указан емайл адрес"; } else { // проверяем, не сущестует ли пользователя с таким емайл $query = "SELECT COUNT(user_id) FROM shard_main.users WHERE email='".safeSql($mail)."'"; DB::query($query); if(DB::$data > 0) $err[] = "Пользователь с таким почтовым адресом уже существует в базе данных"; } } else { $err[] = "Некорректно указан емайл адрес"; } # проверяем дату рождения if (intval(getPost("sex")) == 0) $err[] = "Не указан пол"; if (intval(getPost("bday")) == 0) $err[] = "Не указан день вашего рождения"; if (intval(getPost("bmonth")) == 0) $err[] = "Не указан месяц вашего рождения"; if (intval(getPost("byear")) == 0) $err[] = "Не указан год вашего рождения"; # проверяем код if (getPost('confirmationCode') !== $_SESSION["captcha_keystring"]) $err[] = "Неверный код картинки."; } # Если нет ошибок, то добавляем в БД нового пользователя if(count($err) == 0) { $email = $mail; $password = md5(md5(trim(getPost('password'))."dima")); $nick = $login; $name = getPost('firstName'); $ip = $_SERVER['REMOTE_ADDR']; $bday = intval(getPost('bday')); $bmonth = intval(getPost('bmonth')); $byear = intval(getPost('byear')); $sex = intval(getPost('sex')); DB::query("LOCK TABLES users_info WRITE, users WRITE, email_activation WRITE"); DB::startTransaction(); DB::query("select max(user_id) from shard_main.users limit 1 "); $user_id = DB::$data+1; // вставили ид в основную короткую таблицу $query = "INSERT into shard_main.users (user_id,email,password,nick) values('$user_id','$email','$password','$nick')"; DB::query($query); // вставили анкетные данные в users_full $query = "INSERT INTO shard_main.users_info (user_id,forum_user_id,password, email, realname, reg_date, reg_ip, bday, bmonth, byear, pol, nick) values('$user_id','0','$password','$email','".sqlclear($name)."','".time()."','$ip','$bday','$bmonth','$byear','$sex','$nick')"; DB::query($query); // вставляем email в очередь для активации $query = "INSERT IGNORE INTO shard_main.email_activation (user_id, email) values('$user_id','$email')"; DB::query($query); $status = DB::stopTransaction(); if ($status) echo "succes"; redirect("/register/activation/"); } else { // ошибки при регистрации $vars = $_POST; foreach($err AS $error) { $error_text.= $error."
"; } $error_text = '
Допущены следующие ошибки при регистрации:
'.$error_text."
"; $vars['error_text'] = $error_text; $tpl->assign( "vars" , $vars ); // $_SESSION['registration_post'] = serialize($_POST); //$_SESSION['registration_error'] = serialize($err); //header("Location: /registration/");exit(); } } // если только проверка по аяксу if ($ModuleMethod == "success") { $template_file = "register_success.tpl"; } // если только проверка по аяксу if ($ModuleMethod == "activation") { $template_file = "register_activation.tpl"; $code = getRequest('param0'); if (strlen($code)>1) { echo $code; if(preg_match("/^[a-zA-Z0-9]+$/",$code)) { if(strlen($code) < 4 ) { $err[] = "Неверный ключ активации"; } else { // проверяем, не сущестует ли пользователя с таким именем $query = "SELECT user_id FROM shard_main.users WHERE md5(md5(email))='".safeSql($code)."'"; DB::query($query); $user_id = DB::$data; if ($user_id == 0) { $err[] = "Неверный ключ активации"; } else { echo "все круто!"; $query = "update shard_main.users set active=1 where user_id = $user_id"; DB::query($query); $query = "delete from shard_main.email_activation where user_id = $user_id"; DB::query($query); redirect("/register/success/"); } } } else { $err[] = "Неверный ключ активации"; } } $error_text=""; if (isset($err) and count($err)>0) foreach($err AS $error) { $error_text.= $error."
"; } $vars['error_text'] = '
Ошибка:
'.$error_text."
"; } // отправка повторного письма об активации if ($ModuleMethod == "activation_povtor") { $template_file = "register_activation_povtor.tpl"; $err = array(); $error_text= ""; // запрос отправки письма с кодом $mail = getPost("mail2"); if (strlen($mail)) { # проверяем код if (getPost('confirmationCode') !== $_SESSION["captcha_keystring"]) { $err[] = "Неверный код картинки."; } else { # проверям email if (ereg("^[a-z0-9_@.-]{7,100}$",strtolower($mail))) { $query = "SELECT user_id FROM shard_main.users WHERE email='".safeSql($mail)."' "; DB::query($query); $user_id = DB::$data; if(intval($user_id) == 0) { $err[] = "Пользователь с таким почтовым адресом не существует в базе данных"; } else { // echo "все ок"; $query = "INSERT INTO shard_main.email_activation (user_id,email) values('$user_id','$mail') ON DUPLICATE KEY UPDATE sent=0 "; DB::query($query); //sql("INSERT INTO shard_main.email_activation (email) values('$_POST[mail2]') //ON DUPLICATE KEY UPDATE sent=0 ",$sock); redirect("/register/activation/"); } } else { $err[] = "Некорректно указан емайл адрес"; } } $error_text=""; foreach($err AS $error) { $error_text.= $error."
"; } $vars['error_text'] = '
Ошибка:
'.$error_text."
"; $tpl->assign( "vars" , $vars ); } } $tpl->assign( "vars" , $vars ); ?> AmDm.ru - Регистрация на сайте
* Все поля обязательны для заполнения.
Правила проекта AmDm.ru
Настоящие правила распространяются на любую информацию, оставляемую посетителями на нашем сайте кроме творческого материала (за некоторыми исключениями), и преследуют основную цель: непричинение каких-либо неудобств большинству пользователей портала (в том числе не участвующих в обсуждении). Дополнительной целью является поддержание определенной культуры общения. Дальнейшее структурированное положение разъясняет эти тезисы.


О правилах. Нарушения правил, действия модераторов.

  1. Разработку правил и контроль за их соблюдением осуществляет команда AmDm (в дальнейшем модераторы) - администраторы сайта, модераторы форума и чата. Все модераторы форума имеют равные права на всех форумах. Команда работает над улучшением сайта, полагает его своим домом и считает себя вправе устанавливать определенные правила общения на портале;
  2. Правила служат пояснениями для пользователей, но не фактическим руководством к действию для модераторов - они поступают в соответствии со своим здравым смыслом. Иными словами, модераторы следуют духу, а не букве. В команду входят люди схожего мировоззрения - все мы искренне солидарны с заявленными целями;
  3. Правила справедливы для всех пользователей без исключений;
  4. Правила отдельных форумов дополняют общие правила;
  5. Незнание правил не освобождает от ответственности за их нарушение. Однако во многих случаях первое нарушение встречается с пониманием, пользователь ограничивается предупреждением со ссылкой на правила;
  6. Запрещается публичное обсуждение и оценка правил в любой форме;
  7. В каждом случае о личности модератора, совершившего действие по результату нарушения правил, извещается как минимум нарушитель (обратная связь) и администратор. В некоторых случаях (удаление тем и сообщений на форуме) нарушитель извещается о причинах действия;
  8. Запрещается публичное обсуждение и оценка действий модераторов по нарушениям правил. Если Вы не согласны с действием модератора, свяжитесь с ним по личным каналам связи (предпочтительно ICQ, имеется у всех модераторов) и обсудите инцидент. В случае неудачного разговора, Вы можете обратиться к главному модератору форума, главному редактору или администратору (вместе с логом/стенографией разговора);
  9. Нарушения правил могут наказываться изменением (вплоть до удаления) информации, содержащей нарушения, блокировкой (баном) пользователя на форуме или в чате (обычно от суток до недели при первом нарушении и от недели до месяца при рецидиве), блокировкой возможности голосования за авторские музыкальные композиции, удалением аккаунта пользователя (с возможностью повторной регистрации) и отключения доступа к общению по IP (с возможностью амнистирования);
  10. В случае нарушения указанных в правилах настоятельных рекомендаций не следует наказания (в редких случаях может быть изменена информация, содержащая нарушения). Однако рекомендации могут трактоваться как правила в отдельных случаях и для отдельных пользователей (при злостном нарушении и всяческом пренебрежении рекомендациями);
  11. Обновление правил осуществляется на основе прецедентов - причина любого наказанного нарушения, не описанного в правилах, добавляется к общему своду. Команда сайта не обязуется специально уведомлять об этом пользователей.

Регистрация и личные данные (в том числе информация о группе).

  1. Запрещается использовать в качестве ника доменные имена (адреса сайтов или части таких адресов), нецензурные слова и выражения, нарушающие нормы этики и морали слова и фразы;
  2. Настоятельно не рекомендуется в других полях профиля (личных данных) указывать информацию, содержащую нецензурную лексику, оскорбления пользователей сайта, призывы к насилию, расовой, религиозной, половой дискриминации, употреблению крепких алкогольных напитков и наркотических средств, а также другую информацию, факт публикации которой может являться нарушением законодательства РФ. Также не рекомендуется использовать фотографию с изображением информации такого рода;
  3. Запрещается использовать в качестве аватара неприличные изображения, а также содержащие информацию, перечисленную в предыдущем пункте, и элементы характерного жаргона блогов и развлекательных сайтов универсальной тематики ("сленг подонков");
  4. Запрещается заводить ботов – второй и последующий аккаунты при действующем текущем. Возможные исключения согласовываются по целям и причинам с командой сайта. Если Вы забыли регистрационные данные, свяжитесь с администратором.

Голосование по авторским музыкальным композициям.

  1. К голосованию за авторские записи mp3 и gtp/midi допускаются только пользователи, с момента регистрации которых на сайте прошло не менее недели;
  2. Выставляйте оценку согласно заявленному стилю, максимально беспристрастно. Если Вам не нравится музыкальное направление, воздержитесь от оценки;
  3. Каждая оценка должна сопровождаться комментарием в теме обсуждения композиции на форуме. Настоятельно рекомендуется оставлять развернутое мнение по творческому материалу, и воздерживаться от простейших констатаций своей оценки;
  4. Категорически запрещается искусственно занижать рейтинг композиций проставлением худших оценок при положительных или невнятных комментариях;
  5. Запрещаются призывы и организация массовых акций с целью искусственного занижения или завышения рейтинга композиций. В качестве доказательства таких призывов или организации команда сайта оставляет за собой право использовать любые источники, включая личные сообщения на форуме и сообщения на других интернет-ресурсах.

Содержание сообщений. Правила.

  1. Сообщениями считаются сообщения форума (в том числе присоединяемые к ним файлы), заголовки и описания тем, публичные сообщения чата, сообщения доски объявлений чата, а также объявления сервиса "Покупка и продажа инструментов и музыкального оборудования".
  2. Нецензурная лексика (мат и ругательные слова, могущие трактоваться как мат) строго запрещена. Исключения могут составлять публикации полностью или отрывками творческого материала, содержащего ненормативную лексику, и некоторые цитаты;
  3. Запрещается использование характерного жаргона блогов и развлекательных сайтов универсальной тематики, включающего в себя стойкие выражения с намеренными грамматическими и орфографическими ошибками ("сленг подонков");
  4. Запрещаются открытые оскорбления пользователей сайта, публичное их унижение и насмешка над ними;
  5. Запрещаются призывы к насилию, употреблению крепких спиртных напитков и наркотических средств, разжиганию расовой, национальной и религиозной розни. Запрещается публикация информации, унижающей достоинство того или иного пола или сексуальной ориентации;
  6. Запрещена вульгарная, неприличная и непристойная информация (в том числе словесная порнография);
  7. Запрещается флуд - сообщения (в том числе присоединяемые файлы и изображения), не относящиеся к теме и тематике форума, не несущие никакой смысловой нагрузки (в том числе состоящие только из иллюстрации собственных эмоций), и другие бесполезные сообщения. Запрещается публиковать "письма счастья" и предложения к вступлению в пирамидальные схемы. Исключением являются сообщения для поднятия тем форума, требующих ответа - их разрешается оставлять не чаще раза в неделю;
  8. Запрещается публиковать информацию рекламного характера (в том числе, открыто рекламировать любые интернет-ресурсы). Команда может блокировать нарушителей без предупреждений и обратной связи;
  9. Запрещена коммерческая деятельность в любой форме с использованием сообщений;
  10. Запрещена осознанно лживая (по факту) и клеветническая информация. Запрещено публиковать приватную информацию и личную переписку любого человека без его ведома и согласия;
  11. Запрещено публикование сообщений полностью заглавными (БОЛЬШИМИ) буквами, с использованием трудночитаемых сочетаний цвета и шрифта, без пробелов, а также английскими буквами на русском языке (пользуйтесь сайтом http://translit.ru);
  12. Запрещается чрезмерное использование графических смайликов (в частности, более одного на предложение на форуме).

Содержание сообщений. Правила форумов.

  1. Перед созданием темы убедитесь, что такой вопрос еще не обсуждался (пользуйтесь поиском по форуму), иначе продолжайте старую тему. Для каждого обширного вопроса создавайте отдельную тему. Давайте темам осмысленные, кратко освещающие вопрос темы названия и описания;
  2. Создавайте темы в форумах соответствующей тематики. Запрещено создание аналогичных тем на нескольких форумах (если Вы ошиблись и создали тему не в том форуме, свяжитесь с модератором - он переместит тему в нужный форум);
  3. Запрещено продолжать закрытые темы (путем создания новой аналогичной);
  4. Запрещено создание тем, посвященных созданию групп и поиска музыкантов (пользуйтесь сервисом "База музыкантов") и объявлением о покупке/продаже музыкальных инструментов и оборудования (пользуйтесь соответствующим сервисом);
  5. Запрещено создание сообщений в одной и той же теме менее через десять минут после оставления последнего сообщения при условии отстутствия новых сообщений от других пользователей. На форуме существует десятиминутный таймаут на редактирование собственных сообщений;
  6. Запрещено присоединение исполняемых файлов с вредоносным кодом (вирусы, троянские кони, снифферы и другие), а также изображений более 640 точек по большей стороне и 100 кб по размеру;
  7. Запрещена личная переписка, если ее содержание не несет очевидной пользы другим пользователем сайта, а также публичное выяснение отношений. Пользуйтесь личными каналами связи, в том числе личными сообщениями форума.

Содержание сообщений. Настоятельно не рекомендуется...

  1. ... размещать информацию, сам факт публикации которой может являться нарушением законодательства РФ;
  2. ... пользоваться каким-либо жаргоном, намеренно пренебрегать правилами грамматики и орфографии (при низкой грамотности рекомендуется набирать свои сообщения первоначально в редакторах с включенной проверкой орфографии);
  3. ... злоупотреблять знаками препинания с целью повысить эмоциональную нагрузку сообщения;
  4. ... оставлять неаргументированные мнения и заявления;
  5. ... размещать ссылки на интернет-ресурсы, если они напрямую не относятся к обсуждаемой теме. Публикуемые ссылки, если это возможно, должны вести к самому источнику (ссылки на файлы должны быть прямыми), а не к главной странице сайта (может трактоваться как реклама);
  6. ... злоупотреблять цитированием отправленных ранее сообщений (оверквотинг) на форуме. Аккуратнее пользуйтесь инструментом цитирования и тегами [quote];
  7. ... публиковать на форуме гитарные табулатуры и аккордовые подборы открытым текстом. Заключайте их в теги [code].