Ответ
sergei77 25.03.2015 16:03
Добавляю пользователя в админ панели сайта:
@USE
nconvert.p
@main[]
^oSql.server{
$auth_data[^auth::init[$cookie:CLASS;$form:fields;$.csql[$oSql]]]
}
^login_form[]
@all[]
^if($auth_data.user.groups.rights == 777){^user_add[]}{<h4>Не достаточно прав</h4>}
@user_add[]
^oSql.server{
$status[^table::sql{select Id, name, is_published from status where is_published=1 order by name desc}]
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<form method="POST" enctype="multipart/form-data">
$now[^date::now[]]
<table border=0 align=center id=content>
<tr>
<td>
<h3>добавление нового пользователя</h3>
<input type="text" name="login" id=textfield1> *Логин</td>
</tr>
<tr>
<td>
<input type="password" name="code" value="^password.left(10)" size="20" /> *Пароль<br>
<input type="password" name="code2" value="^password.left(10)" size="20" /> *Повтор пароля
</td>
</tr>
<tr>
<td><input type="text" name="fio" id=textfield1> *Фамилия Имя Отчество</td>
</tr>
<tr>
<td><input type="text" name="email" id=textfield1> E-mail</td>
</tr>
<tr>
<td><input type="text" name="icq" id=textfield1> ICQ</td>
</tr>
<tr>
<td><input type="text" name="skype" id=textfield1> Skype</td>
</tr>
<tr>
<td>
^if($auth_data.user.groups.rights == 777){
<SELECT size=0 width=50 name="status">
^status.menu{<OPTION value='$status.Id'>$status.name</OPTION>}
</SELECT>
}
</td>
</tr>
<tr>
<td><input type="tel" name="mobile_p" id=textfield1> Телефон</td>
</tr>
<tr>
<td>Прикрепить фото: <input type='file' name="picture" size=50><br> (Картинка не должна превышать 200px в ширину)<p></td>
</tr>
<tr>
<td><input type="checkbox" name="is_published" id=textfield1 checked> Активен ?</td>
</tr>
<tr>
<td class="tooltip"><input type="checkbox" name="rights" id=textfield1>Дать права супер администратора, на управление сайтом?<span class="custom info"><img src="/images/Info.png" alt="Информация" height="48" width="48" /><em>Информация</em>У пользователя ограниченые возможности управлением сайта!</span></td>
</tr>
</table>
<font color=red>Проверьте введыне вами данные!</font> <input type="submit" value="Добавить" name="post" align=right>
</form>
^if(def $form:post){^if(def $form:login && $form:code eq $form:code2 && def $form:fio){^proceed[]}{^check[]}}
@proceed[]
^MAIN:dbconnect{
^rem{ *** создаем объект класса auth *** }
$auth[^auth::init[$cookie:CLASS;;$.csql[$oSql]]]
^void:sql{insert into auser
(name, passwd, fio, status_id, phone, email, icq, skype, dt_register, ip, auser_reg, is_published, rights, admin)
values (
'$form:login',
'^auth.cryptPassword[$form:code]',
'$form:fio',
'$form:status',
'$form:mobile_p',
'$form:email',
'$form:icq',
'$form:skype',
'^date_now.sql-string[]',
'$ip',
'$auth_data.user.id',
^if(def $form:is_published){'1'}{'0'},
^if(def $form:rights){'777'}{'0'},
'0'
)
}
$last_id[^int:sql{SELECT DISTINCT last_insert_id() FROM auser}[$.limit{1}]]
}
^if(def $form:picture){^upload[$form:picture]}{
^connect[$SQL.connect-string]{
^void:sql{insert into files_data
(objects_id, uri, type_)
values
('$last_id', '' , 'auser_picture')
}
}
}
# проверка на введенные данные
@check[]
<b><font color=red>Не указано:</font></b>
^if(def $form:fio){$fio[1]}{<br>Фамилия Имя Отчество}
^if(def $form:login){$login[1]}{<br>Логин}
^if(def $form:status){$status[1]}{<br>должность }
^if($form:code ne $code2){<br>Пароли не совпадают}
@upload[picture]
$ext[^file:justext[$picture.name]]
$ext[^ext.lower[]]
^if($ext eq "jpg" ||
$ext eq "gif" ||
$ext eq "png"){
$rash[^file:justext[$picture.name]]
$rnd[^math:random(1000)]
$sText[$picture.name]
$path[^sText.replace[^table::load[/translate.dat]]]
^picture.save[binary;/komanda_kompanii/pictures/${rnd}_${path}]
$picture[/komanda_kompanii/pictures/${rnd}_${path}]
^oSql.server{
^void:sql{insert into files_data
(objects_id, uri, type_)
values
('$last_id', '$picture' , 'auser_picture')
}
}
$result[<h1>Пользователь добавлен</h1>]
}{
$result[<h1>Вы пытаетесь загрузить не фото..</h1>]
}
</center>
все хорошо а вот проверку на уже имеющийся такой login сделать не могу помогите, заранее спасибо.