Guest User

Говнокод

a guest
Oct 22nd, 2012
475
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.21 KB | None | 0 0
  1. <?php
  2.  
  3. header('Content-type: text/html; charset=utf-8');
  4. error_reporting (E_ALL ^ E_NOTICE); /* 1st line (recommended) */
  5.  
  6. include('Net/SSH2.php');
  7. include('Net/SFTP.php');
  8.  
  9.  
  10. $dbname = "ejiqpep_sites";
  11. $host = "localhost";
  12. $user = "root";
  13. $password = "BegeMot";
  14.  
  15.  
  16.  
  17. $link = mysql_connect($host, $user, $password) or die(mysql_error());
  18. mysql_select_db($dbname, $link);
  19.  
  20. ?>
  21.  
  22. <style type="text/css">
  23.   .done{
  24.     background: green;
  25.     height:50px;
  26.     margin-bottom:5px;
  27.     line-height: 50px;
  28.     clear:both;
  29.   }
  30.   .made{
  31.     background: orange;
  32.     height:50px;
  33.     margin-bottom:5px;
  34.     line-height: 50px;
  35.     clear:both;
  36.   }
  37.   .dl{
  38.     background: grey;
  39.     height:50px;
  40.     margin-bottom:5px;
  41.     line-height: 50px;
  42.     clear:both;
  43.   }
  44.   .no{
  45.     background: white;
  46.     height:50px;
  47.     margin-bottom:5px;
  48.     line-height: 50px;
  49.     clear:both;
  50.     border: 1px solid grey;
  51.   }
  52.   .domain_name{
  53.     font-size:20px;
  54.     float:left;
  55.     margin-right:50px;
  56.     margin-left: 20px;
  57.     width:200px;
  58.   }
  59.   .status{
  60.     float:left;
  61.     width:150px;
  62.   }
  63.   .form1{
  64.     float:left;
  65.     line-height: 50px;
  66.     height: 50px;
  67.     padding-top:12px;
  68.   }
  69.   .form2{
  70.     line-height: 50px;
  71.     height: 50px;
  72.     padding-top:12px;
  73.   }
  74.   .form3{
  75.     line-height: 50px;
  76.     height: 50px;
  77.     padding-top:12px;
  78.   }
  79.   .platform{
  80.     margin-left: 30px;
  81.   }
  82.   [class*="form"] {
  83.       float: left;
  84.   }
  85.   .old_id{
  86.     margin-left: 800px;
  87.   }
  88. </style>
  89.  
  90. <?php
  91.  
  92. //=================== FUNCTIONS BEGIN ======================================
  93. function connect($user, $pass, $ssh)
  94. {
  95.   echo $user . "<br>";
  96.   echo $pass . "<br>";
  97.    if (!$ssh->login($user, $pass)) {
  98.     echo "<font color = 'red'><b><h3>Не удалось подключится к серверу<br></h3></b></font>";
  99.    }
  100.   return $ssh;
  101. }
  102. function status_domain(){
  103.   $res0 = mysql_query("SELECT count(*) FROM `joomla_status` WHERE status='0'") or die(mysql_error());
  104.   $row0 = mysql_fetch_row($res0);
  105.   $res1 = mysql_query("SELECT count(*) FROM `joomla_status` WHERE status='1'") or die(mysql_error());
  106.   $row1 = mysql_fetch_row($res1);
  107.   $res2 = mysql_query("SELECT count(*) FROM `joomla_status` WHERE status='2'") or die(mysql_error());
  108.   $row2 = mysql_fetch_row($res2);
  109.   $res3 = mysql_query("SELECT count(*) FROM `joomla_status` WHERE status='3'") or die(mysql_error());
  110.   $row3 = mysql_fetch_row($res3);
  111.   echo "<span style = 'margin-right: 20px;'>Не делались: ".$row0[0]."</span>";
  112.  
  113.   echo "<span style = 'margin-right: 20px;'>Слиты: ".$row1[0]."</span>";
  114.   echo "<span style = 'margin-right: 20px;'>Сверстаны: ".$row2[0]."</span>";
  115.   echo "<span style = 'margin-right: 20px;'>Готовы: ".$row3[0]."</span>";
  116. }
  117. // Добавляем домен в базу
  118. function insert_domain($domain_name){
  119.   $domain_name = preg_replace("#http://#is", "", $domain_name);
  120.   $domain_name = preg_replace("#/#is", "", $domain_name);
  121.   $domain_name = preg_replace("#'#is", "", $domain_name);
  122.   $domain_name = preg_replace("#\"#is", "", $domain_name);
  123.   // Выбираем id домена по имени
  124.   $res_domain = mysql_query("SELECT `domain_id` FROM `domain` WHERE `domain` = '$domain_name'") or die(mysql_error());
  125.   $row_domain = mysql_fetch_row($res_domain);
  126.  
  127.   //Проверяем есть ли запись уже в таблице joomla_status
  128.   $res_check_domain = mysql_query("SELECT `id` FROM `joomla_status` WHERE `id` = '$row_domain[0]'") or die(mysql_error());
  129.   $row_check_domain = mysql_fetch_row($res_check_domain);
  130.   if (!$row_check_domain[0]){
  131.     if ($row_domain[0]){
  132.       mysql_query("INSERT INTO `joomla_status`(id, status) VALUES('$row_domain[0]', '1') ") or die(mysql_error());
  133.       echo "Сайт {$domain_name} добавлен с статусом 'готов к верстке'";
  134.     }
  135.     else{
  136.       echo "Такого домена нет в базе<br>";
  137.     }
  138.   }
  139.   else{
  140.     echo "Такой домен уже есть в базе<br>";
  141.   }
  142.  
  143. }
  144.  
  145. //Выборка списка доменов из базы
  146. function show_domain($link){
  147.   //Если нажата кнопка Find
  148.   if ($_POST['find']){
  149.     $platform = $_POST['platform'];
  150.     $platform = preg_replace("#'#is", "", $platform);
  151.     $platform = preg_replace("#\"#is", "", $platform);
  152.     //Проверяем есть ли такая площадка
  153.     $res_check_platform = mysql_query("SELECT `ent_id` FROM `domain_ftp` WHERE `ent_id` = '$platform' ") or die(mysql_error());
  154.     $row_check_platform = mysql_fetch_row($res_check_platform);
  155.     if ($row_check_platform[0]){
  156.       $res_domains = mysql_query("SELECT j.id, j.status, d.domain, f.ent_id FROM joomla_status as j INNER JOIN domain as d ON j.id = d.domain_id INNER JOIN domain_ftp as f ON f.domain = d.domain WHERE f.ent_id = '$platform'") or die(mysql_error());
  157.     }
  158.     else{
  159.       echo "Такой площадки не существует<br>";
  160.       exit;
  161.     }
  162.   }
  163.   else{
  164.     $res_domains = mysql_query("SELECT j.lastid_old, j.id, j.status, d.domain, f.ent_id, f.path, e.ssh_pass, e.ftp_user FROM joomla_status as j INNER JOIN domain as d ON j.id = d.domain_id INNER JOIN domain_ftp as f ON f.domain = d.domain INNER JOIN entities as e ON e.ent_id = f.ent_id") or die(mysql_error());
  165.   }
  166.  
  167.   while ($row_domains = mysql_fetch_array($res_domains)){
  168.     if ($row_domains['domain'] == "ecdom.ru"){
  169.       $cur_dir = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 11);
  170.       // Устанавливаем соединение
  171.       $sftp = new Net_SFTP("u" . $row_domains['ftp_user'] . ".ssh.masterhost.ru");
  172.       // Создаем путь к файлу конфигурации этого сайта
  173.       $path = substr($row_domains['path'], 2, strlen($row_domains['path'])) . "/configuration.php";
  174.       // Логинимся
  175.       $report = $sftp->login("u" . $row_domains['ftp_user'], $row_domains['ssh_pass']);
  176.       $conf_file = $sftp->pwd() . $path;
  177.       // Забираем configuration.php и записываем в текущую папку
  178.       $report = $sftp->get($conf_file, "configuration.php");
  179.       $content_conf = file_get_contents("configuration.php");
  180.         preg_match("#db =(.*?);#", $content_conf, $db);
  181.         $db = preg_replace("#'|\"#is", "", $db[1]);
  182.         $db = trim($db);
  183.         preg_match("#dbprefix =(.*?);#", $content_conf, $db_prefix);
  184.         $db_prefix = preg_replace("#'|\"#is", "", $db_prefix[1]);
  185.         $db_prefix = trim($db_prefix);
  186.         echo $db . "<br>";
  187.         echo $db_prefix . "<br>";
  188.  
  189.     }
  190.     if ($row_domains['lastid_old'] == 0){
  191.     $local_conf = "/usr/local/www/sites/update_" . $row_domains['ent_id'] . "/" . $row_domains['domain'] . "/configuration.php";
  192.  
  193.         @$local_file = file_get_contents($local_conf);
  194.       if ($local_file){
  195.         preg_match("#db =(.*?);#", $local_file, $db);
  196.         $db = preg_replace("#'|\"#is", "", $db[1]);
  197.         $db = trim($db);
  198.         preg_match("#dbprefix =(.*?);#", $local_file, $db_prefix);
  199.         $db_prefix = preg_replace("#'|\"#is", "", $db_prefix[1]);
  200.         $db_prefix = trim($db_prefix);
  201.  
  202.         if (@mysql_select_db($db, $link)){
  203.           $res_id = mysql_query("Select max(`id`) as `maxid` from `{$db_prefix}content`") or die(mysql_error());
  204.           $row_id = mysql_fetch_row($res_id);
  205.           //echo $row_id[0] . "<br>";
  206.           //echo $row_domains['id'] . "<br>";
  207.           //echo "INSERT INTO `joomla_status` SET `lastid_old` = '$row_id[0]' WHERE `id` = '$row_domains[id]'";
  208.           mysql_select_db("ejiqpep_sites", $link);
  209.           mysql_query("UPDATE `joomla_status` SET `lastid_old` = '$row_id[0]' WHERE `id` = '$row_domains[id]'") or die(mysql_error());
  210.         }
  211.  
  212.       }
  213.     }
  214.     else{
  215.       $lastid_old = $row_domains['lastid_old'];
  216.     }
  217.     $id = $row_domains['id'];
  218.  
  219.     if ($row_domains['status'] == 0){
  220.     // Делаем цветовое оформление доменов и статусы
  221.       $class = "no";
  222.       $status = "Не делался";
  223.     }
  224.     elseif ($row_domains['status'] == 1){
  225.     // Делаем цветовое оформление доменов и статусы
  226.       $class = "dl";
  227.       $status = "Слит";
  228.     }
  229.     elseif ($row_domains['status'] == 2) {
  230.       $class = "made";
  231.       $status = "Сверстан";
  232.     }
  233.     else{
  234.       $class = "done";
  235.       $status = "Готов";
  236.     }
  237.     //Проверяем нажата ли кнопка слит
  238.     if (isset($_POST[$id]) && $_POST['done'] == 'dl'){
  239.       //Проверяем какой статус в базе
  240.       $res_check_status = mysql_query("SELECT `status` FROM `joomla_status` WHERE `id` = '$id' ") or die(mysql_error());
  241.       $row_check_status = mysql_fetch_row($res_check_status);
  242.       //Если 1 меняем на 0
  243.       if ($row_check_status[0] == 1){
  244.         mysql_query("UPDATE `joomla_status` SET `status` = '0' WHERE `id` = '$id' ") or die(mysql_error());
  245.         $class = "no";
  246.         $status = "Не делался";
  247.       }
  248.       //Если 0,2,3 меняем на 1
  249.       if ($row_check_status[0] == 0 || $row_check_status[0] == 2 || $row_check_status[0] == 3 ){
  250.         mysql_query("UPDATE `joomla_status` SET `status` = '1' WHERE `id` = '$id' ") or die(mysql_error());
  251.         $class = "dl";
  252.         $status = "Слит";
  253.       }
  254.     }
  255.  
  256.     //Проверяем нажата ли кнопка сверстан
  257.     if (isset($_POST[$id]) && $_POST['done'] == 'made'){
  258.       //Проверяем какой статус в базе
  259.       $res_check_status = mysql_query("SELECT `status` FROM `joomla_status` WHERE `id` = '$id' ") or die(mysql_error());
  260.       $row_check_status = mysql_fetch_row($res_check_status);
  261.       //Если 0,3,1 меняем на 2
  262.       if ($row_check_status[0] == 0 ||  $row_check_status[0] == 3 || $row_check_status[0] == 1){
  263.         mysql_query("UPDATE `joomla_status` SET `status` = '2' WHERE `id` = '$id' ") or die(mysql_error());
  264.         $class = "made";
  265.         $status = "Сверстан";
  266.       }
  267.       //Если 2 меняем на 1
  268.       if ($row_check_status[0] == 2){
  269.         mysql_query("UPDATE `joomla_status` SET `status` = '1' WHERE `id` = '$id' ") or die(mysql_error());
  270.         $class = "dl";
  271.         $status = "Слит";
  272.       }
  273.  
  274.     }
  275.     //Проверяем нажата ли кнопка сайт готов
  276.     if (isset($_POST[$id]) && $_POST['done'] == 'done'){
  277.       //Проверяем какой статус в базе
  278.       $res_check_status = mysql_query("SELECT `status` FROM `joomla_status` WHERE `id` = '$id' ") or die(mysql_error());
  279.       $row_check_status = mysql_fetch_row($res_check_status);
  280.       //Если 0,1,2 меняем на 3
  281.       if ($row_check_status[0] == 0 || $row_check_status[0] == 1 || $row_check_status[0] == 2){
  282.         mysql_query("UPDATE `joomla_status` SET `status` = '3' WHERE `id` = '$id' ") or die(mysql_error());
  283.         $class = "done";
  284.         $status = "Готов";
  285.       }
  286.       //Если 3 меняем на 2
  287.       if ($row_check_status[0] == 3){
  288.         mysql_query("UPDATE `joomla_status` SET `status` = '2' WHERE `id` = '$id' ") or die(mysql_error());
  289.         $class = "made";
  290.         $status = "Сверстан";
  291.       }
  292.     }
  293.     echo "<div class = '$class'>";
  294.       echo "<div class = 'domain_name'>".$row_domains['domain']."</div>";
  295.       echo "<div class = 'status' >".$status."</div>";
  296.  
  297.       echo "<div class = 'form1'>";
  298.         echo "<form method = 'post' name = 'form1'>";
  299.           echo "<input type = 'hidden' name = 'done' value = 'dl' >";
  300.           echo "<input type = 'submit' name = '$id' value = 'Слит'>";
  301.         echo "</form>";
  302.       echo "</div>";
  303.  
  304.       echo "<div class = 'form2'>";
  305.         echo "<form method = 'post' name = 'form2'>";
  306.           echo "<input type = 'hidden' name = 'done' value = 'made' >";
  307.           echo "<input type = 'submit' name = '$id' value = 'Сверстано'>";
  308.         echo "</form>";
  309.       echo "</div>";
  310.  
  311.       echo "<div class = 'form3'>";
  312.         echo "<form method = 'post' name = 'form3'>";
  313.           echo "<input type = 'hidden' name = 'done' value = 'done' >";
  314.           echo "<input type = 'submit' name = '$id' value = 'Сайт готов'>";
  315.         echo "</form>";
  316.       echo "</div>";
  317.  
  318.       echo "<div class = 'platform'>";
  319.         echo $row_domains['ent_id'];
  320.       echo "</div>";
  321.  
  322.       echo "<div class = 'old_id'>";
  323.         echo $row_domains['lastid_old'];
  324.       echo "</div>";
  325.     echo "</div>";
  326.   }
  327. }
  328. //=================== FUNCTIONS END ======================================
  329. // Если нажата кнопка добавить
  330. if (isset($_POST['add'])){
  331.   // Добавляем домен в базу
  332.   insert_domain($_POST['domain_name']);
  333. }
  334.  
  335.  
  336. ?>
  337. <h2>Статус успешной джумлы</h2>
  338. <form method = "post">
  339.   <span>Добавить домен</span>
  340.   <input type = "text" name = "domain_name">
  341.   <input type = "submit" name = "add" value = "Добавить домен">
  342. </form>
  343.  
  344. <form method = "post">
  345.   <span>Выбрать площадку</span>
  346.   <input type = "text" name = "platform">
  347.   <input type = "submit" name = "find" value = "Выбрать площадку">
  348. </form>
  349.  
  350. <?php
  351.   status_domain();
  352.   show_domain($link);
  353.  
  354.  
  355. ?>
Advertisement
Add Comment
Please, Sign In to add comment