
<?php
  include('../pollconfig.inc');
  include('lng/rus_lng.inc');
  include('../functions.inc');
  if(empty($_POST))
    Refresh('graphic');
  $FileName = "../graphic-conf.inc";
  include($FileName);
  $GrphSet = @file($FileName);
  //горизонтальные гистограммы - ширина и высота
  if(!empty($_POST['HorHistogrChangeSize']))
  {
    $Height = $_POST['HorHistHeight'];
    $Width  = $_POST['HorHistWidth'];
    $HorHistImgHeight = "\$HorHistImgHeight = {$Height};\n";
    $HorHistImgWidth  = "\$HorHistImgWidth = {$Width};\n";
    $GrphSet[1] = $HorHistImgHeight;
    $GrphSet[2] = $HorHistImgWidth;
    SaveStringInFile($FileName, @implode($GrphSet), 'w');
    Refresh('graphic');
  }

  //горизонтальные гистограммы - ширина и высота
  if(!empty($_POST['VertHistogrChangeSize']))
  {
    $Height = $_POST['VertHistHeight'];
    $Width  = $_POST['VertHistWidth'];
    $ShowLegend = $_POST['ShowLegend'];
    $ShowLegend = "\$ShowLegend = '{$ShowLegend}';\n";
    $VertHistImgHeight = "\$VertHistImgHeight = {$Height};\n";
    $VertHistImgWidth  = "\$VertHistImgWidth = {$Width};\n";
    $GrphSet[3] = $VertHistImgHeight;
    $GrphSet[4] = $VertHistImgWidth;
    $GrphSet[5] = $ShowLegend;
    SaveStringInFile($FileName, @implode($GrphSet), 'w');
    Refresh('graphic');
  }

  //генерируем изображения размером 1х1, исходя из заданных цветов
  if(!empty($_POST['GenerateImages']) || !empty($_POST['ChangePalette']))
  {
   	//принудительно преобразуем некорректный ввод цветов RGB
	  foreach($_POST as $key => $value)
	  {
	    if(strpos($key, 'Var') !== false)
	    {
	      if(!preg_match("|^[\d]+$|i", $value))
	        {$value = 0; $_POST[$key] =  $value;} else
	      {
	        $Tmp = (int)$value;
	        if(($Tmp < 0) || ($Tmp > 255))
	          $value = 0;
	        $_POST[$key] =  $value;
	      }    //else
	    } // if(strpos($key, 'Var') !== false)
	  } //foreach($_POST as $key => $value)
    //изменяем данные о цветах в файле graphic-conf.inc
    for($i = 0; $i <= 5; $i++)
      $Sizes[] = $GrphSet[$i];

     for($i = 1; $i <= 20; $i++)
     {
       $R = $_POST["VarR{$i}"];
       $G = $_POST["VarG{$i}"];
       $B = $_POST["VarB{$i}"];
       $VarRGB[$i]['R'] = $R;
       $VarRGB[$i]['G'] = $G;
       $VarRGB[$i]['B'] = $B;
       $Str = $Str."\$VarRGB[{$i}] = array($R, $G, $B);\n";
     }
     $Str = $Str."?>";
     $Str = @implode('', $Sizes).$Str;
     $State = SaveStringInFile($FileName, $Str, 'w');

  //генерируем изображения
     if(!empty($_POST['GenerateImages']))
     {
       if(empty($State))
	     {
	       for($i = 1; $i <=20; $i++)
	       {
	         $im = ImageCreate(1, $HorHistImgHeight) or die ($Err_CantCreateImage);
	         ImageColorAllocate($im, $VarRGB[$i]['R'], $VarRGB[$i]['G'], $VarRGB[$i]['B']);
	         ImageJpeg($im, "../pictures/hor_hist_var{$i}.jpg");
	         $im = ImageCreate($VertHistImgWidth, 1) or die ($Err_CantCreateImage);
	         ImageColorAllocate($im, $VarRGB[$i]['R'], $VarRGB[$i]['G'], $VarRGB[$i]['B']);
	         ImageJpeg($im, "../pictures/vert_hist_var{$i}.jpg");
	       }
	       ImageDestroy($im);
	       Refresh('graphic');
	     }
	     else print $State;
    } else Refresh('graphic');
  } /*if(!empty($_POST['GenerateImages']))*/

?>