Вход Регистрация
Файл: wapxl.ru/user/addsite.php
Строк: 376
<?php
require_once ('../shaxty.php');
$title 'Создание сайта';


function 
utf8_str_split($str) {
  
// place each character of the string into and array
  
$split=1;
  
$array = array();
  for ( 
$i=0$i strlen$str ); ){
    
$value ord($str[$i]);
    if(
$value 127){
      if(
$value >= 192 && $value <= 223)
        
$split=2;
      elseif(
$value >= 224 && $value <= 239)
        
$split=3;
      elseif(
$value >= 240 && $value <= 247)
        
$split=4;
    }else{
      
$split=1;
    }
      
$key NULL;
    for ( 
$j 0$j $split$j++, $i++ ) {
      
$key .= $str[$i];
    }
    
array_push$array$key );
  }
  return 
$array;
}
/**
 * Функция вырезки
 * @param <string> $str
 * @return <string>
 */
function clearstr($str){
        
$sru 'ёйцукенгшщзхъфывапролджэячсмитьбю';
        
$s1 array_merge(utf8_str_split($sru), utf8_str_split(strtoupper($sru)), range('A''Z'), range('a','z'), range('0''9'));
        
$codes = array();
        for (
$i=0$i<count($s1); $i++){
                
$codes[] = ord($s1[$i]);
        }
        
$str_s utf8_str_split($str);
        for (
$i=0$i<count($str_s); $i++){
                if (!
in_array(ord($str_s[$i]), $codes)){
                        
$str str_replace($str_s[$i], ''$str);
                }
        }
        return 
$str;
}


