Вход Регистрация
Файл: apanel.php
Строк: 341
<?php
error_reporting
(0);
include_once(
'./versions.inc');
$login=$_POST['login']; $pass=$_POST['pass']; $key=$_GET['key'];
if (!((
$login<>null && $pass<>null) || $key<>null)) {
 
p_begin(w2u('Панель администратора'),'center');
 if (!
$wml) {echo '<form action="apanel.php" method="post">';}
 echo 
w2u('Логин:').$br.'<input type="text" name="login" value=""'.$_s.'>'.$br.w2u('Пароль:').$br.'<input type="password" name="pass" value=""'.$_s.'>'.$br;
 if (
$wml) {
  echo 
'<anchor>'.w2u('ВХОД').'<go href="apanel.php?wml" method="post"><postfield name="login" value="$(login)"/><postfield name="pass" value="$(pass)"/></go></anchor>'.$br;
 } else {
  echo 
'<input type="submit" value="'.w2u('ВХОД').'"></form>';
 }
 
p_end('center');
} else {
 
$ms=ms_connect(1); $er=true;
 if (
$key<>null) {
  
$key=preg_replace('~[^0-9]~','',$key);
  if (
$key<>null) {
   
$res=ms_q("Select * From `admin_keys` Where `time`<'".(time()-1800)."' And `key`<>'' Limit 1");
   if (
ms_num($res)==1) {ms_q("Update `admin_keys` Set `key`='' Limit 1");}
   else {
    
ms_q("Update `admin_keys` Set `time`='".time()."' Limit 1");
    
$res=ms_q("Select * From `admin_keys` Limit 1");
    
$data=ms_data($res); $key=$data['key']; $pass=out_ms($data['pass']);
    if (
$key<>null && $pass<>null) {$er=false;}
   }
  }
 } else {
  
$login=preg_replace('~[^0-9a-z]~','',strtolower($login));
  
$res=ms_q("Select * From `settings` Where `login`='".$login."' And `pass`='".md5($pass)."' Limit 1");
  if (
ms_num($res)==1) {
   
$key=rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9).rand(0,9);
   
ms_q("Update `admin_keys` Set `key`='".$key."', `pass`='".in_ms($pass)."', `time`='".time()."' Limit 1");
   
$er=false;
  }
 }
 if (!
$er) {
  
$res=ms_q("Select * From `settings` Limit 1"); $settings=ms_data($res);
  
$sh_cnt=$settings['sh_cnt']; $rsort=$settings['rsort']; $sh_quota=$settings['sh_quota'];
  
$ac=$_GET['ac']; $s_ac=$_GET['s_ac'];
  if (
$ac==null) {
   
p_begin(w2u('Панель администратора'));
   echo 
$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=users'.$_v2.'">'.w2u('Пользователи').'</a>'.$br;
   echo 
$_tr.' '.w2u('Рассылка новостей').' '.$br;
   echo 
$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=lock'.$_v2.'">'.w2u('Запрещённые логины').'</a>'.$br;
   echo 
$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=settings'.$_v2.'">'.w2u('Настройки').'</a>'.$br;
  } else {
   if (
$ac=='users') {
    
p_begin(w2u('Панель администратора - Пользователи'));
    if (
$s_ac==null) {
     
$res=ms_q("Select `id` From `users`");
     
$users_all=ms_num($res); $p=$_GET['p']; if (!$p>0) {$p=1;}
     if (
$users_all>0) {
      
$pages=ceil($users_all/$sh_cnt);
      if (
$p>$pages) {$p=$pages;}
      
$begin=$p*$sh_cnt-$sh_cnt;
      if (
$begin>$users_all) {$begin=$users_all-1;}
      if (
$rsort==1) {$sort=' Order By `id` Desc';} else {$sort='';}
      if (
$sh_quota==1) {$quota=',`quota`,`quota_disk`';} else {$quota='';}
      
$res=ms_q("Select `id`,`login`,`domain`".$quota." From `users`".$sort." Limit $begin,$sh_cnt");
      
$cnt=ms_num($res);
     } else {
$cnt=0;}
     if (
$cnt>0) {
      
$users=ms_data_full($res);
      for (
$i=0;$i<count($users);$i++) {
       if (
$sh_quota==1) {$quota=' [ '.$users[$i]['quota'].'/'.$users[$i]['quota_disk'].' ]';} else {$quota='';}
       echo (
$begin+$i+1).') <a href="apanel.php?key='.$key.'&amp;ac=users&amp;s_ac=edit&amp;id='.$users[$i]['id'].$_v2.'">'.out_ms($users[$i]['login']).'@'.$users[$i]['domain'].$quota.'</a>'.$br;
      }
      
$bl=false;
      if (
$begin>&& $p>1) {
       
$bl=true;
       echo 
$br.'<a href="apanel.php?key='.$key.'&amp;ac=users&amp;p='.($p-1).$_v2.'">&lt;&lt;'.w2u('Предыдущие').'</a>';
      }
      if (
$begin<$users_all-$sh_cnt) {
       if (
$bl) {echo '&nbsp;|&nbsp;';} else {$bl=true; echo $br;}
       echo 
'<a href="apanel.php?key='.$key.'&amp;ac=users&amp;p='.($p+1).$_v2.'">'.w2u('Следующие').'&gt;&gt;</a>';
      }
      if (
$bl) {echo $br;}
     } else {
      echo 
w2u('Нет пользователей..').$br;
     }
    } elseif (
$s_ac=='edit') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']);
     if (
$id<>null) {
      
$res=ms_q("Select `login`,`domain`,`quota`,`quota_disk` From `users` Where `id`='".$id."' Limit 1");
      if (
ms_num($res)==1) {
       
$user=ms_data($res);
       echo 
$_tr.' <u>'.out_ms($user['login']).'@'.$user['domain'].'</u>';
       if (!
$wml) {echo '<form action="apanel.php?key='.$key.'&amp;ac=users&amp;s_ac=save&amp;id='.$id.'" method="post">';} else {echo $br;}
       echo 
w2u('Размер ящика (мб):').$br.'<input type="text" name="quota" value="'.$user['quota'].'"'.$_s.'>'.$br.w2u('Размер диска (мб):').$br.'<input type="text" name="quota_disk" value="'.$user['quota_disk'].'"'.$_s.'>'.$br;
       if (
$wml) {
        echo 
'<anchor>'.w2u('Сохранить').'<go href="apanel.php?key='.$key.'&amp;ac=users&amp;s_ac=save&amp;id='.$id.'&amp;wml" method="post"><postfield name="quota" value="$(quota)"/><postfield name="quota_disk" value="$(quota_disk)"/></go></anchor>'.$br;
       } else {
        echo 
'<input type="submit" value="'.w2u('Сохранить').'"></form>';
       }
       echo 
$_hr.$br.$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=users&amp;s_ac=delete&amp;id='.$id.$_v2.'">'.w2u('Удалить').'</a>'.$br.$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=users&amp;s_ac=delete&amp;t_ac=block&amp;id='.$id.$_v2.'">'.w2u('Удалить и заблокировать').'</a>'.$br;
      } else {
       echo 
w2u('Пользователь не существует..').$br;
      }
     } else {
      echo 
w2u('Пользователь не указан..').$br;
     }
    } elseif (
$s_ac=='save') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']);
     if (
$id<>null) {
      
$res=ms_q("Select * From `users` Where `id`='".$id."' Limit 1");
      if (
ms_num($res)==1) {
       
$quota=preg_replace('~[^0-9]~','',$_POST['quota']);
       
$quota_disk=preg_replace('~[^0-9]~','',$_POST['quota_disk']);
       if (
$quota>=&& $quota_disk>=1) {
        
ms_q("Update `users` Set `quota`='".$quota."', `quota_disk`='".$quota_disk."' Where `id`='".$id."' Limit 1");
        echo 
w2u('Изменения сохранены!!').$br;
       } else {
        if (!
$quota>=1) {
         echo 
w2u('Неверно указан размер ящика..').$br;
        } else {
         echo 
w2u('Неверно указан размер диска..').$br;
        }
       }
      } else {
       echo 
w2u('Пользователь не существует..').$br;
      }
     } else {
      echo 
w2u('Пользователь не указан..').$br;
     }
    } elseif (
$s_ac=='delete') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']);
     if (
$id<>null) {
      
$res=ms_q("Select `id`,`login`,`domain` From `users` Where `id`='".$id."' Limit 1");
      if (
ms_num($res)==1) {
       
$user=ms_data($res);
       
ms_q("Delete From `users` Where `id`='".$user['id']."'");
       
ms_q("Delete From `keys` Where `user`='".$user['id']."'");
       
ms_q("Delete From `files` Where `user`='".$user['id']."'");
       
ms_q("Delete From `contacts` Where `user`='".$user['id']."'");
       
ms_q("Delete From `files` Where `user`='".$user['id']."'");
       
ms_q("Delete From `files_list` Where `user`='".$user['id']."'");
       
ms_q("Delete From `inbox` Where `user`='".$user['id']."'");
       
ms_q("Delete From `outbox` Where `user`='".$user['id']."'");
       echo 
w2u('Пользователь удалён из базы данных!!').$br;
       
$rs=delMail($user['login'],$user['domain']);
       if (
$rs==1) {
        echo 
w2u('Ящик пользователя удалён!!').$br;
       } elseif (
$rs==0) {
        echo 
w2u('Не удалось удалить ящик пользователя..').$br;
       } else {
        echo 
w2u('Ящик пользователя не удалён, ошибка: ').iconv('windows-1251','utf-8',$rs).$br;
       }
       
$t_ac=$_GET['t_ac'];
       if (
$t_ac==1) {
        
$res=ms_q("Select * From `lock` Where `login`='".$user['login']."' Limit 1");
        if (
ms_num($res)<>1) {
         
ms_q("Insert Into `lock` Set `login`='".$user['login']."'");
         echo 
w2u('Логин пользователя был внесён в список запрещённых!!').$br;
        } else {
         echo 
w2u('Логин пользователя уже существует в списке запрещённых..').$br;
        }
       }
      } else {
       echo 
w2u('Пользователь не существует..').$br;
      }
     } else {
      echo 
w2u('Пользователь не указан..').$br;
     }
    } else {
     echo 
w2u('Действие не указано..').$br;
    }
   } elseif (
$ac=='news') {
    
p_begin(w2u('Панель администратора - Рассылка новостей'));

   } elseif (
$ac=='lock') {
    
p_begin(w2u('Панель администратора - Запрещённые логины'));
    if (
$s_ac==null) {
     
$res=ms_q("Select `id` From `lock`");
     
$lock_all=ms_num($res); $p=$_GET['p']; if (!$p>0) {$p=1;}
     if (
$lock_all>0) {
      
$pages=ceil($lock_all/$sh_cnt);
      if (
$p>$pages) {$p=$pages;}
      
$begin=$p*$sh_cnt-$sh_cnt;
      if (
$begin>$lock_all) {$begin=$lock_all-1;}
      
$res=ms_q("Select * From `lock` Order By `id` Desc Limit $begin,$sh_cnt");
      
$cnt=ms_num($res);
     } else {
$cnt=0;}
     if (
$cnt>0) {
      
$locks=ms_data_full($res);
      for (
$i=0;$i<count($locks);$i++) {
       echo (
$begin+$i+1).') <a href="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=edit&amp;id='.$locks[$i]['id'].$_v2.'"> '.$locks[$i]['login'].' </a>'.$br;
      }
      
$bl=false;
      if (
$begin>&& $p>1) {
       
$bl=true;
       echo 
$br.'<a href="apanel.php?key='.$key.'&amp;ac=lock&amp;p='.($p-1).$_v2.'">&lt;&lt;'.w2u('Предыдущие').'</a>';
      }
      if (
$begin<$lock_all-$sh_cnt) {
       if (
$bl) {echo '&nbsp;|&nbsp;';} else {$bl=true; echo $br;}
       echo 
'<a href="apanel.php?key='.$key.'&amp;ac=lock&amp;p='.($p+1).$_v2.'">'.w2u('Следующие').'&gt;&gt;</a>';
      }
      if (
$bl) {echo $br;}
     } else {
      echo 
w2u('Нет записей..').$br;
     }
     echo 
$_hr.$br.$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=add'.$_v2.'">'.w2u('Добавить').'</a>'.$br;
    } elseif (
$s_ac=='add') {
     if (!
$wml) {echo '<form action="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=save&amp;add=1" method="post">';}
     echo 
w2u('Логин (от 3 до 20 латинских букв, цифр и символа "-"):').$br.'<input type="text" name="login_lock" value=""'.$_s.'>'.$br;
     if (
$wml) {
      echo 
'<anchor>'.w2u('Добавить').'<go href="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=save&amp;add=1&amp;wml" method="post"><postfield name="login_lock" value="$(login_lock)"/></go></anchor>'.$br;
     } else {
      echo 
'<input type="submit" value="'.w2u('Добавить').'"></form>';
     }
    } elseif (
$s_ac=='edit') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']);
     if (
$id<>null) {
      
$res=ms_q("Select * From `lock` Where `id`='".$id."' Limit 1");
      
$login_lock=ms_data($res,'login');
      if (!
$wml) {echo '<form action="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=save&amp;id='.$id.'" method="post">';}
      echo 
w2u('Логин (от 3 до 20 латинских букв, цифр и символа "-"):').$br.'<input type="text" name="login_lock" value="'.$login_lock.'"'.$_s.'>'.$br;
      if (
$wml) {
       echo 
'<anchor>'.w2u('Сохранить').'<go href="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=save&amp;id='.$id.'&amp;wml" method="post"><postfield name="login_lock" value="$(login_lock)"/></go></anchor>'.$br;
      } else {
       echo 
'<input type="submit" value="'.w2u('Сохранить').'"></form>';
      }
      echo 
$_hr.$br.$_tr.' <a href="apanel.php?key='.$key.'&amp;ac=lock&amp;s_ac=delete&amp;id='.$id.'">'.w2u('Удалить').'</a>'.$br;
     } else {
      echo 
w2u('Действие не указано..').$br;
     }
    } elseif (
$s_ac=='save') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']); $add=$_GET['add'];
     if (
$id<>null || $add==1) {
      
$login_lock=$_POST['login_lock'];
      if (!(
strlen($login_lock)>&& strlen($login_lock)<21)) {$login_lock='';}
      else {
$login_lock=check_mail($login_lock);}
      if (
$login_lock<>null) {
       if (
$add==1) {
        
$res=ms_q("Select * From `lock` Where `login`='".$login_lock."' Limit 1");
        if (
ms_num($res)<>1) {
         
ms_q("Insert Into `lock` Set `login`='".$login_lock."'");
         echo 
w2u('Логин добавлен!!').$br;
        } else {
         echo 
w2u('Указанный логин уже существует..').$br;
        }
       } else {
        
ms_q("Update `lock` Set `login`='".$login_lock."' Where `id`='".$id."' Limit 1");
        echo 
w2u('Изменения сохранены!!').$br;
       }
      } else {
       echo 
w2u('Неверно введён логин..').$br;
      }
     } else {
      echo 
w2u('Действие не указано..').$br;
     }
    } elseif (
$s_ac=='delete') {
     
$id=preg_replace('~[^0-9]~','',$_GET['id']);
     if (
$id<>null) {
      
$res=ms_q("Select * From `lock` Where `id`='".$id."' Limit 1");
      if (
ms_num($res)==1) {
       
ms_q("Delete From `lock` Where `id`='".$id."' Limit 1");
       echo 
w2u('Логин удалён!!').$br;
      } else {
       echo 
w2u('Логин не существует..').$br;
      }
     } else {
      echo 
w2u('Действие не указано..').$br;
     }
    } else {
     echo 
w2u('Действие не указано..').$br;
    }
   } elseif (
$ac=='settings') {
    
p_begin(w2u('Панель администратора - Настройки'));
    if (
$s_ac==null) {
     
$res=ms_q("Select * From `settings` Limit 1"); $settings=ms_data($res);
     if (!
$wml) {echo '<form action="apanel.php?key='.$key.'&amp;ac=settings&amp;s_ac=save" method="post">';}
     echo 
w2u('Логин администратора:').$br.'<input type="text" name="admin_login" value="'.out_ms($settings['login']).'"'.$_s.'>'.$br.$br.w2u('[ <u>Заполнить, если нужен новый пароль администратора</u> ]').$br.w2u('Текущий пароль:').$br.'<input type="password" name="pass" value=""'.$_s.'>'.$br.w2u('Новый пароль:').$br.'<input type="password" name="newpass" value=""'.$_s.'>'.$br.$br.w2u('[ <u>Другие настройки</u> ]').$br.w2u('Размер ящика (мб):').$br.'<input type="text" name="quota" value="'.$settings['quota'].'"'.$_s.'>'.$br.w2u('Размер диска (мб):').$br.'<input type="text" name="quota_disk" value="'.$settings['quota_disk'].'"'.$_s.'>'.$br.w2u('Количество записей на странице:').$br.'<input type="text" name="sh_cnt" value="'.$settings['sh_cnt'].'"'.$_s.'>'.$br;
     if (
$settings['rsort']==1) {$ch_sort=' checked';} else {$ch_sort='';}
     if (!
$wml) {echo '<input type="checkbox" name="rsort" value="1"'.$ch_sort.'>'.w2u('Обратная сортировка записей');} else {echo '<select name="rsort" multiple="true" value="'.$settings['rsort'].'"><option value="1">'.w2u('Обратная сортировка записей').'</option></select>';}
     echo 
$br;
     if (
$settings['sh_quota']==1) {$ch_quota=' checked';} else {$ch_quota='';}
     if (!
$wml) {echo '<input type="checkbox" name="sh_quota" value="1"'.$ch_quota.'>'.w2u('Показывать размер ящика и диска');} else {echo '<select name="sh_quota" multiple="true" value="'.$settings['sh_quota'].'"><option value="1">'.w2u('Показывать размер ящика и диска').'</option></select>';}
     echo 
$br;
     if (
$wml) {
      echo 
'<anchor>'.w2u('Сохранить').'<go href="apanel.php?key='.$key.'&amp;ac=settings&amp;s_ac=save&amp;wml" method="post"><postfield name="login_lock" value="$(login_lock)"/></go></anchor>'.$br;
     } else {
      echo 
'<input type="submit" value="'.w2u('Сохранить').'"></form>';
     }
    } elseif (
$s_ac=='save') {
     
$admin_login=del($_POST['admin_login']); $pass=$_POST['pass']; $newpass=$_POST['newpass'];
     
$quota=$_POST['quota']; $quota_disk=$_POST['quota_disk']; $sh_cnt=$_POST['sh_cnt'];
     
$rsort=$_POST['rsort']; $sh_quota=$_POST['sh_quota'];
     
$res=ms_q("Select `login` From `settings` Limit 1"); $login=ms_data($res,'login');
     if (
$newpass<>null && $pass<>null) {
      
$res=ms_q("Select `login` From `settings` Where `login`='".$login."' And `pass`='".md5($pass)."' Limit 1");
      if (
ms_num($res)==1) {
       
ms_q("Update `settings` Set `pass`='".md5($newpass)."' Where `login`='".$login."' Limit 1");
       
ms_q("Update `admin_keys` Set `pass`='".md5($newpass)."' Limit 1");
       echo 
w2u('Пароль админа изменён!!').$br;
      }
     }
     if (
$admin_login<>null && $login<>$admin_login) {
      
ms_q("Update `settings` Set `login`='".in_ms($admin_login)."' Where `login`='".$login."' Limit 1");
      echo 
w2u('Логин админа изменён!!').$br;
     }
     
$quota=preg_replace('~[^0-9]~','',$quota); $quota_disk=preg_replace('~[^0-9]~','',$quota_disk);
     
$sh_cnt=preg_replace('~[^0-9]~','',$sh_cnt);
     if (
$quota<|| $quota>500) {$quota=1;} if ($quota_disk<|| $quota_disk>500) {$quota_disk=1;}
     if (
$sh_cnt<|| $sh_cnt>99) {$sh_cnt=12;}
     if (
$rsort==1) {$irsort=1;} else {$irsort=0;}
     if (
$sh_quota==1) {$ish_quota=1;} else {$ish_quota=0;}
     
ms_q("Update `settings` Set `quota`='".$quota."', `quota_disk`='".$quota_disk."', `sh_cnt`='".$sh_cnt."', `rsort`='".$irsort."', `sh_quota`='".$ish_quota."' Limit 1");
     echo 
w2u('Настройки сохранены!!').$br;
    } else {
     echo 
w2u('Действие не указано..').$br;
    }
   } elseif (
$ac=='exit') {
    
p_begin(w2u('Панель администратора - Выход'));
    
ms_q("Update `admin_keys` Set `key`='' Limit 1");
    echo 
w2u('Вы вышли из панели администратора!!').$br;
   } else {
    
p_begin(w2u('Панель администратора'));
    echo 
w2u('Действие не выбрано..').$br;
   }
  }
  echo 
$_hr.$br;
  if (
$ac<>null) {
   if (
$ac=='users' && $s_ac<>null) {echo $_tr.' <a href="apanel.php?key='.$key.'&amp;ac=users'.$_v2.'">'.w2u('Пользователи').'</a>'.$br;}
   if (
$ac=='lock' && $s_ac<>null) {echo $_tr.' <a href="apanel.php?key='.$key.'&amp;ac=lock'.$_v2.'">'.w2u('Запрещённые логины').'</a>'.$br;}
   if (
$ac=='exit') {echo $_tr.' <a href="index.php'.$_v1.'">'.w2u('Главная почты').'</a>'.$br;}
   else {echo 
$_tr.' <a href="apanel.php?key='.$key.$_v2.'">'.w2u('Главная').'</a>'.$br;}
  }
  if (
$ac<>'exit') {echo $_tr.' <a href="apanel.php?key='.$key.'&amp;ac=exit'.$_v2.'">'.w2u('Выход').'</a>'.$br;}
  
p_end();
 } else {
  
p_begin(w2u('Панель администратора'),'center');
  echo 
w2u('Неверный логин или пароль..').$br.$_hr.$br.'<a href="apanel.php'.$_v1.'">'.w2u('Назад').'</a>'.$br;
  
p_end('center');
 }
 
ms_close($ms);
}
?>
Онлайн: 0
Реклама