function AccountServerRequest($op, $properties = array())
 {
     $this->op = $op;
     $this->props = $properties;
     loadCoreFile('obj_xml.php');
     $xml = new xml_doc();
     $req = $xml->createTag('request');
     $ope = $xml->createTag('operation', array(), $this->op, $req);
     $tim = $xml->createTag('timestamp', array(), time(), $req);
     $data = $xml->createTag('properties', array(), "", $req);
     foreach ($this->props as $p_name => $p_cont) {
         $property = $xml->createTag('property', array("name" => $p_name), $p_cont, $data);
     }
     $this->request = $xml->generate();
 }
 function getChartSettings()
 {
     loadCoreFile('obj_xml.php');
     $xml = new xml_doc();
     $root = $xml->createTag('settings');
     $xml->createTag('font', array(), 'Tahoma', $root);
     //
     $legend = $xml->createTag('legend', array(), '', $root);
     $xml->createTag('enabled', array(), 'false', $legend);
     //                    -               ,
     $column = $xml->createTag('column', array(), '', $root);
     $xml->createTag('gradient', array(), 'horizontal', $column);
     //
     $xml->createTag('width', array(), $this->column_width_percent, $column);
     //                    -               ,
     $xml->createTag('data_labels', array(), '<![CDATA[<b>{value}</b>]]>', $column);
     $xml->createTag('data_labels_text_color', array(), '#404040', $column);
     $xml->createTag('data_labels_text_size', array(), '', $column);
     $xml->createTag('data_labels_position', array(), 'above', $column);
     //                    -               ,
     $xml->createTag('text_size', array(), '11', $root);
     //           X -
     $values = $xml->createTag('values', array(), '', $root);
     $category = $xml->createTag('category', array(), '', $values);
     $xml->createTag('rotate', array(), '90', $category);
     //
     $value = $xml->createTag('value', array(), '', $values);
     $xml->createTag('min', array(), 0, $value);
     $xml->createTag('unit', array(), urlencode($this->unit), $value);
     $xml->createTag('unit_position', array(), $this->unit_position, $value);
     $labels = $xml->createTag('labels', array(), '', $root);
     $label = $xml->createTag('label', array(), '', $labels);
     $xml->createTag('text', array(), '<![CDATA[<b>' . $this->title . '</b>]]>', $label);
     $xml->createTag('text_size', array(), '11', $label);
     $xml->createTag('text_color', array(), '666666', $label);
     $xml->createTag('align', array(), 'center', $label);
     //                             (title)
     $xml->createTag('y', array(), '17', $label);
     $plot_area = $xml->createTag('plot_area', array(), '', $root);
     //
     $xml->createTag('color', array(), '#F6F6F6', $plot_area);
     $xml->createTag('alpha', array(), '100', $plot_area);
     //                   Y (5          '1000%')
     $margins = $xml->createTag('margins', array(), '', $plot_area);
     $xml->createTag('left', array(), '80', $margins);
     $xml->createTag('bottom', array(), $this->__getBottomHeight(), $margins);
     $xml->createTag('top', array(), '35', $margins);
     $xml_doc = $xml->generate();
     $xml_doc = $this->getAmchartsXML($xml_doc);
     return $xml_doc;
 }
 function getChartSettings()
 {
     loadCoreFile('obj_xml.php');
     $xml = new xml_doc();
     $root = $xml->createTag('settings');
     //  <max_series></max_series>
     //$xml->createTag('max_series', array(), 0, $root);
     $xml->createTag('text_size', array(), $this->text_size, $root);
     $xml->createTag('margins', array(), '0', $root);
     //                   ,
     $xml->createTag('equal_spacing', array(), 'false', $root);
     //               :
     $data_sets = $xml->createTag('data_sets', array(), '', $root);
     $data_set = $xml->createTag('data_set', array(), '', $data_sets);
     $xml->createTag('file_name', array(), urlencode($this->csv_file_url), $data_set);
     $csv = $xml->createTag('csv', array(), '', $data_set);
     $xml->createTag('reverse', array(), 'true', $csv);
     $xml->createTag('separator', array(), ';', $csv);
     $xml->createTag('date_format', array(), 'YYYY-MM-DD', $csv);
     $xml->createTag('decimal_separator', array(), '.', $csv);
     $columns = $xml->createTag('columns', array(), '', $csv);
     //
     $xml->createTag('column', array(), 'date', $columns);
     for ($i = 1; $i <= $this->ncharts; $i++) {
         $xml->createTag('column', array(), $this->graph_csv_prefix . $i, $columns);
     }
     //                                       .           ,
     //         ,                                                 .
     //                  .
     // $h2 -                timeline
     // $h1 -
     //                ,                 ,                    $h1
     //                      $h1+$h2
     $h2 = 1.6 * $this->text_size;
     $h = $this->height;
     $h1 = (int) floor(1.0 * ($h - $h2) / (1.0 * $this->ncharts));
     //                  :
     $charts = $xml->createTag('charts', array(), '', $root);
     for ($i = 1; $i <= $this->ncharts; $i++) {
         $chart = $xml->createTag('chart', array(), '', $charts);
         $n = $this->ncharts;
         $xml->createTag('title', array(), $this->graph_titles[$i - 1], $chart);
         $xml->createTag('border_color', array(), '#CCCCCC', $chart);
         $xml->createTag('border_alpha', array(), '100', $chart);
         $grid = $xml->createTag('grid', array(), '', $chart);
         $x = $xml->createTag('x', array(), '', $grid);
         $xml->createTag('enabled', array(), 'true', $x);
         $values = $xml->createTag('values', array(), '', $chart);
         $x = $xml->createTag('x', array(), '', $values);
         //
         if ($i == $this->ncharts) {
             $xml->createTag('height', array(), "" . (int) (100.0 * ($h1 + $h2) / $h), $chart);
             $xml->createTag('enabled', array(), 'true', $x);
         } else {
             $xml->createTag('height', array(), "" . (int) (100.0 * $h1 / $h), $chart);
             $xml->createTag('enabled', array(), 'false', $x);
         }
         $xml->createTag('bg_color', array(), '#EEEEEE', $x);
         $xml->createTag('color', array(), '#000000', $x);
         $legend = $xml->createTag('legend', array(), '', $chart);
         $xml->createTag('show_date', array(), 'true', $legend);
         //
         $graphs = $xml->createTag('graphs', array(), '', $chart);
         $graph = $xml->createTag('graph', array(), '', $graphs);
         $data_sources = $xml->createTag('data_sources', array(), '', $graph);
         //                                              .
         //                                           close (open, low   high                )
         //                      amcharts stock.                       amcharts\stock\amstock\amstock_settings.xml
         $xml->createTag('close', array(), $this->graph_csv_prefix . $i, $data_sources);
         //                            ,    stock chart                                      .
         //               ,                                          .
         if ($i == $this->ncharts) {
             $xml->createTag('period_value', array(), 'average', $graph);
         } else {
             $xml->createTag('period_value', array(), 'average', $graph);
             // sum
         }
         //
         $xml->createTag('color', array(), $this->graph_colours[$i - 1], $graph);
         //                                                               :
         $legend = $xml->createTag('legend', array(), '', $graph);
         $u = isset($this->graph_units[$i - 1]) ? $this->graph_units[$i - 1] : '';
         $xml->createTag('date', array("key" => "false", "title" => "false"), '<![CDATA[{average}' . urlencode($u) . ']]>', $legend);
         // {close}
         $xml->createTag('show_date', array(), 'true', $legend);
         $xml->createTag('bullet', array(), 'round_outline', $graph);
     }
     //
     $data_set_selector = $xml->createTag('data_set_selector', array(), '0', $root);
     $xml->createTag('enabled', array(), 'false', $data_set_selector);
     $period_selector = $xml->createTag('period_selector', array(), '0', $root);
     $xml->createTag('enabled', array(), 'false', $period_selector);
     $header = $xml->createTag('header', array(), '0', $root);
     $xml->createTag('enabled', array(), 'false', $header);
     $scroller = $xml->createTag('scroller', array(), '0', $root);
     $xml->createTag('enabled', array(), 'false', $scroller);
     $xml_doc = $xml->generate();
     $xml_doc = $this->getAmchartsXML($xml_doc);
     return $xml_doc;
 }