switch(
$mod){
default:
$align 'left';
$head '<big>Создание сайта | Правила</big>';
include_once (
'../shaxty/head.php');
echo 
'<div class="mess">

<b>Что-то пошло не так, пожалуйста вернитесь назад и повторите попытку.</b><br />

'
;

echo 
'</div>';
break;

case 
'domain':
$align 'left';
$head '<big>Адрес сайта</big>';
include_once (
'../shaxty/head.php');
if (!isset(
$_POST['domain'])){

header('Location: my_sites.php');
exit();

}else{

$reg_domain = isset($_POST['domain']) ? func::checkin(func::rus_utf_tolower($_POST['domain'])) : '';


$reg_dom = isset($_POST['dom']) ? func::checkin(func::rus_utf_tolower($_POST['dom'])) : '';

$_SESSION['domain'] = $reg_domain;
$_SESSION['dom'] = $reg_dom;

unset(
$_SESSION['domain_err']);

// Проверка домена
if(ctype_digit($reg_domain)){
$error.= 'Адрес сайта не может состоять только из цифр.<br />';
$_SESSION['domain_err'] = 'Адрес сайта не может состоять только из цифр.';
header('Location: my_sites.php');
exit();
}

if (empty(
$reg_domain)){
 
$error .= 'Не указан адрес<br/>';
$_SESSION['domain_err'] = 'Не указан адрес';
header('Location: my_sites.php');
exit();
}

if (!
preg_match('|^[a-z0-9-]+$|i'$reg_domain)){
$error .= 'Недопустимые символы в адресе<br/>';
$_SESSION['domain_err'] = 'Недопустимые символы в адресе';
header('Location: my_sites.php');
exit();
}

if (
func::utf_strlen($reg_domain) < || func::utf_strlen($reg_domain) > 20){
$error .= 'Недопустимая длина адреса (От 3 до 20 символов)<br />';
$_SESSION['domain_err'] = 'Недопустимая длина адреса (От 3 до 20 символов)';
header('Location: my_sites.php');
exit();
}

$mcore::$db -> queryFetch("SELECT * FROM `sites` WHERE `domain`=?;", array($reg_domain.'.'.$reg_dom));
if (
$m 0) {
$error .= 'Указаный вами Адрес занят, выберите другой.';
$_SESSION['domain_err'] = 'Указаный вами Адрес занят, выберите другой.';
header('Location: my_sites.php');
exit();
}

if (
$reg_domain == 'www') {
$error .= 'Указаный вами Адрес занят, выберите другой.';
$_SESSION['domain_err'] = 'Указаный вами Адрес занят, выберите другой.';
header('Location: my_sites.php');
exit();
}

if (
$reg_domain == 'forum') {
$error .= 'Указаный вами Адрес занят, выберите другой.';
$_SESSION['domain_err'] = 'Указаный вами Адрес занят, выберите другой.';
header('Location: my_sites.php');
exit();
}

if (
$reg_domain == 'wap') {
$error .= 'Указаный вами Адрес занят, выберите другой.';
$_SESSION['domain_err'] = 'Указаный вами Адрес занят, выберите другой.';
header('Location: my_sites.php');
exit();
}

header('Location: addsite.php?mod=reg');

}


break;


case 
'reg':
$align 'left';
$head '<big>Учетные данные Администратора</big>';
include_once (
'../shaxty/head.php');
if(!isset(
$_POST['submit'])){

echo 
'<form method="post" action="?mod='.$mod.'&amp;'.SID.'" name="auth">';

echo 
'<dl></dl><div class="c2"><img src="/style/img/ind.png" alt="*"/> <b>Данные сайта</b></div>';

echo 
'<div class="mess">';
echo 
'<b>Адрес сайта:</b><br /> <b>'.$_SESSION['domain'].'.'.$_SESSION['dom'].'</b> <dt></dt>';


echo 
"<dl></dl><b>Карегория:</b><br />";
echo 
'<select name="cat" ' . (isset($_SESSION['cat_err']) ? ' style="background-color: #FFCCCC"' '') . '>';

echo 
'<option value="0">Выберите категорию</option>';
$raz mysql_query("SELECT id,name FROM `top_razdels`;");
while (
$r mysql_fetch_array($raz)) //пускаем цикл и выводим
{
$selected = ($r['id'] == $_SESSION['cat']) ? ' selected="selected"' '';
echo 
'<option value="'.$r['id'].'"'.$selected.'>'.$r['name'].'</option>';

}
echo 
'</select> ' . (isset($_SESSION['cat_err']) ? '<span style="color:#DD0000">'.$_SESSION['cat_err'].'</span>' '') . '<br />
Выберита категорию, схожую с тематикой Вашего сайта,<br />
 для правильного отображения сайта в ТОПе конструктора.<br />'
;

echo 
"<dl></dl><b>Описание:</b><br />";

echo 
'<input name="about" maxlength="200" value="'.$_SESSION['about'].'" ' . (isset($_SESSION['about_err']) ? ' style="background-color: #FFCCCC"' '') . '/> ' . (isset($_SESSION['about_err']) ? '<span style="color:#DD0000">'.$_SESSION['about_err'].'</span>' '') . '<br />
Краткое описание сайта, максимум 200 символов.<br />'
;

echo 
'</div>';
echo 
'<dl></dl><div class="c2"><img src="/style/img/ind.png" alt="*"/> <b>Учетные данные Администратора</b></div>';
echo 
'<div class="mess">';
echo 
'<b>Логин (Ник):</b><br/><input type="text" name="reg_nick" maxlength="30" value="'.$_SESSION['reg_nick'].'" ' . (isset($_SESSION['reg_nick_err']) ? ' style="background-color: #FFCCCC"' '') . '/> ' . (isset($_SESSION['reg_nick_err']) ? '<span style="color:#DD0000">'.$_SESSION['reg_nick_err'].'</span>' '') . '<br />От 3 до 15 символов.<br />Разрешины любые символы и знаки.<dl></dl>';



if(isset(
$_GET['passgen'])){
$_SESSION['password'] = func::generate_password(8);

}

echo 
'<b>Пароль:</b><br/><input name="password" maxlength="20"  value="'.$_SESSION['password'].'" title="nick" ' . (isset($_SESSION['pass_err']) ? ' style="background-color: #FFCCCC"' '') . ' />  <a href="reg.php?mod=reg&amp;passgen" class="href">Генерация Пароля</a> ' . (isset($_SESSION['pass_err']) ? '<span style="color:#DD0000">'.$_SESSION['pass_err'].'</span>' '') . '<br />';
echo 
'От 6 до 15 символов.<br />Разрешены буквы Латинского алфавита,<br />цифры (кроме нуля) и знак -<br /> Пароль не должен состоять из одних цифр, пример: <b>'.func::generate_password(6).'</b><dl></dl>';


echo 
'E-mail:<br /><input name="email" maxlength="50" value="'.$_SESSION['email'].'" ' . (isset($_SESSION['email_err']) ? ' style="background-color: #FFCCCC"' '') . '/><br />';
echo 
'Адрес электронной почты для восстановления пароля.<br />Указывайте реальный E-mail, иначе вы не сможете восстановить доступ к вашему сайту.<br /><dl></dl>';

echo 
'<b>Секретный вопрос:</b><br/>';
echo 
'<select name="vopros_pass">';
$odobr = array(=> 'Ввести свой''Девичья фамилия матери' => 'Девичья фамилия матери''Любимое блюдо' => 'Любимое блюдо''Кличка домашнего животного' => 'Кличка домашнего животного''Любимый цвет' => 'Любимый цвет''Первый учитель' => 'Первый учитель''Гос номер авто' => 'Гос номер авто');
foreach(
$odobr as $k => $v) {
$selected = ($k == $_SESSION['vopros_pass']) ? ' selected="selected"' '';
echo 
'<option value="'.$k.'"'.$selected.'>'.$v.'</option>';
}
echo 
'</select><br />';

echo 
'<b>Вопрос:</b><br/><input type="text" name="vopros_pass1" maxlength="30" value="'.$_SESSION['vopros_pass1'].'" ' . (isset($_SESSION['vopros_err']) ? ' style="background-color: #FFCCCC"' '') . '/> ' . (isset($_SESSION['vopros_err']) ? '<span style="color:#DD0000">'.$_SESSION['vopros_err'].'</span>' '') . '<br />';
echo 
'<b>Ответ:</b><br/><input type="text" name="otvet_pass" maxlength="30" value="'.$_SESSION['otvet_pass'].'" ' . (isset($_SESSION['otvet_err']) ? ' style="background-color: #FFCCCC"' '') . '/> ' . (isset($_SESSION['otvet_err']) ? '<span style="color:#DD0000">'.$_SESSION['otvet_err'].'</span>' '') . '<br />';
echo 
'Секретные вопрос и ответ необходимы для восстановления пароля и изменения учетных данных. После регистрации эти данные нельзя будет изменить.<br /><dl></dl>';


echo 
'<img src="/PAGES/shaxty_code.php?r='.rand(10009999).'" alt="Проверочный код"/><br />';
echo 
'<b>Код с картинки:</b><br/><input type="text" size="5" maxlength="5"  name="kod" ' . (isset($_SESSION['code_err']) ? ' style="background-color: #FFCCCC"' '') . '/> ' . (isset($_SESSION['code_err']) ? '<span style="color:#DD0000">'.$_SESSION['code_err'].'</span>' '') . '<br /><br />';
echo 
'<br />
<input name="domain" type="hidden" value="'
.$_SESSION['domain'].'">
<input name="dom" type="hidden" value="'
.$_SESSION['dom'].'">
<input type="submit"  class="ibutton" value="Далее>>" name="submit"/></form><br /><br /><b>Все поля обязательны к заполнению!</b>'
;
echo 
'</div><br />';
}else{


$reg_kod = isset($_POST['kod']) ? func::checkin($_POST['kod']) : '';
//$lat_nick = isset($_POST['lat_nick']) ? func::checkin($_POST['lat_nick']) : '';

 
$reg_nick = isset($_POST['reg_nick']) ? func::checkin($_POST['reg_nick']) : '';

$reg_pass = isset($_POST['password']) ? func::checkin($_POST['password']) : '';


$email = isset($_POST['email']) ? func::checkin($_POST['email']) : '';

$vopros_pass = isset($_POST['vopros_pass']) ? func::checkin($_POST['vopros_pass']) : '';
$vopros_pass1 = isset($_POST['vopros_pass1']) ? func::checkin($_POST['vopros_pass1']) : '';
$otvet_pass = isset($_POST['otvet_pass']) ? func::checkin(func::rus_utf_tolower($_POST['otvet_pass'])) : '';


$reg_domain = isset($_POST['domain']) ? func::checkin($_POST['domain']) : '';
$reg_dom = isset($_POST['dom']) ? func::checkin($_POST['dom']) : '';

if (empty(
$reg_domain)){
$_SESSION['domain_err'] = 'Что-то пошло не так,пожалуйста попробуйте еще раз.';
header('Location: my_sites.php');
exit();
}
if (empty(
$reg_dom)){
$_SESSION['domain_err'] = 'Что-то пошло не так,пожалуйста попробуйте еще раз.';
header('Location: my_sites.php');
exit();
}


$cat = isset($_POST['cat']) ? func::checkin(intval($_POST['cat'])) : '0';
$about = isset($_POST['about']) ? func::checkin($_POST['about']) : '';


$_SESSION['reg_nick'] = $reg_nick;
//$_SESSION['lat_nick'] = $lat_nick;
$_SESSION['password'] = $reg_pass;
$_SESSION['domain'] = $reg_domain;
$_SESSION['shablon'] = $reg_sex;
$_SESSION['email'] = $email;
$_SESSION['vopros_pass'] = $vopros_pass;
$_SESSION['vopros_pass1'] = $vopros_pass1;
$_SESSION['otvet_pass'] = $otvet_pass;

$_SESSION['cat'] = $cat;
$_SESSION['about'] = $about;

unset(
$_SESSION['reg_nick_err']);
//unset($_SESSION['lat_nick_err']);
unset($_SESSION['email_err']);
unset(
$_SESSION['vopros_err']);
unset(
$_SESSION['otvet_err']);
unset(
$_SESSION['pass_err']);
unset(
$_SESSION['domain_err']);
unset(
$_SESSION['code_err']);
unset(
$_SESSION['about_err']);
unset(
$_SESSION['cat_err']);

if (
func::utf_strlen($about) < || func::utf_strlen($about) > 200){
$error .= 'Не указано описание сайта или превышена его длина.<br />';
$_SESSION['about_err'] = 'Не указано описание сайта или превышена его длина.';
}

if (
$cat==0){
$error .= 'Выберите категорию!<br/>';
$_SESSION['cat_err'] = 'Выберите категорию!';
}

 
// Проверка Ника

if (empty($reg_nick)){
$error .= 'Не введён ник<br/>';
$_SESSION['reg_nick_err'] = 'Не введён ник.';
}
if (
func::utf_strlen($reg_nick) < || func::utf_strlen($reg_nick) > 15){
$error .= 'Недопустимая длина Ника (От 3 до 15 символов)<br />';
$_SESSION['reg_nick_err'] = 'Недопустимая длина Ника (От 3 до 15 символов)';
}


$lat_nick =func::rus_utf_tolower(clearstr(func::retranslit(func::del(func::checkin($reg_nick))))); //логин


if (func::utf_strlen($lat_nick) < 3){
$error .= 'В нике должны присутствовать не толоько символы, но и не менее 3 букв Латинского или Русского алфавита или цифры<br/>';
$_SESSION['reg_nick_err'] = 'В логине должны присутствовать не толоько символы, но и не менее 3 букв Латинского или Русского алфавита или цифры';
}

if (
ctype_digit($lat_nick)){
$error .= 'В нике должны присутствовать не толоько символы и цифры, но и буквы Латинского или Русского алфавита<br/>';
$_SESSION['reg_nick_err'] = 'В нике должны присутствовать не толоько символы и цифры, но и буквы Латинского или Русского алфавита';
}

// Проверка E-mail
if (empty($email)){
$error .= 'Не введён E-mail<br/>';
$_SESSION['email_err'] = 'Не введён E-mail';
}


// Проверка вопроса
if ($vopros_pass == '0' && empty($vopros_pass1)){
 
$error .= 'Не указан вопрос<br/>';
 
$_SESSION['vopros_err'] = 'Не указан вопрос';
}
if (empty(
$otvet_pass)){
 
$error .= 'Не указан ответ<br/>';
 
$_SESSION['otvet_err'] = 'Не указан ответ';
}

// Проверка пароля
if (empty($reg_pass)){
$error .= 'Не введён пароль<br/>';
$_SESSION['pass_err'] = 'Не указан пароль';
}
if (
func::utf_strlen($reg_pass) < || func::utf_strlen($reg_pass) > 15){
$error .= 'Недопустимая длина пароля (От 6 до 15 символов)<br />';
$_SESSION['pass_err'] = 'Недопустимая длина пароля (От 6 до 15 символов)';
}
if (!
preg_match('|^[a-z0-9-]+$|i'$reg_pass)){
$error .= 'Недопустимые символы в пароле<br/>';
$_SESSION['pass_err'] = 'Недопустимые символы в пароле';
}

// Проверка домена
if(ctype_digit($reg_domain)){
$error.= 'Адрес сайта не может состоять только из цифр.<br />';
$_SESSION['lat_nick_err'] = 'Адрес сайта не может состоять только из цифр.';
header('Location: addsite.php');
exit();
}

if (empty(
$reg_domain)){
 
$error .= 'Не указан адрес<br/>';
$_SESSION['domain_err'] = 'Не указан адрес';
header('Location: addsite.php');
exit();
}

if (!
preg_match('|^[a-z0-9-]+$|i'$reg_domain)){
$error .= 'Недопустимые символы в адресе<br/>';
$_SESSION['domain_err'] = 'Недопустимые символы в адресе';
header('Location: addsite.php');
exit();
}

if (
func::utf_strlen($reg_domain) < || func::utf_strlen($reg_domain) > 20){
$error .= 'Недопустимая длина адреса (От 3 до 20 символов)<br />';
$_SESSION['domain_err'] = 'Недопустимая длина адреса (От 3 до 20 символов)';
header('Location: addsite.php');
exit();
}

$mcore::$db -> queryFetch("SELECT * FROM `sites` WHERE `domain`=?;", array($reg_domain.'.'.$reg_dom));
if (
$m 0) {
$error .= 'Указаный вами Адрес занят, выберите другой.';
$_SESSION['domain_err'] = 'Указаный вами Адрес занят, выберите другой.';
header('Location: my_sites.php');
exit();
}


// Проверка кода CAPTCHA
if ($reg_kod != $_SESSION['code']){
$error .= 'Проверочный код неверен<br/>';
$_SESSION['code_err'] = 'Проверочный код неверен';
}



if (empty(
$error)) {
unset(
$_SESSION['reg_nick']);
//unset($_SESSION['lat_nick']);
unset($_SESSION['password']);
unset(
$_SESSION['domain']);
unset(
$_SESSION['shablon']);
unset(
$_SESSION['email']);
unset(
$_SESSION['meil']);
unset(
$_SESSION['vopros_pass']);
unset(
$_SESSION['vopros_pass1']);
unset(
$_SESSION['otvet_pass']);
unset(
$_SESSION['cat']);
unset(
$_SESSION['about']);

$reg_domain $reg_domain.'.'.$reg_dom;

$pass md5(md5($reg_pass));


$otvet_pass1 md5(md5($otvet_pass));// шифруем ответ на вопрос

if($vopros_pass == '0'$vopros_pass $vopros_pass1;






 
$dbi core::$db -> prepare("INSERT INTO `sites` SET `admin_id`=?, `domain`=?, `timereg`=?, `size_max`=?, `timeedite`=?, `email`=?, `cat`=?, `about`=?");

$dbi -> execute(core::$user_id,$reg_domain,core::$realtime,314572800,0,$email,$cat,$about);

 
$sid core::$db -> lastInsertId();

$dbi core::$db -> prepare("INSERT INTO `users` SET `sid`=?, `user`=?, `ruser`=?, `pass`=?, `level`=?, `user_ip`=?, `user_soft`=?, `email_pass`=?, `vopros_pass`=?, `otvet_pass`=?, `timereg`=?, `date`=?");

$dbi -> execute($sid,$reg_nick,$lat_nick,$pass,9,core::$ipp,core::$agn,$email,$vopros_pass,$otvet_pass1,core::$realtime,core::$realtime);

 
$usid core::$db -> lastInsertId();



$dbi core::$db -> prepare("INSERT INTO `setting` SET `sid`=?, `namesite`=?, `nickname`=?");

$dbi -> execute($sid,$reg_domain,$reg_nick);


// Высылаем инструкции на E-mail
           
$mail "" $reg_nick ", Ваш сайт http://".$reg_domain." успешно создан и уже доступен!nn Сохраните ваш пароль и логин в надежном месте nВаши данные для входа на сайт n ID: ".$usid." n Логин: ".$reg_nick." n Пароль: ".$reg_pass." nnСсылка для автовхода: nhttp://".$reg_domain."/PAGES/in.php?nick=".$usid "&ps=".$reg_pass." nnВсю необходимую информацию вы можете найти на нашем форуме http://1wm.su , там вам всегда помогут в решении ваших задач...nnС Уважением Администрация 1WM.SU";

 
func::addmail($email"Ваш сайт создан!"$mail'support@1wm.su''Конструктор сайтов 1WM.SU');

$dirnew '../sites/'.$reg_domain;

if(
mkdir($dirnew0777)){

mkdir('../sites/'.$reg_domain.'/styles'0777);// Папка с дизайном
mkdir('../sites/'.$reg_domain.'/modul_files'0777); // Папка для файлов сайта загруженных через модули
mkdir('../sites/'.$reg_domain.'/modul_files/photos'0777);// Папка для фото юзеров

mkdir('../sites/'.$reg_domain.'/modul_files/forum'0777);// Папка файлов форума

mkdir('../sites/'.$reg_domain.'/modul_files/privat'0777);

mkdir('../sites/'.$reg_domain.'/modul_files/ava'0777);


$read "../shablony/shablon1.zip";

$dirs '../sites/'.$reg_domain.'/';
include_once
"../admin/pclzip.php";
$archive = new PclZip($read);
function 
myPreExtractCallBack($p_event, &$p_header)
  {
    
$info pathinfo($p_header['filename']);
    
// ----- пропускаем все .php файлы
    
if ($info['extension'] == 'php') {
      return 
0;
    }
    
// ----- пропускаем все .htaccess файлы
    /*if ($info['extension'] == 'htaccess') {
      return 0;
    }*/

  
}


$value $archive->extract(PCLZIP_OPT_PATH$dirs);

$newmsg 'Поздравляем, ваш сайт [b]'.$reg_domain.'[/b] успешно создан.
Теперь вы можете перейти к его редактированию, все необходимое для этого вы найдете в вашей  "Админской"'
;

$news core::$db -> prepare("INSERT INTO `news` SET `sid`=?, `user_id`=?, `time`=?, `msg`=?");
$news -> execute($sid,$usidcore::$realtime$newmsg);


core::$db->query ("INSERT INTO moduls (sid,modul) VALUES (?,?)",array($sid,'gbook'));



}


               echo 
"<b>Ваш сайт <b>".$reg_domain."</b> успешно создан!</b><br/>Теперь вы можете приступить к его редактированию
               <br/><br />Пожалуйста запомните ваши данные для входа:<br />"
;
               echo 
"Ваш id: <b>".$usid."</b><br/>";
               echo 
"Ваш логин: <b>".$reg_nick."</b><br/>";
               echo 
"Ваш E-mail: <b>".$email."</b><br/>";
               echo 
"Ваш Пароль: <b>".$reg_pass."</b><br/>";
               echo 
"Секретный вопрос: <b>".$vopros_pass."</b><br/>";
               echo 
"Секретный ответ: <b>".$otvet_pass."</b><br/><br />";

               echo 
"Номер вашего сайта в системе: <b>".$sid."</b><br/>";

                echo 
'Адрес сайта: <a href="http://'.$reg_domain.'">http://'.$reg_domain.'</a><br /><br />';



                echo 
'<a href="http://'.$reg_domain.'/PAGES/in.php?nick='.$lat_nick.'&amp;ps='.$reg_pass.'&amp;mod=admin" class="href">Перейти к редактированию</a><br /><br />';
                
//echo "PS: не удаляйте файл <b>index.html</b> и папку <b>styles</b>, они нужны для правильной работы вашего сайта. index.html - это главная страница сайта, а папка styles - содержит дизайн вашего сайта.";

}else{
header('Location: addsite.php?mod=reg');
func::errors($error'<a href="addsite.php?mod=reg" class="href">Вернуться</a>');
}

}
break;



}
echo 
'<br />';
include_once (
'../shaxty/foot.php');
?>
Онлайн: 0
Реклама