function getFileContent($m) { global $xmlrpcerruser; global $xmlrpcString; $file_name = $m->getParam(0); $file_path = $m->getParam(1); $file_name = $file_name->scalarval(); $file_path = $file_path->scalarval(); $sql = "SELECT * FROM `" . DB_PREFIX . DB_TBL_FILES . "` WHERE \n\t\t`name` = '" . mysql_escape_string($file_name) . "' AND \n\t\t`path` = '" . mysql_escape_string($file_path) . "'"; $sql = mysql_query($sql); if (false == $sql) { dbg(); my_die(); } $aList = array(); while ($row = mysql_fetch_assoc($sql)) { $aList[] = $row; } if (empty($aList)) { return new xmlrpcresp(0, $xmlrpcerruser, 'file not exist'); } $aList = current($aList); if (!defined($aList['path'])) { return new xmlrpcresp(0, $xmlrpcerruser, 'file path not correct (remote error)'); } $response = saferead(constant($aList['path']) . '/' . $aList['name']); // Возвращаем $response = base64_encode($response); return new xmlrpcresp(new xmlrpcval($response), $xmlrpcString); }
return; } // Получаем уникальные дни define('STAT_COUNT_DAYS', 340); $sql = "SELECT DISTINCT DAYOFMONTH(`t`) as `day` , MONTH(`t`) as `month` , YEAR(`t`) as `year`\nFROM `" . DB_PREFIX . DB_TBL_STAT . "`\nORDER BY `t` DESC LIMIT " . STAT_COUNT_DAYS; //dbg($sql); $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aDays = array(); while ($row = mysql_fetch_assoc($sql)) { $aDays[] = $row; } // Ботов не учитываем $aBots = unserialize(saferead(FILE_CACHE_AGENTS)); $tmp = 1; $out = ''; foreach ($aBots as $k => $v) { if ($tmp) { $out .= " (`agent` != '" . $v . "')"; $tmp = 0; } else { $out .= " AND (`agent` != '" . $v . "')"; } } // Получаем количество отрытых сессий $aHits = array(); foreach ($aDays as $k => $v) { $sql = "\n\t\t\tSELECT DISTINCT `sessid`\n\t\t\tFROM `" . DB_PREFIX . DB_TBL_STAT . "`\n\t\t\tWHERE \n\t\t\t(\n\t\t\t\t(DAYOFMONTH(`t`) = " . $v['day'] . ") AND \n\t\t\t\t(MONTH(`t`) = " . $v['month'] . ") AND \n\t\t\t\t(YEAR(`t`) = " . $v['year'] . ") AND \n\t\t\t\t( {$out} ) AND \n\t\t\t\t('to' != '/r') AND\n\t\t\t\t('to' != '/r/')\n\t\t\t) \n\t"; $sql = mysql_query($sql);
function mGetRemoteFile($from, $to) { $from = trim($from); $host = parse_url($from); $host = $host['host']; $ip = gethostbyname($host); if ($ip == $host) { return 'error: gethostbyname'; } $f = mDownloadRemoteFile($from); if (false === $f) { return 'error: 404'; } safewrite($to, $f); if (false === saferead($to)) { return 'error: file'; } return true; }
<?php /** * Console script * * Создает из дампа базы данных (FLGR_BASE.'/upgrade.sql') * файлы таблиц в папке FLGR_TABLES.'/', связывает с ними * записи таблиц в таблице DB_TBL_TABLES через таблицу DB_TBL_FILES */ // Разбиваем sql-dump на куски соответствующие таблицам $sql_dmp = saferead(FLGR_BASE . '/upgrade.sql'); $sql_dmp = explode('-- --------------------------------------------------------', $sql_dmp); $aTables = array(); foreach ($sql_dmp as $v) { $marker = '-- Структура таблицы `'; $pos = strpos($v, $marker); if (false !== $pos) { $table = substr($v, $pos + strlen($marker)); $pos = strpos($table, '`'); $table = substr($table, 0, $pos); $aTables[$table] = $v; } } // Получаем все зарегистрированные в системе таблицы $sql = "SELECT * FROM `upgrade_tables` "; $sql = mysql_query($sql); if (false == $sql) { my_die(); } $aList = array(); while ($row = mysql_fetch_assoc($sql)) {
while ($row = mysql_fetch_assoc($sql)) { $aAgents[] = current($row); } $act = 'agents'; if (isset($_POST['act']) && $_POST['act'] == $act) { $aHashAgents = array(); foreach ($aAgents as $k => $v) { $aHashAgents[md5($v)] = $v; } foreach ($_POST['agents'] as $k => $v) { $_POST['agents'][$k] = $aHashAgents[$k]; } safewrite(FILE_CACHE_AGENTS, serialize($_POST['agents'])); } if (file_exists(FILE_CACHE_AGENTS)) { $aAgentList = unserialize(saferead(FILE_CACHE_AGENTS)); } $out = '<form method="post">'; foreach ($aAgents as $k => $v) { $w = md5($v); if (isset($aAgentList[$w])) { $out .= '<input type="checkbox" name="agents[' . $w . ']" value="1" checked />' . $v . '<br />'; } else { $out .= '<input type="checkbox" name="agents[' . $w . ']" value="1" />' . $v . '<br />'; } } $out .= '<input type="hidden" name="act" value="' . $act . '" />'; $out .= '<input type="submit" value="—охранить" />'; $out .= '</form>'; $_t->assign('content', $out); $_t->assign('BreadCrumbs', $BreadCrumbs->getBreadCrumbs());