true
);
if($method == "POST")
{
$curlOptions[CURLOPT_POST] = true;
$curlOptions[CURLOPT_POSTFIELDS] = http_build_query($data);
}
elseif(!empty($data))
{
$url .= strpos($url, "?") > 0 ? "&" : "?";
$url .= http_build_query($data);
}
$curl = curl_init($url);
curl_setopt_array($curl, $curlOptions);
$result = curl_exec($curl);
return ($jsonDecode ? json_decode($result, 1) : $result);
}
function call($domain, $method, $params)
{
return query("POST", PROTOCOL.$domain."/rest/".$method, $params, true);
}
function build_message()
{
$strTable = '';
$url = "http://www.micex.ru/issrpc/marketdata/stock/index/history/by_ticker/index_history_MICEXINDEXCF.xml?secid=MICEXINDEXCF&lang=ru";
$data = query('GET', $url, null);
if (strlen($data) > 0)
{
$strTable .= '
';
$objXMLDoc = DOMDocument::loadXML($data);
$arColumn = array();
foreach($objXMLDoc->getElementsByTagName('metadata') as $metadata)
{
foreach($metadata->getElementsByTagName('column') as $column)
{
$val = $column->getAttribute('name');
$arColumn[] = array('name' => $val);
$strTable .= '' . $val . ' | ';
}
}
$strTable .= '
';
$i = 0;
foreach($objXMLDoc->getElementsByTagName('row') as $row)
{
if($i >= 10)
{
break;
}
$strTable .= '';
foreach($arColumn as $column)
{
$strTable .= '' . $row->getAttribute($column['name']) . ' | ';
}
$strTable .= '
';
$i++;
}
$strTable .= '
';
$strTable .= date('r');
}
$url = "http://stock.quote.rbc.ru/online/rusindex.0/intraday/intra_i_q.rus.shtml?ticker=MICEXINDEXCF";
$fileData = query('GET', $url, false);
if (strlen($fileData) > 0)
{
$fileData = base64_encode($fileData);
}
return array(
"TITLE" => "MICEX statistics, ".date("d.m.Y"),
"MESSAGE" => $strTable,
"FILES" => array(array("graph".date("Ymd").".gif", $fileData))
);
}