Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Помогите составить код!

#1 swerg

swerg
  • Заблокированные
  • 6 сообщений
  • Репутация: 0
0

Отправлено 14 Сентябрь 2014 - 14:17

Вот код

<?php
/**
 * Project:     MicroScript Installation system
 * File:        install.class.php
 * @link http://www.microscript.ru/
 * @copyright 2010 MicroSript Ltd.
 * @package Install
 * @version 2.0
 */

set_time_limit(0); 
ob_implicit_flush();
ob_start();

/**
 * @package Install
 */
class  Install
{
	

	/**
	* @var array $form
    */
	var $form;
	


    /**
     * Конструктор
     */
    function Install()
    {
	   if($this->connect()){
           $this->saveConf();
           $this->importDB();
		   $this->Mess('Установка завершена.', 3);
		   $this->buttonActive();
	   }
	}

    /**
     * Установка соединения с БД
     */
    function connect()
    {
		if(!$_POST['user']) $_POST['user'] = $_POST['base'];
		$db = @pg_connect("host=".$_POST['host']."   dbname=".$_POST['base']." user=".$_POST['user']." password=".$_POST['pass']."");
        if($db){
			pg_query("SET NAMES 'utf8'");
			return true;
		}
		 $this->Mess('Нет подключения к БД', 1);
      return false;
	}



    /**
     * Сохранение настроек
     */
    function saveConf()
    {
	   $file = "../classes/db.class.php";
	   $this->saveFile($file);
	   $this->saveFile("../rate/rate.php");
	   $this->saveFile("../checker/checker.php");
	   $this->saveFile("../indexing/indexing.php");
	   $this->saveFile("../link/link.php");
	   $this->saveFile("../rate/rate.php");
	   $this->saveFile("../sell/sell.php");
	   $this->saveFile("../spider/spider.php");
	   $this->saveFile("../planner_link.php");
	   $this->saveFile("../planner_sell.php");
	   $this->saveFile("../auto_application.php");
	  return true;
	}


	/**
     * Сохранение настроек
     */
    function saveFile($file)
    {
       if(!file_exists($file)){
          $this->Mess('Файл отсутствует: '. $file, 1);
		  return false;
	   }
	   $fd = fopen($file, "r"); 
	   if($fd){
		 while (!feof ($fd)) {
	      $content .=  fread($fd, 50);
	    }
       }
	   fclose($fd);
	   $content =  preg_replace('/var \$host =(.*);/i', "var ".'$host'." = '".$_POST['host']."';", $content);
	   $content =  preg_replace('/var \$user =(.*);/i', "var ".'$user'." = '".$_POST['user']."';", $content);
	   $content =  preg_replace('/var \$pass =(.*);/i', "var ".'$pass'." = '".$_POST['pass']."';", $content);
	   $content =  preg_replace('/var \$base =(.*);/i', "var ".'$base'." = '".$_POST['base']."';", $content);

	   if(!is_writable($file)){
          $this->Mess('Нет прав на запись: '. $file, 1);
		  return false;
	   }
	   if($content){
        $fd = fopen($file, "w");
	    fwrite($fd, $content);
	    fclose($fd);
	    $this->Mess('Конфигурация сохранена: '. $file, 2);
	   }
	  return true;
	}
	
	
	

    /**
     *  Загрузка дампа
     */
    function importDB()
    {
	   if (!file_exists('damp')) return false;
       $fp = fopen ('damp', "r"); 
       $buffer = fread($fp, filesize('damp')); 
       $all = count(explode(';', $buffer));
	   fclose ($fp); 
       $prev = 0; 
       while ($next = strpos($buffer,";",$prev+1)){ 
		  $query = trim(substr($buffer,$prev+1,$next-$prev));
          pg_query($query);
		  $this->importLog($query);
          ++$count;
          
		  $prev = $next; 
		  usleep(1000);
		  flush();
          ob_flush();
          
          $progress =  ceil ($count * 35 /$all );
		  if($progress != $this->progress){
		    $this->Progress();
		    $this->progress = $progress;
		  }

	   }
	}


    /**
     * Лог импорта
     */
    function importLog($query)
    {
         if(preg_match_all("/CREATE TABLE (.*) /isU", $query, $out)){
           $table = trim(str_replace('(', '',  strtolower($out[1][0])));
           if(pg_query(" SELECT *  FROM  $table")){
               $this->Mess('<p class="name"><span>Создание таблицы: '. $table  .'</span></p><p class="status"> OK</p>', 2);
           }else{
               ++$err;
               $this->Mess('<p class="name"><span>Создание таблицы: '. $table  .'</span></p><p class="status"> Ошибка</p>', 1);
           } 
          }
	}


    /**
     * Сообщение об ошибке
     */
    function Mess($mess, $type)
    {
		 if($mess) echo "<script>mess('$mess', $type);</script>";
      	 flush();
         ob_flush();
	}

    /**
     * Прогресс
     */
    function Progress()
    {
		 echo "<script>add_progress();</script>";
      	 flush();
         ob_flush();
	}

    /**
     * Активирует кнопку выход
     */
    function buttonActive()
    {
		 echo "<script>document.getElementById('exit').style.display='block';</script>";
      	 flush();
         ob_flush();
	}


}
?>

Правильно ли он составлен потому что пишет Нет подключения к БД


 

 

  • 0

#2 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 15 Сентябрь 2014 - 08:57

А попробуй с этими данными напрямую подключиться к базе.


  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#3 swerg

swerg
    Topic Starter
  • Заблокированные
  • 6 сообщений
  • Репутация: 0

Отправлено 15 Сентябрь 2014 - 09:06

все разобрался небыло нужного расширения PHP


  • 0


Оформление форума – IPBSkins.ru