Advertisement
Guest User

Untitled

a guest
Jul 28th, 2015
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 37.33 KB | None | 0 0
  1. <?php
  2.  
  3. include 'config.php';
  4. $ur_lico = '';
  5. $main .= '
  6.     <style>
  7.     .table_ff td {
  8.         cursor: pointer;
  9.     }
  10.     </style>
  11.     <script>
  12.     function open_user(id_) {
  13.         window.location.href = "/admin/user_manager/&id="+id_;
  14.     }
  15.     </script>';
  16. $url .= ' > <a href="/admin/user_manager/">Управление пользователями</a>';
  17. $main .= '<script type="text/javascript">document.getElementById("admin_left_panel").style.width = "200px";</script>';
  18. $left .= '<a href="/admin/user_manager/&xD=create_new_user"><img src="' . $icon_dir . 'user__plus.png" /> Создать нового пользователя</a>';
  19. $left .= '<br/><a href="/admin/user_manager/&xD=search_and_destroy"><img src="' . $icon_dir . 'find.png" /> Поиск пользователя</a>';
  20. $left .= '<br/><a href="/admin/user_manager/?list"><img src="' . $icon_dir . 'find.png" /> Список пользоателей</a>';
  21. $left .= '<br/><a href="/admin/user_manager/?rights"><img src="' . $icon_dir . 'find.png" />Управление правами</a>';
  22. $left .= '<br/><a href="/admin/user_manager/?questions">Анкета</a>';
  23. $left .= '<br/><a href="/admin/user_manager/?votes">Голосование</a>';
  24. if (isset($_GET['xD']) && $_GET['xD'] == "create_new_user") {
  25.     if (isset($_POST['create'])) {
  26.         $error = array();
  27.         if (!preg_match("/^[a-zA-Z0-9]+$/", $_POST['login'])) {
  28.             $error[] = "Логин должен состоять из латинских букв и цифр!";
  29.         }
  30.         if (strlen($_POST['login']) <= 3 or strlen($_POST['login']) >= 20) {
  31.             $error[] = "Логин должен быть не меньше 3-х символов и не больше 20-и!";
  32.         }
  33.         if (!filter_var($_POST['mail'], FILTER_VALIDATE_EMAIL)) {
  34.             $error[] = "Mail введен не верно!";
  35.         }
  36.         if (strlen($_POST['psswd']) <= 5 or strlen($_POST['psswd']) >= 20) {
  37.             $error[] = "Пароль должен быть не меньше 5-и символов и не больше 20-и!";
  38.         }
  39.         $query = mysql_query("SELECT COUNT(id) FROM users WHERE login='" . mysql_real_escape_string($_POST['login']) . "'");
  40.         if (mysql_result($query, 0) > 0) {
  41.             $error[] = "Введенный вами логин уже используется!";
  42.         }
  43.         if ($_POST['login'] == $_POST['password']) {
  44.             $error[] = "Логин не должен совпадать с паролем!";
  45.         }
  46.  
  47.         if (count($error) == 0) {
  48.             $psswd = md5(trim($_POST['psswd']));
  49.  
  50.             mysql_query("INSERT INTO `users` (login,name,last_name,psswd,mail,chown) VALUES('" . $_POST['login'] . "', '" . $_POST['name'] . "', '" . $_POST['last_name'] . "', '$psswd', '" . $_POST['mail'] . "', '" . $_POST['chown'] . "')");
  51.             $main.='<script>alert(\'Пользователь успешно создан!\');window.location.href = "/admin/user_manager/"</script>';
  52.         } else {
  53.             $main.='<b class="error">При регистрации были обнаружены следующие ошибки:</b><br />';
  54.             foreach ($error AS $error_) {
  55.                 $main.=$error_ . '<br />';
  56.             }
  57.             $main.='<br />';
  58.         }
  59.     }
  60.     $url .= ' > <a href="">Создание нового пользователя</a>';
  61.     $main .= '
  62.     <script>
  63.     function check() {
  64.         if(document.getElementById(\'login\').value == ""){
  65.             alert(\'Поле [Логин] не должно быть пустым!\');
  66.             return false;
  67.         } else if (document.getElementById(\'mail\').value == ""){
  68.             alert(\'Поле [Mail] не должно быть пустым!\');
  69.             return false;
  70.         } else if (document.getElementById(\'psswd\').value == ""){
  71.             alert(\'Поле [Пароль] не должно быть пустым!\');
  72.             return false;
  73.         } else if (document.getElementById(\'re_psswd\').value == ""){
  74.             alert(\'Поле [Повтор пароля] не должно быть пустым!\');
  75.             return false;
  76.         } else if (document.getElementById(\'psswd\').value != document.getElementById(\'re_psswd\').value){
  77.             alert(\'Поля [Пароль] и [Повтор пароля] должны быть одинаковыми!\');
  78.             return false;
  79.         } else if (document.getElementById(\'re_psswd\').value == ""){
  80.             alert(\'Поле [Права доступа] не должно быть пустым!\');
  81.             return false;
  82.         }
  83.     }
  84.     </script>
  85.     <form method="post" onSubmit="return check();">
  86.     <table class="table_ff" style="width:400px;">
  87.     <tr>
  88.     <th colspan="2"><span class="window_icon"><img src="' . $icon_dir . 'user__plus.png" /></span> Создание нового пользователя</th>
  89.     </tr>
  90.     <tr>
  91.     <td>Логин: *</td>
  92.     <td><input type="text" name="login" id="login" /></td>
  93.     </tr>
  94.     <tr>
  95.     <td>Mail: *</td>
  96.     <td><input type="text" name="mail" id="mail" /></td>
  97.     </tr>
  98.     <tr>
  99.     <td>Имя:</td>
  100.     <td><input type="text" name="name" id="name" /></td>
  101.     </tr>
  102.     <tr>
  103.     <td>Фамилия:</td>
  104.     <td><input type="text" name="last_name" id="last_name" /></td>
  105.     </tr>
  106.     <tr>
  107.     <td>Пароль: *</td>
  108.     <td><input type="password" name="psswd" id="psswd" /></td>
  109.     </tr>
  110.     <tr>
  111.     <td>Повтор пароля: *</td>
  112.     <td><input type="password" name="re_psswd" id="re_psswd" /></td>
  113.     </tr>
  114.     <tr>
  115.     <td>Права доступа: *</td>
  116.     <td><input type="text" name="chown" size="1" maxlength="1" id="chown" value="1" /> От 1 до 9</td>
  117.     </tr>
  118.     <tr>
  119.     <td colspan="2" style="text-align:center;"><input type="submit" name="create" value="Создать" /></td>
  120.     </tr>
  121.     </table>
  122.     </form>
  123.     ';
  124. }
  125.  
  126. elseif (isset($_GET['xD']) && $_GET['xD'] == "search_and_destroy") {
  127.     $url .= ' > <a href="">Поиск пользователя</a>';
  128.     $main .= '
  129.     <form method="post">
  130.     <table class="table_ff" style="width:500px;">
  131.     <tr>
  132.     <th colspan="3"><span class="window_icon"><img src="' . $icon_dir . 'find.png" /></span> Поиск пользователя<input type="hidden" name="qbbr" value="OK" /></th>
  133.     </tr>
  134.     <tr>
  135.     <td>По логину</td>
  136.     <td><input type="text" name="login" style="width:100%;" /></td>
  137.     <td><input type="submit" name="seach_login" value="Искать" /></td>
  138.     </tr>
  139.     <tr>
  140.     <td>По Имени</td>
  141.     <td><input type="text" name="name" style="width:100%;" /></td>
  142.     <td><input type="submit" name="seach_name" value="Искать" /></td>
  143.     </tr>
  144.     <tr>
  145.     <td>По Фамилии</td>
  146.     <td><input type="text" name="last_name" style="width:100%;" /></td>
  147.     <td><input type="submit" name="seach_last_name" value="Искать" /></td>
  148.     </tr>
  149.     <tr>
  150.     <td>По почте(MAIL)</td>
  151.     <td><input type="text" name="mail" style="width:100%;" /></td>
  152.     <td><input type="submit" name="seach_mail" value="Искать" /></td>
  153.     </tr>
  154.     </table>
  155.     </form>';
  156.     if (isset($_POST['qbbr'])) {
  157.         $main .='<table class="table_ff">
  158.         <tr>
  159.         <th style="width:30px;">id</th>
  160.         <th>Логин</th>
  161.         <th>Имя</th>
  162.         <th>Фамилия</th>
  163.         <th>Mail</th>
  164.         <th style="width:30px;">Права</th>
  165.         </tr>';
  166.         if (isset($_POST['seach_login'])) {
  167.             $q = mysql_query("SELECT * FROM `users` WHERE `login` LIKE '%" . $_POST['login'] . "%'");
  168.         } elseif (isset($_POST['seach_name'])) {
  169.             $q = mysql_query("SELECT * FROM `users` WHERE `name` LIKE '%" . $_POST['name'] . "%'");
  170.         } elseif (isset($_POST['seach_last_name'])) {
  171.             $q = mysql_query("SELECT * FROM `users` WHERE `last_name` LIKE '%" . $_POST['last_name'] . "%'");
  172.         } elseif (isset($_POST['seach_mail'])) {
  173.             $q = mysql_query("SELECT * FROM `users` WHERE `mail` LIKE '%" . $_POST['mail'] . "%'");
  174.         }
  175.  
  176.         while ($row = mysql_fetch_array($q)) {
  177.             $main .='
  178.             <tr onclick="open_user(\'' . $row['id'] . '\');" style="cursor:pointer;">
  179.             <td>' . $row['id'] . '</td>
  180.             <td>' . $row['login'] . '</td>
  181.             <td>' . $row['name'] . '</td>
  182.             <td>' . $row['last_name'] . '</td>
  183.             <td>' . $row['mail'] . '</td>
  184.             <td>' . $row['chown'] . '</td>
  185.             </tr>';
  186.         }
  187.         $main .= '</table>';
  188.     }
  189. } elseif (isset($_GET['id'])) {
  190.     $t = $_GET['id'];
  191.     if (isset($_POST['save'])) {
  192.         $update = '';
  193.         if ($loboQdata['lico'] == 1){
  194.             $update .='`company` = "'.mysql_real_escape_string($_POST['company']).'",';
  195.             $update .='`ur_adress` = "'.mysql_real_escape_string($_POST['ur_adress']).'",';
  196.             $update .='`inn` = "'.mysql_real_escape_string($_POST['inn']).'",';
  197.             $update .='`kpp` = "'.mysql_real_escape_string($_POST['kpp']).'",';
  198.             $update .='`bank` = "'.mysql_real_escape_string($_POST['bank']).'",';
  199.             $update .='`bik` = "'.mysql_real_escape_string($_POST['bik']).'",';
  200.             $update .='`rs` = "'.mysql_real_escape_string($_POST['rs']).'",';
  201.             $update .='`kr` = "'.mysql_real_escape_string($_POST['kr']).'",';
  202.         }
  203.  
  204.         $update .='`name` = "'.mysql_real_escape_string($_POST['name']).'",';
  205.         $update .='`last_name` = "'.mysql_real_escape_string($_POST['last_name']).'",';
  206.         $update .='`otchestvo` = "'.mysql_real_escape_string($_POST['otchestvo']).'",';
  207.         $update .='`tel` = "'.mysql_real_escape_string($_POST['tel']).'",';
  208.         $update .='`mobile_tel` = "'.mysql_real_escape_string($_POST['mobile_tel']).'",';
  209.         $update .='`mail` = "'.mysql_real_escape_string($_POST['mail']).'",';
  210.  
  211.         $update .='`city` = "'.mysql_real_escape_string($_POST['city']).'",';
  212.         $update .='`lico` = '.((int)isset($_POST['lico'])).',';
  213.         $update .='`post` = "'.mysql_real_escape_string($_POST['post']).'",';
  214.         $update .='`street` = "'.mysql_real_escape_string($_POST['street']).'",';
  215.         $update .='`dom` = "'.mysql_real_escape_string($_POST['dom']).'",';
  216.         $update .='`kvartira` = "'.mysql_real_escape_string($_POST['kvartira']).'",';
  217.         $update .='`korpus` = "'.mysql_real_escape_string($_POST['korpus']).'",';
  218.         mysql_query("UPDATE `users` SET
  219.        ".$update."
  220.         `chown`='" . $_POST['chown'] . "' WHERE `id`=".(int)$t);
  221.         header('Location:/admin/user_manager?id='.$t);
  222.         exit;
  223.     }
  224.     $query = mysql_query("SELECT * FROM `users` WHERE `id`='$t'");
  225.     $loboQdata = mysql_fetch_assoc($query);
  226.     if(isset($_POST['login'])){
  227.         $hash = md5(SALT . $loboQdata['psswd'] . SALT);
  228.         setcookie('login_', $loboQdata['login'], null, '/');
  229.         setcookie('hash_', $hash, null, '/');
  230.         header('Location:/profile');
  231.         exit;
  232.     }
  233.  
  234.     if ($loboQdata['lico'] == 1) {
  235.         $ur_lico = '
  236.         <table style="margin-left:50px;margin-bottom:30px;width:400px;float:left;" class="table_ff">
  237.         <tr>
  238.         <th colspan="2">Юридические данные клиента</th>
  239.         </tr>
  240.         <tr>
  241.         <td class="author">Компания:</td>
  242.         <td><input type="text" name="company" value="' . htmlspecialchars($loboQdata['company']) . '"/></td>
  243.         </tr>
  244.         <tr>
  245.         <td class="author">Юр. Адрес:</td>
  246.         <td><input type="text" name="ur_adress" value="' . htmlspecialchars($loboQdata['ur_adress']) . '"/></td>
  247.         </tr>
  248.         <tr>
  249.         <td>ИНН:</td>
  250.         <td><input type="text" name="inn" value="' . htmlspecialchars($loboQdata['inn']). '"/></td>
  251.         </tr>
  252.         <tr>
  253.         <td>КПП:</td>
  254.         <td><input type="text" name="kpp" value="' . htmlspecialchars($loboQdata['kpp'] ) . '"/></td>
  255.         </tr>
  256.         <tr>
  257.         <td>Банк:</td>
  258.         <td><input type="text" name="bank" value="' . htmlspecialchars($loboQdata['bank']) . '"/></td>
  259.         </tr>
  260.         <tr>
  261.         <td>БИК:</td>
  262.         <td><input type="text" name="bik" value="' . htmlspecialchars( $loboQdata['bik']) . '"/></td>
  263.         </tr>
  264.         <tr>
  265.         <td>Р/С:</td>
  266.         <td><input type="text" name="rs" value="' . htmlspecialchars($loboQdata['rs']) . '"/></td>
  267.         </tr>
  268.         <tr>
  269.         <td>Корр/Счёт:</td>
  270.         <td><input type="text" name="kr" value="' . htmlspecialchars( $loboQdata['kr']) . '"/></td>
  271.         </tr>
  272.         </table>';
  273.     }
  274.     $url .= ' > <a href="">' . $loboQdata['login'] . '</a>';
  275.     $main .= '<form method="post"><table class="table_ff" style="width:500px;float:left;">';
  276.     $main .= '<tr><th colspan="2">Просмотр пользователя</th></tr><tr>';
  277.     $main .= '<td style="width:200px;">id:</td>';
  278.     $main .= '<td>' . $loboQdata['id'] . '</td>';
  279.     $main .= '</tr>';
  280.     $main .= '<tr>';
  281.     $main .= '<td>Логин:</td>';
  282.     $main .= '<td>' . $loboQdata['login'] . '</td>';
  283.     $main .= '</tr>';
  284.     $main .= '<tr>';
  285.     $main .= '<td>Имя:</td>';
  286.     $main .= '<td><input type="text" name="name" value="' . htmlspecialchars( $loboQdata['name']) . '"/></td>';
  287.     $main .= '</tr>';
  288.     $main .= '<tr>';
  289.     $main .= '<td>Фамилия:</td>';
  290.     $main .= '<td><input type="text" name="last_name" value="' . htmlspecialchars(  $loboQdata['last_name'] ) . '"/></td>';
  291.     $main .= '</tr>';
  292.     $main .= '<tr>';
  293.     $main .= '<td>Отчество:</td>';
  294.     $main .= '<td><input type="text" name="otchestvo" value="' . htmlspecialchars(  $loboQdata['otchestvo'] ) . '"/></td>';
  295.     $main .= '</tr>';
  296.     $main .= '<tr>';
  297.     $main .= '<td>Телефон:</td>';
  298.     $main .= '<td><input type="text" name="tel" value="' . htmlspecialchars(  $loboQdata['tel']) . '"/></td>';
  299.     $main .= '</tr>';
  300.     $main .= '<tr>';
  301.     $main .= '<td>Доп. телефон:</td>';
  302.     $main .= '<td><input type="text" name="mobile_tel" value="' . htmlspecialchars( $loboQdata['mobile_tel']) . '"/></td>';
  303.     $main .= '</tr>';
  304.     $main .= '<tr>';
  305.     $main .= '<td>Mail:</td>';
  306.     $main .= '<td><input type="text" name="mail" value="' . htmlspecialchars( $loboQdata['mail'] ) . '"/></td>';
  307.     $main .= '</tr>';
  308.     $main .= '<tr>';
  309.     $main .= '<th colspan="2">Адрес:</th>';
  310.     $main .= '</tr>';
  311.     $main .= '<tr>';
  312.     $main .= '<td>Город:</td>';
  313.     $main .= '<td><input type="text" name="city" value="' . htmlspecialchars(  $loboQdata['city'] ) . '"/></td>';
  314.     $main .= '</tr>';
  315.     $main .= '<tr>';
  316.     $main .= '<td>Индекс:</td>';
  317.     $main .= '<td><input type="text" name="post" value="' . htmlspecialchars(  $loboQdata['post'] ) . '"/></td>';
  318.     $main .= '</tr>';
  319.     $main .= '<tr>';
  320.     $main .= '<td>Улица:</td>';
  321.     $main .= '<td><input type="text" name="street" value="' . htmlspecialchars(  $loboQdata['street'] ) . '"/></td>';
  322.     $main .= '</tr>';
  323.     $main .= '<tr>';
  324.     $main .= '<td>Квартира:</td>';
  325.     $main .= '<td><input type="text" name="kvartira" value="' . htmlspecialchars(  $loboQdata['kvartira'] ) . '"/></td>';
  326.     $main .= '</tr>';
  327.     $main .= '<tr>';
  328.     $main .= '<td>Корпус:</td>';
  329.     $main .= '<td><input type="text" name="korpus" value="' . htmlspecialchars(  $loboQdata['korpus'] ) . '"/></td>';
  330.     $main .= '</tr>';
  331.  
  332.  
  333.     $main .= '<tr>';
  334.     $main .= '<td>Дата регистации:</td>';
  335.     $main .= '<td>' . $loboQdata['date'] . '</td>';
  336.     $main .= '</tr>';
  337.     $main .= '<tr>';
  338.     $main .= '<td>ip:</td>';
  339.     $main .= '<td>' . $loboQdata['ip'] . '</td>';
  340.     $main .= '</tr>';
  341.     $main .= '<tr>';
  342.         $main .= '<td>Юр. лицо:</td>';
  343.         $main .= '<td><input type="checkbox" name="lico" '.($loboQdata['lico']?'checked="checked"':'').'/></td>';
  344.         $main .= '</tr>';
  345.     $main .= '<tr>';
  346.     $main .= '<td>Права:</td>';
  347.     $main .= '<td><input type="text" name="chown" size="2" maxlength="1" value="' . $loboQdata['chown'] . '" /></td>';
  348.     $main .= '</tr>';
  349.     $main .= '<tr>';
  350.     $main .= '<td>Действия:</td>';
  351.     $user_icon = '<img src="' . $icon_dir . 'user_off.png" />';
  352.     if ($loboQdata['power'] == "1")
  353.         $user_icon = '<img src="' . $icon_dir . 'user_on.png" />';
  354.     $main .= '<td><a onclick="power_user(\'' . $loboQdata['id'] . '\',\'' . $loboQdata['power'] . '\');" title="вкл/выкл">' . $user_icon . '</a> <a onclick="delete_user(\'' . $loboQdata['id'] . '\',\'' . $loboQdata['login'] . '\')"><img src="' . $icon_dir . '/delete.png" title="Удалить" /></a></td>';
  355.     $main .= '</tr><tr><td><input type="submit" name="login" value="Войти на сайт"/></td><td style="text-align:center;"><input type="submit" name="save" value="Сохранить изменения" /></td></tr>';
  356.     $main .= '</table></form>';
  357.     $main .= $ur_lico;
  358. }
  359. elseif (isset($_GET['list'])) {
  360.     $main .= '<form action="" method="get"><input type="hidden" name="list" value=""/><table><tr>
  361.         <td>Дата регистрации<select name="zreg">
  362.         <option ' . (isset($_GET['zreg']) && $_GET['zreg'] == '>' ? 'selected="selected"' : '') . ' value=">">></option>
  363.         <option ' . (isset($_GET['zreg']) && $_GET['zreg'] == '=' ? 'selected="selected"' : '') . ' value="=">=</option>
  364.         <option ' . (isset($_GET['zreg']) && $_GET['zreg'] == '<' ? 'selected="selected"' : '') . ' value="<"><</option></select>
  365.         <input type="text" class="input-date" name="registr" value="' . (empty($_GET['registr']) ? '' : $_GET['registr']) . '"/>
  366.         <label><input type="checkbox" name="phone" '.(empty($_GET['phone']) ? '' :'checked="ckecked"') . '"/>Телефон</label>
  367.         <select name="orders">
  368.         <option ' . (isset($_GET['orders']) && $_GET['orders'] == 'all' ? 'selected="selected"' : '') . ' value="all">Все</option>
  369.         <option ' . (isset($_GET['orders']) && $_GET['orders'] == 'no' ? 'selected="selected"' : '') . ' value="no">Без заказов</option>
  370.         <option ' . (isset($_GET['orders']) && $_GET['orders'] == 'yes' ? 'selected="selected"' : '') . ' value="yes">С заказами</option></select>
  371.         <label><input type="checkbox" name="download" '.(empty($_GET['download']) ? '' :'checked="ckecked"') . '"/>Скачать</label></td>
  372.         <td><input type="submit" name="go" value="показать"/></tr></table></form>';
  373.     if (isset($_GET['go'])) {
  374.         $where = array();
  375.         $group = $orders = '';
  376.         if (!empty($_GET['registr']))
  377.             $where [] = 'u.`date` ' . $_GET['zreg'] . ' \'' . mysql_real_escape_string($_GET['registr']) . '\'';
  378.         if(isset($_GET['orders'])) {
  379.             if($_GET['orders'] == 'no'){
  380.                 $orders = 'LEFT JOIN `zakazi` as z ON z.id_user = u.id ';
  381.                 $where [] =' z.id IS NULL';
  382.             }
  383.             elseif($_GET['orders'] == 'yes'){
  384.                 $orders = 'INNER JOIN `zakazi` as z ON z.id_user = u.id ';
  385.                 $group = ' GROUP BY u.id';
  386.             }
  387.         }
  388.         if ($where)
  389.             $where = 'WHERE ' . implode(',', $where);
  390.         else
  391.             $where = '';
  392.         $all_users = mysql_fetch_assoc(mysql_query("SELECT COUNT(u.`id`) AS `cnt` FROM `users` as u $orders $where $group"));
  393.         $all_users = $all_users['cnt'];
  394.         $main .= '<div>Найдено пользователей: <b>' . $all_users . '</b></div>';
  395.         $select = array('u.`id`','CONCAT(u.`last_name`," ",u.`name`)','u.`mail`','u.city');
  396.         if(isset($_GET['phone']))
  397.             $select[] = 'u.`mobile_tel`,u.`mobile_tel2`';
  398.         $r = mysql_query('SELECT '.implode(',',$select).' FROM `users` as u '.$orders.' '. $where.' '.$group);
  399.         if(isset($_GET['download'])){
  400.             set_include_path(get_include_path() . PATH_SEPARATOR . CLASSES);
  401.             require_once CLASSES . '/Spreadsheet/Excel/Writer.php';
  402.             $workbook = new Spreadsheet_Excel_Writer();
  403.             $format = & $workbook->addFormat();
  404.             $format->setBold();
  405.             $worksheet = & $workbook->addWorksheet('1');
  406.             $i = 0;
  407.             while ($row = mysql_fetch_row($r)) {
  408.                 if(empty($row[0]))
  409.                     continue;
  410.                 if(isset($_GET['phone'])){
  411.                     if(empty($row[4]))
  412.                         unset($row[4]);
  413.                     if(empty($row[5]) || (!empty($row[4]) && $row[4] == $row[5]))
  414.                         unset($row[5]);
  415.                 }
  416.                 $worksheet->write($i, 0, $row[0]);
  417.                 $worksheet->write($i, 1, extra::UTF8toCP1251($row[1]));
  418.                 $worksheet->write($i, 2, extra::UTF8toCP1251($row[2]));
  419.                 $worksheet->write($i, 3, extra::UTF8toCP1251($row[3]));
  420.                 $worksheet->write($i, 4, $row[4]);
  421.                 if(!empty($row[5]))
  422.                     $worksheet->write($i, 5, $row[5]);
  423.                 $i++;
  424.             }
  425.             $catalog = "Пользователи.xls";
  426.             $workbook->send(extra::UTF8toCP1251($catalog));
  427.             $workbook->close();
  428.             exit();
  429.         }
  430.         $main .= '<textarea cols=150 rows=30>';
  431.         while ($row = mysql_fetch_row($r)) {
  432.             if(empty($row[0]))
  433.                 continue;
  434.             if(isset($_GET['phone'])){
  435.                 if(empty($row[4]))
  436.                     unset($row[4]);
  437.                 if(empty($row[5]) || (!empty($row[4]) && $row[4] == $row[5]))
  438.                     unset($row[5]);
  439.             }
  440.             $main .= implode(';',$row).PHP_EOL;
  441.         }
  442.         $main .= '</textarea>';
  443.     }
  444. } elseif (isset($_GET['rights'])) {
  445.     if (!empty($_POST['modules'])) {
  446.         foreach ($_POST['modules'] as $idUser => $modules) {
  447.             mysql_query('UPDATE `users` SET `modules` = "' . mysql_real_escape_string(serialize($modules)) . '" WHERE `id`= ' . (int) $idUser);
  448.         }
  449.     }
  450.     $r = mysql_query('SELECT `id`,`mail`,`name`,`login`,`modules` FROM `users` WHERE `chown` = 9 OR `chown` = 6');
  451.     $main .='<form action="" method="post"><table class="table_ff">
  452.         <tr>
  453.         <th>id</th>
  454.         <th>Имя</th>
  455.         <th>Email</th>
  456.         <th style="width:400px;">Права</th>
  457.         </tr>';
  458.     $cfg = parse_ini_file(ROOT . DS . 'init.conf', true);
  459.     $modules = array();
  460.     foreach ($cfg['modules'] as $k => $v) {
  461.         if ($v) {
  462.             list($mod_title) = $this->controller($k, 'admin_panel');
  463.             $modules[$k] = $mod_title;
  464.         }
  465.     }
  466.     foreach ($cfg['old_modules'] as $k => $v)
  467.         if ($v)
  468.             $modules[$k] = $v;
  469.     while ($row = mysql_fetch_assoc($r)) {
  470.         $main .= '<tr ><td>' . $row['id'] . '</td><td>' . ($row['name'] ? $row['name'] : $row['login']) . '</td><td>' . $row['mail'] . '</td><td><select style="height:200px;" multiple="multiple" name="modules[' . $row['id'] . '][]">';
  471.         $um = unserialize($row['modules']);
  472.         foreach ($modules as $id => $v)
  473.             $main .= '<option value="' . $id . '" ' . (in_array($id, $um) ? 'selected="selected"' : '') . '>' . $v . '</option>';
  474.         $main .= '</select></td></tr>';
  475.     }
  476.     $main .='</table><input type="submit" value="Сохранить"/></form>';
  477. }elseif (isset($_GET['questions'])) {
  478.     if(isset($_GET['export'])){
  479.         $csv = '"Как вы оцениваете наши условия поставки оборудования?";"Комментарий";"Как вы оцениваете наши условия поставки фурнитуры?";"Комментарий";"Как вы оцениваете наши условия поставки тканей?";"Комментарий";';
  480.         $csv .= '"Какого товара Вам не хватает в нашем ассортименте?";"Всё ли Вас устраивает в нашей работе? На что нам нужно обратить особое внимание?";"Комментарий";';
  481.         $csv .= '"Как Вы оцениваете сайт Веллтекс?";"Комментарий";"Выберите не более трёх наиболее важных для Вас критериев, которыми Вы пользуетесь, при выборе швейного оборудования:";"Выберите не более трёх наиболее важных для Вас критериев, которыми Вы пользуетесь, при выборе швейного оборудования:";"Выберите не более трёх наиболее важных для Вас критериев, которыми Вы пользуетесь, при выборе швейного оборудования:";"Логин";';
  482.         $csv .= '"Населённый пункт из юридического адреса";"Адрес из адреса доставки";"География ip";"Количество заказов в интернет-магазине";"Общая сумму всех его заказов";"Дата заполнения";"Время заполнения"';
  483.         $csv .= "\r\n";
  484.         $query = mysql_query("SELECT * FROM `questions` ORDER BY `id` ASC");
  485.         while ($row = mysql_fetch_array($query)) {
  486.             $equipment = explode(';',$row['equipment']);
  487.             $furniture = explode(';',$row['furniture']);
  488.             $fabric = explode(';',$row['fabric']);
  489.             $quality = mb_substr($row['quality'],0,mb_strpos($row['quality'],'устраивает') + mb_strlen('устраивает'));
  490.             $quality_comm = mb_substr($row['quality'],mb_strpos($row['quality'],'устраивает') + mb_strlen('устраивает'));
  491.             $site = explode(';',$row['site']);
  492.             $choice = explode(';',$row['choice']);
  493.             $datetime = explode(' ',$row['datetime']);
  494.             $csv .= '"'.$equipment[0].'";"'.$equipment[1].'";"'.$furniture[0].'";"'.$furniture[1].'";"'.$fabric[0].'";"'.$fabric[1].'";';
  495.             $csv .= '"'.$row['produce'].'";"'.$quality.'";"'.$quality_comm.' ";"'.$site[0].'";"'.$site[1].'";';
  496.             $csv .= '"'.$choice[0].'";"'.$choice[1].'";"'.$choice[2].'";"'.$row['login'].'";"'.$row['city'].'";"'.$row['address'].'";';
  497.             $csv .= '"'.$row['ip'].'";"'.$row['orders'].'";"'.$row['summ'].'";"'.$datetime[0].'";"'.$datetime[1].'";';
  498.             $csv .= "\r\n";
  499.         }
  500.         ob_end_clean();
  501.         $csv = iconv("utf-8", "windows-1251",$csv);
  502.         header("Content-type:  application/vnd.ms-excel");
  503.         header("Content-Length: " . strlen($csv));
  504.         header("Content-Disposition: attachment; filename=result.csv");
  505.         echo $csv;
  506.         exit;
  507.     }
  508.     $all = mysql_fetch_assoc(mysql_query("SELECT COUNT(`id`) AS `cnt` FROM `questions`"));
  509.     $all = $all['cnt'];
  510.     $max_row = 30;
  511.     $page_d = 1;
  512.     if (isset($_GET['p_d'])) {
  513.         $page_d = $_GET['p_d'];
  514.     }
  515.     if ($all > $max_row) {
  516.         $main .= '<div style="padding:5px 0;">';
  517.         $total_pages = ceil($all / $max_row);
  518.         $pages_in_line = 10;
  519.         $current_ceil = ceil(($page_d / 10) - 1);
  520.         if ($page_d > 10)
  521.             $main .= '<span class="pages_"><a target="_blank" href="/admin/user_manager/?questions&p_d=' . ($page_d - 10) . '">&lt;&lt; Назад</a></span> ... ';
  522.  
  523.         for ($i = $current_ceil * $pages_in_line; $i < $current_ceil * $pages_in_line + $pages_in_line; $i++) {
  524.             if ($i == $total_pages)
  525.                 break;
  526.             if ($page_d == ($i + 1))
  527.                 $main .= '<span class="pages_curent" style="margin: 0 4px;">' . ($i + 1) . '</span>';
  528.             else
  529.                 $main .= '<span class="pages_"  style="margin: 0 2px;"><a href="/admin/user_manager/?questions&p_d=' . ($i + 1) . '">' . ($i + 1) . '</a></span>';
  530.         }
  531.         if ($total_pages > $i)
  532.             $main .= ' ... <span class="pages_"><a href="/admin/user_manager/?questions&p_d=' . ($i + 1) . '">Дальше &gt;&gt;</a></span>';
  533.         $main .= ' Всего страниц: <span class="pages_">' . $total_pages . '</span>';
  534.         $main .= '</div>';
  535.     }
  536.     $s_page = $max_row * ($page_d - 1);
  537.  
  538.     $main .= '<div>Всего анкет: <b>' . $all . '</b> <a href="/admin/user_manager/?questions&export">Экспорт в xls</a></div>';
  539.     $main .= '<table class="table_ff">';
  540.     $main .= '<tr>
  541.        <th>Дата</th>
  542.        <th>Условия поставки</th>
  543.        <th>Не хватает</th>
  544.        <th>Обслуживание</th>
  545.        <th>Персонал</th>
  546.        <th>Сайт</th>
  547.        <th>Критерии выбора</th>
  548.        <th>ip</th>
  549.        </tr>';
  550.     $query = mysql_query("SELECT * FROM `questions` ORDER by `id` DESC LIMIT $s_page,$max_row");
  551.     while ($row = mysql_fetch_array($query)) {
  552.         $main .= '<tr class="hover">';
  553.         $main .= '<td>'.$row['datetime'].'</td>';
  554.         $main .= '<td>Оборудование - ' . $row['equipment'] . '<br/>Фурнитура - ' . $row['furniture'] . '<br/>Ткани - ' . $row['fabric'] . '</td>';
  555.         $main .= '<td>' . $row['produce'] . '</td>';
  556.         $main .= '<td>' . $row['quality'] . '</td>';
  557.         $main .= '<td>' . $row['personal'] . '</td>';
  558.         $main .= '<td>' . $row['site'] . '</td>';
  559.         $main .= '<td>' . $row['choice'] . '</td>';
  560.         $main .= '<td>' . $row['ip'] . '</td>';
  561.         $main .= '</tr>';
  562.     }
  563.     $main .= '</table>';
  564. } elseif (isset($_GET['votes'])) {
  565.     if(!empty($_GET['vote'])){
  566.         $all = mysql_fetch_assoc(mysql_query("SELECT COUNT(`id`) AS `cnt` FROM `votes` WHERE `idItem` = '".mysql_real_escape_string($_GET['vote'])."'"));
  567.         $all = $all['cnt'];
  568.         $max_row = 30;
  569.         $page_d = 1;
  570.         if (isset($_GET['p_d'])) {
  571.             $page_d = $_GET['p_d'];
  572.         }
  573.         if ($all > $max_row) {
  574.             $main .= '<div style="padding:5px 0;">';
  575.             $total_pages = ceil($all / $max_row);
  576.             $pages_in_line = 10;
  577.             $current_ceil = ceil(($page_d / 10) - 1);
  578.             if ($page_d > 10)
  579.                 $main .= '<span class="pages_"><a target="_blank" href="/admin/user_manager/?votes&vote='.$_GET['vote'].'&p_d=' . ($page_d - 10) . '">&lt;&lt; Назад</a></span> ... ';
  580.  
  581.             for ($i = $current_ceil * $pages_in_line; $i < $current_ceil * $pages_in_line + $pages_in_line; $i++) {
  582.                 if ($i == $total_pages)
  583.                     break;
  584.                 if ($page_d == ($i + 1))
  585.                     $main .= '<span class="pages_curent" style="margin: 0 4px;">' . ($i + 1) . '</span>';
  586.                 else
  587.                     $main .= '<span class="pages_"  style="margin: 0 2px;"><a href="/admin/user_manager/?votes&vote='.$_GET['vote'].'&p_d=' . ($i + 1) . '">' . ($i + 1) . '</a></span>';
  588.             }
  589.             if ($total_pages > $i)
  590.                 $main .= ' ... <span class="pages_"><a href="/admin/user_manager/?votes&vote='.$_GET['vote'].'&p_d=' . ($i + 1) . '">Дальше &gt;&gt;</a></span>';
  591.             $main .= ' Всего страниц: <span class="pages_">' . $total_pages . '</span>';
  592.             $main .= '</div>';
  593.             return;
  594.         }
  595.         $s_page = $max_row * ($page_d - 1);
  596.         $main .= '<div>Всего проголосовало: <b>' . $all . '</b></a></div>';
  597.         $main .= '<table class="table_ff">';
  598.         $main .= '<tr>
  599.        <th>Email</th>
  600.        <th>Дата</th>
  601.        </tr>';
  602.         $query = mysql_query("SELECT v.time,u.mail,u.id FROM `votes` as v
  603.                INNER JOIN `users` as u on u.id = v.idUser
  604.                WHERE v.`idItem` = '".mysql_real_escape_string($_GET['vote'])."' ORDER BY v.time DESC LIMIT $s_page,$max_row");
  605.         while ($row = mysql_fetch_array($query)) {
  606.             $main .= '<tr class="hover">';
  607.             $main .= '<td><a href="/admin/user_manager/?id='.$row['id'].'">'.$row['mail'].'</a></td>';
  608.             $main .= '<td>'.$row['time'].'</td>';
  609.             $main .= '</tr>';
  610.         }
  611.         $main .= '</table>';
  612.         return;
  613.     }
  614.     $all = mysql_fetch_assoc(mysql_query("SELECT COUNT(`id`) AS `cnt` FROM `votes`"));
  615.     $all = $all['cnt'];
  616.     $max_row = 30;
  617.     $page_d = 1;
  618.     if (isset($_GET['p_d'])) {
  619.         $page_d = $_GET['p_d'];
  620.     }
  621.     if ($all > $max_row) {
  622.         $main .= '<div style="padding:5px 0;">';
  623.         $total_pages = ceil($all / $max_row);
  624.         $pages_in_line = 10;
  625.         $current_ceil = ceil(($page_d / 10) - 1);
  626.         if ($page_d > 10)
  627.             $main .= '<span class="pages_"><a target="_blank" href="/admin/user_manager/?votes&p_d=' . ($page_d - 10) . '">&lt;&lt; Назад</a></span> ... ';
  628.  
  629.         for ($i = $current_ceil * $pages_in_line; $i < $current_ceil * $pages_in_line + $pages_in_line; $i++) {
  630.             if ($i == $total_pages)
  631.                 break;
  632.             if ($page_d == ($i + 1))
  633.                 $main .= '<span class="pages_curent" style="margin: 0 4px;">' . ($i + 1) . '</span>';
  634.             else
  635.                 $main .= '<span class="pages_"  style="margin: 0 2px;"><a href="/admin/user_manager/?votes&p_d=' . ($i + 1) . '">' . ($i + 1) . '</a></span>';
  636.         }
  637.         if ($total_pages > $i)
  638.             $main .= ' ... <span class="pages_"><a href="/admin/user_manager/?votes&p_d=' . ($i + 1) . '">Дальше &gt;&gt;</a></span>';
  639.         $main .= ' Всего страниц: <span class="pages_">' . $total_pages . '</span>';
  640.         $main .= '</div>';
  641.     }
  642.     $s_page = $max_row * ($page_d - 1);
  643.  
  644.     $main .= '<div>Всего проголосовало: <b>' . $all . '</b></a></div>';
  645.     $main .= '<table class="table_ff">';
  646.     $main .= '<tr>
  647.        <th>Название</th>
  648.        <th>Открытка</th>
  649.        <th>Голосов</th>
  650.        </tr>';
  651.     $query = mysql_query("SELECT  i.name,i.url,i.id_item,count(v.id) as `votes`,p.`ext_small_picture`,p.`ext_picture`,p.`ext_popup_picture`,p.`announce`,p.`description`
  652.                    FROM `items` as i
  653.                LEFT JOIN `items_props` as p ON p.id_external = i.id_item
  654.                    LEFT JOIN `votes` as v on v.idItem = i.id_item
  655.                WHERE i.`id_group_0` ='99887701353' AND i.id_item != '' AND i.id_item IS NOT NULL GROUP BY i.id_item  ORDER BY `votes` DESC LIMIT $s_page,$max_row");
  656.     while ($row = mysql_fetch_array($query)) {
  657.         $main .= '<tr class="hover">';
  658.         $main .= '<td><a href="/'.$row['url'].'">'.$row['name'].'</a></td>';
  659.         $main .= '<td><img src="/produce/' . $row['ext_small_picture'] . '"/></td>';
  660.         $main .= '<td><a href="/admin/user_manager/?votes&vote='.$row['id_item'].'">' . $row['votes'] . '</a></td>';
  661.         $main .= '</tr>';
  662.     }
  663.     $main .= '</table>';
  664. }else {
  665.     $all_users = mysql_fetch_assoc(mysql_query("SELECT COUNT(`id`) AS `cnt` FROM `users`"));
  666.     $all_users = $all_users['cnt'];
  667.     $max_row_users = 30;
  668.     $page_d = 1;
  669.     if (isset($_GET['p_d'])) {
  670.         $page_d = $_GET['p_d'];
  671.     }
  672.     if ($all_users > $max_row_users) {
  673.         $main .= '<div style="padding:5px 0;">';
  674.         $total_pages = ceil($all_users / $max_row_users);
  675.         $pages_in_line = 10;
  676.         $current_ceil = ceil(($page_d / 10) - 1);
  677.         if ($page_d > 10)
  678.             $main .= '<span class="pages_"><a href="/admin/user_manager/&p_d=' . ($page_d - 10) . '">&lt;&lt; Назад</a></span> ... ';
  679.  
  680.         for ($i = $current_ceil * $pages_in_line; $i < $current_ceil * $pages_in_line + $pages_in_line; $i++) {
  681.             if ($i == $total_pages)
  682.                 break;
  683.             if ($page_d == ($i + 1))
  684.                 $main .= '<span class="pages_curent" style="margin: 0 4px;">' . ($i + 1) . '</span>';
  685.             else
  686.                 $main .= '<span class="pages_"  style="margin: 0 2px;"><a href="/admin/user_manager/&p_d=' . ($i + 1) . '">' . ($i + 1) . '</a></span>';
  687.         }
  688.         if ($total_pages > $i)
  689.             $main .= ' ... <span class="pages_"><a href="/admin/user_manager/&p_d=' . ($i + 1) . '">Дальше &gt;&gt;</a></span>';
  690.         $main .= ' Всего страниц: <span class="pages_">' . $total_pages . '</span>';
  691.         $main .= '</div>';
  692.     }
  693.     $s_page_users = $max_row_users * ($page_d - 1);
  694.  
  695.     $main .= '
  696.     <script>
  697.     $(".hover").bind("mouseenter",function(){
  698.         $(this).css({"color":"#eeffdd", "background": "#79ba29"});
  699.     }).bind("mouseleave",function(){
  700.             $(this).css({"color":"", "background": ""});
  701.     });
  702.     </script>';
  703.     $main .= '<div>Всего пользователей: <b>' . $all_users . '</b></div>';
  704.     $main .= '<table class="table_ff">';
  705.     $main .= '<tr><th style="width:30px;">id</th><th>Логин</th><th>Имя</th><th>Фамилия</th><th>Телефон</th><th>Mail</th><th>Дата регистрации</th><th style="width:20px">Права</th><th style="width:70px;">Действия</th></tr>';
  706.     $query = mysql_query("SELECT * FROM `users` ORDER by `id` DESC LIMIT $s_page_users,$max_row_users");
  707.     while ($row = mysql_fetch_array($query)) {
  708.         $user_icon = '<img src="' . $icon_dir . 'user_off.png" />';
  709.         if ($row['power'] == "1")
  710.             $user_icon = '<img src="' . $icon_dir . 'user_on.png" />';
  711.         $row['tel'] = str_replace(",", ",<br />", $row['tel']);
  712.         $js_event = 'onclick="open_user(' . $row['id'] . ');"';
  713.         $main .= '<tr class="hover">';
  714.         $main .= '<td ' . $js_event . '>' . $row['id'] . '</td>';
  715.         $main .= '<td ' . $js_event . '>' . $row['login'] . '</td>';
  716.         $main .= '<td ' . $js_event . '>' . $row['name'] . '</td>';
  717.         $main .= '<td ' . $js_event . '>' . $row['last_name'] . '</td>';
  718.         $main .= '<td style="width:110px;" ' . $js_event . '>' . $row['tel'] . '</td>';
  719.         $main .= '<td ' . $js_event . '>' . $row['mail'] . '</td>';
  720.         $main .= '<td ' . $js_event . '>' . $row['date'] . '</td>';
  721.         $main .= '<td style="width:20px" ' . $js_event . '>' . $row['chown'] . '</td>';
  722.         $main .= '<td class="center"><a href="/admin/user_manager/&id=' . $row['id'] . '" title="Редактировать"><img src="' . $icon_dir . 'edit.png"></a> <a onclick="power_user(\'' . $row['id'] . '\',\'' . $row['power'] . '\');" title="вкл/выкл">' . $user_icon . '</a> <a onclick="delete_user(\'' . $row['id'] . '\',\'' . $row['login'] . '\')"><img src="' . $icon_dir . '/delete.png" title="Удалить" /></a></td>';
  723.         $main .= '</tr>';
  724.     }
  725.     $main .= '</table>';
  726. }
  727. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement