Current File : /home/lecoinf/www/iwp/export.php
<?php

include("includes/app.php");

$obj = new IWP_EXPORT();

$obj->iwpRunDBDump();

class IWP_EXPORT{

	private $dbFolder;
	private $sqlFile;
	private $dbFile;
	private $commandPath;
	private $command;
	private $iwpTables;
	private $mysqlPath;
	private $brace;

	public function __construct(){
		$this->dbFolder = APP_ROOT.'/uploads/';
		$this->sqlFile  = 'iwp_db.gz';
		$this->dbFile   = $this->dbFolder.$this->sqlFile;
		$this->mysqlPath= "/usr/bin/mysqldump,/bin/mysqldump,/usr/local/bin/mysqldump,/usr/sfw/bin/mysqldump,/usr/xdg4/bin/mysqldump,/opt/bin/mysqldump";
		$this->brace = (substr(PHP_OS, 0, 3) == 'WIN') ? '"' : '';
	}

	public function checkMysqlPaths()
    {
        $paths = array(
            'mysql' => '',
            'mysqldump' => ''
        );
        if (substr(PHP_OS, 0, 3) == 'WIN') {
            $mysqlInstall = DB::getField("SHOW VARIABLES LIKE 'basedir'");
            if ($mysqlInstall) {
                $installPath       = str_replace('\\', '/', $mysqlInstall);
                $paths['mysql']     = $installPath . 'bin/mysql.exe';
                $paths['mysqldump'] = $installPath . 'bin/mysqldump.exe';
            } else {
                $paths['mysql']     = 'mysql.exe';
                $paths['mysqldump'] = 'mysqldump.exe';
            }
        } else {
        	foreach ($variable as $key => $value) {
        		# code...
        	}
            $paths['mysql'] = $this->iwp_mmb_exec('which mysql', true);
            if (empty($paths['mysql']))
                $paths['mysql'] = 'mysql'; // try anyway
            
            $paths['mysqldump'] = $this->iwp_mmb_exec('which mysqldump', true);
            if (empty($paths['mysqldump'])){
                $paths['mysqldump'] = 'mysqldump'; // try anyway         
            }
            
        }
        
        
        return $paths;
    }

    public function iwp_mmb_exec($command, $string = false, $rawreturn = false)
    {
        if ($command == '')
            return false;
        
        if ($this->iwp_mmb_function_exists('exec')) {
            $log = @exec($command, $output, $return);
            
            if ($string)
                return $log;
            if ($rawreturn)
                return $return;
            
            return $return ? false : true;
        } elseif ($this->iwp_mmb_function_exists('system')) {
            $log = @system($command, $return);
            
            if ($string)
                return $log;
            
            if ($rawreturn)
                return $return;
            
            return $return ? false : true;
        } elseif ($this->iwp_mmb_function_exists('passthru') && !$string) {
            $log = passthru($command, $return);
            
            if ($rawreturn)
                return $return;
            
            return $return ? false : true;
        }
        
        if ($rawreturn)
        	return -1;
        	
        return false;
    }

    public function iwp_mmb_function_exists($function_callback){
		
		if(!function_exists($function_callback))
			return false;
			
		$disabled = explode(', ', @ini_get('disable_functions'));
		if (in_array($function_callback, $disabled))
			return false;
			
		if (extension_loaded('suhosin')) {
			$suhosin = @ini_get("suhosin.executor.func.blacklist");
			if (empty($suhosin) == false) {
				$suhosin = explode(',', $suhosin);
				$blacklist = array_map('trim', $suhosin);
				$blacklist = array_map('strtolower', $blacklist);
				if(in_array($function_callback, $blacklist))
					return false;
			}
		}
		return true;
	}

	private function setCommadPath(){
		$this->commandPath = $this->checkMysqlPaths();
	}

	private function setRequiredTable(){
		$tablePrefix = Reg::get('config.SQL_TABLE_NAME_PREFIX');
		$command0 = DB::getFields("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT LIKE '%history_raw%' AND TABLE_NAME  LIKE '".Reg::get('config.SQL_TABLE_NAME_PREFIX')."%' AND TABLE_SCHEMA = '".Reg::get('config.SQL_DATABASE')."'");
        $iwpTables = join("\" \"",$command0);
        $this->iwpTables = $iwpTables;
	}

	private function setCommad($command){
		$this->command = $this->brace . $command . $this->brace . ' --force --host="' . Reg::get('config.SQL_HOST') . '" --user="' . Reg::get('config.SQL_USERNAME') . '" --password="' . Reg::get('config.SQL_PASSWORD') . '" --add-drop-table --skip-lock-tables --extended-insert=FALSE "' . Reg::get('config.SQL_DATABASE') . '" "'.$this->iwpTables.'" | gzip > ' . $this->brace . $this->dbFile . $this->brace;
	}

	public function runTest(){
		$bin = explode(',' , $this->mysqlPath);
		foreach ($bin as $key => $value) {
			$command = $this->brace . $value . $this->brace . ' --force --host="' . Reg::get('config.SQL_HOST') . '" --user="' . Reg::get('config.SQL_USERNAME') . '" --password="' . Reg::get('config.SQL_PASSWORD') . '" --add-drop-table --skip-lock-tables --extended-insert=FALSE "' . Reg::get('config.SQL_DATABASE') . '" ""'.Reg::get('config.SQL_TABLE_NAME_PREFIX').'options"" > ' . $this->brace . $this->dbFile . $this->brace;
			$result = $this->iwp_mmb_exec($command);
			if (!$result) { 
			   	continue;
			}
			
			if ($this->iwp_mmb_get_file_size($this->dbFile) == 0 || !is_file($this->dbFile) || !$result) {
			    continue;
			}
			$this->setCommad($value);
		}
	}

	public function iwpRunDBDump(){
		$this->setRequiredTable();
		$this->runTest();
		if (!empty($this->command)) {
			$result = $this->iwp_mmb_exec($this->command);
			if ($this->iwp_mmb_get_file_size($this->dbFile) == 0 || !is_file($this->dbFile) || !$result) {
			    die("Database export fails please contact help@infinitewp.com");
			}else{
				die("Database export success <a href='uploads/iwp_db.gz'>Download</a>");
			}
		}else{
			 die("MySQL command execution fails");
		}

	}

	public function iwp_mmb_get_file_size($file)
	{
		clearstatcache();
		$normal_file_size = filesize($file);
		if(($normal_file_size !== false)&&($normal_file_size >= 0))
		{
			return $normal_file_size;
		}
		else
		{
			$file = realPath($file);
			if(!$file)
			{
				echo 'iwp_mmb_get_file_size_error : realPath error';
			}
			$ch = curl_init("file://" . $file);
			curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_FILE);
			curl_setopt($ch, CURLOPT_NOBODY, true);
			curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
			curl_setopt($ch, CURLOPT_HEADER, true);
			$data = curl_exec($ch);
			$curl_error = curl_error($ch);
			curl_close($ch);
			if ($data !== false && preg_match('/Content-Length: (\d+)/', $data, $matches)) {
				return (string) $matches[1];
			}
			else
			{
				echo 'iwp_mmb_get_file_size_error : '.$curl_error;
				return $normal_file_size;
			}
		}
	}
}
Le coin du marchand VO vente véhicule entre professionnels

Accès réservé aux professionnels

Site regroupant des annonces de véhicules marchands en vente entre professionnels. Vendez, achetez vos V.O entre pros en toute simplicité et sans intermédiaires.

Déposez gratuitement vos annonces*

*Offre de lancement

Marques
Nous avons trouvé annonces pour vous.

Slide Slide Slide Slide Slide En savoir plus

A propos de nous

Le Coin du Marchand
VO

Le Coin du Marchand
VO

Parce que le métier de marchand V.O. est en perpétuelle évolution
Le coin du marchand V.O. a décidé de vous accompagner à travers cette plateforme qui vous propose un service de petites annonces pour la vente et l’achat de véhicules entre professionnels revendeurs.

Pour l’approvisionnement de votre parc, pour une recherche personnalisée ou vendre des véhicules stockés , assurez-vous des transactions uniquement entre pros.
L’accès à la plateforme est sécurisé et exclusivement réservé aux professionnels.

Soigneusement sélectionnées

Annonces Récentes

Pourquoi Nous Choisir

Professionnalisme

Plateforme regroupant les professionnels qui proposent des véhicules de divers modèles à la vente

Sur toute la France

Les ventes se font uniquement entre professionnels

Meilleurs Tarifs

Vous trouverez de très bonnes occasions de véhicules à des tarifs marchands

Partenaires

  • Développement
  • Bénéfices Mutuelles
  • Collaborations
  • Visibilité
  • Soutenir d’autres Projets

Newsletter

Abonnez-vous à notre newsletter et restez informé de nos offres

Copyright © 2023 Le Coin du Marchand VO | All Rights Reserved | Yanacom