Guest User

func.php

a guest
Oct 22nd, 2012
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.56 KB | None | 0 0
  1. <?php
  2. // Проверяем какой статус в базе
  3. function check_status_in_base($id){
  4.       $res_check_status = mysql_query("SELECT `status` FROM `joomla_status` WHERE `id` = '$id' ") or die(mysql_error());
  5.       return mysql_fetch_row($res_check_status);
  6. }
  7. // Проверяем какая кнопка нажата
  8. function check_button($id, $done){
  9.     //Проверяем нажата ли кнопка слит
  10.     if ($done == 'dl'){
  11.       // Проверяем какой статус в базе
  12.       $row_check_status = check_status_in_base($id);
  13.       //Если 1 меняем на 0
  14.       if ($row_check_status[0] == 1){
  15.         mysql_query("UPDATE `joomla_status` SET `status` = '0' WHERE `id` = '$id' ") or die(mysql_error());
  16.         $ar_status['class'] = "no";
  17.         $ar_status['status'] = "Не делался";
  18.       }
  19.       //Если 0,2,3 меняем на 1
  20.       if ($row_check_status[0] == 0 || $row_check_status[0] == 2 || $row_check_status[0] == 3 ){
  21.         mysql_query("UPDATE `joomla_status` SET `status` = '1' WHERE `id` = '$id' ") or die(mysql_error());
  22.         $ar_status['class'] = "dl";
  23.         $ar_status['status'] = "Слит";
  24.       }
  25.     }
  26.  
  27.     //Проверяем нажата ли кнопка сверстан
  28.     if ($done == 'made'){
  29.       // Проверяем какой статус в базе
  30.       $row_check_status = check_status_in_base($id);
  31.       //Если 0,3,1 меняем на 2
  32.       if ($row_check_status[0] == 0 ||  $row_check_status[0] == 3 || $row_check_status[0] == 1){
  33.         mysql_query("UPDATE `joomla_status` SET `status` = '2' WHERE `id` = '$id' ") or die(mysql_error());
  34.         $ar_status['class'] = "made";
  35.         $ar_status['status'] = "Сверстан";
  36.       }
  37.       //Если 2 меняем на 1
  38.       if ($row_check_status[0] == 2){
  39.         mysql_query("UPDATE `joomla_status` SET `status` = '1' WHERE `id` = '$id' ") or die(mysql_error());
  40.         $ar_status['class'] = "dl";
  41.         $ar_status['status'] = "Слит";
  42.       }
  43.  
  44.     }
  45.     //Проверяем нажата ли кнопка сайт готов
  46.     if ($done == 'done'){
  47.       // Проверяем какой статус в базе
  48.       $row_check_status = check_status_in_base($id);
  49.       //Если 0,1,2 меняем на 3
  50.       if ($row_check_status[0] == 0 || $row_check_status[0] == 1 || $row_check_status[0] == 2){
  51.         mysql_query("UPDATE `joomla_status` SET `status` = '3' WHERE `id` = '$id' ") or die(mysql_error());
  52.         $ar_status['class'] = "done";
  53.         $ar_status['status'] = "Готов";
  54.       }
  55.       //Если 3 меняем на 2
  56.       if ($row_check_status[0] == 3){
  57.         mysql_query("UPDATE `joomla_status` SET `status` = '2' WHERE `id` = '$id' ") or die(mysql_error());
  58.         $ar_status['class'] = "made";
  59.         $ar_status['status'] = "Сверстан";
  60.       }
  61.     }
  62.     return $ar_status;
  63. }
  64. // Проверяем статус домена
  65. function check_status($status){
  66.   if ($status == 0){
  67.   // Делаем цветовое оформление доменов и статусы
  68.     $class = "no";
  69.     $status = "Не делался";
  70.   }
  71.   elseif ($status == 1){
  72.   // Делаем цветовое оформление доменов и статусы
  73.     $class = "dl";
  74.     $status = "Слит";
  75.   }
  76.   elseif ($status == 2) {
  77.     $class = "made";
  78.     $status = "Сверстан";
  79.   }
  80.   else{
  81.     $class = "done";
  82.     $status = "Готов";
  83.   }
  84.   return array("class" => $class, "status" => $status);
  85. }
  86. // Получение количества записей каждого статуса
  87. function db_status($sql){
  88.   $result = mysql_query($sql) or die(mysql_error());
  89.   while($row = mysql_fetch_object($result)){
  90.     $ar[] = $row->cnt;
  91.   }
  92.   return $ar;
  93. }
  94. function status_domain(){
  95.   $stats = db_status("SELECT status,count(1) cnt FROM joomla_status GROUP BY status");
  96.   echo "<span style = 'margin-right: 20px;'>Не делались: ".$stats[0]."</span>";
  97.  
  98.   echo "<span style = 'margin-right: 20px;'>Слиты: ".$stats[1]."</span>";
  99.   echo "<span style = 'margin-right: 20px;'>Сверстаны: ".$stats[2]."</span>";
  100.   echo "<span style = 'margin-right: 20px;'>Готовы: ".$stats[3]."</span>";
  101. }
  102. // Добавляем домен в базу
  103. function insert_domain($domain_name){
  104.   // Удаляем из домена лишние символы
  105.   $domain_name = preg_replace("#http://|/|'|\\\#is", "", $domain_name);
  106.   // Выбираем id домена по имени
  107.   $res_domain = mysql_query("SELECT `domain_id` FROM `domain` WHERE `domain` = '$domain_name'") or die(mysql_error());
  108.   $row_domain = mysql_fetch_row($res_domain);
  109.  
  110.   //Проверяем есть ли запись уже в таблице joomla_status
  111.   $res_check_domain = mysql_query("SELECT `id` FROM `joomla_status` WHERE `id` = '$row_domain[0]'") or die(mysql_error());
  112.   $row_check_domain = mysql_fetch_row($res_check_domain);
  113.   if (!$row_check_domain[0]){
  114.     if ($row_domain[0]){
  115.       mysql_query("INSERT INTO `joomla_status`(id, status) VALUES('$row_domain[0]', '1') ") or die(mysql_error());
  116.       echo "Сайт {$domain_name} добавлен с статусом 'готов к верстке'";
  117.     }
  118.     else{
  119.       echo "Такого домена нет в базе<br>";
  120.     }
  121.   }
  122.   else{
  123.     echo "Такой домен уже есть в базе<br>";
  124.   }
  125.  
  126. }
  127.  
  128. //Выборка списка доменов из базы
  129. function show_domain($link){
  130.   //Если нажата кнопка Find
  131.   if ($_POST['find']){
  132.     $platform = $_POST['platform'];
  133.     $platform = preg_replace("#'|\\\#is", "", $platform);
  134.     //Проверяем есть ли такая площадка
  135.     $res_check_platform = mysql_query("SELECT `ent_id` FROM `domain_ftp` WHERE `ent_id` = '$platform' ") or die(mysql_error());
  136.     $row_check_platform = mysql_fetch_row($res_check_platform);
  137.     if ($row_check_platform[0]){
  138.       $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());
  139.     }
  140.     else{
  141.       echo "Такой площадки не существует<br>";
  142.       exit;
  143.     }
  144.   }
  145.   else{
  146.     $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());
  147.   }
  148.  
  149.   while ($row_domains = mysql_fetch_array($res_domains)){
  150.     if ($row_domains['domain'] == "ecdom.ru"){
  151.       $cur_dir = substr($_SERVER['SCRIPT_FILENAME'], 0, strlen($_SERVER['SCRIPT_FILENAME']) - 11);
  152.       // Устанавливаем соединение
  153.       $sftp = new Net_SFTP("u" . $row_domains['ftp_user'] . ".ssh.masterhost.ru");
  154.       // Создаем путь к файлу конфигурации этого сайта
  155.       $path = substr($row_domains['path'], 2, strlen($row_domains['path'])) . "/configuration.php";
  156.       // Логинимся
  157.       $report = $sftp->login("u" . $row_domains['ftp_user'], $row_domains['ssh_pass']);
  158.       $conf_file = $sftp->pwd() . $path;
  159.       // Забираем configuration.php и записываем в текущую папку
  160.       $report = $sftp->get($conf_file, "configuration.php");
  161.       $content_conf = file_get_contents("configuration.php");
  162.         preg_match("#db =(.*?);#", $content_conf, $db);
  163.         $db = preg_replace("#'|\"#is", "", $db[1]);
  164.         $db = trim($db);
  165.         preg_match("#dbprefix =(.*?);#", $content_conf, $db_prefix);
  166.         $db_prefix = preg_replace("#'|\"#is", "", $db_prefix[1]);
  167.         $db_prefix = trim($db_prefix);
  168.         echo $db . "<br>";
  169.         echo $db_prefix . "<br>";
  170.  
  171.     }
  172.     if ($row_domains['lastid_old'] == 0){
  173.     $local_conf = "/usr/local/www/sites/update_" . $row_domains['ent_id'] . "/" . $row_domains['domain'] . "/configuration.php";
  174.  
  175.         @$local_file = file_get_contents($local_conf);
  176.       if ($local_file){
  177.         preg_match("#db =(.*?);#", $local_file, $db);
  178.         $db = preg_replace("#'|\"#is", "", $db[1]);
  179.         $db = trim($db);
  180.         preg_match("#dbprefix =(.*?);#", $local_file, $db_prefix);
  181.         $db_prefix = preg_replace("#'|\"#is", "", $db_prefix[1]);
  182.         $db_prefix = trim($db_prefix);
  183.  
  184.         if (@mysql_select_db($db, $link)){
  185.           $res_id = mysql_query("Select max(`id`) as `maxid` from `{$db_prefix}content`") or die(mysql_error());
  186.           $row_id = mysql_fetch_row($res_id);
  187.           mysql_select_db("ejiqpep_sites", $link);
  188.           mysql_query("UPDATE `joomla_status` SET `lastid_old` = '$row_id[0]' WHERE `id` = '$row_domains[id]'") or die(mysql_error());
  189.         }
  190.  
  191.       }
  192.     }
  193.     else{
  194.       $lastid_old = $row_domains['lastid_old'];
  195.     }
  196.     $id = $row_domains['id'];
  197.     // Проверяем статус домена
  198.     $ar_status = check_status($row_domains['status']);
  199.     // Проверяем какая кнопка нажата
  200.     if ($_POST[$id] && $_POST['done']){
  201.       $arr = check_button($_POST[$id], $_POST['done']);
  202.       $ar_status['class'] = $arr['class'];
  203.       $ar_status['status'] = $arr['status'];
  204.     }
  205.     echo "<div class = '{$ar_status['class']}'>";
  206.       echo "<div class = 'domain_name'>".$row_domains['domain']."</div>";
  207.       echo "<div class = 'status' >".$ar_status['status']."</div>";
  208.  
  209.       echo "<div class = 'form1'>";
  210.         echo "<form method = 'post' name = 'form1'>";
  211.           echo "<input type = 'hidden' name = 'done' value = 'dl' >";
  212.           echo "<input type = 'submit' name = '$id' value = 'Слит'>";
  213.         echo "</form>";
  214.       echo "</div>";
  215.  
  216.       echo "<div class = 'form2'>";
  217.         echo "<form method = 'post' name = 'form2'>";
  218.           echo "<input type = 'hidden' name = 'done' value = 'made' >";
  219.           echo "<input type = 'submit' name = '$id' value = 'Сверстано'>";
  220.         echo "</form>";
  221.       echo "</div>";
  222.  
  223.       echo "<div class = 'form3'>";
  224.         echo "<form method = 'post' name = 'form3'>";
  225.           echo "<input type = 'hidden' name = 'done' value = 'done' >";
  226.           echo "<input type = 'submit' name = '$id' value = 'Сайт готов'>";
  227.         echo "</form>";
  228.       echo "</div>";
  229.  
  230.       echo "<div class = 'platform'>";
  231.         echo $row_domains['ent_id'];
  232.       echo "</div>";
  233.  
  234.       echo "<div class = 'old_id'>";
  235.         echo $row_domains['lastid_old'];
  236.       echo "</div>";
  237.     echo "</div>";
  238.   }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment