예제 #1
0
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);
}
예제 #2
0
    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);
예제 #3
0
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;
}
예제 #4
0
<?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)) {
예제 #5
0
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());